Commit b749b752 by Lee Munkyeong

Merge branch 'features/1.4.0_lmk' into 'features/1.4.0'

Features/1.4.0 lmk

See merge request !188
parents 4bd6e259 965295c8
......@@ -51,6 +51,7 @@ public class ContentJSON extends AbstractJSON {
public static final String KEY_WIDTH = "width";
public static final String KEY_BACKGROUND_COLOR = "backgroundColor";
public static final String KEY_BACKGROUND_ALPHA = "backgroundAlpha";
public static final String KEY_LIST_TYPE = "list";
private JSONArray mPages;
......
......@@ -71,6 +71,7 @@ public class ABookKeys {
public static final String CMD_SHOW_RELATED_CONTENT = "showRelatedContent";
public static final String CMD_PAGE_NUM = "pageNum";
public static final String CMD_GET_GROUP_TREE_INFO = "getGroupTreeInfo";
public static final String CMD_CLOSE_TASK_LIST = "closeTaskList";
public static final String GPS_TYPE = "gpsType";
public static final String STATUS_CODE = "statusCode";
......@@ -93,11 +94,12 @@ public class ABookKeys {
public static final String GO_COMMUNICATION = "goCommunication";
public static final String GO_PANORAMA_EDIT = "goPanoramaEdit";
public static final String REFRESH_CONTENT = "refreshContent";
public static final String RESET_SEARCH = "resetSearch";
public static final String CHANGE_OPERATION_GROUP_MASTER = "changeOperationGroupMaster";
}
// #32782 指示者テーブル関連削除 start
// #32782 指示者テーブル関連削除 startbtn_pano_edit
// TODO change TASK_DIRECTIONS 削除が必要
// public static final String TASK_DIRECTIONS = "taskReport";
// public static final String TASK_DIRECTIONS_SUGGEST = "taskReportSuggest";
......@@ -207,4 +209,16 @@ public class ABookKeys {
public static final String PROCESS_LIST = "processList";
public static final String MAIL_TO_URL = "mailto";
public static class SCAN_TYPE_VALUE {
public static final Integer BARCODE = 0;
public static final Integer RFID = 1;
}
public static class SCAN_TYPE_KEY {
public static final String BARCODE = "BARCODE";
public static final String RFID = "RFID";
}
public static final String SCAN_TYPE = "scanType";
}
......@@ -279,8 +279,8 @@ public class OperationDao extends AbstractDao {
* @param operationSortType
* @return
*/
public List<OperationDto> getOperations(String searchOperationName, String searchStartDateStr, String searchEndDateStr, OperationSortingType operationSortType) {
String sql = generateGetOperationQuery(searchOperationName, searchStartDateStr, searchEndDateStr, operationSortType, null);
public List<OperationDto> getOperations(String searchOperationName, String searchStartDateStr, String searchEndDateStr, OperationSortingType operationSortType, int operationGroupMasterId) {
String sql = generateGetOperationQuery(searchOperationName, searchStartDateStr, searchEndDateStr, operationSortType, Integer.valueOf(operationGroupMasterId) == 0 ? null : Integer.valueOf(operationGroupMasterId));
return rawQueryGetDtoList(sql, null, OperationDto.class);
}
......
......@@ -1329,9 +1329,9 @@ public class OperationLogic extends AbstractLogic {
* @param operationSortingType ソート順
* @return 作業リスト
*/
public List<OperationDto> getRefreshOperation(String searchWord, String searchStartDateStr, String searchEndDateStr, OperationSortingType operationSortingType) {
public List<OperationDto> getRefreshOperation(String searchWord, String searchStartDateStr, String searchEndDateStr, OperationSortingType operationSortingType, int operationGroupMasterId) {
List<OperationDto> operationDtoList;
operationDtoList = mOperationDao.getOperations(searchWord, searchStartDateStr, searchEndDateStr, operationSortingType);
operationDtoList = mOperationDao.getOperations(searchWord, searchStartDateStr, searchEndDateStr, operationSortingType, operationGroupMasterId);
for (OperationDto operationDto : operationDtoList) {
// 作業送信フラグが存在する場合またはホットスポット更新フラグが存在する場合、needSyncFlgをtrueにセット
if (mTaskReportDao.isExistSendTaskData(operationDto.operationId) || mTaskReportDao.isExistUpdateTargetHotSpotTaskData(operationDto.operationId)) {
......
Subproject commit 0a9dd91eab004d76ae2fec60aae676d3c5058d30
Subproject commit bc3a9f61ac08d0965b48f1b5e3f1411ed177c244
......@@ -104,7 +104,7 @@ public abstract class ABVActivity extends Activity {
public static final String URL = "url";
public static final String MESSAGE = "message";
public static final String PASSWORD = "password";
public Runnable mCallBack;
protected static final int FP = android.view.ViewGroup.LayoutParams.MATCH_PARENT;
protected static final int WC = android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
protected static final int R_FP = ViewGroup.LayoutParams.MATCH_PARENT;
......@@ -198,6 +198,10 @@ public abstract class ABVActivity extends Activity {
catch (Exception e) {
Logger.e(TAG, "_closeProgressPopup error. progressDialogHorizontal error = " +e.toString());
}
if (mCallBack != null) {
mCallBack.run();
mCallBack = null;
}
}
}
......
......@@ -1125,6 +1125,14 @@ public abstract class ABVContentViewActivity extends ABVAuthenticatedActivity {
} else if (mCmd.equals(ABookKeys.CMD_GET_GROUP_TREE_INFO)) {
List<JSONObject> groups = groupLogic.getAllGroupsJson();
afterABookCheckApi(mCmd, null, 0, "getAllGroups", groups.toString());
} else if (mCmd.equals(ABookKeys.CMD_CLOSE_TASK_LIST)) {
if (mXWalkOpenType == Constant.XWalkOpenType.PANO_EDIT) {
showConfirmSavePanoEdit();
} else {
// 作業終了する時、作業ID設定して作業一覧で使用するメソットを行う。
putUserPref(AppDefType.UserPrefKey.SYNC_TARGET_OPERATION_ID, mOperationId);
finishActivity(); // 開いてる画面を閉じる
}
}
}
......
......@@ -216,6 +216,8 @@ public abstract class ABVUIActivity extends ABVAuthenticatedActivity {
stopUpdateAnimation();
Logger.e(TAG, "Exception DataRefresh", e);
handleErrorMessageToast(ErrorCode.E107);
} finally {
closeProgressPopup();
}
return result;
......
......@@ -123,6 +123,9 @@ public class OperationListActivity extends ABVUIActivity {
public String mSearchWord; // 検索画面の値(作業名)
public String mStartDateStr; // 検索画面の値(作業開始日)
public String mEndDateStr; // 検索画面の値(作業終了日)
public int sortType = 2;
public boolean isSearch = false;
public int mOperationGroupMasterId = 0;
private EditText mSearchTextView; // 検索画面の作業名
private TextView mStartDate; // 検索画面の作業開始日
......@@ -130,7 +133,6 @@ public class OperationListActivity extends ABVUIActivity {
private Dialog mSearchDialog;
private Date mOperationLastEditDate;
private OperationDao mOperationDao = AbstractDao.getDao(OperationDao.class);
private OperationContentDao mOperationContentDao = AbstractDao.getDao(OperationContentDao.class);
......@@ -158,6 +160,8 @@ public class OperationListActivity extends ABVUIActivity {
private Long mSelectedOperationId;
private Integer mScanType;
@Override
protected void onCreate(Bundle savedInstanceState) {
......@@ -327,17 +331,21 @@ public class OperationListActivity extends ABVUIActivity {
if (!jsonParam.has(ABookKeys.OPERATION_ID)) {
break;
}
if (jsonParam.has(ABookKeys.SCAN_TYPE)) {
mScanType = jsonParam.getInt(ABookKeys.SCAN_TYPE);
}
final OperationDto tempOperationDto = mOperationDao.getOperationJoinContent(jsonParam.getInt(ABookKeys.OPERATION_ID));
if (tempOperationDto.needSyncFlg) {
runOnUiThread(new Runnable() {
@Override
public void run() {
startSyncOperation(tempOperationDto, new Runnable() {
mCallBack = new Runnable() {
@Override
public void run() {
openReportView(tempOperationDto);
}
});
};
runOnUiThread(new Runnable() {
@Override
public void run() {
startSyncOperation(tempOperationDto);
}
});
} else {
......@@ -352,24 +360,27 @@ public class OperationListActivity extends ABVUIActivity {
case ABookKeys.CMD_KEY.GO_PANORAMA_EDIT:
final OperationDto panoramaOperationDto = mOperationDao.getOperationJoinContent(jsonParam.getInt(ABookKeys.OPERATION_ID));
if (panoramaOperationDto.needSyncFlg) {
runOnUiThread(new Runnable() {
mCallBack = new Runnable() {
@Override
public void run() {
startSyncOperation(panoramaOperationDto, new Runnable() {
startPanoEdit(panoramaOperationDto);
}
};
runOnUiThread(new Runnable() {
@Override
public void run() {
startTaskDirectionOrReportView(panoramaOperationDto);
}
});
startSyncOperation(panoramaOperationDto);
}
});
} else {
startTaskDirectionOrReportView(panoramaOperationDto);
startPanoEdit(panoramaOperationDto);
}
break;
case ABookKeys.CMD_KEY.REFRESH_CONTENT:
clearSearch();
showProgressPopup();
dataRefresh(true);
runOnUiThread(new Runnable() {
@Override
public void run() {
......@@ -383,6 +394,16 @@ public class OperationListActivity extends ABVUIActivity {
List<OperationDto>operationList = mOperationGroupMasterLogic.getOperationByOperationGroupMasterId(jsonParam.getInt(ABookKeys.OPERATION_GROUPMASTER_ID), null);
mOperationLogic.createOperationListJson(operationList, null);
break;
case ABookKeys.CMD_KEY.RESET_SEARCH:
clearSearch();
runOnUiThread(new Runnable() {
@Override
public void run() {
mCheckWebView.loadUrl("javascript:CHK.initReportApp();");
}
});
break;
}
}
}
......@@ -399,11 +420,11 @@ public class OperationListActivity extends ABVUIActivity {
mEndDateStr = searchEndDate;
List<OperationDto> operationList;
if (operationGroupMasterId != 0) {
operationList = mOperationGroupMasterLogic.getOperationByOperationGroupMasterId(operationGroupMasterId, null);
} else {
operationList = mListHelper.filterOperationList();
mOperationGroupMasterId = operationGroupMasterId;
}
operationList = mListHelper.filterOperationList();
String searchOperationListStr = mOperationLogic.createOperationListJson(operationList, null);
isSearch = true;
return searchOperationListStr;
}
......@@ -416,11 +437,31 @@ public class OperationListActivity extends ABVUIActivity {
public void stopScan() {
//TODO DisconnectScanner
}
@JavascriptInterface
public void setSortType(int requestSortType) {
sortType = requestSortType;
}
@JavascriptInterface
public int getSortType() {
return sortType;
}
@JavascriptInterface
public void testScanResult(String code, int scanType) {
onScanned(code, scanType);
}
}
//TODO Method called when code is scanned
public void onScanned(String code) {
mCheckWebView.loadUrl("javascript:CHK.scanResult(" + code + ");");
public void onScanned(final String code, final int scanType) {
runOnUiThread(new Runnable() {
@Override
public void run() {
mCheckWebView.loadUrl("javascript:CHK.scanResult(" + code + "," + scanType + " );");
}
});
}
// 共通資料画面表示
......@@ -449,6 +490,9 @@ public class OperationListActivity extends ABVUIActivity {
mSearchWord = null;
mStartDateStr = null;
mEndDateStr = null;
mOperationGroupMasterId = 0;
isSearch = false;
sortType = 2;
clearData();
}
......@@ -508,6 +552,12 @@ public class OperationListActivity extends ABVUIActivity {
//showProgressPopup();
Logger.i(TAG, "onResume:start");
super.onResume();
if (isSearch) {
isSearch = false;
return;
}
//アプリロック状態の場合、何もしない。
if (checkForceLoginPeriodically()) {
return;
......@@ -519,14 +569,15 @@ public class OperationListActivity extends ABVUIActivity {
// 報告画面から作業一覧へ戻った時の同期処理
final long operationId = getUserPref(AppDefType.UserPrefKey.SYNC_TARGET_OPERATION_ID, -1L);
if (operationId != -1) {
final OperationDto operationDto = mOperationLogic.getOperation(operationId);
showProgressPopup();
dataRefresh(true);
// リソースパターンの適用
}
if (!activityResultFlg && operationId == -1) {
dataRefresh(true);
}
// if (!activityResultFlg && operationId == -1) {
// //dataRefresh(true);
// }
putUserPref(AppDefType.UserPrefKey.SYNC_TARGET_OPERATION_ID, -1L);
activityResultFlg = false;
runOnUiThread(new Runnable() {
......@@ -540,7 +591,6 @@ public class OperationListActivity extends ABVUIActivity {
}
}
});
}
// 検索ダイアログ表示
......@@ -663,20 +713,16 @@ public class OperationListActivity extends ABVUIActivity {
}
private void clearData() {
// 開始日の初期化
if (mStartDate != null) {
mStartDate.setText(StringUtil.Empty);
}
// 終了日の初期化
if (mEndDate != null) {
mEndDate.setText(StringUtil.Empty);
}
// 作業名の初期化
if (mSearchTextView != null) {
mSearchTextView.setText(StringUtil.Empty);
runOnUiThread(new Runnable() {
@Override
public void run() {
mCheckWebView.loadUrl("javascript:$('#searchTaskName').val('');");
mCheckWebView.loadUrl("javascript:$('#searchStartDate').val('');");
mCheckWebView.loadUrl("javascript:$('#searchEndDate').val('');");
mCheckWebView.loadUrl("javascript:CHK.changeSortType($('#defaultSort'));");
}
});
}
// 開始日と終了日のバリデーション
......@@ -739,7 +785,16 @@ public class OperationListActivity extends ABVUIActivity {
path.append("/index.html?app=android");
path.append("&report_type=" + operationDto.reportType); // 作業報告タイプ : 0:報告 1:定期点検 2:報告(回答)
path.append("&mobile_flg=" + (isNormalSize() ? "1" : "0")); // ScreenType
if (mScanType != null) {
String scanTypeKey = null;
if (mScanType.equals(ABookKeys.SCAN_TYPE_VALUE.BARCODE)) {
scanTypeKey = ABookKeys.SCAN_TYPE_KEY.BARCODE;
} else if (mScanType.equals(ABookKeys.SCAN_TYPE_VALUE.RFID)) {
scanTypeKey = ABookKeys.SCAN_TYPE_KEY.RFID;
}
path.append("&scanType=" + scanTypeKey);
mScanType = null;
}
Logger.d(TAG, "path : " + path);
// #32926 作業報告画面改善 end
Intent intent = new Intent();
......@@ -956,7 +1011,7 @@ public class OperationListActivity extends ABVUIActivity {
return;
}
if (operationDto.contentId != null && operationDto.contentId != 0) {
showProgressPopup();
//showProgressPopup();
try {
String baseUrl = ABVEnvironment.getInstance().acmsAddress + ABVDataCache.getInstance().getUrlPath() + "/shop/login/authByCheck/%s/%s";
String url = String.format(baseUrl, ABVDataCache.getInstance().getMemberInfo().sid, operationDto.contentId);
......@@ -971,7 +1026,7 @@ public class OperationListActivity extends ABVUIActivity {
Logger.e(TAG, e);
ErrorMessage.showErrorMessageToast(getApplicationContext(), ErrorCode.E107);
} finally {
closeProgressPopup();
//closeProgressPopup();
}
}
}
......@@ -1320,7 +1375,7 @@ public class OperationListActivity extends ABVUIActivity {
* 同期処理
* @param operationDto
*/
public void startSyncOperation(final OperationDto operationDto, final Runnable callback) {
public void startSyncOperation(final OperationDto operationDto) {
//ネットワークチェック
if (!ABVEnvironment.getInstance().networkAdapter.isNetworkConnected()) {
ABVToastUtil.showMakeText(OperationListActivity.this, R.string.request_network_connection, Toast.LENGTH_SHORT);
......@@ -1878,7 +1933,7 @@ public class OperationListActivity extends ABVUIActivity {
// typeの値をxmlに書き込み
getABVUIDataCache().setOperationGroupMasterMode((int) type);
// プログレスバー
showProgressPopup();
//showProgressPopup();
setOperationListView();
}
}
......
......@@ -22,6 +22,6 @@ public class HomeOperationListHelper extends OperationListHelper {
protected List<OperationDto> findOperationList() throws Exception {
int operationSortType = mAppActivity.getSortCondition();
OperationSortingType operationSortingType = OperationSortingType.parse(operationSortType);
return operationLogic.getRefreshOperation(mAppActivity.mSearchWord, mAppActivity.mStartDateStr, mAppActivity.mEndDateStr, operationSortingType);
return operationLogic.getRefreshOperation(mAppActivity.mSearchWord, mAppActivity.mStartDateStr, mAppActivity.mEndDateStr, operationSortingType, mAppActivity.mOperationGroupMasterId);
}
}
......@@ -167,7 +167,7 @@ public abstract class OperationListHelper {
@Override
public void onSyncOperation(final OperationDto operationDto) {
// 同期処理
mAppActivity.startSyncOperation(operationDto, null);
mAppActivity.startSyncOperation(operationDto);
}
});
......@@ -235,7 +235,7 @@ public abstract class OperationListHelper {
@Override
public void onSyncOperation(final OperationDto operationDto) {
// 同期処理
mAppActivity.startSyncOperation(operationDto, null);
mAppActivity.startSyncOperation(operationDto);
}
});
......
......@@ -123,10 +123,16 @@ public class HTMLWebViewActivity extends ParentWebViewActivity {
settings.setCacheMode(WebSettings.LOAD_NO_CACHE);
// webView.loadDataWithBaseURL("", url2, "text/html", "UTF-8", "");
settings.setAllowFileAccessFromFileURLs(true); //Android7利用で警告ダイヤログ表示問題対応
settings.setAllowFileAccess(true);
settings.setAllowContentAccess(true);
settings.setAllowUniversalAccessFromFileURLs(true);
settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
final RelativeLayout fl = (RelativeLayout) findViewById(R.id.frameTopbar);
fl.setVisibility(View.GONE);
//fl.setVisibility(View.GONE);
// ***** 戻るボタン
closeButton.setOnClickListener(new View.OnClickListener() {
@Override
......@@ -400,11 +406,13 @@ public class HTMLWebViewActivity extends ParentWebViewActivity {
printButtonActivityControl();
historyListBtn.setVisibility(View.GONE);
if (ContentJSON.KEY_LIST_TYPE.equals(mContentDto.contentType)) {
fl.setVisibility(View.GONE);
}
if (isLinkedContent) {
if (ContentJSON.KEY_MOVIE_TYPE.equals(mContentDto.contentType) || ContentJSON.KEY_MUSIC_TYPE.equals(mContentDto.contentType)
|| ContentJSON.KEY_PANO_IMAGE_TYPE.equals(mContentDto.contentType) || ContentJSON.KEY_PANO_MOVIE_TYPE.equals(mContentDto.contentType)
|| ContentJSON.KEY_OBJECTVR_TYPE.equals(mContentDto.contentType) || ContentJSON.KEY_OTHER_TYPE.equals(mContentDto.contentType)) {
closeButton.setBackgroundResource(R.drawable.btn_first_back);
btnLinkOriginalBack.setVisibility(View.VISIBLE);
btnWebBack.setVisibility(View.GONE);
......@@ -430,6 +438,7 @@ public class HTMLWebViewActivity extends ParentWebViewActivity {
subMenuBtn.setVisibility(View.GONE);
}
} else {
configureRemote();
}
if (meetingManager.isCollaboration()) {
......@@ -483,17 +492,6 @@ public class HTMLWebViewActivity extends ParentWebViewActivity {
}
@JavascriptInterface
public void goOperationHome() {
if (mXWalkOpenType == Constant.XWalkOpenType.PANO_EDIT) {
showConfirmSavePanoEdit();
} else {
// 作業終了する時、作業ID設定して作業一覧で使用するメソットを行う。
putUserPref(AppDefType.UserPrefKey.SYNC_TARGET_OPERATION_ID, mOperationId);
finishActivity(); // 開いてる画面を閉じる
}
}
@JavascriptInterface
public String getOperation() {
ArrayList<OperationDto> operationDtos = new ArrayList<OperationDto>();
OperationDto opertaionDto = mOperationLogic.getOperation(mOperationId);
......
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