From f8917e198a4fc30488f64f94a6f18425c88bd534 Mon Sep 17 00:00:00 2001 From: ZhanGSKen Date: Sat, 16 May 2026 01:51:00 +0800 Subject: [PATCH] APPBase Source Code Purification --- aes/.gitignore | 1 - aes/README.md | 36 - aes/app_update_description.txt | 1 - aes/build.gradle | 48 -- aes/build.properties | 8 - aes/proguard-rules.pro | 137 ---- aes/src/beta/AndroidManifest.xml | 12 - aes/src/beta/res/values/strings.xml | 6 - aes/src/main/AndroidManifest.xml | 45 -- .../cc/winboll/studio/aes/AboutActivity.java | 78 --- .../main/java/cc/winboll/studio/aes/App.java | 34 - .../studio/aes/BaseWinBoLLActivity.java | 45 -- .../cc/winboll/studio/aes/MainActivity.java | 196 ------ .../winboll/studio/aes/SettingsActivity.java | 39 -- .../aes/TestActivityManagerActivity.java | 33 - .../winboll/studio/aes/WinBoLLActivity.java | 60 -- aes/src/main/res/drawable-night/bg_frame.xml | 32 - aes/src/main/res/drawable/bg_frame.xml | 33 - aes/src/main/res/layout/activity_about.xml | 21 - aes/src/main/res/layout/activity_settings.xml | 17 - .../layout/activity_testactivitymanager.xml | 15 - aes/src/main/res/menu/toolbar_main.xml | 41 -- aes/src/main/res/values-night/styles.xml | 16 - aes/src/main/res/values/colors.xml | 7 - aes/src/main/res/values/strings.xml | 7 - aes/src/main/res/values/styles.xml | 16 - .../main/res/xml/network_security_config.xml | 6 - aes/src/stage/AndroidManifest.xml | 12 - aes/src/stage/res/values/strings.xml | 6 - debugtemp/README.md | 37 - debugtemp/app_update_description.txt | 1 - debugtemp/build.gradle | 59 -- debugtemp/build.properties | 8 - debugtemp/proguard-rules.pro | 137 ---- debugtemp/src/beta/AndroidManifest.xml | 12 - debugtemp/src/beta/res/values/strings.xml | 6 - debugtemp/src/main/AndroidManifest.xml | 37 - .../java/cc/winboll/studio/debugtemp/App.java | 340 ---------- .../studio/debugtemp/MainActivity.java | 38 -- .../drawable-v24/ic_launcher_foreground.xml | 34 - .../res/drawable/ic_launcher_background.xml | 170 ----- .../src/main/res/layout/activity_main.xml | 57 -- .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 - .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 - .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 3056 -> 0 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 5024 -> 0 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 2096 -> 0 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 2858 -> 0 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 4569 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 7098 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 6464 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 10676 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 9250 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 15523 -> 0 bytes debugtemp/src/main/res/values/colors.xml | 6 - debugtemp/src/main/res/values/strings.xml | 4 - debugtemp/src/main/res/values/styles.xml | 11 - debugtemp/src/stage/AndroidManifest.xml | 12 - debugtemp/src/stage/res/values/strings.xml | 6 - libaes/.gitignore | 1 - libaes/build.gradle | 69 -- libaes/build.properties | 8 - libaes/libs/colorpicker-20180319.jar | Bin 12740 -> 0 bytes libaes/proguard-rules.pro | 17 - libaes/src/main/AndroidManifest.xml | 57 -- .../studio/libaes/DrawerMenuDataAdapter.java | 207 ------ .../studio/libaes/ImagePagerAdapter.java | 75 --- .../activitys/DrawerFragmentActivity.java | 394 ----------- .../libaes/dialogs/LocalFileSelectDialog.java | 204 ------ .../libaes/dialogs/StoragePathDialog.java | 57 -- .../libaes/dialogs/YesNoAlertDialog.java | 60 -- .../winboll/studio/libaes/enums/ADsMode.java | 32 - .../libaes/enums/PrivacyAgreeStatus.java | 67 -- .../libaes/interfaces/IWinBoLLActivity.java | 24 - .../studio/libaes/models/AESThemeBean.java | 143 ---- .../winboll/studio/libaes/models/APPInfo.java | 169 ----- .../studio/libaes/models/DrawerMenuBean.java | 35 - .../models/WinBoLLClientServiceBean.java | 78 --- .../unittests/SecondaryLibraryActivity.java | 57 -- .../unittests/SecondaryLibraryFragment.java | 25 - .../libaes/unittests/TestAButtonFragment.java | 37 - .../TestASupportToolbarActivity.java | 47 -- .../unittests/TestAToolbarActivity.java | 28 - .../unittests/TestDrawerFragmentActivity.java | 124 ---- .../unittests/TestViewPageFragment.java | 226 ------- .../studio/libaes/utils/AESThemeUtil.java | 211 ------ .../studio/libaes/utils/AppVersionUtils.java | 162 ----- .../studio/libaes/utils/DevelopUtils.java | 35 - .../studio/libaes/utils/MimoUtils.java | 33 - .../utils/MyActivityLifecycleCallbacks.java | 97 --- .../studio/libaes/utils/PrefUtils.java | 33 - .../studio/libaes/utils/ScreenUtil.java | 64 -- .../winboll/studio/libaes/utils/WebUtils.java | 102 --- .../libaes/utils/WinBoLLActivityManager.java | 306 --------- .../winboll/studio/libaes/views/AButton.java | 28 - .../cc/winboll/studio/libaes/views/ACard.java | 45 -- .../libaes/views/ADrawerMenuListView.java | 19 - .../studio/libaes/views/ADsBannerView.java | 491 -------------- .../studio/libaes/views/ADsControlView.java | 633 ------------------ .../studio/libaes/views/AOHPCTCSeekBar.java | 108 --- .../studio/libaes/views/AOHPCTSCard.java | 43 -- .../studio/libaes/views/ASupportToolbar.java | 93 --- .../studio/libaes/views/ATickProgressBar.java | 55 -- .../winboll/studio/libaes/views/AToolbar.java | 96 --- .../studio/libaes/views/AboutView.java | 379 ----------- .../res/anim/normal_dialog_enter_center.xml | 35 - .../res/anim/normal_dialog_enter_corner.xml | 15 - .../res/anim/normal_dialog_exit_center.xml | 35 - .../res/anim/normal_dialog_exit_corner.xml | 14 - .../main/res/drawable/acard_frame_main.xml | 50 -- .../src/main/res/drawable/atoolbar_frame.xml | 50 -- .../main/res/drawable/bg_container_border.xml | 6 - libaes/src/main/res/drawable/bg_shadow.xml | 33 - libaes/src/main/res/drawable/btn_style.xml | 7 - .../src/main/res/drawable/default_shape.xml | 27 - .../res/drawable/ic_arrow_left_right_bold.xml | 11 - .../drawable/ic_arrow_up_circle_outline.xml | 11 - libaes/src/main/res/drawable/ic_call.xml | 11 - .../main/res/drawable/ic_dev_connected.xml | 11 - .../main/res/drawable/ic_dev_disconnected.xml | 11 - libaes/src/main/res/drawable/ic_email.xml | 11 - .../src/main/res/drawable/ic_email_alert.xml | 11 - libaes/src/main/res/drawable/ic_launcher.xml | 13 - .../res/drawable/ic_launcher_background.xml | 170 ----- .../res/drawable/ic_launcher_foreground.xml | 10 - libaes/src/main/res/drawable/ic_winboll.xml | 13 - .../main/res/drawable/ic_winboll_store.png | Bin 197451 -> 0 bytes .../src/main/res/drawable/ic_winbollbeta.xml | 11 - libaes/src/main/res/drawable/ohpcts_frame.xml | 43 -- .../src/main/res/drawable/pressed_shape.xml | 22 - .../src/main/res/drawable/shape_gradient.xml | 10 - libaes/src/main/res/drawable/toast_frame.xml | 7 - libaes/src/main/res/drawable/view_border.xml | 8 - libaes/src/main/res/drawable/winboll_help.xml | 27 - libaes/src/main/res/drawable/winboll_logo.xml | 48 -- .../src/main/res/drawable/winboll_point.xml | 20 - libaes/src/main/res/layout/activity_about.xml | 21 - .../src/main/res/layout/activity_drawer.xml | 57 -- .../res/layout/activity_drawerfragment.xml | 65 -- .../res/layout/activity_secondarylibrary.xml | 15 - .../layout/activity_test_aboutfragment.xml | 15 - .../layout/activity_testasupporttoolbar.xml | 15 - .../main/res/layout/activity_testatoolbar.xml | 15 - .../res/layout/dialog_privacy_agreement.xml | 76 --- .../main/res/layout/dialog_storagepath.xml | 43 -- .../src/main/res/layout/fragment_abutton.xml | 20 - .../res/layout/fragment_secondarylibrary.xml | 15 - libaes/src/main/res/layout/fragment_test1.xml | 15 - libaes/src/main/res/layout/fragment_test2.xml | 15 - .../src/main/res/layout/fragment_viewpage.xml | 60 -- .../main/res/layout/listview_drawermenu.xml | 28 - libaes/src/main/res/layout/view_adsbanner.xml | 15 - .../src/main/res/layout/view_adscontrol.xml | 75 --- libaes/src/main/res/layout/viewpage_acard.xml | 18 - .../main/res/layout/viewpage_aohpctccard.xml | 18 - .../main/res/layout/viewpage_aohpctcsb.xml | 35 - .../res/layout/viewpage_atickprogressbar.xml | 22 - .../main/res/menu/menu_qrcode_long_click.xml | 7 - libaes/src/main/res/menu/toolbar_appdebug.xml | 15 - libaes/src/main/res/menu/toolbar_apptheme.xml | 29 - .../src/main/res/menu/toolbar_drawerbase.xml | 5 - .../res/menu/toolbar_secondarylibrary.xml | 9 - libaes/src/main/res/values-night/colors.xml | 33 - libaes/src/main/res/values-night/styles.xml | 112 ---- libaes/src/main/res/values-zh/string.xml | 17 - libaes/src/main/res/values/attrs.xml | 77 --- libaes/src/main/res/values/colors.xml | 33 - libaes/src/main/res/values/dimens.xml | 16 - libaes/src/main/res/values/strings.xml | 22 - libaes/src/main/res/values/styles.xml | 112 ---- libaes/src/main/res/xml/file_provider.xml | 9 - .../main/res/xml/network_security_config.xml | 16 - libdebugtemp/.gitignore | 1 - libdebugtemp/build.gradle | 24 - libdebugtemp/build.properties | 8 - libdebugtemp/proguard-rules.pro | 17 - libdebugtemp/src/main/AndroidManifest.xml | 13 - .../cc/winboll/studio/LibraryActivity.java | 12 - .../main/res/drawable-hdpi/ic_launcher.png | Bin 9397 -> 0 bytes .../main/res/drawable-mdpi/ic_launcher.png | Bin 5237 -> 0 bytes .../main/res/drawable-xhdpi/ic_launcher.png | Bin 14383 -> 0 bytes .../main/res/drawable-xxhdpi/ic_launcher.png | Bin 19388 -> 0 bytes libdebugtemp/src/main/res/layout/library.xml | 11 - .../src/main/res/values-v21/styles.xml | 5 - libdebugtemp/src/main/res/values/strings.xml | 8 - libdebugtemp/src/main/res/values/styles.xml | 5 - 186 files changed, 9292 deletions(-) delete mode 100644 aes/.gitignore delete mode 100644 aes/README.md delete mode 100644 aes/app_update_description.txt delete mode 100644 aes/build.gradle delete mode 100644 aes/build.properties delete mode 100644 aes/proguard-rules.pro delete mode 100644 aes/src/beta/AndroidManifest.xml delete mode 100644 aes/src/beta/res/values/strings.xml delete mode 100644 aes/src/main/AndroidManifest.xml delete mode 100644 aes/src/main/java/cc/winboll/studio/aes/AboutActivity.java delete mode 100644 aes/src/main/java/cc/winboll/studio/aes/App.java delete mode 100644 aes/src/main/java/cc/winboll/studio/aes/BaseWinBoLLActivity.java delete mode 100644 aes/src/main/java/cc/winboll/studio/aes/MainActivity.java delete mode 100644 aes/src/main/java/cc/winboll/studio/aes/SettingsActivity.java delete mode 100644 aes/src/main/java/cc/winboll/studio/aes/TestActivityManagerActivity.java delete mode 100644 aes/src/main/java/cc/winboll/studio/aes/WinBoLLActivity.java delete mode 100644 aes/src/main/res/drawable-night/bg_frame.xml delete mode 100644 aes/src/main/res/drawable/bg_frame.xml delete mode 100644 aes/src/main/res/layout/activity_about.xml delete mode 100644 aes/src/main/res/layout/activity_settings.xml delete mode 100644 aes/src/main/res/layout/activity_testactivitymanager.xml delete mode 100644 aes/src/main/res/menu/toolbar_main.xml delete mode 100644 aes/src/main/res/values-night/styles.xml delete mode 100644 aes/src/main/res/values/colors.xml delete mode 100644 aes/src/main/res/values/strings.xml delete mode 100644 aes/src/main/res/values/styles.xml delete mode 100644 aes/src/main/res/xml/network_security_config.xml delete mode 100644 aes/src/stage/AndroidManifest.xml delete mode 100644 aes/src/stage/res/values/strings.xml delete mode 100644 debugtemp/README.md delete mode 100644 debugtemp/app_update_description.txt delete mode 100644 debugtemp/build.gradle delete mode 100644 debugtemp/build.properties delete mode 100644 debugtemp/proguard-rules.pro delete mode 100644 debugtemp/src/beta/AndroidManifest.xml delete mode 100644 debugtemp/src/beta/res/values/strings.xml delete mode 100644 debugtemp/src/main/AndroidManifest.xml delete mode 100644 debugtemp/src/main/java/cc/winboll/studio/debugtemp/App.java delete mode 100644 debugtemp/src/main/java/cc/winboll/studio/debugtemp/MainActivity.java delete mode 100644 debugtemp/src/main/res/drawable-v24/ic_launcher_foreground.xml delete mode 100644 debugtemp/src/main/res/drawable/ic_launcher_background.xml delete mode 100644 debugtemp/src/main/res/layout/activity_main.xml delete mode 100644 debugtemp/src/main/res/mipmap-anydpi-v26/ic_launcher.xml delete mode 100644 debugtemp/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml delete mode 100644 debugtemp/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100644 debugtemp/src/main/res/mipmap-hdpi/ic_launcher_round.png delete mode 100644 debugtemp/src/main/res/mipmap-mdpi/ic_launcher.png delete mode 100644 debugtemp/src/main/res/mipmap-mdpi/ic_launcher_round.png delete mode 100644 debugtemp/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 debugtemp/src/main/res/mipmap-xhdpi/ic_launcher_round.png delete mode 100644 debugtemp/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 debugtemp/src/main/res/mipmap-xxhdpi/ic_launcher_round.png delete mode 100644 debugtemp/src/main/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 debugtemp/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png delete mode 100644 debugtemp/src/main/res/values/colors.xml delete mode 100644 debugtemp/src/main/res/values/strings.xml delete mode 100644 debugtemp/src/main/res/values/styles.xml delete mode 100644 debugtemp/src/stage/AndroidManifest.xml delete mode 100644 debugtemp/src/stage/res/values/strings.xml delete mode 100644 libaes/.gitignore delete mode 100644 libaes/build.gradle delete mode 100644 libaes/build.properties delete mode 100644 libaes/libs/colorpicker-20180319.jar delete mode 100644 libaes/proguard-rules.pro delete mode 100644 libaes/src/main/AndroidManifest.xml delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/DrawerMenuDataAdapter.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/ImagePagerAdapter.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/activitys/DrawerFragmentActivity.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/dialogs/LocalFileSelectDialog.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/dialogs/StoragePathDialog.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/dialogs/YesNoAlertDialog.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/enums/ADsMode.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/enums/PrivacyAgreeStatus.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/interfaces/IWinBoLLActivity.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/models/AESThemeBean.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/models/APPInfo.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/models/DrawerMenuBean.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/models/WinBoLLClientServiceBean.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/unittests/SecondaryLibraryActivity.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/unittests/SecondaryLibraryFragment.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/unittests/TestAButtonFragment.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/unittests/TestASupportToolbarActivity.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/unittests/TestAToolbarActivity.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/unittests/TestDrawerFragmentActivity.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/unittests/TestViewPageFragment.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/utils/AESThemeUtil.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/utils/AppVersionUtils.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/utils/DevelopUtils.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/utils/MimoUtils.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/utils/MyActivityLifecycleCallbacks.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/utils/PrefUtils.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/utils/ScreenUtil.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/utils/WebUtils.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/utils/WinBoLLActivityManager.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/views/AButton.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/views/ACard.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/views/ADrawerMenuListView.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/views/ADsBannerView.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/views/ADsControlView.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/views/AOHPCTCSeekBar.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/views/AOHPCTSCard.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/views/ASupportToolbar.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/views/ATickProgressBar.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/views/AToolbar.java delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/views/AboutView.java delete mode 100644 libaes/src/main/res/anim/normal_dialog_enter_center.xml delete mode 100644 libaes/src/main/res/anim/normal_dialog_enter_corner.xml delete mode 100644 libaes/src/main/res/anim/normal_dialog_exit_center.xml delete mode 100644 libaes/src/main/res/anim/normal_dialog_exit_corner.xml delete mode 100644 libaes/src/main/res/drawable/acard_frame_main.xml delete mode 100644 libaes/src/main/res/drawable/atoolbar_frame.xml delete mode 100644 libaes/src/main/res/drawable/bg_container_border.xml delete mode 100644 libaes/src/main/res/drawable/bg_shadow.xml delete mode 100644 libaes/src/main/res/drawable/btn_style.xml delete mode 100644 libaes/src/main/res/drawable/default_shape.xml delete mode 100644 libaes/src/main/res/drawable/ic_arrow_left_right_bold.xml delete mode 100644 libaes/src/main/res/drawable/ic_arrow_up_circle_outline.xml delete mode 100644 libaes/src/main/res/drawable/ic_call.xml delete mode 100644 libaes/src/main/res/drawable/ic_dev_connected.xml delete mode 100644 libaes/src/main/res/drawable/ic_dev_disconnected.xml delete mode 100644 libaes/src/main/res/drawable/ic_email.xml delete mode 100644 libaes/src/main/res/drawable/ic_email_alert.xml delete mode 100644 libaes/src/main/res/drawable/ic_launcher.xml delete mode 100644 libaes/src/main/res/drawable/ic_launcher_background.xml delete mode 100644 libaes/src/main/res/drawable/ic_launcher_foreground.xml delete mode 100644 libaes/src/main/res/drawable/ic_winboll.xml delete mode 100644 libaes/src/main/res/drawable/ic_winboll_store.png delete mode 100644 libaes/src/main/res/drawable/ic_winbollbeta.xml delete mode 100644 libaes/src/main/res/drawable/ohpcts_frame.xml delete mode 100644 libaes/src/main/res/drawable/pressed_shape.xml delete mode 100644 libaes/src/main/res/drawable/shape_gradient.xml delete mode 100644 libaes/src/main/res/drawable/toast_frame.xml delete mode 100644 libaes/src/main/res/drawable/view_border.xml delete mode 100644 libaes/src/main/res/drawable/winboll_help.xml delete mode 100644 libaes/src/main/res/drawable/winboll_logo.xml delete mode 100644 libaes/src/main/res/drawable/winboll_point.xml delete mode 100644 libaes/src/main/res/layout/activity_about.xml delete mode 100644 libaes/src/main/res/layout/activity_drawer.xml delete mode 100644 libaes/src/main/res/layout/activity_drawerfragment.xml delete mode 100644 libaes/src/main/res/layout/activity_secondarylibrary.xml delete mode 100644 libaes/src/main/res/layout/activity_test_aboutfragment.xml delete mode 100644 libaes/src/main/res/layout/activity_testasupporttoolbar.xml delete mode 100644 libaes/src/main/res/layout/activity_testatoolbar.xml delete mode 100644 libaes/src/main/res/layout/dialog_privacy_agreement.xml delete mode 100644 libaes/src/main/res/layout/dialog_storagepath.xml delete mode 100644 libaes/src/main/res/layout/fragment_abutton.xml delete mode 100644 libaes/src/main/res/layout/fragment_secondarylibrary.xml delete mode 100644 libaes/src/main/res/layout/fragment_test1.xml delete mode 100644 libaes/src/main/res/layout/fragment_test2.xml delete mode 100644 libaes/src/main/res/layout/fragment_viewpage.xml delete mode 100644 libaes/src/main/res/layout/listview_drawermenu.xml delete mode 100644 libaes/src/main/res/layout/view_adsbanner.xml delete mode 100644 libaes/src/main/res/layout/view_adscontrol.xml delete mode 100644 libaes/src/main/res/layout/viewpage_acard.xml delete mode 100644 libaes/src/main/res/layout/viewpage_aohpctccard.xml delete mode 100644 libaes/src/main/res/layout/viewpage_aohpctcsb.xml delete mode 100644 libaes/src/main/res/layout/viewpage_atickprogressbar.xml delete mode 100644 libaes/src/main/res/menu/menu_qrcode_long_click.xml delete mode 100644 libaes/src/main/res/menu/toolbar_appdebug.xml delete mode 100644 libaes/src/main/res/menu/toolbar_apptheme.xml delete mode 100644 libaes/src/main/res/menu/toolbar_drawerbase.xml delete mode 100644 libaes/src/main/res/menu/toolbar_secondarylibrary.xml delete mode 100644 libaes/src/main/res/values-night/colors.xml delete mode 100644 libaes/src/main/res/values-night/styles.xml delete mode 100644 libaes/src/main/res/values-zh/string.xml delete mode 100644 libaes/src/main/res/values/attrs.xml delete mode 100644 libaes/src/main/res/values/colors.xml delete mode 100644 libaes/src/main/res/values/dimens.xml delete mode 100644 libaes/src/main/res/values/strings.xml delete mode 100644 libaes/src/main/res/values/styles.xml delete mode 100644 libaes/src/main/res/xml/file_provider.xml delete mode 100644 libaes/src/main/res/xml/network_security_config.xml delete mode 100644 libdebugtemp/.gitignore delete mode 100644 libdebugtemp/build.gradle delete mode 100644 libdebugtemp/build.properties delete mode 100644 libdebugtemp/proguard-rules.pro delete mode 100644 libdebugtemp/src/main/AndroidManifest.xml delete mode 100644 libdebugtemp/src/main/java/cc/winboll/studio/LibraryActivity.java delete mode 100644 libdebugtemp/src/main/res/drawable-hdpi/ic_launcher.png delete mode 100644 libdebugtemp/src/main/res/drawable-mdpi/ic_launcher.png delete mode 100644 libdebugtemp/src/main/res/drawable-xhdpi/ic_launcher.png delete mode 100644 libdebugtemp/src/main/res/drawable-xxhdpi/ic_launcher.png delete mode 100644 libdebugtemp/src/main/res/layout/library.xml delete mode 100644 libdebugtemp/src/main/res/values-v21/styles.xml delete mode 100644 libdebugtemp/src/main/res/values/strings.xml delete mode 100644 libdebugtemp/src/main/res/values/styles.xml diff --git a/aes/.gitignore b/aes/.gitignore deleted file mode 100644 index 42afabf..0000000 --- a/aes/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build \ No newline at end of file diff --git a/aes/README.md b/aes/README.md deleted file mode 100644 index 1606637..0000000 --- a/aes/README.md +++ /dev/null @@ -1,36 +0,0 @@ -# AES -[![](https://jitpack.io/v/ZhanGSKen/AES.svg)](https://jitpack.io/#ZhanGSKen/AES) - -#### 介绍 -WinBoLL AndroidX 可视化元素类库。 - -#### 软件架构 -适配安卓应用 [AIDE Pro] 的 Gradle 编译结构。 -也适配安卓应用 [AndroidIDE] 的 Gradle 编译结构。 - - -#### Gradle 编译说明 -调试版编译命令 :gradle assembleBetaDebug -阶段版编译命令 :bash .winboll/bashPublishAPKAddTag.sh aes -阶段版类库发布命令 :git pull &&bash .winboll/bashPublishLIBAddTag.sh libaes - -#### 使用说明 - -#### 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 : ZhanGSKen(ZhanGSKen) -4. 新建 Pull Request - - -#### 特技 - -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 -5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) - -#### 参考文档 diff --git a/aes/app_update_description.txt b/aes/app_update_description.txt deleted file mode 100644 index 8b13789..0000000 --- a/aes/app_update_description.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/aes/build.gradle b/aes/build.gradle deleted file mode 100644 index 8039c8c..0000000 --- a/aes/build.gradle +++ /dev/null @@ -1,48 +0,0 @@ -apply plugin: 'com.android.application' -apply from: '../.winboll/winboll_app_build.gradle' -apply from: '../.winboll/winboll_lint_build.gradle' - -def genVersionName(def versionName){ - // 检查编译标志位配置 - assert (winbollBuildProps['stageCount'] != null) - assert (winbollBuildProps['baseVersion'] != null) - // 保存基础版本号 - winbollBuildProps.setProperty("baseVersion", "${versionName}"); - //保存编译标志配置 - FileOutputStream fos = new FileOutputStream(winbollBuildPropsFile) - winbollBuildProps.store(fos, "${winbollBuildPropsDesc}"); - fos.close(); - - // 返回编译版本号 - return "${versionName}." + winbollBuildProps['stageCount'] -} - -android { - // 适配MIUI12 - compileSdkVersion 30 - buildToolsVersion "30.0.3" - - defaultConfig { - applicationId "cc.winboll.studio.aes" - minSdkVersion 26 - targetSdkVersion 30 - versionCode 1 - // versionName 更新后需要手动设置 - // 项目模块目录的 build.gradle 文件的 stageCount=0 - // Gradle编译环境下合起来的 versionName 就是 "${versionName}.0" - versionName "15.20" - if(true) { - versionName = genVersionName("${versionName}") - } - } - - // 米盟 SDK - packagingOptions { - doNotStrip "*/*/libmimo_1011.so" - } -} - -dependencies { - api project(':libaes') - api fileTree(dir: 'libs', include: ['*.jar']) -} diff --git a/aes/build.properties b/aes/build.properties deleted file mode 100644 index 4e746cb..0000000 --- a/aes/build.properties +++ /dev/null @@ -1,8 +0,0 @@ -#Created by .winboll/winboll_app_build.gradle -#Tue May 12 13:11:28 HKT 2026 -stageCount=4 -libraryProject=libaes -baseVersion=15.20 -publishVersion=15.20.3 -buildCount=0 -baseBetaVersion=15.20.4 diff --git a/aes/proguard-rules.pro b/aes/proguard-rules.pro deleted file mode 100644 index a18de74..0000000 --- a/aes/proguard-rules.pro +++ /dev/null @@ -1,137 +0,0 @@ -# Add project specific ProGuard rules here. -# By default, the flags in this file are appended to flags specified -# in C:\tools\adt-bundle-windows-x86_64-20131030\sdk/tools/proguard/proguard-android.txt -# You can edit the include path and order by changing the proguardFiles -# directive in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# Add any project specific keep options here: - -# ============================== 基础通用规则 ============================== -# 保留系统组件 --keep public class * extends android.app.Activity --keep public class * extends android.app.Service --keep public class * extends android.content.BroadcastReceiver --keep public class * extends android.content.ContentProvider --keep public class * extends android.app.backup.BackupAgentHelper --keep public class * extends android.preference.Preference - -# 保留 WinBoLL 核心包及子类(合并简化规则) --keep class cc.winboll.studio.** { *; } --keepclassmembers class cc.winboll.studio.** { *; } - -# 保留所有类中的 public static final String TAG 字段(便于日志定位) --keepclassmembers class * { - public static final java.lang.String TAG; -} - -# 保留序列化类(避免Parcelable/Gson解析异常) --keep class * implements android.os.Parcelable { - public static final android.os.Parcelable$Creator *; -} --keepclassmembers class * implements java.io.Serializable { - static final long serialVersionUID; - private static final java.io.ObjectStreamField[] serialPersistentFields; - private void writeObject(java.io.ObjectOutputStream); - private void readObject(java.io.ObjectInputStream); - java.lang.Object writeReplace(); - java.lang.Object readResolve(); -} - -# 保留 R 文件(避免资源ID混淆) --keepclassmembers class **.R$* { - public static ; -} - -# 保留 native 方法(避免JNI调用失败) --keepclasseswithmembernames class * { - native ; -} - -# 保留注解和泛型(避免反射/序列化异常) --keepattributes *Annotation* --keepattributes Signature - -# 屏蔽 Java 8+ 警告(适配 Java 7 语法) --dontwarn java.lang.invoke.* --dontwarn android.support.v8.renderscript.* --dontwarn java.util.function.** - -# ============================== 第三方框架专项规则 ============================== -# OkHttp 4.4.1(米盟广告请求依赖,完善Lambda兼容) --keep class okhttp3.** { *; } --keep interface okhttp3.** { *; } --keep class okhttp3.internal.** { *; } --keep class okio.** { *; } --dontwarn okhttp3.internal.platform.** --dontwarn okio.** - -# Glide 4.9.0(米盟广告图片加载依赖) --keep public class * implements com.bumptech.glide.module.GlideModule --keep public class * extends com.bumptech.glide.module.AppGlideModule --keep public enum com.bumptech.glide.load.ImageHeaderParser$ImageType { - **[] $VALUES; - public *; -} --keepclassmembers class * implements com.bumptech.glide.module.AppGlideModule { - (); -} --dontwarn com.bumptech.glide.** - -# Gson 2.8.5(米盟广告数据序列化依赖) --keep class com.google.gson.** { *; } --keep interface com.google.gson.** { *; } --keepclassmembers class * { - @com.google.gson.annotations.SerializedName ; -} - -# 米盟 SDK(核心广告组件,完整保留避免加载失败) --keep class com.miui.zeus.** { *; } --keep interface com.miui.zeus.** { *; } -# 保留米盟日志字段(便于广告加载失败排查) --keepclassmembers class com.miui.zeus.mimo.sdk.** { - public static final java.lang.String TAG; -} - -# RecyclerView 1.0.0(米盟广告布局渲染依赖) --keep class androidx.recyclerview.** { *; } --keep interface androidx.recyclerview.** { *; } --keepclassmembers class androidx.recyclerview.widget.RecyclerView$Adapter { - public *; -} - -# 其他第三方框架(按引入依赖保留,无则可删除) -# XXPermissions 18.63 --keep class com.hjq.permissions.** { *; } --keep interface com.hjq.permissions.** { *; } - -# ZXing 二维码(核心解析组件) --keep class com.google.zxing.** { *; } --keep class com.journeyapps.zxing.** { *; } - -# Jsoup HTML解析 --keep class org.jsoup.** { *; } - -# Pinyin4j 拼音搜索 --keep class net.sourceforge.pinyin4j.** { *; } - -# JSch SSH组件 --keep class com.jcraft.jsch.** { *; } - -# AndroidX 基础组件 --keep class androidx.appcompat.** { *; } --keep interface androidx.appcompat.** { *; } - -# ============================== 优化与调试配置 ============================== -# 优化级别(平衡混淆效果与性能) --optimizationpasses 5 --optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/* - -# 调试辅助(保留行号便于崩溃定位) --verbose --dontpreverify --dontusemixedcaseclassnames --keepattributes SourceFile,LineNumberTable - diff --git a/aes/src/beta/AndroidManifest.xml b/aes/src/beta/AndroidManifest.xml deleted file mode 100644 index ee78d9f..0000000 --- a/aes/src/beta/AndroidManifest.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - diff --git a/aes/src/beta/res/values/strings.xml b/aes/src/beta/res/values/strings.xml deleted file mode 100644 index 6f287f2..0000000 --- a/aes/src/beta/res/values/strings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - AES+ - diff --git a/aes/src/main/AndroidManifest.xml b/aes/src/main/AndroidManifest.xml deleted file mode 100644 index c732afa..0000000 --- a/aes/src/main/AndroidManifest.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/aes/src/main/java/cc/winboll/studio/aes/AboutActivity.java b/aes/src/main/java/cc/winboll/studio/aes/AboutActivity.java deleted file mode 100644 index 26c89bf..0000000 --- a/aes/src/main/java/cc/winboll/studio/aes/AboutActivity.java +++ /dev/null @@ -1,78 +0,0 @@ -package cc.winboll.studio.aes; - -import android.os.Bundle; -import android.view.View; -import androidx.appcompat.widget.Toolbar; -import cc.winboll.studio.aes.R; -import cc.winboll.studio.libaes.utils.WinBoLLActivityManager; -import cc.winboll.studio.libappbase.LogUtils; -import cc.winboll.studio.libappbase.models.APPInfo; -import cc.winboll.studio.libappbase.views.AboutView; - -/** - * @Author 豆包&ZhanGSKen - * @Date 2026/01/13 11:25 - * @Describe 应用介绍窗口 - */ -public class AboutActivity extends BaseWinBoLLActivity { - - public static final String TAG = "AboutActivity"; - - private Toolbar mToolbar; - - @Override - public String getTag() { - return TAG; - } - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_about); - - // 设置工具栏 - initToolbar(); - - AboutView aboutView = findViewById(R.id.aboutview); - aboutView.setAPPInfo(genDefaultAppInfo()); - } - - private void initToolbar() { - LogUtils.d(TAG, "initToolbar() 开始初始化"); - mToolbar = findViewById(R.id.toolbar); - if (mToolbar == null) { - LogUtils.e(TAG, "initToolbar() | Toolbar未找到"); - return; - } - setSupportActionBar(mToolbar); - mToolbar.setSubtitle(getTag()); - getSupportActionBar().setDisplayHomeAsUpEnabled(true); - mToolbar.setNavigationOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - LogUtils.d(TAG, "导航栏 点击返回按钮"); - WinBoLLActivityManager.getInstance().resumeActivity(MainActivity.class); - WinBoLLActivityManager.getInstance().finish(AboutActivity.this); - } - }); - LogUtils.d(TAG, "initToolbar() 配置完成"); - } - - private APPInfo genDefaultAppInfo() { - LogUtils.d(TAG, "genDefaultAppInfo() 调用"); - String branchName = "aes"; - APPInfo appInfo = new APPInfo(); - appInfo.setAppName(getString(R.string.app_name)); - appInfo.setAppIcon(R.drawable.ic_winboll); - appInfo.setAppDescription(getString(R.string.app_description)); - appInfo.setAppGitName("AES"); - appInfo.setAppGitOwner("Studio"); - appInfo.setAppGitAPPBranch(branchName); - appInfo.setAppGitAPPSubProjectFolder(branchName); - appInfo.setAppHomePage("https://www.winboll.cc/apks/index.php?project=AES"); - appInfo.setAppAPKName("AES"); - appInfo.setAppAPKFolderName("AES"); - LogUtils.d(TAG, "genDefaultAppInfo: 应用信息已生成"); - return appInfo; - } -} diff --git a/aes/src/main/java/cc/winboll/studio/aes/App.java b/aes/src/main/java/cc/winboll/studio/aes/App.java deleted file mode 100644 index f6816f7..0000000 --- a/aes/src/main/java/cc/winboll/studio/aes/App.java +++ /dev/null @@ -1,34 +0,0 @@ -package cc.winboll.studio.aes; - -/** - * @Author ZhanGSKen - * @Date 2024/06/13 19:03:58 - * @Describe AES应用类 - */ -import android.view.Gravity; -import cc.winboll.studio.libaes.utils.WinBoLLActivityManager; -import cc.winboll.studio.libappbase.GlobalApplication; -import cc.winboll.studio.libappbase.ToastUtils; - - -public class App extends GlobalApplication { - - public static final String TAG = "App"; - - @Override - public void onCreate() { - super.onCreate(); - setIsDebugging(BuildConfig.DEBUG); - //setIsDebugging(false); - WinBoLLActivityManager.init(this); - - // 初始化 Toast 框架 - ToastUtils.init(this); - } - - @Override - public void onTerminate() { - super.onTerminate(); - ToastUtils.release(); - } -} diff --git a/aes/src/main/java/cc/winboll/studio/aes/BaseWinBoLLActivity.java b/aes/src/main/java/cc/winboll/studio/aes/BaseWinBoLLActivity.java deleted file mode 100644 index 0526f82..0000000 --- a/aes/src/main/java/cc/winboll/studio/aes/BaseWinBoLLActivity.java +++ /dev/null @@ -1,45 +0,0 @@ -package cc.winboll.studio.aes; - -import android.app.Activity; -import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; -import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity; -import cc.winboll.studio.libaes.models.AESThemeBean; -import cc.winboll.studio.libaes.utils.AESThemeUtil; -import cc.winboll.studio.libaes.utils.WinBoLLActivityManager; - -/** - * @Author 豆包&ZhanGSKen - * @Date 2026/01/13 16:35 - * @Describe BaseWinBollActivity 【继承AppCompatActivity,保留核心能力,不额外暴露方法】 - * 继承链路:BaseWinBoLLActivity → AppCompatActivity → FragmentActivity,AppCompat能力天然继承可用 - */ -public abstract class BaseWinBoLLActivity extends AppCompatActivity implements IWinBoLLActivity { - public static final String TAG = "BaseWinBoLLActivity"; - - protected volatile AESThemeBean.ThemeType mThemeType; - - @Override - protected void onCreate(Bundle savedInstanceState) { - mThemeType = AESThemeBean.getThemeStyleType(AESThemeUtil.getThemeTypeID(getApplicationContext())); - setTheme(AESThemeUtil.getThemeTypeID(getApplicationContext())); - super.onCreate(savedInstanceState); - WinBoLLActivityManager.getInstance().add(this); - } - - @Override - protected void onDestroy() { - WinBoLLActivityManager.getInstance().registeRemove(this); - super.onDestroy(); - } - - // 子类必须实现getTag(),确保唯一标识 - @Override - public abstract String getTag(); - - @Override - public Activity getActivity() { - return this; - } -} - diff --git a/aes/src/main/java/cc/winboll/studio/aes/MainActivity.java b/aes/src/main/java/cc/winboll/studio/aes/MainActivity.java deleted file mode 100644 index 927c852..0000000 --- a/aes/src/main/java/cc/winboll/studio/aes/MainActivity.java +++ /dev/null @@ -1,196 +0,0 @@ -package cc.winboll.studio.aes; - -/** - * @Author ZhanGSKen - * @Date 2024/06/13 19:05:52 - * @Describe 应用主窗口 - */ -import android.app.Activity; -import android.content.Intent; -import android.os.Bundle; -import android.view.Menu; -import android.view.MenuItem; -import android.view.View; -import android.widget.AdapterView; -import android.widget.Toast; -import cc.winboll.studio.aes.R; -import cc.winboll.studio.libaes.activitys.DrawerFragmentActivity; -import cc.winboll.studio.libaes.dialogs.LocalFileSelectDialog; -import cc.winboll.studio.libaes.dialogs.StoragePathDialog; -import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity; -import cc.winboll.studio.libaes.models.DrawerMenuBean; -import cc.winboll.studio.libaes.unittests.SecondaryLibraryActivity; -import cc.winboll.studio.libaes.unittests.TestAButtonFragment; -import cc.winboll.studio.libaes.unittests.TestASupportToolbarActivity; -import cc.winboll.studio.libaes.unittests.TestAToolbarActivity; -import cc.winboll.studio.libaes.unittests.TestDrawerFragmentActivity; -import cc.winboll.studio.libaes.unittests.TestViewPageFragment; -import cc.winboll.studio.libaes.utils.WinBoLLActivityManager; -import cc.winboll.studio.libappbase.LogUtils; -import com.a4455jkjh.colorpicker.ColorPickerDialog; -import java.util.ArrayList; - -public class MainActivity extends DrawerFragmentActivity { - - - public static final String TAG = "MainActivity"; - - TestAButtonFragment mTestAButtonFragment; - TestViewPageFragment mTestViewPageFragment; - - @Override - public String getTag() { - return TAG; - } - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - if (mTestAButtonFragment == null) { - mTestAButtonFragment = new TestAButtonFragment(); - addFragment(mTestAButtonFragment); - } - showFragment(mTestAButtonFragment); - //setSubtitle(TAG); - //ToastUtils.show("onCreate"); - } - - @Override - public void initDrawerMenuItemList(ArrayList listDrawerMenu) { - super.initDrawerMenuItemList(listDrawerMenu); - LogUtils.d(TAG, "initDrawerMenuItemList"); - //listDrawerMenu.clear(); - // 添加抽屉菜单项 - listDrawerMenu.add(new DrawerMenuBean(R.drawable.ic_launcher, TestAButtonFragment.TAG)); - listDrawerMenu.add(new DrawerMenuBean(R.drawable.ic_launcher, TestViewPageFragment.TAG)); - notifyDrawerMenuDataChanged(); - } - - @Override - public void reinitDrawerMenuItemList(ArrayList listDrawerMenu) { - super.reinitDrawerMenuItemList(listDrawerMenu); - LogUtils.d(TAG, "reinitDrawerMenuItemList"); - //listDrawerMenu.clear(); - // 添加抽屉菜单项 - listDrawerMenu.add(new DrawerMenuBean(R.drawable.ic_launcher, TestAButtonFragment.TAG)); - listDrawerMenu.add(new DrawerMenuBean(R.drawable.ic_launcher, TestViewPageFragment.TAG)); - notifyDrawerMenuDataChanged(); - } - - @Override - public DrawerFragmentActivity.ActivityType initActivityType() { - return DrawerFragmentActivity.ActivityType.Main; - } - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - getMenuInflater().inflate(R.menu.toolbar_main, menu); -// if(App.isDebugging()) { -// getMenuInflater().inflate(cc.winboll.studio.libaes.R.menu.toolbar_studio_debug, menu); -// } - return super.onCreateOptionsMenu(menu); - } - - @Override - public void onItemClick(AdapterView parent, View view, int position, long id) { - super.onItemClick(parent, view, position, id); - switch (position) { - case 0 : { - if (mTestAButtonFragment == null) { - mTestAButtonFragment = new TestAButtonFragment(); - addFragment(mTestAButtonFragment); - } - showFragment(mTestAButtonFragment); - break; - } - case 1 : { - if (mTestViewPageFragment == null) { - mTestViewPageFragment = new TestViewPageFragment(); - addFragment(mTestViewPageFragment); - } - showFragment(mTestViewPageFragment); - break; - } - } - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - int nItemId = item.getItemId(); - if (item.getItemId() == R.id.item_testactivitymanager) { - WinBoLLActivityManager.getInstance().startWinBoLLActivity(this, TestActivityManagerActivity.class); - //ToastUtils.show("item_testactivitymanager"); - } else - if (nItemId == R.id.item_atoast) { - Toast.makeText(getApplication(), "item_testatoast", Toast.LENGTH_SHORT).show(); - } else if (nItemId == R.id.item_atoolbar) { - Intent intent = new Intent(this, TestAToolbarActivity.class); - startActivity(intent); - - } else if (nItemId == R.id.item_asupporttoolbar) { - Intent intent = new Intent(this, TestASupportToolbarActivity.class); - startActivity(intent); - - } else if (nItemId == R.id.item_colordialog) { - ColorPickerDialog dlg = new ColorPickerDialog(this, getResources().getColor(R.color.colorPrimary)); - dlg.setOnColorChangedListener(new com.a4455jkjh.colorpicker.view.OnColorChangedListener() { - - @Override - public void beforeColorChanged() { - } - - @Override - public void onColorChanged(int color) { - - } - - @Override - public void afterColorChanged() { - } - - - }); - dlg.show(); - - } else if (nItemId == R.id.item_dialogstoragepath) { - final StoragePathDialog dialog = new StoragePathDialog(this, 0); - dialog.setOnOKClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - dialog.dismiss(); - } - }); - dialog.show(); - - } else if (nItemId == R.id.item_localfileselectdialog) { - final LocalFileSelectDialog dialog = new LocalFileSelectDialog(this); - dialog.setOnOKClickListener(new LocalFileSelectDialog.OKClickListener() { - @Override - public void onOKClick(String sz) { - Toast.makeText(getApplication(), sz, Toast.LENGTH_SHORT).show(); - //dialog.dismiss(); - } - }); - dialog.open(); - - } else if (nItemId == R.id.item_secondarylibraryactivity) { - Intent intent = new Intent(this, SecondaryLibraryActivity.class); - startActivity(intent); - } else if (nItemId == R.id.item_drawerfragmentactivity) { - Intent intent = new Intent(this, TestDrawerFragmentActivity.class); - startActivity(intent); - } else if (nItemId == R.id.item_settings) { - Intent intent = new Intent(this, SettingsActivity.class); - startActivity(intent); - } else if (nItemId == R.id.item_about) { -// Intent intent = new Intent(this, AboutActivity.class); -// startActivity(intent); - WinBoLLActivityManager.getInstance().startWinBoLLActivity(this, AboutActivity.class); - } - - - return super.onOptionsItemSelected(item); - } - - -} diff --git a/aes/src/main/java/cc/winboll/studio/aes/SettingsActivity.java b/aes/src/main/java/cc/winboll/studio/aes/SettingsActivity.java deleted file mode 100644 index 1767c02..0000000 --- a/aes/src/main/java/cc/winboll/studio/aes/SettingsActivity.java +++ /dev/null @@ -1,39 +0,0 @@ -package cc.winboll.studio.aes; - -import android.app.Activity; -import android.content.Intent; -import android.os.Bundle; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import cc.winboll.studio.libaes.views.ADsControlView; - -/** - * @Author ZhanGSKen&豆包大模型 - * @Date 2025/11/26 18:01 - * @Describe SettingsActivity - */ -public class SettingsActivity extends Activity { - - public static final String TAG = "SettingsActivity"; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_settings); - ADsControlView adsControlView = (ADsControlView) findViewById(R.id.ads_control_view); - -// adsControlView.setOnAdsModeSelectedListener(new ADsControlView.OnAdsModeSelectedListener() { -// @Override -// public void onModeSelected(ADsMode selectedMode) { -// if (selectedMode == ADsMode.STANDALONE) { -// // 处理单机模式逻辑(如释放米盟资源) -// ToastUtils.show("STANDALONE"); -// } else if (selectedMode == ADsMode.MIMO_SDK) { -// // 处理米盟SDK模式逻辑(如初始化SDK) -// ToastUtils.show("MIMO_SDK"); -// } -// } -// }); - } - -} diff --git a/aes/src/main/java/cc/winboll/studio/aes/TestActivityManagerActivity.java b/aes/src/main/java/cc/winboll/studio/aes/TestActivityManagerActivity.java deleted file mode 100644 index 71d114d..0000000 --- a/aes/src/main/java/cc/winboll/studio/aes/TestActivityManagerActivity.java +++ /dev/null @@ -1,33 +0,0 @@ -package cc.winboll.studio.aes; - -import android.app.Activity; -import android.os.Bundle; -import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity; - -/** - * @Author ZhanGSKen&豆包大模型 - * @Date 2025/09/28 21:07 - * @Describe 窗口管理类测试窗口 - */ -public class TestActivityManagerActivity extends WinBoLLActivity implements IWinBoLLActivity { - - public static final String TAG = "TestActivityManagerActivity"; - - @Override - public Activity getActivity() { - return this; - } - - @Override - public String getTag() { - return TAG; - } - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_testactivitymanager); - - } - -} diff --git a/aes/src/main/java/cc/winboll/studio/aes/WinBoLLActivity.java b/aes/src/main/java/cc/winboll/studio/aes/WinBoLLActivity.java deleted file mode 100644 index bc45765..0000000 --- a/aes/src/main/java/cc/winboll/studio/aes/WinBoLLActivity.java +++ /dev/null @@ -1,60 +0,0 @@ -package cc.winboll.studio.aes; - -/** - * @Author ZhanGSKen&豆包大模型 - * @Date 2025/09/29 00:11 - * @Describe WinBoLL 窗口基础类 - */ -import android.app.Activity; -import android.os.Bundle; -import android.view.MenuItem; -import androidx.appcompat.app.AppCompatActivity; -import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity; -import cc.winboll.studio.libaes.utils.WinBoLLActivityManager; -import cc.winboll.studio.libappbase.LogUtils; - -public class WinBoLLActivity extends AppCompatActivity implements IWinBoLLActivity { - - public static final String TAG = "WinBoLLActivity"; - - @Override - public Activity getActivity() { - return this; - } - - @Override - public String getTag() { - return TAG; - } - - @Override - protected void onResume() { - super.onResume(); - LogUtils.d(TAG, String.format("onResume %s", getTag())); - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - /*if (item.getItemId() == R.id.item_log) { - WinBoLLActivityManager.getInstance().startLogActivity(this); - return true; - } else if (item.getItemId() == R.id.item_home) { - startActivity(new Intent(this, MainActivity.class)); - return true; - }*/ - // 在switch语句中处理每个ID,并在处理完后返回true,未处理的情况返回false。 - return super.onOptionsItemSelected(item); - } - - @Override - protected void onPostCreate(Bundle savedInstanceState) { - super.onPostCreate(savedInstanceState); - WinBoLLActivityManager.getInstance().add(this); - } - - @Override - protected void onDestroy() { - super.onDestroy(); - WinBoLLActivityManager.getInstance().finish(this); - } -} diff --git a/aes/src/main/res/drawable-night/bg_frame.xml b/aes/src/main/res/drawable-night/bg_frame.xml deleted file mode 100644 index bf2fe54..0000000 --- a/aes/src/main/res/drawable-night/bg_frame.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/aes/src/main/res/drawable/bg_frame.xml b/aes/src/main/res/drawable/bg_frame.xml deleted file mode 100644 index 2f208a6..0000000 --- a/aes/src/main/res/drawable/bg_frame.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/aes/src/main/res/layout/activity_about.xml b/aes/src/main/res/layout/activity_about.xml deleted file mode 100644 index 5cbe3fd..0000000 --- a/aes/src/main/res/layout/activity_about.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - diff --git a/aes/src/main/res/layout/activity_settings.xml b/aes/src/main/res/layout/activity_settings.xml deleted file mode 100644 index 99dee06..0000000 --- a/aes/src/main/res/layout/activity_settings.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - diff --git a/aes/src/main/res/layout/activity_testactivitymanager.xml b/aes/src/main/res/layout/activity_testactivitymanager.xml deleted file mode 100644 index f46d824..0000000 --- a/aes/src/main/res/layout/activity_testactivitymanager.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - diff --git a/aes/src/main/res/menu/toolbar_main.xml b/aes/src/main/res/menu/toolbar_main.xml deleted file mode 100644 index b87657a..0000000 --- a/aes/src/main/res/menu/toolbar_main.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/aes/src/main/res/values-night/styles.xml b/aes/src/main/res/values-night/styles.xml deleted file mode 100644 index 5ac0e76..0000000 --- a/aes/src/main/res/values-night/styles.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/aes/src/main/res/values/colors.xml b/aes/src/main/res/values/colors.xml deleted file mode 100644 index 87d3836..0000000 --- a/aes/src/main/res/values/colors.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - #FF00B322 - #FF005C12 - #FF8DFFA2 - #FFFFFB8D - diff --git a/aes/src/main/res/values/strings.xml b/aes/src/main/res/values/strings.xml deleted file mode 100644 index 664f43a..0000000 --- a/aes/src/main/res/values/strings.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - AES - WinBoLL AndroidX 可视化元素类库。 - - diff --git a/aes/src/main/res/values/styles.xml b/aes/src/main/res/values/styles.xml deleted file mode 100644 index 267068a..0000000 --- a/aes/src/main/res/values/styles.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/aes/src/main/res/xml/network_security_config.xml b/aes/src/main/res/xml/network_security_config.xml deleted file mode 100644 index ee39aa4..0000000 --- a/aes/src/main/res/xml/network_security_config.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - winboll.cc - - diff --git a/aes/src/stage/AndroidManifest.xml b/aes/src/stage/AndroidManifest.xml deleted file mode 100644 index ee78d9f..0000000 --- a/aes/src/stage/AndroidManifest.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - diff --git a/aes/src/stage/res/values/strings.xml b/aes/src/stage/res/values/strings.xml deleted file mode 100644 index ace0c41..0000000 --- a/aes/src/stage/res/values/strings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/debugtemp/README.md b/debugtemp/README.md deleted file mode 100644 index 070f4b4..0000000 --- a/debugtemp/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# WinBoLL - -#### 介绍 -WinBoLL 应用编译功能临时调试项目 - -#### 软件架构 -适配安卓应用 [AIDE Pro] 的 Gradle 编译结构。 -也适配安卓应用 [AndroidIDE] 的 Gradle 编译结构。 - - -#### Gradle 编译说明 -调试版编译命令 :gradle assembleBetaDebug -阶段版编译命令 :bash .winboll/bashPublishAPKAddTag.sh debugtemp - -#### 使用说明 -3. Termux应用配置: -- 已安装Termux(包名 com.termux ); -- 执行  echo "allow-external-apps = true" > ~/.termux/termux.properties - -#### 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 : ZhanGSKen(ZhanGSKen) -4. 新建 Pull Request - - -#### 特技 - -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 -5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) - -#### 参考文档 diff --git a/debugtemp/app_update_description.txt b/debugtemp/app_update_description.txt deleted file mode 100644 index 8b13789..0000000 --- a/debugtemp/app_update_description.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/debugtemp/build.gradle b/debugtemp/build.gradle deleted file mode 100644 index 570ffed..0000000 --- a/debugtemp/build.gradle +++ /dev/null @@ -1,59 +0,0 @@ -apply plugin: 'com.android.application' -apply from: '../.winboll/winboll_app_build.gradle' -apply from: '../.winboll/winboll_lint_build.gradle' - -def genVersionName(def versionName){ - // 检查编译标志位配置 - assert (winbollBuildProps['stageCount'] != null) - assert (winbollBuildProps['baseVersion'] != null) - // 保存基础版本号 - winbollBuildProps.setProperty("baseVersion", "${versionName}"); - //保存编译标志配置 - FileOutputStream fos = new FileOutputStream(winbollBuildPropsFile) - winbollBuildProps.store(fos, "${winbollBuildPropsDesc}"); - fos.close(); - - // 返回编译版本号 - return "${versionName}." + winbollBuildProps['stageCount'] -} - -android { - // 适配MIUI12 - compileSdkVersion 30 - buildToolsVersion "30.0.3" - - defaultConfig { - applicationId "cc.winboll.studio.debugtemp" - minSdkVersion 26 - // 适配MIUI12 - targetSdkVersion 30 - versionCode 1 - // versionName 更新后需要手动设置 - // .winboll/winbollBuildProps.properties 文件的 stageCount=0 - // Gradle编译环境下合起来的 versionName 就是 "${versionName}.0" - versionName "15.20" - if(true) { - versionName = genVersionName("${versionName}") - } - } - - // 确保 Java 7 兼容性(已适配项目技术栈) - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_7 - targetCompatibility JavaVersion.VERSION_1_7 - } -} - -dependencies { - api project(':libdebugtemp') - - // WinBoLL库 nexus.winboll.cc 地址 - api 'cc.winboll.studio:libaes:15.20.3' - api 'cc.winboll.studio:libappbase:15.20.9' - - // WinBoLL备用库 jitpack.io 地址 - //api 'com.github.ZhanGSKen:AES:aes-v15.20.3' - //api 'com.github.ZhanGSKen:APPBase:appbase-v15.20.9' - - api fileTree(dir: 'libs', include: ['*.jar']) -} diff --git a/debugtemp/build.properties b/debugtemp/build.properties deleted file mode 100644 index 95ee400..0000000 --- a/debugtemp/build.properties +++ /dev/null @@ -1,8 +0,0 @@ -#Created by .winboll/winboll_app_build.gradle -#Fri May 01 17:09:11 HKT 2026 -stageCount=0 -libraryProject=libdebugtemp -baseVersion=15.20 -publishVersion=15.20.0 -buildCount=0 -baseBetaVersion=15.20.1 diff --git a/debugtemp/proguard-rules.pro b/debugtemp/proguard-rules.pro deleted file mode 100644 index a18de74..0000000 --- a/debugtemp/proguard-rules.pro +++ /dev/null @@ -1,137 +0,0 @@ -# Add project specific ProGuard rules here. -# By default, the flags in this file are appended to flags specified -# in C:\tools\adt-bundle-windows-x86_64-20131030\sdk/tools/proguard/proguard-android.txt -# You can edit the include path and order by changing the proguardFiles -# directive in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# Add any project specific keep options here: - -# ============================== 基础通用规则 ============================== -# 保留系统组件 --keep public class * extends android.app.Activity --keep public class * extends android.app.Service --keep public class * extends android.content.BroadcastReceiver --keep public class * extends android.content.ContentProvider --keep public class * extends android.app.backup.BackupAgentHelper --keep public class * extends android.preference.Preference - -# 保留 WinBoLL 核心包及子类(合并简化规则) --keep class cc.winboll.studio.** { *; } --keepclassmembers class cc.winboll.studio.** { *; } - -# 保留所有类中的 public static final String TAG 字段(便于日志定位) --keepclassmembers class * { - public static final java.lang.String TAG; -} - -# 保留序列化类(避免Parcelable/Gson解析异常) --keep class * implements android.os.Parcelable { - public static final android.os.Parcelable$Creator *; -} --keepclassmembers class * implements java.io.Serializable { - static final long serialVersionUID; - private static final java.io.ObjectStreamField[] serialPersistentFields; - private void writeObject(java.io.ObjectOutputStream); - private void readObject(java.io.ObjectInputStream); - java.lang.Object writeReplace(); - java.lang.Object readResolve(); -} - -# 保留 R 文件(避免资源ID混淆) --keepclassmembers class **.R$* { - public static ; -} - -# 保留 native 方法(避免JNI调用失败) --keepclasseswithmembernames class * { - native ; -} - -# 保留注解和泛型(避免反射/序列化异常) --keepattributes *Annotation* --keepattributes Signature - -# 屏蔽 Java 8+ 警告(适配 Java 7 语法) --dontwarn java.lang.invoke.* --dontwarn android.support.v8.renderscript.* --dontwarn java.util.function.** - -# ============================== 第三方框架专项规则 ============================== -# OkHttp 4.4.1(米盟广告请求依赖,完善Lambda兼容) --keep class okhttp3.** { *; } --keep interface okhttp3.** { *; } --keep class okhttp3.internal.** { *; } --keep class okio.** { *; } --dontwarn okhttp3.internal.platform.** --dontwarn okio.** - -# Glide 4.9.0(米盟广告图片加载依赖) --keep public class * implements com.bumptech.glide.module.GlideModule --keep public class * extends com.bumptech.glide.module.AppGlideModule --keep public enum com.bumptech.glide.load.ImageHeaderParser$ImageType { - **[] $VALUES; - public *; -} --keepclassmembers class * implements com.bumptech.glide.module.AppGlideModule { - (); -} --dontwarn com.bumptech.glide.** - -# Gson 2.8.5(米盟广告数据序列化依赖) --keep class com.google.gson.** { *; } --keep interface com.google.gson.** { *; } --keepclassmembers class * { - @com.google.gson.annotations.SerializedName ; -} - -# 米盟 SDK(核心广告组件,完整保留避免加载失败) --keep class com.miui.zeus.** { *; } --keep interface com.miui.zeus.** { *; } -# 保留米盟日志字段(便于广告加载失败排查) --keepclassmembers class com.miui.zeus.mimo.sdk.** { - public static final java.lang.String TAG; -} - -# RecyclerView 1.0.0(米盟广告布局渲染依赖) --keep class androidx.recyclerview.** { *; } --keep interface androidx.recyclerview.** { *; } --keepclassmembers class androidx.recyclerview.widget.RecyclerView$Adapter { - public *; -} - -# 其他第三方框架(按引入依赖保留,无则可删除) -# XXPermissions 18.63 --keep class com.hjq.permissions.** { *; } --keep interface com.hjq.permissions.** { *; } - -# ZXing 二维码(核心解析组件) --keep class com.google.zxing.** { *; } --keep class com.journeyapps.zxing.** { *; } - -# Jsoup HTML解析 --keep class org.jsoup.** { *; } - -# Pinyin4j 拼音搜索 --keep class net.sourceforge.pinyin4j.** { *; } - -# JSch SSH组件 --keep class com.jcraft.jsch.** { *; } - -# AndroidX 基础组件 --keep class androidx.appcompat.** { *; } --keep interface androidx.appcompat.** { *; } - -# ============================== 优化与调试配置 ============================== -# 优化级别(平衡混淆效果与性能) --optimizationpasses 5 --optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/* - -# 调试辅助(保留行号便于崩溃定位) --verbose --dontpreverify --dontusemixedcaseclassnames --keepattributes SourceFile,LineNumberTable - diff --git a/debugtemp/src/beta/AndroidManifest.xml b/debugtemp/src/beta/AndroidManifest.xml deleted file mode 100644 index ee78d9f..0000000 --- a/debugtemp/src/beta/AndroidManifest.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - diff --git a/debugtemp/src/beta/res/values/strings.xml b/debugtemp/src/beta/res/values/strings.xml deleted file mode 100644 index c7757f1..0000000 --- a/debugtemp/src/beta/res/values/strings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - DebugTemp☆ - - diff --git a/debugtemp/src/main/AndroidManifest.xml b/debugtemp/src/main/AndroidManifest.xml deleted file mode 100644 index 9056a79..0000000 --- a/debugtemp/src/main/AndroidManifest.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/debugtemp/src/main/java/cc/winboll/studio/debugtemp/App.java b/debugtemp/src/main/java/cc/winboll/studio/debugtemp/App.java deleted file mode 100644 index a2d9d99..0000000 --- a/debugtemp/src/main/java/cc/winboll/studio/debugtemp/App.java +++ /dev/null @@ -1,340 +0,0 @@ -package cc.winboll.studio.debugtemp; - -import android.app.Activity; -import android.content.ClipData; -import android.content.ClipboardManager; -import android.content.Context; -import android.content.Intent; -import android.content.pm.PackageInfo; -import android.content.res.Resources; -import android.graphics.Typeface; -import android.os.Build; -import android.os.Bundle; -import android.os.Handler; -import android.os.Looper; -import android.text.TextUtils; -import android.util.Log; -import android.view.Gravity; -import android.view.Menu; -import android.view.MenuItem; -import android.view.ViewGroup; -import android.widget.HorizontalScrollView; -import android.widget.ScrollView; -import android.widget.TextView; -import android.widget.Toast; -import cc.winboll.studio.libappbase.GlobalApplication; -import cc.winboll.studio.libappbase.ToastUtils; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.Closeable; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.lang.Thread.UncaughtExceptionHandler; -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.Arrays; -import java.util.Date; -import java.util.LinkedHashMap; -import java.util.concurrent.atomic.AtomicBoolean; - -public class App extends GlobalApplication { - - private static Handler MAIN_HANDLER = new Handler(Looper.getMainLooper()); - - @Override - public void onCreate() { - super.onCreate(); - - // 初始化 Toast 框架 - ToastUtils.init(this); - - //CrashHandler.getInstance().registerGlobal(this); - //CrashHandler.getInstance().registerPart(this); - } - - public static void write(InputStream input, OutputStream output) throws IOException { - byte[] buf = new byte[1024 * 8]; - int len; - while ((len = input.read(buf)) != -1) { - output.write(buf, 0, len); - } - } - - public static void write(File file, byte[] data) throws IOException { - File parent = file.getParentFile(); - if (parent != null && !parent.exists()) parent.mkdirs(); - - ByteArrayInputStream input = new ByteArrayInputStream(data); - FileOutputStream output = new FileOutputStream(file); - try { - write(input, output); - } finally { - closeIO(input, output); - } - } - - public static String toString(InputStream input) throws IOException { - ByteArrayOutputStream output = new ByteArrayOutputStream(); - write(input, output); - try { - return output.toString("UTF-8"); - } finally { - closeIO(input, output); - } - } - - public static void closeIO(Closeable... closeables) { - for (Closeable closeable : closeables) { - try { - if (closeable != null) closeable.close(); - } catch (IOException ignored) {} - } - } - - public static class CrashHandler { - - public static final UncaughtExceptionHandler DEFAULT_UNCAUGHT_EXCEPTION_HANDLER = Thread.getDefaultUncaughtExceptionHandler(); - - private static CrashHandler sInstance; - - private PartCrashHandler mPartCrashHandler; - - public static CrashHandler getInstance() { - if (sInstance == null) { - sInstance = new CrashHandler(); - } - return sInstance; - } - - public void registerGlobal(Context context) { - registerGlobal(context, null); - } - - public void registerGlobal(Context context, String crashDir) { - Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandlerImpl(context.getApplicationContext(), crashDir)); - } - - public void unregister() { - Thread.setDefaultUncaughtExceptionHandler(DEFAULT_UNCAUGHT_EXCEPTION_HANDLER); - } - - public void registerPart(Context context) { - unregisterPart(context); - mPartCrashHandler = new PartCrashHandler(context.getApplicationContext()); - MAIN_HANDLER.postAtFrontOfQueue(mPartCrashHandler); - } - - public void unregisterPart(Context context) { - if (mPartCrashHandler != null) { - mPartCrashHandler.isRunning.set(false); - mPartCrashHandler = null; - } - } - - private static class PartCrashHandler implements Runnable { - - private final Context mContext; - - public AtomicBoolean isRunning = new AtomicBoolean(true); - - public PartCrashHandler(Context context) { - this.mContext = context; - } - - @Override - public void run() { - while (isRunning.get()) { - try { - Looper.loop(); - } catch (final Throwable e) { - e.printStackTrace(); - if (isRunning.get()) { - MAIN_HANDLER.post(new Runnable(){ - - @Override - public void run() { - Toast.makeText(mContext, e.toString(), Toast.LENGTH_LONG).show(); - } - }); - } else { - if (e instanceof RuntimeException) { - throw (RuntimeException)e; - } else { - throw new RuntimeException(e); - } - } - } - } - } - } - - private static class UncaughtExceptionHandlerImpl implements UncaughtExceptionHandler { - - private static DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy_MM_dd-HH_mm_ss"); - - private final Context mContext; - - private final File mCrashDir; - - public UncaughtExceptionHandlerImpl(Context context, String crashDir) { - this.mContext = context; - this.mCrashDir = TextUtils.isEmpty(crashDir) ? new File(mContext.getExternalCacheDir(), "crash") : new File(crashDir); - } - - @Override - public void uncaughtException(Thread thread, Throwable throwable) { - try { - - String log = buildLog(throwable); - writeLog(log); - - try { - Intent intent = new Intent(mContext, CrashActivity.class); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - intent.putExtra(Intent.EXTRA_TEXT, log); - mContext.startActivity(intent); - } catch (Throwable e) { - e.printStackTrace(); - writeLog(e.toString()); - } - - throwable.printStackTrace(); - android.os.Process.killProcess(android.os.Process.myPid()); - System.exit(0); - - } catch (Throwable e) { - if (DEFAULT_UNCAUGHT_EXCEPTION_HANDLER != null) DEFAULT_UNCAUGHT_EXCEPTION_HANDLER.uncaughtException(thread, throwable); - } - } - - private String buildLog(Throwable throwable) { - String time = DATE_FORMAT.format(new Date()); - - String versionName = "unknown"; - long versionCode = 0; - try { - PackageInfo packageInfo = mContext.getPackageManager().getPackageInfo(mContext.getPackageName(), 0); - versionName = packageInfo.versionName; - versionCode = Build.VERSION.SDK_INT >= 28 ? packageInfo.getLongVersionCode() : packageInfo.versionCode; - } catch (Throwable ignored) {} - - LinkedHashMap head = new LinkedHashMap(); - head.put("Time Of Crash", time); - head.put("Device", String.format("%s, %s", Build.MANUFACTURER, Build.MODEL)); - head.put("Android Version", String.format("%s (%d)", Build.VERSION.RELEASE, Build.VERSION.SDK_INT)); - head.put("App Version", String.format("%s (%d)", versionName, versionCode)); - head.put("Kernel", getKernel()); - head.put("Support Abis", Build.VERSION.SDK_INT >= 21 && Build.SUPPORTED_ABIS != null ? Arrays.toString(Build.SUPPORTED_ABIS): "unknown"); - head.put("Fingerprint", Build.FINGERPRINT); - - StringBuilder builder = new StringBuilder(); - - for (String key : head.keySet()) { - if (builder.length() != 0) builder.append("\n"); - builder.append(key); - builder.append(" : "); - builder.append(head.get(key)); - } - - builder.append("\n\n"); - builder.append(Log.getStackTraceString(throwable)); - - return builder.toString(); - } - - private void writeLog(String log) { - String time = DATE_FORMAT.format(new Date()); - File file = new File(mCrashDir, "crash_" + time + ".txt"); - try { - write(file, log.getBytes("UTF-8")); - } catch (Throwable e) { - e.printStackTrace(); - } - } - - private static String getKernel() { - try { - return App.toString(new FileInputStream("/proc/version")).trim(); - } catch (Throwable e) { - return e.getMessage(); - } - } - } - } - - public static final class CrashActivity extends Activity { - - private String mLog; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - setTheme(android.R.style.Theme_DeviceDefault); - setTitle("App Crash"); - - mLog = getIntent().getStringExtra(Intent.EXTRA_TEXT); - - ScrollView contentView = new ScrollView(this); - contentView.setFillViewport(true); - - HorizontalScrollView horizontalScrollView = new HorizontalScrollView(this); - - TextView textView = new TextView(this); - int padding = dp2px(16); - textView.setPadding(padding, padding, padding, padding); - textView.setText(mLog); - textView.setTextIsSelectable(true); - textView.setTypeface(Typeface.DEFAULT); - textView.setLinksClickable(true); - - horizontalScrollView.addView(textView); - contentView.addView(horizontalScrollView, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); - - setContentView(contentView); - } - - private void restart() { - Intent intent = getPackageManager().getLaunchIntentForPackage(getPackageName()); - if (intent != null) { - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - startActivity(intent); - } - finish(); - android.os.Process.killProcess(android.os.Process.myPid()); - System.exit(0); - } - - private static int dp2px(float dpValue) { - final float scale = Resources.getSystem().getDisplayMetrics().density; - return (int) (dpValue * scale + 0.5f); - } - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - menu.add(0, android.R.id.copy, 0, android.R.string.copy) - .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); - return super.onCreateOptionsMenu(menu); - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { - case android.R.id.copy: - ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); - cm.setPrimaryClip(ClipData.newPlainText(getPackageName(), mLog)); - return true; - } - return super.onOptionsItemSelected(item); - } - - @Override - public void onBackPressed() { - restart(); - } - } -} diff --git a/debugtemp/src/main/java/cc/winboll/studio/debugtemp/MainActivity.java b/debugtemp/src/main/java/cc/winboll/studio/debugtemp/MainActivity.java deleted file mode 100644 index 4f5927b..0000000 --- a/debugtemp/src/main/java/cc/winboll/studio/debugtemp/MainActivity.java +++ /dev/null @@ -1,38 +0,0 @@ -package cc.winboll.studio.debugtemp; - -import android.content.Intent; -import android.os.Bundle; -import android.view.View; -import androidx.appcompat.app.AppCompatActivity; -import androidx.appcompat.widget.Toolbar; -import cc.winboll.studio.LibraryActivity; -import cc.winboll.studio.libappbase.LogView; -import cc.winboll.studio.libappbase.ToastUtils; - -public class MainActivity extends AppCompatActivity { - - LogView mLogView; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_main); - - Toolbar toolbar=(Toolbar)findViewById(R.id.toolbar); - setSupportActionBar(toolbar); - - mLogView = findViewById(R.id.logview); - - ToastUtils.show("onCreate"); - } - - @Override - protected void onResume() { - super.onResume(); - mLogView.start(); - } - - public void onLibraryActivity(View view) { - startActivity(new Intent(this, LibraryActivity.class)); - } -} diff --git a/debugtemp/src/main/res/drawable-v24/ic_launcher_foreground.xml b/debugtemp/src/main/res/drawable-v24/ic_launcher_foreground.xml deleted file mode 100644 index c7bd21d..0000000 --- a/debugtemp/src/main/res/drawable-v24/ic_launcher_foreground.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - diff --git a/debugtemp/src/main/res/drawable/ic_launcher_background.xml b/debugtemp/src/main/res/drawable/ic_launcher_background.xml deleted file mode 100644 index d5fccc5..0000000 --- a/debugtemp/src/main/res/drawable/ic_launcher_background.xml +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/debugtemp/src/main/res/layout/activity_main.xml b/debugtemp/src/main/res/layout/activity_main.xml deleted file mode 100644 index ee193ec..0000000 --- a/debugtemp/src/main/res/layout/activity_main.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - -