From 603cb36a5123e46656b06a5deb8d7ac7ff81307f Mon Sep 17 00:00:00 2001 From: 554325746@qq.com <554325746@qq.com> Date: 星期三, 25 十二月 2019 08:48:51 +0800 Subject: [PATCH] a --- app/src/main/java/com/basic/security/utils/socket/server/TableRowReceiveSocketServer.java | 23 app/src/main/java/com/basic/security/fragment/HomeFragment.java | 19 app/src/main/java/com/basic/security/fragment/VideoViewFragment.java | 4 app/src/main/java/com/basic/security/utils/FrameUtil.java | 6 app/src/main/java/com/basic/security/utils/BasicIdUtil.java | 19 app/src/main/java/com/basic/security/utils/socket/RelayServerUtil.java | 8 app/src/main/java/com/basic/security/utils/TimeCostUtil.java | 2 app/src/main/java/com/basic/security/fragment/AdvertisingImageViewFragment.java | 6 app/src/main/java/com/basic/security/utils/DetectedResult.java | 8 app/src/main/res/layout/recognized_face_info_view_s.xml | 61 app/src/main/java/com/basic/security/fragment/ClusterFragment.java | 15 app/src/main/java/com/basic/security/manager/UserManager.java | 179 ++ app/src/main/java/com/basic/security/manager/PersonAManager.java | 81 app/src/main/res/layout/fragment_cluster.xml | 53 app/src/main/java/com/basic/security/manager/HintDoorAccessManager.java | 15 app/src/main/java/com/basic/security/manager/BusinessPersonManager.java | 6 app/src/main/res/layout/activity_main.xml | 9 app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseIdCard.java | 13 app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseSignUp.java | 14 app/src/main/java/com/basic/security/manager/HintSignUpManager.java | 11 app/src/main/java/com/basic/security/utils/Utils.java | 4 app/src/main/java/com/basic/security/manager/VisitManager.java | 2 app/src/main/java/com/basic/security/fragment/ToolbarFragment.java | 29 app/src/main/java/com/basic/security/utils/RUtils.java | 7 app/src/main/java/com/basic/security/utils/socket/outdoor/OutdoorGuestSocketServer.java | 7 iolibrary/src/androidTest/java/com/alfeye/a1io/ExampleInstrumentedTest.java | 26 app/src/main/java/com/basic/security/fragment/VisitListFragment.java | 13 app/src/main/java/com/basic/security/manager/FaceTitleAndTipsManagerS.java | 2 app/src/main/java/com/basic/security/utils/ANRWatchDog.java | 4 app/src/main/java/com/basic/security/base/BaseFragment.java | 10 app/src/main/java/com/basic/security/manager/TimeManager.java | 2 app/src/main/java/com/basic/security/widget/RecognizeFaceInfoView.java | 44 app/src/main/java/com/basic/security/manager/DatabaseManager.java | 6 app/src/main/java/com/basic/security/manager/FeatureManager.java | 80 app/src/main/java/com/basic/security/manager/helper/rm/fragment/CurrentAccountSetting.java | 2 app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseAdjustTips.java | 4 app/src/main/java/com/basic/security/fragment/GuestModeFragment.java | 31 app/src/main/java/com/basic/security/manager/BaseManager.java | 128 + app/src/main/java/com/basic/security/activity/MainActivity.java | 138 + app/src/main/res/layout/fragment_user.xml | 0 app/src/main/java/com/basic/security/fragment/DeviceListDialogSmallFragment.java | 2 app/src/main/java/com/basic/security/manager/HintRecognizeManager.java | 11 app/src/main/java/com/basic/security/utils/SocketUtil.java | 26 iolibrary/src/main/java/com/alfeye/a1io/A1IoDevBlackUtil.java | 172 + app/src/main/java/com/basic/security/manager/BusinessDetailManager.java | 2 app/src/main/java/com/basic/security/fragment/OrgFragment.java | 2 app/src/main/java/com/basic/security/fragment/UserFragment.java | 30 app/src/main/java/com/basic/security/manager/ByteArrayManager.java | 36 app/src/main/java/com/basic/security/utils/CompareFeatureResult.java | 30 app/src/main/java/com/basic/security/model/SerfToRow.java | 17 app/src/main/java/com/basic/security/utils/LayoutUtil.java | 10 app/src/main/java/com/basic/security/widget/PreviewBase.java | 26 app/src/main/java/com/basic/security/utils/MultipartUtilityV2.java | 87 app/src/main/java/com/basic/security/manager/PersonManager.java | 117 app/src/main/res/layout/fragment_face_detail.xml | 2 app/src/main/java/com/basic/security/fragment/FaceDetailFragment.java | 306 +- app/src/main/java/com/basic/security/fragment/SystemSettingTabsFragment.java | 8 app/src/main/java/com/basic/security/utils/MemoryUtil.java | 8 iolibrary/src/main/java/com/alfeye/a1io/A1IoDevBaseUtil.java | 253 ++ app/src/main/java/com/basic/security/utils/MyHashMap.java | 10 app/src/main/java/com/basic/security/manager/DirManager.java | 13 app/src/main/java/com/basic/security/model/Model.java | 8 app/src/main/java/com/basic/security/widget/RecognizeFaceInfoViewS.java | 162 + app/src/main/java/com/basic/security/utils/FileUtils.java | 2 app/src/main/java/com/basic/security/utils/ToastUtil.java | 1 app/src/main/java/com/basic/security/manager/SystemInitManager.java | 112 app/src/main/java/com/basic/security/model/PersonCameraImagePath.java | 13 app/src/main/java/com/basic/security/fragment/BaseSettingFragment.java | 52 app/src/main/java/com/basic/security/utils/UpdateApk.java | 4 app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBasePersonList.java | 22 app/src/main/java/com/basic/security/widget/FileChooserDialog.java | 15 app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseShowFragment.java | 6 app/src/main/java/com/basic/security/utils/LogUtil.java | 11 app/src/main/java/com/basic/security/manager/SerfToRowManager.java | 26 app/src/main/java/com/basic/security/manager/FacePositionManager.java | 7 app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseDoorAccess.java | 8 iolibrary/src/main/java/com/alfeye/a1io/A1IoDevWhiteUtil.java | 171 + app/src/main/java/com/basic/security/utils/ProcessImageAndDrawResults.java | 29 iolibrary/src/main/java/com/alfeye/a1io/DeviceControl.java | 223 ++ app/src/main/java/com/basic/security/manager/PersonIdentityManager.java | 5 app/src/main/java/com/basic/security/utils/RenameFiles.java | 4 iolibrary/proguard-rules.pro | 21 app/src/main/java/com/basic/security/manager/IdCardManager.java | 2 app/src/main/java/com/basic/security/widget/hlistview/OverScroller.java | 2 app/src/main/java/com/basic/security/fragment/MenuFragment.java | 6 iolibrary/build.gradle | 32 app/src/main/java/com/basic/security/manager/ClusterSettingManager.java | 31 app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseSavePerson.java | 8 app/src/main/java/com/basic/security/utils/socket/outdoor/OutdoorSendIpSocketClientFromBaseSetting.java | 11 app/src/main/java/com/basic/security/widget/MyTextView.java | 2 app/src/main/java/com/basic/security/fragment/DeviceListDialogFragment.java | 2 app/src/main/java/com/basic/security/fragment/PersonManageFragment.java | 241 +- app/src/main/res/layout/cluster_setting_list_head.xml | 2 app/src/main/java/com/basic/security/fragment/BackgroundAndBorderFragment.java | 12 app/src/main/java/com/basic/security/model/ClusterSetting.java | 1 app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseSignUpGuidTitle.java | 2 app/src/main/java/com/basic/security/fragment/AdminPasswordLoginFragment.java | 52 app/src/main/Tps650.zip | 0 iolibrary/src/main/java/com/alfeye/a1camera/FaceBrightnessAdjustUtil.java | 143 + app/src/main/java/com/basic/security/fragment/FaceListFragment.java | 29 app/src/main/java/com/basic/security/manager/OrgManager.java | 2 app/src/main/java/com/basic/security/utils/AssetHelper.java | 4 app/src/main/res/layout/fragment_guest_mode.xml | 4 app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseDetectResult.java | 4 app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseIdentityTitle.java | 6 app/src/main/res/layout/cluster_setting_list_item.xml | 2 app/src/main/java/com/basic/security/widget/hlistview/ExpandableHListView.java | 20 iolibrary/src/test/java/com/alfeye/a1io/ExampleUnitTest.java | 17 app/src/main/java/com/basic/security/service/UpgradeAppService.java | 2 app/build.gradle | 3 app/src/main/java/com/basic/security/manager/RemoteOutdoorManager.java | 8 app/src/main/java/com/basic/security/manager/helper/rm/fragment/CurrentAdminFaceLogin.java | 4 app/src/main/java/com/basic/security/manager/BaseSettingManager.java | 16 app/src/main/java/com/basic/security/manager/FaceTitleAndTipsManager.java | 2 app/src/main/java/com/basic/security/widget/CircleTextView.java | 2 app/src/main/java/com/basic/security/widget/hlistview/AbsHListView.java | 22 app/src/main/res/layout/fragment_hint_door_access.xml | 9 app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseStayInWaitFace.java | 2 app/src/main/java/com/basic/security/manager/ClusterSerfSyncManager.java | 78 app/src/main/java/com/basic/security/widget/hlistview/HListView.java | 2 app/src/main/java/com/basic/security/utils/CrashHandler.java | 8 app/src/main/res/layout/fragment_camera.xml | 1 app/src/main/java/com/basic/security/manager/DeviceManager.java | 8 app/src/main/java/com/basic/security/manager/BusinessListManager.java | 2 app/src/main/java/com/basic/security/utils/ErlangSocketClient.java | 2 app/src/main/java/com/basic/security/utils/FacePosition.java | 25 app/src/main/java/com/basic/security/utils/ExcelUtil.java | 2 app/src/main/java/com/basic/security/utils/RenderScriptHelper.java | 2 app/src/main/java/com/basic/security/manager/DetectResultManager.java | 4 app/src/main/java/com/basic/security/fragment/AdminLogoutFragment.java | 6 app/src/main/java/com/basic/security/utils/ThreadUtil.java | 6 app/src/main/java/com/basic/security/model/RowToSerf.java | 13 app/src/main/java/com/basic/security/model/ModelAdapter.java | 32 app/src/main/java/com/basic/security/fragment/CameraFragment.java | 119 app/src/main/java/com/basic/security/fragment/DoorAccessResultFragment.java | 4 app/src/main/java/com/basic/security/utils/ResolutionAdaptation - 副本.java1 | 12 app/src/main/java/com/basic/security/fragment/SuLoggedNicWaitFaceFragment.java | 3 app/src/main/java/com/basic/security/manager/PersonCameraImagePathManager.java | 179 ++ app/src/main/java/com/basic/security/utils/AppUtil.java | 7 .idea/modules.xml | 3 app/src/main/java/com/basic/security/utils/WeedUpload.java | 17 app/src/main/java/com/basic/security/utils/SqlSplit.java | 186 + app/src/main/java/com/basic/security/base/BaseApplication.java | 2 iolibrary/src/main/res/values/strings.xml | 3 app/src/main/java/com/basic/security/manager/GuestManager.java | 119 - app/src/main/java/com/basic/security/widget/ImageView1.java | 4 iolibrary/.gitignore | 1 app/src/main/java/com/basic/security/manager/RecognizeManager.java | 2 settings.gradle | 2 app/src/main/java/com/basic/security/widget/Preview.java | 28 iolibrary/src/main/java/com/alfeye/a1io/A1IoDevManager.java | 55 app/src/main/AndroidManifest.xml | 9 app/src/main/java/com/basic/security/utils/ANRError.java | 6 app/src/main/java/com/basic/security/utils/FaceId.java | 6 app/src/main/java/com/basic/security/utils/PipeTest.java | 2 app/src/main/java/com/basic/security/utils/FastDFSUtil.java | 38 iolibrary/src/main/AndroidManifest.xml | 2 /dev/null | 147 - app/src/main/res/layout/recognized_face_info_view.xml | 8 app/src/main/java/com/basic/security/utils/Base64Util.java | 14 app/src/main/java/com/basic/security/utils/RUtilsMain.java | 8 DemoSDK0606.rar | 0 app/src/main/java/com/basic/security/widget/CircleView.java | 2 app/src/main/java/com/basic/security/utils/ResolutionAdaptation.java | 8 app/src/main/java/com/basic/security/utils/WhiteDevice.java | 127 + app/src/main/java/com/basic/security/opengles/VideoRenderer.java | 2 app/src/main/java/com/basic/security/manager/NodeNameManager.java | 10 app/src/main/java/com/basic/security/manager/RowToSerfManager.java | 24 app/src/main/java/com/basic/security/opengles/VideoRendererGui.java | 14 app/src/main/java/com/basic/security/utils/socket/RelayServerUtil2.java | 16 app/src/main/java/com/basic/security/service/KeepLifeService.java | 8 app/src/main/java/com/basic/security/utils/socket/indoor/IndoorGuestSocketClient.java | 17 172 files changed, 3,780 insertions(+), 1,493 deletions(-) diff --git a/.idea/modules.xml b/.idea/modules.xml index b659128..2a331e1 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -3,11 +3,12 @@ <component name="ProjectModuleManager"> <modules> <module fileurl="file://$PROJECT_DIR$/IDCardReader/IDCardReader.iml" filepath="$PROJECT_DIR$/IDCardReader/IDCardReader.iml" /> - <module fileurl="file://$PROJECT_DIR$/Security_yuyin_indoor_tps650_basic_git.iml" filepath="$PROJECT_DIR$/Security_yuyin_indoor_tps650_basic_git.iml" /> + <module fileurl="file://$PROJECT_DIR$/Security_yuyin_indoor_tps650.iml" filepath="$PROJECT_DIR$/Security_yuyin_indoor_tps650.iml" /> <module fileurl="file://$PROJECT_DIR$/android-file-chooser/android-file-chooser.iml" filepath="$PROJECT_DIR$/android-file-chooser/android-file-chooser.iml" /> <module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" /> <module fileurl="file://$PROJECT_DIR$/basic_common/basic_common.iml" filepath="$PROJECT_DIR$/basic_common/basic_common.iml" /> <module fileurl="file://$PROJECT_DIR$/idcard/idcard.iml" filepath="$PROJECT_DIR$/idcard/idcard.iml" /> + <module fileurl="file://$PROJECT_DIR$/iolibrary/iolibrary.iml" filepath="$PROJECT_DIR$/iolibrary/iolibrary.iml" /> <module fileurl="file://$PROJECT_DIR$/pickerview/pickerview.iml" filepath="$PROJECT_DIR$/pickerview/pickerview.iml" /> <module fileurl="file://$PROJECT_DIR$/wheelview/wheelview.iml" filepath="$PROJECT_DIR$/wheelview/wheelview.iml" /> </modules> diff --git a/DemoSDK0606.rar b/DemoSDK0606.rar new file mode 100644 index 0000000..4b2fbb2 --- /dev/null +++ b/DemoSDK0606.rar Binary files differ diff --git a/app/build.gradle b/app/build.gradle index 0e066a8..b48542d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -123,6 +123,7 @@ // implementation project(path: ':android-file-chooser') implementation project(':pickerview') implementation project(':wheelview') - compile project(path: ':android-file-chooser') + implementation project(path: ':android-file-chooser') + implementation project(path: ':iolibrary') // compile 'com.github.mjdev:libaums:0.7.2' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 7eb16a0..12ad3ed 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -92,15 +92,6 @@ </intent-filter> </receiver> - <receiver - android:name="com.basic.security.receiver.WebRtcBroadCastReceiver" - android:label="WebRtcBroadCastReceiver"> - <intent-filter> - <action android:name="video.call.status" /> - </intent-filter> - </receiver> - - <service android:name="com.basic.security.service.KeepLifeService" android:process=":keepLife" /> diff --git a/app/src/main/Tps650.zip b/app/src/main/Tps650.zip new file mode 100644 index 0000000..cc70d8f --- /dev/null +++ b/app/src/main/Tps650.zip Binary files differ diff --git a/app/src/main/java/com/basic/security/activity/MainActivity.java b/app/src/main/java/com/basic/security/activity/MainActivity.java index 72af4bb..5610b7a 100644 --- a/app/src/main/java/com/basic/security/activity/MainActivity.java +++ b/app/src/main/java/com/basic/security/activity/MainActivity.java @@ -23,7 +23,7 @@ import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.text.TextUtils; -import android.util.DisplayMetrics; +import android.util.TypedValue; import android.view.Display; import android.view.View; import android.view.ViewGroup; @@ -37,7 +37,6 @@ import com.alfeye.readcardlib.readcard.ReadCardUtil; import com.basic.security.base.BaseApplication; import com.basic.security.base.BaseFragment; -import com.basic.security.fragment.AccountSettingFragment; import com.basic.security.fragment.AdminFaceLoginFragment; import com.basic.security.fragment.AdminLogoutFragment; import com.basic.security.fragment.AdminPasswordLoginFragment; @@ -87,10 +86,10 @@ import com.basic.security.fragment.TimeRuleListDialogFragment; import com.basic.security.fragment.TimeRuleListDialogSmallFragment; import com.basic.security.fragment.ToolbarFragment; +import com.basic.security.fragment.UserFragment; import com.basic.security.fragment.VerifyIDCardFragment; import com.basic.security.fragment.VideoViewFragment; import com.basic.security.fragment.VisitListFragment; -import com.basic.security.manager.AccountManager; import com.basic.security.manager.BaseSettingManager; import com.basic.security.manager.DatabaseManager; import com.basic.security.manager.DeviceManager; @@ -99,6 +98,7 @@ import com.basic.security.manager.IdCardManager; import com.basic.security.manager.RecognizeManager; import com.basic.security.manager.SystemInitManager; +import com.basic.security.manager.UserManager; import com.basic.security.secondary.SecondaryDisplay; import com.basic.security.service.KeepLifeService; import com.basic.security.utils.ANRWatchDog; @@ -107,9 +107,10 @@ import com.basic.security.utils.Constants; import com.basic.security.utils.KeyboardUtil; import com.basic.security.utils.LogFileUtils; +import com.basic.security.utils.MultipartUtilityV2; import com.basic.security.utils.PermissionHelper; -import com.basic.security.utils.SocketUtil; import com.basic.security.utils.ToastUtil; +import com.basic.security.utils.WhiteDevice; import com.basic.security.utils.socket.RelayServerUtil2; import com.basic.security.utils.socket.indoor.IndoorReceiveIpSocketServer; import com.basic.security.widget.Preview; @@ -156,7 +157,7 @@ @FragmentById public AdminFaceLoginFragment fragment_admin_face_login; @FragmentById - public AccountSettingFragment fragment_account_setting; + public UserFragment fragment_user; @FragmentById public ClusterFragment fragment_cluster; @FragmentById @@ -329,7 +330,7 @@ public void onReceive(Context context, Intent intent) { String action = intent.getAction(); lastTimeDetach = System.currentTimeMillis(); - System.out.println("MainActivity.onReceive mUsbDetachReceiver "); + System1.out.println("MainActivity.onReceive mUsbDetachReceiver "); if (UsbManager.ACTION_USB_DEVICE_DETACHED.equals(action)) { UsbDevice device = (UsbDevice) intent.getParcelableExtra(UsbManager.EXTRA_DEVICE); if (device != null) { @@ -338,6 +339,7 @@ } }; MediaPlayer mediaPlayer; + public MainActivity() { BaseApplication.getApplication().activity = (MainActivity) this; @@ -357,8 +359,10 @@ || currentFragment == fragment_door_access_result || currentFragment == fragment_admin_face_login || currentFragment == fragment_home - || currentFragment == fragment_account_setting); + || currentFragment == fragment_user); } + + @SuppressWarnings("all") public void addBackgroundAndBorderComponent() { if (!Constants.landscape) { @@ -464,7 +468,7 @@ background_and_border_fragment.topBackground1, background_and_border_fragment.topBlurView1 ))); - backgroundAndBorderViews.put(fragment_account_setting, + backgroundAndBorderViews.put(fragment_user, new HashSet(Arrays.asList( background_and_border_fragment.topBackground1, background_and_border_fragment.topBlurView1 @@ -586,7 +590,7 @@ background_and_border_fragment.topBackground1, background_and_border_fragment.topBlurView1 ))); - backgroundAndBorderViews.put(fragment_account_setting, + backgroundAndBorderViews.put(fragment_user, new HashSet(Arrays.asList( background_and_border_fragment.topBackground1, background_and_border_fragment.topBlurView1 @@ -761,7 +765,7 @@ currentFragment == fragment_su_logged_ic_wait_face || currentFragment == fragment_su_auto_wait_face || currentFragment == fragment_su_logged_nic_wait_face || - currentFragment == fragment_account_setting || + currentFragment == fragment_user || currentFragment == fragment_door_access_success || currentFragment == fragment_door_access_confirm || currentFragment == fragment_su_auto_ic_wait_idcard || @@ -789,13 +793,13 @@ currentFragment == fragment_su_auto_ic_wait_idcard || currentFragment == fragment_su_auto_wait_face || currentFragment == fragment_su_logged_nic_wait_face || - currentFragment == fragment_account_setting || + currentFragment == fragment_user || currentFragment == fragment_su_logged_ic_compare_success || currentFragment == fragment_su_logged_ic_wait_idcard; } public void setUpClickHook() { - List<BaseFragment> allFragments = Arrays.asList(fragment_account_setting, + List<BaseFragment> allFragments = Arrays.asList(fragment_user, fragment_admin_face_login, fragment_admin_password_login, fragment_cluster, @@ -831,7 +835,7 @@ setupUI(fragment.getView()); } adminFragments.addAll(Arrays.asList( - fragment_account_setting, + fragment_user, fragment_base_setting, fragment_cluster, fragment_org, @@ -868,7 +872,7 @@ } public void setLastAdminClickTime() { - if (adminFragments.contains(currentFragment) && AccountManager.adminLoggedIn()) { + if (adminFragments.contains(currentFragment) && UserManager.adminLoggedIn()) { lastAdminClickTime = System.currentTimeMillis(); } } @@ -934,6 +938,17 @@ } if (view == fragment_face_list.face_filter_identity_parent) { return true; + } + if (!Constants.indoorOutdoorInOne) { +// if (view != fragment_guest_mode.ll_temp_person_check_identity +// && view != fragment_guest_mode.gv_temp_person +// && view != fragment_guest_mode.temporary_person_identity_ok +// ) { +// fragment_guest_mode.ll_temp_person_check_identity.setVisibility(View.GONE); +// } +// if (view == fragment_guest_mode.ll_temp_person_check_identity) { +// return true; +// } } if (view != fragment_guest_mode.rl_show_organization && view != fragment_guest_mode.respondent_org @@ -1026,8 +1041,8 @@ public void showFragment(BaseFragment showFragment) { if (showFragment == fragment_su_logged_ic_wait_face || showFragment == fragment_su_logged_nic_wait_face) { BaseFragment.detectedResult = null; - BaseApplication.getApplication().activity.fragment_face_detail.updateDetailUI(null); - BaseApplication.getApplication().activity.fragment_face_detail.updateIdentityListUI(null); +// BaseApplication.getApplication().activity.fragment_face_detail.updateDetailUI(null); +// BaseApplication.getApplication().activity.fragment_face_detail.updateIdentityListUI(null); } if (showFragment == fragment_su_auto_wait_face) { BaseFragment.detectedResult = null; @@ -1039,7 +1054,7 @@ previewFragment = currentFragment; LogFileUtils.logStacktraceToFile(this); if (currentFragment == fragment_home) { - System.out.println(""); + System1.out.println(""); } FaceTitleAndTipsManager.clearFaceTitle(); FaceTitleAndTipsManagerS.clearFaceTitle(); @@ -1137,7 +1152,7 @@ public void addFragments() { addFragment( - fragment_account_setting, + fragment_user, fragment_base_setting, fragment_device, fragment_cluster, @@ -1193,9 +1208,9 @@ BaseApplication.getApplication().executorService.execute(() -> { while (true) { try { - if (AccountManager.adminLoggedIn()) { + if (UserManager.adminLoggedIn()) { if ((System.currentTimeMillis() - lastAdminClickTime) * 1.0 / 1000 / 60 > BaseSettingManager.getLoginExpireInMinutes()) { - AccountManager.setAdminAccount(null); + UserManager.setAdminUser(null); if (adminFragments.contains(currentFragment)) { showFragment(fragment_home); } @@ -1231,7 +1246,7 @@ fragmentsHasSystemSettingTabs.add(fragment_device); fragmentsHasSystemSettingTabs.add(fragment_cluster); fragmentsHasSystemSettingTabs.add(fragment_org); - fragmentsHasSystemSettingTabs.add(fragment_account_setting); + fragmentsHasSystemSettingTabs.add(fragment_user); fragmentsHasSystemSettingTabs.add(fragment_hint_tab); fragmentsHasSystemSettingTabs.add(fragment_time_rule); fragmentsHasSystemSettingTabs.add(fragment_time_rule_add); @@ -1326,12 +1341,18 @@ )); Set<View> logout_menu = new HashSet<>(Arrays.asList( fragment_toolbar.logout, - fragment_toolbar.admin_msg, - fragment_toolbar.person_manage, - fragment_toolbar.visit_records, - fragment_toolbar.system_setting, - fragment_toolbar.visitor_model + fragment_toolbar.admin_msg )); + if (Constants.indoorOutdoorInOne) { + logout_menu.addAll(Arrays.asList( + fragment_toolbar.person_manage, + fragment_toolbar.visit_records, + fragment_toolbar.system_setting, + fragment_toolbar.visitor_model + )); + } else { + logout_menu.add(fragment_toolbar.menu); + } fragmentToolbarButtons.put(fragment_rule_detail, logout_menu); fragmentToolbarButtons.put(fragment_rule_list, logout_menu); fragmentToolbarButtons.put(fragment_person_manage, logout_menu); @@ -1349,7 +1370,7 @@ fragmentToolbarButtons.put(fragment_su_logged_ic_wait_face, logout_menu); fragmentToolbarButtons.put(fragment_su_logged_ic_wait_idcard, logout_menu); fragmentToolbarButtons.put(fragment_su_logged_nic_wait_face, logout_menu); - fragmentToolbarButtons.put(fragment_account_setting, logout_menu); + fragmentToolbarButtons.put(fragment_user, logout_menu); fragmentToolbarButtons.put(fragment_device, logout_menu); fragmentToolbarButtons.put(fragment_base_setting, logout_menu); fragmentToolbarButtons.put(fragment_cluster, logout_menu); @@ -1374,6 +1395,22 @@ } public void addVideoViewToFragment() { + if (!Constants.indoorOutdoorInOne) { + fragmentsHasVideoView.add(fragment_home); + fragmentsHasVideoView.add(fragment_su_auto_wait_face); + fragmentsHasVideoView.add(fragment_su_auto_wait_admin); + fragmentsHasVideoView.add(fragment_su_auto_ic_wait_idcard); + fragmentsHasVideoView.add(fragment_su_auto_ic_compare_success); + fragmentsHasVideoView.add(fragment_admin_face_login); + fragmentsHasVideoView.add(fragment_admin_password_login); + fragmentsHasVideoView.add(fragment_door_access_fail); + fragmentsHasVideoView.add(fragment_door_access_result); + fragmentsHasVideoView.add(fragment_door_access_success); + fragmentsHasVideoView.add(fragment_door_access_confirm); + fragmentsHasVideoView.add(fragment_sign_up_success); + fragmentsHasVideoView.add(fragment_su_logged_wait_face); + fragmentsHasVideoView.add(fragment_su_auto_nic_wait_detail); + } } public void toggleVideoView(BaseFragment showFragment) { @@ -1439,21 +1476,27 @@ super.onDestroy(); unregisterReceiver(mUsbDetachReceiver); unregisterReceiver(mUsbAttachReceiver); + if (Constants.isWhiteDevice) { + WhiteDevice.close(); + } } - private static String getScreenResolution(Context context) { - WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); - Display display = wm.getDefaultDisplay(); - DisplayMetrics metrics = new DisplayMetrics(); - display.getMetrics(metrics); - int width = metrics.widthPixels; - int height = metrics.heightPixels; - return "{" + width + "," + height + "}"; - } @AfterViews protected void afterViews() { + BaseApplication.getApplication().executorService.execute(new Runnable() { + @Override + public void run() { + try { + MultipartUtilityV2.uploadCrashDirectory(); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + int pixels = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, + 1, this.getResources().getDisplayMetrics()); +// System.out.println("MainActivity.afterViews 1dp=" + pixels); allUiLoaded = true; - System.out.println("MainActivity.afterViews getScreenResolution=" + getScreenResolution(this)); IntentFilter filter = new IntentFilter(UsbManager.ACTION_USB_DEVICE_ATTACHED); registerReceiver(mUsbAttachReceiver, filter); filter = new IntentFilter(UsbManager.ACTION_USB_DEVICE_DETACHED); @@ -1480,6 +1523,9 @@ addSystemSettingHintTabs(); addPersonManagerComponents(); logoutChecker(); + hideOneFragment(fragment_advertising_image_view); + hideOneFragment(fragment_admin_logout); + hideOneFragment(fragment_password_open_door); hideOneFragment(fragment_menu); hideOneFragment(fragment_face_list); hideOneFragment(fragment_face_detail); @@ -1489,7 +1535,6 @@ hideOneFragment(fragment_su_logged_ic_wait_idcard); hideOneFragment(fragment_su_logged_ic_compare_success); hideOneFragment(fragment_background_and_border); - hideOneFragment(fragment_advertising_image_view); if (Constants.isOutdoor) { showFragment(fragment_home); } @@ -1511,6 +1556,10 @@ new ANRWatchDog().start(); } RecognizeManager.sendKeepLife(); + if (Constants.isWhiteDevice) { + WhiteDevice.initWhiteDevice(); + } + getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); } protected void onResume() { @@ -1629,18 +1678,6 @@ }); } -// public void answerCall() { -// Intent launchIntent = getPackageManager().getLaunchIntentForPackage("org.appspot.apprtc"); -// if (launchIntent != null) { -// launchIntent.putExtra("ip", SocketUtil.getRpcCallIp()); -// launchIntent.putExtra("cameraIndex", "0"); -// launchIntent.putExtra("orientation", "landscape"); -// launchIntent.putExtra("localCameraRotation", "0"); -// launchIntent.putExtra("remoteCameraRotation", "270"); -// startActivity(launchIntent); -// } -// } - public boolean needCopyCameraData() { return true; } @@ -1649,6 +1686,7 @@ public int getTimeoutSeconds(); } + public class TimeoutToBlank { public int fixedTimeoutSeconds; public BaseFragment from_fragment; diff --git a/app/src/main/java/com/basic/security/base/BaseApplication.java b/app/src/main/java/com/basic/security/base/BaseApplication.java index 3e77c27..53d6f49 100644 --- a/app/src/main/java/com/basic/security/base/BaseApplication.java +++ b/app/src/main/java/com/basic/security/base/BaseApplication.java @@ -122,7 +122,7 @@ // String ip = Formatter.formatIpAddress(wm.getConnectionInfo().getIpAddress()); String ip = NetUtil.getIPAddress(true); Constants.deviceId = DeviceManager.getDeviceId(); -// System.out.println("erlangLocalNode="+Constants.erlangLocalNode); +// System1.out.println("erlangLocalNode="+Constants.erlangLocalNode); // if (ContextCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) { // initLocalSetting(); // } diff --git a/app/src/main/java/com/basic/security/base/BaseFragment.java b/app/src/main/java/com/basic/security/base/BaseFragment.java index bae514e..8fd1d67 100644 --- a/app/src/main/java/com/basic/security/base/BaseFragment.java +++ b/app/src/main/java/com/basic/security/base/BaseFragment.java @@ -7,11 +7,11 @@ import android.view.View; import com.basic.security.activity.MainActivity; +import com.basic.security.manager.FeatureManager; import com.basic.security.manager.PersonManager; import com.basic.security.model.ModelAdapter; import com.basic.security.model.Person; import com.basic.security.utils.DetectedResult; -import com.basic.security.utils.FaceId; import com.basic.security.utils.FacePosition; import com.basic.security.utils.IdCard; @@ -139,12 +139,12 @@ saveBlob(person, "id_card_image_path", idCard.jpgData); if (!"宸叉敞鍐�".equals(sign_up_status)) { boolean messageComplete = mainActivity().fragment_face_detail.detailMessageIsComplete(); - System.out.println("BaseFragment.saveIdCard messageComplete=" + messageComplete); + System1.out.println("BaseFragment.saveIdCard messageComplete=" + messageComplete); if (messageComplete) { person.setString(Person.sign_up_status, "宸叉敞鍐�"); byte[] featureData = person.getBlob(Person.camera_image_feature); if (featureData != null && featureData.length > 10) { - FaceId.instance.addFeatureToDb(person.getString(Person.id), featureData); + FeatureManager.addFeature(person.getString(Person.id), featureData); } } } @@ -153,7 +153,7 @@ } public void show() { -// System.out.println("BaseFragment.show 0 "); +// System1.out.println("BaseFragment.show 0 "); isShow = true; View view = getView(); } @@ -164,7 +164,7 @@ public void hide() { isShow = false; -// System.out.println("BaseFragment.hide " + this +" "+ TimeCostUtil.getCost()); +// System1.out.println("BaseFragment.hide " + this +" "+ TimeCostUtil.getCost()); } public MainActivity mainActivity() { diff --git a/app/src/main/java/com/basic/security/fragment/AdminLogoutFragment.java b/app/src/main/java/com/basic/security/fragment/AdminLogoutFragment.java index f6e5cde..6a7bfe3 100644 --- a/app/src/main/java/com/basic/security/fragment/AdminLogoutFragment.java +++ b/app/src/main/java/com/basic/security/fragment/AdminLogoutFragment.java @@ -44,12 +44,12 @@ @UiThread public void pictureNextUiThread(File imageFile) { try { -// System.out.println("AdvertisingImageViewFragment.pictureNextUiThread " + imageFile.getAbsolutePath()); +// System1.out.println("AdvertisingImageViewFragment.pictureNextUiThread " + imageFile.getAbsolutePath()); if (imageFile.exists()) { Glide.with(this).load(imageFile).apply(new RequestOptions()).into(advertise); } } catch (Exception e) { - System.out.println("AdvertisingImageViewFragment.pictureNextUiThread " + e.getMessage()); + System1.out.println("AdvertisingImageViewFragment.pictureNextUiThread " + e.getMessage()); // e.printStackTrace(); } } @@ -65,7 +65,7 @@ BaseApplication.getApplication().executorService.execute(() -> { while (true) { try { -// System.out.println("AdvertisingImageViewFragment.afterViews"); +// System1.out.println("AdvertisingImageViewFragment.afterViews"); List<String> advertisingImageList = AdvertisingImageViewManager.getAdvertisingImageList(); if (advertisingImageList.size() > 0) { currentPictureIndex = currentPictureIndex % advertisingImageList.size(); diff --git a/app/src/main/java/com/basic/security/fragment/AdminPasswordLoginFragment.java b/app/src/main/java/com/basic/security/fragment/AdminPasswordLoginFragment.java index f939cf3..ad73d35 100644 --- a/app/src/main/java/com/basic/security/fragment/AdminPasswordLoginFragment.java +++ b/app/src/main/java/com/basic/security/fragment/AdminPasswordLoginFragment.java @@ -12,8 +12,8 @@ import com.basic.security.base.BaseApplication; import com.basic.security.base.BaseFragment; -import com.basic.security.manager.AccountManager; import com.basic.security.manager.BaseSettingManager; +import com.basic.security.manager.UserManager; import com.basic.security.model.ModelAdapter; import com.basic.security.utils.Constants; import com.basic.security.utils.KeyboardUtil; @@ -36,7 +36,6 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(ResolutionAdaptation.fragment_admin_password_login(), container, false); } - @AfterViews public void afterViews() { @@ -69,33 +68,28 @@ @Click public void login() { KeyboardUtil.hideSoftKeyboard(); - if (1==1) { - if (TextUtils.isEmpty(account.getText().toString().trim())) { - ToastUtil.show("璇疯緭鍏ョ敤鎴峰悕"); - return; - } - if (TextUtils.isEmpty(password.getText().toString().trim())) { - ToastUtil.show("璇疯緭鍏ュ瘑鐮�"); - return; - } - AccountManager.loginPerson = null; - AccountManager.setIsBasic(false); - ModelAdapter adminAccount = null; - if ("basic".equals(account.getText().toString()) && "basic123".equals(password.getText().toString())) { - AccountManager.setIsBasic(true); - adminAccount = AccountManager.getAccount(); - } else { - adminAccount = AccountManager.getAccount(account.getText().toString().trim(), password.getText().toString().trim()); - } - if (adminAccount == null) { - ToastUtil.show("鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒锛岃閲嶆柊杈撳叆"); - password.setText(""); - } else { - waitSoftHide(adminAccount); - } + if (TextUtils.isEmpty(account.getText().toString().trim())) { + ToastUtil.show("璇疯緭鍏ョ敤鎴峰悕"); + return; + } + if (TextUtils.isEmpty(password.getText().toString().trim())) { + ToastUtil.show("璇疯緭鍏ュ瘑鐮�"); + return; + } + UserManager.loginPerson = null; + ModelAdapter user = null; + if ("basic".equals(account.getText().toString()) && "basic123".equals(password.getText().toString())) { + UserManager.setIsBasic(true); + user = UserManager.getUserByName(account.getText().toString()); } else { - ModelAdapter adminAccount = AccountManager.getAccount("admin", "admin123"); - waitSoftHide(adminAccount); + UserManager.setIsBasic(false); + user = UserManager.getUser(account.getText().toString().trim(), password.getText().toString().trim()); + } + if (user == null) { + ToastUtil.show("鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒锛岃閲嶆柊杈撳叆"); + password.setText(""); + } else { + waitSoftHide(user); } } @@ -113,7 +107,7 @@ if (adminAccount == null) { mainActivity().showFragment(mainActivity().fragment_admin_face_login); } else { - AccountManager.setAdminAccount(adminAccount); + UserManager.setAdminUser(adminAccount); if (Constants.indoorOutdoorInOne) { if (BaseSettingManager.isGuestMode()) { mainActivity().fragment_toolbar.visitor_model(); diff --git a/app/src/main/java/com/basic/security/fragment/AdvertisingImageViewFragment.java b/app/src/main/java/com/basic/security/fragment/AdvertisingImageViewFragment.java index fad7442..b4eb316 100644 --- a/app/src/main/java/com/basic/security/fragment/AdvertisingImageViewFragment.java +++ b/app/src/main/java/com/basic/security/fragment/AdvertisingImageViewFragment.java @@ -35,12 +35,12 @@ @UiThread public void pictureNextUiThread(File imageFile) { try { -// System.out.println("AdvertisingImageViewFragment.pictureNextUiThread " + imageFile.getAbsolutePath()); +// System1.out.println("AdvertisingImageViewFragment.pictureNextUiThread " + imageFile.getAbsolutePath()); if (imageFile.exists()) { Glide.with(this).load(imageFile).apply(new RequestOptions().circleCrop()).into(advertise); } } catch (Exception e) { - System.out.println("AdvertisingImageViewFragment.pictureNextUiThread " + e.getMessage()); + System1.out.println("AdvertisingImageViewFragment.pictureNextUiThread " + e.getMessage()); // e.printStackTrace(); } } @@ -50,7 +50,7 @@ BaseApplication.getApplication().executorService.execute(() -> { while (true) { try { -// System.out.println("AdvertisingImageViewFragment.afterViews"); +// System1.out.println("AdvertisingImageViewFragment.afterViews"); List<String> advertisingImageList = AdvertisingImageViewManager.getAdvertisingImageList(); if (advertisingImageList.size() > 0) { currentPictureIndex = currentPictureIndex % advertisingImageList.size(); diff --git a/app/src/main/java/com/basic/security/fragment/BackgroundAndBorderFragment.java b/app/src/main/java/com/basic/security/fragment/BackgroundAndBorderFragment.java index 69c5051..559739c 100644 --- a/app/src/main/java/com/basic/security/fragment/BackgroundAndBorderFragment.java +++ b/app/src/main/java/com/basic/security/fragment/BackgroundAndBorderFragment.java @@ -40,10 +40,14 @@ super.show(); Set<View> visibleViews = mainActivity().backgroundAndBorderViews.get(mainActivity().currentFragment); for (View view : views) { - if (visibleViews != null && visibleViews.contains(view)) { - view.setVisibility(View.VISIBLE); - } else { - view.setVisibility(View.INVISIBLE); + if (view != null) { + + if (visibleViews != null && visibleViews.contains(view)) { + + view.setVisibility(View.VISIBLE); + } else { + view.setVisibility(View.INVISIBLE); + } } } } diff --git a/app/src/main/java/com/basic/security/fragment/BaseSettingFragment.java b/app/src/main/java/com/basic/security/fragment/BaseSettingFragment.java index d32d215..a699bf6 100644 --- a/app/src/main/java/com/basic/security/fragment/BaseSettingFragment.java +++ b/app/src/main/java/com/basic/security/fragment/BaseSettingFragment.java @@ -385,18 +385,14 @@ private void isShowTop(boolean showTop) { if (showTop) { admin_idcard_verify_phone.setClickable(false); - admin_idcard_verify_phone.setChecked(false); admin_normal_verify_phone.setClickable(true); admin_normal_verify_idcard.setClickable(true); admin_normal_verify_name.setClickable(true); } else { admin_idcard_verify_phone.setClickable(true); admin_normal_verify_phone.setClickable(false); - admin_normal_verify_phone.setChecked(false); admin_normal_verify_idcard.setClickable(false); - admin_normal_verify_idcard.setChecked(false); admin_normal_verify_name.setClickable(false); - admin_normal_verify_name.setChecked(false); } } @@ -471,30 +467,11 @@ auto_normal_verify.setChecked(true); auto_idcard_verify.setChecked(false); isShowTop(true); - if (baseSetting.getOneTrue("auto_normal_verify_phone")) { - auto_normal_verify_phone.setChecked(true); - } else { - auto_normal_verify_phone.setChecked(false); - } - if (baseSetting.getOneTrue("auto_normal_verify_idcard")) { - auto_normal_verify_idcard.setChecked(true); - } else { - auto_normal_verify_idcard.setChecked(false); - } - if (baseSetting.getOneTrue("auto_normal_verify_name")) { - auto_normal_verify_name.setChecked(true); - } else { - auto_normal_verify_name.setChecked(false); - } + } else { auto_normal_verify.setChecked(false); auto_idcard_verify.setChecked(true); isShowTop(false); - if (baseSetting.getOneTrue("auto_idcard_verify_phone")) { - auto_idcard_verify_phone.setChecked(true); - } else { - auto_idcard_verify_phone.setChecked(false); - } } } else if ("1".equals(baseSetting.getString("pass_mode"))) { pass_mode.setChecked(true); @@ -504,15 +481,38 @@ setting_register_rb_admin.setChecked(true); auto_sign_up_identity.setVisibility(View.GONE); if (baseSetting.getOneTrue("admin_normal_verify")) { - admin_normal_verify.setChecked(true); admin_idcard_verify.setChecked(false); isShowTop(true); } else { - admin_normal_verify.setChecked(false); admin_idcard_verify.setChecked(true); isShowTop(false); } } + if (baseSetting.getOneTrue("admin_normal_verify")) { + admin_normal_verify.setChecked(true); + } else { + admin_normal_verify.setChecked(false); + } + if (baseSetting.getOneTrue("auto_normal_verify_phone")) { + auto_normal_verify_phone.setChecked(true); + } else { + auto_normal_verify_phone.setChecked(false); + } + if (baseSetting.getOneTrue("auto_normal_verify_idcard")) { + auto_normal_verify_idcard.setChecked(true); + } else { + auto_normal_verify_idcard.setChecked(false); + } + if (baseSetting.getOneTrue("auto_normal_verify_name")) { + auto_normal_verify_name.setChecked(true); + } else { + auto_normal_verify_name.setChecked(false); + } + if (baseSetting.getOneTrue("auto_idcard_verify_phone")) { + auto_idcard_verify_phone.setChecked(true); + } else { + auto_idcard_verify_phone.setChecked(false); + } admin_idcard_verify_phone.setChecked(baseSetting.getOneTrue("admin_idcard_verify_phone")); admin_normal_verify_phone.setChecked(baseSetting.getOneTrue("admin_normal_verify_phone")); admin_normal_verify_idcard.setChecked(baseSetting.getOneTrue("admin_normal_verify_idcard")); diff --git a/app/src/main/java/com/basic/security/fragment/CameraFragment.java b/app/src/main/java/com/basic/security/fragment/CameraFragment.java index 7666d8e..df91f75 100644 --- a/app/src/main/java/com/basic/security/fragment/CameraFragment.java +++ b/app/src/main/java/com/basic/security/fragment/CameraFragment.java @@ -64,13 +64,9 @@ @ViewById public ImageView camera2; @ViewById - public View camera2_separator; + public View camera2_separator, textureViewParent; @ViewById - public View textureViewParent; - @ViewById - public Preview rgb_camera; - @ViewById - public Preview gray_camera; + public Preview rgb_camera, gray_camera; @ViewById public RelativeLayout faceOuterBorderViewParent; public List<RecognizeFaceInfoView> recognizeFaceInfoViewList = new ArrayList<>(); @@ -78,12 +74,6 @@ long prevDrawTime = System.currentTimeMillis(); private boolean initCamera = false; - public void addDetectedResult(DetectedResult detectedResult) { - if (!CfCompareFeatureThread.isRunning) { - CameraFragment.detectedResult = detectedResult; - BaseApplication.getApplication().executorService.execute(CfCompareFeatureThread); - } - } public void clearAllFaceRectWhenTimeout() { BaseApplication.getApplication().executorService.execute(() -> { @@ -142,15 +132,25 @@ if (recognizeFaceInfoViewList.size() - 1 < i) { recognizeFaceInfoView = new RecognizeFaceInfoView(getContext()); recognizeFaceInfoViewList.add(recognizeFaceInfoView); - int childCount = faceOuterBorderViewParent.getChildCount(); -// System.out.println("CfDetectFace.drawFaceRect childCount="+childCount); - faceOuterBorderViewParent.addView(recognizeFaceInfoView, 4); + if (Constants.indoorOutdoorInOne) { + faceOuterBorderViewParent.addView(recognizeFaceInfoView, 4); + } else { + faceOuterBorderViewParent.addView(recognizeFaceInfoView, 3); + } } else { recognizeFaceInfoView = recognizeFaceInfoViewList.get(i); } - if (textureViewParent != null) { - recognizeFaceInfoView.showAtPosition(facePosition, textureViewParent.getHeight(), - textureViewParent.getWidth(), + if (Constants.indoorOutdoorInOne) { + if (textureViewParent != null) { + recognizeFaceInfoView.showAtPosition(facePosition, textureViewParent.getHeight(), + textureViewParent.getWidth(), + detectedResult.width, + detectedResult.height + ); + } + } else { + recognizeFaceInfoView.showAtPosition(facePosition, rgb_camera.getHeight(), + rgb_camera.getWidth(), detectedResult.width, detectedResult.height ); @@ -168,6 +168,13 @@ return inflater.inflate(ResolutionAdaptation.fragment_camera(), container, false); } + public void addDetectedResult(DetectedResult detectedResult) { + if (!CfCompareFeatureThread.isRunning) { + CameraFragment.detectedResult = detectedResult; + BaseApplication.getApplication().executorService.execute(CfCompareFeatureThread); + } + } + @Click public void nic_back_person_manager() { SystemInitManager.showSecondDisplay(mainActivity()); @@ -178,22 +185,25 @@ } public void showCameraInGuestMode(boolean showBorder) { - try { - if (showBorder) { - LayoutUtil.applyStyle(faceOuterBorderViewParent, StyleBuilder.newStyleBuild().marginTop(20).marginRight(0).marginBottom(161).marginLeft(20).buildStyle()); - hideOverlay(); - topBlurView2_guest_mode.setVisibility(View.VISIBLE); - topBackground2_guest_mode.setVisibility(View.VISIBLE); - } else { - overlay.setVisibility(View.VISIBLE); - topBlurView2_guest_mode.setVisibility(View.INVISIBLE); - topBackground2_guest_mode.setVisibility(View.INVISIBLE); - cameraExitGuestMode(); + if (Constants.indoorOutdoorInOne) { + try { + if (showBorder) { + LayoutUtil.applyStyle(faceOuterBorderViewParent, StyleBuilder.newStyleBuild().marginTop(20).marginRight(0).marginBottom(161).marginLeft(20).buildStyle()); + hideOverlay(); + topBlurView2_guest_mode.setVisibility(View.VISIBLE); + topBackground2_guest_mode.setVisibility(View.VISIBLE); + } else { + overlay.setVisibility(View.VISIBLE); + topBlurView2_guest_mode.setVisibility(View.INVISIBLE); + topBackground2_guest_mode.setVisibility(View.INVISIBLE); + cameraExitGuestMode(); + } + } catch (Exception e) { + e.printStackTrace(); } - } catch (Exception e) { - e.printStackTrace(); } } + @UiThread public void showOverlay() { @@ -203,11 +213,16 @@ if (nic_back_person_manager != null) { nic_back_person_manager.setVisibility(View.GONE); } - showCameraInGuestMode(); + if (Constants.indoorOutdoorInOne) { + showCameraInGuestMode(); + } } + @UiThread public void hideOverlay() { - showCameraInGuestMode(); + if (Constants.indoorOutdoorInOne) { + showCameraInGuestMode(); + } if (overlay != null) { overlay.setVisibility(View.INVISIBLE); } @@ -234,12 +249,14 @@ } else { openCamera(); } - camera2.setClipToOutline(true); - camera2.setOutlineProvider(new ViewOutlineProvider() { - public void getOutline(View view, Outline outline) { - outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), getResources().getDimension(com.basic.security.utils.RUtils.R_dimen_corner_radius)); - } - }); + if (Constants.indoorOutdoorInOne) { + camera2.setClipToOutline(true); + camera2.setOutlineProvider(new ViewOutlineProvider() { + public void getOutline(View view, Outline outline) { + outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), getResources().getDimension(com.basic.security.utils.RUtils.R_dimen_corner_radius)); + } + }); + } } public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { @@ -266,16 +283,18 @@ } }); rgb_camera.setClipToOutline(true); - textureView.setOutlineProvider(new ViewOutlineProvider() { - public void getOutline(View view, Outline outline) { - outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), getActivity().getResources().getDimension(com.basic.security.utils.RUtils.R_dimen_corner_radius)); - } - }); - textureView.setClipToOutline(true); + if (Constants.indoorOutdoorInOne) { + textureView.setOutlineProvider(new ViewOutlineProvider() { + public void getOutline(View view, Outline outline) { + outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), getActivity().getResources().getDimension(com.basic.security.utils.RUtils.R_dimen_corner_radius)); + } + }); + textureView.setClipToOutline(true); + textureView.setSurfaceTextureListener(rgb_camera); + } if (getActivity() == null) { return; } - textureView.setSurfaceTextureListener(rgb_camera); FaceId.initSdk(getActivity(), rgb_camera, gray_camera, detectedResult -> { if (detectedResult.facePositions.size() > 0) { if (mainActivity().currentFragment == mainActivity().fragment_su_auto_wait_face @@ -299,9 +318,11 @@ camera2_separator.setVisibility(View.VISIBLE); LayoutUtil.applyStyle(faceOuterBorderViewParent, StyleBuilder.newStyleBuild().marginTop(20).marginRight(0).marginBottom(300).marginLeft(20).buildStyle()); } else { - camera2.setVisibility(View.GONE); - camera2_separator.setVisibility(View.GONE); - LayoutUtil.applyStyle(faceOuterBorderViewParent, StyleBuilder.newStyleBuild().marginTop(20).marginRight(0).marginBottom(161).marginLeft(20).buildStyle()); + if (Constants.indoorOutdoorInOne) { + camera2.setVisibility(View.GONE); + camera2_separator.setVisibility(View.GONE); + LayoutUtil.applyStyle(faceOuterBorderViewParent, StyleBuilder.newStyleBuild().marginTop(20).marginRight(0).marginBottom(161).marginLeft(20).buildStyle()); + } } } diff --git a/app/src/main/java/com/basic/security/fragment/ClusterFragment.java b/app/src/main/java/com/basic/security/fragment/ClusterFragment.java index f9e3da8..ffc37f9 100644 --- a/app/src/main/java/com/basic/security/fragment/ClusterFragment.java +++ b/app/src/main/java/com/basic/security/fragment/ClusterFragment.java @@ -40,7 +40,7 @@ @ViewById RadioButton only_allow, no_limit; @ViewById - EditText cluster_name, cluster_id, cluster_cookie, cluster_ip; + EditText cluster_name, cluster_id, cluster_cookie, cluster_ip, node_id, node_name; @ViewById ClusterRoundView round_view; @ViewById @@ -55,6 +55,7 @@ @AfterViews public void afterViews() { + lv_device_list.addHeaderView(View.inflate(getContext(), com.basic.security.utils.ResolutionAdaptation.cluster_setting_list_head(), null)); } public void queryDeviceList() { @@ -85,6 +86,8 @@ } cluster_cookie.setText(password); cluster_ip.setText(cluster.getString(ClusterSetting.other_node_ip)); + node_id.setText(cluster.getString(ClusterSetting.node_id)); + node_name.setText(cluster.getString(ClusterSetting.node_name)); isCreateCluster = true; deviceListAdapter = new DeviceListAdapter(); lv_device_list.setAdapter(deviceListAdapter); @@ -102,6 +105,16 @@ String cluster_id = this.cluster_id.getText().toString().trim(); String password = this.cluster_cookie.getText().toString().trim(); String cluster_ip = this.cluster_ip.getText().toString().trim(); + String node_id = this.node_id.getText().toString().trim(); + String node_name = this.node_name.getText().toString().trim(); + if (TextUtils.isEmpty(node_id)) { + ToastUtil.show("璇疯緭鍏ヨ妭鐐笽D"); + return; + } + if (TextUtils.isEmpty(node_name)) { + ToastUtil.show("璇疯緭鍏ヨ妭鐐瑰悕绉�"); + return; + } if (TextUtils.isEmpty(cluster_name)) { ToastUtil.show("璇疯緭鍏ラ泦缇ゅ悕绉�"); return; diff --git a/app/src/main/java/com/basic/security/fragment/DeviceListDialogFragment.java b/app/src/main/java/com/basic/security/fragment/DeviceListDialogFragment.java index b041f9f..c337507 100644 --- a/app/src/main/java/com/basic/security/fragment/DeviceListDialogFragment.java +++ b/app/src/main/java/com/basic/security/fragment/DeviceListDialogFragment.java @@ -55,7 +55,7 @@ @Click void btn_check_time_save() { - System.out.println(checkedTimeRuleId); + System1.out.println(checkedTimeRuleId); mainActivity().hideOneFragment(mainActivity().fragment_device_list_dialog); } diff --git a/app/src/main/java/com/basic/security/fragment/DeviceListDialogSmallFragment.java b/app/src/main/java/com/basic/security/fragment/DeviceListDialogSmallFragment.java index 8701797..72e11f0 100644 --- a/app/src/main/java/com/basic/security/fragment/DeviceListDialogSmallFragment.java +++ b/app/src/main/java/com/basic/security/fragment/DeviceListDialogSmallFragment.java @@ -55,7 +55,7 @@ @Click void btn_check_time_save() { - System.out.println(checkedTimeRuleId); + System1.out.println(checkedTimeRuleId); mainActivity().hideOneFragment(mainActivity().fragment_device_list_dialog_small); } diff --git a/app/src/main/java/com/basic/security/fragment/DoorAccessResultFragment.java b/app/src/main/java/com/basic/security/fragment/DoorAccessResultFragment.java index c2c0cad..08290a7 100644 --- a/app/src/main/java/com/basic/security/fragment/DoorAccessResultFragment.java +++ b/app/src/main/java/com/basic/security/fragment/DoorAccessResultFragment.java @@ -9,8 +9,8 @@ import com.basic.security.base.BaseApplication; import com.basic.security.base.BaseFragment; -import com.basic.security.manager.AccountManager; import com.basic.security.manager.DeviceManager; +import com.basic.security.manager.UserManager; import com.basic.security.utils.ResolutionAdaptation; import org.androidannotations.annotations.EFragment; @@ -65,7 +65,7 @@ @UiThread void backToWaitFace() { - if (!AccountManager.adminLoggedIn() + if (!UserManager.adminLoggedIn() && mainActivity().currentFragment != mainActivity().fragment_admin_face_login && mainActivity().currentFragment != mainActivity().fragment_admin_password_login ) { diff --git a/app/src/main/java/com/basic/security/fragment/FaceDetailFragment.java b/app/src/main/java/com/basic/security/fragment/FaceDetailFragment.java index 1e72e9c..6048869 100644 --- a/app/src/main/java/com/basic/security/fragment/FaceDetailFragment.java +++ b/app/src/main/java/com/basic/security/fragment/FaceDetailFragment.java @@ -34,7 +34,6 @@ import com.basic.security.manager.IdentityManager; import com.basic.security.manager.OrgManager; import com.basic.security.manager.PersonIdentityManager; -import com.basic.security.manager.PersonManager; import com.basic.security.manager.VisitManager; import com.basic.security.model.ModelAdapter; import com.basic.security.model.Org; @@ -43,6 +42,7 @@ import com.basic.security.utils.DateEditUtil1; import com.basic.security.utils.DateEditUtilForValidTime; import com.basic.security.utils.DateUtil; +import com.basic.security.utils.RUtils; import com.basic.security.utils.ResolutionAdaptation; import com.basic.security.utils.ToastUtil; import com.basic.security.widget.MyTextView; @@ -53,6 +53,7 @@ import org.androidannotations.annotations.AfterViews; import org.androidannotations.annotations.Click; import org.androidannotations.annotations.EFragment; +import org.androidannotations.annotations.TextChange; import org.androidannotations.annotations.UiThread; import org.androidannotations.annotations.ViewById; @@ -268,13 +269,24 @@ @Click public void save() { - mainActivity().fragment_person_manage.savePerson(); + savePerson(); FaceListFragment.treeAdapter.clearUI(); + } + + public void savePerson() { + mainActivity().fragment_person_manage.savePerson(); + if (mainActivity().currentFragment != mainActivity().fragment_person_manage) { + mainActivity().fragment_person_manage.selectedPerson(null); + } else { + ModelAdapter selectedPerson = mainActivity().fragment_person_manage.selectedPerson(); +// System.out.println("FaceDetailFragment.savePerson name=" + selectedPerson.getString(Person.name) + " idcard=" + selectedPerson.getString(Person.id_card_number)); + mainActivity().fragment_person_manage.selectedPerson(selectedPerson); + } } @Click public void tempSave() { - mainActivity().fragment_person_manage.savePerson(); + savePerson(); } @Click @@ -288,7 +300,7 @@ mainActivity().fragment_person_manage.giveUpSave(); } - public void updateIdentityListUI(ModelAdapter person) { + private void updateIdentityListUI(ModelAdapter person) { checkedPerson = person; if (checkedPerson == null) { checkThisDevice(); @@ -301,27 +313,24 @@ showIdentityList(); } - public void updateIdentityListUI2(ModelAdapter person) { - checkedPerson = person; - if (checkedPerson == null) { - checkThisDevice(); - checkedIdentityMapByPerson.clear(); - } else { - setDevice(checkedPerson.getString("all_device")); - checkedIdentityMapByPerson.clear(); - checkedIdentityMapByPerson.putAll(PersonIdentityManager.findIdentityMapByPersonId(person.getString(Person.id))); - } - showIdentityList(); + @TextChange(RUtils.R_id_name_input) + public void name_inputTextChanged() { + name.setText(name_input.getText()); } - public void updateIdentityListUI1(ModelAdapter person) { - checkedPerson = person; - if (checkedPerson == null) { - checkThisDevice(); - } else { - setDevice(checkedPerson.getString("all_device")); - } - showIdentityList(); + @TextChange(RUtils.R_id_idcard_number_input) + public void idcard_number_inputTextChanged() { + idcard_number.setText(idcard_number_input.getText()); + } + + @TextChange(RUtils.R_id_phone_input) + public void phone_inputTextChanged() { + phone.setText(phone_input.getText()); + } + + @TextChange(RUtils.R_id_student_id_input) + public void student_id_inputTextChanged() { + student_id.setText(student_id_input.getText()); } @UiThread @@ -391,20 +400,6 @@ return true; } - public String aboutDevice() { - if (clusterDevices.isChecked()) { - return "1"; - } - if (thisDevice.isChecked()) { - return "0"; - } - return null; - } - - public int getIdentitySize() { - return checkedIdentityMapByPerson.values().size(); - } - @Click public void next() { int position = identity_list.getFirstVisiblePosition(); @@ -414,9 +409,6 @@ position += 2; } identity_list.setSelection(position); - } - - public void notifyDataSetChanged() { } public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { @@ -554,7 +546,7 @@ student_id_input.setVisibility(View.VISIBLE); } - public void updateDetailUI(ModelAdapter person) { + private void updateDetailUI(ModelAdapter person) { mainActivity().runOnUiThread(() -> { try { scrollView.fullScroll(ScrollView.FOCUS_UP); @@ -563,6 +555,15 @@ guest_visit_valid_time_row.setVisibility(View.GONE); guest_visit_status_row.setVisibility(View.GONE); student_id_input.setVisibility(View.GONE); + student_id_input.setText(""); + student_id.setText(""); + name.setText(""); + name_input.setText(""); + idcard_number.setText(""); + idcard_number_input.setText(""); + phone.setText(""); + phone_input.setText(""); + guest_visit_valid_time.setText(""); if (person != null) { setViewVisisble(person); if ("璁垮娉ㄥ唽".equals(person.getString(Person.sign_up_method))) { @@ -573,25 +574,9 @@ } catch (Exception e) { e.printStackTrace(); } -// guest_visit_status_row.setVisibility(View.VISIBLE); -// try { -// String dbGuestVisitStatus = person.getString(Person.guest_visit_status); -// if (dbGuestVisitStatus != null) { -// for (int i = 0; i < guestVisitStatusArray.length; i++) { -// String guestVisitStatus = guestVisitStatusArray[i]; -// if (dbGuestVisitStatus.equals(guestVisitStatus)) { -// guest_visit_status.setSelection(i); -// break; -// } -// } -// } -// } catch (Exception e) { -// e.printStackTrace(); -// } } } FaceDetailFragment.this.person = person; - show_name_in_put.setVisibility(View.GONE); show_phone_in_put.setVisibility(View.GONE); show_id_in_put.setVisibility(View.GONE); idcard_number.setTextColor(Color.parseColor("#FFFFFFFF")); @@ -670,15 +655,6 @@ name.setText1(person.getString("name")); phone.setText(person.getString("phone")); idcard_number.setText(person.getString("id_card_number")); - byte[] blob = person.getBlob("camera_image_path"); - if (blob != null) { - if (blob.length != 0) { - Bitmap bitmap = BitmapFactory.decodeByteArray(blob, 0, blob.length); - face.setImageBitmap(bitmap); - } - } else { - face.setImageResource(com.basic.security.utils.RUtils.R_drawable_u1280); - } register_type.setText(person.getString("sign_up_method")); String lastTime = VisitManager.getLastVisitTime(person.getId()); if (TextUtils.isEmpty(lastTime)) { @@ -726,20 +702,6 @@ showTextOrEditText(verify_status); } face.setVisibility(View.VISIBLE); - byte[] blob = person.getBlob("camera_image_path"); - if (blob != null) { - try { - if (blob.length != 0) { - Bitmap bitmap = BitmapFactory.decodeByteArray(blob, 0, blob.length); - face.setImageBitmap(bitmap); - } - } catch (Exception e) { - face.setImageResource(com.basic.security.utils.RUtils.R_drawable_u1280); - e.printStackTrace(); - } - } else { - face.setImageResource(com.basic.security.utils.RUtils.R_drawable_u1280); - } try { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Long sign_up_time = Long.parseLong(person.getString("sign_up_time")); @@ -770,6 +732,88 @@ } else { last_visit_time.setText(DateUtil.formatTime(Long.parseLong(lastTime), "yyyy-MM-dd HH:mm:ss")); } + } + + name_input.setVisibility(View.GONE); + idcard_number_input.setVisibility(View.GONE); + phone_input.setVisibility(View.GONE); + show_name_in_put.setVisibility(View.GONE); + show_id_in_put.setVisibility(View.GONE); + if (person != null) { + show_name_in_put.setVisibility(View.VISIBLE); + show_id_in_put.setVisibility(View.VISIBLE); + show_phone_in_put.setVisibility(View.VISIBLE); + } + if (person != null && "宸茬粡楠岃瘉韬唤璇�".equals(person.getString(Person.verify_status))) { + show_name_in_put.setVisibility(View.GONE); + show_id_in_put.setVisibility(View.GONE); + } + if (person == null) { + show_name_in_put.setVisibility(View.GONE); + show_id_in_put.setVisibility(View.GONE); + show_phone_in_put.setVisibility(View.GONE); + name_input.setVisibility(View.GONE); + idcard_number_input.setVisibility(View.GONE); + phone_input.setVisibility(View.GONE); + } + if (person != null) { + byte[] blob = person.getBlob("camera_image_path"); + if (blob != null) { + if (blob.length != 0) { + Bitmap bitmap = BitmapFactory.decodeByteArray(blob, 0, blob.length); + face.setImageBitmap(bitmap); + } + } else { + face.setImageResource(com.basic.security.utils.RUtils.R_drawable_u1280); + } + name.setText(person.getString(Person.name)); + name_input.setText(person.getString(Person.name)); + idcard_number.setText(person.getString(Person.id_card_number)); + idcard_number_input.setText(person.getString(Person.id_card_number)); + phone.setText(person.getString(Person.phone)); + phone_input.setText(person.getString(Person.phone)); + + if (!TextUtils.isEmpty(person.getString(Person.name))) { + name.setVisibility(View.VISIBLE); + name_input.setVisibility(View.GONE); + } + + if (!TextUtils.isEmpty(person.getString(Person.id_card_number))) { + idcard_number.setVisibility(View.VISIBLE); + idcard_number_input.setVisibility(View.GONE); + } + + if (!TextUtils.isEmpty(person.getString(Person.phone))) { + phone.setVisibility(View.VISIBLE); + phone_input.setVisibility(View.GONE); + } + } + if (person != null +// && Constants.TRUE.equals(person.getString(Model.newModel)) + ) { + if (!"鏈獙璇佽韩浠借瘉".equals(person.getString("verify_status"))) { + if (name_input.getText().toString().length() == 0) { + name_input.setVisibility(View.VISIBLE); + } + if (idcard_number_input.getText().toString().length() == 0) { + idcard_number_input.setVisibility(View.VISIBLE); + } + } + if (phone_input.getText().toString().length() == 0) { + phone_input.setVisibility(View.VISIBLE); + } + } + if (name_input.getVisibility() == View.VISIBLE) { + name.setVisibility(View.GONE); + } + if (idcard_number_input.getVisibility() == View.VISIBLE) { + idcard_number.setVisibility(View.GONE); + } + if (person != null && "鏈獙璇佽韩浠借瘉".equals(person.getString(Person.verify_status))) { + idcard_number.setText("璇峰湪鍒峰崱鍖洪獙璇佽韩浠借瘉"); + idcard_number.setTextColor(Color.parseColor("#4BA6AD")); + show_name_in_put.setVisibility(View.GONE); + show_id_in_put.setVisibility(View.GONE); } } catch (Exception e) { e.printStackTrace(); @@ -824,7 +868,7 @@ showNameInPut = false; name_input.setVisibility(View.GONE); name.setVisibility(View.VISIBLE); - name.setText1(person.getString("name")); +// name.setText1(person.getString("name")); show_name_in_put.setVisibility(View.VISIBLE); } if (TextUtils.isEmpty(person.getString("id_card_number"))) { @@ -880,7 +924,7 @@ } public boolean detailMessageIsComplete() { - ModelAdapter person = mainActivity().fragment_person_manage.selectedPerson; + ModelAdapter person = mainActivity().fragment_person_manage.selectedPerson(); if (person != null) { String name = person.getString("name"); String id_card_number = person.getString("id_card_number"); @@ -972,58 +1016,27 @@ } public String getInPutName() { - ModelAdapter person = mainActivity().fragment_person_manage.selectedPerson; - if ("1".equals(person.getString("auto_init"))) { - return "绯荤粺绠$悊鍛�"; + String nameTextStr = name.getText().toString(); + String nameInputStr = name_input.getText().toString(); + if (nameInputStr.length() == 0) { + return nameTextStr; + } else { + return nameInputStr; } - if (!TextUtils.isEmpty(verify_status) && (TextUtils.equals(verify_status, "宸茬粡楠岃瘉韬唤璇�") - || TextUtils.equals(verify_status, "鏈獙璇佽韩浠借瘉"))) { - if (mainActivity().fragment_person_manage.needIdCardInfo()) { - return name.getText().toString().trim(); - } - return person.getString("name"); - } - if ((!TextUtils.isEmpty(verify_status) && TextUtils.equals(verify_status, "涓嶉渶瑕侀獙璇佽韩浠借瘉")) || - TextUtils.isEmpty(verify_status) - ) { - if (showNameInPut) { - return name_input.getText().toString().trim(); - } - return name.getText().toString().trim(); - } - return name.getText().toString().trim(); } public String getInPutIdCardNumber() { - ModelAdapter person = mainActivity().fragment_person_manage.selectedPerson; - if (!TextUtils.isEmpty(verify_status) && (TextUtils.equals(verify_status, "宸茬粡楠岃瘉韬唤璇�") || TextUtils.equals(verify_status, "鏈獙璇佽韩浠借瘉"))) { - if (mainActivity().fragment_person_manage.needIdCardInfo()) { - return idcard_number.getText().toString().trim(); - } - return person.getString("id_card_number"); - } - if ((!TextUtils.isEmpty(verify_status) && TextUtils.equals(verify_status, "涓嶉渶瑕侀獙璇佽韩浠借瘉")) - || TextUtils.isEmpty(verify_status) - ) { - if (showIdCardInPut) { - return idcard_number_input.getText().toString().trim(); - } - return idcard_number.getText().toString().trim(); - } - return idcard_number.getText().toString().trim(); + String nameInputStr = idcard_number_input.getText().toString(); + return nameInputStr; } public String getInPutPhoneNumber() { - if (showPhoneInPut) { - return phone_input.getText().toString().trim(); - } else { - return phone.getText().toString().trim(); - } + return phone_input.getText().toString().trim(); } public void nameRequired(boolean required) { if (required) { -// System.out.println("FaceDetailFragment.nameRequired " + FrameUtil.getFrames() + " " + required); +// System1.out.println("FaceDetailFragment.nameRequired " + FrameUtil.getFrames() + " " + required); face_detail_name_need.setVisibility(View.VISIBLE); } else { face_detail_name_need.setVisibility(View.INVISIBLE); @@ -1043,42 +1056,6 @@ face_detail_id_need.setVisibility(View.VISIBLE); } else { face_detail_id_need.setVisibility(View.INVISIBLE); - } - } - - public void updateData(String personId) { - BaseApplication.getApplication().executorService.execute(() -> { - try { - ModelAdapter selectedPerson = PersonManager.findPersonById(personId); - if (selectedPerson != null) { - updateDataUI(selectedPerson); - } - } catch (Exception e) { - e.printStackTrace(); - } - }); - } - - @UiThread - public void updateDataUI(ModelAdapter selectedPerson) { - try { - if (showNameInPut) { - name_input.setText(selectedPerson.getString("name")); - } else { - name.setText1(selectedPerson.getString("name")); - } - if (showIdCardInPut) { - idcard_number_input.setText(selectedPerson.getString("id_card_number")); - } else { - idcard_number.setText(selectedPerson.getString("id_card_number")); - } - if (showPhoneInPut) { - phone_input.setText(selectedPerson.getString("phone")); - } else { - phone.setText(selectedPerson.getString("phone")); - } - } catch (Exception e) { - e.printStackTrace(); } } @@ -1135,9 +1112,13 @@ public String getGuestVisitValid() { try { - return DateEditUtil1.sdf.parse(guest_visit_valid_time.getText().toString()).getTime() + ""; + String guest_visit_valid_timeStr = guest_visit_valid_time.getText().toString(); + if (!TextUtils.isEmpty(guest_visit_valid_timeStr)) { + return DateEditUtil1.sdf.parse(guest_visit_valid_timeStr).getTime() + ""; + } } catch (Exception e) { e.printStackTrace(); + System.out.println("FaceDetailFragment.getGuestVisitValid Error:" + e.getMessage()); } return ""; } @@ -1152,6 +1133,11 @@ } } + public void showPersonDetail(ModelAdapter selectedPerson) { + updateDetailUI(selectedPerson); + updateIdentityListUI(selectedPerson); + } + public class IdentityAdapter extends CommonAdapter<ModelAdapter> { public IdentityAdapter(Context context, int layoutId, List<ModelAdapter> datas) { super(context, layoutId, datas); diff --git a/app/src/main/java/com/basic/security/fragment/FaceListFragment.java b/app/src/main/java/com/basic/security/fragment/FaceListFragment.java index cd2f3c2..687188b 100644 --- a/app/src/main/java/com/basic/security/fragment/FaceListFragment.java +++ b/app/src/main/java/com/basic/security/fragment/FaceListFragment.java @@ -238,7 +238,7 @@ if (selectedPerson1 != null) { faceListAdapter.personList.remove(selectedPerson1); } - mainActivity().fragment_person_manage.selectedPerson = selectedPerson; + mainActivity().fragment_person_manage.selectedPerson(selectedPerson); faceListAdapter.personList.add(0, selectedPerson); } } @@ -300,7 +300,7 @@ @UiThread public void findPersonList1UI(ModelAdapter selectedPerson) { - mainActivity().fragment_person_manage.selectedPerson = selectedPerson; + mainActivity().fragment_person_manage.selectedPerson(selectedPerson); if (!TextUtils.isEmpty(getFaceListFragment().isRegister()) && "鏈敞鍐�".equals(getFaceListFragment().isRegister())) { int size = getFaceListFragment().faceListAdapter.personList.size(); if (size > 0) { @@ -321,8 +321,8 @@ getFaceListFragment().faceListAdapter.setSelection(0); getFaceListFragment().faceListAdapter.notifyDataSetChanged(); } - mainActivity().fragment_face_detail.updateDetailUI(selectedPerson); - mainActivity().fragment_face_detail.updateIdentityListUI1(selectedPerson); +// mainActivity().fragment_face_detail.updateDetailUI(selectedPerson); +// mainActivity().fragment_face_detail.updateIdentityListUI1(selectedPerson); } public void findPersonList() { @@ -501,6 +501,7 @@ if (BaseSettingManager.isPassMode()) { ToastUtil.show("閫氳妯″紡涓嶅厑璁告敞鍐�"); } else { + mainActivity().fragment_person_manage.selectedPerson(null); if (BaseSettingManager.isAdminAuthSignUpModeNeedIdCard() || BaseSettingManager.isAutoSignUpIDCardMode()) { mainActivity().showFragment(mainActivity().fragment_su_logged_ic_wait_face); @@ -572,12 +573,20 @@ } else { try { ModelAdapter person = faceListAdapter.personList.get(position); - isNeedIDCard(position); - mainActivity().fragment_person_manage.selectedPerson = person; - mainActivity().fragment_face_detail.updateIdentityListUI2(person); - mainActivity().fragment_face_detail.updateDetailUI(person); - faceListAdapter.setSelection(position); - faceListAdapter.notifyDataSetChanged(); + BaseApplication.getApplication().executorService.execute(() -> { + try { + isNeedIDCard(position); + ModelAdapter reloadPerson = PersonManager.findPersonById(person.getString(Person.id)); + mainActivity().fragment_person_manage.selectedPerson(reloadPerson); + faceListAdapter.setSelection(position); + + BaseApplication.getApplication().activity.runOnUiThread(() -> { + faceListAdapter.notifyDataSetChanged(); + }); + } catch (Exception e) { + e.printStackTrace(); + } + }); } catch (Exception e) { e.printStackTrace(); } diff --git a/app/src/main/java/com/basic/security/fragment/GuestModeFragment.java b/app/src/main/java/com/basic/security/fragment/GuestModeFragment.java index 8fd0e53..17dcf8a 100644 --- a/app/src/main/java/com/basic/security/fragment/GuestModeFragment.java +++ b/app/src/main/java/com/basic/security/fragment/GuestModeFragment.java @@ -26,6 +26,7 @@ import com.basic.security.base.BaseApplication; import com.basic.security.base.BaseFragment; import com.basic.security.manager.DeviceManager; +import com.basic.security.manager.FeatureManager; import com.basic.security.manager.GuestManager; import com.basic.security.manager.IdentityManager; import com.basic.security.manager.OrgManager; @@ -197,7 +198,7 @@ guestListLock.unlock(); } if (!TextUtils.isEmpty(personId)) { - FaceId.instance.removeFeatureFromDb(personId); + FeatureManager.removeFeature(personId); ModelAdapter dbPerson = PersonManager.findPersonById(personId); if (dbPerson != null) { PersonManager.deletePerson(dbPerson); @@ -409,7 +410,7 @@ guest_id_card_text.setText(idCardNumber); } } - if (Constants.TRUE.equals(newCheckedGuest.getString(Guest.verified_id_card))) { + if (newCheckedGuest != null && Constants.TRUE.equals(newCheckedGuest.getString(Guest.verified_id_card))) { String name = newCheckedGuest.getString(Guest.name); String idCardNumber = newCheckedGuest.getString(Guest.id_card_number); if (!TextUtils.isEmpty(name)) { @@ -514,7 +515,7 @@ guest_picture.setImageBitmap(guestFaceBitmap); } checkedIdentityMapByPerson.clear(); - checkTemporaryGuest(); +// checkTemporaryGuest(); guest_name.setText(person.getString("name")); guest_id_card.setText(person.getString("id_card_number")); guest_phone.setText(person.getString("phone")); @@ -665,7 +666,12 @@ public void initGuestIdentity(ModelAdapter guest) { if (guest != null) { - setIdentityWithPersonInThread(guest.getString(Guest.person_id)); + String table = guest.getString(Constants.TABLE); + if ("person".equals(table)) { + setIdentityWithPersonInThread(guest.getString(Person.id)); + } else { + setIdentityWithPersonInThread(guest.getString(Guest.person_id)); + } } allIdentityListLock.lock(); allIdentityList.clear(); @@ -713,7 +719,6 @@ public void setIdentityWithPersonInThread(String personId) { BaseApplication.getApplication().executorService.execute(() -> { if (!TextUtils.isEmpty(personId)) { - System.out.println("GMGuest.setIdentityWithPersonInThread personId=" + personId); checkedIdentityMapByPerson.clear(); checkedIdentityMapByPerson.putAll(PersonIdentityManager.findIdentityMapByPersonId(personId)); } else { @@ -757,7 +762,7 @@ try { List<ModelAdapter> personList = PersonManager.findPersonList("select * from person where " + Person.sign_up_status + "='宸叉敞鍐�' " + - " and " + Person.sign_up_method + "!='璁垮娉ㄥ唽' and name!='绯荤粺绠$悊鍛�'"); + " and " + Person.sign_up_method + "!='璁垮娉ㄥ唽' and name!='绯荤粺绠$悊鍛�' and " + Person.del_flag + "='0'"); if (selectedRespondentOrg != null) { personList = PersonManager.filterByOrgId(personList, selectedRespondentOrg.getString(Org.id)); } @@ -902,7 +907,7 @@ } else { newPerson = true; } - ModelAdapter newPersonAsGuest = new ModelAdapter(BasicIdUtil.getPersonId()); + ModelAdapter newPersonAsGuest = new ModelAdapter(BasicIdUtil.getPersonId(guestFaceFeature)); if (checkedPerson != null) { newPersonAsGuest = checkedPerson; } @@ -962,7 +967,7 @@ cameraImageFeature = FaceId.instance.extractFeature(ModelAdapter.getAttachmentPath(newPersonAsGuest.getId(), Guest.camera_image_path, Person.tableName)); } if (cameraImageFeature != null) { - String compareResultStr = FaceId.instance.compareFeatureInDb(cameraImageFeature, 80); + String compareResultStr = FeatureManager.compareFeature(cameraImageFeature, 80); String dbPersonId = compareResultStr.split(",", -1)[0]; if (!TextUtils.isEmpty(dbPersonId)) { ModelAdapter dbPerson = PersonManager.findPersonById(dbPersonId); @@ -1025,7 +1030,7 @@ newPersonAsGuest.setString(Person.sign_up_time, new Date().getTime() + ""); newPersonAsGuest.setString(Person.del_flag, "0"); if (cameraImageFeature != null) { - FaceId.instance.addFeatureToDb(newPersonAsGuest.getId(), cameraImageFeature); + FeatureManager.addFeature(newPersonAsGuest.getId(), cameraImageFeature); } } newPersonAsGuest.setString(Person.guest_remark, remark); @@ -1189,7 +1194,9 @@ if (GuestManager.twoCameras()) { ((View) guest_list_two.getParent()).setVisibility(View.VISIBLE); } else { - ((View) guest_list_two.getParent()).setVisibility(View.GONE); + if (Constants.indoorOutdoorInOne) { + ((View) guest_list_two.getParent()).setVisibility(View.GONE); + } } respondent_face_CheckedId = ""; respondentCheckedPosition = -1; @@ -1254,7 +1261,7 @@ int savedCount = 0; for (Map<String, String> face : faces) { try { - ModelAdapter lastGuest = GuestManager.findGuestListRecentOne(); + ModelAdapter lastGuest = GuestManager.findGuestListRecentOne(guestListCameraType); String personId = face.get(FaceMessage.personId); ModelAdapter guest = new ModelAdapter(); guest.setIdWithUuid(); @@ -1347,7 +1354,7 @@ } guest.setBlob(Guest.camera_image_path, faceByteArray); } catch (Exception e) { - System.out.println("GuestModeFragment.addGuestList " + e.getMessage()); + System1.out.println("GuestModeFragment.addGuestList " + e.getMessage()); continue; } savedCount++; diff --git a/app/src/main/java/com/basic/security/fragment/HomeFragment.java b/app/src/main/java/com/basic/security/fragment/HomeFragment.java index cad55f4..9cacec6 100644 --- a/app/src/main/java/com/basic/security/fragment/HomeFragment.java +++ b/app/src/main/java/com/basic/security/fragment/HomeFragment.java @@ -25,10 +25,8 @@ import com.basic.security.base.BaseApplication; import com.basic.security.base.BaseFragment; -import com.basic.security.manager.BaseSettingManager; import com.basic.security.manager.LogManager; import com.basic.security.manager.RecognizeManager; -import com.basic.security.model.ModelAdapter; import com.basic.security.utils.Constants; import com.basic.security.utils.FastDFSUtil; import com.basic.security.utils.FileUtil; @@ -73,11 +71,11 @@ public void run() { LogManager.saveWeather("{\"now\":{\"cloud\":\"0\",\"cond_code\":\"100\",\"cond_txt\":\"鏅碶",\"fl\":\"-5\",\"hum\":\"27\",\"pcpn\":\"0.0\",\"pres\":\"1037\",\"tmp\":\"-1\",\"vis\":\"16\",\"wind_deg\":\"65\",\"wind_dir\":\"涓滃寳椋嶾",\"wind_sc\":\"2\",\"wind_spd\":\"11\"},\"basic\":{\"admin_area\":\"鍖椾含\",\"cid\":\"CN101010300\",\"cnty\":\"涓浗\",\"lat\":\"39.92148972\",\"location\":\"鏈濋槼\",\"lon\":\"116.48641205\",\"parent_city\":\"鍖椾含\",\"tz\":\"+8.00\"},\"status\":\"ok\",\"update\":{\"loc\":\"2019-11-25 09:12\",\"utc\":\"2019-11-25 01:12\"}}"); String jsonStr = LogManager.findWeather(); -// System.out.println("HomeFragment.run jsonStr" + jsonStr); +// System1.out.println("HomeFragment.run jsonStr" + jsonStr); if (!TextUtils.isEmpty(jsonStr)) { Gson gson = new Gson(); LogManager.saveWeather(jsonStr); -// System.out.println("HomeFragment.onSuccess " + jsonStr); +// System1.out.println("HomeFragment.onSuccess " + jsonStr); WeatherData data = gson.fromJson(jsonStr, WeatherData.class); Bitmap bitmap = null; try { @@ -92,11 +90,11 @@ mHandler.postDelayed(runnable, 12 * 60 * 60 * 1000); return; } -// System.out.println("HomeFragment.run 1 "); +// System1.out.println("HomeFragment.run 1 "); HeWeather.getWeatherNow(mainActivity(), "CN101010300", Lang.CHINESE_SIMPLIFIED, Unit.METRIC, new HeWeather.OnResultWeatherNowBeanListener() { public void onError(Throwable e) { - System.out.println("HomeFragment.onError " + e.getMessage()); + System1.out.println("HomeFragment.onError " + e.getMessage()); number += 1; if (number < 5) { // mHandler.postDelayed(runnable, 5000); @@ -109,7 +107,7 @@ Gson gson = new Gson(); String jsonStr = gson.toJson(dataObject.get(0)); LogManager.saveWeather(jsonStr); -// System.out.println("HomeFragment.onSuccess " + jsonStr); +// System1.out.println("HomeFragment.onSuccess " + jsonStr); //jsonStr {"now":{"cloud":"0","cond_code":"100","cond_txt":"鏅�","fl":"-5","hum":"27","pcpn":"0.0","pres":"1037","tmp":"-1","vis":"16","wind_deg":"65","wind_dir":"涓滃寳椋�","wind_sc":"2","wind_spd":"11"},"basic":{"admin_area":"鍖椾含","cid":"CN101010300","cnty":"涓浗","lat":"39.92148972","location":"鏈濋槼","lon":"116.48641205","parent_city":"鍖椾含","tz":"+8.00"},"status":"ok","update":{"loc":"2019-11-25 09:12","utc":"2019-11-25 01:12"}} WeatherData data = gson.fromJson(jsonStr, WeatherData.class); Bitmap bitmap = null; @@ -192,7 +190,7 @@ e.printStackTrace(); } try { -// System.out.println("HomeFragment.SetWeatherData"); +// System1.out.println("HomeFragment.SetWeatherData"); // mainActivity().secondaryDisplay.temp.setTextColor(Color.parseColor("#feb739")); // mainActivity().secondaryDisplay.temp.setText(data.now.tmp + "掳C"); // mainActivity().secondaryDisplay.address.setText("鍦扮偣锛�" + data.basic.admin_area + data.basic.location); @@ -232,10 +230,7 @@ @Click void test3() { - List<ModelAdapter> list = BaseSettingManager.findBaseSettingList("select * from base_setting"); - for (int i = 1; i < list.size(); i++) { - BaseSettingManager.deleteBaseSetting(list.get(i)); - } + } public void checkCardService() { diff --git a/app/src/main/java/com/basic/security/fragment/MenuFragment.java b/app/src/main/java/com/basic/security/fragment/MenuFragment.java index 9b6e3fd..dba1516 100644 --- a/app/src/main/java/com/basic/security/fragment/MenuFragment.java +++ b/app/src/main/java/com/basic/security/fragment/MenuFragment.java @@ -8,8 +8,8 @@ import android.widget.TextView; import com.basic.security.base.BaseFragment; -import com.basic.security.manager.AccountManager; import com.basic.security.manager.SystemInitManager; +import com.basic.security.manager.UserManager; import com.basic.security.utils.Constants; import com.basic.security.utils.ResolutionAdaptation; @@ -115,11 +115,11 @@ @Click public void system_setting() { SystemInitManager.showSecondDisplay(mainActivity()); - if (AccountManager.isBasic) { + if (UserManager.isBasic()) { setSelectedMenuItemBackground(system_setting); ((SystemSettingTabsFragment) mainActivity().fragment_system_setting_tabs).base_set1(); } - if (!AccountManager.isBasic) { + if (!UserManager.isBasic()) { setSelectedMenuItemBackground(system_setting); ((SystemSettingTabsFragment) mainActivity().fragment_system_setting_tabs).tv_hint_setting(); } diff --git a/app/src/main/java/com/basic/security/fragment/OrgFragment.java b/app/src/main/java/com/basic/security/fragment/OrgFragment.java index 03837ca..b073f2a 100644 --- a/app/src/main/java/com/basic/security/fragment/OrgFragment.java +++ b/app/src/main/java/com/basic/security/fragment/OrgFragment.java @@ -105,7 +105,7 @@ @UiThread public void setOrgWidth() { orgs.getLayoutParams().width = (int) (getWidestView(BaseApplication.getApplication().activity, treeAdapter) * 1.05); - System.out.println("OrgFragment.setOrgWidth " + orgs.getLayoutParams().width); + System1.out.println("OrgFragment.setOrgWidth " + orgs.getLayoutParams().width); } @AfterViews diff --git a/app/src/main/java/com/basic/security/fragment/PersonManageFragment.java b/app/src/main/java/com/basic/security/fragment/PersonManageFragment.java index 9b763c3..eeb4357 100644 --- a/app/src/main/java/com/basic/security/fragment/PersonManageFragment.java +++ b/app/src/main/java/com/basic/security/fragment/PersonManageFragment.java @@ -7,19 +7,22 @@ import android.view.ViewGroup; import com.basic.security.base.BaseFragment; -import com.basic.security.manager.AccountManager; import com.basic.security.manager.BaseSettingManager; +import com.basic.security.manager.CompanyManager; +import com.basic.security.manager.DeviceManager; +import com.basic.security.manager.FeatureManager; import com.basic.security.manager.HintSignUpManager; import com.basic.security.manager.OrgManager; import com.basic.security.manager.PersonManager; +import com.basic.security.manager.UserManager; +import com.basic.security.model.Model; import com.basic.security.model.ModelAdapter; import com.basic.security.model.Org; import com.basic.security.model.Person; import com.basic.security.utils.BasicIdUtil; import com.basic.security.utils.ButtonClickIntervalsUtils; import com.basic.security.utils.CheckIdCard; -import com.basic.security.utils.FaceId; -import com.basic.security.utils.FrameUtil; +import com.basic.security.utils.Constants; import com.basic.security.utils.PhoneNumberCheckUtils; import com.basic.security.utils.ResolutionAdaptation; import com.basic.security.utils.SocketUtil; @@ -42,11 +45,27 @@ public ConfirmDialog confirmDialog; public String savedPersonId; public boolean messageComplete = false; + boolean isNewPerson = false; + + public void selectedPerson(ModelAdapter selectedPerson) { + String personName = null; + if (selectedPerson != null) { + personName = selectedPerson.getString(Person.name); + selectedPerson.setString(Model.debug, Constants.TRUE); + } + this.selectedPerson = selectedPerson; + mainActivity.fragment_face_detail.showPersonDetail(selectedPerson); + } + + public ModelAdapter selectedPerson() { + return this.selectedPerson; + } public void savePerson() { if (!ButtonClickIntervalsUtils.isCanClick()) { return; } + isNewPerson = false; final String[] msg = {"淇濆瓨鎴愬姛"}; canSavePerson = true; BaseFragment currentFragment = mainActivity().currentFragment; @@ -57,18 +76,18 @@ return; } if (needSaveIdCard()) { - saveIdCard(selectedPerson); + saveIdCard(selectedPerson()); } - if (TextUtils.isEmpty(selectedPerson.getString("verify_status")) || idCard != null) { + if (TextUtils.isEmpty(selectedPerson().getString("verify_status")) || idCard != null) { setVerifyStatus(); } setIsSignUp(); - if (mainActivity().fragment_face_detail.savePersonIdentity(selectedPerson.getId())) { - byte[] camera_image_feature = selectedPerson.getBlob("camera_image_feature"); + if (mainActivity().fragment_face_detail.savePersonIdentity(selectedPerson().getId())) { + byte[] camera_image_feature = selectedPerson().getBlob("camera_image_feature"); if (camera_image_feature != null && camera_image_feature != null) { - int identitySize = mainActivity().fragment_face_detail.getIdentitySize(); + int identitySize = mainActivity().fragment_face_detail.checkedIdentityMapByPerson.values().size(); identitySize = 1; - if ("宸叉敞鍐�".equals(selectedPerson.getString("sign_up_status")) + if ("宸叉敞鍐�".equals(selectedPerson().getString("sign_up_status")) && currentFragment == mainActivity().fragment_person_manage) { if (!messageComplete) { return; @@ -79,25 +98,25 @@ } ToastUtil.show(msg[0]); } - selectedPerson.setString("all_device", mainActivity().fragment_face_detail.aboutDevice()); - if (TextUtils.isEmpty(selectedPerson.getString(Person.org_id))) { + selectedPerson().setString("all_device", mainActivity().fragment_face_detail.clusterDevices.isChecked() ? "1" : "0"); + if (TextUtils.isEmpty(selectedPerson().getString(Person.org_id))) { ModelAdapter rootOrg = OrgManager.findRootOrg(); if (rootOrg != null) { - selectedPerson.setString(Person.org_id, rootOrg.getString(Org.id)); - selectedPerson.setString(Person.org_ids, rootOrg.getString(Org.ids)); + selectedPerson().setString(Person.org_id, rootOrg.getString(Org.id)); + selectedPerson().setString(Person.org_ids, rootOrg.getString(Org.ids)); } } - PersonManager.savePerson(selectedPerson); - SocketUtil.rpcCallSavePerson(selectedPerson); - savedPersonId = selectedPerson.getId(); - mainActivity().fragment_face_detail.updateData(selectedPerson.getId()); + PersonManager.savePerson(selectedPerson()); + SocketUtil.rpcCallSavePerson(selectedPerson()); + savedPersonId = selectedPerson().getId(); if (isNewPerson()) { - FaceId.instance.addFeatureToDb(selectedPerson.getId(), selectedPerson.getBlob("camera_image_feature")); + selectedPerson.setString(Model.newModel, com.basic.security.utils.Constants.TRUE); + selectedPerson(selectedPerson); + FeatureManager.addFeature(selectedPerson().getId(), selectedPerson().getBlob("camera_image_feature")); } } else { ToastUtil.show("鑾峰彇澶村儚澶辫触,璇风◢鍚庨噸璇�!"); } - System.out.println("SavePersonHelper.execute MainActivity.showFragment fragment_su_logged_ic_compare_success " + FrameUtil.getFrames()); mainActivity().runOnUiThread(() -> { jumpToPage(); }); @@ -106,13 +125,13 @@ } public void setIsSignUp() { - if (!AccountManager.adminLoggedIn()) { - selectedPerson.setString("sign_up_status", "宸叉敞鍐�"); + if (!UserManager.adminLoggedIn()) { + selectedPerson().setString("sign_up_status", "宸叉敞鍐�"); } - if (AccountManager.adminLoggedIn()) { - String sign_up_status = selectedPerson.getString("sign_up_status"); + if (UserManager.adminLoggedIn()) { + String sign_up_status = selectedPerson().getString("sign_up_status"); messageComplete = mainActivity().fragment_face_detail.detailMessageIsComplete(); - int identitySize = mainActivity().fragment_face_detail.getIdentitySize(); + int identitySize = mainActivity().fragment_face_detail.checkedIdentityMapByPerson.values().size(); identitySize = 1; // 涓嶅垽鏂槸鍚︽湁韬唤淇℃伅閮藉彲浠ヤ繚瀛� if (mainActivity().currentFragment == mainActivity().fragment_su_logged_ic_compare_success || mainActivity().currentFragment == mainActivity().fragment_su_logged_ic_wait_idcard @@ -120,25 +139,25 @@ || mainActivity().currentFragment == mainActivity().fragment_su_logged_nic_wait_detail || mainActivity().currentFragment == mainActivity().fragment_su_logged_nic_wait_face) { if (messageComplete) { - selectedPerson.setString("sign_up_status", "宸叉敞鍐�"); + selectedPerson().setString("sign_up_status", "宸叉敞鍐�"); ToastUtil.show("娉ㄥ唽鎴愬姛"); } else { - selectedPerson.setString("sign_up_status", "鏈敞鍐�"); + selectedPerson().setString("sign_up_status", "鏈敞鍐�"); } } else { if (!"宸叉敞鍐�".equals(sign_up_status)) { if (messageComplete) { - selectedPerson.setString("sign_up_status", "宸叉敞鍐�"); + selectedPerson().setString("sign_up_status", "宸叉敞鍐�"); msg[0] = HintSignUpManager.getRegisterSuccessHint(); if (identitySize > 0) { - selectedPerson.setString("sign_up_status", "宸叉敞鍐�"); + selectedPerson().setString("sign_up_status", "宸叉敞鍐�"); msg[0] = HintSignUpManager.getRegisterSuccessHint(); } else { ToastUtil.show("璇烽�夋嫨韬唤!"); - selectedPerson.setString("sign_up_status", "鏈敞鍐�"); + selectedPerson().setString("sign_up_status", "鏈敞鍐�"); } } else { - selectedPerson.setString("sign_up_status", "鏈敞鍐�"); + selectedPerson().setString("sign_up_status", "鏈敞鍐�"); ToastUtil.show("淇℃伅濉啓涓嶅畬鏁�!"); } } @@ -147,44 +166,56 @@ } public void setVerifyStatus() { - if ("鑷姪娉ㄥ唽".equals(selectedPerson.getString("sign_up_method"))) { + if ("鑷姪娉ㄥ唽".equals(selectedPerson().getString("sign_up_method"))) { if (BaseSettingManager.isAutoSignUpIDCardMode()) { - selectedPerson.setString("verify_status", "鏈獙璇佽韩浠借瘉"); + selectedPerson().setString("verify_status", "鏈獙璇佽韩浠借瘉"); } else { - selectedPerson.setString("verify_status", "涓嶉渶瑕侀獙璇佽韩浠借瘉"); + selectedPerson().setString("verify_status", "涓嶉渶瑕侀獙璇佽韩浠借瘉"); } } else { if (BaseSettingManager.isAdminAuthSignUpModeNeedIdCard()) { - selectedPerson.setString("verify_status", "鏈獙璇佽韩浠借瘉"); + selectedPerson().setString("verify_status", "鏈獙璇佽韩浠借瘉"); } else { - selectedPerson.setString("verify_status", "涓嶉渶瑕侀獙璇佽韩浠借瘉"); + selectedPerson().setString("verify_status", "涓嶉渶瑕侀獙璇佽韩浠借瘉"); } } - if (selectedPerson.getBlob("id_card_image_path") != null) { - selectedPerson.setString("verify_status", "宸茬粡楠岃瘉韬唤璇�"); + if (selectedPerson().getBlob("id_card_image_path") != null) { + selectedPerson().setString("verify_status", "宸茬粡楠岃瘉韬唤璇�"); } } public boolean checkPersonDocument() { - boolean isNewPerson = false; if (isNewPerson()) { - mainActivity().fragment_face_detail.emptyInput(); + mainActivity().fragment_face_detail.showPersonDetail(null); isNewPerson = true; createNewPerson(); - if (!AccountManager.adminLoggedIn()) { - selectedPerson.setString("sign_up_method", "鑷姪娉ㄥ唽"); + if (!UserManager.adminLoggedIn()) { + selectedPerson().setString("sign_up_method", "鑷姪娉ㄥ唽"); } else { - selectedPerson.setString("sign_up_method", "浜哄伐娉ㄥ唽"); + selectedPerson().setString("sign_up_method", "浜哄伐娉ㄥ唽"); } if (!savePhotoAndFeature()) { return false; } - if (PersonManager.isDuplicate(selectedPerson)) { - System.out.println("PersonManagerFragment:114,涓嶅簲璇ユ湁閲嶅"); - return false; +// String duplicatedPersonId = PersonManager.isDuplicate(selectedPerson()); + String duplicatedPersonId = FeatureManager.isDuplicateInAllDb(selectedPerson()); + if (!TextUtils.isEmpty(duplicatedPersonId)) { + if (isNewPerson) { + try { + FeatureManager.removeFeature(duplicatedPersonId); + ModelAdapter duplicatedPerson = PersonManager.findPersonById(duplicatedPersonId); + PersonManager.deletePerson(duplicatedPerson); + selectedPerson().setString(Person.id, duplicatedPersonId); + } catch (Exception e) { + e.printStackTrace(); + } + } else { + System1.out.println("PersonManagerFragment:114,涓嶅簲璇ユ湁閲嶅 personId=" + duplicatedPersonId); + return false; + } } } else { - if (selectedPerson == null) { + if (selectedPerson() == null) { return false; } } @@ -192,15 +223,18 @@ } public void createNewPerson() { - selectedPerson = new ModelAdapter(BasicIdUtil.getPersonId()); - selectedPerson.setString("del_flag", "0"); - selectedPerson.setString("table", "person"); - selectedPerson.setString("sign_up_time", new Date().getTime() + ""); + selectedPerson = new ModelAdapter(BasicIdUtil.getPersonId(getFaceFeature())); + selectedPerson.setString(Model.debug, Constants.TRUE); + selectedPerson().setString(Person.device_id, DeviceManager.getDeviceId()); + selectedPerson().setString(Person.company_id, CompanyManager.getCompanyId()); + selectedPerson().setString("del_flag", "0"); + selectedPerson().setString("table", "person"); + selectedPerson().setString("sign_up_time", new Date().getTime() + ""); } public void jumpToPage() { isFromAdminRegister = false; - if (AccountManager.adminLoggedIn()) { + if (UserManager.adminLoggedIn()) { if (currentFragment == mainActivity().fragment_su_logged_nic_wait_detail) { mainActivity().showFragment(mainActivity().fragment_su_logged_nic_wait_face); mainActivity().fragment_face_detail.clearInPutText(); @@ -229,16 +263,12 @@ if (mainActivity().currentFragment != mainActivity().fragment_person_manage) { if (mainActivity().currentFragment != mainActivity().fragment_su_logged_nic_wait_face || mainActivity().currentFragment != mainActivity().fragment_su_logged_nic_wait_detail) { - mainActivity().fragment_face_detail.updateDetailUI(null); - mainActivity().fragment_face_detail.updateIdentityListUI(null); } else { personChanged(null, true, false); } } else { if ("鏈敞鍐�".equals(mainActivity().fragment_face_list.isRegister())) { - mainActivity().fragment_face_list.findNextPosition(selectedPerson, false); - } else { - personChanged(PersonManager.findPersonById(selectedPerson.getId()), false, false); + mainActivity().fragment_face_list.findNextPosition(selectedPerson(), false); } } } else { @@ -252,14 +282,14 @@ } public boolean needSaveIdCard() { - if (!AccountManager.adminLoggedIn()) { + if (!UserManager.adminLoggedIn()) { if (currentFragment == mainActivity().fragment_su_auto_ic_compare_success || currentFragment == mainActivity().fragment_su_auto_ic_wait_phone || currentFragment == mainActivity().fragment_su_auto_ic_wait_idcard) { return true; } } - if (AccountManager.adminLoggedIn()) { + if (UserManager.adminLoggedIn()) { if (currentFragment == mainActivity().fragment_su_logged_ic_wait_idcard || currentFragment == mainActivity().fragment_su_logged_ic_compare_success) { return true; @@ -272,66 +302,66 @@ boolean success = true; boolean allowPhone = true; boolean allowIDNumber = true; - if (!AccountManager.adminLoggedIn()) { - selectedPerson.setString("sign_up_rule", BaseSettingManager.getDefaultRegisterRule()); + if (!UserManager.adminLoggedIn()) { + selectedPerson().setString("sign_up_rule", BaseSettingManager.getDefaultRegisterRule()); if ("鏈夋晥鏃堕棿鍐呴�氳".equals(BaseSettingManager.getDefaultRegisterRule())) { if (TextUtils.isEmpty(BaseSettingManager.getDefaultRegisterTimeId())) { ToastUtil.show("璇烽�夋嫨鏈夋晥鏃堕棿鍐呴�氳鍏蜂綋鏃堕棿娈�"); canSavePerson = false; } - selectedPerson.setString("checked_time_rule_id", BaseSettingManager.getDefaultRegisterTimeId()); + selectedPerson().setString("checked_time_rule_id", BaseSettingManager.getDefaultRegisterTimeId()); } if (currentFragment == mainActivity().fragment_su_auto_ic_compare_success) { String phone = mainActivity().fragment_su_auto_ic_compare_success.phone_number.getText().toString().trim(); if (!TextUtils.isEmpty(phone) && !PhoneNumberCheckUtils.isPhone(phone)) { allowPhone = false; } else { - selectedPerson.setString("phone", phone); + selectedPerson().setString("phone", phone); } } else if (currentFragment == mainActivity().fragment_su_auto_wait_face) { } else if (currentFragment == mainActivity().fragment_su_auto_nic_wait_detail) { SuAutoNicWaitDetailFragment fragment_su_auto_nic_wait_detail = mainActivity().fragment_su_auto_nic_wait_detail; String phone = fragment_su_auto_nic_wait_detail.phone_number.getText().toString(); String idCardNumber = fragment_su_auto_nic_wait_detail.id_card.getText().toString(); - selectedPerson.setString("name", fragment_su_auto_nic_wait_detail.name.getText().toString()); + selectedPerson().setString("name", fragment_su_auto_nic_wait_detail.name.getText().toString()); if (!TextUtils.isEmpty(idCardNumber)) { CheckIdCard idCard = new CheckIdCard(idCardNumber); if (idCard.validate()) { - selectedPerson.setString("id_card_number", idCardNumber); + selectedPerson().setString("id_card_number", idCardNumber); } else { allowIDNumber = false; } } else { - selectedPerson.setString("id_card_number", idCardNumber); + selectedPerson().setString("id_card_number", idCardNumber); } if (!TextUtils.isEmpty(phone) && !PhoneNumberCheckUtils.isPhone(phone)) { allowPhone = false; } else { - selectedPerson.setString("phone", phone); + selectedPerson().setString("phone", phone); } } } - if (AccountManager.adminLoggedIn()) { + if (UserManager.adminLoggedIn()) { FaceDetailFragment faceDetailFragment = mainActivity().fragment_face_detail; String phone = faceDetailFragment.getInPutPhoneNumber(); String idCardNumber = faceDetailFragment.getInPutIdCardNumber(); String studentId = faceDetailFragment.getInputStudentId(); - selectedPerson.setString(Person.student_id, studentId); + selectedPerson().setString(Person.student_id, studentId); if (faceDetailFragment.selectedOrg != null) { - selectedPerson.setString(Person.org_id, faceDetailFragment.selectedOrg.getString(Org.id)); - selectedPerson.setString(Person.org_ids, faceDetailFragment.selectedOrg.getString(Org.ids)); + selectedPerson().setString(Person.org_id, faceDetailFragment.selectedOrg.getString(Org.id)); + selectedPerson().setString(Person.org_ids, faceDetailFragment.selectedOrg.getString(Org.ids)); } - selectedPerson.setString("sign_up_rule", faceDetailFragment.getSignUpRule()); + selectedPerson().setString("sign_up_rule", faceDetailFragment.getSignUpRule()); if ("鏈夋晥鏃堕棿鍐呴�氳".equals(faceDetailFragment.getSignUpRule())) { if (TextUtils.isEmpty(faceDetailFragment.getCheckedTimeRuleId())) { ToastUtil.show("璇烽�夋嫨鏈夋晥鏃堕棿鍐呴�氳鍏蜂綋鏃堕棿娈�"); canSavePerson = false; } - selectedPerson.setString("checked_time_rule_id", faceDetailFragment.getCheckedTimeRuleId()); + selectedPerson().setString("checked_time_rule_id", faceDetailFragment.getCheckedTimeRuleId()); } - selectedPerson.setString("name", faceDetailFragment.getInPutName()); - selectedPerson.setString(Person.guest_visit_valid_time, faceDetailFragment.getGuestVisitValid()); - if (!isNewPerson && StringUtils.isEmpty(selectedPerson.getString(Person.name)) && + selectedPerson().setString("name", faceDetailFragment.getInPutName()); + selectedPerson().setString(Person.guest_visit_valid_time, faceDetailFragment.getGuestVisitValid()); + if (!isNewPerson && StringUtils.isEmpty(selectedPerson().getString(Person.name)) && BaseSettingManager.isAutoSignUpNotIDCardModeNeedName()) { ToastUtil.show("濮撳悕涓嶈兘涓虹┖"); return false; @@ -339,7 +369,7 @@ if (!TextUtils.isEmpty(idCardNumber)) { CheckIdCard idCard = new CheckIdCard(idCardNumber); if (idCard.validate()) { - selectedPerson.setString("id_card_number", idCardNumber); + selectedPerson().setString("id_card_number", idCardNumber); } else { if (!isNewPerson) { ToastUtil.show("璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�"); @@ -352,7 +382,7 @@ ToastUtil.show("韬唤璇佸彿鐮佷笉鑳戒负绌�"); return false; } - selectedPerson.setString("id_card_number", idCardNumber); + selectedPerson().setString("id_card_number", idCardNumber); } if (!TextUtils.isEmpty(phone) && !PhoneNumberCheckUtils.isPhone(phone)) { allowPhone = false; @@ -361,16 +391,16 @@ return false; } } else { - selectedPerson.setString("phone", phone); + selectedPerson().setString("phone", phone); } - if (!isNewPerson && StringUtils.isEmpty(selectedPerson.getString(Person.phone)) && + if (!isNewPerson && StringUtils.isEmpty(selectedPerson().getString(Person.phone)) && BaseSettingManager.isAutoSignUpNotIDCardModeNeedPhone()) { ToastUtil.show("鐢佃瘽鍙风爜涓嶈兘涓虹┖"); return false; } } - if ("宸茬粡楠岃瘉韬唤璇�".equals(selectedPerson.getString("verify_status")) - || "鏈獙璇佽韩浠借瘉".equals(selectedPerson.getString("verify_status"))) { + if ("宸茬粡楠岃瘉韬唤璇�".equals(selectedPerson().getString("verify_status")) + || "鏈獙璇佽韩浠借瘉".equals(selectedPerson().getString("verify_status"))) { if (!allowPhone) { ToastUtil.show("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜"); canSavePerson = false; @@ -395,9 +425,9 @@ } public boolean savePhotoAndFeature() { - if (!saveBlob(selectedPerson, "camera_image_feature", getFaceFeature()) || - !saveBlob(selectedPerson, "camera_image_path", getFacePositionJpgData())) { - System.out.println("娌℃湁澶村儚鍥剧墖鍜屽ご鍍忕壒寰�"); + if (!saveBlob(selectedPerson(), "camera_image_feature", getFaceFeature()) || + !saveBlob(selectedPerson(), "camera_image_path", getFacePositionJpgData())) { + System1.out.println("娌℃湁澶村儚鍥剧墖鍜屽ご鍍忕壒寰�"); return false; } return true; @@ -409,7 +439,7 @@ mainActivity().fragment_su_logged_ic_wait_face).contains(currentFragment)) { return true; } - return !AccountManager.adminLoggedIn(); + return !UserManager.adminLoggedIn(); } } new SavePersonHelper().execute(); @@ -420,19 +450,18 @@ } public void deletePerson() { - if (selectedPerson == null || "1".equals(selectedPerson.getString("auto_init"))) { -// ToastUtil.show("绯荤粺绠$悊鍛樹笉鑳借鍒犻櫎"); + if (selectedPerson() == null || "1".equals(selectedPerson().getString("auto_init"))) { return; } confirmDialog = new ConfirmDialog(mainActivity(), "纭鏄惁鍒犻櫎", "纭鍒犻櫎", "鍙栨秷"); confirmDialog.show(); confirmDialog.setClickListener(new ConfirmDialog.ClickListenerInterface() { public void doConfirm() { - String personId = selectedPerson.getId(); - FaceId.instance.removeFeatureFromDb(selectedPerson.getId()); - PersonManager.deletePerson(selectedPerson); + String personId = selectedPerson().getId(); + FeatureManager.removeFeature(selectedPerson().getId()); + PersonManager.deletePerson(selectedPerson()); if (mainActivity().currentFragment == mainActivity().fragment_person_manage) { - mainActivity().fragment_face_list.findNextPosition(selectedPerson, true); + mainActivity().fragment_face_list.findNextPosition(selectedPerson(), true); } if (mainActivity().currentFragment == mainActivity().fragment_su_logged_nic_wait_detail || mainActivity().currentFragment == mainActivity().fragment_su_logged_ic_compare_success @@ -445,6 +474,7 @@ mainActivity().fragment_person_manage.personChanged(null, false, false); } confirmDialog.dismiss(); + mainActivity().fragment_person_manage.selectedPerson(null); } public void doCancel() { @@ -464,9 +494,9 @@ new HashMap<>(), person); } } - selectedPerson = person; - mainActivity().fragment_face_detail.updateIdentityListUI(person); - mainActivity().fragment_face_detail.updateDetailUI(person); + selectedPerson(person); +// mainActivity().fragment_face_detail.updateIdentityListUI(person); +// mainActivity().fragment_face_detail.updateDetailUI(person); } public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { @@ -481,24 +511,23 @@ super.show(); mainActivity().fragment_face_list.update_tv_person_number(); if (mainActivity().currentFragment == mainActivity().fragment_su_logged_ic_wait_idcard) { - mainActivity().fragment_face_detail.updateIdentityListUI(null); +// mainActivity().fragment_face_detail.updateIdentityListUI(null); } - // 瑙e喅浠庢敞鍐岄〉闈㈣烦鍒颁汉鍛樼鐞嗛〉闈�,绗竴娆′笉鏄剧ず璇峰湪鍒峰崱鍖洪獙璇佽韩浠借瘉 - if (selectedPerson != null && isFromAdminRegister) { - mainActivity().fragment_face_detail.updateDetailUI(selectedPerson); + if (selectedPerson() != null && isFromAdminRegister) { +// mainActivity().fragment_face_detail.updateDetailUI(selectedPerson()); } } public void hide() { super.hide(); if (mainActivity().currentFragment != mainActivity().fragment_person_manage) { - // 褰撲汉宸ユ敞鍐岃韩浠借瘉楠岃瘉鏃�,浼氭妸selectedPerson缃负null,鏆傛椂娌℃壘鍒扮疆涓簄ull鐨勫師鍥�,涓轰簡涓嶅奖鍝嶅凡鏈夌殑閫昏緫 - // 褰撲负宸ユ敞鍐岃韩浠借瘉楠岃瘉鏃�,涓嶆妸selectedPerson缃负null, if (mainActivity().currentFragment == mainActivity().fragment_su_logged_ic_compare_success || mainActivity().currentFragment == mainActivity().fragment_su_logged_ic_wait_idcard || mainActivity().currentFragment == mainActivity().fragment_su_logged_ic_wait_face) { } else { - selectedPerson = null; +// selectedPerson(null); +// mainActivity.fragment_face_detail.updateDetailUI(null); +// mainActivity.fragment_face_detail.updateIdentityListUI(null); } if (confirmDialog != null) { confirmDialog.dismiss(); @@ -506,22 +535,20 @@ } } - //鍙栨秷 public void giveUpSave() { mainActivity().fragment_menu.person_add(); } - //楠岃瘉韬唤璇佸拰鎵嬫満鍙� private boolean checkIdCardAndPhone() { - if (!TextUtils.isEmpty(selectedPerson.getString("id_card_number"))) { - CheckIdCard checkIdCard = new CheckIdCard(selectedPerson.getString("id_card_number")); + if (!TextUtils.isEmpty(selectedPerson().getString("id_card_number"))) { + CheckIdCard checkIdCard = new CheckIdCard(selectedPerson().getString("id_card_number")); if (!checkIdCard.validate()) { ToastUtil.show("璇疯緭鍏ユ纭殑韬唤璇佸彿"); return false; } } - if (!TextUtils.isEmpty(selectedPerson.getString("phone"))) { - if (!PhoneNumberCheckUtils.isPhone(selectedPerson.getString("phone"))) { + if (!TextUtils.isEmpty(selectedPerson().getString("phone"))) { + if (!PhoneNumberCheckUtils.isPhone(selectedPerson().getString("phone"))) { ToastUtil.show("璇疯緭鍏ユ纭殑鎵嬫満鍙�"); return false; } diff --git a/app/src/main/java/com/basic/security/fragment/SuLoggedNicWaitFaceFragment.java b/app/src/main/java/com/basic/security/fragment/SuLoggedNicWaitFaceFragment.java index 35eab7b..2e8a3a3 100644 --- a/app/src/main/java/com/basic/security/fragment/SuLoggedNicWaitFaceFragment.java +++ b/app/src/main/java/com/basic/security/fragment/SuLoggedNicWaitFaceFragment.java @@ -10,7 +10,6 @@ import com.basic.security.manager.SystemInitManager; import com.basic.security.utils.ResolutionAdaptation; -import org.androidannotations.annotations.Click; import org.androidannotations.annotations.EFragment; @EFragment @@ -20,7 +19,7 @@ } //浜哄伐娉ㄥ唽妯″紡涓� 涓嶉渶瑕佽韩浠借瘉妯″紡 - + void nic_back_person_manager() { SystemInitManager.showSecondDisplay(mainActivity()); mainActivity().fragment_menu.person_manage(); diff --git a/app/src/main/java/com/basic/security/fragment/SystemSettingTabsFragment.java b/app/src/main/java/com/basic/security/fragment/SystemSettingTabsFragment.java index 336952e..6352c01 100644 --- a/app/src/main/java/com/basic/security/fragment/SystemSettingTabsFragment.java +++ b/app/src/main/java/com/basic/security/fragment/SystemSettingTabsFragment.java @@ -9,7 +9,7 @@ import android.widget.TextView; import com.basic.security.base.BaseFragment; -import com.basic.security.manager.AccountManager; +import com.basic.security.manager.UserManager; import com.basic.security.utils.Constants; import com.basic.security.utils.ResolutionAdaptation; @@ -59,7 +59,7 @@ public void show() { super.show(); mainActivity().fragment_camera.overlay.setBackgroundColor(Color.parseColor("#001738")); - if (!AccountManager.isBasic) { + if (!UserManager.isBasic() && Constants.USE_GRAY_CAMERA) { base_set_parent.setVisibility(View.GONE); base_set_parent_next.setVisibility(View.GONE); base_set_layout_parent.setVisibility(View.GONE); @@ -73,7 +73,7 @@ colony_set_parent_next.setVisibility(View.GONE); colony_set_layout_parent.setVisibility(View.GONE); } - if (AccountManager.isBasic && Constants.indoorOutdoorInOne) { + if (UserManager.isBasic()) { base_set_parent.setVisibility(View.VISIBLE); base_set_parent_next.setVisibility(View.VISIBLE); base_set_layout_parent.setVisibility(View.VISIBLE); @@ -168,7 +168,7 @@ resetColor(currentPage); currentPage = 6; changeColor(currentPage); - mainActivity().showFragment(mainActivity().fragment_account_setting); + mainActivity().showFragment(mainActivity().fragment_user); } private void resetColor(int i) { diff --git a/app/src/main/java/com/basic/security/fragment/ToolbarFragment.java b/app/src/main/java/com/basic/security/fragment/ToolbarFragment.java index b5a4af5..dcea11d 100644 --- a/app/src/main/java/com/basic/security/fragment/ToolbarFragment.java +++ b/app/src/main/java/com/basic/security/fragment/ToolbarFragment.java @@ -1,6 +1,5 @@ package com.basic.security.fragment; -import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import android.os.SystemClock; @@ -12,9 +11,9 @@ import com.basic.security.base.BaseApplication; import com.basic.security.base.BaseFragment; -import com.basic.security.manager.AccountManager; import com.basic.security.manager.BaseSettingManager; import com.basic.security.manager.SystemInitManager; +import com.basic.security.manager.UserManager; import com.basic.security.utils.Constants; import com.basic.security.utils.ResolutionAdaptation; @@ -43,7 +42,8 @@ @ViewById public ImageView login_photo; @ViewById - public View home, + public View +// home, login, logout, admin_msg, @@ -52,7 +52,6 @@ List<TextView> menus = new ArrayList<>(); List<View> toolbarButtons = new ArrayList<>(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { @@ -66,7 +65,8 @@ @AfterViews public void afterViews() { - toolbarButtons.addAll(Arrays.asList(home, + toolbarButtons.addAll(Arrays.asList( +// home, login, logout, admin_msg, @@ -107,20 +107,21 @@ @Click public void logout() { - if(Constants.indoorOutdoorInOne) { -// System.out.println("ToolbarFragment.logout"); - AccountManager.setIsBasic(false); + if (Constants.indoorOutdoorInOne) { +// System1.out.println("ToolbarFragment.logout"); + UserManager.setIsBasic(false); // SystemInitManager.hideSecondDisplay(mainActivity()); if (Constants.indoorOutdoorInOne) { - AccountManager.setAdminAccount1(null); + UserManager.setAdminUser1(null); } else { - AccountManager.setAdminAccount(null); + UserManager.setAdminUser(null); } showFragment(mainActivity().fragment_admin_logout); // mainActivity().hideOneFragment(mainActivity().fragment_advertising_image_view); } if (Constants.isOutdoor) { - AccountManager.setAdminAccount(null); + + UserManager.setAdminUser(null); showFragment(mainActivity().fragment_home); } } @@ -148,7 +149,7 @@ } public void toggleGuestModeButton() { - if (BaseSettingManager.isGuestMode() && AccountManager.adminLoggedIn()) { + if (BaseSettingManager.isGuestMode() && UserManager.adminLoggedIn() && Constants.indoorOutdoorInOne) { visitor_model.setVisibility(View.VISIBLE); } else { visitor_model.setVisibility(View.GONE); @@ -194,11 +195,11 @@ @Click public void system_setting() { SystemInitManager.showSecondDisplay(mainActivity()); - if (AccountManager.isBasic) { + if (UserManager.isBasic()) { setSelectedMenuItemBackground(system_setting); ((SystemSettingTabsFragment) mainActivity().fragment_system_setting_tabs).base_set1(); } - if (!AccountManager.isBasic) { + if (!UserManager.isBasic()) { setSelectedMenuItemBackground(system_setting); ((SystemSettingTabsFragment) mainActivity().fragment_system_setting_tabs).tv_hint_setting(); } diff --git a/app/src/main/java/com/basic/security/fragment/AccountSettingFragment.java b/app/src/main/java/com/basic/security/fragment/UserFragment.java similarity index 87% rename from app/src/main/java/com/basic/security/fragment/AccountSettingFragment.java rename to app/src/main/java/com/basic/security/fragment/UserFragment.java index e3b5b4c..6c49444 100644 --- a/app/src/main/java/com/basic/security/fragment/AccountSettingFragment.java +++ b/app/src/main/java/com/basic/security/fragment/UserFragment.java @@ -11,13 +11,13 @@ import android.widget.EditText; import com.basic.security.base.BaseFragment; -import com.basic.security.manager.AccountManager; import com.basic.security.manager.CompanyManager; import com.basic.security.manager.DeviceManager; +import com.basic.security.manager.FeatureManager; import com.basic.security.manager.PersonManager; +import com.basic.security.manager.UserManager; import com.basic.security.model.ModelAdapter; import com.basic.security.model.Person; -import com.basic.security.utils.FaceId; import com.basic.security.utils.FacePosition; import com.basic.security.utils.ResolutionAdaptation; import com.basic.security.utils.ToastUtil; @@ -32,7 +32,7 @@ import de.hdodenhof.circleimageview.CircleImageView; @EFragment -public class AccountSettingFragment extends BaseFragment { +public class UserFragment extends BaseFragment { public static boolean isChangePhoto = false; public FacePosition currentFacePosition; @ViewById @@ -44,7 +44,7 @@ private String accountName, oldPassword, newPassword, againPassword; public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - return inflater.inflate(ResolutionAdaptation.fragment_account_setting1(), container, false); + return inflater.inflate(ResolutionAdaptation.fragment_user1(), container, false); } @Override @@ -56,9 +56,9 @@ new_password.setText(""); old_password.setText(""); try { - ModelAdapter adminAccount = AccountManager.getAdminAccount(); + ModelAdapter adminAccount = UserManager.adminUser(); if (adminAccount != null) { - ModelAdapter admin_person = PersonManager.findPersonById(AccountManager.getAdminAccount().getString("person_id")); + ModelAdapter admin_person = PersonManager.findPersonById(UserManager.adminUser().getString("person_id")); byte[] data = admin_person.getBlob("camera_image_path"); if (data != null) { user_photo.setImageBitmap(BitmapFactory.decodeByteArray(data, 0, data.length)); @@ -83,7 +83,7 @@ @Click void btn_delete_photo() { - ModelAdapter user = AccountManager.getAdminAccount(); + ModelAdapter user = UserManager.adminUser(); ModelAdapter admin_in_person = PersonManager.findPersonById(user.getString("person_id")); String camera_image_path = ModelAdapter.getAttachmentPath(admin_in_person.getId(), Person.camera_image_path, Person.tableName); if (!TextUtils.isEmpty(camera_image_path)) { @@ -92,7 +92,7 @@ camera_image_path_file.delete(); } } - FaceId.instance.removeFeatureFromDb(admin_in_person.getString(Person.id)); + FeatureManager.removeFeature(admin_in_person.getString(Person.id)); admin_in_person.setString(Person.camera_image_path, ""); admin_in_person.setString(Person.camera_image_feature, ""); PersonManager.savePerson(admin_in_person); @@ -106,7 +106,7 @@ void btn_sure_photo() { try { isChangePhoto = false; - ModelAdapter user = AccountManager.getAdminAccount(); + ModelAdapter user = UserManager.adminUser(); user.setString("table", "user"); user.setString("password", newPassword); user.setString("device_id", DeviceManager.getDeviceId()); @@ -121,7 +121,7 @@ PersonManager.savePerson(admin_in_person); } if (admin_in_person.getBlob("camera_image_feature") != null) { - FaceId.instance.addFeatureToDb(admin_in_person.getId(), admin_in_person.getBlob("camera_image_feature")); + FeatureManager.addFeature(admin_in_person.getId(), admin_in_person.getBlob("camera_image_feature")); } //mainActivity().fragment_toolbar.login_photo.setImageBitmap(currentFacePosition.faceBitmap); ToastUtil.show("淇敼鎴愬姛"); @@ -132,14 +132,10 @@ @Click void save() { - if (AccountManager.isBasic()) { - ToastUtil.show("鍙湁绠$悊鍛樻墠鑳戒慨鏀瑰瘑鐮�"); - return; - } oldPassword = old_password.getText().toString().trim(); newPassword = new_password.getText().toString().trim(); againPassword = again_password.getText().toString().trim(); - String adminPassword = AccountManager.getCurrentAdminPassword(); + String adminPassword = UserManager.getCurrentAdminPassword(); if (TextUtils.isEmpty(oldPassword)) { ToastUtil.show("鏃у瘑鐮佷笉鑳戒负绌猴紝璇锋鏌ュ悗閲嶆柊杈撳叆"); return; @@ -163,14 +159,14 @@ return; } try { - ModelAdapter user = AccountManager.getAdminAccount(); + ModelAdapter user = UserManager.adminUser(); user.setString("table", "user"); user.setString("password", newPassword); user.setString("device_id", DeviceManager.getDeviceId()); user.setString("company_id", CompanyManager.getCompanyId()); ModelAdapter admin_in_person = PersonManager.findPersonById(user.getString("person_id")); PersonManager.savePerson(admin_in_person); - AccountManager.saveAccount(user); + UserManager.saveAccount(user); ToastUtil.show("淇敼瀵嗙爜鎴愬姛"); } catch (Exception e) { e.printStackTrace(); diff --git a/app/src/main/java/com/basic/security/fragment/VideoViewFragment.java b/app/src/main/java/com/basic/security/fragment/VideoViewFragment.java index 967ab3e..fbeb9eb 100644 --- a/app/src/main/java/com/basic/security/fragment/VideoViewFragment.java +++ b/app/src/main/java/com/basic/security/fragment/VideoViewFragment.java @@ -100,12 +100,12 @@ videoView.setClipToOutline(true); videoView.setVideoPath("/sdcard/face.mp4"); videoView.setOnCompletionListener(mp -> { -// System.out.println("VideoViewFragment.playVideo 1"); +// System1.out.println("VideoViewFragment.playVideo 1"); mp.start(); mp.setLooping(true); }); videoView.setOnPreparedListener(mp -> { -// System.out.println("VideoViewFragment.playVideo 2"); +// System1.out.println("VideoViewFragment.playVideo 2"); mp.start(); mp.setLooping(true); }); diff --git a/app/src/main/java/com/basic/security/fragment/VisitListFragment.java b/app/src/main/java/com/basic/security/fragment/VisitListFragment.java index f9e4825..a53341a 100644 --- a/app/src/main/java/com/basic/security/fragment/VisitListFragment.java +++ b/app/src/main/java/com/basic/security/fragment/VisitListFragment.java @@ -153,9 +153,6 @@ public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { selectIdentity = ruleListName.get(position); emptyPersonDetail(); -// if (!"鍏ㄩ儴".equals(ruleListName.get(position))) { -// -// } loadTask(LOAD_FROM_ZERO); } @@ -182,13 +179,6 @@ View checked = vh.getView(com.basic.security.utils.RUtils.R_id_checked); checkedList.add(checked); View row = vh.getView(com.basic.security.utils.RUtils.R_id_row); -// row.setOnClickListener(new View.OnClickListener() { -// @Override -// public void onClick(View v) { -// loadPersonByID(position); -// checked.setVisibility(View.VISIBLE); -// } -// }); TextView device_name = vh.getView(com.basic.security.utils.RUtils.R_id_device_name); TextView name = vh.getView(com.basic.security.utils.RUtils.R_id_name); TextView id_number = vh.getView(com.basic.security.utils.RUtils.R_id_id_number); @@ -212,7 +202,6 @@ }; visit_record_list.setAdapter(adapter); visit_record_list.setOnItemClickListener((parent, view, position, id) -> { - System.out.println("VisitListFragment.init " + parent + " " + view); for (View checked : checkedList) { checked.setVisibility(View.GONE); } @@ -330,8 +319,6 @@ synchronized (this) { if (loading.getVisibility() == View.VISIBLE) { return; - } else { -// loading.setVisibility(View.VISIBLE); } } List<ModelAdapter> result = new ArrayList<>(); diff --git a/app/src/main/java/com/basic/security/manager/AccountManager.java b/app/src/main/java/com/basic/security/manager/AccountManager.java deleted file mode 100644 index 8892582..0000000 --- a/app/src/main/java/com/basic/security/manager/AccountManager.java +++ /dev/null @@ -1,184 +0,0 @@ -package com.basic.security.manager; - -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; -import android.graphics.Canvas; -import android.graphics.Paint; -import android.graphics.PorterDuff; -import android.graphics.PorterDuffXfermode; -import android.graphics.Rect; -import android.text.TextUtils; -import android.widget.ImageView; - -import com.basic.security.activity.MainActivity; -import com.basic.security.base.BaseApplication; -import com.basic.security.model.ModelAdapter; -import com.basic.security.model.Person; -import com.basic.security.utils.Constants; - -public class AccountManager extends BaseManager { - public static boolean isBasic = false; - public static ModelAdapter loginPerson; - private static ModelAdapter adminAccount; - - public static Bitmap getCroppedBitmap(Bitmap bitmap) { - Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), - bitmap.getHeight(), Bitmap.Config.ARGB_8888); - Canvas canvas = new Canvas(output); - final int color = 0xff424242; - final Paint paint = new Paint(); - final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); - paint.setAntiAlias(true); - canvas.drawARGB(0, 0, 0, 0); - paint.setColor(color); - canvas.drawCircle(bitmap.getWidth() / 2, bitmap.getHeight() / 2, - bitmap.getWidth() / 2, paint); - paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); - canvas.drawBitmap(bitmap, rect, rect, paint); - return output; - } - - public static void setIsBasic(boolean isBasic) { - AccountManager.isBasic = isBasic; - try { - BaseApplication.getApplication().activity.runOnUiThread(new Runnable() { - @Override - public void run() { - try { - ImageView login_photo = BaseApplication.getApplication().activity.fragment_toolbar.login_photo; - if (isBasic) { - BaseApplication.getApplication().activity.fragment_toolbar.login_name.setText("璐濇�濈"); - login_photo.setImageResource(com.basic.security.utils.RUtils.R_drawable_basic); - } -// System.out.println("AccountManager.run 0 isBasic=" + isBasic); - if (!isBasic) { - BaseApplication.getApplication().activity.fragment_toolbar.login_name.setText("绠$悊鍛�"); - login_photo.setImageResource(com.basic.security.utils.RUtils.R_drawable_yuyin); - try { - if (loginPerson != null) { - byte[] camera_image_path = loginPerson.getBlob(Person.camera_image_path); - if (camera_image_path != null) { - Bitmap camera_image_path_bitmap = BitmapFactory.decodeByteArray(camera_image_path, 0, camera_image_path.length); - camera_image_path_bitmap = getCroppedBitmap(camera_image_path_bitmap); - login_photo.setImageBitmap(camera_image_path_bitmap); - } - String loginName = loginPerson.getString(Person.name); - if (!TextUtils.isEmpty(loginName)) { - // BaseApplication.getApplication().activity.fragment_toolbar.login_name.setText(loginName); - } - } - } catch (Exception e) { - e.printStackTrace(); - } - } - } catch (Exception e) { - e.printStackTrace(); - } - } - }); - } catch (Exception e) { - e.printStackTrace(); - } - } - - public static ModelAdapter getAdminAccount() { - return adminAccount; - } - - public static void setAdminAccount(ModelAdapter admin) { - if (Constants.indoorOutdoorInOne && admin == null) { - return; - } - if (admin != null) { - try { - BaseApplication.getApplication().activity.lastAdminClickTime = System.currentTimeMillis(); - } catch (Exception e) { - e.printStackTrace(); - } - } - AccountManager.adminAccount = admin; - if (adminAccount != null) { - setAdminPhoto(); - } - } - - public static void setAdminAccount1(ModelAdapter admin) { - if (admin != null) { - try { - BaseApplication.getApplication().activity.lastAdminClickTime = System.currentTimeMillis(); - } catch (Exception e) { - e.printStackTrace(); - } - } - AccountManager.adminAccount = admin; - if (adminAccount != null) { - setAdminPhoto(); - } - } - - private static void setAdminPhoto() { - try { - MainActivity activity = BaseApplication.getApplication().activity; - if (activity == null) { - return; - } - String a = adminAccount.getString("person_id"); - ModelAdapter admin_person = PersonManager.findPersonById(a); - if (admin_person == null) { - return; - } - if (!"person".equals(admin_person.getString("table"))) { - return; - } - String name = admin_person.getString("name"); - Bitmap b = null; - byte[] blob = admin_person.getBlob("camera_image_path"); - byte[] data; - if (blob != null) { - data = blob; - if (data != null) { - b = BitmapFactory.decodeByteArray(data, 0, data.length); - } - } - if (b == null) { - b = BitmapFactory.decodeResource(activity.getResources(), com.basic.security.utils.RUtils.R_drawable_u1280); - } - if (b != null) { - //activity.fragment_toolbar.login_photo.setImageBitmap(b); - } - } catch (Exception e) { - e.printStackTrace(); - } - } - - //淇濆瓨璐﹀彿 - public static ModelAdapter getAccount(String account, String password) { - return findOne("select * from user where username='" + account + "'" + " and password='" + password + "'"); - } - - public static ModelAdapter getAccount() { - return findOne("select * from user"); - } - - // 绠$悊鍛樻槸鍚﹀凡缁忕櫥褰� - public static boolean adminLoggedIn() { - return adminAccount != null; - } - - public static boolean isBasic() { - return isBasic; - } - - public static String getCurrentAdminPassword() { - return adminAccount.getString("password"); - } - - public static void setAdminId(String person_id) { - ModelAdapter admin_user_table = BaseManager.findById("user", DeviceManager.getDeviceId() + "admin_user"); - setAdminAccount(admin_user_table); - } - - public static void saveAccount(ModelAdapter modelAdapter) { - save(modelAdapter); - } -} diff --git a/app/src/main/java/com/basic/security/manager/BaseManager.java b/app/src/main/java/com/basic/security/manager/BaseManager.java index cba76a2..6fe68fd 100644 --- a/app/src/main/java/com/basic/security/manager/BaseManager.java +++ b/app/src/main/java/com/basic/security/manager/BaseManager.java @@ -6,43 +6,83 @@ import com.basic.security.model.ModelAdapter; import com.basic.security.model.Person; -import com.basic.security.model.PersonA; import com.basic.security.model.Sync; import com.basic.security.utils.Base64Util; import com.basic.security.utils.Constants; -import com.basic.security.utils.FaceId; import com.basic.security.utils.FrameUtil; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.UUID; //sqlite鏁版嵁搴撴搷浣滅殑鍏叡鍩虹绫� public class BaseManager { public static Map<String, List<String>> tableColumnNames = new HashMap<>(); - public static List<String> syncTableNames = new ArrayList<>(); + public static Set<String> syncTableNames = new HashSet<>(); + + static { + syncTableNames.addAll(Arrays.asList( +// "base_setting", +// "business", +// "business_apply_device", +// "business_person", +// "cluster", +// "cluster_node", +// "cluster_setting", +// "confirm", +// "device", +// "guest", +// "hint_door_access", +// "hint_recognize_message", +// "hint_sign_up", +// "id_card", +// "identity", +// "Log", +// "OfficeDevice", + "org", +// "outdoor", + "person", + "person_identity", +// "temporary_person", +// "time", +// "user", + "dbtablepersons", + "dbTables", + "visit" + )); + } public static void save(ModelAdapter modelAdapter) { + String insertSql = ""; try { if (modelAdapter != null) { + String table = modelAdapter.getString(Constants.TABLE); + if (table == null) { + table = ""; + } + PersonCameraImagePathManager.updateCameraImagePathExist(modelAdapter); GetInsertOrUpdateSql getInsertOrUpdateSql = new GetInsertOrUpdateSql(modelAdapter).invoke(); - String table = getInsertOrUpdateSql.getTable(); - String insertSql = getInsertOrUpdateSql.getInsertSql(); - if (syncTableNames.contains(table) && !Constants.FALSE.equals(modelAdapter.getString(Sync.needSync))) { + insertSql = getInsertOrUpdateSql.getInsertSql(); + if ( + syncTableNames.contains(table) && + !Constants.FALSE.equals(modelAdapter.getString(Sync.needSync))) { +// System1.out.println("BaseManager.save table=" + table + " " + syncTableNames.contains(table) + " " + !Constants.FALSE.equals(modelAdapter.getString(Sync.needSync)) + " " + syncTableNames); if (table.equals("person")) { - if ("1".equals(modelAdapter.getString("all_device"))) { - ClusterSerfSyncManager.sendData(insertSql); + if ("1".equals(modelAdapter.getString("all_device")) || 1 == 1) { + ClusterSerfSyncManager.sendData(RowToSerfManager.buildRowToSerf(modelAdapter, insertSql)); PersonAManager.savePersonAFromPerson(modelAdapter); } } else { - ClusterSerfSyncManager.sendData(insertSql); + ClusterSerfSyncManager.sendData(RowToSerfManager.buildRowToSerf(modelAdapter, insertSql)); } } if (Constants.printSql) { - System.out.println("insertsql=" + insertSql + " " + FrameUtil.getFrames()); + System1.out.println("insertsql=" + insertSql + " " + FrameUtil.getFrames()); } DatabaseManager.execSQL(insertSql); // if (table.equals("visit")) { @@ -52,15 +92,42 @@ } } catch (Exception e) { e.printStackTrace(); + System.out.println("BaseManager.save sql=" + insertSql); + } + } + + public static void deleteWithDelFlag(ModelAdapter modelAdapter) { + try { + + String table = modelAdapter.getString("table"); + String id = modelAdapter.getString("id"); + String del_flag = "1"; + if (syncTableNames.contains(table)) { + id = Base64Util.encodeToString(table, "id", id); + del_flag = Base64Util.encodeToString(table, "del_flag", del_flag); + } + String sql = "update " + table + " set del_flag='" + del_flag + "' where id='" + id + "'"; + if (Constants.printSql) { + System1.out.println("deletesql=" + sql + " " + FrameUtil.getFrames()); + } + if ( + syncTableNames.contains(table) && + !Constants.FALSE.equals(modelAdapter.getString(Sync.needSync)) + ) { + ClusterSerfSyncManager.sendData(RowToSerfManager.buildRowToSerf(modelAdapter, sql)); + } + DatabaseManager.execSQL(sql); + } catch (Exception e) { + e.printStackTrace(); } } public static void delete(ModelAdapter modelAdapter) { // 鍋囧垹闄� - if (Constants.deletePersonPhysical) { - deletePhysically(modelAdapter); - } else { - try { - if (modelAdapter != null) { + if (modelAdapter != null) { + if (Constants.deletePersonPhysical) { + deletePhysically(modelAdapter); + } else { + try { String table = modelAdapter.getString("table"); String id = modelAdapter.getString("id"); String del_flag = "1"; @@ -70,15 +137,18 @@ } String sql = "update " + table + " set del_flag='" + del_flag + "' where id='" + id + "'"; if (Constants.printSql) { - System.out.println("deletesql=" + sql + " " + FrameUtil.getFrames()); + System1.out.println("deletesql=" + sql + " " + FrameUtil.getFrames()); } - if (syncTableNames.contains(table)) { - ClusterSerfSyncManager.sendData(sql); + if ( + syncTableNames.contains(table) && + !Constants.FALSE.equals(modelAdapter.getString(Sync.needSync)) + ) { + ClusterSerfSyncManager.sendData(RowToSerfManager.buildRowToSerf(modelAdapter, sql)); } DatabaseManager.execSQL(sql); + } catch (Exception e) { + e.printStackTrace(); } - } catch (Exception e) { - e.printStackTrace(); } } } @@ -90,15 +160,19 @@ String id = modelAdapter.getString("id"); String sql = "delete from " + table + " where id='" + id + "'"; if (Constants.printSql) { - System.out.println("deletesql=" + sql + " " + FrameUtil.getFrames()); + System1.out.println("deletesql=" + sql + " " + FrameUtil.getFrames()); } - if (syncTableNames.contains(table)) { - ClusterSerfSyncManager.sendData(sql); + if ( + syncTableNames.contains(table) && + !Constants.FALSE.equals(modelAdapter.getString(Sync.needSync)) + ) { +// System.out.println("BaseManager.deletePhysically sql=" + sql); + ClusterSerfSyncManager.sendData(RowToSerfManager.buildRowToSerf(modelAdapter, sql)); } try { DatabaseManager.execSQL(sql); } catch (SQLException e) { - System.out.println("sql=" + sql); + System1.out.println("sql=" + sql); e.printStackTrace(); } } @@ -169,7 +243,7 @@ Cursor cursor = null; try { if (Constants.printSql) { - System.out.println("findOne sql=" + sql + " " + FrameUtil.getFrames()); + System1.out.println("findOne sql=" + sql + " " + FrameUtil.getFrames()); } cursor = DatabaseManager.getDatabase().rawQuery(sql, null); if (cursor.moveToFirst()) { @@ -203,7 +277,7 @@ Cursor cursor = null; try { if (Constants.printSql) { - System.out.println("sql=" + sql + " " + FrameUtil.getFrames() + System1.out.println("sql=" + sql + " " + FrameUtil.getFrames() ); } cursor = DatabaseManager.getDatabase(databasePath).rawQuery(sql, null); @@ -225,7 +299,7 @@ public static void deleteList(List<ModelAdapter> modelAdapterList) { for (ModelAdapter modelAdapter : modelAdapterList) { - FaceId.instance.removeFeatureFromDb(modelAdapter.getString(Person.id)); + FeatureManager.removeFeature(modelAdapter.getString(Person.id)); deletePhysically(modelAdapter); } } diff --git a/app/src/main/java/com/basic/security/manager/BaseSettingManager.java b/app/src/main/java/com/basic/security/manager/BaseSettingManager.java index 0ce74b7..45e1289 100644 --- a/app/src/main/java/com/basic/security/manager/BaseSettingManager.java +++ b/app/src/main/java/com/basic/security/manager/BaseSettingManager.java @@ -5,6 +5,7 @@ import com.basic.security.activity.MainActivity; import com.basic.security.model.BaseSetting; import com.basic.security.model.ModelAdapter; +import com.basic.security.model.Sync; import com.basic.security.utils.Constants; import com.basic.security.utils.socket.outdoor.OutdoorSendIpSocketClientFromBaseSetting; @@ -15,14 +16,14 @@ public static ModelAdapter baseSetting = new ModelAdapter(); public static void initBaseSetting() { - baseSetting = findById("base_setting", IdManager.getId(com.basic.security.model.BaseSetting.tableName)); + baseSetting = findById("base_setting", com.basic.security.model.BaseSetting.tableName); if (baseSetting == null) { - baseSetting = new ModelAdapter(IdManager.getId(com.basic.security.model.BaseSetting.tableName)); + baseSetting = new ModelAdapter(com.basic.security.model.BaseSetting.tableName); baseSetting.setString(BaseSetting.auto_mode, "1"); baseSetting.setString(BaseSetting.auto_idcard_verify, "1"); if (Constants.isOutdoor) { baseSetting.setString(BaseSetting.indoor_device_id, "indoor1"); - baseSetting.setString(BaseSetting.indoor_device_ip, "192.168.1.138"); + baseSetting.setString(BaseSetting.indoor_device_ip, "192.168.222.103"); } //鑷姩娉ㄥ唽妯″紡 1鏄紝0鍚� baseSetting.setString("auto_mode", "0"); @@ -49,7 +50,7 @@ //韬唤璇侀獙璇�1鏄紝0鍚� baseSetting.setString("admin_idcard_verify", "0"); //韬唤璇侀獙璇�,鎵嬫満鍙锋槸鍚﹀繀濉� 1鏄紝0鍚� - baseSetting.setString("admin_idcard_verify_phone", "1"); + baseSetting.setString("admin_idcard_verify_phone", "0"); //绠$悊鍛樼櫥鍏ュ悗鍑犲垎閽熻嚜鍔ㄩ��鍑� baseSetting.setString("edit_setting", "1"); //鍑犵杩斿洖棣栭〉 @@ -77,6 +78,7 @@ baseSetting.setString(com.basic.security.model.BaseSetting.open_door_password_enable, Constants.FALSE); baseSetting.setString(com.basic.security.model.BaseSetting.reboot_hour, "0"); baseSetting.setString(com.basic.security.model.BaseSetting.reboot_hour_enable, Constants.TRUE); + baseSetting.setString(Sync.needSync, Constants.FALSE); BaseManager.save(baseSetting); } } @@ -432,17 +434,13 @@ openDoorDuration = 10; } } catch (Exception e) { - System.out.println(e.getMessage()); + System1.out.println(e.getMessage()); } return openDoorDuration; } public static List<ModelAdapter> findBaseSettingList(String sql) { return findList(sql); - } - - public static void deleteBaseSetting(ModelAdapter modelAdapter) { - delete(modelAdapter); } public static String getOpenDoorPassword() { diff --git a/app/src/main/java/com/basic/security/manager/BusinessDetailManager.java b/app/src/main/java/com/basic/security/manager/BusinessDetailManager.java index dce3ab6..b128ed5 100644 --- a/app/src/main/java/com/basic/security/manager/BusinessDetailManager.java +++ b/app/src/main/java/com/basic/security/manager/BusinessDetailManager.java @@ -102,7 +102,7 @@ List<ModelAdapter> business_apply_deviceList = findList( "select * from business_apply_device where business_id='" + businessId + "' and device_id='" + deviceId + "'"); for (ModelAdapter business_apply_device : business_apply_deviceList) { - delete(business_apply_device); + deletePhysically(business_apply_device); } } } diff --git a/app/src/main/java/com/basic/security/manager/BusinessListManager.java b/app/src/main/java/com/basic/security/manager/BusinessListManager.java index dc23478..411ae7a 100644 --- a/app/src/main/java/com/basic/security/manager/BusinessListManager.java +++ b/app/src/main/java/com/basic/security/manager/BusinessListManager.java @@ -30,7 +30,7 @@ // 鍒犻櫎鏌愪釜涓氬姟琛� public static void deleteBusiness(ModelAdapter business) { try { - delete(findById("business", business.getId())); + deletePhysically(findById("business", business.getId())); } catch (Exception e) { e.printStackTrace(); } diff --git a/app/src/main/java/com/basic/security/manager/BusinessPersonManager.java b/app/src/main/java/com/basic/security/manager/BusinessPersonManager.java index f8cf905..058e69b 100644 --- a/app/src/main/java/com/basic/security/manager/BusinessPersonManager.java +++ b/app/src/main/java/com/basic/security/manager/BusinessPersonManager.java @@ -32,7 +32,7 @@ if (!personList.contains(person)) { personList.add(person); } else { - delete(businessPerson); + deletePhysically(businessPerson); } } } @@ -52,7 +52,7 @@ try { List<ModelAdapter> personList = findList("select * from business_person where business_id='" + businessId + "' and person_id='" + personId + "'"); for (ModelAdapter person : personList) { - delete(person); + deletePhysically(person); } } catch (Exception e) { e.printStackTrace(); @@ -106,7 +106,7 @@ for (ModelAdapter validBusinessRule : validBusinessRuleList) { ModelAdapter person = findOne("select * from business_person where business_id='" + validBusinessRule.getId() + "' and person_id='" + personId + "' "); if (person != null) { - System.out.println(person.getString("pass_model")); + System1.out.println(person.getString("pass_model")); } if (person != null && "鏈夋晥鏃堕棿鍐呴�氳".equals(person.getString("pass_model"))) { personInValidBusinessList.add(validBusinessRule); diff --git a/app/src/main/java/com/basic/security/manager/ByteArrayManager.java b/app/src/main/java/com/basic/security/manager/ByteArrayManager.java new file mode 100644 index 0000000..6cc70a4 --- /dev/null +++ b/app/src/main/java/com/basic/security/manager/ByteArrayManager.java @@ -0,0 +1,36 @@ +package com.basic.security.manager; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class ByteArrayManager { + + public static Map<Integer, List<byte[]>> byteArrayListMap = new HashMap<>(); + public static int lengthIndex = 0; + + public static synchronized byte[] newBytes(int length) { + byte[] newBytes = null; + try { + List<byte[]> byteArrayList = byteArrayListMap.get(length); + if (byteArrayList == null) { + byteArrayList = new ArrayList<>(); + for (int i = 0; i < 10; i++) { + byte[] bytes = new byte[length]; + byteArrayList.add(bytes); + } + byteArrayListMap.put(length, byteArrayList); + } + lengthIndex = lengthIndex % byteArrayList.size(); + newBytes = byteArrayList.get(lengthIndex); + lengthIndex++; + } catch (Exception e) { + e.printStackTrace(); + } + if (newBytes == null) { + newBytes = new byte[length]; + } + return newBytes; + } +} diff --git a/app/src/main/java/com/basic/security/manager/ClusterSerfSyncManager.java b/app/src/main/java/com/basic/security/manager/ClusterSerfSyncManager.java index f0938d5..a58e5e7 100644 --- a/app/src/main/java/com/basic/security/manager/ClusterSerfSyncManager.java +++ b/app/src/main/java/com/basic/security/manager/ClusterSerfSyncManager.java @@ -8,11 +8,14 @@ import com.basic.security.model.ClusterSetting; import com.basic.security.model.ModelAdapter; import com.basic.security.model.Node; +import com.basic.security.model.RowToSerf; +import com.basic.security.utils.SqlSplit; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; @@ -30,8 +33,8 @@ public static Queue<String> serfQueue = new PriorityQueue<>(); public static List<String> serfReceiveQueue = new ArrayList<>(); public static List<String> serfReceiveQueueCopy = new ArrayList<>(); - public static List<String> serfSendQueueCopy = new ArrayList<>(); - public static List<String> serfSendQueue = new ArrayList<>(); + public static List<ModelAdapter> serfSendQueueCopy = new ArrayList<>(); + public static List<ModelAdapter> serfSendQueue = new ArrayList<>(); public static Comparator<Map<String, String>> mapComparator = (m1, m2) -> { try { return m1.get(Node.nodeID).compareTo(m2.get(Node.nodeID)); @@ -53,7 +56,7 @@ MainActivity mainActivity = BaseApplication.getApplication().activity; while (true) { try { -// System.out.println("ClusterSerfSyncManager.start 2 "); +// System1.out.println("ClusterSerfSyncManager.start 2 "); ModelAdapter cluster = ClusterSettingManager.cluster; if (cluster.getBool(ClusterSetting.exit)) { if (mainActivity.currentFragment == mainActivity.fragment_cluster) { @@ -78,8 +81,8 @@ AndroidSync.initCluster(); AndroidSync.initAgent(localNodeId); AndroidSync.syncInit(getClusterId, password, localNodeId, ""); -// System.out.println("ClusterSerfSyncManager.start 0 " + getClusterId + " " + password + " " + localNodeId + " "); -// System.out.println("ClusterSerfSyncManager.start 3 " + cluster.getBool(ClusterSetting.exit)); +// System1.out.println("ClusterSerfSyncManager.start 0 " + getClusterId + " " + password + " " + localNodeId + " "); +// System1.out.println("ClusterSerfSyncManager.start 3 " + cluster.getBool(ClusterSetting.exit)); started = true; } } @@ -111,7 +114,7 @@ otherNodeIp = ClusterSettingManager.getOtherNodeIp(); if (!TextUtils.isEmpty(otherNodeIp)) { AndroidSync.joinByNodeAddrs(otherNodeIp + ":30190"); -// System.out.println("ClusterSerfSyncManager.start 1 " + otherNodeIp + ":30190"); +// System1.out.println("ClusterSerfSyncManager.start 1 " + otherNodeIp + ":30190"); } } try { @@ -124,8 +127,14 @@ serfSendQueue.clear(); } } - for (String serfSendCopy : serfSendQueueCopy) { -// System.out.println("ClusterSerfSyncManager.start serfSendCopy=" + serfSendCopy); + for (ModelAdapter serfSendCopy : serfSendQueueCopy) { + AndroidSync.syncSql(serfSendCopy.getString(RowToSerf.sql)); + RowToSerfManager.confirmSend(serfSendCopy); + try { + System1.out.println("ClusterSerfSyncManager.start serfSendCopy=" + serfSendCopy.getString(RowToSerf.sql).substring(0, 30)); + } catch (Exception e) { + System1.out.println("ClusterSerfSyncManager.start " + e.getMessage()); + } } serfSendQueueCopy.clear(); } catch (Exception e) { @@ -153,12 +162,12 @@ } } }); - BaseApplication.getApplication().executorService.execute(() -> { - while (true) { - sendData("select * from table1 count=" + count + ", node=node3"); - SystemClock.sleep(4 * 1000); - } - }); +// BaseApplication.getApplication().executorService.execute(() -> { +// while (true) { +// sendData("select * from table1 count=" + count + ", node=node3"); +// SystemClock.sleep(4 * 1000); +// } +// }); BaseApplication.getApplication().executorService.execute(() -> { while (true) { try { @@ -171,15 +180,34 @@ serfReceiveQueue.clear(); } } - for (String serfReceiveCopy : serfReceiveQueueCopy) { - System.out.println("ClusterSerfSyncManager.start serfReceiveCopy=" + serfReceiveCopy); - try { - DatabaseManager.execSQL(serfReceiveCopy); - PersonAManager.afterExecutedSql(serfReceiveCopy); - PersonATypeManager.afterExecutedSql(serfReceiveCopy); - } catch (Exception e) { - e.printStackTrace(); + for (String sqls : serfReceiveQueueCopy) { + List<String> sqlList = new ArrayList<>(); + if (sqls.contains(";")) { + String[] sqlArray = sqls.split(";"); + sqlList.addAll(Arrays.asList(sqlArray)); + } else { + sqlList.add(sqls); } + for (String sql : sqlList) { + sql = sql.trim(); + try { + if (sql.contains("cameras")) { + continue; + } + System1.out.println("ClusterSerfSyncManager.start tableName=" + SqlSplit.getTableName(sql) + " " + SqlSplit.containsTable(sql)); + if (SqlSplit.containsTable(sql)) { + System1.out.println("ClusterSerfSyncManager.start remoteSql=" + (sql.length() > 30 ? sql.substring(0, 30) : sql) + "..."); + SerfToRowManager.addSerfToRow(sql); +// DatabaseManager.execSQL(sql); +// PersonAManager.afterExecutedSql(sql); +// PersonATypeManager.afterExecutedSql(sql); + } + } catch (Exception e) { + e.printStackTrace(); + System1.out.println("ClusterSerfSyncManager.start " + e.getMessage()); + } + } + } serfReceiveQueueCopy.clear(); } catch (Exception e) { @@ -192,6 +220,7 @@ private static void receiveData(String content) { try { synchronized (serfReceiveQueueLock) { +// System1.out.println("ClusterSerfSyncManager.receiveData " + content); serfReceiveQueue.add(content); serfReceiveQueueLock.notify(); } @@ -200,13 +229,14 @@ } } - public static void sendData(String content) { + public static void sendData(ModelAdapter rowToSerf) { +// System1.out.println("ClusterSerfSyncManager.sendData sql="+content); BaseApplication.getApplication().executorService.execute(new Runnable() { @Override public void run() { try { synchronized (serfSendQueueLock) { - serfSendQueue.add(content); + serfSendQueue.add(rowToSerf); serfSendQueueLock.notify(); } } catch (Exception e) { diff --git a/app/src/main/java/com/basic/security/manager/ClusterSettingManager.java b/app/src/main/java/com/basic/security/manager/ClusterSettingManager.java index c187116..a2a3f44 100644 --- a/app/src/main/java/com/basic/security/manager/ClusterSettingManager.java +++ b/app/src/main/java/com/basic/security/manager/ClusterSettingManager.java @@ -4,6 +4,7 @@ import com.basic.security.model.ClusterSetting; import com.basic.security.model.ModelAdapter; +import com.basic.security.model.Sync; import com.basic.security.utils.Constants; public class ClusterSettingManager extends BaseManager { @@ -32,15 +33,33 @@ // save(cluster); cluster = new ModelAdapter(); cluster.setString(ClusterSetting.id, ClusterSetting.tableName); - cluster.setString(ClusterSetting.cluster_id, "c4d03d5d-64c3-4941-bb53-152277a3271f\n"); - cluster.setString(ClusterSetting.node_id, "node3"); - cluster.setString(ClusterSetting.cluster_name, "c4d03d5d-64c3-4941-bb53-152277a3271f\n"); - cluster.setString(ClusterSetting.exit, Constants.TRUE); + if (Constants.USE_GRAY_CAMERA) { + cluster.setString(ClusterSetting.cluster_id, "c4d03d5d-64c3-4941-bb53-152277a3271f\n"); + } else { + cluster.setString(ClusterSetting.cluster_id, "c4d03d5d-64c3-4941-bb53-152277a3271a\n"); + } + cluster.setString(ClusterSetting.node_id, Constants.nodeId()); + cluster.setString(ClusterSetting.node_name, Constants.nodeName); + if (Constants.USE_GRAY_CAMERA) { + cluster.setString(ClusterSetting.cluster_name, "c4d03d5d-64c3-4941-bb53-152277a3271f\n"); + } else { + cluster.setString(ClusterSetting.cluster_name, "c4d03d5d-64c3-4941-bb53-152277a3271a\n"); + } + if (Constants.USE_GRAY_CAMERA) { + cluster.setString(ClusterSetting.exit, Constants.TRUE); + } else { + cluster.setString(ClusterSetting.exit, Constants.FALSE); + } cluster.setString(ClusterSetting.nodes_json, ""); - cluster.setString(ClusterSetting.other_node_ip, ""); + cluster.setString(ClusterSetting.other_node_ip, Constants.other_node_ip()); // cluster.setString(ClusterSetting.password, "YmpiYXNpYzEyMzEyMzQ1Ng=="); - cluster.setString(ClusterSetting.password, "123456"); + if (Constants.USE_GRAY_CAMERA) { + cluster.setString(ClusterSetting.password, "123456"); + } else { + cluster.setString(ClusterSetting.password, "123455"); + } cluster.setString(Constants.TABLE, ClusterSetting.tableName); + cluster.setString(Sync.needSync, Constants.FALSE); save(cluster); } } diff --git a/app/src/main/java/com/basic/security/manager/DatabaseManager.java b/app/src/main/java/com/basic/security/manager/DatabaseManager.java index 85a57f4..6e2a0a9 100644 --- a/app/src/main/java/com/basic/security/manager/DatabaseManager.java +++ b/app/src/main/java/com/basic/security/manager/DatabaseManager.java @@ -58,9 +58,9 @@ Class[] argTypes = new Class[]{HashMap.class}; Method setCustomDatabaseFiles = debugDB.getMethod("setCustomDatabaseFiles", argTypes); HashMap<String, Pair<File, String>> customDatabaseFiles = new HashMap<>(); - customDatabaseFiles.put("base_database", new Pair<>(new File(Constants.baseDatabasePath), "")); - customDatabaseFiles.put("sync_database", new Pair<>(new File(Constants.syncDatabasePath), "")); - customDatabaseFiles.put("cache_database", new Pair<>(new File(Constants.cacheDatabasePath), "")); + customDatabaseFiles.put("xxbase_database", new Pair<>(new File(Constants.baseDatabasePath), "")); +// customDatabaseFiles.put("sync_database", new Pair<>(new File(Constants.syncDatabasePath), "")); +// customDatabaseFiles.put("cache_database", new Pair<>(new File(Constants.cacheDatabasePath), "")); setCustomDatabaseFiles.invoke(null, customDatabaseFiles); } catch (Exception ignore) { ignore.printStackTrace(); diff --git a/app/src/main/java/com/basic/security/manager/DetectResultManager.java b/app/src/main/java/com/basic/security/manager/DetectResultManager.java index 8a29999..f077dbe 100644 --- a/app/src/main/java/com/basic/security/manager/DetectResultManager.java +++ b/app/src/main/java/com/basic/security/manager/DetectResultManager.java @@ -41,7 +41,7 @@ DetectResultManager.detectedResult = detectedResult; lastTimeSetDetectResult = System.currentTimeMillis(); synchronized (RecognizeManager.recongizeObjectLock) { -// System.out.println("DetectResultManager.setDetectResult"); +// System1.out.println("DetectResultManager.setDetectResult"); RecognizeManager.detectedResultQueue.add("1"); RecognizeManager.recongizeObjectLock.notify(); } @@ -52,7 +52,7 @@ public static DetectedResult getDetectResultFromCache(byte[] nv21Array) { DetectedResult detectedResult = new DetectedResult(); - detectedResult.nv21Array = new byte[nv21Array.length]; + detectedResult.nv21Array = ByteArrayManager.newBytes(nv21Array.length); //memory System.arraycopy(nv21Array, 0, detectedResult.nv21Array, 0, nv21Array.length); // detectedResult.nv21Array = nv21Array; return detectedResult; diff --git a/app/src/main/java/com/basic/security/manager/DeviceManager.java b/app/src/main/java/com/basic/security/manager/DeviceManager.java index 93341d8..679036a 100644 --- a/app/src/main/java/com/basic/security/manager/DeviceManager.java +++ b/app/src/main/java/com/basic/security/manager/DeviceManager.java @@ -5,6 +5,7 @@ import com.basic.security.base.BaseApplication; import com.basic.security.model.Device; import com.basic.security.model.ModelAdapter; +import com.basic.security.model.Sync; import com.basic.security.utils.Constants; import com.basic.security.utils.IpUtils; @@ -58,7 +59,7 @@ public static String getDeviceId() { if (1 == 1) { - return Constants.deviceId; + return Constants.deviceId(); } if (Constants.isOutdoor) { return "outdoor1"; @@ -117,15 +118,16 @@ } public static void initDevice() { - device = DeviceManager.findById(Device.tableName, IdManager.getId(Device.tableName)); + device = DeviceManager.findById(Device.tableName, Device.tableName); if (device == null) { - device = new ModelAdapter(IdManager.getId(Device.tableName)); + device = new ModelAdapter(Device.tableName); device.setString("device_id", DeviceManager.getDeviceId()); device.setString("ip", IpUtils.getIpAddress(BaseApplication.getApplication())); device.setString("name", DeviceManager.getDeviceId()); device.setString("open_door_time", "5"); device.setString("no_face_delay", "10"); device.setString("table", "device"); + device.setString(Sync.needSync, Constants.FALSE); saveDevice(device); } } diff --git a/app/src/main/java/com/basic/security/manager/DirManager.java b/app/src/main/java/com/basic/security/manager/DirManager.java index a023274..a4c3b1f 100644 --- a/app/src/main/java/com/basic/security/manager/DirManager.java +++ b/app/src/main/java/com/basic/security/manager/DirManager.java @@ -1,15 +1,14 @@ package com.basic.security.manager; +import com.basic.security.utils.Constants; + import java.io.File; + +import static com.basic.security.utils.Constants.attachmentPath; public class DirManager { public static void mkdirs() { - new File("/sdcard/security_attachment/"); - new File("/sdcard/security_database").mkdirs(); - new File("/sdcard/security_simplify_database").mkdirs(); - new File("/sdcard/security_excel_database/").mkdirs(); - new File("/sdcard/security_excel_database/").mkdirs(); - new File("/sdcard/security_excel_database/").mkdirs(); - new File("/sdcard/security_excel_attachment/").mkdirs(); + new File(attachmentPath).mkdirs(); + new File(Constants.baseDatabasePath).getParentFile().mkdirs(); } } diff --git a/app/src/main/java/com/basic/security/manager/FacePositionManager.java b/app/src/main/java/com/basic/security/manager/FacePositionManager.java index e5b2ae3..cf28f29 100644 --- a/app/src/main/java/com/basic/security/manager/FacePositionManager.java +++ b/app/src/main/java/com/basic/security/manager/FacePositionManager.java @@ -1,7 +1,6 @@ package com.basic.security.manager; import com.basic.security.utils.Constants; -import com.basic.security.utils.FaceId; import com.basic.security.utils.FacePosition; import com.basic.security.utils.FaceTitleAndTips; @@ -16,7 +15,7 @@ if (facePosition.featureData != null) { // 褰撳墠浜鸿劯鍜屽簳搴撲腑宸叉湁鐨勪汉鑴稿姣� long beginTime = System.currentTimeMillis(); - String compareResultStr = FaceId.instance.compareFeatureInDb(facePosition.featureData, 65); + String compareResultStr = FeatureManager.compareFeature(facePosition.featureData, 65); long compareFeatureTime = System.currentTimeMillis(); compareFeatureResult.personId = compareResultStr.split(",", -1)[0]; compareFeatureResult.compareScore = Float.parseFloat(compareResultStr.split(",", -1)[1]); @@ -31,7 +30,7 @@ && compareFeatureResult.personId.equals(lastCompareFeatureResult.personId) && (System.currentTimeMillis() - lastCompareFeatureResultTime) < 3000) { compareFeatureResult.person = lastCompareFeatureResult.person; -// System.out.println("FacePositionManager.processFaceFeature 1 " ); +// System1.out.println("FacePositionManager.processFaceFeature 1 " ); compareFeatureResult.identityNameList = lastCompareFeatureResult.identityNameList; compareFeatureResult.signUpRuleName = lastCompareFeatureResult.signUpRuleName; compareFeatureResult.validSignUpRuleList = lastCompareFeatureResult.validSignUpRuleList; @@ -40,7 +39,7 @@ compareFeatureResult.validBusinessRuleListButTimeNotReach = lastCompareFeatureResult.validBusinessRuleListButTimeNotReach; } else { compareFeatureResult.person = PersonManager.findPersonById(compareFeatureResult.personId); -// System.out.println("FacePositionManager.processFaceFeature 2 "); +// System1.out.println("FacePositionManager.processFaceFeature 2 "); if (compareFeatureResult.person != null) { compareFeatureResult.identityNameList = IdentityManager.findIdentityNameListByPersonId(compareFeatureResult.personId); compareFeatureResult.signUpRuleName = compareFeatureResult.person.getString("sign_up_rule"); diff --git a/app/src/main/java/com/basic/security/manager/FaceTitleAndTipsManager.java b/app/src/main/java/com/basic/security/manager/FaceTitleAndTipsManager.java index 51d6575..18e5bf1 100644 --- a/app/src/main/java/com/basic/security/manager/FaceTitleAndTipsManager.java +++ b/app/src/main/java/com/basic/security/manager/FaceTitleAndTipsManager.java @@ -26,7 +26,7 @@ long trackerId = facePosition.trackerId; FaceTitleAndTips faceTitleAndTips = faceTitleMap.get(trackerId); try { - // System.out.println("trackerId====="+trackerId); + // System1.out.println("trackerId====="+trackerId); CompareFeatureResult compareFeatureResult = facePosition.compareFeatureResult; try { if (faceTitleAndTips == null) { diff --git a/app/src/main/java/com/basic/security/manager/FaceTitleAndTipsManagerS.java b/app/src/main/java/com/basic/security/manager/FaceTitleAndTipsManagerS.java index 4502580..9409aca 100644 --- a/app/src/main/java/com/basic/security/manager/FaceTitleAndTipsManagerS.java +++ b/app/src/main/java/com/basic/security/manager/FaceTitleAndTipsManagerS.java @@ -26,7 +26,7 @@ long trackerId = facePosition.trackerId; FaceTitleAndTipsS faceTitleAndTips = faceTitleMap.get(trackerId); try { - // System.out.println("trackerId====="+trackerId); + // System1.out.println("trackerId====="+trackerId); CompareFeatureResult compareFeatureResult = facePosition.compareFeatureResult; try { if (faceTitleAndTips == null) { diff --git a/app/src/main/java/com/basic/security/manager/FeatureManager.java b/app/src/main/java/com/basic/security/manager/FeatureManager.java index f44f0f5..257c38e 100644 --- a/app/src/main/java/com/basic/security/manager/FeatureManager.java +++ b/app/src/main/java/com/basic/security/manager/FeatureManager.java @@ -2,11 +2,14 @@ import com.basic.security.activity.MainActivity; import com.basic.security.model.ModelAdapter; +import com.basic.security.model.PersonA; +import com.basic.security.utils.Constants; import com.basic.security.utils.FaceId; import java.util.List; public class FeatureManager { + public static void initCppFeatureMap() { List<ModelAdapter> list = PersonManager.findPersonList("select * from person where del_flag='0'"); for (ModelAdapter result : list) { @@ -15,12 +18,87 @@ String all_device = result.getString("all_device"); byte[] camera_image_feature = result.getBlob("camera_image_feature"); if (camera_image_feature != null && camera_image_feature != null) { - FaceId.instance.addFeatureToDb(id, camera_image_feature); + addFeature(id, camera_image_feature); } } catch (Exception e) { e.printStackTrace(); } } + initAllPersonFeaturesMap(); MainActivity.faceDbInitComplete = true; } + + public static void initAllPersonFeaturesMap() { + List<ModelAdapter> personList = PersonManager.findPersonList("select * from person where 1==1"); + for (ModelAdapter person : personList) { + try { + String id = person.getId(); + String all_device = person.getString("all_device"); + byte[] camera_image_feature = person.getBlob("camera_image_feature"); + if (camera_image_feature != null) { + addFeatureToAllFeatures(id, camera_image_feature); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + List<ModelAdapter> personAList = PersonAManager.findPersonAList("select * from " + PersonA.tableName); + for (ModelAdapter personA : personAList) { + try { + String id = personA.getString(PersonA.id); + byte[] faceFeature = personA.getBlob(PersonA.faceFeature); + if (faceFeature != null) { + addFeatureToAllFeatures(id, faceFeature); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + public static void addFeatureToAllFeatures(String personId, byte[] featureData) { + FaceId.instance.addFeatureToAllDb(personId, featureData); + } + + public static String compareFeatureInAllDb(byte[] featureArray, int score) { + String compareResultStr = FaceId.instance.compareFeatureInAllDb(featureArray, score); + return compareResultStr; + } + + public static void addFeature(String personId, byte[] featureData) { + addFeatureToAllFeatures(personId, featureData); + FaceId.instance.addFeatureToDb(personId, featureData); + } + + public static void removeFeature(String personId) { + FaceId.instance.removeFeatureFromDb(personId); + } + + public static String compareFeature(byte[] featureArray, int score) { + String compareResultStr = FaceId.instance.compareFeatureInDb(featureArray, score); + return compareResultStr; + } + + public static String isDuplicateInAllDb(ModelAdapter selectedPerson) { + try { + byte[] camera_image_feature = selectedPerson.getBlob("camera_image_feature"); + return isDuplicateInAllDb(camera_image_feature); + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + public static String isDuplicateInAllDb(byte[] camera_image_feature) { + try { + if (camera_image_feature != null && camera_image_feature.length > 0) { + String compareResultStr = FeatureManager.compareFeatureInAllDb(camera_image_feature, Constants.minRecognizeScore); + return compareResultStr.split(",", -1)[0]; + } + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + } diff --git a/app/src/main/java/com/basic/security/manager/GuestManager.java b/app/src/main/java/com/basic/security/manager/GuestManager.java index 2bf0008..f310efd 100644 --- a/app/src/main/java/com/basic/security/manager/GuestManager.java +++ b/app/src/main/java/com/basic/security/manager/GuestManager.java @@ -4,12 +4,10 @@ import android.text.TextUtils; import com.basic.security.base.BaseApplication; -import com.basic.security.fragment.GuestModeFragment; import com.basic.security.model.Guest; import com.basic.security.model.ModelAdapter; -import com.basic.security.model.Outdoor; import com.basic.security.model.Person; -import com.basic.security.utils.FaceId; +import com.basic.security.utils.Constants; import org.apache.commons.io.FileUtils; @@ -18,27 +16,21 @@ import java.util.List; public class GuestManager extends BaseManager { - public static boolean cameraOneEnable = false; - public static boolean cameraTwoEnable = false; static long deleteMoreThanLastTime = 0; - static String cameraTitle = ""; - static int guestListCameraType = 1; - static boolean isEnable = false; - static ModelAdapter outdoor = null; - static int prevCameraCount = 2; public static void saveGuest(ModelAdapter guest) { save(guest); deleteMoreThan(guest, 50); } - public static ModelAdapter findGuestListRecentOne() { - return findOne("select * from guest order by " + Guest.create_time + " desc limit 1"); + public static ModelAdapter findGuestListRecentOne(int guestListCameraType) { + String sql = "select * from guest where " + Guest.camera_id + "='" + guestListCameraType + "' order by " + Guest.create_time + " desc limit 1"; + return findOne(sql); } public static List<ModelAdapter> findGuestList(String cameraId) { List<ModelAdapter> guestList = findList("select * from guest where 1=1 " + -// " and " + Guest.camera_id + "='" + cameraId + "'"+ + " and " + Guest.camera_id + "='" + cameraId + "'" + " order by " + Guest.create_time + " desc limit 50"); List<ModelAdapter> guestToRemoveList = new ArrayList<>(); for (ModelAdapter guest : guestList) { @@ -75,95 +67,13 @@ FileUtils.forceDelete(camera_image_pathFile); } } catch (Exception e) { - System.out.println("GuestManager.deleteGuestAttachment " + e.getMessage()); + System1.out.println("GuestManager.deleteGuestAttachment " + e.getMessage()); } deletePhysically(modelAdapter); } public static void deleteGuest(ModelAdapter checkedGuest) { deleteGuestAttachment(checkedGuest); - } - - public static void deleteSavedGuest(byte[] cameraImageFeature) { - if (cameraImageFeature != null && cameraImageFeature.length > 0) { - BaseApplication.getApplication().executorService.execute(() -> { - try { - int deleteCount = 1; - List<ModelAdapter> guestList = findList("select * from guest"); - for (ModelAdapter guest : guestList) { - byte[] dbFeature = guest.getBlob(Guest.camera_image_feature); - float score = FaceId.instance.compareFeature(cameraImageFeature, dbFeature); - if (score >= 70 || dbFeature == null || dbFeature.length < 10) { - deleteGuest(guest); - deleteCount++; - } - } - if (deleteCount > 0) { - BaseApplication.getApplication().activity.fragment_guest_mode.reloadCameraList(); - } - } catch (Exception e) { - e.printStackTrace(); - } - }); - } - } - - public static void enableCamera() { - enableCamera(guestListCameraType, isEnable, outdoor); - } - - public static void enableCamera(int guestListCameraType, boolean isEnable, ModelAdapter outdoor) { - GuestManager.guestListCameraType = guestListCameraType; - GuestManager.isEnable = isEnable; - GuestManager.outdoor = outdoor; - try { - GuestModeFragment guestModeFragment = BaseApplication.getApplication().activity.fragment_guest_mode; - cameraTitle = ""; - if (outdoor != null) { - cameraTitle = outdoor.getString(Outdoor.outdoor_device_name); - } - if (guestListCameraType == 1) { -// if (guestModeFragment.camera1Title != null) { -// GuestManager.cameraOneEnable = isEnable; -// BaseApplication.getApplication().activity.runOnUiThread(() -> { -// -// if (isEnable) { -// if (!TextUtils.isEmpty(cameraTitle)) { -// guestModeFragment.camera1Title.setVisibility(View.VISIBLE); -// guestModeFragment.camera1Title.setText(cameraTitle); -// } else { -// guestModeFragment.camera1Title.setVisibility(View.GONE); -// } -// } else { -// guestModeFragment.camera1Title.setVisibility(View.GONE); -// } -// }); -// -// } - guestModeFragment.reloadCameraOneList(); - } - if (guestListCameraType == 2) { -// if (guestModeFragment.camera2Title != null) { -// GuestManager.cameraTwoEnable = isEnable; -// BaseApplication.getApplication().activity.runOnUiThread(() -> { -// if (isEnable) { -// if (!TextUtils.isEmpty(cameraTitle)) { -// guestModeFragment.camera2Title.setVisibility(View.VISIBLE); -// guestModeFragment.camera2Title.setText(cameraTitle); -// } else { -// guestModeFragment.camera2Title.setVisibility(View.GONE); -// } -// } else { -// guestModeFragment.camera2Title.setVisibility(View.GONE); -// } -// }); -// guestModeFragment.reloadCameraTwoList(); -// } - guestModeFragment.reloadCameraTwoList(); - } - } catch (Exception e) { - System.out.println("GuestManager.enableCamera " + e.getMessage()); - } } public static void removePersonId(String personId) { @@ -193,6 +103,21 @@ } public static boolean twoCameras() { - return false; + if (Constants.USE_GRAY_CAMERA) { + return false; + } + return true; + } + + public static void updateGuestName(ModelAdapter person) { + try { + String personId = person.getString(Person.id); + if (!TextUtils.isEmpty(personId)) { + String personName = person.getString(Person.name); + DatabaseManager.execSQL("update " + Guest.tableName + " set " + Guest.name + "='" + personName + "' where 1=1 and " + Guest.person_id + "='" + personId + "'"); + } + } catch (Exception e) { + e.printStackTrace(); + } } } diff --git a/app/src/main/java/com/basic/security/manager/HintDoorAccessManager.java b/app/src/main/java/com/basic/security/manager/HintDoorAccessManager.java index 028a57d..92737ab 100644 --- a/app/src/main/java/com/basic/security/manager/HintDoorAccessManager.java +++ b/app/src/main/java/com/basic/security/manager/HintDoorAccessManager.java @@ -4,6 +4,8 @@ import com.basic.security.model.HintDoorAccess; import com.basic.security.model.ModelAdapter; +import com.basic.security.model.Sync; +import com.basic.security.utils.Constants; import java.util.ArrayList; import java.util.List; @@ -14,9 +16,9 @@ private static ModelAdapter hintDoorAccess; public static void initHintDoorAccess() { - hintDoorAccess = HintDoorAccessManager.findById("hint_door_access", IdManager.getId(HintDoorAccess.tableName, false)); + hintDoorAccess = HintDoorAccessManager.findById("hint_door_access", HintDoorAccess.tableName); if (hintDoorAccess == null) { - hintDoorAccess = new ModelAdapter(IdManager.getId(HintDoorAccess.tableName, false)); + hintDoorAccess = new ModelAdapter(HintDoorAccess.tableName); hintDoorAccess.setString("no_register", "璇峰埛韬唤璇佹敞鍐�"); hintDoorAccess.setString("access_identity", "1"); hintDoorAccess.setString("access_name", "1"); @@ -32,6 +34,7 @@ hintDoorAccess.setString("refuse_pass_hint", "璇疯仈绯诲畨淇濅汉鍛�"); hintDoorAccess.setString("device_id", DeviceManager.getDeviceId()); hintDoorAccess.setString("table", "hint_door_access"); + hintDoorAccess.setString(Sync.needSync, Constants.FALSE); BaseManager.save(hintDoorAccess); } } @@ -145,7 +148,7 @@ } public static String getRefusePassMessage() { -// System.out.println("HintDoorAccessManager.getRefusePassMessage " + FrameUtil.getFrames()); +// System1.out.println("HintDoorAccessManager.getRefusePassMessage " + FrameUtil.getFrames()); getHintDoorAccessDocument(); if (hintDoorAccess != null) { if (!TextUtils.isEmpty(hintDoorAccess.getString("refuse_pass_hint"))) { @@ -156,7 +159,7 @@ } public static String getDeviceDoorAccessConfirmMessage(ModelAdapter currentPerson) { -// System.out.println("HintDoorAccessManager.getDeviceDoorAccessConfirmMessage"); +// System1.out.println("HintDoorAccessManager.getDeviceDoorAccessConfirmMessage"); String message = ""; if (getConfirmPassIsShowIdentity()) { List<String> identityNameList = PersonIdentityManager.findIdentityNameByPersonId(currentPerson.getId()); @@ -205,7 +208,7 @@ } public static String getSignUpRuleDoorAccessAllowMessage(ModelAdapter ruleDocument, ModelAdapter currentPerson) { -// System.out.println("HintDoorAccessManager.getSignUpRuleDoorAccessAllowMessage " + FrameUtil.getFrames()); +// System1.out.println("HintDoorAccessManager.getSignUpRuleDoorAccessAllowMessage " + FrameUtil.getFrames()); String message = ""; if (getAccessIsShowIdentity() && currentPerson != null) { List<String> identityNameList = PersonIdentityManager.findIdentityNameByPersonId(currentPerson.getId()); @@ -264,7 +267,7 @@ } public static String getNoRegisterHint() { -// System.out.println("HintDoorAccessManager.getNoRegisterHint " + FrameUtil.getFrames()); +// System1.out.println("HintDoorAccessManager.getNoRegisterHint " + FrameUtil.getFrames()); if (BaseSettingManager.isGuestMode()) { if (hintDoorAccess != null && !TextUtils.isEmpty(hintDoorAccess.getString("no_register"))) { return hintDoorAccess.getString("no_register"); diff --git a/app/src/main/java/com/basic/security/manager/HintRecognizeManager.java b/app/src/main/java/com/basic/security/manager/HintRecognizeManager.java index 8263221..ac9cfb5 100644 --- a/app/src/main/java/com/basic/security/manager/HintRecognizeManager.java +++ b/app/src/main/java/com/basic/security/manager/HintRecognizeManager.java @@ -4,14 +4,16 @@ import com.basic.security.model.HintRecognizeMessage; import com.basic.security.model.ModelAdapter; +import com.basic.security.model.Sync; +import com.basic.security.utils.Constants; public class HintRecognizeManager extends BaseManager { public static ModelAdapter hintRecognizeMessage; public static void initHintRecognize() { - hintRecognizeMessage = HintRecognizeManager.findById("hint_recognize_message", IdManager.getId(HintRecognizeMessage.tableName, false)); + hintRecognizeMessage = HintRecognizeManager.findById("hint_recognize_message", HintRecognizeMessage.tableName); if (hintRecognizeMessage == null) { - hintRecognizeMessage = new ModelAdapter(IdManager.getId(HintRecognizeMessage.tableName, false)); + hintRecognizeMessage = new ModelAdapter(HintRecognizeMessage.tableName); hintRecognizeMessage.setString("head_up", "15"); hintRecognizeMessage.setString("head_up_message", "璇蜂綆澶�"); hintRecognizeMessage.setString("head_down", "15"); @@ -27,6 +29,7 @@ hintRecognizeMessage.setString("all_fit", "璇疯皟鏁翠汉鑴歌搴﹀拰璺濈"); hintRecognizeMessage.setString("device_id", DeviceManager.getDeviceId()); hintRecognizeMessage.setString("table", "hint_recognize_message"); + hintRecognizeMessage.setString(Sync.needSync, Constants.FALSE); BaseManager.save(hintRecognizeMessage); } } @@ -42,7 +45,7 @@ try { return -Double.parseDouble(hintRecognizeMessage.getString("head_up")); } catch (Exception e) { - System.out.println(e.getMessage()); + System1.out.println(e.getMessage()); } } return -10; @@ -165,7 +168,7 @@ } public static String getAllFit() { -// System.out.println("HintRecognizeManager.getAllFit " + FrameUtil.getFrames()); +// System1.out.println("HintRecognizeManager.getAllFit " + FrameUtil.getFrames()); getHintRecognizeMassage(); if (hintRecognizeMessage != null && !TextUtils.isEmpty(hintRecognizeMessage.getString("all_fit"))) { return hintRecognizeMessage.getString("all_fit"); diff --git a/app/src/main/java/com/basic/security/manager/HintSignUpManager.java b/app/src/main/java/com/basic/security/manager/HintSignUpManager.java index 58ae50a..1773cbb 100644 --- a/app/src/main/java/com/basic/security/manager/HintSignUpManager.java +++ b/app/src/main/java/com/basic/security/manager/HintSignUpManager.java @@ -4,6 +4,8 @@ import com.basic.security.model.HintSignUp; import com.basic.security.model.ModelAdapter; +import com.basic.security.model.Sync; +import com.basic.security.utils.Constants; import java.util.ArrayList; import java.util.List; @@ -14,9 +16,9 @@ static List<ModelAdapter> getHintSignUpMassageLastList = new ArrayList<>(); public static void initHintSignUp() { - hintSignUpMessage = HintDoorAccessManager.findById("hint_sign_up", IdManager.getId(HintSignUp.tableName, false)); + hintSignUpMessage = HintDoorAccessManager.findById("hint_sign_up", HintSignUp.tableName); if (hintSignUpMessage == null) { - hintSignUpMessage = new ModelAdapter(IdManager.getId(HintSignUp.tableName, false)); + hintSignUpMessage = new ModelAdapter(HintSignUp.tableName); hintSignUpMessage.setString("id_card_message", "璇峰埛韬唤璇�"); hintSignUpMessage.setString("id_card_success", "韬唤璇侀獙璇佹垚鍔�"); hintSignUpMessage.setString("id_card_fail", "韬唤璇侀獙璇佸け璐�"); @@ -25,6 +27,7 @@ hintSignUpMessage.setString("wait_admin", "璇疯仈绯荤鐞嗗憳涓烘偍娉ㄥ唽"); hintSignUpMessage.setString("device_id", DeviceManager.getDeviceId()); hintSignUpMessage.setString("table", "hint_sign_up"); + hintSignUpMessage.setString(Sync.needSync, Constants.FALSE); BaseManager.save(hintSignUpMessage); } } @@ -43,7 +46,7 @@ } public static String getVerificationSuccessHint() { -// System.out.println("HintSignUpManager.getVerificationSuccessHint " + FrameUtil.getFrames()); +// System1.out.println("HintSignUpManager.getVerificationSuccessHint " + FrameUtil.getFrames()); getHintSignUpMassage(); if (hintSignUpMessage != null && !TextUtils.isEmpty(hintSignUpMessage.getString("id_card_success"))) { return hintSignUpMessage.getString("id_card_success"); @@ -83,7 +86,7 @@ // if (BaseSettingManager.isPassMode()) { // return HintDoorAccessManager.getNoRegisterHint(); // } else { -// System.out.println("HintSignUpManager.getAdminLogoutHint " + FrameUtil.getFrames()); +// System1.out.println("HintSignUpManager.getAdminLogoutHint " + FrameUtil.getFrames()); getHintSignUpMassage(); if (hintSignUpMessage != null && !TextUtils.isEmpty(hintSignUpMessage.getString("wait_admin"))) { return hintSignUpMessage.getString("wait_admin"); diff --git a/app/src/main/java/com/basic/security/manager/IdCardManager.java b/app/src/main/java/com/basic/security/manager/IdCardManager.java index 60718af..463ceb5 100644 --- a/app/src/main/java/com/basic/security/manager/IdCardManager.java +++ b/app/src/main/java/com/basic/security/manager/IdCardManager.java @@ -464,7 +464,7 @@ private static void saveIdCard(IdCard idcard) { MainActivity activity = BaseApplication.getApplication().activity; - ModelAdapter selectedPerson = activity.fragment_person_manage.selectedPerson; + ModelAdapter selectedPerson = activity.fragment_person_manage.selectedPerson(); if (selectedPerson != null && idcard.featureData != null) { byte[] camera_image_feature = selectedPerson.getBlob(Person.camera_image_feature); BaseApplication.getApplication().detectLock.lock(); diff --git a/app/src/main/java/com/basic/security/manager/NodeNameManager.java b/app/src/main/java/com/basic/security/manager/NodeNameManager.java index af0874b..46d8434 100644 --- a/app/src/main/java/com/basic/security/manager/NodeNameManager.java +++ b/app/src/main/java/com/basic/security/manager/NodeNameManager.java @@ -79,11 +79,11 @@ } public static void sendNodeName() { -// System.out.println("NodeNameManager.sendNodeName 1"); +// System1.out.println("NodeNameManager.sendNodeName 1"); BaseApplication.getApplication().executorService.execute(() -> { while (true) { try { -// System.out.println("NodeNameManager.sendNodeName 2"); +// System1.out.println("NodeNameManager.sendNodeName 2"); SystemClock.sleep(5 * 1000); DatagramSocket sendSocket = new DatagramSocket(); sendSocket.setBroadcast(true); @@ -92,9 +92,9 @@ DatagramPacket packet = new DatagramPacket(buffer, buffer.length, InetAddress.getByName("255.255.255.255"), 4445); sendSocket.send(packet); sendSocket.close(); -// System.out.println("NodeNameManager.sendNodeName msg="+msg); +// System1.out.println("NodeNameManager.sendNodeName msg="+msg); } catch (Exception e) { - System.out.println("NodeNameManager.sendNodeName " + e.getMessage()); + System1.out.println("NodeNameManager.sendNodeName " + e.getMessage()); } } }); @@ -109,7 +109,7 @@ String deviceId = nodeName.split("@", -1)[0]; String deviceIp = nodeName.split("@", -1)[1]; setNodeName(deviceId, nodeName); -// System.out.println("NodeNameManager.receiveNodeName msg="+nodeName); +// System1.out.println("NodeNameManager.receiveNodeName msg="+nodeName); } } catch (Exception e) { e.printStackTrace(); diff --git a/app/src/main/java/com/basic/security/manager/OrgManager.java b/app/src/main/java/com/basic/security/manager/OrgManager.java index 5a168b1..bf4a95e 100644 --- a/app/src/main/java/com/basic/security/manager/OrgManager.java +++ b/app/src/main/java/com/basic/security/manager/OrgManager.java @@ -229,7 +229,7 @@ String parentOrgId = thisOrg.getString(Org.pid); for (ModelAdapter org : orgs) { SocketUtil.rpcCallDeleteOrg(org); - delete(org); + deletePhysically(org); ToastUtil.show("鍒犻櫎鎴愬姛"); } if (!TextUtils.isEmpty(parentOrgId)) { diff --git a/app/src/main/java/com/basic/security/manager/PersonAManager.java b/app/src/main/java/com/basic/security/manager/PersonAManager.java index d564e82..ca09f05 100644 --- a/app/src/main/java/com/basic/security/manager/PersonAManager.java +++ b/app/src/main/java/com/basic/security/manager/PersonAManager.java @@ -1,49 +1,46 @@ package com.basic.security.manager; +import com.basic.security.base.BaseApplication; import com.basic.security.model.ModelAdapter; import com.basic.security.model.Person; import com.basic.security.model.PersonA; +import com.basic.security.utils.Constants; import com.basic.security.utils.SqlSplit; -import com.basic.security.utils.WeedUpload; -import java.io.File; import java.util.List; public class PersonAManager extends BaseManager { public static void savePersonAFromPerson(ModelAdapter person) { - ModelAdapter personA = new ModelAdapter(); - personA.setString(PersonA.createBy, DeviceManager.getDeviceId()); - personA.setString(PersonA.faceFeature, person.getString(Person.camera_image_feature)); - personA.setString(PersonA.id, person.getString(Person.id)); - personA.setString(PersonA.idCard, person.getString(Person.id_card_number)); - personA.setString(PersonA.age, "0"); // 锛熼粯璁ゅ�� - personA.setString(PersonA.personName, person.getString(Person.name)); - personA.setString(PersonA.phoneNum, person.getString(Person.phone)); - personA.setString(PersonA.personPicUrl, uploadCameraImagePath(person)); - personA.setString(PersonA.createTime, ""); //?鏍煎紡 - personA.setString(PersonA.enable, ""); // 锛熼粯璁ゅ�� - personA.setString(PersonA.isDelete, ""); // 锛熼粯璁ゅ�� - personA.setString(PersonA.monitorLevel, ""); // 锛熼粯璁ゅ�� - personA.setString(PersonA.picDesc, ""); - personA.setString(PersonA.reserved, ""); - personA.setString(PersonA.sex, ""); // 锛熷彇鍊� - personA.setString(PersonA.tableId, ""); // 锛熼粯璁ゅ�� - personA.setString(PersonA.tableName, ""); // 锛熼粯璁ゅ�� - personA.setString(PersonA.updateTime, ""); //?鏍煎紡 - save(personA); - } - - private static String uploadCameraImagePath(ModelAdapter person) { - String personPicUrl = ""; - try { - File camera_image_path_file = new File(person.getString(Person.camera_image_path)); - if (camera_image_path_file.exists()) { - personPicUrl = WeedUpload.upload(camera_image_path_file); + BaseApplication.getApplication().executorService.execute(() -> { + try { + ModelAdapter personA = new ModelAdapter(); + personA.setString(PersonA.createBy, DeviceManager.getDeviceId()); + personA.setString(PersonA.faceFeature, person.getString(Person.camera_image_feature)); + personA.setString(PersonA.id, person.getString(Person.id)); + personA.setString(PersonA.personPicUrl, ""); + personA.setString(PersonA.idCard, person.getString(Person.id_card_number)); + personA.setString(PersonA.age, "0"); // 锛熼粯璁ゅ�� + personA.setString(PersonA.personName, person.getString(Person.name)); + personA.setString(PersonA.phoneNum, person.getString(Person.phone)); + personA.setString(PersonA.createTime, ""); //?鏍煎紡 + personA.setString(PersonA.enable, "1"); // 锛熼粯璁ゅ�� + personA.setString(PersonA.isDelete, "0"); // 锛熼粯璁ゅ�� + personA.setString(PersonA.monitorLevel, ""); // 锛熼粯璁ゅ�� + personA.setString(PersonA.picDesc, ""); + personA.setString(PersonA.reserved, ""); + personA.setString(PersonA.sex, ""); // 锛熷彇鍊� + personA.setString(PersonA.tableId, ""); // 锛熼粯璁ゅ�� + personA.setString(Constants.TABLE, PersonA.tableName); // 锛熼粯璁ゅ�� + personA.setString(PersonA.updateTime, ""); //?鏍煎紡 + if (PersonCameraImagePathManager.uploadCameraImagePath(personA, person)) { + //PersonManager.save(person); + } + save(personA); + } catch (Exception e) { + e.printStackTrace(); } - } catch (Exception e) { - e.printStackTrace(); - } - return personPicUrl; + }); + } public static void afterExecutedSql(String sql) { @@ -103,6 +100,22 @@ } public static void savePersonA(ModelAdapter personA) { + personA.setString(Constants.TABLE, PersonA.tableName); save(personA); } + + public static void deletePersonAByPerson(ModelAdapter person) { + if (person != null) { + String personId = person.getString(Person.id); + ModelAdapter personA = findById(PersonA.tableName, personId); + if (personA != null) { + personA.setString(PersonA.isDelete, "1"); + savePersonA(personA); + } + } + } + + public static List<ModelAdapter> findPersonAList(String sql) { + return findList(sql); + } } diff --git a/app/src/main/java/com/basic/security/manager/PersonCameraImagePathManager.java b/app/src/main/java/com/basic/security/manager/PersonCameraImagePathManager.java new file mode 100644 index 0000000..46b0de6 --- /dev/null +++ b/app/src/main/java/com/basic/security/manager/PersonCameraImagePathManager.java @@ -0,0 +1,179 @@ +package com.basic.security.manager; + +import android.os.SystemClock; +import android.text.TextUtils; + +import com.basic.security.base.BaseApplication; +import com.basic.security.model.ModelAdapter; +import com.basic.security.model.Person; +import com.basic.security.model.PersonA; +import com.basic.security.model.PersonCameraImagePath; +import com.basic.security.model.Sync; +import com.basic.security.utils.Constants; +import com.basic.security.utils.WeedUpload; + +import java.io.File; +import java.net.URL; +import java.util.List; + +public class PersonCameraImagePathManager extends BaseManager { + + public static void startDownloadCameraImagePath() { + BaseApplication.getApplication().executorService.execute(() -> { + while (true) { + try { + SystemClock.sleep(10000); + String sql = "select a.* from " + PersonCameraImagePath.tableName + " a where 1=1 and a." + PersonCameraImagePath.camera_image_path_exist + + "='false' and " + PersonCameraImagePath.camera_image_path + "!='' limit 10"; +// System.out.println("CameraImagePathManager.startDownloadCameraImagePath sql=" + sql); + List<ModelAdapter> personCameraImagePathList = findList(sql); + for (ModelAdapter personCameraImagePath : personCameraImagePathList) { + if (personCameraImagePath != null) { + ModelAdapter personA = PersonAManager.findPersonAById(personCameraImagePath.getString(PersonCameraImagePath.id)); + ModelAdapter person = PersonManager.findPersonById(personCameraImagePath.getString(PersonCameraImagePath.id)); + if (personA != null) { + String personPicUrl = personA.getString(PersonA.personPicUrl); + if (download_camera_image_path(personPicUrl, person)) { + updateCameraImagePathExist(person); + } + } + } + } + + if (personCameraImagePathList.size() < 10) { + SystemClock.sleep(3000); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + public static void startUploadCameraImagePath() { + BaseApplication.getApplication().executorService.execute(() -> { + while (true) { + try { + SystemClock.sleep(10000); + String sql = "select a.* from " + PersonCameraImagePath.tableName + " a left join " + + PersonA.tableName + " b on a.id=b.id where 1=1 " + +// " and " + PersonCameraImagePath.camera_image_path_upload + "='false' " + + " and " + PersonA.personPicUrl + "='' limit 10"; + List<ModelAdapter> personCameraImagePathList = findList(sql); +// System.out.println("PersonCameraImagePathManager.startUploadCameraImagePath sql=" + sql + " personCameraImagePathList=" + personCameraImagePathList); + for (ModelAdapter personCameraImagePath : personCameraImagePathList) { + if (personCameraImagePath != null) { + ModelAdapter personA = PersonAManager.findPersonAById(personCameraImagePath.getString(PersonCameraImagePath.id)); + ModelAdapter person = PersonManager.findPersonById(personCameraImagePath.getString(PersonCameraImagePath.id)); + if (personA != null) { + if (uploadCameraImagePath(personA, person)) { + personA.setString(Sync.needSync, Constants.TRUE); + PersonAManager.savePersonA(personA); + } + } + } + } + } catch (Exception e) { + System.out.println("PersonCameraImagePathManager.startUploadCameraImagePath " + e.getMessage()); +// e.printStackTrace(); + } + } + }); + } + + public static void updateCameraImagePathExist(ModelAdapter person) { + String table = person.getString(Constants.TABLE); + if (table == null) { + table = ""; + } + if (table.equals("person")) { + try { + ModelAdapter personCameraImagePath = findOrCreatePersonCameraImagePath(person); + String camera_image_path = person.getString(Person.camera_image_path); + String exists = Constants.FALSE; + if (!TextUtils.isEmpty(camera_image_path)) { + File camera_image_path_file = new File(camera_image_path); + if (camera_image_path_file.exists()) { + exists = Constants.TRUE; + } + } + personCameraImagePath.setString(PersonCameraImagePath.camera_image_path_exist, exists); + save(personCameraImagePath); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + public static ModelAdapter findOrCreatePersonCameraImagePath(ModelAdapter person) { + ModelAdapter personCameraImagePath = findById(PersonCameraImagePath.tableName, person.getString(Person.id)); + if (personCameraImagePath == null) { + personCameraImagePath = new ModelAdapter(); + personCameraImagePath.setString(PersonCameraImagePath.id, person.getString(Person.id)); + personCameraImagePath.setString(Constants.TABLE, PersonCameraImagePath.tableName); + personCameraImagePath.setString(PersonCameraImagePath.camera_image_path_upload, Constants.FALSE); + personCameraImagePath.setString(PersonCameraImagePath.company_id, CompanyManager.getCompanyId()); + personCameraImagePath.setString(PersonCameraImagePath.device_id, DeviceManager.getDeviceId()); + personCameraImagePath.setString(PersonCameraImagePath.from_device_id, person.getString(Person.device_id)); + personCameraImagePath.setString(PersonCameraImagePath.camera_image_path, person.getString(Person.camera_image_path)); + save(personCameraImagePath); + } + return personCameraImagePath; + } + + public static boolean download_camera_image_path(String personPicUrl, ModelAdapter person) { + try { + String camera_image_path = ModelAdapter.getAttachmentPath(person.getId(), Person.camera_image_path, Person.tableName); + if (!TextUtils.isEmpty(camera_image_path)) { + File camera_image_path_file = new File(camera_image_path); + if (!camera_image_path_file.exists()) { + if (camera_image_path_file.length() == 0) { + camera_image_path_file.delete(); + } + if (!TextUtils.isEmpty(personPicUrl)) { + if (!camera_image_path_file.exists()) { + org.apache.commons.io.FileUtils.copyURLToFile(new URL(personPicUrl), camera_image_path_file); + } + person.setString(Person.camera_image_path, camera_image_path); + if (camera_image_path_file.exists()) { + updateCameraImagePathExist(person); + return true; + } + } else { + System.out.println("PersonCameraImagePathManager.download_camera_image_path personPicUrl=" + personPicUrl); + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return false; + } + + public static boolean uploadCameraImagePath(ModelAdapter personA, ModelAdapter person) { + String personPicUrl = ""; + try { + personPicUrl = personA.getString(PersonA.personPicUrl); + if (TextUtils.isEmpty(personPicUrl)) { + if (person != null) { + File camera_image_path_file = new File(person.getString(Person.camera_image_path)); + if (camera_image_path_file.exists()) { +// System.out.println("PersonCameraImagePathManager.uploadCameraImagePath personId=" + personA.getString(PersonA.id)); + personPicUrl = WeedUpload.upload(camera_image_path_file); + } + personA.setString(PersonA.personPicUrl, personPicUrl); + if (!TextUtils.isEmpty(personPicUrl)) { + ModelAdapter personCameraImagePath = findOrCreatePersonCameraImagePath(person); + personCameraImagePath.setString(PersonCameraImagePath.camera_image_path_upload, Constants.TRUE); + save(personCameraImagePath); + return true; + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return false; + } + +} diff --git a/app/src/main/java/com/basic/security/manager/PersonIdentityManager.java b/app/src/main/java/com/basic/security/manager/PersonIdentityManager.java index aa216c4..3ac1d65 100644 --- a/app/src/main/java/com/basic/security/manager/PersonIdentityManager.java +++ b/app/src/main/java/com/basic/security/manager/PersonIdentityManager.java @@ -24,7 +24,7 @@ List<ModelAdapter> list = BaseManager.findList("select * from user where person_id='" + personId + "'"); for (ModelAdapter k : list) { try { - delete(k); + deletePhysically(k); } catch (Exception e) { e.printStackTrace(); } @@ -50,6 +50,7 @@ ); if (personIdentity == null) { personIdentity = new ModelAdapter(); + personIdentity.setString(PersonIdentity.id, personId + "" + ruleId); personIdentity.setString("person_id", personId); personIdentity.setString("identity_id", ruleId); personIdentity.setString("del_flag", "0"); @@ -67,7 +68,7 @@ public static void delAdminIdentity(String personId) { List<ModelAdapter> list = findList("select * from user where person_id='" + personId + "'"); for (ModelAdapter d : list) { - delete(d); + deletePhysically(d); } } diff --git a/app/src/main/java/com/basic/security/manager/PersonManager.java b/app/src/main/java/com/basic/security/manager/PersonManager.java index 033be9c..631eee2 100644 --- a/app/src/main/java/com/basic/security/manager/PersonManager.java +++ b/app/src/main/java/com/basic/security/manager/PersonManager.java @@ -12,6 +12,7 @@ import com.basic.security.model.Person; import com.basic.security.model.PersonA; import com.basic.security.utils.Base64Util; +import com.basic.security.utils.BasicIdUtil; import com.basic.security.utils.BitmapHolder; import com.basic.security.utils.CompareFeatureResult; import com.basic.security.utils.Constants; @@ -30,12 +31,10 @@ import java.io.ByteArrayOutputStream; import java.io.File; -import java.net.URL; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.UUID; import static com.basic.security.model.Sync.needSync; @@ -45,8 +44,10 @@ static BitmapHolder bitmapHolder = new BitmapHolder(); public static void savePerson(ModelAdapter person) { + removePersonFromCache(person); save(person); - uploadToTemporary(person.getId()); + GuestManager.updateGuestName(person); +// uploadToTemporary(person.getId()); } public static void uploadToTemporary(String personId) { @@ -89,18 +90,18 @@ public void onError(Throwable ex, boolean isOnCallback) { ex.printStackTrace(); - System.out.println("httponError"); + System1.out.println("httponError"); } public void onCancelled(CancelledException cex) { - System.out.println("httponCancelled"); + System1.out.println("httponCancelled"); } public void onFinished() { } }); } catch (Exception e) { - System.out.println("PersonManager.execute " + e.getMessage()); + System1.out.println("PersonManager.execute " + e.getMessage()); // e.printStackTrace(); } } @@ -122,9 +123,15 @@ } } } - FaceId.instance.removeFeatureFromDb(person.getString(Person.id)); + FeatureManager.removeFeature(person.getString(Person.id)); PersonIdentityManager.deletePersonIdentityByPersonId(person.getString(Person.id)); - delete(person); + PersonAManager.deletePersonAByPerson(person); + if (Constants.deletePersonPhysical) { + deletePhysically(person); + } else { + deleteWithDelFlag(person); + } + removePersonFromCache(person); SocketUtil.rpcCallDeletePerson(person); if (Constants.isIndoor) { GuestManager.removePersonId(person.getString(Person.id)); @@ -165,16 +172,30 @@ return allPersonList; } - public static ModelAdapter findPersonById(String personId) { - ModelAdapter person = findPersonByIdMap.get(personId); - if (System.currentTimeMillis() - lastFindPersonById < 1000 && person != null) { - return person; - } else { - person = findById("person", personId); - findPersonByIdMap.put(personId, person); - lastFindPersonById = System.currentTimeMillis(); + public static void removePersonFromCache(ModelAdapter person) { + try { + String personId = person.getString(Person.id); + findPersonByIdMap.remove(personId); + } catch (Exception e) { + e.printStackTrace(); } - return person; + } + + public static ModelAdapter findPersonById(String personId) { + try { + ModelAdapter person = findPersonByIdMap.get(personId); + if (System.currentTimeMillis() - lastFindPersonById < 1000 && person != null) { + return person; + } else { + person = findById("person", personId); + findPersonByIdMap.put(personId, person); + lastFindPersonById = System.currentTimeMillis(); + } + return person; + } catch (Exception e) { + e.printStackTrace(); + } + return null; } // 鑾峰彇鍚湁鐗瑰畾韬唤鐨勬墍鏈変汉鍛� @@ -204,30 +225,6 @@ return personList; } - public static boolean isDuplicate(ModelAdapter selectedPerson) { - try { - byte[] camera_image_feature = selectedPerson.getBlob("camera_image_feature"); - return isDuplicate(camera_image_feature); - } catch (Exception e) { - e.printStackTrace(); - } - return false; - } - - public static boolean isDuplicate(byte[] camera_image_feature) { - try { - if (camera_image_feature != null && camera_image_feature.length > 0) { - String compareResultStr = FaceId.instance.compareFeatureInDb(camera_image_feature, Constants.minRecognizeScore); - ModelAdapter person = PersonManager.findPersonById(compareResultStr.split(",", -1)[0]); - if (person != null) { - return true; - } - } - } catch (Exception e) { - e.printStackTrace(); - } - return false; - } public static void reFindPerson(CompareFeatureResult compareFeatureResult) { try { @@ -369,7 +366,7 @@ BaseApplication.getApplication().detectLock.lock(); String facePosition = FaceId.instance.facePosition(file.getAbsolutePath()); if (facePosition.length() <= 0) { - System.out.println("SaveTestData.run 娌℃湁鎵惧埌浜鸿劯"); + System1.out.println("SaveTestData.run 娌℃湁鎵惧埌浜鸿劯"); return null; } String[] rectFace = facePosition.split(","); @@ -380,16 +377,16 @@ byte[] featureData = FaceId.instance.extractFeature(file.getAbsolutePath()); BaseApplication.getApplication().detectLock.unlock(); if (featureData == null) { - System.out.println("SaveTestData.run 鎻愬彇鐗瑰緛澶辫触! 璇锋鏌DK鏄惁鍒濆鍖�"); + System1.out.println("SaveTestData.run 鎻愬彇鐗瑰緛澶辫触! 璇锋鏌DK鏄惁鍒濆鍖�"); return null; } - String compareResultStr = FaceId.instance.compareFeatureInDb(featureData, Constants.minRecognizeScore); + String compareResultStr = FeatureManager.compareFeature(featureData, Constants.minRecognizeScore); String personId = compareResultStr.split(",", -1)[0]; if (!TextUtils.isEmpty(personId)) { return findById(Person.tableName, personId); } ModelAdapter person = new ModelAdapter() - .setString(Person.id, UUID.randomUUID().toString()) + .setString(Person.id, BasicIdUtil.getPersonId(featureData)) .setString("name", fileName) .setString("sign_up_status", "宸叉敞鍐�") .setString("verify_status", "涓嶉渶瑕侀獙璇佽韩浠借瘉") @@ -399,10 +396,12 @@ .setString("company_id", CompanyManager.getCompanyId()) .setString(Person.org_id, orgId) .setString("table", "person"); + person.setString(Person.device_id, DeviceManager.getDeviceId()); + person.setString(Person.company_id, CompanyManager.getCompanyId()); person.setBlob("camera_image_feature", featureData); person.setBlob("camera_image_path", faceJpgData); PersonManager.savePerson(person); - FaceId.instance.addFeatureToDb(person.getId(), featureData); + FeatureManager.addFeature(person.getId(), featureData); return person; } catch (Exception e) { e.printStackTrace(); @@ -439,7 +438,6 @@ person.setString(Person.org_id, ""); person.setString(Person.org_ids, ""); person.setString(Person.id, personA.getString(PersonA.id)); - download_camera_image_path(person); person.setString(Person.name, personA.getString(PersonA.personName)); person.setString(Person.camera_image_feature, personA.getString(PersonA.faceFeature)); person.setString(Person.phone, personA.getString(PersonA.phoneNum)); @@ -474,29 +472,14 @@ if (person.getString(Person.del_flag).equals("0")) { byte[] feature = person.getBlob(Person.camera_image_feature); if (feature != null && feature.length > 10) { - FaceId.instance.addFeatureToDb(person.getId(), feature); + FeatureManager.addFeature(person.getId(), feature); } } else { - FaceId.instance.removeFeatureFromDb(person.getId()); + FeatureManager.removeFeature(person.getId()); } savePerson(person); } - private void download_camera_image_path(ModelAdapter person) { - try { - String personPicUrl = personA.getString(PersonA.personPicUrl); - if (TextUtils.isEmpty(personPicUrl)) { - String camera_image_path = ModelAdapter.getAttachmentPath(personA.getId(), Person.camera_image_path, Person.tableName); - File camera_image_path_file = new File(camera_image_path); - if (!camera_image_path_file.exists()) { - org.apache.commons.io.FileUtils.copyURLToFile(new URL(personPicUrl), camera_image_path_file); - } - person.setString(Person.camera_image_path, camera_image_path); - } - } catch (Exception e) { - e.printStackTrace(); - } - } public void updatePerson(ModelAdapter dbPerson) { dbPerson.setString(Person.id, personA.getString(PersonA.id)); @@ -508,14 +491,14 @@ dbPerson.setString(Person.auto_init, "0"); dbPerson.setString(Person.table, Person.tableName); dbPerson.setString(Person.del_flag, "0"); - download_camera_image_path(dbPerson); + PersonCameraImagePathManager.download_camera_image_path(personA.getString(PersonA.personPicUrl), dbPerson); if (dbPerson.getString(Person.del_flag).equals("0")) { byte[] feature = dbPerson.getBlob(Person.camera_image_feature); if (feature != null && feature.length > 10) { - FaceId.instance.addFeatureToDb(dbPerson.getId(), feature); + FeatureManager.addFeature(dbPerson.getId(), feature); } } else { - FaceId.instance.removeFeatureFromDb(dbPerson.getId()); + FeatureManager.removeFeature(dbPerson.getId()); } dbPerson.setString(needSync, Constants.FALSE); savePerson(dbPerson); diff --git a/app/src/main/java/com/basic/security/manager/RecognizeManager.java b/app/src/main/java/com/basic/security/manager/RecognizeManager.java index 80cc67b..0393cb7 100644 --- a/app/src/main/java/com/basic/security/manager/RecognizeManager.java +++ b/app/src/main/java/com/basic/security/manager/RecognizeManager.java @@ -176,7 +176,7 @@ // AppUtil.restartApp(BaseApplication.getApplication()); // } BaseApplication.getApplication().activity.fragment_password_open_door.hideKeyboardFromTimeout(); -// System.out.println("RecognizeManager.processRecognizeResult " + FragmentUtil.guestModeFragment().camera1.getVisibility()); +// System1.out.println("RecognizeManager.processRecognizeResult " + FragmentUtil.guestModeFragment().camera1.getVisibility()); BaseApplication.getApplication().activity.runOnUiThread(() -> { }); } catch (Exception e) { diff --git a/app/src/main/java/com/basic/security/manager/RemoteOutdoorManager.java b/app/src/main/java/com/basic/security/manager/RemoteOutdoorManager.java index 475cc0f..8381f9b 100644 --- a/app/src/main/java/com/basic/security/manager/RemoteOutdoorManager.java +++ b/app/src/main/java/com/basic/security/manager/RemoteOutdoorManager.java @@ -27,7 +27,7 @@ public static boolean useIp = false; public static void startNewSocketClient() { - RemoteOutdoorManager.guestSocketClient1 = new IndoorGuestSocketClient("", FragmentUtil.guestModeFragment().camera1, 1); + RemoteOutdoorManager.guestSocketClient1 = new IndoorGuestSocketClient("", FragmentUtil.guestModeFragment().camera1, 2); RemoteOutdoorManager.guestSocketClient1.start(); guestSocketClientList.add(RemoteOutdoorManager.guestSocketClient1); SystemClock.sleep(10 * 1000); @@ -67,7 +67,7 @@ startNewSocketClient(); } } catch (Exception e) { - System.out.println("pullAlarmDataList, " + e.getMessage()); + System1.out.println("pullAlarmDataList, " + e.getMessage()); } } catch (Exception e) { e.printStackTrace(); @@ -208,7 +208,7 @@ outdoorListLock.lock(); outdoorList = findList("select * from " + Outdoor.tableName + " order by " + Outdoor.outdoor_device_id + " "); -// System.out.println("OutdoorManager.findOutdoorList outdoorList="+outdoorList); +// System1.out.println("OutdoorManager.findOutdoorList outdoorList="+outdoorList); outdoorByOutDeviceIdMap.clear(); outdoorByOutDeviceIpMap.clear(); for (ModelAdapter outdoor : outdoorList) { @@ -248,7 +248,7 @@ List<String> remoteOutdoorIpList = new ArrayList<>(); findOutdoorList(); if (outdoorList != null && outdoorList.size() > 0) { - for (ModelAdapter outdoor : outdoorList){ + for (ModelAdapter outdoor : outdoorList) { remoteOutdoorIpList.add(outdoor.getString(Outdoor.outdoor_device_ip)); } } diff --git a/app/src/main/java/com/basic/security/manager/RowToSerfManager.java b/app/src/main/java/com/basic/security/manager/RowToSerfManager.java new file mode 100644 index 0000000..f37a64b --- /dev/null +++ b/app/src/main/java/com/basic/security/manager/RowToSerfManager.java @@ -0,0 +1,24 @@ +package com.basic.security.manager; + +import com.basic.security.model.ModelAdapter; +import com.basic.security.model.RowToSerf; + +public class RowToSerfManager extends BaseManager { + + public static ModelAdapter buildRowToSerf(ModelAdapter modelAdapter, String sql) { + ModelAdapter rowToSerf = new ModelAdapter(); + rowToSerf.setString(RowToSerf.sql, sql); + rowToSerf.setObject(RowToSerf.model, modelAdapter); + return rowToSerf; + } + + public static void confirmSend(ModelAdapter rowToSerf) { + try { + ModelAdapter model = (ModelAdapter) rowToSerf.getObject(RowToSerf.model); + + } catch (Exception e) { + e.printStackTrace(); + } + } + +} diff --git a/app/src/main/java/com/basic/security/manager/SerfToRowManager.java b/app/src/main/java/com/basic/security/manager/SerfToRowManager.java new file mode 100644 index 0000000..a312873 --- /dev/null +++ b/app/src/main/java/com/basic/security/manager/SerfToRowManager.java @@ -0,0 +1,26 @@ +package com.basic.security.manager; + +import com.basic.security.model.Model; +import com.basic.security.model.ModelAdapter; +import com.basic.security.model.SerfToRow; +import com.basic.security.utils.SqlSplit; + +import java.util.Map; + +public class SerfToRowManager extends BaseManager { + + public static void addSerfToRow(String sql) { + String row_table = SqlSplit.getTableName(sql); + String row_operate_type = SqlSplit.getRowSqlOperateType(sql); + Map<String, String> rowDataMap = SqlSplit.getRowDataMap(sql); + ModelAdapter serfToRow = new ModelAdapter(); + serfToRow.setString(SerfToRow.company_id, CompanyManager.getCompanyId()); + serfToRow.setString(SerfToRow.device_id, DeviceManager.getDeviceId()); + serfToRow.setString(SerfToRow.row_id, rowDataMap.get(Model.id)); + serfToRow.setString(SerfToRow.row_sql, sql); + serfToRow.setString(SerfToRow.row_table, row_table); + serfToRow.setString(SerfToRow.row_operate_type, row_operate_type); + serfToRow.setString(com.basic.security.utils.Constants.TABLE, SerfToRow.tableName); + } + +} diff --git a/app/src/main/java/com/basic/security/manager/SystemInitManager.java b/app/src/main/java/com/basic/security/manager/SystemInitManager.java index 86234ed..2c12728 100644 --- a/app/src/main/java/com/basic/security/manager/SystemInitManager.java +++ b/app/src/main/java/com/basic/security/manager/SystemInitManager.java @@ -12,6 +12,7 @@ import com.basic.security.model.ModelAdapter; import com.basic.security.model.Org; import com.basic.security.model.Person; +import com.basic.security.model.Sync; import com.basic.security.secondary.SecondaryDisplay; import com.basic.security.utils.Constants; import com.basic.security.utils.socket.outdoor.OutdoorSendIpSocketClientFromBaseSetting; @@ -20,7 +21,6 @@ import java.util.Arrays; import java.util.List; -//import com.basic.security.manager.erlang.ErlangProcess; public class SystemInitManager { public static DisplayManager displayManager = null; public static Display[] presentationDisplays = null; @@ -55,25 +55,28 @@ adminIdentity.setString("auto_init", "1"); adminIdentity.setString("device_id", DeviceManager.getDeviceId()); adminIdentity.setString("company_id", CompanyManager.getCompanyId()); + adminIdentity.setString(Sync.needSync, Constants.FALSE); IdentityManager.save(adminIdentity); } - ModelAdapter staffIdentity = BaseManager.findById("identity", "staffIdentity"); - if (staffIdentity == null) { - staffIdentity = new ModelAdapter("staffIdentity"); - staffIdentity.setString("table", "identity"); - staffIdentity.setString("name", "鑰佸笀"); - staffIdentity.setString("device_id", DeviceManager.getDeviceId()); - staffIdentity.setString("company_id", CompanyManager.getCompanyId()); - IdentityManager.save(staffIdentity); + ModelAdapter teacherIdentity = BaseManager.findById("identity", "teacherIdentity"); + if (teacherIdentity == null) { + teacherIdentity = new ModelAdapter("teacherIdentity"); + teacherIdentity.setString("table", "identity"); + teacherIdentity.setString("name", "鑰佸笀"); + teacherIdentity.setString("device_id", DeviceManager.getDeviceId()); + teacherIdentity.setString("company_id", CompanyManager.getCompanyId()); + teacherIdentity.setString(Sync.needSync, Constants.FALSE); + IdentityManager.save(teacherIdentity); } - ModelAdapter blackListIdentity = BaseManager.findById("identity", "blackListIdentity"); - if (blackListIdentity == null) { - blackListIdentity = new ModelAdapter("blackListIdentity"); - blackListIdentity.setString("table", "identity"); - blackListIdentity.setString("name", "鍐呴儴浜哄憳"); - blackListIdentity.setString("device_id", DeviceManager.getDeviceId()); - blackListIdentity.setString("company_id", CompanyManager.getCompanyId()); - IdentityManager.save(blackListIdentity); + ModelAdapter insiderIdentity = BaseManager.findById("identity", "insiderIdentity"); + if (insiderIdentity == null) { + insiderIdentity = new ModelAdapter("insiderIdentity"); + insiderIdentity.setString("table", "identity"); + insiderIdentity.setString("name", "鍐呴儴浜哄憳"); + insiderIdentity.setString("device_id", DeviceManager.getDeviceId()); + insiderIdentity.setString("company_id", CompanyManager.getCompanyId()); + insiderIdentity.setString(Sync.needSync, Constants.FALSE); + IdentityManager.save(insiderIdentity); } ModelAdapter studentIdentity = BaseManager.findById("identity", "studentIdentity"); if (studentIdentity == null) { @@ -82,20 +85,22 @@ studentIdentity.setString("name", "瀛︾敓"); studentIdentity.setString("device_id", DeviceManager.getDeviceId()); studentIdentity.setString("company_id", CompanyManager.getCompanyId()); + studentIdentity.setString(Sync.needSync, Constants.FALSE); IdentityManager.save(studentIdentity); } - ModelAdapter autoSignUpIdentity = BaseManager.findById("identity", "autoSignUpIdentity"); - if (autoSignUpIdentity == null) { - autoSignUpIdentity = new ModelAdapter("autoSignUpIdentity"); - autoSignUpIdentity.setString("table", "identity"); - autoSignUpIdentity.setString("name", "璁垮"); - autoSignUpIdentity.setString("device_id", DeviceManager.getDeviceId()); - autoSignUpIdentity.setString("company_id", CompanyManager.getCompanyId()); - IdentityManager.save(autoSignUpIdentity); + ModelAdapter guestIdentity = BaseManager.findById("identity", "guestIdentity"); + if (guestIdentity == null) { + guestIdentity = new ModelAdapter("guestIdentity"); + guestIdentity.setString("table", "identity"); + guestIdentity.setString("name", "璁垮"); + guestIdentity.setString("device_id", DeviceManager.getDeviceId()); + guestIdentity.setString("company_id", CompanyManager.getCompanyId()); + guestIdentity.setString(Sync.needSync, Constants.FALSE); + IdentityManager.save(guestIdentity); } - ModelAdapter admin_person = BaseManager.findById("person", deviceId + "admin_person"); + ModelAdapter admin_person = BaseManager.findById("person", "admin_person"); if (admin_person == null) { - admin_person = new ModelAdapter(deviceId + "admin_person") + admin_person = new ModelAdapter("admin_person") .setString("name", "绯荤粺绠$悊鍛�") .setString("sign_up_status", "宸叉敞鍐�") .setString("verify_status", "涓嶉渶瑕侀獙璇佽韩浠借瘉") @@ -109,11 +114,12 @@ .setString(Person.org_ids, schoolOrg.getString(Org.ids)) .setString("company_id", CompanyManager.getCompanyId()) .setString("table", "person"); + admin_person.setString(Sync.needSync, Constants.FALSE); PersonManager.savePerson(admin_person); } - ModelAdapter admin_user_table = BaseManager.findById("user", deviceId + "admin_user"); - if (admin_user_table == null) { - admin_user_table = new ModelAdapter(deviceId + "admin_user") + ModelAdapter adminUser = BaseManager.findById("user", "admin_user"); + if (adminUser == null) { + adminUser = new ModelAdapter("admin_user") .setString("table", "user") .setString("name", "绯荤粺绠$悊鍛�") .setString("person_id", admin_person.getId()) @@ -122,17 +128,33 @@ .setString("password", "admin123") .setString("device_id", DeviceManager.getDeviceId()) .setString("company_id", CompanyManager.getCompanyId()); - UserManager.saveUser(admin_user_table); + adminUser.setString(Sync.needSync, Constants.FALSE); + UserManager.saveUser(adminUser); } - ModelAdapter admin_person_identity = BaseManager.findById("person_identity", deviceId + "admin_person_identity"); + ModelAdapter basicUser = BaseManager.findById("user", "basic_user"); + if (basicUser == null) { + basicUser = new ModelAdapter("basic_user") + .setString("table", "user") + .setString("name", "绯荤粺绠$悊鍛�") + .setString("person_id", "") + .setString("username", "basic") + .setString("auto_init", "1") + .setString("password", "basic123") + .setString("device_id", DeviceManager.getDeviceId()) + .setString("company_id", CompanyManager.getCompanyId()); + basicUser.setString(Sync.needSync, Constants.FALSE); + UserManager.saveUser(basicUser); + } + ModelAdapter admin_person_identity = BaseManager.findById("person_identity", "admin_person_identity"); if (admin_person_identity == null) { - admin_person_identity = new ModelAdapter(deviceId + "admin_person_identity") + admin_person_identity = new ModelAdapter("admin_person_identity") .setString("table", "person_identity") .setString("identity_id", adminIdentity.getId()) .setString("auto_init", "1") .setString("person_id", admin_person.getId()) .setString("device_id", DeviceManager.getDeviceId()) .setString("company_id", CompanyManager.getCompanyId()); + admin_person_identity.setString(Sync.needSync, Constants.FALSE); PersonIdentityManager.savePersonIdentity(admin_person_identity); } BaseSettingManager.initBaseSetting(); @@ -144,16 +166,15 @@ if (Constants.isUseSerf) { ClusterSettingManager.start(); } -// ErlangProcess.erlangProcessCanStart = true; while (!MainActivity.mainActivityInitComplete) { SystemClock.sleep(200); } MainActivity mainActivity = BaseApplication.getApplication().activity; if (Constants.indoorOutdoorInOne) { try { - ModelAdapter adminAccount = AccountManager.getAccount(); - AccountManager.setAdminAccount(adminAccount); - AccountManager.setIsBasic(false); + ModelAdapter adminAccount = UserManager.getUserByName("admin"); + UserManager.setAdminUser(adminAccount); + UserManager.setIsBasic(false); if (BaseSettingManager.isGuestMode()) { mainActivity.fragment_guest_mode.loadData = true; mainActivity.showFragment(mainActivity.fragment_guest_mode); @@ -173,6 +194,8 @@ outdoorSocketClient.start(); mainActivity.showFragment(mainActivity.fragment_home); } + PersonCameraImagePathManager.startUploadCameraImagePath(); + PersonCameraImagePathManager.startDownloadCameraImagePath(); OrgManager.initTreeNodeList(); } catch (Exception e) { e.printStackTrace(); @@ -215,7 +238,9 @@ @Override public void run() { try { - secondaryDisplay.hide(); + if (secondaryDisplay != null) { + secondaryDisplay.hide(); + } } catch (Exception e) { e.printStackTrace(); } @@ -270,7 +295,7 @@ DatabaseManager.execSQL("CREATE TABLE IF NOT EXISTS org (\"id\" TEXT, \"leaf\" TEXT, \"ids\" TEXT, \"pid\" TEXT, \"name\" TEXT, \"names\" TEXT, \"p_names\" TEXT, \"device_id\" TEXT, \"company_id\" TEXT, \"table\" TEXT, \"del_flag\" TEXT, PRIMARY KEY(id))"); DatabaseManager.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS idx_org ON org (id)"); DatabaseManager.execSQL("CREATE INDEX IF NOT EXISTS pidx_org ON org (pid)"); - DatabaseManager.execSQL("CREATE TABLE IF NOT EXISTS person (\"guest_allow_start_time\" text,\"respondent_ids\" text,\"respondent_names\" text,\"visit_status\" text,\"visit_valid_time\" text,\"visit_exit_time\" text,\"camera_image_feature_path\" text, \"student_id\" text, \"org_id\" text, \"org_ids\" text, \"checked_time_rule_id\" TEXT, \"sign_up_rule\" TEXT,\"id\" TEXT, \"name\" TEXT, \"camera_image_path\" TEXT, \"camera_image_feature\" TEXT, \"camera_image_fastdfs_path\" TEXT, \"id_card_number\" TEXT, \"id_card_image_path\" TEXT, \"id_card_image_feature\" TEXT, \"type\" TEXT, \"phone\" TEXT, \"sign_up_time\" TEXT, \"sign_up_method\" TEXT, \"sign_up_status\" TEXT, \"verify_status\" TEXT, \"auto_init\" TEXT, \"update_time\" TEXT, \"del_flag\" TEXT, \"all_device\" TEXT, \"company_id\" TEXT, \"table\" TEXT, \"device_id\" TEXT, \"guest_enter_time\" TEXT, \"guest_visit_status\" TEXT,\"guest_visit_valid_time\" TEXT,\"guest_exit_time\" TEXT,\"guest_visit_reason\" TEXT,\"guest_remark\" TEXT,PRIMARY KEY(id))"); + DatabaseManager.execSQL("CREATE TABLE IF NOT EXISTS person (\"camera_image_path_upload\" text,\"camera_image_path_exist\" text,\"guest_allow_start_time\" text,\"respondent_ids\" text,\"respondent_names\" text,\"visit_status\" text,\"visit_valid_time\" text,\"visit_exit_time\" text,\"camera_image_feature_path\" text, \"student_id\" text, \"org_id\" text, \"org_ids\" text, \"checked_time_rule_id\" TEXT, \"sign_up_rule\" TEXT,\"id\" TEXT, \"name\" TEXT, \"camera_image_path\" TEXT, \"camera_image_feature\" TEXT, \"camera_image_fastdfs_path\" TEXT, \"id_card_number\" TEXT, \"id_card_image_path\" TEXT, \"id_card_image_feature\" TEXT, \"type\" TEXT, \"phone\" TEXT, \"sign_up_time\" TEXT, \"sign_up_method\" TEXT, \"sign_up_status\" TEXT, \"verify_status\" TEXT, \"auto_init\" TEXT, \"update_time\" TEXT, \"del_flag\" TEXT, \"all_device\" TEXT, \"company_id\" TEXT, \"table\" TEXT, \"device_id\" TEXT, \"guest_enter_time\" TEXT, \"guest_visit_status\" TEXT,\"guest_visit_valid_time\" TEXT,\"guest_exit_time\" TEXT,\"guest_visit_reason\" TEXT,\"guest_remark\" TEXT,PRIMARY KEY(id))"); DatabaseManager.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS idx_person ON person (id)"); DatabaseManager.execSQL("CREATE TABLE IF NOT EXISTS guest (\"track_id\" TEXT,\"score\" TEXT,\"verified_id_card\" TEXT,\"id_card_number\" TEXT,\"name\" TEXT,\"id\" TEXT, \"person_id\" TEXT, \"camera_image_path\" TEXT, \"camera_image_feature\" TEXT, \"camera_id\" TEXT, \"create_time\" INTEGER, \"table\" TEXT, \"device_id\" TEXT, PRIMARY KEY(id))"); DatabaseManager.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS idx_guest ON guest (id)"); @@ -292,7 +317,7 @@ DatabaseManager.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS idx_outdoor ON outdoor (id)"); DatabaseManager.execSQL("CREATE TABLE IF NOT EXISTS id_card (\"id\" TEXT,\"name\" TEXT,\"card_number\" TEXT,\"birthday\" TEXT,\"gender\" TEXT,\"head_path\" TEXT,\"create_time\" TEXT, \"device_id\" TEXT, \"table\" TEXT, PRIMARY KEY(card_number))"); DatabaseManager.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS idx_id_card ON id_card (card_number)"); - DatabaseManager.execSQL("CREATE TABLE IF NOT EXISTS cluster_setting (\"id\" TEXT,\"node_id\" TEXT,\"cluster_id\" TEXT,\"cluster_name\" TEXT,\"password\" TEXT,\"other_node_ip\" TEXT,\"nodes_json\" TEXT,\"exit\" TEXT, \"table\" TEXT, PRIMARY KEY(id))"); + DatabaseManager.execSQL("CREATE TABLE IF NOT EXISTS cluster_setting (\"id\" TEXT,\"node_id\" TEXT,\"node_name\" TEXT,\"cluster_id\" TEXT,\"cluster_name\" TEXT,\"password\" TEXT,\"other_node_ip\" TEXT,\"nodes_json\" TEXT,\"exit\" TEXT, \"table\" TEXT, PRIMARY KEY(id))"); DatabaseManager.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS idx_cluster ON cluster_setting (id)"); DatabaseManager.execSQL("CREATE TABLE IF NOT EXISTS Log (\"id\" TEXT,\"message\" TEXT,\"createTime\" TEXT,\"table\" TEXT, PRIMARY KEY(id))"); DatabaseManager.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS idx_log ON Log (id)"); @@ -300,6 +325,13 @@ DatabaseManager.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS idx_cluster_node ON cluster_node (id)"); DatabaseManager.execSQL("CREATE TABLE IF NOT EXISTS cluster ( cluster_id text NOT NULL, cluster_name TEXT, password TEXT, virtual_ip TEXT, PRIMARY KEY (cluster_id))"); DatabaseManager.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS idx_cluster ON cluster (id)"); + DatabaseManager.execSQL("CREATE TABLE IF NOT EXISTS dbtablepersons ( id text NOT NULL, tableId text NOT NULL, faceFeature TEXT, personPicUrl TEXT, personName TEXT, age text, sex TEXT, idCard TEXT, phoneNum text, monitorLevel TEXT, picDesc TEXT, createTime TEXT, updateTime TEXT, createBy TEXT, isDelete integer, enable integer, reserved TEXT, PRIMARY KEY (id))"); + DatabaseManager.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS idx_dbtablepersons ON dbtablepersons (id)"); + DatabaseManager.execSQL("CREATE TABLE IF NOT EXISTS dbTables ( id text NOT NULL, tableName TEXT, tableDesc TEXT, tableType TEXT, bwType TEXT, startTime TEXT, endTime TEXT, isSync TEXT, isDelete integer, enable integer, analyServerId text, createTime TEXT, updateTime TEXT, createBy TEXT, PRIMARY KEY (id))"); + DatabaseManager.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS idx_dbTables ON dbTables (id)"); + DatabaseManager.execSQL("CREATE TABLE IF NOT EXISTS person_camera_image_path ( id text NOT NULL, camera_image_path TEXT, camera_image_path_exist TEXT, " + + " camera_image_path_upload TEXT, from_device_id TEXT, device_id TEXT, company_id TEXT, \"table\" TEXT, PRIMARY KEY (id))"); + DatabaseManager.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS idx_person_camera_image_path ON person_camera_image_path (id)"); initTableColumnNames(); } diff --git a/app/src/main/java/com/basic/security/manager/TimeManager.java b/app/src/main/java/com/basic/security/manager/TimeManager.java index a84caed..6081a1d 100644 --- a/app/src/main/java/com/basic/security/manager/TimeManager.java +++ b/app/src/main/java/com/basic/security/manager/TimeManager.java @@ -22,7 +22,7 @@ // 鍒犻櫎鏌愪釜鏃堕棿瑙勫垯 public static void deleteOneTimeRule(ModelAdapter timeRule) { try { - delete(findById("time", timeRule.getId())); + deletePhysically(findById("time", timeRule.getId())); } catch (Exception e) { e.printStackTrace(); } diff --git a/app/src/main/java/com/basic/security/manager/UserManager.java b/app/src/main/java/com/basic/security/manager/UserManager.java index 947b023..a1d8710 100644 --- a/app/src/main/java/com/basic/security/manager/UserManager.java +++ b/app/src/main/java/com/basic/security/manager/UserManager.java @@ -1,9 +1,188 @@ package com.basic.security.manager; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.PorterDuff; +import android.graphics.PorterDuffXfermode; +import android.graphics.Rect; +import android.text.TextUtils; +import android.widget.ImageView; + +import com.basic.security.activity.MainActivity; +import com.basic.security.base.BaseApplication; import com.basic.security.model.ModelAdapter; +import com.basic.security.model.Person; +import com.basic.security.model.User; +import com.basic.security.utils.Constants; public class UserManager extends BaseManager { + public static boolean isBasic = false; + public static ModelAdapter loginPerson; + private static ModelAdapter adminUser; + + public static Bitmap getCroppedBitmap(Bitmap bitmap) { + Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), + bitmap.getHeight(), Bitmap.Config.ARGB_8888); + Canvas canvas = new Canvas(output); + final int color = 0xff424242; + final Paint paint = new Paint(); + final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); + paint.setAntiAlias(true); + canvas.drawARGB(0, 0, 0, 0); + paint.setColor(color); + canvas.drawCircle(bitmap.getWidth() / 2, bitmap.getHeight() / 2, + bitmap.getWidth() / 2, paint); + paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); + canvas.drawBitmap(bitmap, rect, rect, paint); + return output; + } + + public static void setIsBasic(boolean isBasic) { + UserManager.isBasic = isBasic; + try { + BaseApplication.getApplication().activity.runOnUiThread(new Runnable() { + @Override + public void run() { + try { + ImageView login_photo = BaseApplication.getApplication().activity.fragment_toolbar.login_photo; + if (isBasic) { + BaseApplication.getApplication().activity.fragment_toolbar.login_name.setText("璐濇�濈"); + login_photo.setImageResource(com.basic.security.utils.RUtils.R_drawable_basic); + } +// System1.out.println("AccountManager.run 0 isBasic=" + isBasic); + if (!isBasic) { + BaseApplication.getApplication().activity.fragment_toolbar.login_name.setText("绠$悊鍛�"); + login_photo.setImageResource(com.basic.security.utils.RUtils.R_drawable_yuyin); + try { + if (loginPerson != null) { + byte[] camera_image_path = loginPerson.getBlob(Person.camera_image_path); + if (camera_image_path != null) { + Bitmap camera_image_path_bitmap = BitmapFactory.decodeByteArray(camera_image_path, 0, camera_image_path.length); + camera_image_path_bitmap = getCroppedBitmap(camera_image_path_bitmap); + login_photo.setImageBitmap(camera_image_path_bitmap); + } + String loginName = loginPerson.getString(Person.name); + if (!TextUtils.isEmpty(loginName)) { + // BaseApplication.getApplication().activity.fragment_toolbar.login_name.setText(loginName); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public static ModelAdapter adminUser() { + return adminUser; + } + + public static void setAdminUser(ModelAdapter admin) { + if (Constants.indoorOutdoorInOne && admin == null) { + return; + } + if (admin != null) { + try { + BaseApplication.getApplication().activity.lastAdminClickTime = System.currentTimeMillis(); + } catch (Exception e) { + e.printStackTrace(); + } + } + UserManager.adminUser = admin; + if (adminUser != null) { + setAdminPhoto(); + } + } + + public static void setAdminUser1(ModelAdapter admin) { + if (admin != null) { + try { + BaseApplication.getApplication().activity.lastAdminClickTime = System.currentTimeMillis(); + } catch (Exception e) { + e.printStackTrace(); + } + } + UserManager.adminUser = admin; + if (adminUser != null) { + setAdminPhoto(); + } + } + + private static void setAdminPhoto() { + try { + MainActivity activity = BaseApplication.getApplication().activity; + if (activity == null) { + return; + } + String a = adminUser.getString("person_id"); + ModelAdapter admin_person = PersonManager.findPersonById(a); + if (admin_person == null) { + return; + } + if (!"person".equals(admin_person.getString("table"))) { + return; + } + String name = admin_person.getString("name"); + Bitmap b = null; + byte[] blob = admin_person.getBlob("camera_image_path"); + byte[] data; + if (blob != null) { + data = blob; + if (data != null) { + b = BitmapFactory.decodeByteArray(data, 0, data.length); + } + } + if (b == null) { + b = BitmapFactory.decodeResource(activity.getResources(), com.basic.security.utils.RUtils.R_drawable_u1280); + } + if (b != null) { + //activity.fragment_toolbar.login_photo.setImageBitmap(b); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + public static ModelAdapter getUser(String account, String password) { + return findOne("select * from user where username='" + account + "'" + " and password='" + password + "'"); + } + + public static ModelAdapter getUserByName(String username) { + return findOne("select * from user where 1=1 and " + User.username + "='" + username + "'"); + } + public static void saveUser(ModelAdapter admin_user_table) { save(admin_user_table); } + + // 绠$悊鍛樻槸鍚﹀凡缁忕櫥褰� + public static boolean adminLoggedIn() { + return adminUser != null; + } + + public static boolean isBasic() { + return isBasic; + } + + public static String getCurrentAdminPassword() { + return adminUser.getString("password"); + } + + public static void setAdminId(String person_id) { + ModelAdapter admin_user_table = BaseManager.findById("user", DeviceManager.getDeviceId() + "admin_user"); + setAdminUser(admin_user_table); + } + + public static void saveAccount(ModelAdapter modelAdapter) { + save(modelAdapter); + } } diff --git a/app/src/main/java/com/basic/security/manager/VisitManager.java b/app/src/main/java/com/basic/security/manager/VisitManager.java index b59b90f..fc12ad6 100644 --- a/app/src/main/java/com/basic/security/manager/VisitManager.java +++ b/app/src/main/java/com/basic/security/manager/VisitManager.java @@ -78,7 +78,7 @@ // params.addBodyParameter("indevicename", deviceName); // x.http().post(params, new Callback.CommonCallback<Object>() { // public void onSuccess(Object result) { -// System.out.println("涓婁紶璁块棶璁板綍鎴愬姛"); +// System1.out.println("涓婁紶璁块棶璁板綍鎴愬姛"); // } // public void onError(Throwable ex, boolean isOnCallback) {} // public void onCancelled(CancelledException cex) {} diff --git a/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseAdjustTips.java b/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseAdjustTips.java index 5b19c11..1cfd45c 100644 --- a/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseAdjustTips.java +++ b/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseAdjustTips.java @@ -15,8 +15,8 @@ currentFaceTitleAndTips.tipsTxt = haveFaceAngleHint; currentFaceTitleAndTipsS.tipsTxt = haveFaceAngleHint; } else { -// System.out.println("CurrentBaseAdjustTips.adjustFaceTips " + FrameUtil.getFrames()); -// System.out.println("CurrentBaseAdjustTips.adjustFaceTips score="+currentFacePosition.detectScore); +// System1.out.println("CurrentBaseAdjustTips.adjustFaceTips " + FrameUtil.getFrames()); +// System1.out.println("CurrentBaseAdjustTips.adjustFaceTips score="+currentFacePosition.detectScore); if (activity.currentFragment == activity.fragment_su_auto_wait_face || activity.currentFragment == activity.fragment_door_access_result || activity.currentFragment == activity.fragment_door_access_confirm diff --git a/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseDetectResult.java b/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseDetectResult.java index abdb448..73ae335 100644 --- a/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseDetectResult.java +++ b/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseDetectResult.java @@ -107,7 +107,7 @@ if (adjustTipsList.size() > 0) { result += ",adjustTipsList.size()=" + adjustTipsList.size(); } -// System.out.println(result); +// System1.out.println(result); } public boolean signingUpPersonInTheCamera() { @@ -117,7 +117,7 @@ for (FacePosition facePosition : CurrentBase.detectedResult.facePositions) { byte[] featureData2 = facePosition.featureData; double score = FaceId.instance.compareFeature(featureData1, featureData2); -// System.out.println("鏄惁涓哄悓涓�浜� sort =" + score); +// System1.out.println("鏄惁涓哄悓涓�浜� sort =" + score); // 淇敼鍒嗗�� 鍘熷垎鍊� 30 if (score >= 30) { samePerson = true; diff --git a/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseDoorAccess.java b/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseDoorAccess.java index c7e8373..b7c4440 100644 --- a/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseDoorAccess.java +++ b/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseDoorAccess.java @@ -162,7 +162,7 @@ currentFaceTitleAndTipsS.setFaceTitleGreenColor(); } else { String denyMessage = HintDoorAccessManager.getSignUpRuleDoorAccessTimeDeniedMessage(currentPerson); -// System.out.println("CurrentBaseDoorAccess.doorAccessS " + (System.currentTimeMillis() - guest_visit_valid_time < 0) +" " + denyMessage); +// System1.out.println("CurrentBaseDoorAccess.doorAccessS " + (System.currentTimeMillis() - guest_visit_valid_time < 0) +" " + denyMessage); currentFaceTitleAndTipsS.faceTitle(denyMessage); currentFaceTitleAndTipsS.setFaceTitleRedColor(); currentFaceTitleAndTipsS.faceTitle2(denyMessage, true); @@ -182,7 +182,7 @@ } public void doorAccesss1S() { -// System.out.println("CurrentBaseDoorAccess.doorAccesss1S 1 " + currentSignUpRuleName); +// System1.out.println("CurrentBaseDoorAccess.doorAccesss1S 1 " + currentSignUpRuleName); if ("鎷掔粷閫氳".equals(currentSignUpRuleName)) { String doorAccessMessage = HintDoorAccessManager.getSignUpRuleDoorAccessTimeDeniedMessage(currentPerson); CurrentBaseFacePosition.setCurrentDoorAccessMessageS(doorAccessMessage); @@ -193,7 +193,7 @@ String doorAccessMessage = HintDoorAccessManager.getDeviceDoorAccessConfirmMessage(currentPerson); currentFaceTitleAndTipsS.faceTitle2(doorAccessMessage, true); CurrentBaseFacePosition.setCurrentDoorAccessMessageS(doorAccessMessage); -// System.out.println("CurrentBaseDoorAccess.doorAccesss1 doorAccessMessage="+doorAccessMessage); +// System1.out.println("CurrentBaseDoorAccess.doorAccesss1 doorAccessMessage="+doorAccessMessage); // doorAccess1AllowedS(); currentFaceTitleAndTipsS.setFaceTitleGreenColor(); } else if ("鍏佽閫氳".equals(currentSignUpRuleName)) { @@ -215,7 +215,7 @@ doorAccess1Denied(); } else if ("纭閫氳".equals(currentSignUpRuleName)) { String doorAccessMessage = HintDoorAccessManager.getDeviceDoorAccessConfirmMessage(currentPerson); -// System.out.println("CurrentBaseDoorAccess.doorAccesss1 doorAccessMessage="+doorAccessMessage); +// System1.out.println("CurrentBaseDoorAccess.doorAccesss1 doorAccessMessage="+doorAccessMessage); currentFaceTitleAndTips.faceTitle2(doorAccessMessage, true); CurrentBaseFacePosition.setCurrentDoorAccessMessage(doorAccessMessage); // doorAccess1Allowed(); diff --git a/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseIdCard.java b/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseIdCard.java index a438b58..9f748e3 100644 --- a/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseIdCard.java +++ b/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseIdCard.java @@ -4,9 +4,9 @@ import com.basic.security.base.BaseFragment; import com.basic.security.fragment.PersonManageFragment; -import com.basic.security.manager.AccountManager; import com.basic.security.manager.BaseSettingManager; import com.basic.security.manager.PersonManager; +import com.basic.security.manager.UserManager; import com.basic.security.model.ModelAdapter; import com.basic.security.model.Person; import com.basic.security.utils.FaceId; @@ -34,7 +34,7 @@ camera_image_feature = BaseFragment.getFaceFeature(); } if (activity.currentFragment == activity.fragment_person_manage) { - byte[] camera_image_feature_blob = activity.fragment_person_manage.selectedPerson.getBlob("camera_image_feature"); + byte[] camera_image_feature_blob = activity.fragment_person_manage.selectedPerson().getBlob("camera_image_feature"); if (camera_image_feature_blob != null) { camera_image_feature = camera_image_feature_blob; } @@ -44,7 +44,7 @@ } double score = FaceId.instance.compareFeature(idcard.featureData, camera_image_feature); if (score > 50) { - if (AccountManager.adminLoggedIn()) { + if (UserManager.adminLoggedIn()) { // activity.fragment_face_detail.updateIdCard(); // SystemClock.sleep(500); // activity.fragment_person_manage.savePerson(); @@ -56,14 +56,13 @@ SystemClock.sleep(300); activity.currentFragmentShowTime = System.currentTimeMillis(); activity.fragment_face_detail.checkedIdentityMapByPerson = checkedRuleMapByPerson; - activity.fragment_face_detail.notifyDataSetChanged(); } } - if (!AccountManager.adminLoggedIn()) { + if (!UserManager.adminLoggedIn()) { if (activity.currentFragment == activity.fragment_su_auto_ic_wait_idcard) { - ModelAdapter selectedPerson = activity.fragment_person_manage.selectedPerson; + ModelAdapter selectedPerson = activity.fragment_person_manage.selectedPerson(); if (selectedPerson != null) { - System.out.println("CurrentBaseIdCard.compareCameraFaceAndIdCardFace selectedPerson=" + selectedPerson); + System1.out.println("CurrentBaseIdCard.compareCameraFaceAndIdCardFace selectedPerson=" + selectedPerson); } SystemClock.sleep(1000); if (BaseSettingManager.isAutoSignUpIDCardModeNeedPhone()) { diff --git a/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseIdentityTitle.java b/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseIdentityTitle.java index abb2d88..89628c3 100644 --- a/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseIdentityTitle.java +++ b/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseIdentityTitle.java @@ -23,8 +23,8 @@ } protected void identityTitle() { -// System.out.println("CurrentBaseIdentityTitle.identityTitle 1 " + FrameUtil.getFrames()); -// System.out.println("CurrentBaseIdentityTitle.identityTitle 2"); +// System1.out.println("CurrentBaseIdentityTitle.identityTitle 1 " + FrameUtil.getFrames()); +// System1.out.println("CurrentBaseIdentityTitle.identityTitle 2"); // 褰撳湪浜哄伐娉ㄥ唽鏃�,濉啓璇︽儏椤甸潰鏃朵汉鍛樺凡鍦ㄦ湭娉ㄥ唽涓� if (currentPerson == null || activity.currentFragment == activity.fragment_su_logged_nic_wait_detail @@ -40,7 +40,7 @@ activity.currentFragment == activity.fragment_su_auto_wait_face ) { String waitAdmin = HintSignUpManager.getAdminLogoutHint(); -// System.out.println("CurrentBaseIdentityTitle.identityTitle 1 " + waitAdmin); +// System1.out.println("CurrentBaseIdentityTitle.identityTitle 1 " + waitAdmin); currentFaceTitleAndTips.faceTitle2(waitAdmin, true); currentFaceTitleAndTipsS.faceTitle2(waitAdmin, true); } else { diff --git a/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBasePersonList.java b/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBasePersonList.java index d554dfe..b8a79d1 100644 --- a/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBasePersonList.java +++ b/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBasePersonList.java @@ -3,13 +3,13 @@ import android.widget.ImageView; import com.basic.security.base.BaseApplication; -import com.basic.security.fragment.AccountSettingFragment; -import com.basic.security.manager.AccountManager; +import com.basic.security.fragment.UserFragment; import com.basic.security.manager.BaseSettingManager; import com.basic.security.manager.DetectResultManager; import com.basic.security.manager.FaceTitleAndTipsManager; import com.basic.security.manager.HintDoorAccessManager; import com.basic.security.manager.PersonIdentityManager; +import com.basic.security.manager.UserManager; import com.basic.security.model.ModelAdapter; import com.basic.security.model.Person; import com.basic.security.utils.Constants; @@ -21,17 +21,17 @@ public class CurrentBasePersonList extends CurrentBaseSignUp { protected boolean adminLogin1(ModelAdapter person) { - AccountManager.loginPerson = person; + UserManager.loginPerson = person; // SystemInitManager.showSecondDisplay(mainActivity()); ToastUtil.show("绠$悊鍛樼櫥鍏ユ垚鍔燂紒"); activity.runOnUiThread(new Runnable() { @Override public void run() { - AccountManager.setAdminId(currentCompareFeatureResult.personId); + UserManager.setAdminId(currentCompareFeatureResult.personId); try { ImageView login_photo = BaseApplication.getApplication().activity.fragment_toolbar.login_photo; login_photo.setImageResource(com.basic.security.utils.RUtils.R_drawable_yuyin); - AccountManager.setIsBasic(false); + UserManager.setIsBasic(false); } catch (Exception e) { e.printStackTrace(); } @@ -64,7 +64,7 @@ if (Constants.indoorOutdoorInOne) { // doorAccessS(); String denyMessage = HintDoorAccessManager.getNoRegisterHint(); -// System.out.println("CurrentBasePersonList.doShowFragment denyMessage="+denyMessage); +// System1.out.println("CurrentBasePersonList.doShowFragment denyMessage="+denyMessage); currentFaceTitleAndTipsS.faceTitle(denyMessage); currentFaceTitleAndTipsS.faceTitle2(denyMessage, true); setDoorAccessMessageS1(denyMessage); @@ -73,7 +73,7 @@ setDoorAccessMessage1(denyMessage); } if (currentFacePosition.detectScoreCanSignUp()) { -// System.out.println("CurrentBasePersonList.doShowFragment currentFacePosition.detectScoreCanSignUp()=true"); +// System1.out.println("CurrentBasePersonList.doShowFragment currentFacePosition.detectScoreCanSignUp()=true"); addToNeedSignUpPersonList(); } else { if (activity.currentFragment == activity.fragment_su_auto_wait_face || @@ -103,8 +103,8 @@ currentFaceTitleAndTips.tipsTxt = ""; currentFaceTitleAndTipsS.tipsTxt = ""; } - if (activity.currentFragment == activity.fragment_account_setting) { - if (AccountSettingFragment.isChangePhoto) { + if (activity.currentFragment == activity.fragment_user) { + if (UserFragment.isChangePhoto) { ToastUtil.show("姝や汉宸茶娉ㄥ唽锛屼笉鑳借缃负绯荤粺绠$悊鍛樺ご鍍�"); } } @@ -127,14 +127,14 @@ } } printFacePositionList(); - if (AccountManager.adminLoggedIn()) { + if (UserManager.adminLoggedIn()) { if (needSignUpPersonList.size() > 0) { if (!BaseSettingManager.isDoorAccessOnlyMode()) { signUpPerson(); } } } - if (!AccountManager.adminLoggedIn()) { + if (!UserManager.adminLoggedIn()) { if (Constants.indoorOutdoorInOne) { if (currentPerson != null && activity.currentFragment == activity.fragment_admin_password_login) { List<String> identityNameByPersonId = PersonIdentityManager.findIdentityNameByPersonId(currentPerson.getId()); diff --git a/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseSavePerson.java b/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseSavePerson.java index 9b3af3e..02276db 100644 --- a/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseSavePerson.java +++ b/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseSavePerson.java @@ -5,9 +5,9 @@ import com.basic.security.base.BaseFragment; import com.basic.security.fragment.PersonManageFragment; +import com.basic.security.manager.FeatureManager; import com.basic.security.manager.PersonManager; import com.basic.security.utils.Constants; -import com.basic.security.utils.FaceId; public class CurrentBaseSavePerson extends CurrentBaseSignUpGuidTitle { boolean shouldSleepNextTime = false; @@ -25,6 +25,8 @@ BaseFragment.detectedResultTime = System.currentTimeMillis(); BaseFragment.selectedFacePositionIndex = currentFacePositionIndex; personManageFragment.savePerson(); +// activity.fragment_face_detail.updateDetailUI(personManageFragment.selectedPerson); +// activity.fragment_face_detail.updateIdentityListUI(personManageFragment.selectedPerson); shouldSleepNextTime = true; } currentFacePosition.compareFeatureResult = null; @@ -32,7 +34,7 @@ showFragmentSuccess = true; activity.currentFragment = baseFragment; activity.showFragment(baseFragment, true); - personManageFragment.personChanged(PersonManager.findPersonById(personManageFragment.savedPersonId), reloadFaceList, true); +// personManageFragment.personChanged(PersonManager.findPersonById(personManageFragment.savedPersonId), reloadFaceList, true); } public void saveFullPersonAndShowFragment(BaseFragment baseFragment) { @@ -48,7 +50,7 @@ BaseFragment.detectedResultTime = System.currentTimeMillis(); BaseFragment.selectedFacePositionIndex = currentFacePositionIndex; personManageFragment.savedPersonId = ""; - String compareResultStr = FaceId.instance.compareFeatureInDb(BaseFragment.getFaceFeature(), Constants.minRecognizeScore); + String compareResultStr = FeatureManager.compareFeature(BaseFragment.getFaceFeature(), Constants.minRecognizeScore); String personId = compareResultStr.split(",", -1)[0]; if (TextUtils.isEmpty(personId)) { personManageFragment.savePerson(); diff --git a/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseShowFragment.java b/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseShowFragment.java index 83800ab..789c516 100644 --- a/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseShowFragment.java +++ b/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseShowFragment.java @@ -26,14 +26,14 @@ faceDetected(); doShowFragment(); } else { -// System.out.println("CurrentBaseShowFragment.showFragment 娌℃湁鎵惧埌浜鸿劯"); +// System1.out.println("CurrentBaseShowFragment.showFragment 娌℃湁鎵惧埌浜鸿劯"); } if (System.currentTimeMillis() - BaseFragment.idCardReadTime < 1200) { compareCameraFaceAndIdCardFace(); } } // if (Constants.indoorOutdoorInOne) { -// System.out.println("CurrentBaseShowFragment.showFragment"); +// System1.out.println("CurrentBaseShowFragment.showFragment"); // } return showFragmentSuccess; } @@ -50,7 +50,7 @@ } } showFragmentSuccess = true; - activity.fragment_person_manage.selectedPerson = null; + activity.fragment_person_manage.selectedPerson(null); activity.showFragment(baseFragment); } } diff --git a/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseSignUp.java b/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseSignUp.java index 2784da8..096c178 100644 --- a/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseSignUp.java +++ b/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseSignUp.java @@ -1,12 +1,12 @@ package com.basic.security.manager.helper.rm.base; import com.basic.security.base.BaseFragment; -import com.basic.security.manager.AccountManager; import com.basic.security.manager.BaseSettingManager; +import com.basic.security.manager.UserManager; public class CurrentBaseSignUp extends CurrentBaseStayInWaitFace { protected void signUpPerson() { - if (!AccountManager.adminLoggedIn()) { + if (!UserManager.adminLoggedIn()) { if (activity.currentFragment == activity.fragment_su_auto_wait_face) { if (currentPerson == null) { if (BaseSettingManager.isAutoSignUpMode()) { @@ -30,14 +30,14 @@ // } } } - if (AccountManager.adminLoggedIn()) { -// System.out.println("CurrentBaseSignUp.signUpPerson 1"); - if (activity.currentFragment == activity.fragment_account_setting) { -// System.out.println("CurrentBaseSignUp.signUpPerson 2"); + if (UserManager.adminLoggedIn()) { +// System1.out.println("CurrentBaseSignUp.signUpPerson 1"); + if (activity.currentFragment == activity.fragment_user) { +// System1.out.println("CurrentBaseSignUp.signUpPerson 2"); BaseFragment.detectedResultTime = System.currentTimeMillis(); BaseFragment.detectedResult = detectedResult; showFragmentSuccess = true; - activity.fragment_account_setting.userPhotoDetected(currentFacePosition); + activity.fragment_user.userPhotoDetected(currentFacePosition); } if (activity.currentFragment == activity.fragment_su_logged_nic_wait_face || activity.currentFragment == activity.fragment_su_logged_ic_wait_face) { diff --git a/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseSignUpGuidTitle.java b/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseSignUpGuidTitle.java index 124e0ed..b631892 100644 --- a/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseSignUpGuidTitle.java +++ b/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseSignUpGuidTitle.java @@ -17,7 +17,7 @@ } public void savePersonToTemporaryTable() { // camera_image_feature -// System.out.println("CurrentBaseSignUpGuidTitle.savePersonToTemporaryTable"); +// System1.out.println("CurrentBaseSignUpGuidTitle.savePersonToTemporaryTable"); if (Constants.enableTemporaryPerson) { if (System.currentTimeMillis() - lastSavePersonToTemporaryTable > 500) { lastSavePersonToTemporaryTable = System.currentTimeMillis(); diff --git a/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseStayInWaitFace.java b/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseStayInWaitFace.java index fbf28cb..f50980c 100644 --- a/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseStayInWaitFace.java +++ b/app/src/main/java/com/basic/security/manager/helper/rm/base/CurrentBaseStayInWaitFace.java @@ -9,7 +9,7 @@ if (activity.currentFragment == thisFragment) { double delayInSeconds = (System.currentTimeMillis() - detectedResultTime) / 1000.0; if (delayInSeconds > 5) { - System.out.println("delayInSeconds=" + delayInSeconds); + System1.out.println("delayInSeconds=" + delayInSeconds); return false; } return true; diff --git a/app/src/main/java/com/basic/security/manager/helper/rm/fragment/CurrentAccountSetting.java b/app/src/main/java/com/basic/security/manager/helper/rm/fragment/CurrentAccountSetting.java index a0e777f..ffb044c 100644 --- a/app/src/main/java/com/basic/security/manager/helper/rm/fragment/CurrentAccountSetting.java +++ b/app/src/main/java/com/basic/security/manager/helper/rm/fragment/CurrentAccountSetting.java @@ -4,6 +4,6 @@ public class CurrentAccountSetting extends CurrentBase { public CurrentAccountSetting() { - thisFragment = activity.fragment_account_setting; + thisFragment = activity.fragment_user; } } diff --git a/app/src/main/java/com/basic/security/manager/helper/rm/fragment/CurrentAdminFaceLogin.java b/app/src/main/java/com/basic/security/manager/helper/rm/fragment/CurrentAdminFaceLogin.java index 154467d..8da81ce 100644 --- a/app/src/main/java/com/basic/security/manager/helper/rm/fragment/CurrentAdminFaceLogin.java +++ b/app/src/main/java/com/basic/security/manager/helper/rm/fragment/CurrentAdminFaceLogin.java @@ -2,7 +2,7 @@ import android.text.TextUtils; -import com.basic.security.manager.AccountManager; +import com.basic.security.manager.UserManager; import com.basic.security.manager.helper.rm.base.CurrentBase; import com.basic.security.utils.Constants; import com.basic.security.utils.MutableDocumentUtil; @@ -24,7 +24,7 @@ activity.runOnUiThread(new Runnable() { @Override public void run() { - AccountManager.setAdminId(currentCompareFeatureResult.personId); + UserManager.setAdminId(currentCompareFeatureResult.personId); if (Constants.indoorOutdoorInOne) { activity.fragment_toolbar.visitor_model(); } else { diff --git a/app/src/main/java/com/basic/security/model/ClusterSetting.java b/app/src/main/java/com/basic/security/model/ClusterSetting.java index 3638592..26e34ab 100644 --- a/app/src/main/java/com/basic/security/model/ClusterSetting.java +++ b/app/src/main/java/com/basic/security/model/ClusterSetting.java @@ -10,4 +10,5 @@ public static final String exit = "exit"; public static final String tableName = "cluster_setting"; public static String node_id = "node_id"; + public static String node_name = "node_name"; } diff --git a/app/src/main/java/com/basic/security/model/Model.java b/app/src/main/java/com/basic/security/model/Model.java new file mode 100644 index 0000000..88b6944 --- /dev/null +++ b/app/src/main/java/com/basic/security/model/Model.java @@ -0,0 +1,8 @@ +package com.basic.security.model; + +public class Model { + public static String newModel = "newModel"; + public static String debug = "debug"; + public static String __id = "__id"; + public static String id = "id"; +} diff --git a/app/src/main/java/com/basic/security/model/ModelAdapter.java b/app/src/main/java/com/basic/security/model/ModelAdapter.java index f2cadbb..3270e0b 100644 --- a/app/src/main/java/com/basic/security/model/ModelAdapter.java +++ b/app/src/main/java/com/basic/security/model/ModelAdapter.java @@ -20,9 +20,15 @@ import java.util.UUID; public class ModelAdapter implements Serializable { + static int __id = 0; public Map<String, Object> model = new HashMap<>(); +// public static Map<String, String> modelAdapterCreateMap = new HashMap<>(); + public ModelAdapter() { + setString(Model.__id, __id + ""); +// modelAdapterCreateMap.put(__id+"", FrameUtil.getFrames()+""); + __id++; } public ModelAdapter(String id) { @@ -33,7 +39,7 @@ byte[] bytes = new byte[]{1, 2, 3, 4, 5, 6}; String str = Base64.encodeToString(bytes, Base64.NO_WRAP); byte[] bytes1 = Base64.decode(str, Base64.NO_WRAP); - System.out.println("hello"); + System1.out.println("hello"); } public static String getAttachmentPath(String id, String key, String table) { @@ -50,6 +56,11 @@ public ModelAdapter setString(String key, String value) { model.put(key, value); + if (Person.id_card_number.equals(key)) { + if (Constants.TRUE.equals(getString(Model.debug))) { +// System.out.println("FaceDetailFragment.savePerson 3 key=" + key + " value=" + value + " __id=" + getString(Model.__id) + " debug=" + Constants.TRUE.equals(getString(Model.debug)) + " " + FrameUtil.getFrames()); + } + } return this; } @@ -68,7 +79,7 @@ if (table == null) { table = ""; } - if ("camera_image_feature".equals(key)) { + if ("camera_image_feature".equals(key) || PersonA.faceFeature.equals(key)) { return Base64Util.featureBase642Bytes((String) this.model.get(key)); } else { File attachFile = new File(getAttachmentPath(getId(), key, table)); @@ -77,7 +88,7 @@ } } } catch (IOException e) { - System.out.println("ModelAdapter:getBlob exception=" + e.getLocalizedMessage()); + System1.out.println("ModelAdapter:getBlob exception=" + e.getLocalizedMessage()); } return null; } @@ -143,13 +154,14 @@ return modelAdapter; } - // public void setObject(String key, Bitmap value) { -// model.put(key, value); -// } -// -// public Object getObject(String key) { -// return model.get(key); -// } + public void setObject(String key, Object value) { + model.put(key, value); + } + + public Object getObject(String key) { + return model.get(key); + } + public void setTrueOne(String key, boolean value) { model.put(key, value ? "1" : "0"); } diff --git a/app/src/main/java/com/basic/security/model/PersonCameraImagePath.java b/app/src/main/java/com/basic/security/model/PersonCameraImagePath.java new file mode 100644 index 0000000..bdc91eb --- /dev/null +++ b/app/src/main/java/com/basic/security/model/PersonCameraImagePath.java @@ -0,0 +1,13 @@ +package com.basic.security.model; + +public class PersonCameraImagePath { + public static final String id = "id"; + public static final String table = "table"; + public static final String camera_image_path = "camera_image_path"; + public static final String camera_image_path_exist = "camera_image_path_exist"; + public static final String camera_image_path_upload = "camera_image_path_upload"; + public static final String from_device_id = "from_device_id"; + public static final String device_id = "device_id"; + public static final String company_id = "company_id"; + public static final String tableName = "person_camera_image_path"; +} diff --git a/app/src/main/java/com/basic/security/model/RowToSerf.java b/app/src/main/java/com/basic/security/model/RowToSerf.java new file mode 100644 index 0000000..16cff4c --- /dev/null +++ b/app/src/main/java/com/basic/security/model/RowToSerf.java @@ -0,0 +1,13 @@ +package com.basic.security.model; + +public class RowToSerf { + public static final String id = "id"; + public static final String table = "table"; + public static final String send_success = "send_success"; + public static final String update_time = "update_time"; + public static final String device_id = "device_id"; + public static final String company_id = "company_id"; + public static final String tableName = "row_to_serf"; + public static final String model = "model"; + public static final String sql = "sql"; +} diff --git a/app/src/main/java/com/basic/security/model/SerfToRow.java b/app/src/main/java/com/basic/security/model/SerfToRow.java new file mode 100644 index 0000000..271d03c --- /dev/null +++ b/app/src/main/java/com/basic/security/model/SerfToRow.java @@ -0,0 +1,17 @@ +package com.basic.security.model; + +public class SerfToRow { + public static final String id = "id"; + public static final String table = "table"; + public static final String row_id = "row_id"; + public static final String row_operate_type = "row_operate_type"; + public static final String row_table = "row_table"; + public static final String row_sql = "row_sql"; + public static final String send_success = "send_success"; + public static final String update_time = "update_time"; + public static final String device_id = "device_id"; + public static final String company_id = "company_id"; + public static final String tableName = "serf_to_row"; + public static final String model = "model"; + public static final String sql = "sql"; +} diff --git a/app/src/main/java/com/basic/security/opengles/VideoRenderer.java b/app/src/main/java/com/basic/security/opengles/VideoRenderer.java index 088cdd3..bcdc539 100644 --- a/app/src/main/java/com/basic/security/opengles/VideoRenderer.java +++ b/app/src/main/java/com/basic/security/opengles/VideoRenderer.java @@ -98,7 +98,7 @@ // Copy the bytes out of |src| and into |dst|, ignoring and overwriting // positon & limit in both buffers. private void copyPlane(ByteBuffer src, ByteBuffer dst) { -// System.out.println("aaa src " + src.capacity() + " dst " + dst.capacity()); +// System1.out.println("aaa src " + src.capacity() + " dst " + dst.capacity()); src.position(0).limit(src.capacity()); dst.put(src); dst.position(0).limit(dst.capacity()); diff --git a/app/src/main/java/com/basic/security/opengles/VideoRendererGui.java b/app/src/main/java/com/basic/security/opengles/VideoRendererGui.java index add532b..b5faca2 100644 --- a/app/src/main/java/com/basic/security/opengles/VideoRendererGui.java +++ b/app/src/main/java/com/basic/security/opengles/VideoRendererGui.java @@ -301,13 +301,13 @@ } private void draw() { -// System.out.println("YuvImageRenderer.draw 1 "); +// System1.out.println("YuvImageRenderer.draw 1 "); long now = System.nanoTime(); if (!seenFrame) { // No frame received yet - nothing to render. return; } -// System.out.println("YuvImageRenderer.draw 2 "); +// System1.out.println("YuvImageRenderer.draw 2 "); I420Frame frameFromQueue; synchronized (frameToRenderQueue) { frameFromQueue = frameToRenderQueue.peek(); @@ -319,7 +319,7 @@ int h = (i == 0) ? frameToRender.height : frameToRender.height / 2; GLES20.glActiveTexture(GLES20.GL_TEXTURE0 + i); GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, yuvTextures[i]); -// System.out.println("YuvImageRenderer.draw 3 "); +// System1.out.println("YuvImageRenderer.draw 3 "); if (frameFromQueue != null) { GLES20.glTexImage2D(GLES20.GL_TEXTURE_2D, 0, GLES20.GL_LUMINANCE, w, h, 0, GLES20.GL_LUMINANCE, GLES20.GL_UNSIGNED_BYTE, @@ -383,7 +383,7 @@ public synchronized void renderFrame(I420Frame frame) { long now = System.nanoTime(); framesReceived++; -// System.out.println("YuvImageRenderer.renderFrame 1 "); +// System1.out.println("YuvImageRenderer.renderFrame 1 "); // Check input frame parameters. if (!(frame.yuvStrides[0] == frame.width && frame.yuvStrides[1] == frame.width / 2 && @@ -392,7 +392,7 @@ frame.yuvStrides[1] + ", " + frame.yuvStrides[2]); return; } -// System.out.println("YuvImageRenderer.renderFrame 2 "); +// System1.out.println("YuvImageRenderer.renderFrame 2 "); // Skip rendering of this frame if setSize() was not called. if (frameToRender == null) { framesDropped++; @@ -404,7 +404,7 @@ throw new RuntimeException("Wrong frame size " + frame.width + " x " + frame.height); } -// System.out.println("YuvImageRenderer.renderFrame 3 "); +// System1.out.println("YuvImageRenderer.renderFrame 3 "); if (frameToRenderQueue.size() > 0) { // Skip rendering of this frame if previous frame was not rendered yet. framesDropped++; @@ -413,7 +413,7 @@ frameToRender.copyFrom(frame); copyTimeNs += (System.nanoTime() - now); frameToRenderQueue.offer(frameToRender); -// System.out.println("YuvImageRenderer.renderFrame 5 "); +// System1.out.println("YuvImageRenderer.renderFrame 5 "); seenFrame = true; surface.requestRender(); } diff --git a/app/src/main/java/com/basic/security/receiver/WebRtcBroadCastReceiver.java b/app/src/main/java/com/basic/security/receiver/WebRtcBroadCastReceiver.java deleted file mode 100644 index d8645e8..0000000 --- a/app/src/main/java/com/basic/security/receiver/WebRtcBroadCastReceiver.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.basic.security.receiver; - -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; -import android.text.TextUtils; - -import com.basic.security.utils.Constants; - -public class WebRtcBroadCastReceiver extends BroadcastReceiver { - public static boolean webRtcServerStarted = false; - public static boolean webRtcClientConnected = false; - - @Override - public void onReceive(Context context, Intent intent) { - String type = intent.getStringExtra("type"); - if (!TextUtils.isEmpty(type)) { - } - } -} diff --git a/app/src/main/java/com/basic/security/service/KeepLifeService.java b/app/src/main/java/com/basic/security/service/KeepLifeService.java index e3d998e..c39d6a2 100644 --- a/app/src/main/java/com/basic/security/service/KeepLifeService.java +++ b/app/src/main/java/com/basic/security/service/KeepLifeService.java @@ -30,7 +30,7 @@ @Override public void onReceive(Context context, Intent intent) { lastOnReceive = System.currentTimeMillis(); -// System.out.println("KeepLifeService.onReceive"); +// System1.out.println("KeepLifeService.onReceive"); } }; private String mPackName; @@ -86,7 +86,7 @@ BaseApplication.getApplication().executorService.execute(() -> { while (running) { try { -// System.out.println("KeepLifeService.run " + Thread.currentThread().getId()); +// System1.out.println("KeepLifeService.run " + Thread.currentThread().getId()); SystemClock.sleep(2 * 1000); if (Constants.autoRestart) { boolean isRun = isRunningProcess(mActivityManager, mPackName); @@ -120,7 +120,7 @@ try { BaseApplication.getApplication().executorService.execute(() -> { while (running) { -// System.out.println("鏈嶅姟姝e湪杩愯..." + Thread.currentThread().getId()); +// System1.out.println("鏈嶅姟姝e湪杩愯..." + Thread.currentThread().getId()); try { Thread.sleep(2 * 1000); if (Constants.autoRestart) { @@ -174,6 +174,6 @@ unregisterReceiver(keepLifeReceiver); running = false; stopForeground(true); -// System.out.println("KeepLifeService.onDestroy"); +// System1.out.println("KeepLifeService.onDestroy"); } } diff --git a/app/src/main/java/com/basic/security/service/UpgradeAppService.java b/app/src/main/java/com/basic/security/service/UpgradeAppService.java index c9a623d..a6af8f4 100644 --- a/app/src/main/java/com/basic/security/service/UpgradeAppService.java +++ b/app/src/main/java/com/basic/security/service/UpgradeAppService.java @@ -71,7 +71,7 @@ BaseApplication.getApplication().executorService.execute(() -> { while (running) { try { -// System.out.println("UpgradeAppService.run 寮�濮嬪崌绾�"); +// System1.out.println("UpgradeAppService.run 寮�濮嬪崌绾�"); UpdateApk.getApk(); // UpdateApk.checkUpdateInLoop(); } catch (Exception e) { diff --git a/app/src/main/java/com/basic/security/utils/ANRError.java b/app/src/main/java/com/basic/security/utils/ANRError.java index aaa94f4..df548c4 100644 --- a/app/src/main/java/com/basic/security/utils/ANRError.java +++ b/app/src/main/java/com/basic/security/utils/ANRError.java @@ -36,7 +36,7 @@ if (lhs == rhs) return 0; if (lhs == mainThread) { - System.out.println("ANRError.compare"); + System1.out.println("ANRError.compare"); return 1; } if (rhs == mainThread) @@ -56,7 +56,7 @@ ) ) ) { - System.out.println("ANRError.New"); + System1.out.println("ANRError.New"); stackTraces.put(entry.getKey(), entry.getValue()); } // Sometimes main is not returned in getAllStackTraces() - ensure that we list it @@ -70,7 +70,7 @@ } static ANRError NewMainOnly(long duration) { - System.out.println("ANRError.NewMainOnly"); + System1.out.println("ANRError.NewMainOnly"); final Thread mainThread = Looper.getMainLooper().getThread(); final StackTraceElement[] mainStackTrace = mainThread.getStackTrace(); return new ANRError(new $(getThreadTitle(mainThread), mainStackTrace).new _Thread(null), duration); diff --git a/app/src/main/java/com/basic/security/utils/ANRWatchDog.java b/app/src/main/java/com/basic/security/utils/ANRWatchDog.java index 5490041..f4d8ed7 100644 --- a/app/src/main/java/com/basic/security/utils/ANRWatchDog.java +++ b/app/src/main/java/com/basic/security/utils/ANRWatchDog.java @@ -235,10 +235,10 @@ } final ANRError error; if (_namePrefix != null) { - System.out.println("ANRWatchDog.run 1"); + System1.out.println("ANRWatchDog.run 1"); error = ANRError.New(_tick, _namePrefix, _logThreadsWithoutStackTrace); } else { - System.out.println("ANRWatchDog.run 2"); + System1.out.println("ANRWatchDog.run 2"); error = ANRError.NewMainOnly(_tick); } _anrListener.onAppNotResponding(error); diff --git a/app/src/main/java/com/basic/security/utils/AppUtil.java b/app/src/main/java/com/basic/security/utils/AppUtil.java index 0fc2832..6cbb632 100644 --- a/app/src/main/java/com/basic/security/utils/AppUtil.java +++ b/app/src/main/java/com/basic/security/utils/AppUtil.java @@ -10,7 +10,12 @@ public class AppUtil { public static void restartApp(Context mContext) { - System.out.println("AppUtil.restartApp"); + System1.out.println("AppUtil.restartApp"); + try { + MultipartUtilityV2.uploadCrashDirectory(); + } catch (Exception e) { + e.printStackTrace(); + } if (Constants.autoRestart) { try { BaseApplication.getApplication().executorService.execute(() -> { diff --git a/app/src/main/java/com/basic/security/utils/AssetHelper.java b/app/src/main/java/com/basic/security/utils/AssetHelper.java index af26bec..6a92d8f 100644 --- a/app/src/main/java/com/basic/security/utils/AssetHelper.java +++ b/app/src/main/java/com/basic/security/utils/AssetHelper.java @@ -39,7 +39,7 @@ } } } catch (IOException ex) { - System.out.println("AssetHelper.copyFileOrDir " + ex.getMessage()); + System1.out.println("AssetHelper.copyFileOrDir " + ex.getMessage()); } } @@ -63,7 +63,7 @@ out.flush(); out.close(); } catch (Exception e) { -// System.out.println("AssetHelper.copyFile " + e.getMessage()); +// System1.out.println("AssetHelper.copyFile " + e.getMessage()); } } } diff --git a/app/src/main/java/com/basic/security/utils/Base64Util.java b/app/src/main/java/com/basic/security/utils/Base64Util.java index 183c2fc..90eb0df 100644 --- a/app/src/main/java/com/basic/security/utils/Base64Util.java +++ b/app/src/main/java/com/basic/security/utils/Base64Util.java @@ -2,8 +2,6 @@ import android.util.Base64; -import com.basic.security.manager.BaseManager; - import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.Arrays; @@ -75,7 +73,7 @@ for (String table : tableIgnoreKeys.keySet()) { tableList.add(table); } - BaseManager.syncTableNames = tableList; +// BaseManager.syncTableNames = tableList; } public static String encodeToString(String table, String key, String strValue) { @@ -85,7 +83,7 @@ strValue = "base64_" + strValue; } } catch (UnsupportedEncodingException e) { - System.out.println(e.getMessage()); + System1.out.println(e.getMessage()); } return strValue; } @@ -123,7 +121,7 @@ } } catch (Exception e) { // e.printStackTrace(); - System.out.println("Base64Util.decodeToString execption=" + e.getMessage()); + System1.out.println("Base64Util.decodeToString execption=" + e.getMessage()); } return strValue; } @@ -132,10 +130,10 @@ try { if (bytes != null) { if (bytes.length == 2560) { - // System.out.println("encode feature="+feature); + // System1.out.println("encode feature="+feature); return Base64.encodeToString(bytes, Base64.NO_WRAP); } else { -// System.out.println("feature闀垮害涓嶅(encode) " + FrameUtil.getFrames()); +// System1.out.println("feature闀垮害涓嶅(encode) " + FrameUtil.getFrames()); } } } catch (Exception e) { @@ -152,7 +150,7 @@ if (bytes.length == 2560) { return bytes; } else { - System.out.println("feature闀垮害涓嶅(decode)"); + System1.out.println("feature闀垮害涓嶅(decode)"); } } } diff --git a/app/src/main/java/com/basic/security/utils/BasicIdUtil.java b/app/src/main/java/com/basic/security/utils/BasicIdUtil.java index 4dc189c..b8eee20 100644 --- a/app/src/main/java/com/basic/security/utils/BasicIdUtil.java +++ b/app/src/main/java/com/basic/security/utils/BasicIdUtil.java @@ -1,5 +1,9 @@ package com.basic.security.utils; +import android.text.TextUtils; + +import com.basic.security.manager.FeatureManager; + import java.text.SimpleDateFormat; import java.util.Date; @@ -9,4 +13,19 @@ public static String getPersonId() { return "PSPAD0101" + sdf.format(new Date()); } + + public static String getPersonId(byte[] featureArray) { + try { + if (featureArray != null) { + String duplicatePersonId = FeatureManager.isDuplicateInAllDb(featureArray); + if (!TextUtils.isEmpty(duplicatePersonId)) { + return duplicatePersonId; + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return getPersonId(); + } + } diff --git a/app/src/main/java/com/basic/security/utils/CompareFeatureResult.java b/app/src/main/java/com/basic/security/utils/CompareFeatureResult.java index 6436003..149a1ff 100644 --- a/app/src/main/java/com/basic/security/utils/CompareFeatureResult.java +++ b/app/src/main/java/com/basic/security/utils/CompareFeatureResult.java @@ -36,14 +36,14 @@ private String faceTitle = ""; public void faceTitle(String faceTitle, boolean doorAccess) { -// System.out.println("CompareFeatureResult.faceTitle " + faceTitle +" " + FrameUtil.getFrames()); -// System.out.println("CompareFeatureResult.faceTitle " + faceTitle); +// System1.out.println("CompareFeatureResult.faceTitle " + faceTitle +" " + FrameUtil.getFrames()); +// System1.out.println("CompareFeatureResult.faceTitle " + faceTitle); // if (TextUtils.isEmpty(faceTitle)) { -// System.out.println( +// System1.out.println( // "========="+FrameUtil.getFrames()); // } // if ("鍐呴儴浜哄憳".equals(faceTitle)) { -// System.out.println("CompareFeatureResult.faceTitle " + FrameUtil.getFrames()); +// System1.out.println("CompareFeatureResult.faceTitle " + FrameUtil.getFrames()); // } MainActivity mainActivity = BaseApplication.getApplication().activity; if (mainActivity.currentFragment == mainActivity.fragment_su_auto_wait_face @@ -56,35 +56,35 @@ } if ("".equals(faceTitle) || doorAccess) { if ("".equals(faceTitle)) { -// System.out.println("CompareFeatureResult.faceTitle2 " + FrameUtil.getFrames() + doorAccess); +// System1.out.println("CompareFeatureResult.faceTitle2 " + FrameUtil.getFrames() + doorAccess); } doorAcessFaceTitle(faceTitle); } if ("鑰佸笀".equals(faceTitle)) { -// System.out.println("CompareFeatureResult.faceTitle " +FrameUtil.getFrames() + " " + mainActivity.currentFragment.toString().split("_")[0]); +// System1.out.println("CompareFeatureResult.faceTitle " +FrameUtil.getFrames() + " " + mainActivity.currentFragment.toString().split("_")[0]); } this.faceTitle(faceTitle); } public void faceTitle(String faceTitle) { if ("".equals(faceTitle)) { -// System.out.println("CompareFeatureResult.faceTitle " +FrameUtil.getFrames()); +// System1.out.println("CompareFeatureResult.faceTitle " +FrameUtil.getFrames()); } // if ("鑰佸笀 x 璇烽�氳".equals(faceTitle)) { -// System.out.println("CompareFeatureResult.faceTitle " +FrameUtil.getFrames()); +// System1.out.println("CompareFeatureResult.faceTitle " +FrameUtil.getFrames()); // } -// System.out.println("CompareFeatureResult.faceTitle " + FrameUtil.getFrames()); +// System1.out.println("CompareFeatureResult.faceTitle " + FrameUtil.getFrames()); this.faceTitle = faceTitle; } public void faceTitle2(String faceTitle, boolean doorAccess) { -// System.out.println("CompareFeatureResult.faceTitle2 " + faceTitle +" " + FrameUtil.getFrames()); +// System1.out.println("CompareFeatureResult.faceTitle2 " + faceTitle +" " + FrameUtil.getFrames()); // if (TextUtils.isEmpty(faceTitle)) { -// System.out.println( +// System1.out.println( // "========="+FrameUtil.getFrames()); // } // if ("鍐呴儴浜哄憳".equals(faceTitle)) { -// System.out.println("CompareFeatureResult.faceTitle " + FrameUtil.getFrames()); +// System1.out.println("CompareFeatureResult.faceTitle " + FrameUtil.getFrames()); // } MainActivity mainActivity = BaseApplication.getApplication().activity; if (mainActivity.currentFragment == mainActivity.fragment_su_auto_wait_face @@ -97,19 +97,19 @@ } if (doorAccess || "".equals(faceTitle)) { if ("".equals(faceTitle)) { -// System.out.println("CompareFeatureResult.faceTitle2 " + FrameUtil.getFrames() + doorAccess); +// System1.out.println("CompareFeatureResult.faceTitle2 " + FrameUtil.getFrames() + doorAccess); } doorAcessFaceTitle(faceTitle); } // if ("鑰佸笀".equals(faceTitle)) { -// System.out.println("CompareFeatureResult.faceTitle " +FrameUtil.getFrames() + " " + mainActivity.currentFragment.toString().split("_")[0]); +// System1.out.println("CompareFeatureResult.faceTitle " +FrameUtil.getFrames() + " " + mainActivity.currentFragment.toString().split("_")[0]); // } this.faceTitle(faceTitle); } public void doorAcessFaceTitle(String faceTitle) { if ("".equals(faceTitle)) { -// System.out.println("CompareFeatureResult.doorAcessFaceTitle " +FrameUtil.getFrames()); +// System1.out.println("CompareFeatureResult.doorAcessFaceTitle " +FrameUtil.getFrames()); } doorAcessFaceTitle = faceTitle; } diff --git a/app/src/main/java/com/basic/security/utils/CrashHandler.java b/app/src/main/java/com/basic/security/utils/CrashHandler.java index 35c36c4..98c5e6e 100644 --- a/app/src/main/java/com/basic/security/utils/CrashHandler.java +++ b/app/src/main/java/com/basic/security/utils/CrashHandler.java @@ -135,7 +135,7 @@ infos.put("versionCode", versionCode); } } catch (PackageManager.NameNotFoundException e) { - System.out.println("CrashHandler.collectDeviceInfo " + e.getMessage()); + System1.out.println("CrashHandler.collectDeviceInfo " + e.getMessage()); } Field[] fields = Build.class.getDeclaredFields(); for (Field field : fields) { @@ -143,7 +143,7 @@ field.setAccessible(true); infos.put(field.getName(), field.get(null).toString()); } catch (Exception e) { - System.out.println("CrashHandler.collectDeviceInfo " + e.getMessage()); + System1.out.println("CrashHandler.collectDeviceInfo " + e.getMessage()); } } } @@ -181,7 +181,7 @@ sb.append(result); return writeFile(sb.toString()); } catch (Exception e) { - System.out.println("CrashHandler.saveCrashInfoFile " + e.getMessage()); + System1.out.println("CrashHandler.saveCrashInfoFile " + e.getMessage()); sb.append("an error occured while writing file...\r\n"); writeFile(sb.toString()); } @@ -191,7 +191,7 @@ private String writeFile(String sb) throws Exception { String time = formatter.format(new Date()); String fileName = "crash-" + time + ".log"; - System.out.println("CrashHandler.writeFile " + sb); + System1.out.println("CrashHandler.writeFile " + sb); // if (FileUtil.hasSdcard()) { if (true) { String path = getGlobalpath(); diff --git a/app/src/main/java/com/basic/security/utils/DetectedResult.java b/app/src/main/java/com/basic/security/utils/DetectedResult.java index 4279b3d..5e28e0e 100644 --- a/app/src/main/java/com/basic/security/utils/DetectedResult.java +++ b/app/src/main/java/com/basic/security/utils/DetectedResult.java @@ -52,13 +52,16 @@ } public String facePositionsJson() { +// System1.out.println("DetectedResult.facePositionsJson begin facePositions.size()="+facePositions.size()); featureByteArrayOutputStream.reset(); List<Map<String, String>> faces = new ArrayList<>(); for (FacePosition facePosition : facePositions) { if (Constants.USE_GRAY_CAMERA && !facePosition.liveness) { continue; } - if (facePosition.featureData != null && facePosition.detectScoreCanSignUp1()) { + boolean detectScoreCanSignUp1 = facePosition.detectScoreCanSignUp1(); +// System1.out.println("DetectedResult.facePositionsJson detectScoreCanSignUp1="+detectScoreCanSignUp1); + if (facePosition.featureData != null && detectScoreCanSignUp1) { try { IdCard idCard = IdCardManager.lastIdCard; Map<String, String> face = new HashMap<>(); @@ -102,7 +105,8 @@ } } } -// System.out.println("DetectedResult.facePositionsJson " + faces); +// System1.out.println("DetectedResult.facePositionsJson end faces.size()="+faces.size()); +// System1.out.println("DetectedResult.facePositionsJson " + faces); if (faces.size() > 0) { return new Gson().toJson(faces); } else { diff --git a/app/src/main/java/com/basic/security/utils/ErlangSocketClient.java b/app/src/main/java/com/basic/security/utils/ErlangSocketClient.java index ef871fe..8af232d 100644 --- a/app/src/main/java/com/basic/security/utils/ErlangSocketClient.java +++ b/app/src/main/java/com/basic/security/utils/ErlangSocketClient.java @@ -24,7 +24,7 @@ String ret = ""; while ((len = inputStream.read(buff)) != -1) { ret = new String(buff, "UTF-8"); - System.out.println(ret); + System1.out.println(ret); break; } } catch (Exception e) { diff --git a/app/src/main/java/com/basic/security/utils/ExcelUtil.java b/app/src/main/java/com/basic/security/utils/ExcelUtil.java index 342809c..5a68273 100644 --- a/app/src/main/java/com/basic/security/utils/ExcelUtil.java +++ b/app/src/main/java/com/basic/security/utils/ExcelUtil.java @@ -191,7 +191,7 @@ public static void main(String[] args) { String names = "aaaa,,,"; String[] nameArray = names.split(",,,"); - System.out.println("ExcelUtil.main " + names.split("|||").length); + System1.out.println("ExcelUtil.main " + names.split("|||").length); // ExcelUtil.parseExcel("E:\\workspace\\Security_excel\\app\\src\\main\\assets\\person.xlsx"); } } diff --git a/app/src/main/java/com/basic/security/utils/FaceId.java b/app/src/main/java/com/basic/security/utils/FaceId.java index 9643cff..f0ee00a 100644 --- a/app/src/main/java/com/basic/security/utils/FaceId.java +++ b/app/src/main/java/com/basic/security/utils/FaceId.java @@ -102,7 +102,7 @@ ModelAdapter dbPerson2 = BaseManager.findById("person", "p2"); featureData2 = Base64.decode(dbPerson2.getString("camera_image_feature"), Base64.NO_WRAP); float score = FaceId.instance.compareFeature(featureData1, featureData2); - System.out.println("testSdk=" + score); + System1.out.println("testSdk=" + score); BaseApplication.getApplication().detectLock.unlock(); } @@ -140,9 +140,13 @@ // 2 public native String compareFeatureInDb(byte[] featureBuffer, int minScore); + public native String compareFeatureInAllDb(byte[] featureBuffer, int minScore); + // 1 3 public native void addFeatureToDb(String id, byte[] featureBuffer); + public native void addFeatureToAllDb(String id, byte[] featureBuffer); + public native void removeFeatureFromDb(String id); public native void addFeatureToTempDb(String id, byte[] featureBuffer); diff --git a/app/src/main/java/com/basic/security/utils/FacePosition.java b/app/src/main/java/com/basic/security/utils/FacePosition.java index d72b390..1115b94 100644 --- a/app/src/main/java/com/basic/security/utils/FacePosition.java +++ b/app/src/main/java/com/basic/security/utils/FacePosition.java @@ -98,33 +98,40 @@ public boolean detectScoreCanSignUp() { // 寰楀垎鏄惁鍙互娉ㄥ唽 boolean detectScoreCanSignUp = false; -// System.out.println("FacePosition.detectScoreCanSignUp score="+score); +// System1.out.println("FacePosition.detectScoreCanSignUp score="+score); if (Constants.needIdCardModule) { if (Constants.isNewIDCardReader) { detectScoreCanSignUp = haveFaceAngleHintForSignUp() == null && detectScore >= 0.80; - System.out.println("FacePosition.detectScoreCanSignUp 1 detectScoreCanSignUp=" + detectScoreCanSignUp); + System1.out.println("FacePosition.detectScoreCanSignUp 1 detectScoreCanSignUp=" + detectScoreCanSignUp); return detectScoreCanSignUp; } } // detectScoreCanSignUp = haveFaceAngleHintForSignUp() == null && detectScore >= 0.95 && featureData != null; detectScoreCanSignUp = haveFaceAngleHintForSignUp() == null && detectScore >= 0.8 && featureData != null; if (detectScoreCanSignUp) { -// System.out.println("FacePosition.detectScoreCanSignUp detectScoreCanSignUp="+detectScoreCanSignUp + ", && featureData =" + featureData); +// System1.out.println("FacePosition.detectScoreCanSignUp detectScoreCanSignUp="+detectScoreCanSignUp + ", && featureData =" + featureData); } -// System.out.println("FacePosition.detectScoreCanSignUp 2 detectScoreCanSignUp="+detectScoreCanSignUp + " detectScore >= 0.95 " + detectScore); +// System1.out.println("FacePosition.detectScoreCanSignUp 2 detectScoreCanSignUp="+detectScoreCanSignUp + " detectScore >= 0.95 " + detectScore); return detectScoreCanSignUp; } public boolean detectScoreCanSignUp1() { // 寰楀垎鏄惁鍙互娉ㄥ唽 -// System.out.println("FacePosition.detectScoreCanSignUp score="+score); + String haveFaceAngleHintForSignUp = haveFaceAngleHintForSignUp(); +// System1.out.println("FacePosition.detectScoreCanSignUp score="+score); if (Constants.needIdCardModule) { if (Constants.isNewIDCardReader) { - return haveFaceAngleHintForSignUp() == null && detectScore >= 0.80; + return haveFaceAngleHintForSignUp == null && detectScore >= 0.80; } } - boolean detectScoreCanSignUp = haveFaceAngleHintForSignUp() == null && detectScore >= 0.8 && featureData != null; - if (detectScoreCanSignUp) { -// System.out.println("FacePosition.detectScoreCanSignUp detectScoreCanSignUp="+detectScoreCanSignUp + ", && featureData =" + featureData); + boolean isKnownPerson = false; + if (compareFeatureResult != null && compareFeatureResult.person != null) { + isKnownPerson = true; + } + boolean detectScoreCanSignUp = + isKnownPerson || (haveFaceAngleHintForSignUp == null && + detectScore >= 0.8 && featureData != null); + if (!detectScoreCanSignUp && haveFaceAngleHintForSignUp != null) { +// System1.out.println("FacePosition.detectScoreCanSignUp1 haveFaceAngleHintForSignUp=" + haveFaceAngleHintForSignUp); } return detectScoreCanSignUp; } diff --git a/app/src/main/java/com/basic/security/utils/FastDFSUtil.java b/app/src/main/java/com/basic/security/utils/FastDFSUtil.java index 4c3e96d..a924aee 100644 --- a/app/src/main/java/com/basic/security/utils/FastDFSUtil.java +++ b/app/src/main/java/com/basic/security/utils/FastDFSUtil.java @@ -43,8 +43,8 @@ byte[] by = getBytes(fdfs_client_path); String fileName = filePath.substring(filePath.lastIndexOf("/") + 1, filePath.length()); String resultPath = uploadFile(by, fileName, type); -// System.out.println(TAG + "涓婁紶鍚庣浉瀵瑰瓨鍌ㄨ矾寰勶細" + resultPath); -// System.out.println("璁块棶璺緞锛�"+PropertiesUtils.getInfo("fastdfs_url")+resultPath); +// System1.out.println(TAG + "涓婁紶鍚庣浉瀵瑰瓨鍌ㄨ矾寰勶細" + resultPath); +// System1.out.println("璁块棶璺緞锛�"+PropertiesUtils.getInfo("fastdfs_url")+resultPath); } catch (Exception e) { e.printStackTrace(); } @@ -58,7 +58,7 @@ return uploadFile(data, fileName, "jpg"); } catch (Exception e) { // e.printStackTrace(); - System.out.println("FastDFSUtil.upLoadVisitorPic " + e.getMessage()); + System1.out.println("FastDFSUtil.upLoadVisitorPic " + e.getMessage()); return null; } } @@ -97,43 +97,43 @@ String path; TrackerServer trackerServer = null; try { -// System.out.println(TAG + "涓婁紶鏂囦欢鍚�:" + name); +// System1.out.println(TAG + "涓婁紶鏂囦欢鍚�:" + name); // if (!getInfo("file_type_list").contains(ext) // && !getInfo("file_type_list").toUpperCase().contains(ext)) { -// System.out.println("涓嶆敮鎸�" + ext + "绫诲瀷鏂囦欢涓婁紶!"); +// System1.out.println("涓嶆敮鎸�" + ext + "绫诲瀷鏂囦欢涓婁紶!"); // throw new RuntimeException("涓嶆敮鎸�" + ext + "绫诲瀷鏂囦欢涓婁紶!"); // } -// System.out.println(TAG + "涓婁紶鏂囦欢绫诲瀷: " + ext); +// System1.out.println(TAG + "涓婁紶鏂囦欢绫诲瀷: " + ext); if (pic.length / 1024 / 1024 > 10) { -// System.out.println(TAG + "浠呮敮鎸�10MB浠ヤ笅鏂囦欢涓婁紶!"); +// System1.out.println(TAG + "浠呮敮鎸�10MB浠ヤ笅鏂囦欢涓婁紶!"); throw new RuntimeException(TAG + "浠呮敮鎸�10MB浠ヤ笅鏂囦欢涓婁紶!"); } -// System.out.println(TAG + "鏂囦欢澶у皬:" + pic.length / 1024 + "KB"); +// System1.out.println(TAG + "鏂囦欢澶у皬:" + pic.length / 1024 + "KB"); String fdfs_client_path = new ContextWrapper(BaseApplication.getApplication().activity).getFilesDir().getAbsolutePath(); ClientGlobal.init(fdfs_client_path + "/fdfs_client.properties"); TrackerClient trackerClient = new TrackerClient(); trackerServer = trackerClient.getConnection(); -// System.out.println(TAG + "tracker鏈嶅姟鍣ㄨ繛鎺ユ垚鍔�! " + trackerServer.getInetSocketAddress()); +// System1.out.println(TAG + "tracker鏈嶅姟鍣ㄨ繛鎺ユ垚鍔�! " + trackerServer.getInetSocketAddress()); StorageServer storageServer = null; StorageClient1 storageClient1 = new StorageClient1(trackerServer, storageServer); -// System.out.println(TAG + "鍚姩FastDFS瀹㈡埛绔�.... 锛�" + storageClient1); +// System1.out.println(TAG + "鍚姩FastDFS瀹㈡埛绔�.... 锛�" + storageClient1); NameValuePair[] meta_list = new NameValuePair[3]; meta_list[0] = new NameValuePair("filename", name); meta_list[1] = new NameValuePair("fileext", ext); meta_list[2] = new NameValuePair("filesize", String.valueOf(pic.length)); path = storageClient1.upload_file1(pic, ext, meta_list); if (null != path && !"".equals(path)) { -// System.out.println(TAG + "鏂囦欢涓婁紶鎴愬姛! " + path); +// System1.out.println(TAG + "鏂囦欢涓婁紶鎴愬姛! " + path); return path; } else { -// System.out.println(TAG + "鏂囦欢涓婁紶澶辫触锛�"); +// System1.out.println(TAG + "鏂囦欢涓婁紶澶辫触锛�"); throw new RuntimeException(TAG + "鏂囦欢涓婁紶澶辫触锛�"); } } catch (Exception e) { // e.printStackTrace(); -// System.out.println(TAG + "绯荤粺寮傚父锛屾枃浠朵笂浼犲け璐ワ紒"); +// System1.out.println(TAG + "绯荤粺寮傚父锛屾枃浠朵笂浼犲け璐ワ紒"); // throw new RuntimeException(TAG + "绯荤粺寮傚父锛屾枃浠朵笂浼犲け璐ワ紒" + e.getMessage()); - System.out.println("FastDFSUtil.uploadFile " + e.getMessage()); + System1.out.println("FastDFSUtil.uploadFile " + e.getMessage()); } finally { if (trackerServer != null) { try { @@ -156,7 +156,7 @@ @SuppressWarnings("unused") public static String downFile(String fileUrl) { if (null == fileUrl || "".equals(fileUrl)) { -// System.out.println("涓嬭浇鏂囦欢婧愯矾寰勪负绌猴紒"); +// System1.out.println("涓嬭浇鏂囦欢婧愯矾寰勪负绌猴紒"); return null; } BufferedInputStream dis = null; @@ -166,14 +166,14 @@ // 瀛樺偍涓嬭浇鏂囦欢鐨勮矾寰�,榛樿瀛樺偍鍦ㄥ綋鍓嶇敤鎴锋墍鍦ㄧ洰褰曚笅 filePath = System.getProperty("user.home") + File.separator + fileUrl.substring(fileUrl.lastIndexOf("/") + 1); -// System.out.println("鏈湴瀛樺偍璺緞:" + filePath); +// System1.out.println("鏈湴瀛樺偍璺緞:" + filePath); File destFile = new File(filePath); if (!destFile.exists()) { destFile.createNewFile(); } URL url = new URL(getInfo("http_head") + getInfo("fastdfs_vip") + fileUrl); -// System.out.println("鏂囦欢婧愯矾寰�:" + url); +// System1.out.println("鏂囦欢婧愯矾寰�:" + url); dis = new BufferedInputStream(url.openStream()); fos = new BufferedOutputStream(new FileOutputStream(destFile)); byte[] buff = new byte[2048]; @@ -181,9 +181,9 @@ while (-1 != (bytesRead = dis.read(buff, 0, buff.length))) { fos.write(buff, 0, bytesRead); } -// System.out.println("鏂囦欢涓嬭浇鎴愬姛!"); +// System1.out.println("鏂囦欢涓嬭浇鎴愬姛!"); } catch (Exception e) { -// System.out.println("鏂囦欢涓嬭浇鍑虹幇鏈煡寮傚父!"); +// System1.out.println("鏂囦欢涓嬭浇鍑虹幇鏈煡寮傚父!"); return null; } finally { if (dis != null) { diff --git a/app/src/main/java/com/basic/security/utils/FileUtils.java b/app/src/main/java/com/basic/security/utils/FileUtils.java index 2977d0e..4d3e790 100644 --- a/app/src/main/java/com/basic/security/utils/FileUtils.java +++ b/app/src/main/java/com/basic/security/utils/FileUtils.java @@ -210,7 +210,7 @@ // while ((length = fileReader.read(chars)) != -1) { // stringBuilder.append(chars, 0, length); // } -//// System.out.println(stringBuilder.toString()); +//// System1.out.println(stringBuilder.toString()); // fileReader.close(); // emitter.onNext(stringBuilder.toString()); // emitter.onComplete(); diff --git a/app/src/main/java/com/basic/security/utils/FrameUtil.java b/app/src/main/java/com/basic/security/utils/FrameUtil.java index d7e4cdc..3aff9c5 100644 --- a/app/src/main/java/com/basic/security/utils/FrameUtil.java +++ b/app/src/main/java/com/basic/security/utils/FrameUtil.java @@ -20,7 +20,7 @@ ); } } -// System.out.println("FrameUtil.getFrames " + frames); +// System1.out.println("FrameUtil.getFrames " + frames); return frames; } @@ -39,7 +39,7 @@ i++; } } -// System.out.println("FrameUtil.getFrames " + frames); +// System1.out.println("FrameUtil.getFrames " + frames); return frames; } @@ -63,7 +63,7 @@ } } } -// System.out.println("FrameUtil.getFrames " + frames); +// System1.out.println("FrameUtil.getFrames " + frames); return frames; } } diff --git "a/app/src/main/java/com/basic/security/utils/JavaAssistant - \345\211\257\346\234\254.java1" "b/app/src/main/java/com/basic/security/utils/JavaAssistant - \345\211\257\346\234\254.java1" deleted file mode 100644 index 28debc9..0000000 --- "a/app/src/main/java/com/basic/security/utils/JavaAssistant - \345\211\257\346\234\254.java1" +++ /dev/null @@ -1,124 +0,0 @@ -package com.basic.security.utils; - -import org.apache.commons.io.IOUtils; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.FileReader; -import java.lang.reflect.Modifier; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javassist.ClassPool; -import javassist.CtClass; -import javassist.CtMethod; - -public class JavaAssistant { - - static Map<String, String> clazzMap = new HashMap<String, String>(); - - static String baseSrcDir = "E:\\workspace\\Security_yuyin_landscape_dual\\app\\src\\main\\java\\"; - static String baseClazzDir = "E:\\workspace\\Security_yuyin_landscape_dual\\app\\build\\intermediates\\classes\\debug\\"; -// static String baseClazzDir = "E:\\workspace\\webrtc_suxinmin\\app\\build\\intermediates\\javac\\debug\\compileDebugJavaWithJavac\\classes\\"; - - - static { - addToClazzMap(new File(baseSrcDir)); -// for (Map.Entry<String, String> clazzMapEntry : clazzMap.entrySet()) { -// System.out.println(); -// } -// clazzMap.put("com.basic.security.activity.MainActivity", "C:\\workspace\\Security_simplify\\app\\src\\main\\java\\com\\basic\\security\\activity\\MainActivity.java"); -// clazzMap.put("", ""); -// clazzMap.put("", ""); - } - - public static void main(String[] args) throws Exception { -// if (1==1) { -// return; -// } - ClassPool classPool = ClassPool.getDefault(); -// classPool.appendClassPath("E:\\workspace\\webrtc_suxinmin\\app\\build\\intermediates\\javac\\debug\\compileDebugJavaWithJavac\\classes\\"); - classPool.appendClassPath("E:\\workspace\\Security_yuyin_landscape_dual\\app\\build\\intermediates\\classes\\debug"); - for (Map.Entry<String, String> clazzEntry : clazzMap.entrySet()) { - CtClass clazz = classPool.get(clazzEntry.getKey()); - CtMethod[] ctMethodArray = clazz.getDeclaredMethods(); - List<String> javaLines = IOUtils.readLines(new FileReader(clazzEntry.getValue())); - try { - String finalName = clazzEntry.getValue(); - if (!finalName.startsWith("E:\\workspace\\Security_yuyin_landscape_dual\\app\\src\\main\\java\\com\\basic\\security\\fragment\\")) { - continue; - } - for (CtMethod ctMethod : ctMethodArray) { - int lineNumber = ctMethod.getMethodInfo().getLineNumber(0) - 2; - if (lineNumber < 0) { - continue; - } - String nextJavaLine = javaLines.get(lineNumber + 1).trim().trim().trim().trim(); - if (nextJavaLine.startsWith("super(") || nextJavaLine.startsWith("this(")) { - lineNumber++; - } - String javaLine = javaLines.get(lineNumber); - String className = "this.getClass().getName() "; - - String staticClassName = clazzEntry.getKey().substring(clazzEntry.getKey().lastIndexOf(".") + 1); - staticClassName = "\" " + staticClassName + " \""; - if (!Modifier.isStatic(ctMethod.getModifiers())) { - className = className + "+" + staticClassName; - } else { - className = staticClassName; - } -// String appendLine = "if (com.basic.security.utils.Constants.showLog) {System.out.println("+className+"+\" "+ctMethod.getName()+" "+lineNumber+"\");}"; - String appendLine = "if (com.basic.security.utils.Constants.showLog) {com.basic.security.utils.LogUtil.println(" + className + "+\" " + ctMethod.getName() + " " + lineNumber + "\");}"; - String replaceLine = javaLine + appendLine; - if (!javaLine.contains(" class ") - && javaLine.endsWith("{") - && !javaLine.contains("com.basic.security.utils.Constants.showLog")) { - System.out.println(clazzEntry.getValue() + " JavassistMain.main replace " + lineNumber + " " + replaceLine); - javaLines.set(lineNumber, replaceLine); - } -// System.out.println(replaceLine); - } - File file = new File(clazzEntry.getValue()); - String shortFileName = file.getName(); - if ( - "JavaAssistant".equals(shortFileName) || - "JavaAssistantRemove".equals(shortFileName) || - "LogUtil".equals(shortFileName) || - "".equals(shortFileName) - ) { - continue; - } - - IOUtils.writeLines(javaLines, "\r\n", new FileOutputStream(clazzEntry.getValue())); - } catch (Exception e) { - e.printStackTrace(); - } -// - } - - } - - private static void addToClazzMap(File file) { - if (file.isDirectory()) { - File[] subFiles = file.listFiles(); - for (File subFile : subFiles) { - addToClazzMap(subFile); - } - } else { - String fullSrcName = file.getAbsolutePath(); - if (fullSrcName.endsWith(".java")) { - String fullClazzName = fullSrcName.replace(baseSrcDir, baseClazzDir).replace(".java", ".class"); - File clazzFile = new File(fullClazzName); - if (clazzFile.exists()) { - String clazzName = fullClazzName.replace(baseClazzDir, "").replace(".class", "").replace("\\", "."); -// System.out.println(clazzName); - clazzMap.put(clazzName, fullSrcName); - } - } - - } - - } - -} diff --git a/app/src/main/java/com/basic/security/utils/JavaAssistant.java b/app/src/main/java/com/basic/security/utils/JavaAssistant.java deleted file mode 100644 index 68b2bb3..0000000 --- a/app/src/main/java/com/basic/security/utils/JavaAssistant.java +++ /dev/null @@ -1,115 +0,0 @@ -package com.basic.security.utils; - -import org.apache.commons.io.IOUtils; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.FileReader; -import java.lang.reflect.Modifier; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javassist.ClassPool; -import javassist.CtClass; -import javassist.CtMethod; - -public class JavaAssistant { - static Map<String, String> clazzMap = new HashMap<String, String>(); - static String baseSrcDir = "E:\\workspace\\Security_yuyin_indoor\\app\\src\\main\\java\\"; - static String baseClazzDir = "E:\\workspace\\Security_yuyin_indoor\\app\\build\\intermediates\\classes\\debug\\"; - - // static String baseClazzDir = "E:\\workspace\\webrtc_suxinmin\\app\\build\\intermediates\\javac\\debug\\compileDebugJavaWithJavac\\classes\\"; - static { - addToClazzMap(new File(baseSrcDir)); -// for (Map.Entry<String, String> clazzMapEntry : clazzMap.entrySet()) { -// System.out.println(); -// } -// clazzMap.put("com.basic.security.activity.MainActivity", "C:\\workspace\\Security_simplify\\app\\src\\main\\java\\com\\basic\\security\\activity\\MainActivity.java"); -// clazzMap.put("", ""); -// clazzMap.put("", ""); - } - - public static void main(String[] args) throws Exception { -// if (1==1) { -// return; -// } - ClassPool classPool = ClassPool.getDefault(); -// classPool.appendClassPath("E:\\workspace\\webrtc_suxinmin\\app\\build\\intermediates\\javac\\debug\\compileDebugJavaWithJavac\\classes\\"); - classPool.appendClassPath("E:\\workspace\\Security_yuyin_indoor\\app\\build\\intermediates\\classes\\debug"); - for (Map.Entry<String, String> clazzEntry : clazzMap.entrySet()) { - CtClass clazz = classPool.get(clazzEntry.getKey()); - CtMethod[] ctMethodArray = clazz.getDeclaredMethods(); - List<String> javaLines = IOUtils.readLines(new FileReader(clazzEntry.getValue())); - try { - String finalName = clazzEntry.getValue(); - if (!finalName.startsWith("E:\\workspace\\Security_yuyin_indoor\\app\\src\\main\\java\\com\\basic\\security\\manager\\helper\\rm\\")) { - continue; - } - for (CtMethod ctMethod : ctMethodArray) { - int lineNumber = ctMethod.getMethodInfo().getLineNumber(0) - 2; - if (lineNumber < 0) { - continue; - } - String nextJavaLine = javaLines.get(lineNumber + 1).trim().trim().trim().trim(); - if (nextJavaLine.startsWith("super(") || nextJavaLine.startsWith("this(")) { - lineNumber++; - } - String javaLine = javaLines.get(lineNumber); - String className = "this.getClass().getName() "; - String staticClassName = clazzEntry.getKey().substring(clazzEntry.getKey().lastIndexOf(".") + 1); - staticClassName = "\" " + staticClassName + " \""; - if (!Modifier.isStatic(ctMethod.getModifiers())) { - className = className + "+" + staticClassName; - } else { - className = staticClassName; - } -// String appendLine = "if (com.basic.security.utils.Constants.showLog) {System.out.println("+className+"+\" "+ctMethod.getName()+" "+lineNumber+"\");}"; - String appendLine = "if (com.basic.security.utils.Constants.showLog) {com.basic.security.utils.LogUtil.println(" + className + "+\" " + ctMethod.getName() + " " + lineNumber + "\");}"; - String replaceLine = javaLine + appendLine; - if (!javaLine.contains(" class ") - && javaLine.endsWith("{") - && !javaLine.contains("com.basic.security.utils.Constants.showLog")) { - System.out.println(clazzEntry.getValue() + " JavassistMain.main replace " + lineNumber + " " + replaceLine); - javaLines.set(lineNumber, replaceLine); - } -// System.out.println(replaceLine); - } - File file = new File(clazzEntry.getValue()); - String shortFileName = file.getName(); - if ( - "JavaAssistant".equals(shortFileName) || - "JavaAssistantRemove".equals(shortFileName) || - "LogUtil".equals(shortFileName) || - "".equals(shortFileName) - ) { - continue; - } - IOUtils.writeLines(javaLines, "\r\n", new FileOutputStream(clazzEntry.getValue())); - } catch (Exception e) { - e.printStackTrace(); - } -// - } - } - - private static void addToClazzMap(File file) { - if (file.isDirectory()) { - File[] subFiles = file.listFiles(); - for (File subFile : subFiles) { - addToClazzMap(subFile); - } - } else { - String fullSrcName = file.getAbsolutePath(); - if (fullSrcName.endsWith(".java")) { - String fullClazzName = fullSrcName.replace(baseSrcDir, baseClazzDir).replace(".java", ".class"); - File clazzFile = new File(fullClazzName); - if (clazzFile.exists()) { - String clazzName = fullClazzName.replace(baseClazzDir, "").replace(".class", "").replace("\\", "."); -// System.out.println(clazzName); - clazzMap.put(clazzName, fullSrcName); - } - } - } - } -} diff --git "a/app/src/main/java/com/basic/security/utils/JavaAssistantRemove - \345\211\257\346\234\254.java1" "b/app/src/main/java/com/basic/security/utils/JavaAssistantRemove - \345\211\257\346\234\254.java1" deleted file mode 100644 index 3a2f9de..0000000 --- "a/app/src/main/java/com/basic/security/utils/JavaAssistantRemove - \345\211\257\346\234\254.java1" +++ /dev/null @@ -1,86 +0,0 @@ -package com.basic.security.utils; - -import org.apache.commons.io.IOUtils; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.FileReader; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class JavaAssistantRemove { - - static Map<String, String> clazzMap = new HashMap<String, String>(); - - static String baseSrcDir = "E:\\workspace\\Security_yuyin_landscape_dual\\app\\src\\main\\java\\"; - - public static void main(String[] args) { - if (com.basic.security.utils.Constants.showLog) { - System.out.println(" JavaAssistantRemove " + " main 24"); - } - removeComment(new File(baseSrcDir)); - } - - private static void removeComment(File file) { - if (com.basic.security.utils.Constants.showLog) { - System.out.println(" JavaAssistantRemove " + " removeComment 28"); - } - if (file.isDirectory()) { - File[] subFiles = file.listFiles(); - for (File subFile : subFiles) { - removeComment(subFile); - } - } else { - String fullSrcName = file.getAbsolutePath(); - if (fullSrcName.endsWith(".java")) { - try { - if (1 != 1) { - List<String> javaLines = IOUtils.readLines(new FileReader(file)); - if ( - "JavaAssistantRemove.java".equals(file.getName()) || - "JavaAssistant.java".equals(file.getName()) - - ) { - return; - } - String comment = "if (com.basic.security.utils.Constants.showLog) {"; - for (int i = 0; i < javaLines.size(); i++) { - String javaLine = javaLines.get(i); - if (javaLine.trim().equals(comment)) { -// javaLine = javaLine.substring(0, javaLine.indexOf(comment)); -// System.out.println(javaLine); -// javaLines.set(i, javaLine); - - javaLines.set(i, ""); - javaLines.set(i + 1, ""); - javaLines.set(i + 2, ""); - } - } - IOUtils.writeLines(javaLines, "\r\n", new FileOutputStream(file)); - } else { - List<String> javaLines = IOUtils.readLines(new FileReader(file)); - String comment = "if (com.basic.security.utils.Constants.showLog) {com.basic.security.utils.LogUtil.println("; - for (int i = 0; i < javaLines.size(); i++) { - String javaLine = javaLines.get(i); -// if (javaLine.contains(comment)) { - if (javaLine.trim().contains(comment)) { - javaLine = javaLine.substring(0, javaLine.indexOf(comment)); - System.out.println(javaLine); - javaLines.set(i, javaLine); - } - } - IOUtils.writeLines(javaLines, "\r\n", new FileOutputStream(file)); - } - - } catch (Exception e) { - e.printStackTrace(); - } - - } - - } - - } - -} diff --git a/app/src/main/java/com/basic/security/utils/JavaAssistantRemove.java b/app/src/main/java/com/basic/security/utils/JavaAssistantRemove.java deleted file mode 100644 index 04c83b7..0000000 --- a/app/src/main/java/com/basic/security/utils/JavaAssistantRemove.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.basic.security.utils; - -import org.apache.commons.io.IOUtils; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.FileReader; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class JavaAssistantRemove { - static Map<String, String> clazzMap = new HashMap<String, String>(); - static String baseSrcDir = "E:\\workspace\\Security_yuyin_landscape_dual\\app\\src\\main\\java\\"; - - public static void main(String[] args) { - if (com.basic.security.utils.Constants.showLog) { - System.out.println(" JavaAssistantRemove " + " main 24"); - } - removeComment(new File(baseSrcDir)); - } - - private static void removeComment(File file) { - if (com.basic.security.utils.Constants.showLog) { - System.out.println(" JavaAssistantRemove " + " removeComment 28"); - } - if (file.isDirectory()) { - File[] subFiles = file.listFiles(); - for (File subFile : subFiles) { - removeComment(subFile); - } - } else { - String fullSrcName = file.getAbsolutePath(); - if (fullSrcName.endsWith("JavaAssistant.java") || fullSrcName.endsWith("JavaAssistantRemove.java")) { - return; - } - if (fullSrcName.endsWith(".java")) { - try { - if (1 != 1) { - List<String> javaLines = IOUtils.readLines(new FileReader(file)); - if ( - "JavaAssistantRemove.java".equals(file.getName()) || - "JavaAssistant.java".equals(file.getName()) - ) { - return; - } - String comment = "if (com.basic.security.utils.Constants.showLog) {"; - for (int i = 0; i < javaLines.size(); i++) { - String javaLine = javaLines.get(i); - if (javaLine.trim().equals(comment)) { -// javaLine = javaLine.substring(0, javaLine.indexOf(comment)); -// System.out.println(javaLine); -// javaLines.set(i, javaLine); - javaLines.set(i, ""); - javaLines.set(i + 1, ""); - javaLines.set(i + 2, ""); - } - } - IOUtils.writeLines(javaLines, "\r\n", new FileOutputStream(file)); - } else { - List<String> javaLines = IOUtils.readLines(new FileReader(file)); - String comment = "if (com.basic.security.utils.Constants.showLog) {com.basic.security.utils.LogUtil.println("; - for (int i = 0; i < javaLines.size(); i++) { - String javaLine = javaLines.get(i); -// if (javaLine.contains(comment)) { - if (javaLine.trim().contains(comment)) { - javaLine = javaLine.substring(0, javaLine.indexOf(comment)); - System.out.println(javaLine); - javaLines.set(i, javaLine); - } - } - IOUtils.writeLines(javaLines, "\r\n", new FileOutputStream(file)); - } - } catch (Exception e) { - e.printStackTrace(); - } - } - } - } -} diff --git a/app/src/main/java/com/basic/security/utils/LayoutUtil.java b/app/src/main/java/com/basic/security/utils/LayoutUtil.java index 314713e..eb5ea97 100644 --- a/app/src/main/java/com/basic/security/utils/LayoutUtil.java +++ b/app/src/main/java/com/basic/security/utils/LayoutUtil.java @@ -65,7 +65,7 @@ //this may not be 100% accurate, but it's all we've got realWidth = display.getWidth(); realHeight = display.getHeight(); - System.out.println("LayoutUtil.getRealHeight" + e.getMessage()); + System1.out.println("LayoutUtil.getRealHeight" + e.getMessage()); } } else { //This should be close, as lower API devices should not have window navigation bars @@ -100,7 +100,7 @@ //this may not be 100% accurate, but it's all we've got realWidth = display.getWidth(); realHeight = display.getHeight(); - System.out.println("LayoutUtil.getRealHeight" + e.getMessage()); + System1.out.println("LayoutUtil.getRealHeight" + e.getMessage()); } } else { //This should be close, as lower API devices should not have window navigation bars @@ -131,7 +131,7 @@ //this may not be 100% accurate, but it's all we've got realWidth = display.getWidth(); realHeight = display.getHeight(); - System.out.println("LayoutUtil.getRealHeight" + e.getMessage()); + System1.out.println("LayoutUtil.getRealHeight" + e.getMessage()); } } else { //This should be close, as lower API devices should not have window navigation bars @@ -143,7 +143,7 @@ public static int getHeightPixel(int height) { int toHeight = (int) (height * getRealHeight() * 1.0 / BaseApplication.getApplication().getResources().getDimension(RUtils.R_dimen_w800)); -// System.out.println("height=" + height + ", to height=" + toHeight); +// System1.out.println("height=" + height + ", to height=" + toHeight); return toHeight; } @@ -228,7 +228,7 @@ try { if (view instanceof TextView) { int fontSize = (Integer) style.get(Style.fontSize); - System.out.println("LayoutUtil.applyStyle fontSize=" + fontSize); + System1.out.println("LayoutUtil.applyStyle fontSize=" + fontSize); // if (fontSize == 21) { //// float fontSize1 = BaseApplication.getApplication().activity.fragment_face_detail.sign_up_rule_field_label.getTextSize(); //// ((TextView) view).setTextSize(TypedValue.COMPLEX_UNIT_PX, fontSize1); diff --git a/app/src/main/java/com/basic/security/utils/LogUtil.java b/app/src/main/java/com/basic/security/utils/LogUtil.java index e34ef31..9117919 100644 --- a/app/src/main/java/com/basic/security/utils/LogUtil.java +++ b/app/src/main/java/com/basic/security/utils/LogUtil.java @@ -44,21 +44,24 @@ return; } } - System.out.println("\"" + message + "\","); +// BaseApplication.getApplication().activity.runOnUiThread(() -> { +// BaseApplication.getApplication().activity.currentFragmentTextView.setText(message); +// }); + System1.out.println("LogUtil \"" + message + "\","); // if (milliSeconds == null) { // milliSeconds = System.currentTimeMillis(); // printMilliSecondsMap.put(message, milliSeconds); -// System.out.println(message); +// System1.out.println(message); // } else { // if (System.currentTimeMillis() - milliSeconds > 500) { // milliSeconds = System.currentTimeMillis(); // printMilliSecondsMap.put(message, milliSeconds); -// System.out.println(message); +// System1.out.println(message); // } else { // if (willIgnore.contains(message)) { // // } else { -// System.out.println("\""+message+"\","); +// System1.out.println("\""+message+"\","); // willIgnore.add(message); // } // } diff --git a/app/src/main/java/com/basic/security/utils/MemoryUtil.java b/app/src/main/java/com/basic/security/utils/MemoryUtil.java index 35c916f..666800d 100644 --- a/app/src/main/java/com/basic/security/utils/MemoryUtil.java +++ b/app/src/main/java/com/basic/security/utils/MemoryUtil.java @@ -5,10 +5,16 @@ import com.basic.security.base.BaseApplication; public class MemoryUtil { + static long lastTimePrint = 0; + public static void monitorMemory() { if (1 == 1) { return; } + if (System.currentTimeMillis() - lastTimePrint < 15 * 1000) { + return; + } + lastTimePrint = System.currentTimeMillis(); try { Runtime runtime = Runtime.getRuntime(); long usedMemInMB = (runtime.totalMemory() - runtime.freeMemory()) / 1048576L; @@ -20,7 +26,7 @@ long getNativeHeapAllocatedSize = Debug.getNativeHeapAllocatedSize() / 1048576L; long getNativeHeapSize = Debug.getNativeHeapSize() / 1048576L; long getNativeHeapFreeSize = Debug.getNativeHeapFreeSize() / 1048576L; - System.out.println(" " + "usedInMB=" + usedMemInMB + " " + Thread.getAllStackTraces().size() + System1.out.println(" " + "usedInMB=" + usedMemInMB + " " + Thread.getAllStackTraces().size() + " availHeapSizeInMB=" + availHeapSizeInMB + " getNativeHeapAllocatedSize=" + getNativeHeapAllocatedSize + " getNativeHeapSize=" + getNativeHeapSize + " getNativeHeapFreeSize=" + getNativeHeapFreeSize ); diff --git a/app/src/main/java/com/basic/security/utils/MultipartUtilityV2.java b/app/src/main/java/com/basic/security/utils/MultipartUtilityV2.java index e1fb930..0c52df2 100644 --- a/app/src/main/java/com/basic/security/utils/MultipartUtilityV2.java +++ b/app/src/main/java/com/basic/security/utils/MultipartUtilityV2.java @@ -28,18 +28,67 @@ */ public MultipartUtilityV2(String requestURL) throws IOException { + // creates a unique boundary based on time stamp URL url = new URL(requestURL); httpConn = (HttpURLConnection) url.openConnection(); httpConn.setUseCaches(false); httpConn.setDoOutput(true); // indicates POST method httpConn.setDoInput(true); + httpConn.setRequestMethod("POST"); httpConn.setRequestProperty("Connection", "Keep-Alive"); httpConn.setRequestProperty("Cache-Control", "no-cache"); httpConn.setRequestProperty( "Content-Type", "multipart/form-data;boundary=" + this.boundary); + request = new DataOutputStream(httpConn.getOutputStream()); + } + + public static void uploadCrashDirectory() { + try { + File[] crashFiles = new File("/sdcard/crash/").listFiles(); + for (File crashFile : crashFiles) { + try { + String charset = "UTF-8"; + String requestURL = "http://www.aiotlink.com:8080/UploadServlet"; + + MultipartUtilityV2 multipart = new MultipartUtilityV2(requestURL); + multipart.addFilePart("file", crashFile, crashFile.getName() + RUtils.applicationID + System.currentTimeMillis() + ".txt"); + String response = multipart.finish(); // response from server. + System.out.println("MultipartUtilityV2.main" + response); + } catch (Exception e) { + e.printStackTrace(); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + public static void main(String[] args) { + try { + String charset = "UTF-8"; + String requestURL = "http://www.aiotlink.com:8080/UploadServlet"; + + MultipartUtilityV2 multipart = new MultipartUtilityV2(requestURL); + multipart.addFilePart("file", new File("d:\\c.gif"), new File("d:\\c.gif").getName() + "Security_simplify" + System.currentTimeMillis() + ".txt"); + String response = multipart.finish(); // response from server. + System.out.println("MultipartUtilityV2.main" + response); + } catch (Exception e) { + e.printStackTrace(); + } + + } + + public static void writeAndUpload(String message) { + try { + File file = new File("/sdcard/crash/Security_simplify" + System.currentTimeMillis() + "txt"); + FileUtils.write(file, message); + uploadCrashDirectory(); + } catch (Exception e) { + e.printStackTrace(); + } } /** @@ -64,16 +113,34 @@ * @param uploadFile a File to be uploaded * @throws IOException */ - public void addFilePart(String fieldName, File uploadFile) + public void addFilePart(String fieldName, File uploadFile, String fileName) throws IOException { - String fileName = uploadFile.getName(); + if (fieldName == null || "".equals(fieldName)) { + fileName = uploadFile.getName(); + } request.writeBytes(this.twoHyphens + this.boundary + this.crlf); request.writeBytes("Content-Disposition: form-data; name=\"" + fieldName + "\";filename=\"" + fileName + "\"" + this.crlf); request.writeBytes(this.crlf); -// byte[] bytes = Files.readAllBytes(uploadFile.toPath()); byte[] bytes = FileUtils.readFileToByteArray(uploadFile); +// byte[] bytes = Files.readAllBytes(uploadFile.toPath()); + request.write(bytes); + } + + public void addFilePart(String fieldName, File uploadFile) + throws IOException { + String fileName = ""; + if (fieldName == null || "".equals(fieldName)) { + fileName = uploadFile.getName(); + } + request.writeBytes(this.twoHyphens + this.boundary + this.crlf); + request.writeBytes("Content-Disposition: form-data; name=\"" + + fieldName + "\";filename=\"" + + fileName + "\"" + this.crlf); + request.writeBytes(this.crlf); + byte[] bytes = FileUtils.readFileToByteArray(uploadFile); +// byte[] bytes = Files.readAllBytes(uploadFile.toPath()); request.write(bytes); } @@ -86,29 +153,39 @@ */ public String finish() throws IOException { String response = ""; + request.writeBytes(this.crlf); request.writeBytes(this.twoHyphens + this.boundary + this.twoHyphens + this.crlf); + request.flush(); request.close(); + // checks server's status code first int status = httpConn.getResponseCode(); - if (status == HttpURLConnection.HTTP_OK || status == HttpURLConnection.HTTP_CREATED) { +// System.out.println("MultipartUtilityV2.finish status="+status); + if (status == HttpURLConnection.HTTP_OK || 1 == 1) { InputStream responseStream = new BufferedInputStream(httpConn.getInputStream()); + BufferedReader responseStreamReader = new BufferedReader(new InputStreamReader(responseStream)); + String line = ""; StringBuilder stringBuilder = new StringBuilder(); + while ((line = responseStreamReader.readLine()) != null) { stringBuilder.append(line).append("\n"); } responseStreamReader.close(); + response = stringBuilder.toString(); httpConn.disconnect(); } else { throw new IOException("Server returned non-OK status: " + status); } + return response; } -} + +} \ No newline at end of file diff --git a/app/src/main/java/com/basic/security/utils/MyHashMap.java b/app/src/main/java/com/basic/security/utils/MyHashMap.java index 5852bc8..4e133d7 100644 --- a/app/src/main/java/com/basic/security/utils/MyHashMap.java +++ b/app/src/main/java/com/basic/security/utils/MyHashMap.java @@ -6,12 +6,18 @@ @Override public void clear() { super.clear(); -// System.out.println("MyHashMap.clear " + FrameUtil.getFrames() ); +// System1.out.println("MyHashMap.clear " + FrameUtil.getFrames()); } @Override public Object remove(Object key) { -// System.out.println("MyHashMap.remove"); +// System1.out.println("MyHashMap.remove key=" + key + FrameUtil.getFrames()); return super.remove(key); } + + @Override + public boolean containsKey(Object key) { +// System1.out.println("MyHashMap.containsKey key=" + key + FrameUtil.getFrames()); + return super.containsKey(key); + } } diff --git a/app/src/main/java/com/basic/security/utils/PipeTest.java b/app/src/main/java/com/basic/security/utils/PipeTest.java index afe5359..63830ea 100644 --- a/app/src/main/java/com/basic/security/utils/PipeTest.java +++ b/app/src/main/java/com/basic/security/utils/PipeTest.java @@ -2,6 +2,6 @@ public class PipeTest { public static void main(String[] args) { - System.out.println("PipeTest.main1"); + System1.out.println("PipeTest.main1"); } } diff --git a/app/src/main/java/com/basic/security/utils/ProcessImageAndDrawResults.java b/app/src/main/java/com/basic/security/utils/ProcessImageAndDrawResults.java index d3eca8d..7abb97f 100644 --- a/app/src/main/java/com/basic/security/utils/ProcessImageAndDrawResults.java +++ b/app/src/main/java/com/basic/security/utils/ProcessImageAndDrawResults.java @@ -9,6 +9,7 @@ import com.basic.security.activity.MainActivity; import com.basic.security.base.BaseApplication; import com.basic.security.manager.BaseSettingManager; +import com.basic.security.manager.ByteArrayManager; import com.basic.security.manager.DetectResultManager; import com.basic.security.manager.FaceTitleAndTipsManager; import com.basic.security.manager.FaceTitleAndTipsManagerS; @@ -219,7 +220,7 @@ setPosition1(facePosition, x1, y1, x2, y2); facePosition.trackerId = trackerId; facePosition.liveness = liveness; -// System.out.println("ProcessImageAndDrawResults.addDetectedResult liveness="+liveness); +// System1.out.println("ProcessImageAndDrawResults.addDetectedResult liveness="+liveness); // facePosition.faceJpgData = cropImage(x1, y1, x2, y2, frameJpgPath, detectedResult.frameBitmap); facePosition.detectScore = score; facePosition.yaw = yaw; @@ -281,10 +282,10 @@ BaseSettingManager.allowMultipleFace() ? 20 : 1, bgrArray ); long begin = System.currentTimeMillis(); -// System.out.println("ProcessImageAndDrawResults.detectFace resultsStr="+resultsStr); +// System1.out.println("ProcessImageAndDrawResults.detectFace resultsStr="+resultsStr); final DetectedResult detectedResult1 = parseResult(resultsStr, rgbGrayCamera, nv21Array, shouldExtractFeatureInFirstDetect > 0, shouldExtractFeatureInFirstDetect); -// System.out.println("ProcessImageAndDrawResults.detectFace " + (System.currentTimeMillis() - begin)); +// System1.out.println("ProcessImageAndDrawResults.detectFace " + (System.currentTimeMillis() - begin)); boolean needFaceTitle = false; boolean needFaceTitleS = false; if (detectedResult1.facePositions.size() > 0) { @@ -298,7 +299,7 @@ needFaceTitle = true; } } catch (Exception e) { - System.out.println("ProcessImageAndDrawResults.detectFace " + e.getMessage()); + System1.out.println("ProcessImageAndDrawResults.detectFace " + e.getMessage()); } try { FaceTitleAndTipsS faceTitleAndTipsSS = FaceTitleAndTipsManagerS.getFaceTitleMap(detectedResult1.facePositions.get(0), true); @@ -306,7 +307,7 @@ needFaceTitleS = true; } } catch (Exception e) { - System.out.println("ProcessImageAndDrawResults.detectFace " + e.getMessage()); + System1.out.println("ProcessImageAndDrawResults.detectFace " + e.getMessage()); } } lastTimeDetectedFace = System.currentTimeMillis(); @@ -322,10 +323,10 @@ lastTimeDetectedFace = 0; } if (shouldExtractFeatureInFirstDetect > 0) { -// System.out.println("ProcessImageAndDrawResults.detectFace lastTimeSuccessExtractedFeature=" + (System.currentTimeMillis() - lastTimeSuccessExtractedFeature)); +// System1.out.println("ProcessImageAndDrawResults.detectFace lastTimeSuccessExtractedFeature=" + (System.currentTimeMillis() - lastTimeSuccessExtractedFeature)); } // if (shouldExtractFeatureInFirstDetect > 0 && extractedFeature) { -// System.out.println("ProcessImageAndDrawResults.detectFace shouldExtractFeatureInFirstDetect " + shouldExtractFeatureInFirstDetect); +// System1.out.println("ProcessImageAndDrawResults.detectFace shouldExtractFeatureInFirstDetect " + shouldExtractFeatureInFirstDetect); // } } else { BaseApplication.getApplication().activity.fragment_camera.hideAllFaceRects(); @@ -342,11 +343,11 @@ ((System.currentTimeMillis() - lastTimeSuccessExtractedFeature) > 1000) || needFaceTitle) ) { -// System.out.println("ProcessImageAndDrawResults.detectFace shouldExtractFeatureFirstTimeInWaitFace> 0 = " + (shouldExtractFeatureFirstTimeInWaitFace> 0)); -// System.out.println("ProcessImageAndDrawResults.detectFace shouldExtractFeature > 0 = " + (shouldExtractFeature > 0)); -// System.out.println("ProcessImageAndDrawResults.detectFace System.currentTimeMillis() - lastTimeSuccessExtractedFeature) > 1000 = " +// System1.out.println("ProcessImageAndDrawResults.detectFace shouldExtractFeatureFirstTimeInWaitFace> 0 = " + (shouldExtractFeatureFirstTimeInWaitFace> 0)); +// System1.out.println("ProcessImageAndDrawResults.detectFace shouldExtractFeature > 0 = " + (shouldExtractFeature > 0)); +// System1.out.println("ProcessImageAndDrawResults.detectFace System.currentTimeMillis() - lastTimeSuccessExtractedFeature) > 1000 = " // + ((System.currentTimeMillis() - lastTimeSuccessExtractedFeature) > 1000)); -// System.out.println("ProcessImageAndDrawResults.detectFace needFaceTitle " + (needFaceTitle)); +// System1.out.println("ProcessImageAndDrawResults.detectFace needFaceTitle " + (needFaceTitle)); shouldExtractFeatureFirstTimeInWaitFace--; if (bgrArrayCopyForFeature == null || bgrArrayCopyForFeature.length != bgrArray.length) { bgrArrayCopyForFeature = new byte[bgrArray.length]; @@ -383,7 +384,7 @@ ); } } else { -// System.out.println("ProcessImageAndDrawResults.detectFace 1 "); +// System1.out.println("ProcessImageAndDrawResults.detectFace 1 "); resultsStr = FaceId.instance.grayDetectFace(filesPath, targetFile.getAbsolutePath(), mImageWidth, mImageHeight, BaseSettingManager.allowMultipleFace() ? 20 : 1); } @@ -441,7 +442,7 @@ parseResult(resultsStr, rgbGrayCamera, nv21Array, false, shouldExtractFeature); } } else { -// System.out.println("ProcessImageAndDrawResults.detectFace 2 "); +// System1.out.println("ProcessImageAndDrawResults.detectFace 2 "); resultsStr = FaceId.instance.grayDetectFace(filesPath, targetFile.getAbsolutePath(), mImageWidth, mImageHeight, BaseSettingManager.allowMultipleFace() ? 20 : 1); } @@ -536,7 +537,7 @@ } } if (BaseApplication.getApplication().activity.needCopyCameraData()) { - detectedResult.originalCameraData = new byte[originalCameraData.length]; + detectedResult.originalCameraData = ByteArrayManager.newBytes(originalCameraData.length); System.arraycopy(originalCameraData, 0, detectedResult.originalCameraData, 0, originalCameraData.length); } else { detectedResult.originalCameraData = originalCameraData; diff --git a/app/src/main/java/com/basic/security/utils/RUtils.java b/app/src/main/java/com/basic/security/utils/RUtils.java index e17ec30..d52ce63 100644 --- a/app/src/main/java/com/basic/security/utils/RUtils.java +++ b/app/src/main/java/com/basic/security/utils/RUtils.java @@ -32,6 +32,10 @@ public static final int R_id_cancel = com.basic.security.yuyin.indoor.R.id.cancel; public static final int R_id_identity_checkbox = com.basic.security.yuyin.indoor.R.id.identity_checkbox; public static final int R_id_item_ck = com.basic.security.yuyin.indoor.R.id.item_ck; + public static final int R_id_name_input = R.id.name_input; + public static final int R_id_idcard_number_input = R.id.idcard_number_input; + public static final int R_id_phone_input = R.id.phone_input; + public static final int R_id_student_id_input = R.id.student_id_input; public static final int R_id_idcard = com.basic.security.yuyin.indoor.R.id.idcard; public static final int R_id_name = com.basic.security.yuyin.indoor.R.id.name; public static final int R_drawable_nobody = com.basic.security.yuyin.indoor.R.drawable.nobody; @@ -184,8 +188,9 @@ public static final int R_id_old_password = com.basic.security.yuyin.indoor.R.id.old_password; public static final int R_id_new_password = com.basic.security.yuyin.indoor.R.id.new_password; public static final int R_id_again_password = com.basic.security.yuyin.indoor.R.id.again_password; - public static final int R_id_recognized_face_info_view_layout = com.basic.security.yuyin.indoor.R.id.recognized_face_info_view_layout; + public static final int R_id_recognized_face_info_view_layout = R.id.recognized_face_info_view_layout; public static final int R_id_face_title = com.basic.security.yuyin.indoor.R.id.face_title; + public static final int R_id_face_title_top = com.basic.security.yuyin.indoor.R.id.face_title_top; public static final int R_id_tipsTxt = com.basic.security.yuyin.indoor.R.id.tipsTxt; public static final int R_id_scanner_view = com.basic.security.yuyin.indoor.R.id.scanner_view; public static final int R_id_face_border = com.basic.security.yuyin.indoor.R.id.face_border; diff --git a/app/src/main/java/com/basic/security/utils/RUtilsMain.java b/app/src/main/java/com/basic/security/utils/RUtilsMain.java index 14ad5d2..301f760 100644 --- a/app/src/main/java/com/basic/security/utils/RUtilsMain.java +++ b/app/src/main/java/com/basic/security/utils/RUtilsMain.java @@ -21,7 +21,7 @@ listFile(new File("E:\\workspace\\Security_yuyin_landscape_dual\\app\\src\\main\\java\\com\\basic"), "find"); listFile(new File("E:\\workspace\\Security_yuyin_landscape_dual\\app\\src\\main\\java\\com\\basic"), "replace"); RUtilsFileContent += "}"; -// System.out.println(RUtilsFileContent); +// System1.out.println(RUtilsFileContent); try { FileUtils.write(RUtilsFile, RUtilsFileContent); } catch (Exception e) { @@ -84,7 +84,7 @@ continue; } if (line.contains("R.color.transparent")) { - System.out.println("RUtilsMain.generateMethods"); + System1.out.println("RUtilsMain.generateMethods"); } String id = line.substring(line.indexOf(resourcePrefix)); id = id.replace(");", "").trim(); @@ -112,7 +112,7 @@ continue; } else { String call = "com.basic.security.utils.RUtils." + id2.replace(".", "_") + ""; - System.out.println("RUtilsMain.generateMethods " + call); + System1.out.println("RUtilsMain.generateMethods " + call); idMap.put(id2, call); } if (id2.startsWith("R.styleable.") && line.contains("obtainStyledAttributes")) { @@ -122,7 +122,7 @@ String method = "public static final int " + id2.replace(".", "_") + "= com.basic.security.yuyin.indoor." + id2 + "; \n "; RUtilsFileContent += method + "\r\n"; } -// System.out.println("" + id + " " + method); +// System1.out.println("" + id + " " + method); } } } diff --git a/app/src/main/java/com/basic/security/utils/RenameFiles.java b/app/src/main/java/com/basic/security/utils/RenameFiles.java index 8345ae1..1ef5b81 100644 --- a/app/src/main/java/com/basic/security/utils/RenameFiles.java +++ b/app/src/main/java/com/basic/security/utils/RenameFiles.java @@ -27,7 +27,7 @@ File dir = new File(dirName); File[] subDirs = dir.listFiles(); for (File subDir : subDirs) { -// System.out.println(subDir.getAbsolutePath()); +// System1.out.println(subDir.getAbsolutePath()); if (subDir.isFile()) { String prefix = getPrefix(subDir); if (isVideoFile(subDir)) { @@ -68,7 +68,7 @@ } // prefixPattern = ""; String newFileName = dirName + prefixPattern + file.getName(); - System.out.println(file.getAbsolutePath() + "---" + newFileName); + System1.out.println(file.getAbsolutePath() + "---" + newFileName); file.renameTo(new File(newFileName)); } diff --git a/app/src/main/java/com/basic/security/utils/RenderScriptHelper.java b/app/src/main/java/com/basic/security/utils/RenderScriptHelper.java index c83b295..1adef0a 100644 --- a/app/src/main/java/com/basic/security/utils/RenderScriptHelper.java +++ b/app/src/main/java/com/basic/security/utils/RenderScriptHelper.java @@ -22,7 +22,7 @@ ScriptIntrinsicYuvToRGB yuvToRgbIntrinsic; public Bitmap getBitmapFromFrameData(byte[] data, int width, int height) { -// System.out.println("RenderScriptHelper.getBitmapFromFrameData " + FrameUtil.getFrames()); +// System1.out.println("RenderScriptHelper.getBitmapFromFrameData " + FrameUtil.getFrames()); if (rs == null) { rs = RenderScript.create(BaseApplication.getApplication()); } diff --git "a/app/src/main/java/com/basic/security/utils/ResolutionAdaptation - \345\211\257\346\234\254.java1" "b/app/src/main/java/com/basic/security/utils/ResolutionAdaptation - \345\211\257\346\234\254.java1" index 4beabc3..308c2be 100644 --- "a/app/src/main/java/com/basic/security/utils/ResolutionAdaptation - \345\211\257\346\234\254.java1" +++ "b/app/src/main/java/com/basic/security/utils/ResolutionAdaptation - \345\211\257\346\234\254.java1" @@ -318,20 +318,20 @@ } return R.layout.file_chooser_dialog_item; } -public static int fragment_account_setting1(){ +public static int fragment_user1(){ if (LayoutUtil.getRealWidth()==1920 && LayoutUtil.getRealHeight()==1080){ - return R.layout.z_fragment_account_setting1_1920_1080; + return R.layout.z_fragment_user1_1920_1080; } if (LayoutUtil.getRealWidth()==1280 && LayoutUtil.getRealHeight()==800){ - return R.layout.z_fragment_account_setting1_1280_800; + return R.layout.z_fragment_user1_1280_800; } if (LayoutUtil.getRealWidth()==2560 && LayoutUtil.getRealHeight()==1440){ - return R.layout.z_fragment_account_setting1_2560_1440; + return R.layout.z_fragment_user1_2560_1440; } if (LayoutUtil.getRealWidth()==2560 && LayoutUtil.getRealHeight()==1600){ - return R.layout.z_fragment_account_setting1_2560_1600; + return R.layout.z_fragment_user1_2560_1600; } -return R.layout.fragment_account_setting1; +return R.layout.fragment_user1; } public static int fragment_admin_face_login(){ if (LayoutUtil.getRealWidth()==1920 && LayoutUtil.getRealHeight()==1080){ diff --git a/app/src/main/java/com/basic/security/utils/ResolutionAdaptation.java b/app/src/main/java/com/basic/security/utils/ResolutionAdaptation.java index 19d37f4..62a35b9 100644 --- a/app/src/main/java/com/basic/security/utils/ResolutionAdaptation.java +++ b/app/src/main/java/com/basic/security/utils/ResolutionAdaptation.java @@ -91,8 +91,8 @@ return R.layout.file_chooser_dialog_item; } - public static int fragment_account_setting1() { - return R.layout.fragment_account_setting; + public static int fragment_user1() { + return R.layout.fragment_user; } public static int fragment_admin_face_login() { @@ -367,6 +367,10 @@ return R.layout.recognized_face_info_view; } + public static int recognized_face_info_view_s() { + return R.layout.recognized_face_info_view_s; + } + public static int rule_for_time_detail_item() { return R.layout.rule_for_time_detail_item; } diff --git a/app/src/main/java/com/basic/security/utils/ResolutionUtil.java b/app/src/main/java/com/basic/security/utils/ResolutionUtil.java deleted file mode 100644 index 9968a15..0000000 --- a/app/src/main/java/com/basic/security/utils/ResolutionUtil.java +++ /dev/null @@ -1,147 +0,0 @@ -package com.basic.security.utils; - -import org.apache.commons.io.IOUtils; - -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.text.DecimalFormat; -import java.util.ArrayList; -import java.util.List; - -public class ResolutionUtil { - public static List<Size> sizeList = new ArrayList<>(); - static DecimalFormat df = new DecimalFormat("#.#"); - - private static void generateLayXLayY() { - File dir = new File("E:\\workspace\\Security_yuyin_landscape_dual\\app\\src\\main\\res\\values"); - for (Size size : sizeList) { - File layXY = new File(dir, "lay_x_y_" + size.width + "_" + size.height + ".xml"); - if (layXY.exists()) { - layXY.delete(); - } - try { - FileWriter fw = new FileWriter(layXY); - fw.write("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" + - "<resources>"); - for (int i = 1; i <= 1280; i++) { - String hI = "" + df.format(size.width * 1.0 / 1280.0 * i) + "px"; - fw.write("<dimen name=\"h" + size.width + "_" + size.height + "_" + i + "\">" + hI + "</dimen>\r\n"); - } - for (int i = 1; i <= 800; i++) { - String hI = "" + df.format(size.height * 1.0 / 800.0 * i) + "px"; - fw.write("<dimen name=\"w" + +size.width + "_" + size.height + "_" + i + "\">" + hI + "</dimen>\r\n"); - } - fw.write("\n" + - "</resources>"); - fw.flush(); - fw.close(); - System.out.println("ResolutionUtil.generateLayXLayY " + layXY.getAbsolutePath()); - } catch (Exception e) { - e.printStackTrace(); - } - } - } - - public static void main(String[] args) { - { - sizeList.add(new Size(1920, 1080)); - sizeList.add(new Size(1280, 800)); - sizeList.add(new Size(2560, 1440)); - sizeList.add(new Size(2560, 1600)); - } -// generateLayXLayY(); - generateLayout(); -// String str = "<item name=\"android:layout_height\">@dimen/h60</item>"; -// str = str.substring(str.indexOf("@dimen/h") + "@dimen/h".length()); -// String value = ""; -// for (int i = 0; i < str.length(); i++) { -// if (str.charAt(i) == '"' || str.charAt(i) == '<') { -// break; -// } -// value += str.charAt(i); -// } -// System.out.println("ResolutionUtil.main " + value); - } - - private static void generateLayout() { - try { - File dir = new File("E:\\workspace\\Security_yuyin_landscape_dual\\app\\src\\main\\res\\layout"); - File resolutionAdaptation = new File("E:\\workspace\\Security_yuyin_landscape_dual\\app\\src\\main\\java\\com\\basic\\security\\utils\\ResolutionAdaptation.java"); - FileWriter resolutionAdaptationFW = new FileWriter(resolutionAdaptation); - File[] layoutFiles = dir.listFiles(); - resolutionAdaptationFW.write("package com.basic.security.utils;\n" + - "\n" + - "import com.basic.security.yuyin.indoor.R;\n" + - "\n" + - "public class ResolutionAdaptation {\n"); - for (File layoutFile : layoutFiles) { - if (layoutFile.getName().startsWith("z_")) { - continue; - } - resolutionAdaptationFW.write("public static int " + layoutFile.getName().replace(".xml", "") + "(){\n"); - for (Size size : sizeList) { - File layXY = new File(dir, "z_" + layoutFile.getName().replace(".xml", "") + "_" + size.width + "_" + size.height + ".xml"); - if (layXY.exists()) { - layXY.delete(); - } - try { - List<String> lines = IOUtils.readLines(new FileReader(layoutFile)); - for (int i = 0; i < lines.size(); i++) { - String line = lines.get(i); - line = line.replace("@dimen/h", "@dimen/h" + size.width + "_" + size.height + "_"); - line = line.replace("@dimen/w", "@dimen/w" + size.width + "_" + size.height + "_"); - lines.set(i, line); - } - FileWriter fw = new FileWriter(layXY); - IOUtils.writeLines(lines, "\r\n", fw); - fw.flush(); - fw.close(); - } catch (Exception e) { - e.printStackTrace(); - } -// resolutionAdaptationFW.write("if (LayoutUtil.getRealWidth()=="+size.width+" && LayoutUtil.getRealHeight()=="+size.height+"){\n"); -// resolutionAdaptationFW.write(" return R.layout."+layXY.getName().replace(".xml", "")+";\n"); -// resolutionAdaptationFW.write("}\n"); - } - resolutionAdaptationFW.write("return R.layout." + layoutFile.getName().replace(".xml", "") + ";\n"); - resolutionAdaptationFW.write("}\n"); - } - for (int i = 1; i <= 1280; i++) { - resolutionAdaptationFW.write("public static int h" + i + "(){\n"); - for (Size size : sizeList) { -// resolutionAdaptationFW.write("if (LayoutUtil.getRealWidth()=="+size.width+" && LayoutUtil.getRealHeight()=="+size.height+"){\n"); -// resolutionAdaptationFW.write(" return R.dimen.h"+size.width+"_"+size.height+"_"+i+";\n"); -// resolutionAdaptationFW.write("}\n"); - } - resolutionAdaptationFW.write("return R.dimen.h" + i + ";\n"); - resolutionAdaptationFW.write("}\n"); - } - for (int i = 1; i <= 800; i++) { - resolutionAdaptationFW.write("public static int w" + i + "(){\n"); - for (Size size : sizeList) { -// resolutionAdaptationFW.write("if (LayoutUtil.getRealWidth()=="+size.width+" && LayoutUtil.getRealHeight()=="+size.height+"){\n"); -// resolutionAdaptationFW.write(" return R.dimen.w"+size.width+"_"+size.height+"_"+i+";\n"); -// resolutionAdaptationFW.write("}\n"); - } - resolutionAdaptationFW.write("return R.dimen.w" + i + ";\n"); - resolutionAdaptationFW.write("}\n"); - } - resolutionAdaptationFW.write("}\n"); - resolutionAdaptationFW.flush(); - resolutionAdaptationFW.close(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - public static class Size { - int width; - int height; - - public Size(int width, int height) { - this.width = width; - this.height = height; - } - } -} diff --git a/app/src/main/java/com/basic/security/utils/SocketUtil.java b/app/src/main/java/com/basic/security/utils/SocketUtil.java index 47b1c7e..db5e013 100644 --- a/app/src/main/java/com/basic/security/utils/SocketUtil.java +++ b/app/src/main/java/com/basic/security/utils/SocketUtil.java @@ -1,11 +1,12 @@ package com.basic.security.utils; import android.os.SystemClock; +import android.text.TextUtils; import com.basic.security.base.BaseApplication; +import com.basic.security.manager.PersonManager; import com.basic.security.manager.RemoteInDoorManager; import com.basic.security.manager.RemoteOutdoorManager; -import com.basic.security.manager.PersonManager; import com.basic.security.model.ModelAdapter; import com.basic.security.model.Person; import com.basic.security.model.PersonSocket; @@ -53,14 +54,20 @@ public static List<String> getRpcCallIp() { List<String> ipList = new ArrayList<>(); - String ip = ""; if (Constants.isIndoor) { ipList = RemoteOutdoorManager.getOutdoorDeviceIp(); } if (Constants.isOutdoor) { ipList = RemoteInDoorManager.getIndoorDeviceIp(); } - return ipList; + List<String> finalList = new ArrayList<>(); + for (String ip : ipList) { + if (!TextUtils.isEmpty(ip)) { + finalList.add(ip); + } + } +// LogUtil.println("getRpcCallIp " + finalList); + return finalList; } public static void rpcCallAsyncCommonSave(ModelAdapter modelAdapter) { @@ -78,6 +85,9 @@ } public static void rpcCallAsync(ModelAdapter modelAdapter, String requestType) { + if (!Constants.isUseSocketRpc) { + return; + } BaseApplication.getApplication().executorService.execute(() -> { List<String> remoteIpList = getRpcCallIp(); for (String remoteIp : remoteIpList) { @@ -95,7 +105,7 @@ socketUtil.writeByteArray(modelMapByteArray); } Map<String, String> responseMap = socketUtil.readJsonAsMap(); -// System.out.println("SocketUtil.rpcCallSaveVisit " + responseMap + " " + requestType); +// System1.out.println("SocketUtil.rpcCallAsync " + responseMap + " " + requestType + " remoteIp=" + remoteIp + " " + Constants.personServerPort); } catch (Exception e) { e.printStackTrace(); } finally { @@ -184,7 +194,7 @@ socketUtil.readFullByteArray(personByteArray); Map<String, Object> personModel = (Map<String, Object>) ObjectUtil.toObject(personByteArray);//SerializationUtils.deserialize(personByteArray); if (personModel != null) { -// System.out.println("SocketUtil.rpcCallFindPersonById " + personModel); +// System1.out.println("SocketUtil.rpcCallFindPersonById " + personModel); ModelAdapter person = new ModelAdapter(); person.model = personModel; byte[] camera_image_path_byte_array = (byte[]) person.model.get(PersonSocket.camera_image_path_byte_array); @@ -195,7 +205,7 @@ return person; } } else { -// System.out.println("SocketUtil.rpcCallFindPersonById"); +// System1.out.println("SocketUtil.rpcCallFindPersonById"); } } catch (Exception e) { e.printStackTrace(); @@ -236,7 +246,7 @@ IOUtils.write(fileBuffer, fileWriter); fileWriter.flush(); fileWriter.close(); - System.out.println("SocketUtil.rpcCallDownload camera_image_path=" + camera_image_path); + System1.out.println("SocketUtil.rpcCallDownload camera_image_path=" + camera_image_path); } } catch (Exception e) { e.printStackTrace(); @@ -277,7 +287,7 @@ try { element = parser.parse(json); } catch (JsonParseException e) { - System.out.println("exception: " + e); + System1.out.println("exception: " + e); isJSON = false; } if (isJSON && element != null) { diff --git a/app/src/main/java/com/basic/security/utils/SqlSplit.java b/app/src/main/java/com/basic/security/utils/SqlSplit.java index ad393a7..0924c44 100644 --- a/app/src/main/java/com/basic/security/utils/SqlSplit.java +++ b/app/src/main/java/com/basic/security/utils/SqlSplit.java @@ -1,16 +1,129 @@ package com.basic.security.utils; -import java.text.SimpleDateFormat; import java.util.ArrayList; -import java.util.Date; +import java.util.Arrays; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; -import java.util.regex.Matcher; -import java.util.regex.Pattern; +import java.util.Set; public class SqlSplit { static char[] startEndQuotes = new char[]{'\'', '"', '`'}; + + static Set<String> tableNameList = new HashSet<>(); + + static { + tableNameList.addAll(Arrays.asList(new String[]{ + "base_setting", + "business", + "business_apply_device", + "business_person", + "cluster", + "cluster_node", + "cluster_setting", + "confirm", + "device", + "guest", + "hint_door_access", + "hint_recognize_message", + "hint_sign_up", + "id_card", + "identity", + "Log", + "OfficeDevice", + "org", + "outdoor", + "person", + "person_identity", + "temporary_person", + "time", + "user", + "dbtablepersons", + "dbTables", + "visit" + })); + } + + public static boolean containsTable(String sql) { + String tableName = getTableName(sql).trim(); + if (tableNameList.contains(tableName)) { + return true; + } + return false; + } + + public static String getTableName(String sql) { + sql = sql.toLowerCase(); + sql = sql.trim(); + if (sql.startsWith("insert")) { + return getTableNameFromInsertSql(sql); + } + if (sql.startsWith("delete")) { + return getTableNameFromDeleteSql(sql); + } + if (sql.startsWith("update")) { + return getTableNameFromUpdateSql(sql); + } + return sql; + } + + public static boolean isInsert(String sql) { + sql = sql.toLowerCase(); + sql = sql.trim(); + if (sql.startsWith("insert")) { + return true; + } + return false; + } + + public static boolean isDelete(String sql) { + sql = sql.toLowerCase(); + sql = sql.trim(); + if (sql.startsWith("delete")) { + return true; + } + return false; + } + + public static Map<String, String> getRowDataMap(String sql) { + sql = sql.toLowerCase(); + sql = sql.trim(); + if (sql.startsWith("insert")) { + return insertToMap(sql); + } + if (sql.startsWith("delete")) { + return deleteToMap(sql); + } + if (sql.startsWith("update")) { + return updateToMap(sql); + } + return new HashMap<>(); + } + + public static String getRowSqlOperateType(String sql) { + sql = sql.toLowerCase(); + sql = sql.trim(); + if (sql.startsWith("insert")) { + return "insert"; + } + if (sql.startsWith("delete")) { + return "delete"; + } + if (sql.startsWith("update")) { + return "update"; + } + return ""; + } + + public static boolean isUpdate(String sql) { + sql = sql.toLowerCase(); + sql = sql.trim(); + if (sql.startsWith("update")) { + return true; + } + return false; + } public static String getTableNameFromDeleteSql(String sql) { String tableName = ""; @@ -32,17 +145,23 @@ .replace(" ", " ").replace(" ", " ").replace(" ", " ").replace(" ", " ") ; sql = sql.substring(0, sql.toLowerCase().indexOf(" set ")).trim().split(" ")[1]; - tableName = sql.substring(sql.indexOf(" ")).trim(); + int index = sql.indexOf(" "); + if (index != -1) { + tableName = sql.substring(index); + } + tableName = tableName.trim(); return tableName; } public static String getTableNameFromInsertSql(String sql) { + sql = sql.toLowerCase(); + sql = sql.replace("insert or replace into", "insert into"); String tableName = ""; sql = sql.replace("\n", " "); sql = sql.replace("\r\n", " "); sql = sql.replace(" ", " "); sql = sql.substring(sql.toLowerCase().indexOf("into ") + "into ".length()).trim(); - tableName = sql.substring(sql.indexOf(" ")).trim(); + tableName = sql.substring(0, sql.indexOf("(")).trim(); return tableName; } @@ -64,7 +183,7 @@ columnMap.put(sqlPart.split("=")[0], sqlPart.split("=")[1]); } } - System.out.println(columnMap); + System1.out.println(columnMap); return columnMap; } @@ -86,7 +205,7 @@ columnMap.put(sqlPart.split("=")[0], sqlPart.split("=")[1]); } } - System.out.println(columnMap); +// System1.out.println(columnMap); return columnMap; } @@ -116,10 +235,10 @@ valueSql = valueSql.substring(0, valueSql.length() - 1); } List<String> valueList = parseValues(valueSql, columnNames.length); - System.out.println(columnNames.length + ", " + valueList.size()); +// System1.out.println(columnNames.length + ", " + valueList.size()); if (valueList.size() == columnNames.length) { for (int i = 0; i < columnNames.length; i++) { - System.out.println(columnNames[i] + "=" + valueList.get(i)); +// System1.out.println(columnNames[i] + "=" + valueList.get(i)); Character startEndQuote = startEndQuote(columnNames[i].charAt(0)); if (startEndQuote != null) { columnNames[i] = columnNames[i].substring(1); @@ -183,27 +302,30 @@ } public static void main(String[] args) { - String query = "INSERT INTO \"main\".\"person\"(\"camera_image_feature_path\", \"checked_time_rule_id\", \"sign_up_rule\", \"id\", \"name\", \"camera_image_path\", \"camera_image_feature\", \"camera_image_fastdfs_path\", \"id_card_number\", \"id_card_image_path\", \"id_card_image_feature\", \"type\", \"phone\", \"sign_up_time\", \"sign_up_method\", \"sign_up_status\", \"verify_status\", \"auto_init\", \"update_time\", \"del_flag\", \"all_device\", \"company_id\", \"table\", \"device_id\") VALUES ('', '', '娉ㄥ唽閫氳', 'PSPAD010120190716172753922', '', '/sdcard/security_attachment/person_camera_image_path_PSPAD010120190716172753922', 'kQKvjWNp89euRzjBJGVNRUSXWI7F7yvh1VTBngS8JPI8G3oEw1i5AVG2ZeWBAOkABZbA4tGXyVf2h5vPoe0auBcZhXEbmenD2duANhmHLyCqpXxkq7Iak57lVzV5N5mx6BtUUrhtMhAth4S8FYe87qstbLoQrz+7DEt+d1SFJKDjqag6C2myZhgIVLNnDHAO22Gnn5Msfmt5r8Awl6S6nORL+vsad3yk9gzt/KCtbJwSH74B9sS95z+HvbchaT5wRL+9z+DePHOoL74Vhm89FCQHPciH9bs65Qw79VsQPo/LtDzb8Jq+BO8dvk8vgrtjVF++2D6SvjSwS71ERl+8cH8YPP/c5D1r3oQ9hcIiPOISmr2rj7q9ExEYvlgooD3Q/dK93pYdPm5jgr2liO69M6CuvcoN8L1fVEq9MLzovancBr4y6C6+EdUTPu9eUby+Lbu9rBH+vefvtj3R4WK9LacZPlJO2ryb5iI+qBBcvjW8MrzfZLM7dy/PPRlGDz5Zjl09DkEDPq5ywb0jKrC9A5H9vAF1eD2WFke9IAADvCaUcbytZ1s8TmH3vXHZx7wvUMO9IiuRPX0cnD1lEh69TgMovGIEPj1RjCU96Ac6PeWOwTy3PwI+S4WoPXxNa70eFLw9oxifvG1zsb2QIOk9aYaoPUtY2rwF93+9eXMqvcbqPr0YZsQ8DRsQvbIQhrydACQ9Kq4RPcBtqrvx3ho9lzMQvZof6DwrP5o8ttYwPW+elL1cr/Q8YO1LPETaGLsCgS47LoWEPXWfRD125z08qNzTPKdoAj2aS/Y72crBvOSwgDtdrq27whnLvJ24cLza5Jm8c449O76rcrxE0A885CxEPMoamry5n1s8pKGcvHXNObxCEr08cORhPKk/Uzx29QO9eHTDO59UIr2Baaw74XW9u2CHfTzv8gE7WnAPvfHHwLuJKgE9Ws41vOBqAzyISMc8xd6QPCbdiTwOSAc8TpHUvL4MrTvpbHe8/yKDvNzXKbzXFJc8h58PvEkR17tRCw48KcbMvA8FNDw1TyA8t0c5PJEuijz2odg8XdsxPHgqIT0mySu8o91MOOWU7LqlHT48XM1PulOuF716FBm8QpN+vA4LFrxB9UK7P42Tu2zjDT1WOw08L9Zuu0Q9ibwGZbS7h/9VPG/UF7s4klw6ak4zvHpX/DvOHoO8ikXcPEz2iDzkfoI8fXhLvBzfgbzMQcU8xbddvHUQ1jowN/s70OvBPEhXMLr4YdM8Zzk0vLnjQDwkd5S8qxCMOzEHNjziTTI8gmekvCfDFLyDAlG7dtDDvJ4PCDzRtfQ75zKZPJG7ATtJSwi6Khbwu8ex4bzp1FC8uMstPAb5M7w4vAs8XNaZPBbQ1LqZNrQ7VZ4NvE+QYzku9NC7tMnXO5GOc7oX/O28nBc4vAwtMLoN47i8br+ivCi32DtirdQ7w0InurrNULxAO/A7ZDIJOGz4mDs3PoY8LMUCPTU+hLzlNks83yO1vOGX6bv5S3W7Nb8nPK3N/bnpdWK6uPQkvGi8sbxmpoc7UbReulmMUDsOEjm6nYJ3uu/tbrvLlVG7uooGvHUxvDoQZNO6Mf4lPLEEXTsk95q7D2LEvHof7Lq97/c7F2YrvA0rGbwN5ZU7QHgUu6gxZ7nXePS8OBE+uztWFDtvXVQ51tAkPFM0aro7HJO8R4QlO1dBIjsTe0m79d3Yu3hzEDvwvxw7XmqMvNi21jsb1Js7utLbO/h/AjzcNyM78EgkPMMxSDtEA/Q6daekO/QF7zvfYwQ6QphqvLi+BTwf+6O7RbiOO+OYZbzDtNi6omNFPDznAzrqiwc8YzCJu0lArjuHAce8EHULOnbA3jughSg8ZxGCu9GGTzyDi4M8jSi3O6o4C7xexlG8qUAqPJLv5jmku2I8/CuZu7y0fTwxLjI8kgXuO6tZGrwnJaI7By2tO0SfBbvf3D88K+o7u8/3iLpii6M75jzKO6XnCbxZYWk7yqCEPL+QrDuimiS8AG0SvHrQ/Ds7nzs8HrMAPNVQajuL4hg8zVxHvMxAvDtQmq67IvoPvPPEm7shjZS7Pe6OuxTfeTsEvNO7DKefu8uPz7uuzfu6DS1SO+alV7sbpbo7QqTfu4AoaztzddK6PjeUuoCyB7sH+Cq7cqUguuRB27t70iA7LfeZOyMslzvv2ms6mIaLO7FbWzzYcew6l69TO2zRgbs7fLy6uRxkOleadDrDJWu7h6Q0urBq5blfUCU77vfwOcGLZbtnFJO7EeLyulNOsLs3kdU7rc82OU6h6LoCR0m7KhinO/+qDTvpHaY7QSlGOvzwvTmDvBU5jKkyuwe/prvc44u3cLJtu6bjWDpzi8a6xBxyujiJ0boP7AE85TXnObdjiDvh1Xq7FFOQu8PSBbtcLFY7yVSHO3uFbLvjOs47VKhzOVRfWzupKA668wuruqxrorq2lXE7zCOrOy+DY7uMJyS73L1ruUYJBDuJSSG75JYUOghPMbpB7hE7GuMLutfMNjrEzxg752MmuVrDAjugqDg79OuAOwOj7Dpv8Re7b54yOpxnzDrozbU6iDsuOT2i7zipG5O7QYueusmyvLq+y145UPwjO1S5pzrHLmu7GZEMuzqbBrumcXI7OHMHu/3pUDvVzTe7sFR/uz1ICruGsle6t2LCOrusrjmPqQw7ApH6OiPf/boIFfc5Y2nwuX3LubpWoFi6AfJbum6iMrkUesE6fClAuM8lBbplNbI63ZebutlDkbqG8Ku64fJrusVHWTorVYK64s0AO4ZggrsTndG54zn+t5wCkToZfZc5DN32uH0fjjpGwyE7+UQtu89oHTpJCwU6KLsCOoR1HLnGmpu3yaaRuvb5RrqpDKu6SbI6Oln3FTp3g9k6XNoMOnpB8rpgPzi6PcgRO92zkzlGGp24jpfrOmWPGTpK4CY6j2ybOmfJ1TpR3NW6m6ZbujKmEjryUIm6ZuJzjmsGWsQdTaAbDUWLbYkmkAXNq5AUzYj62nodpXLtCuGrKLzEwOknu62anHpq8Ulv3nwJp7SVW8jgmJ6T9U73rrqNPKYb+tPo4uE6perTg+kuI2MrXz6llMfQ3r72ZjXZYxSr4HndEHU0BzIHMq3HCAD7QqP0HVZo6Zwj4IQy0+AX/kUUSVb55WKa6HQh4BOQ0CBI9ls7FzAYV9wCmS69Ehno2tVPfLGnebBrhEBWlxDgdPmY+U0iLqo7kHbaaFZxvCeD/KGzA2+K3orK3h6Dv+6S8CTZvk1vln7LabW+A7s1XvylnOZ71baZSMnHdN/FzC4D2wdO3q0CE6hpStoIA5nbLlVHoI6t+nYOQQrAFEtkg8+ao7mTNeiEW4WzTUtgiDVnyrRtLZI/xjk3VwV/651GQqIu+mlAO3pRbR5rbUPporz60xZZLiscZ092Nw==', '', '', '', '', '', '', '1563269273923', '浜哄伐娉ㄥ唽', '宸叉敞鍐�', '涓嶉渶瑕侀獙璇佽韩浠借瘉', '', '', '0', '0', '', 'person', '');\n"; - insertToMap(query); - System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(Long.parseLong("1573901869122")))); - if (1 == 1) { - return; - } - Pattern pattern = Pattern.compile("\\((.*?)\\)", Pattern.DOTALL); - Matcher matcher = pattern.matcher(query); - List<String[]> tokens = new ArrayList<String[]>(); - while (matcher.find()) { - tokens.add(matcher.group().replace("(", "").replace(")", "").split(",")); - } - Map<String, String> map = new HashMap<String, String>(); - if (tokens.size() == 2 && tokens.get(0).length == tokens.get(1).length) { - for (int x = 0; x < tokens.get(0).length; x++) { - map.put(tokens.get(0)[x], tokens.get(1)[x].replace("'", "")); - } - } - for (Map.Entry<String, String> entry : map.entrySet()) { - System.out.println("KEY:" + entry.getKey()); - System.out.println("VALUE:" + entry.getValue()); - } + tableNameList.contains("person"); +// String sql = "INSERT INTO person(\"camera_image_feature_path\", \"checked_time_rule_id\", \"sign_up_rule\", \"id\", \"name\", \"camera_image_path\", \"camera_image_feature\", \"camera_image_fastdfs_path\", \"id_card_number\", \"id_card_image_path\", \"id_card_image_feature\", \"type\", \"phone\", \"sign_up_time\", \"sign_up_method\", \"sign_up_status\", \"verify_status\", \"auto_init\", \"update_time\", \"del_flag\", \"all_device\", \"company_id\", \"table\", \"device_id\") VALUES ('', '', '娉ㄥ唽閫氳', 'PSPAD010120190716172753922', '', '/sdcard/security_attachment/person_camera_image_path_PSPAD010120190716172753922', 'kQKvjWNp89euRzjBJGVNRUSXWI7F7yvh1VTBngS8JPI8G3oEw1i5AVG2ZeWBAOkABZbA4tGXyVf2h5vPoe0auBcZhXEbmenD2duANhmHLyCqpXxkq7Iak57lVzV5N5mx6BtUUrhtMhAth4S8FYe87qstbLoQrz+7DEt+d1SFJKDjqag6C2myZhgIVLNnDHAO22Gnn5Msfmt5r8Awl6S6nORL+vsad3yk9gzt/KCtbJwSH74B9sS95z+HvbchaT5wRL+9z+DePHOoL74Vhm89FCQHPciH9bs65Qw79VsQPo/LtDzb8Jq+BO8dvk8vgrtjVF++2D6SvjSwS71ERl+8cH8YPP/c5D1r3oQ9hcIiPOISmr2rj7q9ExEYvlgooD3Q/dK93pYdPm5jgr2liO69M6CuvcoN8L1fVEq9MLzovancBr4y6C6+EdUTPu9eUby+Lbu9rBH+vefvtj3R4WK9LacZPlJO2ryb5iI+qBBcvjW8MrzfZLM7dy/PPRlGDz5Zjl09DkEDPq5ywb0jKrC9A5H9vAF1eD2WFke9IAADvCaUcbytZ1s8TmH3vXHZx7wvUMO9IiuRPX0cnD1lEh69TgMovGIEPj1RjCU96Ac6PeWOwTy3PwI+S4WoPXxNa70eFLw9oxifvG1zsb2QIOk9aYaoPUtY2rwF93+9eXMqvcbqPr0YZsQ8DRsQvbIQhrydACQ9Kq4RPcBtqrvx3ho9lzMQvZof6DwrP5o8ttYwPW+elL1cr/Q8YO1LPETaGLsCgS47LoWEPXWfRD125z08qNzTPKdoAj2aS/Y72crBvOSwgDtdrq27whnLvJ24cLza5Jm8c449O76rcrxE0A885CxEPMoamry5n1s8pKGcvHXNObxCEr08cORhPKk/Uzx29QO9eHTDO59UIr2Baaw74XW9u2CHfTzv8gE7WnAPvfHHwLuJKgE9Ws41vOBqAzyISMc8xd6QPCbdiTwOSAc8TpHUvL4MrTvpbHe8/yKDvNzXKbzXFJc8h58PvEkR17tRCw48KcbMvA8FNDw1TyA8t0c5PJEuijz2odg8XdsxPHgqIT0mySu8o91MOOWU7LqlHT48XM1PulOuF716FBm8QpN+vA4LFrxB9UK7P42Tu2zjDT1WOw08L9Zuu0Q9ibwGZbS7h/9VPG/UF7s4klw6ak4zvHpX/DvOHoO8ikXcPEz2iDzkfoI8fXhLvBzfgbzMQcU8xbddvHUQ1jowN/s70OvBPEhXMLr4YdM8Zzk0vLnjQDwkd5S8qxCMOzEHNjziTTI8gmekvCfDFLyDAlG7dtDDvJ4PCDzRtfQ75zKZPJG7ATtJSwi6Khbwu8ex4bzp1FC8uMstPAb5M7w4vAs8XNaZPBbQ1LqZNrQ7VZ4NvE+QYzku9NC7tMnXO5GOc7oX/O28nBc4vAwtMLoN47i8br+ivCi32DtirdQ7w0InurrNULxAO/A7ZDIJOGz4mDs3PoY8LMUCPTU+hLzlNks83yO1vOGX6bv5S3W7Nb8nPK3N/bnpdWK6uPQkvGi8sbxmpoc7UbReulmMUDsOEjm6nYJ3uu/tbrvLlVG7uooGvHUxvDoQZNO6Mf4lPLEEXTsk95q7D2LEvHof7Lq97/c7F2YrvA0rGbwN5ZU7QHgUu6gxZ7nXePS8OBE+uztWFDtvXVQ51tAkPFM0aro7HJO8R4QlO1dBIjsTe0m79d3Yu3hzEDvwvxw7XmqMvNi21jsb1Js7utLbO/h/AjzcNyM78EgkPMMxSDtEA/Q6daekO/QF7zvfYwQ6QphqvLi+BTwf+6O7RbiOO+OYZbzDtNi6omNFPDznAzrqiwc8YzCJu0lArjuHAce8EHULOnbA3jughSg8ZxGCu9GGTzyDi4M8jSi3O6o4C7xexlG8qUAqPJLv5jmku2I8/CuZu7y0fTwxLjI8kgXuO6tZGrwnJaI7By2tO0SfBbvf3D88K+o7u8/3iLpii6M75jzKO6XnCbxZYWk7yqCEPL+QrDuimiS8AG0SvHrQ/Ds7nzs8HrMAPNVQajuL4hg8zVxHvMxAvDtQmq67IvoPvPPEm7shjZS7Pe6OuxTfeTsEvNO7DKefu8uPz7uuzfu6DS1SO+alV7sbpbo7QqTfu4AoaztzddK6PjeUuoCyB7sH+Cq7cqUguuRB27t70iA7LfeZOyMslzvv2ms6mIaLO7FbWzzYcew6l69TO2zRgbs7fLy6uRxkOleadDrDJWu7h6Q0urBq5blfUCU77vfwOcGLZbtnFJO7EeLyulNOsLs3kdU7rc82OU6h6LoCR0m7KhinO/+qDTvpHaY7QSlGOvzwvTmDvBU5jKkyuwe/prvc44u3cLJtu6bjWDpzi8a6xBxyujiJ0boP7AE85TXnObdjiDvh1Xq7FFOQu8PSBbtcLFY7yVSHO3uFbLvjOs47VKhzOVRfWzupKA668wuruqxrorq2lXE7zCOrOy+DY7uMJyS73L1ruUYJBDuJSSG75JYUOghPMbpB7hE7GuMLutfMNjrEzxg752MmuVrDAjugqDg79OuAOwOj7Dpv8Re7b54yOpxnzDrozbU6iDsuOT2i7zipG5O7QYueusmyvLq+y145UPwjO1S5pzrHLmu7GZEMuzqbBrumcXI7OHMHu/3pUDvVzTe7sFR/uz1ICruGsle6t2LCOrusrjmPqQw7ApH6OiPf/boIFfc5Y2nwuX3LubpWoFi6AfJbum6iMrkUesE6fClAuM8lBbplNbI63ZebutlDkbqG8Ku64fJrusVHWTorVYK64s0AO4ZggrsTndG54zn+t5wCkToZfZc5DN32uH0fjjpGwyE7+UQtu89oHTpJCwU6KLsCOoR1HLnGmpu3yaaRuvb5RrqpDKu6SbI6Oln3FTp3g9k6XNoMOnpB8rpgPzi6PcgRO92zkzlGGp24jpfrOmWPGTpK4CY6j2ybOmfJ1TpR3NW6m6ZbujKmEjryUIm6ZuJzjmsGWsQdTaAbDUWLbYkmkAXNq5AUzYj62nodpXLtCuGrKLzEwOknu62anHpq8Ulv3nwJp7SVW8jgmJ6T9U73rrqNPKYb+tPo4uE6perTg+kuI2MrXz6llMfQ3r72ZjXZYxSr4HndEHU0BzIHMq3HCAD7QqP0HVZo6Zwj4IQy0+AX/kUUSVb55WKa6HQh4BOQ0CBI9ls7FzAYV9wCmS69Ehno2tVPfLGnebBrhEBWlxDgdPmY+U0iLqo7kHbaaFZxvCeD/KGzA2+K3orK3h6Dv+6S8CTZvk1vln7LabW+A7s1XvylnOZ71baZSMnHdN/FzC4D2wdO3q0CE6hpStoIA5nbLlVHoI6t+nYOQQrAFEtkg8+ao7mTNeiEW4WzTUtgiDVnyrRtLZI/xjk3VwV/651GQqIu+mlAO3pRbR5rbUPporz60xZZLiscZ092Nw==', '', '', '', '', '', '', '1563269273923', '浜哄伐娉ㄥ唽', '宸叉敞鍐�', '涓嶉渶瑕侀獙璇佽韩浠借瘉', '', '', '0', '0', '', 'person', '');\n"; +// System1.out.println("SqlSplit.main " + getTableNameFromInsertSql(sql)); +// insertToMap(query); +// System1.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(Long.parseLong("1573901869122")))); +// if (1 == 1) { +// return; +// } +// Pattern pattern = Pattern.compile("\\((.*?)\\)", Pattern.DOTALL); +// Matcher matcher = pattern.matcher(query); +// List<String[]> tokens = new ArrayList<String[]>(); +// while (matcher.find()) { +// tokens.add(matcher.group().replace("(", "").replace(")", "").split(",")); +// } +// Map<String, String> map = new HashMap<String, String>(); +// if (tokens.size() == 2 && tokens.get(0).length == tokens.get(1).length) { +// for (int x = 0; x < tokens.get(0).length; x++) { +// map.put(tokens.get(0)[x], tokens.get(1)[x].replace("'", "")); +// } +// } +// for (Map.Entry<String, String> entry : map.entrySet()) { +// System1.out.println("KEY:" + entry.getKey()); +// System1.out.println("VALUE:" + entry.getValue()); +// } } + } diff --git a/app/src/main/java/com/basic/security/utils/ThreadUtil.java b/app/src/main/java/com/basic/security/utils/ThreadUtil.java index cc4a859..8e4be19 100644 --- a/app/src/main/java/com/basic/security/utils/ThreadUtil.java +++ b/app/src/main/java/com/basic/security/utils/ThreadUtil.java @@ -10,7 +10,7 @@ public static void printThreadInfo(String name) { Thread currentThread = Thread.currentThread(); -// System.out.println("threadId="+currentThread.getId()+",threadName="+currentThread.getName()+",name="+name); +// System1.out.println("threadId="+currentThread.getId()+",threadName="+currentThread.getName()+",name="+name); } public static void threadCreateObserver() { @@ -28,14 +28,14 @@ String frame = stackTraceElement.toString(); if (frame.contains(".basic.")) { hasBasic = true; - System.out.println(threadEntry.getKey().getId() + " " + frame); + System1.out.println(threadEntry.getKey().getId() + " " + frame); } } if (!hasBasic) { for (StackTraceElement stackTraceElement : stackTraceElements) { frames.add(stackTraceElement.toString()); String frame = stackTraceElement.toString(); - System.out.println(threadEntry.getKey().getId() + " " + frame); + System1.out.println(threadEntry.getKey().getId() + " " + frame); } } } diff --git a/app/src/main/java/com/basic/security/utils/TimeCostUtil.java b/app/src/main/java/com/basic/security/utils/TimeCostUtil.java index ce2a60a..1c16d9a 100644 --- a/app/src/main/java/com/basic/security/utils/TimeCostUtil.java +++ b/app/src/main/java/com/basic/security/utils/TimeCostUtil.java @@ -8,7 +8,7 @@ } public static void end() { - System.out.println("TimeCostUtil.end " + (System.currentTimeMillis() - start)); + System1.out.println("TimeCostUtil.end " + (System.currentTimeMillis() - start)); } public static String getCost() { diff --git a/app/src/main/java/com/basic/security/utils/ToastUtil.java b/app/src/main/java/com/basic/security/utils/ToastUtil.java index 8a845e9..8fda8d0 100644 --- a/app/src/main/java/com/basic/security/utils/ToastUtil.java +++ b/app/src/main/java/com/basic/security/utils/ToastUtil.java @@ -88,6 +88,7 @@ } public static void show(final String message) { // 鏈夊娆¤繛缁偣鍑讳笉鏄剧ず闂 鍙傜収showNormalToast, + System1.out.println("toast:" + message); View v = LayoutInflater.from(BaseApplication.getApplication()).inflate(com.basic.security.utils.ResolutionAdaptation.eplay_toast(), null); TextView textView = v.findViewById(com.basic.security.utils.RUtils.R_id_textView1); textView.setText(message); diff --git a/app/src/main/java/com/basic/security/utils/UpdateApk.java b/app/src/main/java/com/basic/security/utils/UpdateApk.java index 478e1b1..3982910 100644 --- a/app/src/main/java/com/basic/security/utils/UpdateApk.java +++ b/app/src/main/java/com/basic/security/utils/UpdateApk.java @@ -3,7 +3,7 @@ public class UpdateApk { public static void getApk() { try { -// System.out.println("UpdateApk.getApk 寮�濮嬩笅杞�"); +// System1.out.println("UpdateApk.getApk 寮�濮嬩笅杞�"); // String out = new Scanner(new URL(Constants.getApkUrl).openStream(), "UTF-8").useDelimiter("\\A").next(); // Gson gson = new Gson(); // Map map = gson.fromJson(out, Map.class); @@ -28,7 +28,7 @@ // } // } // -// System.out.println("UpdateApk.getApk 瀹夎瀹屾垚"); +// System1.out.println("UpdateApk.getApk 瀹夎瀹屾垚"); } catch (Exception e) { e.printStackTrace(); } diff --git a/app/src/main/java/com/basic/security/utils/Utils.java b/app/src/main/java/com/basic/security/utils/Utils.java index babe1f9..07e8612 100644 --- a/app/src/main/java/com/basic/security/utils/Utils.java +++ b/app/src/main/java/com/basic/security/utils/Utils.java @@ -2,10 +2,10 @@ public class Utils { public static void LOGD(String s) { - System.out.println(s); + System1.out.println(s); } public static void LOGE(String s, Object o) { - System.out.println(s); + System1.out.println(s); } } diff --git a/app/src/main/java/com/basic/security/utils/WeedUpload.java b/app/src/main/java/com/basic/security/utils/WeedUpload.java index 866fb9b..eefda56 100644 --- a/app/src/main/java/com/basic/security/utils/WeedUpload.java +++ b/app/src/main/java/com/basic/security/utils/WeedUpload.java @@ -22,8 +22,10 @@ String urlParameters = ""; try { //Create connection - URL url = new URL("http://123.207.143.213:9333/dir/assign"); +// URL url = new URL("http://123.207.143.213:9333/dir/assign"); + URL url = new URL("http://192.168.222.1:9333/dir/assign"); connection = (HttpURLConnection) url.openConnection(); + connection.setConnectTimeout(2 * 1000); connection.setRequestMethod("POST"); connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); @@ -39,6 +41,7 @@ wr.close(); //Get Response InputStream is = connection.getInputStream(); +// String responseStr = IOUtils.toString(is); BufferedReader rd = new BufferedReader(new InputStreamReader(is)); StringBuilder response = new StringBuilder(); // or StringBuffer if Java version 5+ String line; @@ -48,6 +51,8 @@ } rd.close(); String responseStr = response.toString(); + is.close(); +// System.out.println("WeedUpload.upload responseStr=" + responseStr); assignMap = gson.fromJson(responseStr, Map.class); } catch (Exception e) { e.printStackTrace(); @@ -69,16 +74,18 @@ //Create connection // URL url = new URL("http://123.207.143.213:8081/"+assignMap.get("fid")); String charset = "UTF-8"; - String requestURL = "http://123.207.143.213:8081/" + assignMap.get("fid"); +// String requestURL = "http://123.207.143.213:8081/" + assignMap.get("fid"); + String requestURL = "http://192.168.222.1:8081/" + assignMap.get("fid"); pictureUrl = requestURL; - System.out.println("WeedUpload.upload " + requestURL); +// System.out.println("WeedUpload.upload " + requestURL + " " + FrameUtil.getFrames()); MultipartUtilityV2 multipart = new MultipartUtilityV2(requestURL); multipart.addFilePart("file", camera_image_path_file); String response = multipart.finish(); // response from server. - System.out.println(response); +// System.out.println(response); + return requestURL; } catch (Exception e) { e.printStackTrace(); - return null; + return pictureUrl; } finally { if (connection != null) { connection.disconnect(); diff --git a/app/src/main/java/com/basic/security/utils/WhiteDevice.java b/app/src/main/java/com/basic/security/utils/WhiteDevice.java new file mode 100644 index 0000000..b6fd2df --- /dev/null +++ b/app/src/main/java/com/basic/security/utils/WhiteDevice.java @@ -0,0 +1,127 @@ +package com.basic.security.utils; + +import android.hardware.Sensor; +import android.hardware.SensorEvent; +import android.hardware.SensorEventListener; +import android.hardware.SensorManager; + +import com.alfeye.a1io.A1IoDevBaseUtil; +import com.alfeye.a1io.A1IoDevManager; +import com.alfeye.seriallib.Listener.OnDistanceListener; +import com.alfeye.seriallib.SerialDevice.DistanceSensor; +import com.alfeye.seriallib.android_serialport_api.SerialPortFinder; +import com.basic.security.base.BaseApplication; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import static android.content.Context.SENSOR_SERVICE; + + +public class WhiteDevice { + + public static List<Integer> integers = new ArrayList<>(); + public static DistanceSensor sr04Device; + /** + * 璺濈鎰熷簲鍣� + */ + public static boolean isOpen = false; + //鏈�澶х紦瀛樻暟閲� + public static int MaxCacheNumber = 5; + //寮�鐏窛绂� + public static int MIN_SRDEV = 1000; + //鍏崇伅璺濈 + public static int SRDEVNO = 1400; + public static SensorManager sensorManager; + public static Sensor lightSensor; + public static String[] allDevices; + public static A1IoDevBaseUtil basUtil; + + public static void initWhiteDevice() { + sr04Device = new DistanceSensor("/dev/ttyUSB0", new Sr04DeviceDate()); + allDevices = new SerialPortFinder().getAllDevicesPath(); + //鑾峰彇SensorManager瀵硅薄 + sensorManager = (SensorManager) BaseApplication.getApplication().activity.getSystemService(SENSOR_SERVICE); + //鑾峰彇Sensor瀵硅薄 + lightSensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT); + sensorManager.registerListener(new MySensorListener(), lightSensor, SensorManager.SENSOR_DELAY_NORMAL); + basUtil = A1IoDevManager.initIOManager(); + basUtil.openDIST(); + boolean open = sr04Device.open(); + basUtil.closeLED(); + basUtil.closeIRDA(); + } + + //寮�鐏� + private static void serialDeviceOpenLamp(int distance) { + com.basic.security.activity.MainActivity activity = BaseApplication.getApplication().activity; + if (activity.needLight()) { + if (distance != 0) { + integers.add(distance); + if (integers.size() >= MaxCacheNumber) { + Collections.sort(integers); + if (integers.get(MaxCacheNumber - 1) <= MIN_SRDEV) { + activity.lastTimeDetectedFace = System.currentTimeMillis(); + if (!isOpen) { + isOpen = true; + basUtil.openLED(100); + basUtil.openIRDA(); + } + } + if (integers.get(MaxCacheNumber - 1) <= MIN_SRDEV && !isOpen) { + ProcessImageAndDrawResults.shouldExtractFeatureFirstTimeInWaitFace = 2; + if (activity.currentFragment == activity.fragment_home) { + activity.showFragment(activity.fragment_su_auto_wait_face); + } + } else if (integers.get(0) >= SRDEVNO && isOpen + ) { + } else { + } + integers.clear(); + if (System.currentTimeMillis() - activity.lastTimeDetectedFace > 2 * 1000) { + if (isOpen) { + isOpen = false; + basUtil.closeLED(); + basUtil.closeIRDA(); + } + } + } + } else { + integers.clear(); + } + } + if (System.currentTimeMillis() - activity.lastTimeDetectedFace > 2 * 1000) { + if (isOpen) { + isOpen = false; + basUtil.closeLED(); + basUtil.closeIRDA(); + } + } + } + + public static void close() { + basUtil.closeLED(); + basUtil.closeDIST(); + sr04Device.close(); + } + + public static class Sr04DeviceDate implements OnDistanceListener { + @Override + public void onRevData(final int i1) { + serialDeviceOpenLamp(i1); + } + } + + public static class MySensorListener implements SensorEventListener { + @Override + public void onAccuracyChanged(Sensor sensor, int accuracy) { + } + + @Override + public void onSensorChanged(SensorEvent event) { + } + } + + +} diff --git a/app/src/main/java/com/basic/security/utils/socket/RelayServerUtil.java b/app/src/main/java/com/basic/security/utils/socket/RelayServerUtil.java index 51ac944..eeeaa5e 100644 --- a/app/src/main/java/com/basic/security/utils/socket/RelayServerUtil.java +++ b/app/src/main/java/com/basic/security/utils/socket/RelayServerUtil.java @@ -2,8 +2,6 @@ import android.os.SystemClock; -import com.basic.security.utils.Constants; - import org.apache.commons.io.IOUtils; import java.io.BufferedWriter; @@ -52,7 +50,7 @@ InputStream inputStream = clientSocket.getInputStream(); // Thread.sleep(1000); List<String> readLines = IOUtils.readLines(inputStream); - System.out.println(readLines); + System1.out.println(readLines); if (readLines != null && readLines.size() > 0) { response = readLines.get(0); } @@ -83,7 +81,7 @@ if ("1".equals(status)) { return true; } - System.out.println(status); + System1.out.println(status); bw.close(); inputStream.close(); clientSocket.close(); @@ -119,7 +117,7 @@ try { if (!relayServerUtilThread.isRunning) { relayServerUtilThread.isRunning = true; - relayServerUtilExecutorService.execute(relayServerUtilThread); + relayServerUtilThread.start(); } } catch (Exception e) { relayServerUtilThread.isRunning = false; diff --git a/app/src/main/java/com/basic/security/utils/socket/RelayServerUtil2.java b/app/src/main/java/com/basic/security/utils/socket/RelayServerUtil2.java index ec08a74..da4c4eb 100644 --- a/app/src/main/java/com/basic/security/utils/socket/RelayServerUtil2.java +++ b/app/src/main/java/com/basic/security/utils/socket/RelayServerUtil2.java @@ -28,7 +28,7 @@ "echo out > /sys/class/gpio/gpio12/direction ", "echo 0 > /sys/class/gpio/gpio12/value " ); - System.out.println(commandResult); + System1.out.println(commandResult); } { CommandResult commandResult = Shell.SU.run("cd /sys/class/gpio/", @@ -36,9 +36,9 @@ "echo out > /sys/class/gpio/gpio157/direction ", "echo 1 > /sys/class/gpio/gpio157/value " ); - System.out.println(commandResult); + System1.out.println(commandResult); } -// System.out.println("RelayServerUtil2.run 寮�闂�"); +// System1.out.println("RelayServerUtil2.run 寮�闂�"); } } if (System.currentTimeMillis() - lastOpenDoorThread > BaseSettingManager.getOpenDoorDurationSeconds() * 1000) { @@ -56,7 +56,7 @@ "echo 0 > /sys/class/gpio/gpio157/value " ); } -// System.out.println("RelayServerUtil2.run 鍏抽棬"); +// System1.out.println("RelayServerUtil2.run 鍏抽棬"); } } catch (Exception e) { e.printStackTrace(); @@ -71,7 +71,7 @@ synchronized (openDoorThreadQueue) { openDoorThreadQueue.add(System.currentTimeMillis() + ""); } -// System.out.println("RelayServerUtil2.open"); +// System1.out.println("RelayServerUtil2.open"); // IOUtil.initIOUtil().openUNLOCK(); return true; // } else { @@ -97,7 +97,7 @@ // String ret = ""; // while ((len = inputStream.read(buff)) != -1) { // ret = new String(buff, "UTF-8"); -// System.out.println(ret); +// System1.out.println(ret); // Log.e("test111", ret); // break; // } @@ -109,13 +109,13 @@ // outputStream.flush(); // while ((len = inputStream.read(buff)) != -1) { // ret = new String(buff, "ISO8859-1"); -//// System.out.println(ret); +//// System1.out.println(ret); // Log.e("test222", ret); // break; // } // } catch (Exception e) { //// e.printStackTrace(); -//// System.out.println("RelayServerUtil2.open " + e.getMessage()); +//// System1.out.println("RelayServerUtil2.open " + e.getMessage()); // } finally { // try { // if (outputStream != null) { diff --git a/app/src/main/java/com/basic/security/utils/socket/indoor/IndoorGuestSocketClient.java b/app/src/main/java/com/basic/security/utils/socket/indoor/IndoorGuestSocketClient.java index 27d19d1..c37a9c6 100644 --- a/app/src/main/java/com/basic/security/utils/socket/indoor/IndoorGuestSocketClient.java +++ b/app/src/main/java/com/basic/security/utils/socket/indoor/IndoorGuestSocketClient.java @@ -44,13 +44,14 @@ boolean reConnectSocket; SocketUtil socketUtil = new SocketUtil(); while (true) { -// System.out.println("GuestSocketClient.run 1"); +// System1.out.println("GuestSocketClient.run 1"); try { lastUpdateTime = System.currentTimeMillis(); reConnectSocket = false; try { String outdoorServerIp = ""; List<String> outdoorDeviceIpList = RemoteOutdoorManager.getOutdoorDeviceIp(); +// System1.out.println("IndoorGuestSocketClient.run outdoorDeviceIpList="+outdoorDeviceIpList); if (outdoorDeviceIpList.size() > 0) { outdoorServerIp = outdoorDeviceIpList.get(0); } @@ -59,8 +60,9 @@ continue; } serverIp = outdoorServerIp; +// System1.out.println("IndoorGuestSocketClient.run serverIp="+serverIp); } catch (Exception e) { - System.out.println("GuestSocketClient.run 1 " + e.getMessage()); + System1.out.println("GuestSocketClient.run 1 " + e.getMessage()); SystemClock.sleep(1000); continue; } @@ -74,7 +76,9 @@ MainActivity activity = BaseApplication.getApplication().activity; activity.runOnUiThread(() -> { try { - FragmentUtil.guestModeFragment().camera1.setImageBitmap(image); +// System1.out.println("IndoorGuestSocketClient.onBitmap "); + activity.fragment_camera.camera2.setImageBitmap(image); +// FragmentUtil.guestModeFragment().camera1.setImageBitmap(image); } catch (Exception e) { e.printStackTrace(); } @@ -92,6 +96,7 @@ Type listType = new TypeToken<List<Map<String, String>>>() { }.getType(); List<Map<String, String>> faces = new Gson().fromJson(facePositionsJson, listType); +// System1.out.println("IndoorGuestSocketClient.detectFace " + faces + " " + guestListCameraType + " facePositionsJson="+facePositionsJson); FragmentUtil.guestModeFragment().addGuestList(faces, guestListCameraType, image, featureArray); } } catch (Exception e) { @@ -100,7 +105,7 @@ } }); while (!Thread.currentThread().isInterrupted() && !reConnectSocket) { -// System.out.println("GuestSocketClient.run 6"); +// System1.out.println("GuestSocketClient.run 6"); lastUpdateTime = System.currentTimeMillis(); Map<String, String> requestMap = new HashMap<>(); requestMap.put(RemoteCameraMessage.requestFrame, BaseApplication.getApplication().activity.requestFrame()); @@ -150,9 +155,9 @@ } catch (Exception e) { if (e instanceof NoRouteToHostException) { } else { - System.out.println("GuestSocketClient.run 3 " + e.getMessage()); + System1.out.println("GuestSocketClient.run 3 " + e.getMessage()); } - SystemClock.sleep(1000); + SystemClock.sleep(3000); } finally { socketUtil.close(); } diff --git a/app/src/main/java/com/basic/security/utils/socket/outdoor/OutdoorGuestSocketServer.java b/app/src/main/java/com/basic/security/utils/socket/outdoor/OutdoorGuestSocketServer.java index 0541f7c..cd7ef7c 100644 --- a/app/src/main/java/com/basic/security/utils/socket/outdoor/OutdoorGuestSocketServer.java +++ b/app/src/main/java/com/basic/security/utils/socket/outdoor/OutdoorGuestSocketServer.java @@ -6,7 +6,6 @@ import com.basic.security.manager.DeviceManager; import com.basic.security.model.GuestMessage; import com.basic.security.model.ModelAdapter; -import com.basic.security.receiver.WebRtcBroadCastReceiver; import com.basic.security.utils.CompareFeatureResult; import com.basic.security.utils.Constants; import com.basic.security.utils.DetectedResult; @@ -76,7 +75,7 @@ boolean detectedResultChangedByTrackId = detectedResultChangedByTrackId(detectedResult); if (System.currentTimeMillis() - lastSetDetectedResult > 3 * 1000 || detectedResultChangedByTrackId) { if (Constants.indoorOutdoorInOne) { -// System.out.println("GuestAcceptedClient.setDetectedResult"); +// System1.out.println("GuestAcceptedClient.setDetectedResult"); BaseApplication.getApplication().activity.fragment_guest_mode.addGuestListS(detectedResult); } acceptedClientListLock.lock(); @@ -137,7 +136,7 @@ mLastFrame = detectedResultQueue.poll(); } } -// System.out.println("GuestAcceptedClient.getDetectedResult " + mLastFrame); +// System1.out.println("GuestAcceptedClient.getDetectedResult " + mLastFrame); return mLastFrame; } @@ -236,6 +235,8 @@ map.put(GuestMessage.frameJpgOrYuv, frameJpgOrYuv); map.put(GuestMessage.frameJpgLength, frameJpgLength + ""); map.put(GuestMessage.hasFrameData, hasFrameData); +// map.put(Constants.webRtcClientConnected, WebRtcBroadCastReceiver.webRtcClientConnected ? Constants.TRUE : Constants.FALSE); +// map.put(Constants.webRtcServerStarted, allowed && WebRtcBroadCastReceiver.webRtcServerStarted ? Constants.TRUE : Constants.FALSE); map.put(GuestMessage.deviceId, DeviceManager.getDeviceId()); socketUtil.writeMap(map); if (Constants.TRUE.equals(hasFrameData)) { diff --git a/app/src/main/java/com/basic/security/utils/socket/outdoor/OutdoorSendIpSocketClientFromBaseSetting.java b/app/src/main/java/com/basic/security/utils/socket/outdoor/OutdoorSendIpSocketClientFromBaseSetting.java index e20af13..d847586 100644 --- a/app/src/main/java/com/basic/security/utils/socket/outdoor/OutdoorSendIpSocketClientFromBaseSetting.java +++ b/app/src/main/java/com/basic/security/utils/socket/outdoor/OutdoorSendIpSocketClientFromBaseSetting.java @@ -1,5 +1,7 @@ package com.basic.security.utils.socket.outdoor; +import android.os.SystemClock; + import com.basic.security.manager.BaseSettingManager; import com.basic.security.manager.DeviceManager; import com.basic.security.model.Outdoor; @@ -28,7 +30,7 @@ while (true) { try { serverIp = BaseSettingManager.getIndoorDeviceIp(); -// System.out.println("OutdoorSocketClient.run getIndoorDeviceIp=" + serverIp); +// System1.out.println("OutdoorSocketClient.run getIndoorDeviceIp=" + serverIp); socketUtil.openSocket(serverIp, Constants.indoorServerPort); while (true) { synchronized (lock) { @@ -56,11 +58,12 @@ outdoorInfoMap.put(Outdoor.valid, valid); outdoorInfoMap.put(Outdoor.outdoor_device_name, DeviceManager.getDeviceName()); socketUtil.writeMap(outdoorInfoMap); -// System.out.println("OutdoorSocketClient.run " + outdoorInfoMap); +// System1.out.println("OutdoorSocketClient.run " + outdoorInfoMap); } } catch (Exception e) { - e.printStackTrace(); -// SystemClock.sleep(10*1000); +// e.printStackTrace(); + System1.out.println("OutdoorSendIpSocketClientFromBaseSetting.run " + e.getMessage()); + SystemClock.sleep(2 * 1000); } finally { socketUtil.close(); } diff --git a/app/src/main/java/com/basic/security/utils/socket/server/TableRowReceiveSocketServer.java b/app/src/main/java/com/basic/security/utils/socket/server/TableRowReceiveSocketServer.java index 8d9c4c5..cda0365 100644 --- a/app/src/main/java/com/basic/security/utils/socket/server/TableRowReceiveSocketServer.java +++ b/app/src/main/java/com/basic/security/utils/socket/server/TableRowReceiveSocketServer.java @@ -4,6 +4,7 @@ import com.basic.security.base.BaseApplication; import com.basic.security.manager.BaseManager; +import com.basic.security.manager.FeatureManager; import com.basic.security.manager.GuestManager; import com.basic.security.manager.OrgManager; import com.basic.security.manager.PersonManager; @@ -12,9 +13,9 @@ import com.basic.security.model.ModelAdapter; import com.basic.security.model.Person; import com.basic.security.model.PersonSocket; +import com.basic.security.model.Sync; import com.basic.security.utils.Constants; import com.basic.security.utils.DetectedResult; -import com.basic.security.utils.FaceId; import com.basic.security.utils.ObjectUtil; import com.basic.security.utils.SocketUtil; @@ -90,21 +91,23 @@ if (camera_image_path_byte_array != null && camera_image_path_byte_array.length > 0) { modelAdapter.setBlob(Person.camera_image_path, camera_image_path_byte_array); } - FaceId.instance.addFeatureToDb(modelAdapter.getString(Person.id), modelAdapter.getBlob(Person.camera_image_feature)); + GuestManager.updateGuestName(modelAdapter); + FeatureManager.addFeature(modelAdapter.getString(Person.id), modelAdapter.getBlob(Person.camera_image_feature)); } -// System.out.println("PersonAcceptedClient.run 1 " + modelAdapter); +// System1.out.println("PersonAcceptedClient.run 1 " + modelAdapter); if (IdCard.tableName.equals(table)) { byte[] jpgData = (byte[]) modelAdapter.model.get(IdCardMessage.jpgData); if (jpgData != null && jpgData.length > 0) { try { String idCardPath = Constants.attachmentPath + modelAdapter.getString(IdCard.card_number) + ".jpg"; - System.out.println("PersonAcceptedClient.run idCardPath=" + idCardPath); + System1.out.println("PersonAcceptedClient.run idCardPath=" + idCardPath); IOUtils.write(jpgData, new FileOutputStream(idCardPath)); } catch (Exception e) { e.printStackTrace(); } } } + modelAdapter.setString(Sync.needSync, Constants.FALSE); BaseManager.save(modelAdapter); socketUtil.writeResponseSuccess(); } @@ -113,12 +116,17 @@ String table = modelAdapter.getString(Constants.TABLE); if (Person.tableName.equals(table)) { String personId = modelAdapter.getString(Person.id); - FaceId.instance.removeFeatureFromDb(personId); + FeatureManager.removeFeature(personId); if (Constants.isIndoor) { GuestManager.removePersonId(personId); } } - BaseManager.delete(modelAdapter); + modelAdapter.setString(Sync.needSync, Constants.FALSE); + if (Person.tableName.equals(table) && !Constants.deletePersonPhysical) { + BaseManager.deleteWithDelFlag(modelAdapter); + } else { + BaseManager.deletePhysically(modelAdapter); + } socketUtil.writeResponseSuccess(); } if (PersonSocket.signal.equals(requestType)) { @@ -127,6 +135,7 @@ if (PersonSocket.signalInitTreeNodeList.equals(signalValue)) { OrgManager.initTreeNodeList(); } + modelAdapter.setString(Sync.needSync, Constants.FALSE); socketUtil.writeResponseSuccess(); } if (PersonSocket.findPersonById.equals(requestType)) { @@ -140,7 +149,7 @@ } personByteArray = ObjectUtil.toByteArray(person.model);//SerializationUtils.serialize(person); Map<String, Object> newPerson = (Map<String, Object>) ObjectUtil.toObject(personByteArray);//SerializationUtils.deserialize(personByteArray); -// System.out.println("PersonAcceptedClient.run findPersonById=" + newPerson); +// System1.out.println("PersonAcceptedClient.run findPersonById=" + newPerson); } Map<String, String> responseMap = new HashMap<>(); responseMap.put(PersonSocket.modelMapByteArrayLength, personByteArray.length + ""); diff --git a/app/src/main/java/com/basic/security/widget/CircleTextView.java b/app/src/main/java/com/basic/security/widget/CircleTextView.java index 3adb537..5345713 100644 --- a/app/src/main/java/com/basic/security/widget/CircleTextView.java +++ b/app/src/main/java/com/basic/security/widget/CircleTextView.java @@ -36,7 +36,7 @@ // if (value.startsWith("@")) { // value = value.substring(1); // String resourceName = BaseApplication.getApplication().activity.getResources().getResourceName(Integer.parseInt(value)); -// System.out.println("CircleTextView.initView " + name + "=" + resourceName); +// System1.out.println("CircleTextView.initView " + name + "=" + resourceName); // } // } } diff --git a/app/src/main/java/com/basic/security/widget/CircleView.java b/app/src/main/java/com/basic/security/widget/CircleView.java index c54ce41..a7361f7 100644 --- a/app/src/main/java/com/basic/security/widget/CircleView.java +++ b/app/src/main/java/com/basic/security/widget/CircleView.java @@ -156,7 +156,7 @@ anim.setInterpolator(new LinearInterpolator()); anim.addUpdateListener(animation -> { if (System.currentTimeMillis() - lastTime > 85) { -// System.out.println("CircleView.startAnimation " + (System.currentTimeMillis() - lastTime)); +// System1.out.println("CircleView.startAnimation " + (System.currentTimeMillis() - lastTime)); lastTime = System.currentTimeMillis(); startAngle += 10; value = (Float) animation.getAnimatedValue(); diff --git a/app/src/main/java/com/basic/security/widget/FileChooserDialog.java b/app/src/main/java/com/basic/security/widget/FileChooserDialog.java index 7f85980..08e00ce 100644 --- a/app/src/main/java/com/basic/security/widget/FileChooserDialog.java +++ b/app/src/main/java/com/basic/security/widget/FileChooserDialog.java @@ -2,6 +2,7 @@ import android.app.Dialog; import android.content.Context; +import android.graphics.Color; import android.os.Bundle; import android.util.DisplayMetrics; import android.view.LayoutInflater; @@ -31,7 +32,7 @@ public List<File> files = new ArrayList<>(); public FileAdapter fileAdapter = new FileAdapter(); public SimpleDateFormat _formatter = new SimpleDateFormat("yyyy骞碝M鏈坉d鏃� HH鏃秏m鍒唖s绉�"); - public View internalStorage, externalStorage, parent; + public TextView internalStorage, externalStorage, parent; public String selectedDir = ""; private Context context; private String title; @@ -68,12 +69,16 @@ internalStorage.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { + externalStorage.setTextColor(Color.WHITE); + internalStorage.setTextColor(Color.parseColor("#4BA6AD")); listDir("/sdcard/"); } }); externalStorage.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { + internalStorage.setTextColor(Color.WHITE); + externalStorage.setTextColor(Color.parseColor("#4BA6AD")); listUsb(); } }); @@ -121,6 +126,8 @@ if (file1.canRead()) { if (externalStorage != null) { externalStorage.setVisibility(View.VISIBLE); + internalStorage.setTextColor(Color.WHITE); + externalStorage.setTextColor(Color.parseColor("#4BA6AD")); } listDir(file1.getAbsolutePath()); return; @@ -129,6 +136,8 @@ } } externalStorage.setVisibility(View.GONE); + externalStorage.setTextColor(Color.WHITE); + internalStorage.setTextColor(Color.parseColor("#4BA6AD")); listDir("/sdcard/"); } catch (Exception e) { e.printStackTrace(); @@ -136,7 +145,7 @@ } private void listDir(String path) { -// System.out.println("FileChooserDialog.listDir"); +// System1.out.println("FileChooserDialog.listDir"); try { File file = new File(path); if (file.isDirectory()) { @@ -147,7 +156,7 @@ currentPath.setText(path); files.clear(); File[] fileArray = file.listFiles(); -// System.out.println("FileChooserDialog.listDir " + path + " " + fileArray); +// System1.out.println("FileChooserDialog.listDir " + path + " " + fileArray); if (fileArray != null) { for (File file1 : fileArray) { if (file1.canRead() diff --git a/app/src/main/java/com/basic/security/widget/ImageView1.java b/app/src/main/java/com/basic/security/widget/ImageView1.java index 6e24443..43bb570 100644 --- a/app/src/main/java/com/basic/security/widget/ImageView1.java +++ b/app/src/main/java/com/basic/security/widget/ImageView1.java @@ -5,8 +5,6 @@ import android.util.AttributeSet; import android.widget.ImageView; -import com.basic.security.utils.FrameUtil; - public class ImageView1 extends ImageView { public ImageView1(Context context) { super(context); @@ -27,6 +25,6 @@ @Override public void setVisibility(int visibility) { super.setVisibility(visibility); -// System.out.println("ImageView1.setVisibility visibility=" + (VISIBLE == visibility) + FrameUtil.getFrames()); +// System1.out.println("ImageView1.setVisibility visibility=" + (VISIBLE == visibility) + FrameUtil.getFrames()); } } diff --git a/app/src/main/java/com/basic/security/widget/MyTextView.java b/app/src/main/java/com/basic/security/widget/MyTextView.java index dce8120..9ec0c86 100644 --- a/app/src/main/java/com/basic/security/widget/MyTextView.java +++ b/app/src/main/java/com/basic/security/widget/MyTextView.java @@ -49,7 +49,7 @@ } public void setText1(CharSequence text) { -// System.out.println("MyTextView.setText1 text="+ text + FrameUtil.getFrames()); +// System1.out.println("MyTextView.setText1 text="+ text + FrameUtil.getFrames()); super.setText(text); } } diff --git a/app/src/main/java/com/basic/security/widget/Preview.java b/app/src/main/java/com/basic/security/widget/Preview.java index 8e7bf18..74e539f 100644 --- a/app/src/main/java/com/basic/security/widget/Preview.java +++ b/app/src/main/java/com/basic/security/widget/Preview.java @@ -21,8 +21,6 @@ import com.basic.security.utils.RotateUtil; import com.basic.security.utils.socket.RelaySocketServer; import com.basic.security.utils.socket.outdoor.OutdoorGuestSocketServer; -import com.basic.security.utils.socket.server.TableRowReceiveSocketServer; - import java.io.ByteArrayOutputStream; import java.io.File; @@ -65,7 +63,7 @@ } public void surfaceCreated(final SurfaceHolder holder) { -// System.out.println("Preview.surfaceCreated rgb_gray_camera="+rgb_gray_camera); +// System1.out.println("Preview.surfaceCreated rgb_gray_camera="+rgb_gray_camera); // if (1 == 1) { // return; // } @@ -101,7 +99,7 @@ byte[] grayBgrData = getMostMatchGrayBgrData(); if (grayBgrData != null) { try { - System.out.println("Preview.surfaceCreated grayThread"); + System1.out.println("Preview.surfaceCreated grayThread"); grayThread.onPreviewFrame(grayBgrData, camera, Constants.GRAY_CAMERA); grayExecutorService.execute(grayThread); } catch (Exception e) { @@ -145,16 +143,17 @@ mOrientationListener.disable(); } } catch (Exception exception) { - System.out.println("Preview.surfaceCreated " + exception.getMessage()); + System1.out.println("Preview.surfaceCreated " + exception.getMessage()); if (mCamera != null) { mCamera.release(); mCamera = null; } + mFinished = true; } } public void updateGrayBgrData(byte[] data) { -// System.out.println("Preview.updateGrayBgrData " + data); +// System1.out.println("Preview.updateGrayBgrData " + data); grayCameraData = data; grayCameraDataLastTimeUpdate = System.currentTimeMillis(); } @@ -181,6 +180,9 @@ } public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) { + if (mFinished) { + return; + } // if (1 == 1) { // return; // } @@ -212,7 +214,7 @@ parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO); mCamera.setParameters(parameters); } catch (Exception ex) { -// System.out.println("Preview.surfaceChanged " + ex.getMessage()); +// System1.out.println("Preview.surfaceChanged " + ex.getMessage()); } parameters = mCamera.getParameters(); Camera.Size previewSize = parameters.getPreviewSize(); @@ -236,7 +238,7 @@ init1(context, rgb_gray_camera, detectListener); return; } -// System.out.println("Preview.init " + rgb_gray_camera); +// System1.out.println("Preview.init " + rgb_gray_camera); if (rgb_gray_camera == Constants.RGB_CAMERA) { Preview.rgbPreview = this; RelaySocketServer.startSocketServer(); @@ -294,14 +296,14 @@ if (Constants.indoorOutdoorInOne) { // RotateUtil.mirror(data, mDraw.mImageWidth, mDraw.mImageHeight); } -// System.out.println("SecondDisplayRunnable.run 0 "); +// System1.out.println("SecondDisplayRunnable.run 0 "); // int yuvStrides[] = {mDraw.mImageWidth, mDraw.mImageWidth/2, mDraw.mImageWidth/2}; // VideoRenderer.I420Frame i420Frame = new VideoRenderer.I420Frame(mDraw.mImageWidth, mDraw.mImageHeight, yuvStrides, // RotateUtil.nv21ToI420(data, mDraw.mImageWidth, mDraw.mImageHeight)); // if ( BaseApplication.getApplication().activity.secondaryDisplay != null) { -//// System.out.println("SecondDisplayRunnable.run 1 " + BaseApplication.getApplication().activity.secondaryDisplay); +//// System1.out.println("SecondDisplayRunnable.run 1 " + BaseApplication.getApplication().activity.secondaryDisplay); // if(BaseApplication.getApplication().activity.secondaryDisplay.yuvImageRenderer != null) { -//// System.out.println("SecondDisplayRunnable.run 2 " + BaseApplication.getApplication().activity.secondaryDisplay.yuvImageRenderer); +//// System1.out.println("SecondDisplayRunnable.run 2 " + BaseApplication.getApplication().activity.secondaryDisplay.yuvImageRenderer); // BaseApplication.getApplication().activity.secondaryDisplay.yuvImageRenderer.setSize(mDraw.mImageWidth, mDraw.mImageHeight); // BaseApplication.getApplication().activity.secondaryDisplay.yuvImageRenderer.renderFrame(i420Frame); // } @@ -389,7 +391,7 @@ long begin = System.currentTimeMillis(); // byte[] dataBGR = new byte[640*480*3]; // dataBGR = FaceId.instance.yuv420p2rgb24(data, dataBGR,480, 640); -// System.out.println("MyThread.run " + (System.currentTimeMillis() - begin)); +// System1.out.println("MyThread.run " + (System.currentTimeMillis() - begin)); // YuvImage im = new YuvImage(data, ImageFormat.NV21, mDraw.mImageWidth, // mDraw.mImageHeight, null); // Rect r = new Rect(0, 0, mDraw.mImageWidth, mDraw.mImageHeight); @@ -434,7 +436,7 @@ // bitmap = bitmapHolder.getBitmapAndFree(); // jpgBaos.reset(); // if (bitmap == null) { -// System.out.println("MyThread.run bitmap=" + bitmap); +// System1.out.println("MyThread.run bitmap=" + bitmap); // isRunning = false; // return; // } diff --git a/app/src/main/java/com/basic/security/widget/PreviewBase.java b/app/src/main/java/com/basic/security/widget/PreviewBase.java index 840a046..7875769 100644 --- a/app/src/main/java/com/basic/security/widget/PreviewBase.java +++ b/app/src/main/java/com/basic/security/widget/PreviewBase.java @@ -63,14 +63,14 @@ @Override public void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture, int width, int height) { -// System.out.println("PreviewBase.onSurfaceTextureAvailable"); +// System1.out.println("PreviewBase.onSurfaceTextureAvailable"); mFinished = false; try { mCamera = Camera.open(rgb_gray_camera); Camera.Parameters parameters = mCamera.getParameters(); parameters.setPreviewSize(640, 480); if (null == mCamera) { - System.out.println("Preview.onSurfaceTextureAvailable no front facing camera "); + System1.out.println("Preview.onSurfaceTextureAvailable no front facing camera "); } /* This doesn't work @@ -94,7 +94,7 @@ /* Tell the camera to write onto our textureView mTextureView */ mCamera.setPreviewTexture(surfaceTexture); mCamera.setPreviewCallback((data, camera) -> { -// System.out.println("PreviewBase.onSurfaceTextureAvailable setPreviewCallback"); +// System1.out.println("PreviewBase.onSurfaceTextureAvailable setPreviewCallback"); lastTimeOnPreviewFrame = System.currentTimeMillis(); if (Constants.indoorOutdoorInOne) { if (secondDisplayRunnable.isNotRunning()) { @@ -109,14 +109,14 @@ try { if (rgb_gray_camera == Constants.RGB_CAMERA) { OutdoorGuestSocketServer.setCameraData(data); -// System.out.println("PreviewBase.onSurfaceTextureAvailable 0"); +// System1.out.println("PreviewBase.onSurfaceTextureAvailable 0"); if (BaseApplication.getApplication().activity != null && BaseApplication.getApplication().activity.shouldDetectFace()) { -// System.out.println("PreviewBase.onSurfaceTextureAvailable 1"); +// System1.out.println("PreviewBase.onSurfaceTextureAvailable 1"); if (!((Preview) PreviewBase.this).rgbThread.isRunning) { if (Constants.USE_GRAY_CAMERA) { byte[] grayBgrData = ((Preview) PreviewBase.this).getMostMatchGrayBgrData(); -// System.out.println("PreviewBase.onSurfaceTextureAvailable 2 grayBgrData="+grayBgrData); +// System1.out.println("PreviewBase.onSurfaceTextureAvailable 2 grayBgrData="+grayBgrData); if (grayBgrData != null) { try { ((Preview) PreviewBase.this).grayThread.onPreviewFrame(grayBgrData, camera, Constants.GRAY_CAMERA); @@ -129,7 +129,7 @@ } ((Preview) PreviewBase.this).rgbThread.isRunning = true; ((Preview) PreviewBase.this).rgbThread.onPreviewFrame(data, camera, Constants.RGB_CAMERA); -// System.out.println("PreviewBase.onSurfaceTextureAvailable rgbExecutorService.execute(((Preview) PreviewBase.this).rgbThread)"); +// System1.out.println("PreviewBase.onSurfaceTextureAvailable rgbExecutorService.execute(((Preview) PreviewBase.this).rgbThread)"); rgbExecutorService.execute(((Preview) PreviewBase.this).rgbThread); } } @@ -144,12 +144,14 @@ mCamera.startPreview(); } catch (IOException ioe) { Log.e("camera-reverse", ioe.getMessage()); + mCamera = null; + mFinished = true; } } @Override public void onSurfaceTextureSizeChanged(SurfaceTexture surfaceTexture, int width, int height) { -// System.out.println("PreviewBase.onSurfaceTextureSizeChanged"); +// System1.out.println("PreviewBase.onSurfaceTextureSizeChanged"); Matrix matrix = new Matrix(); matrix.setScale(-1, 1); //move it back to in view otherwise it'll be off to the left. @@ -160,22 +162,26 @@ mCamera.setPreviewTexture(surfaceTexture); } catch (IOException e) { e.printStackTrace(); + mCamera = null; + mFinished = true; + } } @Override public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) { -// System.out.println("PreviewBase.onSurfaceTextureDestroyed"); +// System1.out.println("PreviewBase.onSurfaceTextureDestroyed"); mFinished = true; if (null != mCamera) { mCamera.stopPreview(); mCamera.release(); + mCamera = null; } return true; } @Override public void onSurfaceTextureUpdated(SurfaceTexture surface) { -// System.out.println("PreviewBase.onSurfaceTextureUpdated"); +// System1.out.println("PreviewBase.onSurfaceTextureUpdated"); } } diff --git a/app/src/main/java/com/basic/security/widget/RecognizeFaceInfoView.java b/app/src/main/java/com/basic/security/widget/RecognizeFaceInfoView.java index 8263c25..8db3239 100644 --- a/app/src/main/java/com/basic/security/widget/RecognizeFaceInfoView.java +++ b/app/src/main/java/com/basic/security/widget/RecognizeFaceInfoView.java @@ -13,7 +13,6 @@ import com.basic.security.activity.MainActivity; import com.basic.security.base.BaseApplication; -import com.basic.security.fragment.DoorAccessResultFragment; import com.basic.security.manager.FaceTitleAndTipsManager; import com.basic.security.manager.HintDoorAccessManager; import com.basic.security.manager.HintSignUpManager; @@ -26,7 +25,7 @@ public class RecognizeFaceInfoView extends FrameLayout { LinearLayout recognized_face_info_view_layout; - MyTextView face_title, tipsTxt; + MyTextView face_title, tipsTxt, face_title_top; FaceOuterBorderView face_border; BaseShapeView scanner_view; TextView face_background; @@ -46,23 +45,10 @@ initView(); } - public void setMeasuredDimension1(int measuredWidth, int measuredHeight) { - setMeasuredDimension(measuredWidth, measuredHeight); - } - - @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - super.onMeasure(widthMeasureSpec, heightMeasureSpec); - } - - @Override - protected void onLayout(boolean changed, int left, int top, int right, int bottom) { - super.onLayout(changed, left, top, right, bottom); - } - private void initView() { View view = inflate(getContext(), com.basic.security.utils.ResolutionAdaptation.recognized_face_info_view(), null); recognized_face_info_view_layout = view.findViewById(com.basic.security.utils.RUtils.R_id_recognized_face_info_view_layout); + face_title_top = view.findViewById(com.basic.security.utils.RUtils.R_id_face_title_top); face_title = view.findViewById(com.basic.security.utils.RUtils.R_id_face_title); tipsTxt = view.findViewById(com.basic.security.utils.RUtils.R_id_tipsTxt); scanner_view = view.findViewById(com.basic.security.utils.RUtils.R_id_scanner_view); @@ -85,7 +71,7 @@ face_title.setTextColor(Color.GREEN); face_border.setBorderColor(Color.GREEN); if (CurrentBase.activity.currentFragment == CurrentBase.activity.fragment_door_access_result) { - if ("寮�闂ㄦ垚鍔�".equals(((DoorAccessResultFragment) CurrentBase.activity.fragment_door_access_result).openDoorTitle())) { + if ("寮�闂ㄦ垚鍔�".equals((CurrentBase.activity.fragment_door_access_result).openDoorTitle())) { face_title.setTextColor1(Color.parseColor("#00FF00")); face_border.setBorderColor1(Color.parseColor("#00FF00")); } else { @@ -156,6 +142,10 @@ face_title.setText(HintDoorAccessManager.getNoRegisterHint()); } } + if (faceTitle.equals(HintSignUpManager.getAdminLogoutHint())) { + face_title.setTextColor1(Color.RED); + face_border.setBorderColor1(Color.RED); + } if (faceTitleAndTips.facePosition != null && Constants.USE_GRAY_CAMERA && !facePosition.liveness) { face_title.setTextColor1(Color.RED); face_border.setBorderColor1(Color.RED); @@ -171,14 +161,28 @@ } } float faceHeight = (facePosition.sy2 - facePosition.sy1) * (cameraViewHeight / pictureHeight); - RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams((int) faceWidth, (int) faceHeight); + RelativeLayout.LayoutParams layoutParams = null; + if (scanner_view instanceof CircleView) { + double face_title_top_height = (faceHeight - faceWidth) * 0.5; + if (face_title_top_height < 0) { + face_title_top_height = 0; + } + + face_title_top.setVisibility(VISIBLE); + ViewGroup.LayoutParams layoutParams3 = face_title_top.getLayoutParams(); + layoutParams3.height = (int) (face_title_top_height / 2); + face_title_top.setLayoutParams(layoutParams3); + double newFaceHeight = faceHeight - face_title_top_height; + layoutParams = new RelativeLayout.LayoutParams((int) faceWidth, (int) newFaceHeight); + } else { + layoutParams = new RelativeLayout.LayoutParams((int) faceWidth, (int) faceHeight); + } + RelativeLayout.LayoutParams layoutParams1 = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); layoutParams1.setMargins((int) faceLeft, (int) (top), 0, 0); recognized_face_info_view_layout.setLayoutParams(layoutParams1); face_border.setLineLong((int) (Math.min(faceWidth, faceHeight) * 0.3)); - // 杩斿洖宸叉敞鍐岋紝鏈敞鍐� -// face_border.setLiveness(facePosition.liveness); face_border.setLayoutParams(layoutParams); scanner_view.setLayoutParams(layoutParams); face_background.setLayoutParams(layoutParams); diff --git a/app/src/main/java/com/basic/security/widget/RecognizeFaceInfoViewS.java b/app/src/main/java/com/basic/security/widget/RecognizeFaceInfoViewS.java index 3b912e6..8296d63 100644 --- a/app/src/main/java/com/basic/security/widget/RecognizeFaceInfoViewS.java +++ b/app/src/main/java/com/basic/security/widget/RecognizeFaceInfoViewS.java @@ -26,7 +26,7 @@ public class RecognizeFaceInfoViewS extends FrameLayout { LinearLayout recognized_face_info_view_layout; - MyTextView face_title, tipsTxt; + MyTextView face_title, tipsTxt, face_title_top; FaceOuterBorderView face_border; BaseShapeView scanner_view; TextView face_background; @@ -63,6 +63,7 @@ private void initView() { View view = inflate(getContext(), com.basic.security.utils.ResolutionAdaptation.recognized_face_info_view(), null); recognized_face_info_view_layout = view.findViewById(com.basic.security.utils.RUtils.R_id_recognized_face_info_view_layout); + face_title_top = view.findViewById(com.basic.security.utils.RUtils.R_id_face_title_top); face_title = view.findViewById(com.basic.security.utils.RUtils.R_id_face_title); tipsTxt = view.findViewById(com.basic.security.utils.RUtils.R_id_tipsTxt); scanner_view = view.findViewById(com.basic.security.utils.RUtils.R_id_scanner_view); @@ -78,76 +79,81 @@ MainActivity mainActivity = (MainActivity) BaseApplication.getApplication().activity; FaceTitleAndTipsS faceTitleAndTips = FaceTitleAndTipsManagerS.getFaceTitleMap(facePosition, true); String faceTitle = faceTitleAndTips.getFaceTitle(); - face_title.setText(faceTitle); - tipsTxt.setText(faceTitleAndTips.getTipsTxt()); - tipsTxt.setTextColor1(Color.GREEN); - tipsTxt.setTextColor(Color.GREEN); - if (faceTitleAndTips.getFaceTitleColor().equals("#00FF00")) { - face_title.setTextColor(Color.GREEN); - face_border.setBorderColor(Color.GREEN); - } else { - face_title.setTextColor(Color.RED); - face_border.setBorderColor(Color.RED); - } - if (CurrentBase.activity.currentFragment == CurrentBase.activity.fragment_door_access_result) { - if ("寮�闂ㄦ垚鍔�".equals(((DoorAccessResultFragment) CurrentBase.activity.fragment_door_access_result).openDoorTitle())) { - face_title.setTextColor1(Color.parseColor("#00FF00")); - face_border.setBorderColor1(Color.parseColor("#00FF00")); - } else { - face_title.setTextColor1(Color.parseColor("#FF0000")); - face_border.setBorderColor1(Color.parseColor("#FF0000")); - } - } else { - face_title.setTextColor1(Color.parseColor(faceTitleAndTips.getFaceTitleColor())); - face_border.setBorderColor1(Color.parseColor(faceTitleAndTips.getFaceBorderColor())); - } - ModelAdapter currentPositionPerson = faceTitleAndTips.person; - if (mainActivity.currentFragment == mainActivity.fragment_guest_mode) { - if (currentPositionPerson == null || "鏈敞鍐�".equals(currentPositionPerson.getString(Person.sign_up_status))) { - face_title.setTextColor1(Color.RED); - face_border.setBorderColor1(Color.RED); - face_title.setText(HintDoorAccessManager.getNoRegisterHint()); - } - } - if (mainActivity.currentFragment == mainActivity.fragment_su_auto_wait_face - || mainActivity.currentFragment == mainActivity.fragment_door_access_result - ) { - if (face_title.getCurrentTextColor1() == Color.RED) { - if (!faceTitle.equals(HintSignUpManager.getAdminLogoutHint()) - && !faceTitle.contains(HintDoorAccessManager.getSignUpRuleDoorAccessTimeDeniedMessage(null)) - && !faceTitle.equals("璁垮") - ) { - face_title.setText(""); - } - } - if (TextUtils.isEmpty(face_title.getText())) { - face_title.setTextColor1(Color.RED); - face_border.setBorderColor1(Color.RED); - } - if (face_title.getCurrentTextColor1() == Color.GREEN) { - tipsTxt.setText(""); - } - } else { - if (TextUtils.isEmpty(face_title.getText()) - || "鏈敞鍐�".equals(face_title.getText()) - || HintDoorAccessManager.getNoRegisterHint().equals(face_title.getText()) - || faceTitle.endsWith(HintDoorAccessManager.getSignUpRuleDoorAccessTimeDeniedMessage(null)) - || faceTitle.endsWith(HintDoorAccessManager.getSignUpRuleDoorAccessTimeNotReachMessage(null, null)) - ) { - face_title.setTextColor1(Color.RED); - face_border.setBorderColor1(Color.RED); - } else { - face_title.setTextColor1(Color.GREEN); - face_border.setBorderColor1(Color.GREEN); - if (face_title.getCurrentTextColor1() == Color.GREEN) { - tipsTxt.setText(""); - } - } - } if (faceTitleAndTips.facePosition != null && Constants.USE_GRAY_CAMERA && !facePosition.liveness) { face_title.setTextColor1(Color.RED); face_border.setBorderColor1(Color.RED); - face_title.setText("闈炴椿浣�"); + faceTitle = "闈炴椿浣�"; + face_title.setText1(faceTitle); + } else { + face_title.setText1(faceTitle); + tipsTxt.setText(faceTitleAndTips.getTipsTxt()); + tipsTxt.setTextColor1(Color.GREEN); + tipsTxt.setTextColor(Color.GREEN); + if (faceTitleAndTips.getFaceTitleColor().equals("#00FF00")) { + face_title.setTextColor(Color.GREEN); + face_border.setBorderColor(Color.GREEN); + } else { + face_title.setTextColor(Color.RED); + face_border.setBorderColor(Color.RED); + } + if (CurrentBase.activity.currentFragment == CurrentBase.activity.fragment_door_access_result) { + if ("寮�闂ㄦ垚鍔�".equals(((DoorAccessResultFragment) CurrentBase.activity.fragment_door_access_result).openDoorTitle())) { + face_title.setTextColor1(Color.parseColor("#00FF00")); + face_border.setBorderColor1(Color.parseColor("#00FF00")); + } else { + face_title.setTextColor1(Color.parseColor("#FF0000")); + face_border.setBorderColor1(Color.parseColor("#FF0000")); + } + } else { + face_title.setTextColor1(Color.parseColor(faceTitleAndTips.getFaceTitleColor())); + face_border.setBorderColor1(Color.parseColor(faceTitleAndTips.getFaceBorderColor())); + } + ModelAdapter currentPositionPerson = faceTitleAndTips.person; + if (mainActivity.currentFragment == mainActivity.fragment_guest_mode) { + if (currentPositionPerson == null || "鏈敞鍐�".equals(currentPositionPerson.getString(Person.sign_up_status))) { + face_title.setTextColor1(Color.RED); + face_border.setBorderColor1(Color.RED); + face_title.setText1(HintDoorAccessManager.getNoRegisterHint()); + } + } + if (mainActivity.currentFragment == mainActivity.fragment_su_auto_wait_face + || mainActivity.currentFragment == mainActivity.fragment_door_access_result + ) { + if (face_title.getCurrentTextColor1() == Color.RED) { + if (!faceTitle.equals(HintSignUpManager.getAdminLogoutHint()) + && !faceTitle.contains(HintDoorAccessManager.getSignUpRuleDoorAccessTimeDeniedMessage(null)) + && !faceTitle.equals("璁垮") + ) { + face_title.setText1(""); + } + } + if (TextUtils.isEmpty(face_title.getText())) { + face_title.setTextColor1(Color.RED); + face_border.setBorderColor1(Color.RED); + } + if (face_title.getCurrentTextColor1() == Color.GREEN) { + tipsTxt.setText(""); + } + } else { + if (TextUtils.isEmpty(face_title.getText()) + || "鏈敞鍐�".equals(face_title.getText()) + || HintDoorAccessManager.getNoRegisterHint().equals(face_title.getText()) + || faceTitle.endsWith(HintDoorAccessManager.getSignUpRuleDoorAccessTimeDeniedMessage(null)) + || faceTitle.endsWith(HintDoorAccessManager.getSignUpRuleDoorAccessTimeNotReachMessage(null, null)) + ) { + face_title.setTextColor1(Color.RED); + face_border.setBorderColor1(Color.RED); + } else { + face_title.setTextColor1(Color.GREEN); + face_border.setBorderColor1(Color.GREEN); + if (face_title.getCurrentTextColor1() == Color.GREEN) { + tipsTxt.setText(""); + } + } + } + if (!TextUtils.isEmpty(tipsTxt.getText().toString())) { + face_title.setText1(""); + } } this.setVisibility(VISIBLE); float faceLeft = facePosition.sx1 * (cameraViewWidth / pictureWidth); @@ -162,7 +168,18 @@ } catch (Exception e) { e.printStackTrace(); } - float faceHeight = (facePosition.sy2 - facePosition.sy1) * (cameraViewHeight / pictureHeight); + double faceHeight = (facePosition.sy2 - facePosition.sy1) * (cameraViewHeight / pictureHeight); + if (scanner_view instanceof CircleView) { + double face_title_top_height = (faceHeight - faceWidth) * 0.4; + if (face_title_top_height < 0) { + face_title_top_height = 0; + } + face_title_top.setVisibility(VISIBLE); + ViewGroup.LayoutParams layoutParams3 = face_title_top.getLayoutParams(); + layoutParams3.height = (int) (face_title_top_height / 2); + face_title_top.setLayoutParams(layoutParams3); + faceHeight = faceHeight - face_title_top_height; + } RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams((int) faceWidth, (int) faceHeight); RelativeLayout.LayoutParams layoutParams1 = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); @@ -175,6 +192,8 @@ scanner_view.setLayoutParams(layoutParams); face_background.setLayoutParams(layoutParams); if (scanner_view instanceof CircleView) { + + face_border.setVisibility(GONE); tipsTxt.setTextColor(face_title.getCurrentTextColor1()); face_title.setTextColor(face_title.getCurrentTextColor1()); @@ -184,8 +203,7 @@ face_border.setVisibility(VISIBLE); face_background.setVisibility(VISIBLE); } - if (!TextUtils.isEmpty(tipsTxt.getText().toString())) { - face_title.setText(""); - } +// System.out.println("MyTextView.setText1 11 " + face_title.getText().toString()); + } } diff --git a/app/src/main/java/com/basic/security/widget/hlistview/AbsHListView.java b/app/src/main/java/com/basic/security/widget/hlistview/AbsHListView.java index c6933f0..eacd1af 100644 --- a/app/src/main/java/com/basic/security/widget/hlistview/AbsHListView.java +++ b/app/src/main/java/com/basic/security/widget/hlistview/AbsHListView.java @@ -894,7 +894,7 @@ } ((MultiChoiceModeWrapper) mMultiChoiceModeCallback).setWrapped(listener); } else { - System.out.println("AbsHListView.setMultiChoiceModeListener"); + System1.out.println("AbsHListView.setMultiChoiceModeListener"); } } catch (Exception e) { e.printStackTrace(); @@ -1758,16 +1758,6 @@ return mSelector; } - /** - * Set a Drawable that should be used to highlight the currently selected item. - * - * @param resID A Drawable resource to use as the selection highlight. - * @attr ref android.R.styleable#AbsListView_listSelector - */ - public void setSelector(int resID) { - setSelector(getResources().getDrawable(resID)); - } - public void setSelector(Drawable sel) { if (mSelector != null) { mSelector.setCallback(null); @@ -1785,6 +1775,16 @@ } /** + * Set a Drawable that should be used to highlight the currently selected item. + * + * @param resID A Drawable resource to use as the selection highlight. + * @attr ref android.R.styleable#AbsListView_listSelector + */ + public void setSelector(int resID) { + setSelector(getResources().getDrawable(resID)); + } + + /** * Sets the selector state to "pressed" and posts a CheckForKeyLongPress to see if this is a long press. */ protected void keyPressed() { diff --git a/app/src/main/java/com/basic/security/widget/hlistview/ExpandableHListView.java b/app/src/main/java/com/basic/security/widget/hlistview/ExpandableHListView.java index 4d02d6a..52d5de1 100644 --- a/app/src/main/java/com/basic/security/widget/hlistview/ExpandableHListView.java +++ b/app/src/main/java/com/basic/security/widget/hlistview/ExpandableHListView.java @@ -507,16 +507,6 @@ } /** - * This overloaded method should not be used, instead use - * {@link #setAdapter(ExpandableListAdapter)}. - * <p/> - * {@inheritDoc} - */ - public void setAdapter(ListAdapter adapter) { - throw new RuntimeException("For ExpandableListView, use setAdapter(ExpandableListAdapter) instead of " + "setAdapter(ListAdapter)"); - } - - /** * Sets the adapter that provides data to this view. * * @param adapter The adapter that provides data to this view. @@ -535,6 +525,16 @@ } /** + * This overloaded method should not be used, instead use + * {@link #setAdapter(ExpandableListAdapter)}. + * <p/> + * {@inheritDoc} + */ + public void setAdapter(ListAdapter adapter) { + throw new RuntimeException("For ExpandableListView, use setAdapter(ExpandableListAdapter) instead of " + "setAdapter(ListAdapter)"); + } + + /** * Register a callback to be invoked when an item has been clicked and the * caller prefers to receive a ListView-style position instead of a group * and/or child position. In most cases, the caller should use diff --git a/app/src/main/java/com/basic/security/widget/hlistview/HListView.java b/app/src/main/java/com/basic/security/widget/hlistview/HListView.java index 6940d57..decf59a 100644 --- a/app/src/main/java/com/basic/security/widget/hlistview/HListView.java +++ b/app/src/main/java/com/basic/security/widget/hlistview/HListView.java @@ -1321,7 +1321,7 @@ invokeOnItemScrollListener(); return; } else if (mItemCount != mAdapter.getCount()) { - System.out.println("HListView.layoutChildren" + "The content of the adapter has changed but " + System1.out.println("HListView.layoutChildren" + "The content of the adapter has changed but " + "ListView did not receive a notification. Make sure the content of " + "your adapter is not modified from a background thread, but only " + "from the UI thread. [in ListView(" + getId() + ", " + getClass() diff --git a/app/src/main/java/com/basic/security/widget/hlistview/OverScroller.java b/app/src/main/java/com/basic/security/widget/hlistview/OverScroller.java index 16380c0..611180a 100644 --- a/app/src/main/java/com/basic/security/widget/hlistview/OverScroller.java +++ b/app/src/main/java/com/basic/security/widget/hlistview/OverScroller.java @@ -789,7 +789,7 @@ private void startAfterEdge(int start, int min, int max, int velocity) { if (start > min && start < max) { - System.out.println("SplineOverScroller.startAfterEdge"); + System1.out.println("SplineOverScroller.startAfterEdge"); // Log.e("OverScroller", "startAfterEdge called from a valid position"); mFinished = true; return; diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 4ffeba4..679c278 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -117,8 +117,8 @@ android:layout_height="match_parent" /> <!--鍏充簬hint缁撴潫--> <fragment - android:id="@+id/fragment_account_setting" - android:name="com.basic.security.fragment.AccountSettingFragment_" + android:id="@+id/fragment_user" + android:name="com.basic.security.fragment.UserFragment_" android:layout_width="match_parent" android:layout_height="match_parent" /> @@ -374,10 +374,11 @@ <TextView android:id="@+id/currentFragmentTextView" android:layout_width="wrap_content" - android:layout_height="@dimen/h65" + android:layout_height="wrap_content" android:layout_centerHorizontal="true" + android:background="@color/colorWhite" android:gravity="center" - android:textColor="@color/colorWhite" + android:textColor="@color/colorRed" android:textSize="25dp" /> <LinearLayout diff --git a/app/src/main/res/layout/cluster_setting_list_head.xml b/app/src/main/res/layout/cluster_setting_list_head.xml index 2b4f127..28fd63d 100644 --- a/app/src/main/res/layout/cluster_setting_list_head.xml +++ b/app/src/main/res/layout/cluster_setting_list_head.xml @@ -13,7 +13,7 @@ <TextView android:layout_width="0dp" android:layout_height="match_parent" - android:layout_weight="1" + android:layout_weight="2" android:gravity="center" android:text="璁惧ID" android:textColor="@color/white" diff --git a/app/src/main/res/layout/cluster_setting_list_item.xml b/app/src/main/res/layout/cluster_setting_list_item.xml index 058abd7..efafba2 100644 --- a/app/src/main/res/layout/cluster_setting_list_item.xml +++ b/app/src/main/res/layout/cluster_setting_list_item.xml @@ -14,7 +14,7 @@ android:id="@+id/tv_cluster_device_id" android:layout_width="0dp" android:layout_height="match_parent" - android:layout_weight="1" + android:layout_weight="2" android:gravity="center" android:text="璁惧ID" android:textColor="@color/white" diff --git a/app/src/main/res/layout/fragment_camera.xml b/app/src/main/res/layout/fragment_camera.xml index b12b8f7..7ac7c9e 100644 --- a/app/src/main/res/layout/fragment_camera.xml +++ b/app/src/main/res/layout/fragment_camera.xml @@ -97,7 +97,6 @@ android:layout_height="match_parent" android:layout_weight="1" android:scaleType="fitXY" - android:src="@drawable/cloudy" /> </LinearLayout> diff --git a/app/src/main/res/layout/fragment_cluster.xml b/app/src/main/res/layout/fragment_cluster.xml index 6ca692f..3f034a9 100644 --- a/app/src/main/res/layout/fragment_cluster.xml +++ b/app/src/main/res/layout/fragment_cluster.xml @@ -140,6 +140,51 @@ android:layout_height="@dimen/h70" android:layout_gravity="right" android:gravity="right|center_vertical" + android:text="鑺傜偣ID锛�" + android:textColor="@color/white" + android:textSize="@dimen/h21" /> + + <EditText + android:enabled="false" + android:id="@+id/node_id" + android:layout_width="@dimen/w360" + android:layout_height="@dimen/h47" + android:layout_marginLeft="@dimen/w21" + android:background="@drawable/bg_edittext1" + android:hint="璇疯緭鍏ヨ妭鐐笽D" + android:paddingLeft="@dimen/w12" + android:singleLine="true" + android:text="" + android:textColor="@color/white" + android:textColorHint="#9fadc7" + android:textSize="@dimen/h16" /> + <TextView + android:layout_width="wrap_content" + android:layout_height="@dimen/h70" + android:layout_gravity="right" + android:gravity="right|center_vertical" + android:text="鑺傜偣鍚嶇О锛�" + android:textColor="@color/white" + android:textSize="@dimen/h21" /> + + <EditText + android:id="@+id/node_name" + android:layout_width="@dimen/w360" + android:layout_height="@dimen/h47" + android:layout_marginLeft="@dimen/w21" + android:background="@drawable/bg_edittext1" + android:hint="璇疯緭鍏ヨ妭鐐瑰悕绉�" + android:paddingLeft="@dimen/w12" + android:singleLine="true" + android:text="" + android:textColor="@color/white" + android:textColorHint="#9fadc7" + android:textSize="@dimen/h16" /> + <TextView + android:layout_width="wrap_content" + android:layout_height="@dimen/h70" + android:layout_gravity="right" + android:gravity="right|center_vertical" android:text="闆嗙兢ID锛�" android:textColor="@color/white" android:textSize="@dimen/h21" /> @@ -273,19 +318,19 @@ </LinearLayout> <LinearLayout - android:layout_width="@dimen/w450" + android:layout_width="@dimen/w650" android:layout_height="match_parent" android:layout_marginLeft="@dimen/w80" android:layout_marginTop="@dimen/h10" - android:gravity="top" + android:gravity="center_vertical" android:orientation="vertical"> - <include layout="@layout/cluster_setting_list_head" /> + <!--<include layout="@layout/cluster_setting_list_head" />--> <ListView android:id="@+id/lv_device_list" android:layout_width="match_parent" - android:layout_height="match_parent" + android:layout_height="wrap_content" android:listSelector="@color/transparent" android:divider="#00000000" android:dividerHeight="0dip" /> diff --git a/app/src/main/res/layout/fragment_face_detail.xml b/app/src/main/res/layout/fragment_face_detail.xml index fc853a4..3320e96 100644 --- a/app/src/main/res/layout/fragment_face_detail.xml +++ b/app/src/main/res/layout/fragment_face_detail.xml @@ -89,7 +89,7 @@ android:layout_marginLeft="@dimen/w15" android:background="@drawable/bg_edittext1" android:inputType="text" - android:maxLength="6" + android:maxLength="20" android:paddingLeft="@dimen/w15" android:singleLine="true" android:textColor="@color/colorWhite" diff --git a/app/src/main/res/layout/fragment_guest_mode.xml b/app/src/main/res/layout/fragment_guest_mode.xml index 53fcbf7..0832f6d 100644 --- a/app/src/main/res/layout/fragment_guest_mode.xml +++ b/app/src/main/res/layout/fragment_guest_mode.xml @@ -37,7 +37,7 @@ android:layout_height="@dimen/h141" android:orientation="horizontal"> <GridView - android:id="@+id/guest_list_two" + android:id="@+id/guest_list_one" android:layout_width="0dp" android:layout_height="match_parent" android:layout_marginLeft="@dimen/w10" @@ -54,7 +54,7 @@ android:layout_height="@dimen/h141" android:orientation="horizontal"> <GridView - android:id="@+id/guest_list_one" + android:id="@+id/guest_list_two" android:layout_width="0dp" android:layout_height="match_parent" android:layout_marginLeft="@dimen/w10" diff --git a/app/src/main/res/layout/fragment_hint_door_access.xml b/app/src/main/res/layout/fragment_hint_door_access.xml index 7e7b015..add0a55 100644 --- a/app/src/main/res/layout/fragment_hint_door_access.xml +++ b/app/src/main/res/layout/fragment_hint_door_access.xml @@ -228,7 +228,7 @@ android:textSize="@dimen/h21" /> <RelativeLayout - android:layout_width="wrap_content" + android:layout_width="@dimen/w100" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/w15" android:gravity="center" @@ -253,6 +253,13 @@ android:dropDownSelector="@color/transparent" android:dropDownWidth="@dimen/w100" android:spinnerMode="dropdown" /> + <ImageView + android:layout_width="@dimen/w13" + android:layout_height="@dimen/h10" + android:layout_alignParentRight="true" + android:layout_centerVertical="true" + android:layout_marginRight="@dimen/w17" + android:src="@drawable/pulldown" /> </RelativeLayout> <TextView diff --git a/app/src/main/res/layout/fragment_account_setting.xml b/app/src/main/res/layout/fragment_user.xml similarity index 100% rename from app/src/main/res/layout/fragment_account_setting.xml rename to app/src/main/res/layout/fragment_user.xml diff --git a/app/src/main/res/layout/recognized_face_info_view.xml b/app/src/main/res/layout/recognized_face_info_view.xml index 42375a7..8204b04 100644 --- a/app/src/main/res/layout/recognized_face_info_view.xml +++ b/app/src/main/res/layout/recognized_face_info_view.xml @@ -8,13 +8,15 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> - + <com.basic.security.widget.MyTextView + android:id="@+id/face_title_top" + android:layout_width="match_parent" + android:layout_height="1px" /> <com.basic.security.widget.MyTextView android:id="@+id/face_title" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_gravity="center_horizontal" - android:paddingBottom="@dimen/h8" + android:layout_gravity="center_horizontal|bottom" android:text="" android:textSize="@dimen/h28" /> diff --git a/app/src/main/res/layout/recognized_face_info_view_s.xml b/app/src/main/res/layout/recognized_face_info_view_s.xml new file mode 100644 index 0000000..8204b04 --- /dev/null +++ b/app/src/main/res/layout/recognized_face_info_view_s.xml @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="utf-8"?> +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <LinearLayout + android:id="@+id/recognized_face_info_view_layout" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:orientation="vertical"> + <com.basic.security.widget.MyTextView + android:id="@+id/face_title_top" + android:layout_width="match_parent" + android:layout_height="1px" /> + <com.basic.security.widget.MyTextView + android:id="@+id/face_title" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_horizontal|bottom" + android:text="" + android:textSize="@dimen/h28" /> + + <RelativeLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content"> + + <TextView + android:id="@+id/face_background" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_centerHorizontal="true" + android:layout_marginTop="@dimen/h137" + android:background="#3374F8F5" + android:visibility="gone" /> + + <com.basic.security.widget.CircleView + android:id="@+id/scanner_view" + android:layout_width="wrap_content" + android:layout_height="wrap_content" /> + <!--<com.basic.security.widget.ScannerView + android:id="@+id/scanner_view" + android:layout_width="wrap_content" + android:layout_height="wrap_content" />--> + + <com.basic.security.widget.FaceOuterBorderView + android:id="@+id/face_border" + android:layout_width="wrap_content" + android:layout_height="wrap_content" /> + </RelativeLayout> + + <com.basic.security.widget.MyTextView + android:id="@+id/tipsTxt" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_horizontal" + android:paddingTop="@dimen/h8" + android:text="" + android:textSize="@dimen/h28" /> + </LinearLayout> + +</RelativeLayout> diff --git a/iolibrary/.gitignore b/iolibrary/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/iolibrary/.gitignore @@ -0,0 +1 @@ +/build diff --git a/iolibrary/build.gradle b/iolibrary/build.gradle new file mode 100644 index 0000000..6fe27f0 --- /dev/null +++ b/iolibrary/build.gradle @@ -0,0 +1,32 @@ +apply plugin: 'com.android.library' + +android { + compileSdkVersion 26 + + defaultConfig { + minSdkVersion 14 + targetSdkVersion 26 + versionCode 4 + versionName "1.0.3" + + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } + +} + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + + implementation 'com.android.support:appcompat-v7:26.1.0' + testImplementation 'junit:junit:4.12' + androidTestImplementation 'com.android.support.test:runner:1.0.2' + androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' +} diff --git a/iolibrary/proguard-rules.pro b/iolibrary/proguard-rules.pro new file mode 100644 index 0000000..f1b4245 --- /dev/null +++ b/iolibrary/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile diff --git a/iolibrary/src/androidTest/java/com/alfeye/a1io/ExampleInstrumentedTest.java b/iolibrary/src/androidTest/java/com/alfeye/a1io/ExampleInstrumentedTest.java new file mode 100644 index 0000000..54d9945 --- /dev/null +++ b/iolibrary/src/androidTest/java/com/alfeye/a1io/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.alfeye.a1io; + +import android.content.Context; +import android.support.test.InstrumentationRegistry; +import android.support.test.runner.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumented test, which will execute on an Android device. + * + * @see <a href="http://d.android.com/tools/testing">Testing documentation</a> + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() throws Exception { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getTargetContext(); + + assertEquals("com.alfeye.iolibrary.test", appContext.getPackageName()); + } +} diff --git a/iolibrary/src/main/AndroidManifest.xml b/iolibrary/src/main/AndroidManifest.xml new file mode 100644 index 0000000..aa68346 --- /dev/null +++ b/iolibrary/src/main/AndroidManifest.xml @@ -0,0 +1,2 @@ +<manifest package="com.alfeye.a1io" + xmlns:android="http://schemas.android.com/apk/res/android"/> diff --git a/iolibrary/src/main/java/com/alfeye/a1camera/FaceBrightnessAdjustUtil.java b/iolibrary/src/main/java/com/alfeye/a1camera/FaceBrightnessAdjustUtil.java new file mode 100644 index 0000000..88f6b98 --- /dev/null +++ b/iolibrary/src/main/java/com/alfeye/a1camera/FaceBrightnessAdjustUtil.java @@ -0,0 +1,143 @@ +package com.alfeye.a1camera; + +import android.graphics.Point; +import android.graphics.Rect; +import android.hardware.Camera; + +import java.util.ArrayList; +import java.util.List; + +/** + * Camera1 浜鸿劯琛ュ厜 + * <p> + * Created by DELL on 2019/4/9. + */ + +public class FaceBrightnessAdjustUtil { + //榛樿 琛ュ厜闃堝�� + private int threshold = 100; + private Rect mRect; + private boolean enabled = true; + + public FaceBrightnessAdjustUtil() { + } + + + /** + * 璁剧疆 浜鸿劯琛ュ厜 浣嶇Щ闃堝�� + * + * @param threshold 琛ュ厜鍖哄煙浣嶇Щ 闃堝�笺�傚ぇ浜庢闃堝�兼墠杩涜琛ュ厜 + */ + public void setFaceBrightnessAdjustThreshold(int threshold) { + this.threshold = threshold; + } + + /** + * 浣胯兘 浜鸿劯琛ュ厜 + * + * @param enabled + */ + public void setEnFaceBrightnessAdjust(boolean enabled) { + this.enabled = enabled; + } + + /** + * 鎵ц 鑷姩琛ュ厜 + * + * @param camera Camera1鎽勫儚澶� + * @param previewWidth 棰勮瀹藉害 + * @param previewHeight 棰勮楂樺害 + * @param rect 琛ュ厜鍖哄煙 + * @param rotate270 鏃嬭浆琛ュ厜鍖哄煙 锛堟棆杞负绔栧睆鍧愭爣锛� + */ + public void runAutoFaceBrightnessAdjust(Camera camera, int previewWidth, int previewHeight, Rect rect, boolean rotate270) { + if (camera != null && enabled) { + try { + Camera.Parameters parameters = camera.getParameters(); + List<Camera.Area> meteringAreas = new ArrayList<>(); + if (rect != null) { + if (rotate270) { + rect = rotateDeg270(rect, previewWidth, previewHeight); + } + Point pointLeftTop = rotateDeg90(previewWidth, previewHeight, rect.left, rect.top); + Point pointRightBottom = rotateDeg90(previewWidth, previewHeight, rect.right, rect.bottom); + + int left = Math.min(pointRightBottom.x, pointLeftTop.x); + int top = Math.min(pointLeftTop.y, pointRightBottom.y); + int right = Math.max(pointRightBottom.x, pointLeftTop.x); + int bottom = Math.max(pointLeftTop.y, pointRightBottom.y); + + Rect aRect = new Rect(left, top, right, bottom); + meteringAreas.add(new Camera.Area(aRect, 800)); + + if (mRect != null) { + if (Math.abs(mRect.left - aRect.left) > threshold || + Math.abs(mRect.top - aRect.top) > threshold || + Math.abs(mRect.right - aRect.right) > threshold || + Math.abs(mRect.bottom - aRect.bottom) > threshold) { + parameters.setMeteringAreas(meteringAreas); + parameters.setFocusAreas(meteringAreas); + camera.setParameters(parameters); + mRect = aRect; + } + } else { + parameters.setMeteringAreas(meteringAreas); + parameters.setFocusAreas(meteringAreas); + camera.setParameters(parameters); + mRect = aRect; + } + } else { + Rect aRect = new Rect(0, 0, 1, 1); + meteringAreas.add(new Camera.Area(aRect, 800)); + parameters.setMeteringAreas(meteringAreas); + parameters.setFocusAreas(meteringAreas); + camera.setParameters(parameters); + mRect = null; + } + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + private Point rotateDeg90(int previewWidth, int previewHeight, int x, int y) { + Point point = new Point(); + int height = Math.max(previewWidth, previewHeight); + int width = Math.min(previewWidth, previewHeight); + + point.x = (int) (1920 * (1 - (float) y / height)); + point.y = (int) (1080 * (1 - (float) x / width)); + + if (point.x < 0) { + point.x = 0; + } + if (point.y < 0) { + point.y = 0; + } + return point; + } + + /** + * 鐭╁舰妗嗙殑鍧愭爣鏃嬭浆270搴�<br> + * rotate the coordinate of rectangle with 270 degree + * + * @param rect 闇�瑕佹棆杞殑鍘熷鐭╁舰妗�<br> + * the origin rectangle which need to rotate + * @param width 鍥剧墖鐨勫搴�<br> + * width of image + * @param height 鍥剧墖鐨勯珮搴�<br> + * height of image + * @return 鏃嬭浆涔嬪悗鐨勭煩褰㈡<br> + * rotated rectangle + */ + private Rect rotateDeg270(Rect rect, int width, int height) { + Rect newRect = new Rect(); + int left = rect.left; + newRect.left = rect.top; + newRect.top = width - rect.right; + newRect.right = rect.bottom; + newRect.bottom = width - left; + return newRect; + } + +} diff --git a/iolibrary/src/main/java/com/alfeye/a1io/A1IoDevBaseUtil.java b/iolibrary/src/main/java/com/alfeye/a1io/A1IoDevBaseUtil.java new file mode 100644 index 0000000..c2296ee --- /dev/null +++ b/iolibrary/src/main/java/com/alfeye/a1io/A1IoDevBaseUtil.java @@ -0,0 +1,253 @@ +package com.alfeye.a1io; + +import android.text.TextUtils; + +import java.io.BufferedWriter; +import java.io.FileWriter; +import java.io.IOException; + +/** + * @Date锛�2019/2/11 14:41 + * @Author: yellow + * @绫绘弿杩帮細 + */ +public abstract class A1IoDevBaseUtil { + + /** + * 鎵撳紑琛ュ厜鐏� + * + * @param value 0-100 鍊艰秺澶� 浜害瓒婂ぇ + */ + public abstract void openLED(int value); + + /** + * 鍏抽棴琛ュ厜鐏� + */ + public abstract void closeLED(); + + /** + * 璺濇劅鐢垫簮涓婄數 + */ + public abstract void openDIST(); + + /** + * 璺濇劅鐢垫簮涓嬬數 + */ + public abstract void closeDIST(); + + /** + * 绾㈠鐏厜涓婄數 + */ + public abstract void openIRDA(); + + /** + * 绾㈠鐏厜涓嬬數 + */ + public abstract void closeIRDA(); + + /** + * 4G涓婄數 + */ + public abstract void open4G(); + + /** + * 4G涓嬬數 + */ + public abstract void close4G(); + + /** + * 鎵撳紑闂ㄩ搩 + */ + public abstract void openBELL(); + + /** + * 鍏抽棴闂ㄩ搩 + */ + public abstract void closeBELL(); + + /** + * 寮�閿� + */ + public abstract void openUNLOCK(); + + /** + * 鍏抽攣 + */ + public abstract void closeUNLOCK(); + + + /** + * 涓插彛涓婄數 + */ + public abstract void openPORT(); + + /** + * 涓插彛涓嬬數 + */ + public abstract void closePORT(); + + /** + * U鍙d笂鐢� + */ + public abstract void openUK(); + + /** + * U鍙d笅鐢� + */ + public abstract void closeUK(); + + /** + * 鎵弿澶翠笅鐢� + */ + public abstract void CloseScanningHead(); + + /** + * 鎵弿澶翠笅鐢� + */ + public abstract void openScanningHead(); + + + /** + * A1 IO鎺у埗 + * + * @param flag 1涓轰笂鐢碉紝0涓轰笅鐢� + */ + public boolean openPower(String io, int flag) { + try { + BufferedWriter bufWriter = new BufferedWriter(new FileWriter("/sys/class/gpio_control/gpio/gpio_control")); + bufWriter.write(io + flag); + bufWriter.close(); + return true; + } catch (IOException e) { + } + return false; + } + + /** + * A1 PWM鐏厜鎺у埗 + * + * @param flag 1涓轰笂鐢碉紝0涓轰笅鐢� + */ + public boolean pwmPower(int flag) { + try { + BufferedWriter bufWriter = new BufferedWriter(new FileWriter("/sys/class/pwm_ledctrl/ledctrl/ledctrl/")); + ///sys/devices/virtual/pwm_ledctrl/ledctrl # echo "100" > ledctrl + bufWriter.write("" + flag); + bufWriter.close(); + return true; + } catch (IOException e) { + } + return false; + } + + /** + * 浼熸牴鍗忚 + * + * @param agreement 鍗忚鍙� + * @param number 鍗″彿 16杩涘埗 + * @param switchover 澶у皬绔垏鎹� + * @return + */ + public boolean openPower(int agreement, String number, boolean switchover) { + try { + if (TextUtils.isEmpty(number)) { + return false; + } + BufferedWriter bufWriter = new BufferedWriter(new FileWriter("/sys/class/gpio_control/gpio/wiegand")); + number = interceptNumber(agreement, number, switchover); + bufWriter.write(agreement + "," + number); + bufWriter.close(); + return true; + } catch (IOException e) { + } + return false; + } + + public boolean openPower(int agreement, String number) { + return openPower(agreement, number, false); + } + + private String interceptNumber(int agreement, String number, boolean switchover) { + if (TextUtils.isEmpty(number)) { + return null; + } + try { + //浼熸牴26 + int weiGen26 = 26; + if (agreement == weiGen26) { + String subStr; + if (switchover) { + //鍒囨崲澶у皬绔� + subStr = weiGen26Str(changeString(number)); + + } else { + subStr = weiGen26Str(number); + } + return subStr; + } else { + String subStr; + if (switchover) { + //鍒囨崲澶у皬绔� + subStr = changeString(number); + } else { + subStr = number; + } + return subStr; + } + } catch (Exception e) { + e.printStackTrace(); + } + return ""; + } + + + /** + * 26鍥哄畾鏍煎紡 + * + * @param number + * @return + */ + private String weiGen26Str(String number) { + String title = "00"; + return title + (number.substring(2, number.length())); + } + + /** + * 璋冩崲16杩涘埗 澶у皬绔� + * + * @param str + * @return + */ + private String changeString(String str) { + StringBuilder builder = builder = new StringBuilder(); + try { + for (int i = str.length(); i > 1; i--) { + String newStr; + if (i % 2 == 0) { + newStr = str.substring(i - 2, i); + builder.append(newStr); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return builder.toString(); + } + + /** + * 鍒囨崲澶у皬绔画 + */ + public static byte[] changeBytes(byte[] a) { + try { + byte[] b = new byte[a.length]; + for (int i = 0; i < b.length; i++) { + b[i] = a[b.length - i - 1]; + } + return b; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + +} diff --git a/iolibrary/src/main/java/com/alfeye/a1io/A1IoDevBlackUtil.java b/iolibrary/src/main/java/com/alfeye/a1io/A1IoDevBlackUtil.java new file mode 100644 index 0000000..1b2635d --- /dev/null +++ b/iolibrary/src/main/java/com/alfeye/a1io/A1IoDevBlackUtil.java @@ -0,0 +1,172 @@ +package com.alfeye.a1io; + +/** + * @Date锛�2018/10/16 19:25 + * @Author: yellow + * @绫绘弿杩帮細璁惧鎵�鏈塈O鎺у埗 + */ +class A1IoDevBlackUtil extends A1IoDevBaseUtil { + + private A1IoDevBlackUtil() { + + } + + protected static class IoDevBlackUtilHolder { + public static final A1IoDevBlackUtil IO_DEV_BLACK_UTIL = new A1IoDevBlackUtil(); + } + + protected static A1IoDevBlackUtil initIoDevBlackUtil() { + return IoDevBlackUtilHolder.IO_DEV_BLACK_UTIL; + } + /** + * 鎵撳紑琛ュ厜鐏� + * + * @param value 0-100 鍊艰秺澶� 浜害瓒婂ぇ + */ + @Override + public void openLED(int value) { + pwmPower(value); + } + + + /** + * 鍏抽棴琛ュ厜鐏� + */ + @Override + public void closeLED() { + pwmPower(0); + } + + /** + * 璺濇劅鐢垫簮涓婄數 + */ + @Override + public void openDIST() { + openPower("2B1", 1); + + } + + /** + * 璺濇劅鐢垫簮涓嬬數 + */ + @Override + public void closeDIST() { + openPower("2B1", 0); + } + + /** + * 绾㈠鐏厜涓婄數 + */ + @Override + public void openIRDA() { + openPower("3D5", 1); + } + + /** + * 绾㈠鐏厜涓嬬數 + */ + @Override + public void closeIRDA() { + openPower("3D5", 0); + } + + /** + * 4G涓婄數 + */ + @Override + public void open4G() { + openPower("2A6", 1); + } + + /** + * 4G涓嬬數 + */ + @Override + public void close4G() { + openPower("2A6", 0); + } + + /** + * 鎵撳紑闂ㄩ搩 + */ + @Override + public void openBELL() { + openPower("3D4", 1); + } + + /** + * 鍏抽棴闂ㄩ搩 + */ + @Override + public void closeBELL() { + openPower("3D4", 0); + } + + /** + * 寮�閿� + */ + @Override + public void openUNLOCK() { + openPower("2B2", 0); + } + + /** + * 鍏抽攣 + */ + @Override + public void closeUNLOCK() { + openPower("2B2", 1); + } + + + /** + * 涓插彛涓婄數 + */ + @Override + public void openPORT() { + openPower("4A5", 1); + } + + /** + * 涓插彛涓嬬數 + */ + @Override + public void closePORT() { + openPower("4A5", 0); + } + + /** + * U鍙d笂鐢� + */ + @Override + public void openUK() { + openPower("4D2", 1); + } + + /** + * U鍙d笅鐢� + */ + @Override + public void closeUK() { + openPower("4D2", 0); + } + + /** + * 鎵弿澶翠笅鐢� + */ + @Override + public void CloseScanningHead() { + openPower("4A3", 0); + } + + /** + * 鎵弿澶翠笅鐢� + */ + @Override + public void openScanningHead() { + openPower("4A3", 1); + } + + + +} diff --git a/iolibrary/src/main/java/com/alfeye/a1io/A1IoDevManager.java b/iolibrary/src/main/java/com/alfeye/a1io/A1IoDevManager.java new file mode 100644 index 0000000..92e38fd --- /dev/null +++ b/iolibrary/src/main/java/com/alfeye/a1io/A1IoDevManager.java @@ -0,0 +1,55 @@ +package com.alfeye.a1io; + +import android.text.TextUtils; + +/** + * @Date锛�2019/2/11 14:38 + * @Author: yellow + * @绫绘弿杩帮細 + */ +public class A1IoDevManager { + + /** + * 鐧借壊璁惧 + */ + private static String DEVICE_FLAG = "1000"; + + + private A1IoDevManager() { + + } + + public static A1IoDevBaseUtil initIOManager() { + if (determineTheFirmwareVersion()) { + return A1IoDevBlackUtil.initIoDevBlackUtil(); + } else { + return A1IoDevWhiteUtil.initIoDevWhiteUtil(); + } + } + + + /** + * 鍒ゆ柇鐗堟湰 1000 鐧借壊璁惧 1001 榛戣壊璁惧 + * + * @return + */ + public static boolean determineTheFirmwareVersion() { + //A1_1001_V1.0.1_20190121 + String model = android.os.Build.DISPLAY; + try { + if (!TextUtils.isEmpty(model)) { + String[] split = model.split("_"); + if (split.length > 0) { + String number = split[1]; + if (!DEVICE_FLAG.equals(number)) { + return true; + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return false; + } + +} diff --git a/iolibrary/src/main/java/com/alfeye/a1io/A1IoDevWhiteUtil.java b/iolibrary/src/main/java/com/alfeye/a1io/A1IoDevWhiteUtil.java new file mode 100644 index 0000000..5e652f1 --- /dev/null +++ b/iolibrary/src/main/java/com/alfeye/a1io/A1IoDevWhiteUtil.java @@ -0,0 +1,171 @@ +package com.alfeye.a1io; + + +/** + * @Date锛�2018/10/16 19:25 + * @Author: yellow + * @绫绘弿杩帮細 + */ +class A1IoDevWhiteUtil extends A1IoDevBaseUtil { + + private A1IoDevWhiteUtil() { + + } + + protected static class IoDevWhiteUtilHolder { + public static final A1IoDevWhiteUtil IO_DEV_WHITE_UTIL = new A1IoDevWhiteUtil(); + } + + protected static A1IoDevWhiteUtil initIoDevWhiteUtil() { + return IoDevWhiteUtilHolder.IO_DEV_WHITE_UTIL; + } + + + /** + * 鎵撳紑琛ュ厜鐏� + */ + @Override + public void openLED(int value) { + openPower("3D5", 1); + } + + /** + * 鍏抽棴琛ュ厜鐏� + */ + @Override + public void closeLED() { + openPower("3D5", 0); + } + + /** + * 璺濇劅鐢垫簮涓婄數 + */ + @Override + public void openDIST() { + openPower("2B1", 1); + + } + + /** + * 璺濇劅鐢垫簮涓嬬數 + */ + @Override + public void closeDIST() { + openPower("2B1", 0); + } + + /** + * 绾㈠鐏厜涓婄數 + */ + @Override + public void openIRDA() { + openPower("2A2", 0); + } + + /** + * 绾㈠鐏厜涓嬬數 + */ + @Override + public void closeIRDA() { + openPower("2A2", 1); + } + + /** + * 4G涓婄數 + */ + @Override + public void open4G() { + openPower("2A6", 1); + } + + /** + * 4G涓嬬數 + */ + @Override + public void close4G() { + openPower("2A6", 0); + } + + /** + * 鎵撳紑闂ㄩ搩 + */ + @Override + public void openBELL() { + openPower("3D4", 1); + } + + /** + * 鍏抽棴闂ㄩ搩 + */ + @Override + public void closeBELL() { + openPower("3D4", 0); + } + + /** + * 寮�閿� + */ + @Override + public void openUNLOCK() { + openPower("2B2", 0); + } + + /** + * 鍏抽攣 + */ + @Override + public void closeUNLOCK() { + openPower("2B2", 1); + } + + + /** + * 涓插彛涓婄數 + */ + @Override + public void openPORT() { + openPower("4A5", 1); + } + + /** + * 涓插彛涓嬬數 + */ + @Override + public void closePORT() { + openPower("4A5", 0); + } + + /** + * U鍙d笂鐢� + */ + @Override + public void openUK() { + openPower("4D2", 1); + } + + /** + * U鍙d笅鐢� + */ + @Override + public void closeUK() { + openPower("4D2", 0); + } + + /** + * 鎵弿澶翠笅鐢� + */ + @Override + public void CloseScanningHead() { + openPower("4A3", 0); + } + + /** + * 鎵弿澶翠笅鐢� + */ + @Override + public void openScanningHead() { + openPower("4A3", 1); + } + + +} diff --git a/iolibrary/src/main/java/com/alfeye/a1io/DeviceControl.java b/iolibrary/src/main/java/com/alfeye/a1io/DeviceControl.java new file mode 100644 index 0000000..05168c4 --- /dev/null +++ b/iolibrary/src/main/java/com/alfeye/a1io/DeviceControl.java @@ -0,0 +1,223 @@ +package com.alfeye.a1io; + +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.preference.PreferenceManager; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +/** + * 璁惧鐩稿叧鎿嶄綔 宸ュ叿绫� + * Created by DELL on 2018/11/30. + */ + +public class DeviceControl { + + private static final String ACTION_CAMERA_HDR = "com.alf.camera.hdr"; + private static final String KEY_CAMERA_HDR = "key_camera_hdr"; + private static final String DEV_INFORMATIONSCREEN = "com.alf.screen.action"; + private static final String KEY_OPEN_SCREEN = "input keyevent 224"; + private static final String KEY_CLOSE_SCREEN = "input keyevent 223"; + private static SharedPreferences sharedPreferences; + + //------------------------------------------------------- + /** + * 瀹夎 鏈湴搴旂敤 + */ + private static final String ACTION_INSTALL_PACKAGES = "com.alfeye.upgradeserver.action_install_packages"; + + /** + * APK鍖呭悕 + */ + private static String KEY_PACKAGENAME = "key_packagename"; + /** + * Apk璺緞 + */ + private static String KEY_APK_FILEPATH = "key_apk_filepath"; + /** + * 鏄惁鏄剧ず瀹夎鐣岄潰 + */ + private static String KEY_IS_SHOW_LOADING = "key_is_show_loading"; + /** + * 瀹夎瀹屾垚 鏄惁鍚姩APK + */ + private static String KEY_IS_START_APK = "key_is_start_apk"; + + private DeviceControl() { + + } + + /** + * 寮�鍚睆骞曞苟棰勮 + * + * + **/ + public static void openScreen() { + execCommandSilent(KEY_OPEN_SCREEN); + } + + /** + * 鍏抽棴灞忓箷 闇�瑕佺郴绲辩敖鍚� + **/ + public static void closeScreen() { + execCommandSilent(KEY_CLOSE_SCREEN); + } + + + /** + * 鍏抽棴 + * + * @param command + */ + public static void execCommandSilent(String command) { + try { + Process p = Runtime.getRuntime().exec(new String[]{"/system/bin/sh", "-c", command}); + BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream())); + String readLine = br.readLine(); + while (readLine != null) { + readLine = br.readLine(); + } + br.close(); + p.destroy(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + /** + * 鍒濆鍖� + * + * @param context + */ + private static void init(Context context) { + if (sharedPreferences == null) { + sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context); + } + } + + /** + * 鎽勫儚澶村鍔ㄦ�佹帶鍒� + * + * @param context + * @param state + */ + public static void configCameraHdr(Context context, boolean state) { + if (sharedPreferences == null) { + init(context); + } + sendCameraHdrBroadcast(context, state); + sharedPreferences.edit().putBoolean(KEY_CAMERA_HDR, state).apply(); + } + + /** + * 鑾峰彇Hdr鐨勭姸鎬� + */ + public static boolean getCameraHdrStatus(Context context) { + if (sharedPreferences == null) { + init(context); + } + return sharedPreferences.getBoolean(KEY_CAMERA_HDR, false); + } + + /** + * A1灞忓箷鎭睆 浜睆 + * 涓嶉渶瑕佺敖鍚� + * @param context + * @param state true浜睆 false鎭睆 + */ + public static void sendInformationScreen(Context context, boolean state) { + Intent camerIntent = new Intent(DEV_INFORMATIONSCREEN); + camerIntent.putExtra("on", state); + context.sendBroadcast(camerIntent); + } + + + /** + * 鎽勫儚澶村鍔ㄦ�佹帶鍒� + * + * @param context + * @param state true寮�鍚� false鍏抽棴 + */ + private static void sendCameraHdrBroadcast(Context context, boolean state) { + Intent camerIntent = new Intent(ACTION_CAMERA_HDR); + camerIntent.putExtra("enabled", state ? "true" : "false"); + context.sendBroadcast(camerIntent); + } + + /** + * 璁惧閲嶅惎 + * + * @param context + */ + public static void rebootSystem(Context context) { + Intent devIntent = new Intent(); + devIntent.setAction("com.alf.reboot.system"); + context.sendBroadcast(devIntent); + } + + /** + * 闅愯棌 绯荤粺瀵艰埅鏍� + * + * @param context + * @param state true 闅愯棌 false 杩樺師鏄剧ず + */ + public static void hideNavigationBar(Context context, boolean state) { + Intent sbarIntent = new Intent(); + sbarIntent.setAction("com.alf.switch_status_bar"); + sbarIntent.putExtra("hide", state); + context.sendBroadcast(sbarIntent); + } + + /** + * 璁剧疆搴旂敤涓� 绯荤粺launcher + * 闇�瑕佸啀androidManifest娣诲姞 + * 鍚姩鐨刟ctivity 闇�瑕佽缃负 HOME LAUNCHER + * <intent-filter> + * <action android:name="android.intent.action.MAIN"/> + * <category android:name="android.intent.category.LAUNCHER"/> + * <category android:name="android.intent.category.HOME"/> + * <category android:name="android.intent.category.DEFAULT"/> + * </intent-filter> + * + * @param context + * @param pkgname 鍖呭悕 + */ + public static void setSystemLauncher(Context context, String pkgname) { + Intent intentLauncher = new Intent(); + //璁剧疆launcher 骞挎挱 + intentLauncher.setAction("com.alf.set.default.launcher"); + intentLauncher.putExtra("pkgname", pkgname); + context.sendBroadcast(intentLauncher); + } + + + + + /** + * 闈欓粯瀹夎 APK + * + * @param context + * @param apkPackageName APK鍖呭悕 + * @param apkFilePath Apk璺緞 + * @param isShowLoading 鏄惁鏄剧ず瀹夎鍔犺浇鐣岄潰 + * @param isStartApk 瀹夎瀹屾垚 鏄惁鍚姩APK + */ + public static void startInstallApk(Context context, String apkPackageName, String apkFilePath, boolean isShowLoading, boolean isStartApk) { + try { + Intent intent = new Intent(); + intent.setPackage("com.alfeye.upgradeserver"); + intent.setAction(ACTION_INSTALL_PACKAGES); + intent.putExtra(KEY_PACKAGENAME, apkPackageName); + intent.putExtra(KEY_APK_FILEPATH, apkFilePath); + intent.putExtra(KEY_IS_SHOW_LOADING, isShowLoading); + intent.putExtra(KEY_IS_START_APK, isStartApk); + context.startService(intent); + } catch (Exception e) { + e.printStackTrace(); + } + } + +} diff --git a/iolibrary/src/main/res/values/strings.xml b/iolibrary/src/main/res/values/strings.xml new file mode 100644 index 0000000..ead0faa --- /dev/null +++ b/iolibrary/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ +<resources> + <string name="app_name">IOLibrary</string> +</resources> diff --git a/iolibrary/src/test/java/com/alfeye/a1io/ExampleUnitTest.java b/iolibrary/src/test/java/com/alfeye/a1io/ExampleUnitTest.java new file mode 100644 index 0000000..e925420 --- /dev/null +++ b/iolibrary/src/test/java/com/alfeye/a1io/ExampleUnitTest.java @@ -0,0 +1,17 @@ +package com.alfeye.a1io; + +import org.junit.Test; + +import static org.junit.Assert.*; + +/** + * Example local unit test, which will execute on the development machine (host). + * + * @see <a href="http://d.android.com/tools/testing">Testing documentation</a> + */ +public class ExampleUnitTest { + @Test + public void addition_isCorrect() throws Exception { + assertEquals(4, 2 + 2); + } +} \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index b502af6..80b85fb 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,3 +1,3 @@ -include ':app', ':android-file-chooser', ':idcard', ':basic_common', ':pickerview', ':wheelview' +include ':app', ':android-file-chooser', ':idcard', ':basic_common', ':pickerview', ':wheelview', ':iolibrary' include ':IDCardReader' -- Gitblit v1.8.0