Commit 781c5243 by Lee Munkyeong

43156対応。

parent 335a2865
......@@ -1480,6 +1480,7 @@
<string name="msg_error_chat_room_sc_forbidden">認証に失敗しました。再度ログインが必要です。</string>
<string name="msg_error_already_exist_same_room">同じルームが既に存在します。\n入室しますか</string>
<string name="msg_confirm_send_host_change">ホスト権限変更の依頼があります。変更しますか?</string>
<string name="host_confirm">ホスト変更リクエストがあります。</string>
<string name="msg_confirm_share_image">キャプチャーした写真を共有しますか?</string>
<string name="msg_invite_collaboration">協業に招待されました。</string>
<string name="msg_wait_for_host">ホストが文書を選択中です</string>
......
......@@ -1488,6 +1488,7 @@
<string name="msg_error_already_exist_same_room">동일한 채팅방이 이미 존재합니다.\n 입장하시겠습니까?</string>
<string name="msg_ozd_file_could_not_opened">장표 파일을 열 수 없습니다.</string>
<string name="msg_confirm_send_host_change">방장 권한을 전달 받으시겠습니까?</string>
<string name="host_confirm">호스트변경을 요청하셨습니다</string>
<string name="msg_confirm_share_image">캡쳐한 사진을 공유 하시겠습니까?</string>
<string name="msg_invite_collaboration">협업에 초대되셨습니다.</string>
<string name="msg_wait_for_host">호스트가 문서를 선택중입니다.</string>
......
......@@ -1485,6 +1485,7 @@
<string name="msg_error_already_exist_same_room">Already exist same room.\n do you want enter exist room?</string>
<string name="msg_ozd_file_could_not_opened">Report file could not opened.</string>
<string name="msg_confirm_send_host_change">Do you want to receive host permissions?</string>
<string name="host_confirm">request host permission</string>
<string name="msg_confirm_share_image">Do you want to share captured image?</string>
<string name="msg_invite_collaboration">You are invited to collaboration.</string>
<string name="msg_wait_for_host">Please wait for selecting document by host</string>
......
......@@ -50,6 +50,8 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;
import org.json.adf.JSONObject;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
......@@ -109,6 +111,7 @@ import jp.agentec.abook.abv.ui.home.helper.ActivityHandlingHelper;
import jp.agentec.abook.abv.ui.home.helper.VideoEncoder;
import jp.agentec.abook.abv.ui.home.view.FullscreenableChromeClient;
import jp.agentec.abook.abv.ui.viewer.activity.CommunicationWebViewActivity;
import jp.agentec.abook.abv.ui.viewer.activity.ContentViewActivity;
import jp.agentec.abook.abv.ui.viewer.activity.ParentWebViewActivity;
import jp.agentec.adf.util.CollectionUtil;
import jp.agentec.adf.util.StringUtil;
......@@ -454,6 +457,9 @@ public class ChatWebViewActivity extends CommunicationWebViewActivity {
mChatWebView.loadUrl("javascript:penOff();");
mChatWebView.loadUrl("javascript:$('#hostRequestModal').modal('hide');");
mChatWebView.loadUrl("javascript:$('#userNameCardInCollaboration').modal('hide');");
if (meetingManager.isConnected() && meetingManager.isSubscribed()) {
sendPromoteRequest();
}
result.confirm();
return true;
}
......@@ -464,7 +470,6 @@ public class ChatWebViewActivity extends CommunicationWebViewActivity {
}
final ABookAlertDialog confirmAlert = AlertDialogUtil.createAlertDialog(ChatWebViewActivity.this, R.string.app_name);
confirmAlert.setMessage(message);
if (message.equals(getString(R.string.msg_error_already_exist_same_room))) {
confirmAlert.setButton(DialogInterface.BUTTON_POSITIVE, getResources().getString(R.string.move), new DialogInterface.OnClickListener() {
@Override
......@@ -479,6 +484,9 @@ public class ChatWebViewActivity extends CommunicationWebViewActivity {
mChatWebView.loadUrl("javascript:penOff();");
mChatWebView.loadUrl("javascript:$('#hostRequestModal').modal('hide');");
mChatWebView.loadUrl("javascript:$('#userNameCardInCollaboration').modal('hide');");
if (meetingManager.isConnected() && meetingManager.isSubscribed()) {
sendPromoteRequest();
}
result.confirm();
}
});
......@@ -498,6 +506,26 @@ public class ChatWebViewActivity extends CommunicationWebViewActivity {
});
confirmAlert.setCancelable(false);
showAlertDialog(confirmAlert);
if (message.equals(getString(R.string.msg_confirm_send_host_change))
|| message.contains(getString(R.string.host_confirm))
|| message.equals(getString(R.string.msg_confirm_share_image))) {
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
TimerTask task = new TimerTask(){
@Override
public void run() {
result.cancel();
confirmAlert.dismiss();
}
};
Timer timer = new Timer();
timer.schedule(task, 30000);
}
});
thread.start();
}
return true;
}
});
......@@ -1010,6 +1038,14 @@ public class ChatWebViewActivity extends CommunicationWebViewActivity {
}
@JavascriptInterface
public void test() {
OperationRelatedContentActivity testact = ActivityHandlingHelper.getInstance().getActivity(OperationRelatedContentActivity.class);
testact.finish();
/*testact.System.runFinalization();
System.exit(0);*/
}
@JavascriptInterface
public void updateRoomList() throws NetworkDisconnectedException, AcmsException {
Map<String, Object> chatRoomList;
RoomListJSON resultJson = AcmsClient.getInstance(ABVEnvironment.getInstance().networkAdapter).getRoomList(sid);
......@@ -1632,6 +1668,11 @@ public class ChatWebViewActivity extends CommunicationWebViewActivity {
public int getHostRequestFlg() {
return mHostRequestFlg;
}
@JavascriptInterface
public void finishPip() {
finishPIPmode();
}
}
/**
......@@ -1687,8 +1728,8 @@ public class ChatWebViewActivity extends CommunicationWebViewActivity {
}
}
Intent intent = new Intent();
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.setClass(targetActivity, OperationRelatedContentActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
intent.putExtra("isCollaboration", true);
intent.putExtra("isCollaborationOwner", isOwner);
targetActivity.startActivity(intent);
......@@ -1960,4 +2001,11 @@ public class ChatWebViewActivity extends CommunicationWebViewActivity {
return true;
}
public void sendPromoteRequest() {
ABVContentViewActivity contentViewActivity = ActivityHandlingHelper.getInstance().getContentViewActivity();
JSONObject json = new JSONObject();
json.put(MeetingManager.ID, meetingManager.getSkey());
json.put(MeetingManager.LOGIN_ID, ABVDataCache.getInstance().getMemberInfo().loginId);
meetingManager.sendWs(MeetingManager.CMD_PRESENTERREQUEST, contentViewActivity != null ? contentViewActivity.getContentId() : 0, null, null, json);
}
}
package jp.agentec.abook.abv.ui.home.activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color;
......@@ -70,14 +71,14 @@ public class OperationRelatedContentActivity extends ABVUIActivity {
private ListView mContentListView;
private List<CategoryContentDto> mOperationContentList;
private LinearLayout mToolbar;
private MeetingManager meetingManager = MeetingManager.getInstance();
private OperationLogic mOperationLogic = AbstractLogic.getLogic(OperationLogic.class);
TextView mWaitOwnerTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
isCollaboration = getIntent().getBooleanExtra("isCollaboration", false);
isCollaborationOwner = getIntent().getBooleanExtra("isCollaborationOwner", false);
updateCollaborationInfo();
setContentView(R.layout.ac_operation_related_content);
// ホームボタン(作業一覧へ遷移ボタン)
......@@ -516,7 +517,7 @@ public class OperationRelatedContentActivity extends ABVUIActivity {
});
}
private void refreshCollaborationUI() {
public void refreshCollaborationUI() {
if (isCollaboration) {
activityHandlingHelper.removeContentViewActivity(activityHandlingHelper.getContentViewActivity());
hideBottomToolbar();
......@@ -540,14 +541,15 @@ public class OperationRelatedContentActivity extends ABVUIActivity {
@Override
public void onResume() {
Logger.i(TAG, "onResume:start");
updateCollaborationInfo();
refreshCollaborationUI();
super.onResume();
showOperationRelatedContentList();
}
@Override
protected void onNewIntent(Intent intent) {
isCollaboration = intent.getBooleanExtra("isCollaboration", false);
isCollaborationOwner = intent.getBooleanExtra("isCollaborationOwner", false);
updateCollaborationInfo();
refreshCollaborationUI();
super.onNewIntent(intent);
}
......@@ -583,4 +585,14 @@ public class OperationRelatedContentActivity extends ABVUIActivity {
mWaitOwnerTextView.setVisibility(View.GONE);
}
}
public void updateCollaborationInfo() {
isCollaboration = meetingManager.isCollaboration();
isCollaborationOwner = meetingManager.isCollaboration() && meetingManager.isOwner();
}
@Override
public void showAlertDialog(AlertDialog alertDialog) {
super.showAlertDialog(alertDialog);
}
}
......@@ -1206,6 +1206,7 @@ public class ActivityHandlingHelper extends ABookHelper implements RemoteObserve
} else { // 却下された場合
msgId = R.string.msg_promotion_denied;
}
if (isCollaboration) { return; }
showToast(mContext.getString(msgId));
}
});
......@@ -1376,6 +1377,38 @@ public class ActivityHandlingHelper extends ABookHelper implements RemoteObserve
Logger.w(TAG, "promotionRequestAlertDialog is showing. ignore request. requesterId=" + requesterId);
return;
}
if (isCollaboration) {
try {
// 承認する前にマーキングモード終了メッセージを送信
if (contentViewActivity instanceof ContentViewActivity && ((ContentViewActivity)contentViewActivity).isMarkingStatus()) {
JSONObject jsonMarkingInvisible = new JSONObject();
jsonMarkingInvisible.put(MeetingManager.MARKING_ACTION, MeetingManager.MARKING_ACTION_END);
meetingManager.sendWs(MeetingManager.CMD_MARKING, contentViewActivity.getContentId(), contentViewActivity.getCurrentPageNumber(), null, jsonMarkingInvisible);
}
JSONObject json = new JSONObject();
json.put(MeetingManager.ID, requesterSkey);
json.put(MeetingManager.APPROVED, true);
meetingManager.sendWs(MeetingManager.CMD_APPROVALSTATUS, null, null, null, json);
meetingManager.setOwner(false); // 司会者ではなくなる
if (contentViewActivity != null) {
if (contentViewActivity instanceof ContentViewActivity) {
((ContentViewActivity) contentViewActivity).setBarVisible(false);
((ContentViewActivity) contentViewActivity).setMarkingReadOnly(true);
}
contentViewActivity.configureRemote();
} else {
OperationRelatedContentActivity operationRelatedContentActivity = getActivity(OperationRelatedContentActivity.class);
if (operationRelatedContentActivity != null) {
operationRelatedContentActivity.refreshCollaborationUI();
}
}
} catch (Exception e) {
Logger.e(TAG, "showPromotionRequest ok failed", e);
showToast("Promotion request failed.");
}
return;
}
promotionRequestAlertDialog = AlertDialogUtil.createAlertDialog(getCurrentActivity(), R.string.confirm);
promotionRequestAlertDialog.setMessage(String.format(mContext.getString(R.string.msg_approve_promotion), requesterId));
promotionRequestAlertDialog.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment