Commit 534539cd by Kim Jinsung

Merge branch 'features/1.3.100' into features/1.3.200

# Conflicts:
#	ABVJE_Res_Default_Android/res/values-ko/strings.xml
#	ABVJE_Res_Default_Android/res/values/strings.xml
#	ABVJE_UI_Android/src/jp/agentec/abook/abv/ui/viewer/activity/CheckOZDViewActivity.java
parents 253cd496 5436e74b
......@@ -71,6 +71,7 @@ import jp.agentec.abook.abv.bl.acms.client.parameters.GetMessagesParameters;
import jp.agentec.abook.abv.bl.acms.client.parameters.GetNameCardParameters;
import jp.agentec.abook.abv.bl.acms.client.parameters.GetOperationDataParameters;
import jp.agentec.abook.abv.bl.acms.client.parameters.GetTaskFileParameters;
import jp.agentec.abook.abv.bl.acms.client.parameters.InviteCollaborationParameters;
import jp.agentec.abook.abv.bl.acms.client.parameters.InviteUsersParameters;
import jp.agentec.abook.abv.bl.acms.client.parameters.JoinCollaborationParameters;
import jp.agentec.abook.abv.bl.acms.client.parameters.NewAppStoreLoginParameters;
......@@ -801,6 +802,24 @@ public class AcmsClient implements AcmsClientResponseListener {
}
/**
* 協業内ユーザー招待
*
* @param sid
* @param roomId
* @param roomName
* @param inveitedUserIds
* @param collaborationType
* @return
* @throws NetworkDisconnectedException
* @throws AcmsException
*/
public ArchiveDetailJSON inviteCollaboration(String sid, Integer roomId, String roomName, String inveitedUserIds, String collaborationType) throws NetworkDisconnectedException, AcmsException {
HttpResponse response = send(AcmsApis.ApigetCollaboration, new InviteCollaborationParameters(sid, AcmsApis.CollaborationCmds.invite, roomId, roomName, inveitedUserIds, collaborationType));
ArchiveDetailJSON json = new ArchiveDetailJSON(response.httpResponseBody);
return json;
}
/**
* 作業報告データ送信
* @param sid
* @param operationId
......
package jp.agentec.abook.abv.bl.acms.client.parameters;
import jp.agentec.adf.net.http.HttpParameterObject;
public class InviteCollaborationParameters extends HttpParameterObject {
/**
* セッションID
* @since 1.0.0
*/
private String sid;
private String cmd;
private Integer roomId;
private String roomName;
private String inviteUserIds;
private String collaborationType;
/**
* {@link InviteCollaborationParameters} のインスタンスを初期化します。
* @param sid ログインした時のセッションIDです。
* @param cmd Apiリクエストに必要なコマンド(ABOOK COMM専用)。
* @param roomId 協業を開始したルームIDです。(ABOOK COMM専用)。
* @param roomName 協業を開始したルームNAMEです。(ABOOK COMM専用)。
* @param inviteUserIds 協業に招待されたユーザーIDです。(ABOOK COMM専用)。
* @param collaborationType 協業タイプです。(ABOOK COMM専用)。
* @since 1.0.0
*/
public InviteCollaborationParameters(String sid, String cmd, Integer roomId, String roomName, String inviteUserIds, String collaborationType) {
this.sid = sid;
this.cmd = cmd;
this.roomId = roomId;
this.roomName = roomName;
this.inviteUserIds = inviteUserIds;
this.collaborationType = collaborationType;
}
/**
* セッションIDを返します。
* @return ログインした時のセッションIDです。
* @since 1.0.0
*/
public String getSid() {
return sid;
}
/**
* コマンドを返します。
* @return Apiリクエストに必要なコマンドです。
* @since 1.0.0
*/
public String getCmd() {
return cmd;
}
/**
* RoomIdを返します。
* @return 協業を開始したルームIDです。
* @since 1.0.0
*/
public Integer getRoomId() {
return roomId;
}
/**
* RoomNameを返します。
* @return 協業を開始したルームNAMEです。
* @since 1.0.0
*/
public String getRoomName() {
return roomName;
}
/**
* InviteUserIdsを返します。
* @return 協業に招待されたユーザーIDです。
* @since 1.0.0
*/
public String getInviteUserIds() {
return inviteUserIds;
}
/**
* collaborationTypeを返します。
* @return 協業タイプです。
* @since 1.0.0
*/
public String getCollaborationType() {
return collaborationType;
}
}
......@@ -212,6 +212,7 @@ public class AcmsApis {
public static final String start = "1";
public static final String join = "2";
public static final String finish = "3";
public static final String invite = "4";
}
// download
......
......@@ -125,6 +125,7 @@ public interface ABookCommConstants {
interface COLLABORATION_JOIN_FLG {
Integer CREATE = 0;
Integer JOIN = 1;
Integer INVITE = 2;
}
interface ROOM_VIEW_FLAG {
......
......@@ -189,6 +189,7 @@ public class CommunicationLogic extends AbstractLogic {
groupPathJsonArray.put(jsonObject);
}
resultJson.put(ABookCommConstants.KEY.SHOP_MEMBER_ID, shopMemberDto.shopMemberId);
resultJson.put(ABookCommConstants.KEY.LOGIN_ID, shopMemberDto.loginId);
resultJson.put(ABookCommConstants.KEY.SHOP_MEMBER_NAME, shopMemberDto.shopMemberName);
resultJson.put(ABookCommConstants.KEY.PROFILE_URL, getProfileUrlPath(shopMemberDto.profileUrl));
resultJson.put(ABookCommConstants.KEY.GROUP_PATH_LIST, groupPathJsonArray);
......
......@@ -251,7 +251,9 @@
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
</activity>
<activity android:name="jp.agentec.abook.abv.ui.home.activity.ChatWebviewActivity" android:configChanges="orientation|screenSize"/>
<activity android:name="jp.agentec.abook.abv.ui.home.activity.ChatWebviewActivity" android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
android:resizeableActivity="true"
android:supportsPictureInPicture="true"/>
</application>
</manifest>
\ No newline at end of file
......@@ -1479,7 +1479,8 @@
<string name="msg_error_chat_name_has_invalid_character">特殊文字 ;/?:@&amp;=+$,-_.!~*\'()#\\\"` はルーム名に含めることができません。</string>
<string name="msg_error_chat_room_sc_forbidden">認証に失敗しました。再度ログインが必要です。</string>
<string name="msg_error_already_exist_same_room">同じルームが既に存在します。</string>
<string name="msg_confirm_send_host_change">ホスト権限を渡しますか?</string>
<string name="msg_invite_collaboration">協業に招待されました。</string>
<!-- 連続作業 -->
<string name="msg_error_all_process_delete">全削除の送信に失敗しました。</string>
<string name="msg_ozd_file_could_not_opened">帳票ファイルを開くことができませんでした。</string>
......
......@@ -1487,4 +1487,6 @@
<string name="msg_error_all_process_delete">모두 삭제 송신에 실패하였습니다.</string>
<string name="msg_error_already_exist_same_room">동일한 채팅방이 이미 존재합니다.</string>
<string name="msg_ozd_file_could_not_opened">장표 파일을 열 수 없습니다.</string>
<string name="msg_confirm_send_host_change">방장 권한을 전달 받으시겠습니까?</string>
<string name="msg_invite_collaboration">협업에 초대되셨습니다.</string>
</resources>
\ No newline at end of file
......@@ -1484,4 +1484,6 @@
<string name="msg_error_all_process_delete">Failed to send all deletes.</string>
<string name="msg_error_already_exist_same_room">Already exist same 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="msg_invite_collaboration">You are invited to collaboration.</string>
</resources>
......@@ -33,6 +33,7 @@ public class ABVFcmListenerService extends FirebaseMessagingService {
private static final String TAG = "ABVFcmListenerService";
private NotificationManager mNotificationManager;
private static int mNotificationConnect = 0;
private final String INVITE_COLLABORATION = "inviteCollaboration<::split>";
@Override
public void onCreate() {
......@@ -94,6 +95,21 @@ public class ABVFcmListenerService extends FirebaseMessagingService {
if (AppUtil.isAppForground(this)) {
msg.put(AppDefType.PushMessageKey.message, pushMsg);
}
if (pushMsg.contains(INVITE_COLLABORATION)) {
String[] inviteMessage = pushMsg.split("<::split>");
tempMsg = getString(R.string.msg_invite_collaboration);
Intent pushMsgDialog = new Intent(ABVFcmListenerService.this, ShowPushMessageDailogActivity.class);
pushMsgDialog.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
pushMsgDialog.putExtra(AppDefType.PushMessageKey.message, tempMsg);
pushMsgDialog.putExtra(AppDefType.ChatPushMessageKey.roomId, roomId); // Room Id
pushMsgDialog.putExtra(AppDefType.ChatPushMessageKey.roomName, roomName); // Room Name
pushMsgDialog.putExtra(AppDefType.ChatPushMessageKey.pushSendLoginId, pushSendLoginId); // sendLoginId
pushMsgDialog.putExtra(AppDefType.ChatPushMessageKey.pushSendDate, pushSendDate);
pushMsgDialog.putExtra(AppDefType.ChatPushMessageKey.collaborationType, inviteMessage[1]);
startActivity(pushMsgDialog);
return;
}
}
if (AppUtil.isAppForground(this)) {
......
......@@ -469,13 +469,14 @@ public abstract class ABVContentViewActivity extends ABVAuthenticatedActivity {
// }
}
else { // 会議室退室ボタン非表示
exitMeetingBtn.setVisibility(View.GONE);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(WC, WC);
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
params.addRule(RelativeLayout.CENTER_VERTICAL);
params.rightMargin = (int) (getResources().getDisplayMetrics().density * 5);
subMenuBtn.setLayoutParams(params);
if (exitMeetingBtn != null) {
exitMeetingBtn.setVisibility(View.GONE);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(WC, WC);
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
params.addRule(RelativeLayout.CENTER_VERTICAL);
params.rightMargin = (int) (getResources().getDisplayMetrics().density * 5);
subMenuBtn.setLayoutParams(params);
}
// if (helpButton != null && helpButton.getVisibility() == View.VISIBLE) {
// helpButton.setLayoutParams(params);
// }
......
......@@ -123,6 +123,7 @@ public class ShowPushMessageDailogActivity extends ABVUIActivity {
String roomName = extras.getString(AppDefType.ChatPushMessageKey.roomName);
String pushSendLoginId = extras.getString(AppDefType.ChatPushMessageKey.pushSendLoginId);
long pushSendDate = extras.getLong(AppDefType.ChatPushMessageKey.pushSendDate);
String collaborationType = extras.getString(AppDefType.ChatPushMessageKey.collaborationType);
if (roomId > 0 && !StringUtil.isNullOrEmpty(roomName)) {
List<PushMessageDto> pushMessageDtoList = AbstractLogic.getLogic(PushMessageLogic.class).getAllPushMessageList();
......@@ -138,8 +139,11 @@ public class ShowPushMessageDailogActivity extends ABVUIActivity {
Logger.d("tempDate","date : " + tempDate);
}
ActivityHandlingHelper.getInstance().startChatWebviewActivity(roomId, roomName);
if (StringUtil.isNullOrEmpty(collaborationType)) {
ActivityHandlingHelper.getInstance().startChatWebviewActivity(roomId, roomName);
} else {
ActivityHandlingHelper.getInstance().startChatWebviewActivityWithCollaboration(roomId, roomName, collaborationType);
}
}
}
finish();
......
......@@ -141,5 +141,6 @@ public interface AppDefType {
String roomName = "roomName";
String pushSendLoginId = "pushSendLoginId";
String pushSendDate = "pushSendDate";
String collaborationType = "collaborationType";
}
}
......@@ -30,12 +30,10 @@ import java.util.Stack;
import jp.agentec.abook.abv.bl.acms.client.json.DownloadedContentInfoJSON;
import jp.agentec.abook.abv.bl.acms.client.json.content.ContentJSON;
import jp.agentec.abook.abv.bl.acms.type.DeliveryType;
import jp.agentec.abook.abv.bl.acms.type.DownloadStatusType;
import jp.agentec.abook.abv.bl.common.ABVEnvironment;
import jp.agentec.abook.abv.bl.common.constant.ABookKeys;
import jp.agentec.abook.abv.bl.common.exception.AcmsException;
import jp.agentec.abook.abv.bl.common.exception.NetworkDisconnectedException;
import jp.agentec.abook.abv.bl.common.log.Logger;
import jp.agentec.abook.abv.bl.common.util.ContentFileUtil;
import jp.agentec.abook.abv.bl.common.util.JsonUtil;
......@@ -69,7 +67,6 @@ import jp.agentec.abook.abv.ui.common.appinfo.AppDefType;
import jp.agentec.abook.abv.ui.common.appinfo.AppDefType.DefPrefKey;
import jp.agentec.abook.abv.ui.common.appinfo.AppDefType.UserPrefKey;
import jp.agentec.abook.abv.ui.common.appinfo.AppNaviType;
import jp.agentec.abook.abv.ui.common.constant.ErrorCode;
import jp.agentec.abook.abv.ui.common.constant.NaviConsts;
import jp.agentec.abook.abv.ui.common.dialog.ABookAlertDialog;
import jp.agentec.abook.abv.ui.common.util.ABVToastUtil;
......@@ -81,7 +78,6 @@ import jp.agentec.abook.abv.ui.home.activity.OperationRelatedContentActivity;
import jp.agentec.abook.abv.ui.viewer.activity.AudioPlayActivity;
import jp.agentec.abook.abv.ui.viewer.activity.CheckOZDViewActivity;
import jp.agentec.abook.abv.ui.viewer.activity.ContentViewActivity;
import jp.agentec.abook.abv.ui.viewer.activity.DeviceImageListActivity;
import jp.agentec.abook.abv.ui.viewer.activity.EnqueteWebViewActivity;
import jp.agentec.abook.abv.ui.viewer.activity.HTMLWebViewActivity;
import jp.agentec.abook.abv.ui.viewer.activity.HTMLXWalkWebViewActivity;
......@@ -90,7 +86,6 @@ import jp.agentec.abook.abv.ui.viewer.activity.ParentWebViewActivity;
import jp.agentec.abook.abv.ui.viewer.activity.PreviewActivity;
import jp.agentec.abook.abv.ui.viewer.activity.VideoViewActivity;
import jp.agentec.abook.abv.ui.viewer.activity.theta.ThetaActivity;
import jp.agentec.abook.abv.ui.viewer.view.OperationTaskLayout;
import jp.agentec.adf.net.http.HttpDownloadSimpleNotification;
import jp.agentec.adf.util.CollectionUtil;
import jp.agentec.adf.util.DateTimeFormat;
......@@ -179,11 +174,11 @@ public class ActivityHandlingHelper extends ABookHelper implements RemoteObserve
@Override
public void run() {
try {
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
if (page != null) {
intent.putExtra(ABVActivity.PAGE, page);
}
startContentActivity(mContext, intent, null, Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK, contentId);
startContentActivity(mContext, intent, null, Intent.FLAG_ACTIVITY_SINGLE_TOP, contentId);
} catch (Exception e) {
Logger.e(TAG, "startContentActivity contentId=" + contentId, e);
showToast(mContext.getString(R.string.E113));
......@@ -389,11 +384,15 @@ public class ActivityHandlingHelper extends ABookHelper implements RemoteObserve
recordContentReadLog(context, contentId);
}
Activity act = getCurrentActivity();
if (act instanceof ChatWebviewActivity) {
act = getActivity(OperationRelatedContentActivity.class);
}
intent.setClass(act, ContentViewActivity.class);
if (!StringUtil.equalsAny(contentType,
ContentJSON.KEY_HTML_TYPE, ContentJSON.KEY_LINK_TYPE, ContentJSON.KEY_ENQUETE_TYPE, ContentJSON.KEY_EXAM_TYPE,
ContentJSON.KEY_PANO_MOVIE_TYPE, ContentJSON.KEY_PANO_IMAGE_TYPE, ContentJSON.KEY_OBJECTVR_TYPE)) {
context.startActivity(intent);
act.startActivity(intent);
}
}
......@@ -717,7 +716,7 @@ public class ActivityHandlingHelper extends ABookHelper implements RemoteObserve
*/
public synchronized void finishAllContentViewActivity() {
for (ABVAuthenticatedActivity activity : currentActivityStack) {
if (activity instanceof ABVContentViewActivity) {
if (activity instanceof ABVContentViewActivity && !(activity instanceof ChatWebviewActivity)) {
activity.finish();
}
}
......@@ -734,7 +733,7 @@ public class ActivityHandlingHelper extends ABookHelper implements RemoteObserve
int activitySize = currentActivityStack.size();
for (int i = 1; i < activitySize - 1; i++) {
ABVAuthenticatedActivity activity = currentActivityStack.get(currentActivityStack.size() - i);
if (activity instanceof ABVContentViewActivity) {
if (activity instanceof ABVContentViewActivity && !(activity instanceof ChatWebviewActivity)) {
activity.finish();
}
}
......@@ -842,6 +841,10 @@ public class ActivityHandlingHelper extends ABookHelper implements RemoteObserve
}
}
public Stack<ABVAuthenticatedActivity> getCurrentActivityStack() {
return currentActivityStack;
}
public void setRequireHomeReload(boolean requireHomeReload) {
this.requireHomeReload = requireHomeReload;
}
......@@ -1552,7 +1555,12 @@ public class ActivityHandlingHelper extends ABookHelper implements RemoteObserve
}
public String getLocaleFileName() {
Locale primaryLocale = mContext.getResources().getConfiguration().getLocales().get(0);
Locale primaryLocale;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
primaryLocale = mContext.getResources().getConfiguration().getLocales().get(0);
} else {
primaryLocale = mContext.getResources().getConfiguration().locale;
}
String locale = primaryLocale.getDisplayName();
String localeLanguage = "en";
if (primaryLocale.equals(Locale.JAPAN) || primaryLocale.equals(Locale.JAPANESE)) {
......@@ -1907,4 +1915,44 @@ public class ActivityHandlingHelper extends ABookHelper implements RemoteObserve
this.previousOfSettingActivity = null;
this.previousOfSettingActivity2 = activity;
}
public void startChatWebviewActivityWithCollaboration(Long roomId, String roomName, String collaborationType) {
String className = ChatWebviewActivity.class.getName();
boolean isNormalSize = (mContext.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_NORMAL;
Intent intent = new Intent();
intent.putExtra("chatWebviewUrl",ABVEnvironment.getInstance().acmsAddress + ABVDataCache.getInstance().getUrlPath() + "/chatapi/chat/");
String sid = ABVDataCache.getInstance().getMemberInfo().sid;
intent.putExtra("sid", sid);
String loginId = ABVDataCache.getInstance().getMemberInfo().loginId;
String shopName = ABVDataCache.getInstance().getUrlPath();
intent.putExtra("loginId", loginId);
intent.putExtra("collaborationType", collaborationType);
intent.putExtra("shopName", shopName);
intent.putExtra("roomId", roomId);
intent.putExtra("roomName", roomName);
intent.setClassName(mContext.getPackageName(), className);
Activity activity2 = null;
if (!currentActivityStack.isEmpty()) {
int size = currentActivityStack.size();
for (int i = size - 1; i >= 0; i--) {
ABVAuthenticatedActivity activity = currentActivityStack.elementAt(i);
if (activity instanceof ChatWebviewActivity) {
activity2 = (ChatWebviewActivity) activity;
}
}
}
if (activity2 != null) {
activity2.finish();
activity2.startActivity(intent);
} else {
Activity activity = getCurrentActivity();
if (activity != null) {
activity.startActivity(intent);
}
}
}
}
......@@ -180,8 +180,13 @@ public class CheckOZDViewActivity extends ABVContentViewActivity {
@Override
public void onClick(View v) {
mButtonStatus = R.id.btn_close; // HTML側の分岐処理を行うため変数に値を渡す
doProcess(); // HTML側の処理を行う
finishActivity(); //OZView画面非表示
//#41596 OZの報告入力フォームで☓をタップした際の動作がおかしい
//Javascript呼ばないようにし、連続作業と関係なく閉じる処理追加
finishActivity();
// doProcess(); // HTML側の処理を行う
// if (mProcessKey != null && mPhaseNo != 0) { //連続作業用のOZView画面非表示
// finishActivity();
// }
}
});
......
......@@ -86,8 +86,8 @@ is_check_invalid_passward_limit=true
repeat_default=true
#Setting Info(設定画面のABookについての設定情報)
version_name=1.3.0
release_date=2021/05/06
version_name=1.3.100
release_date=2021/05/11
copy_right=2016 AGENTEC Co.,Ltd. All rights reserved.
hope_page=http://www.agentec.jp
contact_email=abook-appsupport@agentec.jp
......
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