From 7a074b91460781dd52cb6bb2608a3ffaae93cf21 Mon Sep 17 00:00:00 2001 From: Simon Date: Wed, 10 Jul 2024 10:17:18 +0800 Subject: [PATCH] first commit --- .gitignore | 15 + .idea/.gitignore | 3 + .idea/compiler.xml | 6 + .idea/deploymentTargetSelector.xml | 18 ++ .idea/gradle.xml | 19 ++ .idea/kotlinc.xml | 6 + .idea/migrations.xml | 10 + .idea/misc.xml | 9 + app/.gitignore | 1 + app/build.gradle.kts | 58 ++++ app/proguard-rules.pro | 33 ++ app/src/main/AndroidManifest.xml | 57 ++++ .../tool/app/protectorpro/MyApplication.java | 75 +++++ .../protectorpro/activity/ActivityComplete.kt | 26 ++ .../protectorpro/activity/ActivityMain.java | 272 +++++++++++++++++ .../protectorpro/activity/ActivitySetPwd.java | 283 ++++++++++++++++++ .../protectorpro/activity/ActivityWel.java | 62 ++++ .../app/protectorpro/activity/DialogPer.java | 93 ++++++ .../app/protectorpro/activity/FragmentMy.java | 82 +++++ .../protectorpro/customerview/CustomBundle.kt | 19 ++ .../protectorpro/customerview/LockSpace.java | 45 +++ .../app/protectorpro/customerview/MyDots.java | 102 +++++++ .../protectorpro/customerview/MyLockView.java | 226 ++++++++++++++ .../customerview/MyPasswordInputView.java | 85 ++++++ .../listadapter/AdapterAllApp.java | 134 +++++++++ .../listadapter/AdapterLockView.java | 186 ++++++++++++ .../app/protectorpro/listener/ListenerDao.kt | 33 ++ .../protectorpro/listener/ListenerLock.java | 12 + .../listener/onPermssionListener.java | 8 + .../tool/app/protectorpro/mydb/DataApp.java | 74 +++++ .../app/protectorpro/mydb/MyDataBase.java | 28 ++ .../app/protectorpro/service/LockService.java | 65 ++++ .../tool/app/protectorpro/tools/Common.java | 219 ++++++++++++++ .../app/protectorpro/tools/LockManager.java | 168 +++++++++++ .../tool/app/protectorpro/tools/MyThread.java | 35 +++ .../main/res/color/selector_text_color.xml | 6 + .../drawable-v24/ic_launcher_foreground.xml | 30 ++ app/src/main/res/drawable/back.xml | 9 + app/src/main/res/drawable/bg_12_white.xml | 7 + app/src/main/res/drawable/bg_30_green.xml | 7 + app/src/main/res/drawable/bg_36_4cd080.xml | 7 + app/src/main/res/drawable/bg_36_b1dbff.xml | 7 + app/src/main/res/drawable/bg_dia_step.xml | 7 + app/src/main/res/drawable/bg_fragment.xml | 7 + app/src/main/res/drawable/bg_sw.xml | 7 + app/src/main/res/drawable/bg_tab_lock.xml | 7 + app/src/main/res/drawable/bg_tab_sys.xml | 7 + app/src/main/res/drawable/bg_tab_three.xml | 7 + app/src/main/res/drawable/bottom_sheet_bg.xml | 8 + app/src/main/res/drawable/delete.xml | 33 ++ app/src/main/res/drawable/dia_choose.xml | 11 + app/src/main/res/drawable/main_pwd.xml | 13 + app/src/main/res/drawable/oval_black.xml | 5 + app/src/main/res/drawable/oval_gray.xml | 5 + app/src/main/res/drawable/oval_white.xml | 5 + app/src/main/res/drawable/pwd_bg.xml | 7 + app/src/main/res/drawable/tab_bg.xml | 7 + app/src/main/res/drawable/thumb_sw.xml | 16 + app/src/main/res/drawable/track_sw_green.xml | 10 + app/src/main/res/drawable/track_sw_white.xml | 10 + app/src/main/res/font/inter.ttf | Bin 0 -> 256476 bytes app/src/main/res/layout/activity_complete.xml | 41 +++ .../main/res/layout/activity_main_layout.xml | 76 +++++ app/src/main/res/layout/activity_set_pwd.xml | 92 ++++++ app/src/main/res/layout/activity_wel.xml | 40 +++ .../main/res/layout/custom_float_snackbar.xml | 23 ++ .../res/layout/custom_password_input_view.xml | 57 ++++ app/src/main/res/layout/dialog_permis.xml | 177 +++++++++++ app/src/main/res/layout/float_view.xml | 56 ++++ app/src/main/res/layout/fragment_my.xml | 14 + app/src/main/res/layout/item_delete.xml | 20 ++ app/src/main/res/layout/item_number.xml | 18 ++ app/src/main/res/layout/item_systapp.xml | 43 +++ .../res/layout/set_bottom_sheet_layout.xml | 95 ++++++ app/src/main/res/layout/tab_view.xml | 30 ++ app/src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 1404 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 2898 bytes app/src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 0 -> 982 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 0 -> 1772 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 0 -> 1900 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 0 -> 3918 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 0 -> 2884 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 0 -> 5914 bytes .../res/mipmap-xxxhdpi/float_snack_ic.png | Bin 0 -> 2094 bytes .../main/res/mipmap-xxxhdpi/ic_backspace.png | Bin 0 -> 783 bytes app/src/main/res/mipmap-xxxhdpi/ic_change.png | Bin 0 -> 1717 bytes app/src/main/res/mipmap-xxxhdpi/ic_close.png | Bin 0 -> 919 bytes .../main/res/mipmap-xxxhdpi/ic_dia_step1.png | Bin 0 -> 2429 bytes .../main/res/mipmap-xxxhdpi/ic_dia_step2.png | Bin 0 -> 1857 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 0 -> 3844 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 7778 bytes app/src/main/res/mipmap-xxxhdpi/ic_next.png | Bin 0 -> 743 bytes app/src/main/res/mipmap-xxxhdpi/ic_plaicy.png | Bin 0 -> 1649 bytes app/src/main/res/mipmap-xxxhdpi/logo.png | Bin 0 -> 25888 bytes .../res/mipmap-xxxhdpi/main_tab_lock_def.png | Bin 0 -> 1446 bytes .../res/mipmap-xxxhdpi/main_tab_lock_en.png | Bin 0 -> 1602 bytes .../res/mipmap-xxxhdpi/main_tab_sys_def.png | Bin 0 -> 2527 bytes .../res/mipmap-xxxhdpi/main_tab_sys_en.png | Bin 0 -> 2895 bytes .../res/mipmap-xxxhdpi/main_tab_three_def.png | Bin 0 -> 1609 bytes .../res/mipmap-xxxhdpi/main_tab_three_en.png | Bin 0 -> 1637 bytes .../res/mipmap-xxxhdpi/track_sw_green_ic.png | Bin 0 -> 1526 bytes .../res/mipmap-xxxhdpi/track_sw_white_ic.png | Bin 0 -> 1482 bytes app/src/main/res/values-night/themes.xml | 16 + app/src/main/res/values/attrs.xml | 54 ++++ app/src/main/res/values/colors.xml | 27 ++ app/src/main/res/values/dimmens.xml | 9 + app/src/main/res/values/strings.xml | 39 +++ app/src/main/res/values/themes.xml | 19 ++ app/src/main/res/xml/backup_rules.xml | 13 + .../main/res/xml/data_extraction_rules.xml | 19 ++ .../tool/app/protectorpro/ExampleUnitTest.kt | 17 ++ build.gradle.kts | 5 + gradle.properties | 23 ++ gradle/applockpro1 | Bin 0 -> 2674 bytes gradle/jks_pass | 5 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 185 ++++++++++++ gradlew.bat | 89 ++++++ settings.gradle.kts | 19 ++ 120 files changed, 4139 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/deploymentTargetSelector.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/kotlinc.xml create mode 100644 .idea/migrations.xml create mode 100644 .idea/misc.xml create mode 100644 app/.gitignore create mode 100644 app/build.gradle.kts create mode 100644 app/proguard-rules.pro create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/java/com/tool/app/protectorpro/MyApplication.java create mode 100644 app/src/main/java/com/tool/app/protectorpro/activity/ActivityComplete.kt create mode 100644 app/src/main/java/com/tool/app/protectorpro/activity/ActivityMain.java create mode 100644 app/src/main/java/com/tool/app/protectorpro/activity/ActivitySetPwd.java create mode 100644 app/src/main/java/com/tool/app/protectorpro/activity/ActivityWel.java create mode 100644 app/src/main/java/com/tool/app/protectorpro/activity/DialogPer.java create mode 100644 app/src/main/java/com/tool/app/protectorpro/activity/FragmentMy.java create mode 100644 app/src/main/java/com/tool/app/protectorpro/customerview/CustomBundle.kt create mode 100644 app/src/main/java/com/tool/app/protectorpro/customerview/LockSpace.java create mode 100644 app/src/main/java/com/tool/app/protectorpro/customerview/MyDots.java create mode 100644 app/src/main/java/com/tool/app/protectorpro/customerview/MyLockView.java create mode 100644 app/src/main/java/com/tool/app/protectorpro/customerview/MyPasswordInputView.java create mode 100644 app/src/main/java/com/tool/app/protectorpro/listadapter/AdapterAllApp.java create mode 100644 app/src/main/java/com/tool/app/protectorpro/listadapter/AdapterLockView.java create mode 100644 app/src/main/java/com/tool/app/protectorpro/listener/ListenerDao.kt create mode 100644 app/src/main/java/com/tool/app/protectorpro/listener/ListenerLock.java create mode 100644 app/src/main/java/com/tool/app/protectorpro/listener/onPermssionListener.java create mode 100644 app/src/main/java/com/tool/app/protectorpro/mydb/DataApp.java create mode 100644 app/src/main/java/com/tool/app/protectorpro/mydb/MyDataBase.java create mode 100644 app/src/main/java/com/tool/app/protectorpro/service/LockService.java create mode 100644 app/src/main/java/com/tool/app/protectorpro/tools/Common.java create mode 100644 app/src/main/java/com/tool/app/protectorpro/tools/LockManager.java create mode 100644 app/src/main/java/com/tool/app/protectorpro/tools/MyThread.java create mode 100644 app/src/main/res/color/selector_text_color.xml create mode 100644 app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 app/src/main/res/drawable/back.xml create mode 100644 app/src/main/res/drawable/bg_12_white.xml create mode 100644 app/src/main/res/drawable/bg_30_green.xml create mode 100644 app/src/main/res/drawable/bg_36_4cd080.xml create mode 100644 app/src/main/res/drawable/bg_36_b1dbff.xml create mode 100644 app/src/main/res/drawable/bg_dia_step.xml create mode 100644 app/src/main/res/drawable/bg_fragment.xml create mode 100644 app/src/main/res/drawable/bg_sw.xml create mode 100644 app/src/main/res/drawable/bg_tab_lock.xml create mode 100644 app/src/main/res/drawable/bg_tab_sys.xml create mode 100644 app/src/main/res/drawable/bg_tab_three.xml create mode 100644 app/src/main/res/drawable/bottom_sheet_bg.xml create mode 100644 app/src/main/res/drawable/delete.xml create mode 100644 app/src/main/res/drawable/dia_choose.xml create mode 100644 app/src/main/res/drawable/main_pwd.xml create mode 100644 app/src/main/res/drawable/oval_black.xml create mode 100644 app/src/main/res/drawable/oval_gray.xml create mode 100644 app/src/main/res/drawable/oval_white.xml create mode 100644 app/src/main/res/drawable/pwd_bg.xml create mode 100644 app/src/main/res/drawable/tab_bg.xml create mode 100644 app/src/main/res/drawable/thumb_sw.xml create mode 100644 app/src/main/res/drawable/track_sw_green.xml create mode 100644 app/src/main/res/drawable/track_sw_white.xml create mode 100644 app/src/main/res/font/inter.ttf create mode 100644 app/src/main/res/layout/activity_complete.xml create mode 100644 app/src/main/res/layout/activity_main_layout.xml create mode 100644 app/src/main/res/layout/activity_set_pwd.xml create mode 100644 app/src/main/res/layout/activity_wel.xml create mode 100644 app/src/main/res/layout/custom_float_snackbar.xml create mode 100644 app/src/main/res/layout/custom_password_input_view.xml create mode 100644 app/src/main/res/layout/dialog_permis.xml create mode 100644 app/src/main/res/layout/float_view.xml create mode 100644 app/src/main/res/layout/fragment_my.xml create mode 100644 app/src/main/res/layout/item_delete.xml create mode 100644 app/src/main/res/layout/item_number.xml create mode 100644 app/src/main/res/layout/item_systapp.xml create mode 100644 app/src/main/res/layout/set_bottom_sheet_layout.xml create mode 100644 app/src/main/res/layout/tab_view.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/float_snack_ic.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_backspace.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_change.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_close.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_dia_step1.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_dia_step2.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_next.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_plaicy.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/logo.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/main_tab_lock_def.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/main_tab_lock_en.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/main_tab_sys_def.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/main_tab_sys_en.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/main_tab_three_def.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/main_tab_three_en.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/track_sw_green_ic.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/track_sw_white_ic.png create mode 100644 app/src/main/res/values-night/themes.xml create mode 100644 app/src/main/res/values/attrs.xml create mode 100644 app/src/main/res/values/colors.xml create mode 100644 app/src/main/res/values/dimmens.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/themes.xml create mode 100644 app/src/main/res/xml/backup_rules.xml create mode 100644 app/src/main/res/xml/data_extraction_rules.xml create mode 100644 app/src/test/java/com/tool/app/protectorpro/ExampleUnitTest.kt create mode 100644 build.gradle.kts create mode 100644 gradle.properties create mode 100644 gradle/applockpro1 create mode 100644 gradle/jks_pass create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle.kts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aa724b7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..b589d56 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml new file mode 100644 index 0000000..80bddb0 --- /dev/null +++ b/.idea/deploymentTargetSelector.xml @@ -0,0 +1,18 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..0897082 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,19 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml new file mode 100644 index 0000000..fdf8d99 --- /dev/null +++ b/.idea/kotlinc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/migrations.xml b/.idea/migrations.xml new file mode 100644 index 0000000..f8051a6 --- /dev/null +++ b/.idea/migrations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..8978d23 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 0000000..f570cae --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,58 @@ +import java.util.Date +import java.text.SimpleDateFormat + +val timestamp = SimpleDateFormat("MM_dd_HH_mm").format(Date()) +plugins { + id("com.android.application") + id("org.jetbrains.kotlin.android") + id("kotlin-kapt") +} + +android { + namespace = "com.tool.app.protectorpro" + compileSdk = 34 + + defaultConfig { + applicationId = "com.tool.app.protectorpro" + minSdk = 23 + targetSdk = 34 + versionCode = 1 + versionName = "1.0.0" + // setProperty("archivesBaseName", "AppLocker_V" + versionName + "(${versionCode})_$timestamp") + testInstrumentationRunner = "androidx.protectorpro.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + isMinifyEnabled = true + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } + buildFeatures { + viewBinding = true + } +} + +dependencies { + implementation("de.hdodenhof:circleimageview:3.1.0") + + implementation("androidx.core:core-ktx:1.9.0") + implementation("androidx.appcompat:appcompat:1.6.1") + implementation("com.google.android.material:material:1.11.0") + implementation("androidx.constraintlayout:constraintlayout:2.1.4") + implementation("androidx.room:room-ktx:2.6.1") + implementation("androidx.room:room-runtime:2.6.1") + kapt("androidx.room:room-compiler:2.6.1") + + +} \ No newline at end of file diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..9aeff70 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,33 @@ +# 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 + #room + -keepclassmembers class com.tool.app.protectorpro.MyApplication{ + public static final java.lang.String DB_Name; + public static final int DB_Version; + } + -keepclassmembers class *{ + @androidx.room.Query ; + } + + -keep class com.tool.app.protectorpro.mydb.MyDataBase { *; } + -keep class com.tool.app.protectorpro.listener.ListenerDao { *; } + -keep class com.tool.app.protectorpro.mydb.DataApp { *; } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..061c1cf --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/tool/app/protectorpro/MyApplication.java b/app/src/main/java/com/tool/app/protectorpro/MyApplication.java new file mode 100644 index 0000000..3854f89 --- /dev/null +++ b/app/src/main/java/com/tool/app/protectorpro/MyApplication.java @@ -0,0 +1,75 @@ +package com.tool.app.protectorpro; + +import android.app.Application; +import android.content.Context; +import android.content.SharedPreferences; + +import com.tool.app.protectorpro.mydb.DataApp; +import com.tool.app.protectorpro.mydb.MyDataBase; +import com.tool.app.protectorpro.tools.Common; +import com.tool.app.protectorpro.tools.MyThread; + +public class MyApplication extends Application { + public static String spName = "share_name"; + + public static MyApplication appContext; + + public static final int reqCodeUsage = 1; + public static final int DB_Version = 1; + public static final String Table_Name = "DataApp"; + public static final int reqCodeOverlays = 2; + public static final String DB_Name = "app_locker"; + + + public static SharedPreferences sp; + public static final String PWD_KEY = "locker_pwd"; + + public static SharedPreferences.Editor SpEditor; + public static final int type_0 = 0; + + public static final int type_1 = 1; + + public static final int type_2 = 2; + public static final String init_pwd_key = "pwd_type"; + + + @Override + public void onCreate() { + super.onCreate(); + appContext = this; + initSp(); + MyThread.runIO(() -> { + for (DataApp dataApp : MyDataBase.getInstance().getRoomDao().findApp()) { + Boolean needDelete = Common.delUnInstallApp(this, dataApp.getPackageName()); + if (needDelete) { + MyDataBase.getInstance().getRoomDao().deleteData(dataApp); + + } + } + }); + String pwd = getPwd(); + if (pwd.isEmpty()) { + Common.getAppList(this, false); + } else { + Common.getAppList(this, true); + } + + + } + + public static void updatePwd(String pwd) { + SpEditor.putString(PWD_KEY, pwd); + SpEditor.apply(); + } + + public static String getPwd() { + return sp.getString(PWD_KEY, ""); + } + + private void initSp() { + sp = MyApplication.appContext.getSharedPreferences(spName, Context.MODE_PRIVATE); + SpEditor = sp.edit(); + } + + +} diff --git a/app/src/main/java/com/tool/app/protectorpro/activity/ActivityComplete.kt b/app/src/main/java/com/tool/app/protectorpro/activity/ActivityComplete.kt new file mode 100644 index 0000000..ad8bfd5 --- /dev/null +++ b/app/src/main/java/com/tool/app/protectorpro/activity/ActivityComplete.kt @@ -0,0 +1,26 @@ +package com.tool.app.protectorpro.activity + +import android.annotation.SuppressLint +import android.graphics.Color +import android.os.Bundle +import android.view.View +import androidx.appcompat.app.AppCompatActivity +import com.tool.app.protectorpro.R + +class ActivityComplete : AppCompatActivity() { + @SuppressLint("MissingInflatedId") + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_complete) + findViewById(R.id.im_back).setOnClickListener { finish() } + initStatusBar() + } + + private fun initStatusBar() { + val decorView = window.decorView + val flag = (View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN + or View.SYSTEM_UI_FLAG_LAYOUT_STABLE) + decorView.systemUiVisibility = flag + window.statusBarColor = Color.TRANSPARENT + } +} \ No newline at end of file diff --git a/app/src/main/java/com/tool/app/protectorpro/activity/ActivityMain.java b/app/src/main/java/com/tool/app/protectorpro/activity/ActivityMain.java new file mode 100644 index 0000000..2820076 --- /dev/null +++ b/app/src/main/java/com/tool/app/protectorpro/activity/ActivityMain.java @@ -0,0 +1,272 @@ +package com.tool.app.protectorpro.activity; + +import android.content.Intent; +import android.graphics.Color; +import android.graphics.drawable.Drawable; +import android.os.Build; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.ImageView; +import android.widget.TextView; +import android.widget.Toast; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.SearchView; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentStatePagerAdapter; +import androidx.viewpager.widget.ViewPager; + +import com.google.android.material.bottomsheet.BottomSheetDialog; +import com.google.android.material.tabs.TabLayout; +import com.tool.app.protectorpro.MyApplication; + +import com.tool.app.protectorpro.R; +import com.tool.app.protectorpro.databinding.ActivityMainLayoutBinding; +import com.tool.app.protectorpro.databinding.TabViewBinding; +import com.tool.app.protectorpro.listener.onPermssionListener; +import com.tool.app.protectorpro.service.LockService; +import com.tool.app.protectorpro.tools.Common; + +import java.util.ArrayList; +import java.util.List; + +public class ActivityMain extends AppCompatActivity implements SearchView.OnQueryTextListener, onPermssionListener { + private ActivityMainLayoutBinding binding; + + private DialogPer dialogPer; + + List fragmentList = new ArrayList<>(); + + private void initStatusBar() { + View decorView = getWindow().getDecorView(); + int flag = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN + | View.SYSTEM_UI_FLAG_LAYOUT_STABLE; + decorView.setSystemUiVisibility(flag); + getWindow().setStatusBarColor(Color.TRANSPARENT); + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + binding = ActivityMainLayoutBinding.inflate(getLayoutInflater()); + setContentView(binding.getRoot()); + binding.searchItem.setOnQueryTextListener(this); + initStatusBar(); + openPermission(); + startService(new Intent(this, LockService.class)); + initTab(); + initClick(); + } + + private void initTab() { + + String[] titles = new String[]{getString(R.string.text_system), getString(R.string.text_third), getString(R.string.text_recommended)}; + Drawable[] tabIcon = new Drawable[]{getDrawable(R.drawable.bg_tab_sys), getDrawable(R.drawable.bg_tab_three), getDrawable(R.drawable.bg_tab_lock)}; + + fragmentList.add(FragmentMy.newInstance(1)); + fragmentList.add(FragmentMy.newInstance(2)); + fragmentList.add(FragmentMy.newInstance(3)); + + for (int i = 0; i < 3; i++) { + TabLayout.Tab tab = binding.tab.newTab(); + TabViewBinding viewBinding = TabViewBinding.inflate(getLayoutInflater()); + + viewBinding.tvTabtext.setText(titles[i]); + viewBinding.ivTabIcon.setImageDrawable(tabIcon[i]); + + tab.setCustomView(viewBinding.getRoot()); + binding.tab.addTab(tab); + } + binding.viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { + @Override + public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { + + } + + @Override + public void onPageSelected(int position) { + + TabLayout.Tab tabAt = binding.tab.getTabAt(position); + if (tabAt != null) { + binding.tvAppTabname.setText(titles[position]); + tabAt.select(); + } + } + + @Override + public void onPageScrollStateChanged(int state) { + + } + }); + binding.viewPager.setAdapter(new FragmentStatePagerAdapter(getSupportFragmentManager()) { + @NonNull + @Override + public Fragment getItem(int position) { + return fragmentList.get(position); + } + + @Override + public int getCount() { + return fragmentList.size(); + } + + @Nullable + @Override + public CharSequence getPageTitle(int position) { + return titles[position]; + } + }); + + TabLayout.Tab tabAt = binding.tab.getTabAt(1); + if (tabAt != null) + updateTab(tabAt, false); + binding.tab.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { + @Override + public void onTabSelected(TabLayout.Tab tab) { + updateTab(tab, true); + binding.viewPager.setCurrentItem(tab.getPosition()); + } + + @Override + public void onTabUnselected(TabLayout.Tab tab) { + updateTab(tab, false); + } + + @Override + public void onTabReselected(TabLayout.Tab tab) { + + } + }); + } + + private void initClick() { + binding.imSetPwd.setOnClickListener(v -> setBottomSheetView()); + } + + private void setBottomSheetView() { + if (isDestroyed()) + return; + + BottomSheetDialog bottomSheetDialog = new BottomSheetDialog(ActivityMain.this); + View bottomSheetView = LayoutInflater.from(ActivityMain.this).inflate(R.layout.set_bottom_sheet_layout, null); + bottomSheetDialog.setContentView(bottomSheetView); + + ImageView ivClose = bottomSheetView.findViewById(R.id.ivClose); + TextView btnOption1 = bottomSheetView.findViewById(R.id.btnOption1); + TextView btnOption2 = bottomSheetView.findViewById(R.id.btnOption2); + + ivClose.setOnClickListener(v -> bottomSheetDialog.dismiss()); + + // 按钮1点击事件 + btnOption1.setOnClickListener(v -> { + Intent intent = new Intent(ActivityMain.this, ActivitySetPwd.class); + intent.putExtra(MyApplication.init_pwd_key, MyApplication.type_1); + startActivity(intent); + bottomSheetDialog.dismiss(); + }); + + // 按钮2点击事件 + btnOption2.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + bottomSheetDialog.dismiss(); + } + }); + + bottomSheetDialog.show(); + } + + private void updateTab(TabLayout.Tab tab, boolean isSelected) { + View customView = tab.getCustomView(); + if (customView == null) return; + TextView tv = customView.findViewById(R.id.tv_tabtext); + tv.setSelected(isSelected); + ImageView iv = customView.findViewById(R.id.iv_tab_icon); + + iv.setSelected(isSelected); + + } + + private boolean checkPermission() { + boolean b = Common.checkPermission(this); + boolean canDrawOverlays = Common.getCanDrawOverlays(this); + return b && canDrawOverlays; + } + + private void openPermission() { + if (!checkPermission()) { + if (dialogPer == null) { + dialogPer = DialogPer.newInstance(); + dialogPer.setListener(this); + } + dialogPer.show(getSupportFragmentManager(), ""); + } + + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (requestCode == MyApplication.reqCodeUsage) { + if (checkPermission()) { + dialogPer.dismiss(); + return; + } + boolean canDrawOverlays = Common.getCanDrawOverlays(this); + if (!canDrawOverlays) { + Common.goDrawOverlays(this, MyApplication.reqCodeOverlays); + } + } else if (requestCode == MyApplication.reqCodeOverlays) { + if (checkPermission()) { + dialogPer.dismiss(); + } else { + Toast.makeText(this, getString(R.string.text_permission_hint), Toast.LENGTH_SHORT).show(); + } + } + } + + @Override + public void onToSetting() { + boolean b = Common.checkPermission(this); + boolean canDrawOverlays = Common.getCanDrawOverlays(this); + + if (!b) { + Common.toSetUsagePermission(ActivityMain.this, MyApplication.reqCodeUsage); + } else { + + if (!canDrawOverlays) { + Common.goDrawOverlays(this, MyApplication.reqCodeOverlays); + } + } + + + } + + private void filterApps(String query) { + // 获取当前显示的Fragment + int position = binding.viewPager.getCurrentItem(); + Fragment fragment = fragmentList.get(position); + + // 如果Fragment是FragmentMy,则调用其filter方法 + if ((fragment instanceof FragmentMy)) { + ((FragmentMy) fragment).filter(query); + } + } + + @Override + public boolean onQueryTextSubmit(String query) { + + filterApps(query); + + return true; + } + + @Override + public boolean onQueryTextChange(String newText) { + filterApps(newText); + return true; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/tool/app/protectorpro/activity/ActivitySetPwd.java b/app/src/main/java/com/tool/app/protectorpro/activity/ActivitySetPwd.java new file mode 100644 index 0000000..0224305 --- /dev/null +++ b/app/src/main/java/com/tool/app/protectorpro/activity/ActivitySetPwd.java @@ -0,0 +1,283 @@ +package com.tool.app.protectorpro.activity; + +import android.content.Intent; +import android.graphics.Color; +import android.os.Bundle; +import android.text.Editable; +import android.text.InputType; +import android.text.TextWatcher; +import android.util.Log; +import android.view.View; +import android.widget.EditText; +import android.widget.Toast; + +import androidx.appcompat.app.AppCompatActivity; + +import com.tool.app.protectorpro.MyApplication; +import com.tool.app.protectorpro.R; +import com.tool.app.protectorpro.customerview.MyLockView; +import com.tool.app.protectorpro.customerview.MyPasswordInputView; +import com.tool.app.protectorpro.databinding.ActivitySetPwdBinding; +import com.tool.app.protectorpro.listener.ListenerLock; + +public class ActivitySetPwd extends AppCompatActivity { + + private static final String TAG = "ActivitySetPwd"; + + private ActivitySetPwdBinding binding; + private int type; + private MyPasswordInputView passwordInputView; + private StringBuilder surePassword = new StringBuilder(); + private StringBuilder tempPassword = new StringBuilder(); + + private void initStatusBar() { + View decorView = getWindow().getDecorView(); + int flag = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN + | View.SYSTEM_UI_FLAG_LAYOUT_STABLE; + decorView.setSystemUiVisibility(flag); + getWindow().setStatusBarColor(Color.TRANSPARENT); + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + binding = ActivitySetPwdBinding.inflate(getLayoutInflater()); + initStatusBar(); + setContentView(binding.getRoot()); + passwordInputView = binding.layoutEt; + type = getIntent().getIntExtra(MyApplication.init_pwd_key, MyApplication.type_0); + initView(); + initInput(); + initClick(); + initKeyboard(); + } + + private void initView() { + // 0 设置 1 修改 2 确认 + switch (type) { + case MyApplication.type_0: + binding.imBack.setVisibility(View.GONE); + binding.tvPassName.setText(R.string.text_original_pwd); + // binding.tvTitle.setText(getString(R.string.text_original_pwd)); + binding.tvSub.setText(getString(R.string.text_original_pwd_describe)); + // binding.tvContinue.setText(getString(R.string.text_continue)); + break; + case MyApplication.type_1: + binding.imBack.setVisibility(View.VISIBLE); + binding.tvPassName.setText(R.string.sheet_change_password); + // binding.tvTitle.setText(getString(R.string.text_change_pwd)); + binding.tvSub.setText(getString(R.string.text_change_pwd_sub)); + // binding.tvContinue.setText(getString(R.string.text_save)); + break; + case MyApplication.type_2: + binding.imBack.setVisibility(View.VISIBLE); + binding.tvPassName.setText(R.string.text_confirm_pwd); + // binding.tvTitle.setText(getString(R.string.text_confirm_pwd)); + // binding.tvSub.setText(getString(R.string.text_change_pwd_sub)); + // binding.tvContinue.setText(getString(R.string.text_save)); + break; + } + updateEditText(); + } + + private void initInput() { + for (int i = 0; i < binding.layoutEt.getChildCount(); i++) { + EditText editText = (EditText) binding.layoutEt.getChildAt(i); + EditText nextEditText = null; + if ((i + 1) < binding.layoutEt.getChildCount()) { + nextEditText = (EditText) binding.layoutEt.getChildAt(i + 1); + } + + editText.setInputType(InputType.TYPE_NULL); + + EditText finalNextEditText = nextEditText; + editText.addTextChangedListener(new TextWatcher() { + @Override + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + } + + @Override + public void onTextChanged(CharSequence s, int start, int before, int count) { + } + + @Override + public void afterTextChanged(Editable s) { + if (s.length() > 0 && finalNextEditText != null) { + finalNextEditText.requestFocus(); + } + } + }); + } + + } + + private void initKeyboard() { + binding.lockSetPassword.setPinLockListener(new ListenerLock() { + @Override + public void onInPutComplete(String pin) { + Log.d(TAG, "onInPutComplete: " + pin); + + if (type == MyApplication.type_0 || type == MyApplication.type_1) { + Log.d(TAG, "在设置界面"); + if (pin.length() == 4) { + Log.d(TAG, "跳转到二次"); + type = MyApplication.type_2; + initView(); + } + + } else { + initView(); + Log.d(TAG, "在二次确认界面"); + checkPassword(); + } + } + + @Override + public void onNumberClickComplete(String keyValue) { + Log.d(TAG, "onNumberClickComplete: " + keyValue); + + if (type == MyApplication.type_0 || type == MyApplication.type_1) { + + if (tempPassword.length() < 4) { + tempPassword.append(keyValue); + passwordInputView.setInput(tempPassword); + Log.d(TAG, "tempPassword: " + tempPassword.toString()); + } + + } else if (type == MyApplication.type_2) { + if (surePassword.length() < 4) { + surePassword.append(keyValue); + passwordInputView.setInput(surePassword); + Log.d(TAG, "passwordBuilder: " + surePassword.toString()); + } + } + } + + @Override + public void onKeyBordDelete(int pin) { + + Log.d("fsdafsd", pin + "__dfs"); + if (pin == 1) { + surePassword.setLength(0); + tempPassword.setLength(0); + initView(); + } + + if (type == MyApplication.type_2) { + passwordInputView.setInput(surePassword); + // 删除 surePassword 中的字符 + if (surePassword.length() > 0) { + surePassword.deleteCharAt(surePassword.length() - 1); + passwordInputView.deleteLastInput(); + + + } + // 如果 surePassword 被删完了,将 type 设置为 type_0,并重新初始化视图和更新 EditText + if (surePassword.length() == 0) { + type = MyApplication.type_0; + initView(); + } + } else if (type == MyApplication.type_0 || type == MyApplication.type_1) { + passwordInputView.setInput(tempPassword); + // 删除 tempPassword 中的字符 + if (tempPassword.length() > 0) { + tempPassword.deleteCharAt(tempPassword.length() - 1); + passwordInputView.deleteLastInput(); + + } + } + Log.d(TAG, "onKeyBordDelete: Deleted last input. tempPassword: " + tempPassword.toString() + ", surePassword: " + surePassword.toString()); + } + + + }); + Log.d(TAG, "initKeyboard: Initialized pin lock listener"); + } + + private void initClick() { + binding.imBack.setOnClickListener(v -> { + finish(); + Log.d(TAG, "onClick: Back button clicked"); + }); + + binding.tvContinue.setOnClickListener(v -> { + // Placeholder for specific logic + Log.d(TAG, "onClick: Continue button clicked"); + }); + Log.d(TAG, "initClick: Initialized click listeners"); + } + + private void checkPassword() { + if (surePassword.toString().equals(tempPassword.toString())) { + savePassword(); + Log.d(TAG, "checkPassword: Passwords matched, saving password"); + } else { + + if ((surePassword.length() == tempPassword.length())) { + Toast.makeText(ActivitySetPwd.this, getString(R.string.text_pass_sure), Toast.LENGTH_SHORT).show(); + + } + Log.d(TAG, "checkPassword: Passwords do not match, showing toast"); + } + } + + private void savePassword() { + String password = surePassword.toString(); + if (password.length() == 4) { + MyApplication.updatePwd(password); + + switch (type) { + case MyApplication.type_0: + case MyApplication.type_2: + startActivity(new Intent(ActivitySetPwd.this, ActivityMain.class)); + break; + case MyApplication.type_1: + startActivity(new Intent(ActivitySetPwd.this, ActivityComplete.class)); + break; + } + finish(); + Log.d(TAG, "savePassword: Password saved successfully"); + } else { + Toast.makeText(ActivitySetPwd.this, getString(R.string.text_hint), Toast.LENGTH_SHORT).show(); + Log.d(TAG, "savePassword: Password length is not 4, showing hint toast"); + } + } + + + private void updateEditText() { + for (int i = 0; i < binding.layoutEt.getChildCount(); i++) { + EditText editText = (EditText) binding.layoutEt.getChildAt(i); + editText.setText(""); + } + + // 根据当前的 type 决定显示哪个密码 + String displayText = ""; + if (type == MyApplication.type_0 || type == MyApplication.type_1) { + + displayText = tempPassword.toString(); + } else if (type == MyApplication.type_2) { + displayText = surePassword.toString(); + } + + Log.d("dsafsdaf", tempPassword.toString() + "___" + surePassword.toString()); + // 设置 EditText 的内容 + for (int i = 0; i < displayText.length(); i++) { + if (i < binding.layoutEt.getChildCount()) { + EditText editText = (EditText) binding.layoutEt.getChildAt(i); + editText.setText(String.valueOf(displayText.charAt(i))); + } + } + + // 重新设置光标位置 + if (binding.layoutEt.getChildCount() > 0) { + EditText editText = (EditText) binding.layoutEt.getChildAt(0); + editText.requestFocus(); + } + + Log.d(TAG, "updateEditText: Updated EditText fields"); + } + + + + +} \ No newline at end of file diff --git a/app/src/main/java/com/tool/app/protectorpro/activity/ActivityWel.java b/app/src/main/java/com/tool/app/protectorpro/activity/ActivityWel.java new file mode 100644 index 0000000..e53814b --- /dev/null +++ b/app/src/main/java/com/tool/app/protectorpro/activity/ActivityWel.java @@ -0,0 +1,62 @@ +package com.tool.app.protectorpro.activity; + +import android.content.Intent; +import android.graphics.Color; +import android.os.Bundle; +import android.os.CountDownTimer; +import android.view.View; + +import androidx.appcompat.app.AppCompatActivity; + +import com.tool.app.protectorpro.MyApplication; +import com.tool.app.protectorpro.databinding.ActivityWelBinding; + +public class ActivityWel extends AppCompatActivity { + + private ActivityWelBinding binding; + + + private CountDownTimer countDownTimer; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + binding = ActivityWelBinding.inflate(getLayoutInflater()); + setContentView(binding.getRoot()); + initBar(); + + countDownTimer = new CountDownTimer(2000L, 500L) { + @Override + public void onTick(long millisUntilFinished) { + + } + + @Override + public void onFinish() { + String pwd = MyApplication.getPwd(); + if (pwd.isEmpty()) { + startActivity(new Intent(ActivityWel.this, ActivitySetPwd.class)); + } else { + startActivity(new Intent(ActivityWel.this, ActivityMain.class)); + } + finish(); + + } + }; + countDownTimer.start(); + } + + private void initBar() { + View decorView = getWindow().getDecorView(); + int flag = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN + | View.SYSTEM_UI_FLAG_LAYOUT_STABLE; + decorView.setSystemUiVisibility(flag); + getWindow().setStatusBarColor(Color.TRANSPARENT); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + countDownTimer.cancel(); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/tool/app/protectorpro/activity/DialogPer.java b/app/src/main/java/com/tool/app/protectorpro/activity/DialogPer.java new file mode 100644 index 0000000..1c46da8 --- /dev/null +++ b/app/src/main/java/com/tool/app/protectorpro/activity/DialogPer.java @@ -0,0 +1,93 @@ +package com.tool.app.protectorpro.activity; + +import android.os.Bundle; +import android.view.Gravity; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.Window; +import android.view.WindowManager; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.DialogFragment; + +import com.tool.app.protectorpro.R; +import com.tool.app.protectorpro.databinding.DialogPermisBinding; +import com.tool.app.protectorpro.listener.onPermssionListener; +import com.tool.app.protectorpro.tools.Common; + +public class DialogPer extends DialogFragment { + private DialogPermisBinding layoutPermissionBinding; + + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + layoutPermissionBinding = DialogPermisBinding.inflate(getLayoutInflater()); + + getDialog().setCanceledOnTouchOutside(false); + getDialog().setCancelable(false); + + final Window window = getDialog().getWindow(); + window.setBackgroundDrawableResource(R.color.transparent); + window.getDecorView().setPadding(0, 0, 0, 0); + WindowManager.LayoutParams wlp = window.getAttributes(); + wlp.gravity = Gravity.CENTER; + wlp.width = WindowManager.LayoutParams.MATCH_PARENT; + wlp.height = WindowManager.LayoutParams.WRAP_CONTENT; + window.setAttributes(wlp); + + + layoutPermissionBinding.llSet1.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + if (!layoutPermissionBinding.tvSelect.isSelected()) { + listener.onToSetting(); + } + + } + }); + layoutPermissionBinding.llSet2.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + listener.onToSetting(); + } + }); + + + return layoutPermissionBinding.getRoot(); + } + + + @Override + public void onResume() { + super.onResume(); + initView(); + } + + private onPermssionListener listener; + + public void setListener(onPermssionListener listener) { + this.listener = listener; + } + + public static DialogPer newInstance() { + return new DialogPer(); + } + + private void initView() { + boolean b = Common.checkPermission(getActivity()); + if (!b) { + layoutPermissionBinding.llSet1.setSelected(false); + layoutPermissionBinding.ivSet1.setVisibility(View.INVISIBLE); + } else { + layoutPermissionBinding.diaCheck.setSelected(true); + layoutPermissionBinding.llSet2.setSelected(false); + layoutPermissionBinding.ivSet1.setVisibility(View.VISIBLE); + } + } + + +} diff --git a/app/src/main/java/com/tool/app/protectorpro/activity/FragmentMy.java b/app/src/main/java/com/tool/app/protectorpro/activity/FragmentMy.java new file mode 100644 index 0000000..b3be39b --- /dev/null +++ b/app/src/main/java/com/tool/app/protectorpro/activity/FragmentMy.java @@ -0,0 +1,82 @@ +package com.tool.app.protectorpro.activity; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.appcompat.widget.SearchView; +import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.LinearLayoutManager; + +import com.tool.app.protectorpro.databinding.FragmentMyBinding; +import com.tool.app.protectorpro.listadapter.AdapterAllApp; +import com.tool.app.protectorpro.mydb.DataApp; +import com.tool.app.protectorpro.mydb.MyDataBase; +import com.tool.app.protectorpro.tools.MyThread; + +import java.util.ArrayList; +import java.util.List; + +public class FragmentMy extends Fragment { + private int appType; + private FragmentMyBinding binding; + private static final String ARG_PARAM1 = "key_data"; + private AdapterAllApp adapterAllApp; + + public FragmentMy() { + } + + + public static FragmentMy newInstance(int appType) { + FragmentMy fragment = new FragmentMy(); + Bundle args = new Bundle(); + args.putInt(ARG_PARAM1, appType); + fragment.setArguments(args); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (getArguments() != null) { + appType = getArguments().getInt(ARG_PARAM1); + } + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + + binding = FragmentMyBinding.inflate(getLayoutInflater()); + + adapterAllApp = new AdapterAllApp(requireContext()); + binding.listApp.setAdapter(adapterAllApp); + binding.listApp.setLayoutManager(new LinearLayoutManager(requireContext())); + + MyThread.runIO(() -> { + List data; + if (appType == 1) { + data = MyDataBase.getInstance().getRoomDao().findByType(true, false); + } else if (appType == 2) { + data = MyDataBase.getInstance().getRoomDao().findByType(false, false); + } else if (appType == 3) { + data = MyDataBase.getInstance().getRoomDao().findByLock(true); + } else { + data = new ArrayList<>(); + } + + MyThread.runUI(() -> { + adapterAllApp.updateSyStemApp(data); + }); + }); + + return binding.getRoot(); + } + public void filter(String query) { + if (adapterAllApp != null) { + adapterAllApp.filter(query); + } + } + +} diff --git a/app/src/main/java/com/tool/app/protectorpro/customerview/CustomBundle.kt b/app/src/main/java/com/tool/app/protectorpro/customerview/CustomBundle.kt new file mode 100644 index 0000000..e8bd318 --- /dev/null +++ b/app/src/main/java/com/tool/app/protectorpro/customerview/CustomBundle.kt @@ -0,0 +1,19 @@ +package com.tool.app.protectorpro.customerview + +import android.graphics.drawable.Drawable + +class CustomBundle { + @JvmField + var textColor = 0 + @JvmField + var textSize = 0 + + + var isShowDeleteButton = false + @JvmField + var buttonSize = 0 + @JvmField + var backgroundDrawable: Drawable? = null + + +} \ No newline at end of file diff --git a/app/src/main/java/com/tool/app/protectorpro/customerview/LockSpace.java b/app/src/main/java/com/tool/app/protectorpro/customerview/LockSpace.java new file mode 100644 index 0000000..8a3faf3 --- /dev/null +++ b/app/src/main/java/com/tool/app/protectorpro/customerview/LockSpace.java @@ -0,0 +1,45 @@ +package com.tool.app.protectorpro.customerview; + +import android.graphics.Rect; +import android.view.View; + +import androidx.recyclerview.widget.RecyclerView; + +public class LockSpace extends RecyclerView.ItemDecoration { + + private final int HSpace; + + private final int mSpanCount; + private final boolean mInclude; + private final int mVSpace; + + public LockSpace(int horizontalSpaceWidth, int verticalSpaceHeight, int spanCount, boolean includeEdge) { + this.HSpace = horizontalSpaceWidth; + this.mVSpace = verticalSpaceHeight; + this.mSpanCount = spanCount; + this.mInclude = includeEdge; + } + + @Override + public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { + + int position = parent.getChildAdapterPosition(view); + int column = position % mSpanCount; + + if (mInclude) { + outRect.left = HSpace - column * HSpace / mSpanCount; + outRect.right = (column + 1) * HSpace / mSpanCount; + + if (position < mSpanCount) { + outRect.top = mVSpace; + } + outRect.bottom = mVSpace; + } else { + outRect.left = column * HSpace / mSpanCount; + outRect.right = HSpace - (column + 1) * HSpace / mSpanCount; + if (position >= mSpanCount) { + outRect.top = mVSpace; + } + } + } +} diff --git a/app/src/main/java/com/tool/app/protectorpro/customerview/MyDots.java b/app/src/main/java/com/tool/app/protectorpro/customerview/MyDots.java new file mode 100644 index 0000000..b257cab --- /dev/null +++ b/app/src/main/java/com/tool/app/protectorpro/customerview/MyDots.java @@ -0,0 +1,102 @@ +package com.tool.app.protectorpro.customerview; + +import android.content.Context; +import android.content.res.TypedArray; +import android.util.AttributeSet; +import android.view.View; +import android.widget.LinearLayout; + +import androidx.core.view.ViewCompat; + +import com.tool.app.protectorpro.R; +import com.tool.app.protectorpro.tools.Common; + + +public class MyDots extends LinearLayout { + + + private static final int DEFAULT_PIN_LENGTH = 4; + private int mPinLength; + + + private int mPreviousLength; + private int mDotDiameter; + private int mDotSpacing; + private int mFillDrawable; + private int mEmptyDrawable; + + private void initView(Context context) { + ViewCompat.setLayoutDirection(this, ViewCompat.LAYOUT_DIRECTION_LTR); + for (int i = 0; i < mPinLength; i++) { + View dot = new View(context); + emptyDot(dot); + + LayoutParams params = new LayoutParams(mDotDiameter, + mDotDiameter); + params.setMargins(mDotSpacing, 0, mDotSpacing, 0); + dot.setLayoutParams(params); + + addView(dot); + } + + } + + public MyDots(Context context) { + this(context, null); + } + + public MyDots(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + public MyDots(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + + TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.MyLock); + + try { + mDotDiameter = (int) typedArray.getDimension(R.styleable.MyLock_dotDiameter, Common.getPx(getContext(), R.dimen.default_dot_diameter)); + mDotSpacing = (int) typedArray.getDimension(R.styleable.MyLock_dotSpacing, Common.getPx(getContext(), R.dimen.default_dot_spacing)); + mFillDrawable = typedArray.getResourceId(R.styleable.MyLock_dotFilledBackground, + R.drawable.oval_black); + mEmptyDrawable = typedArray.getResourceId(R.styleable.MyLock_dotEmptyBackground, + R.drawable.pwd_bg); + mPinLength = typedArray.getInt(R.styleable.MyLock_pinLength, DEFAULT_PIN_LENGTH); + } finally { + typedArray.recycle(); + } + + initView(context); + } + + + private void emptyDot(View dot) { + dot.setBackgroundResource(mEmptyDrawable); + dot.animate().scaleX(1.0f).scaleY(1.0f).setDuration(100).start(); + } + + private void fillDot(View dot) { + dot.setBackgroundResource(mFillDrawable); + dot.animate().scaleX(1.2f).scaleY(1.2f).setDuration(100).start(); + } + + + void updateDot(int length) { + if (length > 0) { + if (length > mPreviousLength) { + fillDot(getChildAt(length - 1)); + } else { + emptyDot(getChildAt(length)); + } + mPreviousLength = length; + } else { + for (int i = 0; i < getChildCount(); i++) { + View v = getChildAt(i); + emptyDot(v); + } + mPreviousLength = 0; + } + + } + +} diff --git a/app/src/main/java/com/tool/app/protectorpro/customerview/MyLockView.java b/app/src/main/java/com/tool/app/protectorpro/customerview/MyLockView.java new file mode 100644 index 0000000..e2ab51c --- /dev/null +++ b/app/src/main/java/com/tool/app/protectorpro/customerview/MyLockView.java @@ -0,0 +1,226 @@ +package com.tool.app.protectorpro.customerview; + +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.drawable.Drawable; +import android.util.AttributeSet; +import android.util.Log; + +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.tool.app.protectorpro.MyApplication; +import com.tool.app.protectorpro.R; +import com.tool.app.protectorpro.listadapter.AdapterLockView; +import com.tool.app.protectorpro.listener.ListenerLock; +import com.tool.app.protectorpro.tools.Common; + +public class MyLockView extends RecyclerView { + private String mPin = ""; + private int mPinLength; + private int mHorizontalSpacing, mVerticalSpacing; + private int mTextColor; + private int mTextSize, mButtonSize; + private Drawable mButtonBgDraw; + private AdapterLockView mAdapter; + private ListenerLock mPinLockListener; + private CustomBundle mCustomBundle; + + private boolean mShowDelete; + private static final int DEFAULT_PWD_LENGTH = 4; + private MyDots mMyDots; + + + private AdapterLockView.OnNumberClickListener numberClickListener + = new AdapterLockView.OnNumberClickListener() { + @Override + public void onNumberClicked(int keyValue) { + + + if (mPinLockListener != null) { + mPinLockListener.onNumberClickComplete(String.valueOf(keyValue)); + } + + if (mPin.length() < getPinLength()) { + mPin = mPin.concat(String.valueOf(keyValue)); + + if (isIndicatorDotsAttached()) { + mMyDots.updateDot(mPin.length()); + + } + + if (mPin.length() == 1) { + mAdapter.setPinLength(mPin.length()); + mAdapter.notifyItemChanged(mAdapter.getItemCount() - 1); + } + + if (mPinLockListener != null) { + if (mPin.length() == mPinLength) { + mPinLockListener.onInPutComplete(mPin); + } else { + + } + } + } else { + if (!isShowDeleteButton()) { + resetPinLockView(); + mPin = mPin.concat(String.valueOf(keyValue)); + + if (isIndicatorDotsAttached()) { + mMyDots.updateDot(mPin.length()); + } + + if (mPinLockListener != null) { +// mPinLockListener.onPinChange(mPin.length(), mPin); + } + + } else { + if (mPinLockListener != null) { + mPinLockListener.onInPutComplete(mPin); + } + } + } + } + }; + + private AdapterLockView.OnDeleteClickListener mOnDeleteClickListener + = new AdapterLockView.OnDeleteClickListener() { + @Override + public void onDeleteClicked() { + Log.d("key_delete", mPin.length() + "..."); + + if (!mPin.isEmpty()) { + mPinLockListener.onKeyBordDelete(mPin.length()); + + mPin = mPin.substring(0, mPin.length() - 1); + + if (isIndicatorDotsAttached()) { + mMyDots.updateDot(mPin.length()); + + } + + if (mPin.length() == 0) { + mAdapter.setPinLength(mPin.length()); + mAdapter.notifyItemChanged(mAdapter.getItemCount() - 1); + } + + if (mPinLockListener != null) { + if (mPin.length() == 0) { +// mPinLockListener.onEmpty(); + clearInternalPin(); + } else { +// mPinLockListener.onPinChange(mPin.length(), mPin); + } + } + } else { + if (mPinLockListener != null) { + + + + } + } + } + + }; + + public MyLockView(Context context) { + super(context); + init(null, 0); + } + + public MyLockView(Context context, @Nullable AttributeSet attrs) { + super(context, attrs); + init(attrs, 0); + } + + public MyLockView(Context context, @Nullable AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + init(attrs, defStyle); + } + + private void init(AttributeSet attributeSet, int defStyle) { + + TypedArray typedArray = getContext().obtainStyledAttributes(attributeSet, R.styleable.MyLock); + + try { + mPinLength = typedArray.getInt(R.styleable.MyLock_pinLength, DEFAULT_PWD_LENGTH); + mHorizontalSpacing = (int) typedArray.getDimension(R.styleable.MyLock_keypadHorizontalSpacing, Common.getPx(getContext(), R.dimen.default_horizontal_spacing)); + mVerticalSpacing = (int) typedArray.getDimension(R.styleable.MyLock_keypadVerticalSpacing, Common.getPx(getContext(), R.dimen.default_vertical_spacing)); + mTextColor = typedArray.getColor(R.styleable.MyLock_keypadTextColor, Common.getColor(getContext(), R.color.color_keyboard_num)); + mTextSize = (int) typedArray.getDimension(R.styleable.MyLock_keypadTextSize, Common.getPx(getContext(), R.dimen.default_text_size)); + mButtonSize = (int) typedArray.getDimension(R.styleable.MyLock_keypadButtonSize, Common.getPx(getContext(), R.dimen.default_button_size)); + mButtonBgDraw = typedArray.getDrawable(R.styleable.MyLock_keypadButtonBackgroundDrawable); + + mShowDelete = typedArray.getBoolean(R.styleable.MyLock_keypadShowDeleteButton, true); + } finally { + typedArray.recycle(); + } + + mCustomBundle = new CustomBundle(); + mCustomBundle.textColor = mTextColor; + mCustomBundle.textSize = mTextSize; + mCustomBundle.buttonSize = mButtonSize; + mCustomBundle.backgroundDrawable = mButtonBgDraw; + mCustomBundle.setShowDeleteButton(mShowDelete); + + + initView(); + } + + private void initView() { + mAdapter = new AdapterLockView(); + setLayoutManager(new GridLayoutManager(getContext(), 3)); + + + mAdapter.setOnItemClickListener(numberClickListener); + mAdapter.setOnDeleteClickListener(mOnDeleteClickListener); + mAdapter.setCustomizationOptions(mCustomBundle); + setAdapter(mAdapter); + + addItemDecoration(new LockSpace(mHorizontalSpacing, mVerticalSpacing, 3, false)); + setOverScrollMode(OVER_SCROLL_NEVER); + } + + + public void setPinLockListener(ListenerLock pinLockListener) { + this.mPinLockListener = pinLockListener; + } + + public int getPinLength() { + return mPinLength; + } + + public boolean isShowDeleteButton() { + return mShowDelete; + } + + private void clearInternalPin() { + mPin = ""; + } + + + public void resetPinLockView() { + clearInternalPin(); + mAdapter.setPinLength(mPin.length()); + mAdapter.notifyItemChanged(mAdapter.getItemCount() - 1); + + if (mMyDots != null) { + mMyDots.updateDot(mPin.length()); + } + } + + public boolean isIndicatorDotsAttached() { + return mMyDots != null; + } + + + public void setPinLength(){ + + + } + + public void attachIndicatorDots(MyDots mMyDots) { + this.mMyDots = mMyDots; + } +} diff --git a/app/src/main/java/com/tool/app/protectorpro/customerview/MyPasswordInputView.java b/app/src/main/java/com/tool/app/protectorpro/customerview/MyPasswordInputView.java new file mode 100644 index 0000000..60067c8 --- /dev/null +++ b/app/src/main/java/com/tool/app/protectorpro/customerview/MyPasswordInputView.java @@ -0,0 +1,85 @@ +package com.tool.app.protectorpro.customerview; + +import android.content.Context; +import android.text.InputFilter; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.widget.EditText; +import android.widget.LinearLayout; + +import androidx.annotation.Nullable; + +import com.tool.app.protectorpro.R; + +public class MyPasswordInputView extends LinearLayout { + + private EditText[] mEditTexts = new EditText[4]; + + public MyPasswordInputView(Context context) { + this(context, null); + } + + public MyPasswordInputView(Context context, @Nullable AttributeSet attrs) { + this(context, attrs, 0); + } + + public MyPasswordInputView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + LayoutInflater.from(context).inflate(R.layout.custom_password_input_view, this, true); + mEditTexts[0] = findViewById(R.id.et1); + mEditTexts[1] = findViewById(R.id.et2); + mEditTexts[2] = findViewById(R.id.et3); + mEditTexts[3] = findViewById(R.id.et4); + setupEditTexts(); + } + + private void setupEditTexts() { + for (EditText editText : mEditTexts) { + editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(1)}); + } + } + + + public void appendInput(String input) { + String currentInput = getInput(); + String newInput = currentInput + input; + + clearInput(); + + for (int i = 0; i < newInput.length() && i < mEditTexts.length; i++) { + mEditTexts[i].setText(String.valueOf(newInput.charAt(i))); + } + } + + public void deleteLastInput() { + for (int i = mEditTexts.length - 1; i >= 0; i--) { + EditText editText = mEditTexts[i]; + if (editText.getText().length() > 0) { + editText.setText(""); + break; + } + } + } + + public String getInput() { + StringBuilder stringBuilder = new StringBuilder(); + for (EditText editText : mEditTexts) { + stringBuilder.append(editText.getText().toString()); + } + return stringBuilder.toString(); + } + + public void clearInput() { + for (EditText editText : mEditTexts) { + editText.setText(""); + } + } + + // 新增一个方法来设置输入内容 + public void setInput(StringBuilder input) { + clearInput(); + for (int i = 0; i < input.length() && i < mEditTexts.length; i++) { + mEditTexts[i].setText(String.valueOf(input.charAt(i))); + } + } +} diff --git a/app/src/main/java/com/tool/app/protectorpro/listadapter/AdapterAllApp.java b/app/src/main/java/com/tool/app/protectorpro/listadapter/AdapterAllApp.java new file mode 100644 index 0000000..52ef817 --- /dev/null +++ b/app/src/main/java/com/tool/app/protectorpro/listadapter/AdapterAllApp.java @@ -0,0 +1,134 @@ +package com.tool.app.protectorpro.listadapter; + +import android.content.Context; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageManager; +import android.graphics.drawable.Drawable; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.CompoundButton; +import android.widget.ImageView; +import android.widget.TextView; +import android.widget.Toast; + +import androidx.annotation.NonNull; +import androidx.appcompat.widget.SwitchCompat; +import androidx.recyclerview.widget.RecyclerView; + +import com.tool.app.protectorpro.R; +import com.tool.app.protectorpro.mydb.DataApp; +import com.tool.app.protectorpro.mydb.MyDataBase; +import com.tool.app.protectorpro.tools.MyThread; + +import java.util.ArrayList; +import java.util.List; +public class AdapterAllApp extends RecyclerView.Adapter { + + private List list = new ArrayList<>(); + private List filterList = new ArrayList<>(); + private Context mContext; + private PackageManager packageManager; + + public AdapterAllApp(Context context) { + mContext = context; + packageManager = context.getPackageManager(); + } + + public void updateSyStemApp(List infoList) { + list.clear(); + filterList.clear(); + if (infoList != null && !infoList.isEmpty()) { + list.addAll(infoList); + filterList.addAll(list); + Log.d("AdapterAllApp", "List updated, size: " + list.size()); + } else { + Log.d("AdapterAllApp", "Received empty or null list"); + } + notifyDataSetChanged(); + } + + public void filter(String query) { + filterList.clear(); + if (query.isEmpty()) { + filterList.addAll(list); + if (!list.isEmpty()) { + Log.d("AdapterAllApp", "List size: " + list.size()); + Log.d("AdapterAllApp", "First item: " + list.get(0).getAppName()); + } else { + Log.d("AdapterAllApp", "List is empty"); + } + } else { + for (DataApp item : list) { + if (item.getAppName().toLowerCase().contains(query.toLowerCase())) { + filterList.add(item); + Log.d("AdapterAllApp", "Filtered item: " + item.getAppName()); + } + } + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public AppViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + AppViewHolder appViewHolder = new AppViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_systapp, parent, false)); + return appViewHolder; + } + + @Override + public void onBindViewHolder(@NonNull AppViewHolder holder, int position) { + holder.switchCompat.setOnCheckedChangeListener(null); + DataApp dataApp = filterList.get(position); // 使用filterList + String appName = dataApp.getAppName(); + boolean lock = dataApp.isLock(); + holder.switchCompat.setChecked(lock); + holder.switchCompat.setOnCheckedChangeListener((CompoundButton buttonView, boolean isChecked) -> { + MyThread.runIO(() -> { + dataApp.setLock(isChecked); + MyDataBase.getInstance().getRoomDao().updateData(dataApp); + }); + String format; + if (isChecked) { + format = String.format(mContext.getString(R.string.text_locked), appName); + } else { + format = String.format(mContext.getString(R.string.text_unlocked), appName); + } + Toast.makeText(mContext, format, Toast.LENGTH_SHORT).show(); + }); + + try { + Drawable appLogo = getLogo(dataApp.getPackageName()); + holder.imageView.setImageDrawable(appLogo); + } catch (PackageManager.NameNotFoundException e) { + // Handle exception + } + + holder.textView.setText(appName); + } + + private Drawable getLogo(String packageName) throws PackageManager.NameNotFoundException { + ApplicationInfo appInfo = packageManager.getApplicationInfo(packageName, PackageManager.GET_UNINSTALLED_PACKAGES); + return packageManager.getApplicationIcon(appInfo); + } + + @Override + public int getItemCount() { + return filterList.size(); // 使用filterList + } + + public static class AppViewHolder extends RecyclerView.ViewHolder { + + private ImageView imageView; + private TextView textView; + private SwitchCompat switchCompat; + + public AppViewHolder(@NonNull View itemView) { + super(itemView); + imageView = itemView.findViewById(R.id.logo); + textView = itemView.findViewById(R.id.name); + switchCompat = itemView.findViewById(R.id.app_switch); + } + } +} diff --git a/app/src/main/java/com/tool/app/protectorpro/listadapter/AdapterLockView.java b/app/src/main/java/com/tool/app/protectorpro/listadapter/AdapterLockView.java new file mode 100644 index 0000000..e8dc6c9 --- /dev/null +++ b/app/src/main/java/com/tool/app/protectorpro/listadapter/AdapterLockView.java @@ -0,0 +1,186 @@ +package com.tool.app.protectorpro.listadapter; + + + +import android.util.TypedValue; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; + +import androidx.recyclerview.widget.RecyclerView; + +import com.tool.app.protectorpro.R; +import com.tool.app.protectorpro.customerview.CustomBundle; +import com.tool.app.protectorpro.customerview.CustomBundle; + +public class AdapterLockView extends RecyclerView.Adapter { + + private static final int TYPE_NUMBER = 0; + + private OnNumberClickListener mOnNumberListener; + private OnDeleteClickListener mOnDeleteListener; + + private static final int VIEW_TYPE_DELETE = 1; + private CustomBundle mCustomBundle; + private int mCurLength; + + private int[] mKeyValues; + + @Override + public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + RecyclerView.ViewHolder viewHolder; + LayoutInflater inflater = LayoutInflater.from(parent.getContext()); + + if (viewType == TYPE_NUMBER) { + View view = inflater.inflate(R.layout.item_number, parent, false); + viewHolder = new NumberViewHolder(view); + } else { + View view = inflater.inflate(R.layout.item_delete, parent, false); + viewHolder = new DeleteViewHolder(view); + } + return viewHolder; + } + public AdapterLockView() { + this.mKeyValues = getKeyValues(new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 0}); + } + + + @Override + public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { + if (holder.getItemViewType() == TYPE_NUMBER) { + NumberViewHolder vh1 = (NumberViewHolder) holder; + setNumberBtn(vh1, position); + } + } + + private void setNumberBtn(NumberViewHolder holder, int position) { + if (holder != null) { + if (position == 9) { + holder.mNumberButton.setVisibility(View.GONE); + } else { + holder.mNumberButton.setText(String.valueOf(mKeyValues[position])); + holder.mNumberButton.setVisibility(View.VISIBLE); + holder.mNumberButton.setTag(mKeyValues[position]); + } + + if (mCustomBundle != null) { + holder.mNumberButton.setTextColor(mCustomBundle.textColor); + if (mCustomBundle.backgroundDrawable != null) { + holder.mNumberButton.setBackground(mCustomBundle.backgroundDrawable); + } + holder.mNumberButton.setTextSize(TypedValue.COMPLEX_UNIT_PX, + mCustomBundle.textSize); + LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( + mCustomBundle.buttonSize, + mCustomBundle.buttonSize); + holder.mNumberButton.setLayoutParams(params); + } + } + } + + + + @Override + public int getItemCount() { + return 12; + } + + @Override + public int getItemViewType(int position) { + if (position == getItemCount() - 1) { + return VIEW_TYPE_DELETE; + } + return TYPE_NUMBER; + } + + + + public void setPinLength(int pinLength) { + this.mCurLength = pinLength; + } + + + + private int[] getKeyValues(int[] keyValues) { + int[] adjustedKeyValues = new int[keyValues.length + 1]; + for (int i = 0; i < keyValues.length; i++) { + if (i < 9) { + adjustedKeyValues[i] = keyValues[i]; + } else { + adjustedKeyValues[i] = -1; + adjustedKeyValues[i + 1] = keyValues[i]; + } + } + return adjustedKeyValues; + } + + + + public void setOnItemClickListener(OnNumberClickListener onNumberClickListener) { + this.mOnNumberListener = onNumberClickListener; + } + + + + public void setOnDeleteClickListener(OnDeleteClickListener onDeleteClickListener) { + this.mOnDeleteListener = onDeleteClickListener; + } + + + + public void setCustomizationOptions(CustomBundle customBundle) { + this.mCustomBundle = customBundle; + } + + public class NumberViewHolder extends RecyclerView.ViewHolder { + TextView mNumberButton; + + public NumberViewHolder(final View itemView) { + super(itemView); + mNumberButton = (TextView) itemView.findViewById(R.id.deleteLayout); + mNumberButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (mOnNumberListener != null) { + mOnNumberListener.onNumberClicked((Integer) v.getTag()); + } + } + }); + } + } + public interface OnNumberClickListener { + void onNumberClicked(int keyValue); + } + + public interface OnDeleteClickListener { + void onDeleteClicked(); + } + public class DeleteViewHolder extends RecyclerView.ViewHolder { + LinearLayout mDeleteLayout; + ImageView mDeleteImage; + + public DeleteViewHolder(final View itemView) { + super(itemView); + mDeleteLayout = (LinearLayout) itemView.findViewById(R.id.deleteLayout); + mDeleteImage = (ImageView) itemView.findViewById(R.id.deleteImage); + + if (mCustomBundle.isShowDeleteButton() && mCurLength > 0) { + mDeleteLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (mOnDeleteListener != null) { + mOnDeleteListener.onDeleteClicked(); + } + } + }); + + } + } + } + + +} diff --git a/app/src/main/java/com/tool/app/protectorpro/listener/ListenerDao.kt b/app/src/main/java/com/tool/app/protectorpro/listener/ListenerDao.kt new file mode 100644 index 0000000..b3e66eb --- /dev/null +++ b/app/src/main/java/com/tool/app/protectorpro/listener/ListenerDao.kt @@ -0,0 +1,33 @@ +package com.tool.app.protectorpro.listener + +import androidx.room.Dao +import androidx.room.Delete +import androidx.room.Insert +import androidx.room.OnConflictStrategy +import androidx.room.Query +import androidx.room.Update +import com.tool.app.protectorpro.mydb.DataApp + +@Dao +interface ListenerDao { + @Delete + fun deleteData(dataApp: DataApp) + + @Query("select * from DataApp where packageName=:packName") + fun findByPackName(packName: String): DataApp? + + @Query("select * from DataApp where isSyStem=:system AND isRecommend = :recommend") + fun findByType(system: Boolean, recommend: Boolean): List? + + @Update + fun updateData(dataApp: DataApp) + + @Insert(onConflict = OnConflictStrategy.IGNORE) + fun insertData(dataApp: DataApp) + + @Query("select * from DataApp") + fun findApp(): List? + + @Query("select * from DataApp where isLock =:isLock") + fun findByLock(isLock: Boolean): List? +} \ No newline at end of file diff --git a/app/src/main/java/com/tool/app/protectorpro/listener/ListenerLock.java b/app/src/main/java/com/tool/app/protectorpro/listener/ListenerLock.java new file mode 100644 index 0000000..8d57e46 --- /dev/null +++ b/app/src/main/java/com/tool/app/protectorpro/listener/ListenerLock.java @@ -0,0 +1,12 @@ +package com.tool.app.protectorpro.listener; + + +public interface ListenerLock { + + + void onInPutComplete(String pin); + + void onNumberClickComplete(String keyValue); + + void onKeyBordDelete( int pin); +} diff --git a/app/src/main/java/com/tool/app/protectorpro/listener/onPermssionListener.java b/app/src/main/java/com/tool/app/protectorpro/listener/onPermssionListener.java new file mode 100644 index 0000000..8fa52e5 --- /dev/null +++ b/app/src/main/java/com/tool/app/protectorpro/listener/onPermssionListener.java @@ -0,0 +1,8 @@ +package com.tool.app.protectorpro.listener; + + +public interface onPermssionListener { + + void onToSetting(); + +} diff --git a/app/src/main/java/com/tool/app/protectorpro/mydb/DataApp.java b/app/src/main/java/com/tool/app/protectorpro/mydb/DataApp.java new file mode 100644 index 0000000..4958a7f --- /dev/null +++ b/app/src/main/java/com/tool/app/protectorpro/mydb/DataApp.java @@ -0,0 +1,74 @@ +package com.tool.app.protectorpro.mydb; + +import androidx.room.Entity; +import androidx.room.Index; +import androidx.room.PrimaryKey; + +import com.tool.app.protectorpro.MyApplication; + + +@Entity(tableName = MyApplication.Table_Name,indices = {@Index(value = {"packageName"}, unique = true)}) +public class DataApp { + + @PrimaryKey(autoGenerate = true) + private int id; + private String packageName; + + private String appName; + + private boolean isLock = false; + + private boolean isSyStem ; + + private boolean isRecommend = false; + + public boolean isRecommend() { + return isRecommend; + } + + public void setRecommend(boolean recommend) { + isRecommend = recommend; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public void setSyStem(boolean syStem) { + isSyStem = syStem; + } + + public boolean isSyStem() { + return isSyStem; + } + + + public void setAppName(String appName) { + this.appName = appName; + } + + public void setLock(boolean lock) { + isLock = lock; + } + + public void setPackageName(String packageName) { + this.packageName = packageName; + } + + + public String getAppName() { + return appName; + } + + public String getPackageName() { + return packageName; + } + + public boolean isLock() { + return isLock; + } +} diff --git a/app/src/main/java/com/tool/app/protectorpro/mydb/MyDataBase.java b/app/src/main/java/com/tool/app/protectorpro/mydb/MyDataBase.java new file mode 100644 index 0000000..dab0607 --- /dev/null +++ b/app/src/main/java/com/tool/app/protectorpro/mydb/MyDataBase.java @@ -0,0 +1,28 @@ +package com.tool.app.protectorpro.mydb; + +import androidx.room.Database; +import androidx.room.Room; +import androidx.room.RoomDatabase; + +import com.tool.app.protectorpro.MyApplication; +import com.tool.app.protectorpro.listener.ListenerDao; + +@Database( + entities = {DataApp.class}, + version = MyApplication.DB_Version, + exportSchema = false +) +public abstract class MyDataBase extends RoomDatabase { + + private static MyDataBase INSTANCE; + + public static synchronized MyDataBase getInstance() { + if (INSTANCE == null) { + INSTANCE = Room.databaseBuilder(MyApplication.appContext, MyDataBase.class, MyApplication.DB_Name).build(); + } + return INSTANCE; + } + + public abstract ListenerDao getRoomDao(); + +} diff --git a/app/src/main/java/com/tool/app/protectorpro/service/LockService.java b/app/src/main/java/com/tool/app/protectorpro/service/LockService.java new file mode 100644 index 0000000..e2112da --- /dev/null +++ b/app/src/main/java/com/tool/app/protectorpro/service/LockService.java @@ -0,0 +1,65 @@ +package com.tool.app.protectorpro.service; + +import android.app.IntentService; +import android.content.Intent; + +import androidx.annotation.Nullable; + +import com.tool.app.protectorpro.mydb.DataApp; +import com.tool.app.protectorpro.mydb.MyDataBase; +import com.tool.app.protectorpro.tools.LockManager; +import com.tool.app.protectorpro.tools.Common; +import com.tool.app.protectorpro.tools.MyThread; + +import java.util.Objects; + +public class LockService extends IntentService { + + private String lastLockPackName = ""; + private LockManager instance; + private Boolean checkTop = true; + + @Override + protected void onHandleIntent(@Nullable Intent intent) { + instance = LockManager.getInstance(this); + while (checkTop) { + String packageName = Common.checkUsageStats(this); + if(Objects.equals(packageName, "")){ + continue; + } + DataApp dataApp = MyDataBase.getInstance().getRoomDao().findByPackName(packageName); + if(dataApp == null){ + MyThread.runUI(()->{ + instance.unLock(); + }); + lastLockPackName = packageName; + + continue; + } + if(Objects.equals(packageName, lastLockPackName)){ + continue; + } + if (dataApp.isLock() ) { + if(!Objects.equals(packageName, lastLockPackName)){ + MyThread.runUI(()->{ + instance.showLockView(); + }); + }else { + } + }else { + + MyThread.runUI(()->{ + instance.unLock(); + }); + } + lastLockPackName = packageName; + } + + } + public LockService() { + super(""); + } + + + +} diff --git a/app/src/main/java/com/tool/app/protectorpro/tools/Common.java b/app/src/main/java/com/tool/app/protectorpro/tools/Common.java new file mode 100644 index 0000000..f71241e --- /dev/null +++ b/app/src/main/java/com/tool/app/protectorpro/tools/Common.java @@ -0,0 +1,219 @@ +package com.tool.app.protectorpro.tools; + +import android.app.Activity; +import android.app.AppOpsManager; +import android.app.usage.UsageEvents; +import android.app.usage.UsageStatsManager; +import android.content.Context; +import android.content.Intent; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; +import android.net.Uri; +import android.os.Build; +import android.provider.Settings; +import android.text.TextUtils; + +import androidx.annotation.ColorRes; +import androidx.annotation.DimenRes; +import androidx.core.content.ContextCompat; + +import com.tool.app.protectorpro.mydb.DataApp; +import com.tool.app.protectorpro.mydb.MyDataBase; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Objects; + +public class Common { + public static float getPx(Context context, @DimenRes int id) { + return context.getResources().getDimension(id); + } + + private static void addDb(List list, boolean isSystem, boolean isUpdate) { +// HashSet randomIndex = getRandomIndex(list.size()); + + for (int i = 0; i < list.size(); i++) { + DataApp dataApp = list.get(i); + dataApp.setSyStem(isSystem); + if (isUpdate) { + DataApp dataApp1 = MyDataBase.getInstance().getRoomDao().findByPackName(dataApp.getPackageName()); + if (dataApp1 == null) { + MyDataBase.getInstance().getRoomDao().insertData(dataApp); + + } + } else { +// boolean contains = randomIndex.contains(i); + dataApp.setRecommend(false); + MyDataBase.getInstance().getRoomDao().insertData(dataApp); + + } + } + } + + public static List getAppList(Context context, boolean isUpdate) { + PackageManager packageManager = context.getPackageManager(); + Intent intent = new Intent(Intent.ACTION_MAIN, null); + intent.addCategory(Intent.CATEGORY_LAUNCHER); + List resolveInfos = packageManager.queryIntentActivities(intent, 0); + + List systemAppList = new ArrayList<>(); + List threeAppList = new ArrayList<>(); + + for (int i = 0; i < resolveInfos.size(); i++) { + ResolveInfo resolveInfo = resolveInfos.get(i); + String packageName = resolveInfo.activityInfo.packageName; + if (Objects.equals(packageName, context.getPackageName())) { + continue; + } + ApplicationInfo appInfo; + try { + appInfo = packageManager.getApplicationInfo(packageName, PackageManager.GET_UNINSTALLED_PACKAGES); + String appName = packageManager.getApplicationLabel(appInfo).toString(); + + DataApp dataApp = new DataApp(); + dataApp.setPackageName(packageName); + dataApp.setAppName(appName); + boolean systemApp = checkSystemApp(context, packageName); + if (systemApp) { + systemAppList.add(dataApp); + } else { + threeAppList.add(dataApp); + } + } catch (PackageManager.NameNotFoundException nameNotFoundException) { + + } + + + } + + List uniqueSystemList = removeDuplApp(systemAppList); + List uniqueThreeList = removeDuplApp(threeAppList); + + + MyThread.runIO(() -> { + addDb(uniqueSystemList, true, isUpdate); + addDb(uniqueThreeList, false, isUpdate); + + }); + + return uniqueThreeList; + + + } + + + public static int getColor(Context context, @ColorRes int id) { + return ContextCompat.getColor(context, id); + } + + +// private static HashSet getRandomIndex(int size) { +// Random random = new Random(); +// HashSet uniqueNumbers = new HashSet<>(); +// while (uniqueNumbers.size() < 4) { +// int randomNumber = random.nextInt(size + 1); +// uniqueNumbers.add(randomNumber); +// } +// return uniqueNumbers; +// +// } + + private static boolean checkSystemApp(Context context, String packageName) { + + try { + PackageInfo info = context.getPackageManager().getPackageInfo(packageName, PackageManager.GET_SIGNATURES); + if ((info.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) { + return true; + } + } catch (PackageManager.NameNotFoundException e) { + e.printStackTrace(); + } + + return false; + } + + + public static List removeDuplApp(List list) { + HashMap hashMap = new HashMap<>(); + for (DataApp dataApp : list) { + if (!hashMap.containsKey(dataApp.getPackageName())) { + hashMap.put(dataApp.getPackageName(), dataApp); + } + } + List data = new ArrayList<>(); + for (HashMap.Entry entry : hashMap.entrySet()) { + data.add(entry.getValue()); + } + return data; + } + + + public static String checkUsageStats(Context context) { + UsageStatsManager sUsageStatsManager = (UsageStatsManager) context.getSystemService(Context.USAGE_STATS_SERVICE); + long endTime = System.currentTimeMillis(); + long beginTime = endTime - 10000; + String result = ""; + UsageEvents.Event event = new UsageEvents.Event(); + UsageEvents usageEvents = sUsageStatsManager.queryEvents(beginTime, endTime); + while (usageEvents.hasNextEvent()) { + usageEvents.getNextEvent(event); + if (event.getEventType() == UsageEvents.Event.MOVE_TO_FOREGROUND) { + result = event.getPackageName(); + } + } + if (!TextUtils.isEmpty(result)) { + return result; + } else { + return ""; + } + } + + public static Boolean delUnInstallApp(Context context, String packName) { + PackageManager packageManager = context.getPackageManager(); + try { + packageManager.getApplicationInfo(packName, PackageManager.GET_UNINSTALLED_PACKAGES); + return false; + } catch (PackageManager.NameNotFoundException nameNotFoundException) { + return true; + } + } + + + public static boolean checkPermission(Context context) { + + // 检查当前应用是否具有 "android:get_usage_stats" 权限 + AppOpsManager appOps = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE); + int mode = 0; + mode = appOps.checkOpNoThrow("android:get_usage_stats", android.os.Process.myUid(), context.getPackageName()); + return mode == AppOpsManager.MODE_ALLOWED; + } + + public static void goDrawOverlays(Activity activity, int requestCode) { + Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && Build.VERSION.SDK_INT < Build.VERSION_CODES.P) { + //8.0 + } else { + // 6.0、7.0、9.0 + Uri uri = Uri.fromParts("package", activity.getPackageName(), null); + intent.setData(uri); +// intent.setData(Uri.parse("package:" + activity.getPackageName())); + } + activity.startActivityForResult(intent, requestCode); + } + + + public static void toSetUsagePermission(Activity context, int requestCode) { + Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS); +// Uri uri = Uri.fromParts("package", context.getPackageName(), null); +// intent.setData(uri); + context.startActivityForResult(intent, requestCode); + } + + public static boolean getCanDrawOverlays(Context context) { + return Settings.canDrawOverlays(context); + } +} diff --git a/app/src/main/java/com/tool/app/protectorpro/tools/LockManager.java b/app/src/main/java/com/tool/app/protectorpro/tools/LockManager.java new file mode 100644 index 0000000..fe4a54e --- /dev/null +++ b/app/src/main/java/com/tool/app/protectorpro/tools/LockManager.java @@ -0,0 +1,168 @@ +package com.tool.app.protectorpro.tools; + +import android.content.Context; +import android.graphics.PixelFormat; +import android.graphics.Point; +import android.os.Build; +import android.util.DisplayMetrics; +import android.view.Gravity; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.WindowManager; +import android.widget.FrameLayout; +import android.widget.TextView; + + +import com.google.android.material.snackbar.Snackbar; +import com.tool.app.protectorpro.MyApplication; +import com.tool.app.protectorpro.R; +import com.tool.app.protectorpro.customerview.MyDots; +import com.tool.app.protectorpro.listener.ListenerLock; +import com.tool.app.protectorpro.customerview.MyLockView; + +import java.util.Objects; + +public class LockManager { + + private static LockManager lockManager; + private Context mContext; + + private View mView; + + private WindowManager windowManager; + + + private WindowManager.LayoutParams layoutParams; + + private MyLockView lockView; + + public LockManager(Context context) { + mContext = context; + mView = LayoutInflater.from(context).inflate(R.layout.float_view, null, false); + windowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE); + + + initView(); + + MyDots dots = mView.findViewById(R.id.indicator_dots); + lockView = mView.findViewById(R.id.pin_lock_view); + lockView.attachIndicatorDots(dots); + lockView.setPinLockListener(new ListenerLock() { + @Override + public void onNumberClickComplete(String keyValue) { + + } + + @Override + public void onKeyBordDelete(int pin) { + + } + + @Override + public void onInPutComplete(String pin) { + + String pwd = MyApplication.getPwd(); + if (Objects.equals(pin, pwd)) { + unLock(); + } else { + lockView.resetPinLockView(); + + // Toast.makeText(mContext,"Password error",Toast.LENGTH_SHORT).show(); + + // showCustomSnackbar(mView, "Password error", Color.argb(1, 224, 224, 224)); + + } + } + }); + } + + public static LockManager getInstance(Context context) { + if (lockManager == null) { + lockManager = new LockManager(context); + } + return lockManager; + + } + + private void showCustomSnackbar(View view, String message, int backgroundColor) { + Snackbar snackbar = Snackbar.make(view, "", Snackbar.LENGTH_LONG); + + // 获取Snackbar的View + View snackbarView = snackbar.getView(); + + // 获取Snackbar的父布局 + ViewGroup snackbarLayout = (ViewGroup) snackbarView.findViewById(com.google.android.material.R.id.snackbar_text).getParent(); + + // 移除默认的TextView + snackbarLayout.removeAllViews(); + + // 自定义布局 + LayoutInflater inflater = LayoutInflater.from(view.getContext()); + View customView = inflater.inflate(R.layout.custom_float_snackbar, null); + + // 设置背景颜色 + snackbarView.setBackgroundColor(backgroundColor); + + // 设置描述文字 + TextView snackbarText = customView.findViewById(R.id.snackbar_text); + snackbarText.setText(message); + + // 将自定义布局添加到Snackbar的布局中 + snackbarLayout.addView(customView); + + // 设置居中 + FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) snackbarView.getLayoutParams(); + params.gravity = Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM; + snackbarView.setLayoutParams(params); + + snackbar.show(); + } + + private void initView() { + int type = 0; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY; + } else { + type = WindowManager.LayoutParams.TYPE_PHONE; + } + DisplayMetrics displayMetrics = new DisplayMetrics(); + windowManager.getDefaultDisplay().getMetrics(displayMetrics); + layoutParams = new WindowManager.LayoutParams(); + layoutParams.type = type; + layoutParams.width = ViewGroup.LayoutParams.MATCH_PARENT; + layoutParams.height = ViewGroup.LayoutParams.MATCH_PARENT; + + layoutParams.format = PixelFormat.RGBA_8888; + layoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | + WindowManager.LayoutParams.FLAG_FULLSCREEN | + WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN | + WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS | + WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL; + + layoutParams.gravity = Gravity.START | Gravity.TOP; + + Point screenSize = new Point(); + windowManager.getDefaultDisplay().getRealSize(screenSize); + layoutParams.width = screenSize.x; + layoutParams.height = screenSize.y; + } + + + public void showLockView() { + lockView.resetPinLockView(); + windowManager.addView(mView, layoutParams); + + } + + + public void unLock() { + try { + windowManager.removeView(mView); + } catch (Exception exception) { + + } + } + + +} diff --git a/app/src/main/java/com/tool/app/protectorpro/tools/MyThread.java b/app/src/main/java/com/tool/app/protectorpro/tools/MyThread.java new file mode 100644 index 0000000..da6e8b0 --- /dev/null +++ b/app/src/main/java/com/tool/app/protectorpro/tools/MyThread.java @@ -0,0 +1,35 @@ +package com.tool.app.protectorpro.tools; + +import android.os.Handler; +import android.os.Looper; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +public class MyThread { + + private static Handler mMainHandler; + + private static ExecutorService executorService; + + private static Handler getmMainHandler() { + if (mMainHandler == null) { + mMainHandler = new Handler(Looper.getMainLooper()); + } + return mMainHandler; + } + public static void runIO(Runnable task) { + getExecutorService().execute(task); + } + + private static ExecutorService getExecutorService() { + if (executorService == null) { + executorService = Executors.newSingleThreadExecutor(); + } + return executorService; + } + + public static void runUI(Runnable task) { + getmMainHandler().post(task); + } +} diff --git a/app/src/main/res/color/selector_text_color.xml b/app/src/main/res/color/selector_text_color.xml new file mode 100644 index 0000000..8422370 --- /dev/null +++ b/app/src/main/res/color/selector_text_color.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/back.xml b/app/src/main/res/drawable/back.xml new file mode 100644 index 0000000..dc8f6b1 --- /dev/null +++ b/app/src/main/res/drawable/back.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/bg_12_white.xml b/app/src/main/res/drawable/bg_12_white.xml new file mode 100644 index 0000000..0221b83 --- /dev/null +++ b/app/src/main/res/drawable/bg_12_white.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_30_green.xml b/app/src/main/res/drawable/bg_30_green.xml new file mode 100644 index 0000000..bc5f204 --- /dev/null +++ b/app/src/main/res/drawable/bg_30_green.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_36_4cd080.xml b/app/src/main/res/drawable/bg_36_4cd080.xml new file mode 100644 index 0000000..abcf023 --- /dev/null +++ b/app/src/main/res/drawable/bg_36_4cd080.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_36_b1dbff.xml b/app/src/main/res/drawable/bg_36_b1dbff.xml new file mode 100644 index 0000000..7ad006f --- /dev/null +++ b/app/src/main/res/drawable/bg_36_b1dbff.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_dia_step.xml b/app/src/main/res/drawable/bg_dia_step.xml new file mode 100644 index 0000000..2d53532 --- /dev/null +++ b/app/src/main/res/drawable/bg_dia_step.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_fragment.xml b/app/src/main/res/drawable/bg_fragment.xml new file mode 100644 index 0000000..5f61309 --- /dev/null +++ b/app/src/main/res/drawable/bg_fragment.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_sw.xml b/app/src/main/res/drawable/bg_sw.xml new file mode 100644 index 0000000..bbc42e5 --- /dev/null +++ b/app/src/main/res/drawable/bg_sw.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_tab_lock.xml b/app/src/main/res/drawable/bg_tab_lock.xml new file mode 100644 index 0000000..17b773e --- /dev/null +++ b/app/src/main/res/drawable/bg_tab_lock.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_tab_sys.xml b/app/src/main/res/drawable/bg_tab_sys.xml new file mode 100644 index 0000000..c0f35d7 --- /dev/null +++ b/app/src/main/res/drawable/bg_tab_sys.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_tab_three.xml b/app/src/main/res/drawable/bg_tab_three.xml new file mode 100644 index 0000000..2aa5817 --- /dev/null +++ b/app/src/main/res/drawable/bg_tab_three.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bottom_sheet_bg.xml b/app/src/main/res/drawable/bottom_sheet_bg.xml new file mode 100644 index 0000000..bf88b17 --- /dev/null +++ b/app/src/main/res/drawable/bottom_sheet_bg.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/app/src/main/res/drawable/delete.xml b/app/src/main/res/drawable/delete.xml new file mode 100644 index 0000000..5fd9940 --- /dev/null +++ b/app/src/main/res/drawable/delete.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + diff --git a/app/src/main/res/drawable/dia_choose.xml b/app/src/main/res/drawable/dia_choose.xml new file mode 100644 index 0000000..546a80b --- /dev/null +++ b/app/src/main/res/drawable/dia_choose.xml @@ -0,0 +1,11 @@ + + + + + diff --git a/app/src/main/res/drawable/main_pwd.xml b/app/src/main/res/drawable/main_pwd.xml new file mode 100644 index 0000000..1945262 --- /dev/null +++ b/app/src/main/res/drawable/main_pwd.xml @@ -0,0 +1,13 @@ + + + + + diff --git a/app/src/main/res/drawable/oval_black.xml b/app/src/main/res/drawable/oval_black.xml new file mode 100644 index 0000000..48b0b70 --- /dev/null +++ b/app/src/main/res/drawable/oval_black.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/oval_gray.xml b/app/src/main/res/drawable/oval_gray.xml new file mode 100644 index 0000000..82c89fc --- /dev/null +++ b/app/src/main/res/drawable/oval_gray.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/oval_white.xml b/app/src/main/res/drawable/oval_white.xml new file mode 100644 index 0000000..522eb16 --- /dev/null +++ b/app/src/main/res/drawable/oval_white.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/pwd_bg.xml b/app/src/main/res/drawable/pwd_bg.xml new file mode 100644 index 0000000..4db3876 --- /dev/null +++ b/app/src/main/res/drawable/pwd_bg.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/tab_bg.xml b/app/src/main/res/drawable/tab_bg.xml new file mode 100644 index 0000000..0221b83 --- /dev/null +++ b/app/src/main/res/drawable/tab_bg.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/thumb_sw.xml b/app/src/main/res/drawable/thumb_sw.xml new file mode 100644 index 0000000..198a7fc --- /dev/null +++ b/app/src/main/res/drawable/thumb_sw.xml @@ -0,0 +1,16 @@ + + + + + + + + + + diff --git a/app/src/main/res/drawable/track_sw_green.xml b/app/src/main/res/drawable/track_sw_green.xml new file mode 100644 index 0000000..eb9915d --- /dev/null +++ b/app/src/main/res/drawable/track_sw_green.xml @@ -0,0 +1,10 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/track_sw_white.xml b/app/src/main/res/drawable/track_sw_white.xml new file mode 100644 index 0000000..1c4da3d --- /dev/null +++ b/app/src/main/res/drawable/track_sw_white.xml @@ -0,0 +1,10 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/font/inter.ttf b/app/src/main/res/font/inter.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2348f6b9e1731aaae12c156c6d4de7b7fee5d0bc GIT binary patch literal 256476 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

>o7QUe_}jucW?WC<#}&Af8}{^dw=D5 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 + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main_layout.xml b/app/src/main/res/layout/activity_main_layout.xml new file mode 100644 index 0000000..974472c --- /dev/null +++ b/app/src/main/res/layout/activity_main_layout.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_set_pwd.xml b/app/src/main/res/layout/activity_set_pwd.xml new file mode 100644 index 0000000..ffb200c --- /dev/null +++ b/app/src/main/res/layout/activity_set_pwd.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_wel.xml b/app/src/main/res/layout/activity_wel.xml new file mode 100644 index 0000000..37b9d25 --- /dev/null +++ b/app/src/main/res/layout/activity_wel.xml @@ -0,0 +1,40 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/custom_float_snackbar.xml b/app/src/main/res/layout/custom_float_snackbar.xml new file mode 100644 index 0000000..b835b2a --- /dev/null +++ b/app/src/main/res/layout/custom_float_snackbar.xml @@ -0,0 +1,23 @@ + + + + + + + diff --git a/app/src/main/res/layout/custom_password_input_view.xml b/app/src/main/res/layout/custom_password_input_view.xml new file mode 100644 index 0000000..1804caf --- /dev/null +++ b/app/src/main/res/layout/custom_password_input_view.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_permis.xml b/app/src/main/res/layout/dialog_permis.xml new file mode 100644 index 0000000..e2471f1 --- /dev/null +++ b/app/src/main/res/layout/dialog_permis.xml @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/float_view.xml b/app/src/main/res/layout/float_view.xml new file mode 100644 index 0000000..d4dd306 --- /dev/null +++ b/app/src/main/res/layout/float_view.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_my.xml b/app/src/main/res/layout/fragment_my.xml new file mode 100644 index 0000000..1c137f9 --- /dev/null +++ b/app/src/main/res/layout/fragment_my.xml @@ -0,0 +1,14 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_delete.xml b/app/src/main/res/layout/item_delete.xml new file mode 100644 index 0000000..e2fd72a --- /dev/null +++ b/app/src/main/res/layout/item_delete.xml @@ -0,0 +1,20 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_number.xml b/app/src/main/res/layout/item_number.xml new file mode 100644 index 0000000..248f0dc --- /dev/null +++ b/app/src/main/res/layout/item_number.xml @@ -0,0 +1,18 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_systapp.xml b/app/src/main/res/layout/item_systapp.xml new file mode 100644 index 0000000..15f697b --- /dev/null +++ b/app/src/main/res/layout/item_systapp.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/set_bottom_sheet_layout.xml b/app/src/main/res/layout/set_bottom_sheet_layout.xml new file mode 100644 index 0000000..be7a2ad --- /dev/null +++ b/app/src/main/res/layout/set_bottom_sheet_layout.xml @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/tab_view.xml b/app/src/main/res/layout/tab_view.xml new file mode 100644 index 0000000..1e72600 --- /dev/null +++ b/app/src/main/res/layout/tab_view.xml @@ -0,0 +1,30 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..c209e78ecd372343283f4157dcfd918ec5165bb3 GIT binary patch literal 1404 zcmV-?1%vuhNk&F=1pok7MM6+kP&il$0000G0000-002h-06|PpNX!5L00Dqw+t%{r zzW2vH!KF=w&cMnnN@{whkTw+#mAh0SV?YL=)3MimFYCWp#fpdtz~8$hD5VPuQgtcN zXl<@<#Cme5f5yr2h%@8TWh?)bSK`O z^Z@d={gn7J{iyxL_y_%J|L>ep{dUxUP8a{byupH&!UNR*OutO~0{*T4q5R6@ApLF! z5{w?Z150gC7#>(VHFJZ-^6O@PYp{t!jH(_Z*nzTK4 zkc{fLE4Q3|mA2`CWQ3{8;gxGizgM!zccbdQoOLZc8hThi-IhN90RFT|zlxh3Ty&VG z?Fe{#9RrRnxzsu|Lg2ddugg7k%>0JeD+{XZ7>Z~{=|M+sh1MF7~ zz>To~`~LVQe1nNoR-gEzkpe{Ak^7{{ZBk2i_<+`Bq<^GB!RYG+z)h;Y3+<{zlMUYd zrd*W4w&jZ0%kBuDZ1EW&KLpyR7r2=}fF2%0VwHM4pUs}ZI2egi#DRMYZPek*^H9YK zay4Iy3WXFG(F14xYsoDA|KXgGc5%2DhmQ1gFCkrgHBm!lXG8I5h*uf{rn48Z!_@ z4Bk6TJAB2CKYqPjiX&mWoW>OPFGd$wqroa($ne7EUK;#3VYkXaew%Kh^3OrMhtjYN?XEoY`tRPQsAkH-DSL^QqyN0>^ zmC>{#F14jz4GeW{pJoRpLFa_*GI{?T93^rX7SPQgT@LbLqpNA}<@2wH;q493)G=1Y z#-sCiRNX~qf3KgiFzB3I>4Z%AfS(3$`-aMIBU+6?gbgDb!)L~A)je+;fR0jWLL-Fu z4)P{c7{B4Hp91&%??2$v9iRSFnuckHUm}or9seH6 z>%NbT+5*@L5(I9j@06@(!{ZI?U0=pKn8uwIg&L{JV14+8s2hnvbRrU|hZCd}IJu7*;;ECgO%8_*W Kmw_-CKmY()leWbG literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..b2dfe3d1ba5cf3ee31b3ecc1ced89044a1f3b7a9 GIT binary patch literal 2898 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..4f0f1d64e58ba64d180ce43ee13bf9a17835fbca GIT binary patch literal 982 zcmV;{11bDcNk&G_0{{S5MM6+kP&il$0000G0000l001ul06|PpNU8t;00Dqo+t#w^ z^1csucXz7-Qrhzl9HuHB%l>&>1tG2^vb*E&k^T3$FG1eQZ51g$uv4V+kI`0<^1Z@N zk?Jjh$olyC%l>)Xq;7!>{iBj&BjJ`P&$fsCfpve_epJOBkTF?nu-B7D!hO=2ZR}

C%4 zc_9eOXvPbC4kzU8YowIA8cW~Uv|eB&yYwAObSwL2vY~UYI7NXPvf3b+c^?wcs~_t{ ze_m66-0)^{JdOMKPwjpQ@Sna!*?$wTZ~su*tNv7o!gXT!GRgivP}ec?5>l1!7<(rT zds|8x(qGc673zrvYIz;J23FG{9nHMnAuP}NpAED^laz3mAN1sy+NXK)!6v1FxQ;lh zOBLA>$~P3r4b*NcqR;y6pwyhZ3_PiDb|%n1gGjl3ZU}ujInlP{eks-#oA6>rh&g+!f`hv#_%JrgYPu z(U^&XLW^QX7F9Z*SRPpQl{B%x)_AMp^}_v~?j7 zapvHMKxSf*Mtyx8I}-<*UGn3)oHd(nn=)BZ`d$lDBwq_GL($_TPaS{UeevT(AJ`p0 z9%+hQb6z)U9qjbuXjg|dExCLjpS8$VKQ55VsIC%@{N5t{NsW)=hNGI`J=x97_kbz@ E0Of=7!TQj4N+cqN`nQhxvX7dAV-`K|Ub$-q+H-5I?Tx0g9jWxd@A|?POE8`3b8fO$T))xP* z(X?&brZw({`)WU&rdAs1iTa0x6F@PIxJ&&L|dpySV!ID|iUhjCcKz(@mE z!x@~W#3H<)4Ae(4eQJRk`Iz3<1)6^m)0b_4_TRZ+cz#eD3f8V;2r-1fE!F}W zEi0MEkTTx}8i1{`l_6vo0(Vuh0HD$I4SjZ=?^?k82R51bC)2D_{y8mi_?X^=U?2|F{Vr7s!k(AZC$O#ZMyavHhlQ7 zUR~QXuH~#o#>(b$u4?s~HLF*3IcF7023AlwAYudn0FV~|odGH^05AYPEfR)8p`i{n zwg3zPVp{+wOsxKc>)(pMupKF!Y2HoUqQ3|Yu|8lwR=?5zZuhG6J?H`bSNk_wPoM{u zSL{c@pY7+c2kck>`^q1^^gR0QB7Y?KUD{vz-uVX~;V-rW)PDcI)$_UjgVV?S?=oLR zf4}zz{#*R_{LkiJ#0RdQLNC^2Vp%JPEUvG9ra2BVZ92(p9h7Ka@!yf9(lj#}>+|u* z;^_?KWdzkM`6gqPo9;;r6&JEa)}R3X{(CWv?NvgLeOTq$cZXqf7|sPImi-7cS8DCN zGf;DVt3Am`>hH3{4-WzH43Ftx)SofNe^-#|0HdCo<+8Qs!}TZP{HH8~z5n`ExcHuT zDL1m&|DVpIy=xsLO>8k92HcmfSKhflQ0H~9=^-{#!I1g(;+44xw~=* zxvNz35vfsQE)@)Zsp*6_GjYD};Squ83<_?^SbALb{a`j<0Gn%6JY!zhp=Fg}Ga2|8 z52e1WU%^L1}15Ex0fF$e@eCT(()_P zvV?CA%#Sy08_U6VPt4EtmVQraWJX` zh=N|WQ>LgrvF~R&qOfB$!%D3cGv?;Xh_z$z7k&s4N)$WYf*k=|*jCEkO19{h_(%W4 zPuOqbCw`SeAX*R}UUsbVsgtuG?xs(#Ikx9`JZoQFz0n*7ZG@Fv@kZk`gzO$HoA9kN z8U5{-yY zvV{`&WKU2$mZeoBmiJrEdzUZAv1sRxpePdg1)F*X^Y)zp^Y*R;;z~vOv-z&)&G)JQ{m!C9cmziu1^nHA z`#`0c>@PnQ9CJKgC5NjJD8HM3|KC(g5nnCq$n0Gsu_DXk36@ql%npEye|?%RmG)

FJ$wK}0tWNB{uH;AM~i literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..948a3070fe34c611c42c0d3ad3013a0dce358be0 GIT binary patch literal 1900 zcmV-y2b1_xNk&Fw2LJ$9MM6+kP&il$0000G0001A003VA06|PpNH75a00DqwTbm-~ zullQTcXxO9ki!OCRx^i?oR|n!<8G0=kI^!JSjFi-LL*`V;ET0H2IXfU0*i>o6o6Gy zRq6Ap5(_{XLdXcL-MzlN`ugSdZY_`jXhcENAu)N_0?GhF))9R;E`!bo9p?g?SRgw_ zEXHhFG$0{qYOqhdX<(wE4N@es3VIo$%il%6xP9gjiBri+2pI6aY4 zJbgh-Ud|V%3O!IcHKQx1FQH(_*TK;1>FQWbt^$K1zNn^cczkBs=QHCYZ8b&l!UV{K z{L0$KCf_&KR^}&2Fe|L&?1I7~pBENnCtCuH3sjcx6$c zwqkNkru);ie``q+_QI;IYLD9OV0ZxkuyBz|5<$1BH|vtey$> z5oto4=l-R-Aaq`Dk0}o9N0VrkqW_#;!u{!bJLDq%0092{Ghe=F;(kn} z+sQ@1=UlX30+2nWjkL$B^b!H2^QYO@iFc0{(-~yXj2TWz?VG{v`Jg zg}WyYnwGgn>{HFaG7E~pt=)sOO}*yd(UU-D(E&x{xKEl6OcU?pl)K%#U$dn1mDF19 zSw@l8G!GNFB3c3VVK0?uyqN&utT-D5%NM4g-3@Sii9tSXKtwce~uF zS&Jn746EW^wV~8zdQ1XC28~kXu8+Yo9p!<8h&(Q({J*4DBglPdpe4M_mD8AguZFn~ ztiuO~{6Bx?SfO~_ZV(GIboeR9~hAym{{fV|VM=77MxDrbW6`ujX z<3HF(>Zr;#*uCvC*bpoSr~C$h?_%nXps@A)=l_;({Fo#6Y1+Zv`!T5HB+)#^-Ud_; zBwftPN=d8Vx)*O1Mj+0oO=mZ+NVH*ptNDC-&zZ7Hwho6UQ#l-yNvc0Cm+2$$6YUk2D2t#vdZX-u3>-Be1u9gtTBiMB^xwWQ_rgvGpZ6(C@e23c!^K=>ai-Rqu zhqT`ZQof;9Bu!AD(i^PCbYV%yha9zuoKMp`U^z;3!+&d@Hud&_iy!O-$b9ZLcSRh? z)R|826w}TU!J#X6P%@Zh=La$I6zXa#h!B;{qfug}O%z@K{EZECu6zl)7CiNi%xti0 zB{OKfAj83~iJvmpTU|&q1^?^cIMn2RQ?jeSB95l}{DrEPTW{_gmU_pqTc)h@4T>~& zluq3)GM=xa(#^VU5}@FNqpc$?#SbVsX!~RH*5p0p@w z;~v{QMX0^bFT1!cXGM8K9FP+=9~-d~#TK#ZE{4umGT=;dfvWi?rYj;^l_Zxywze`W z^Cr{55U@*BalS}K%Czii_80e0#0#Zkhlij4-~I@}`-JFJ7$5{>LnoJSs??J8kWVl6|8A}RCGAu9^rAsfCE=2}tHwl93t0C?#+jMpvr7O3`2=tr{Hg$=HlnjVG^ewm|Js0J*kfPa6*GhtB>`fN!m#9J(sU!?(OSfzY*zS(FJ<-Vb zfAIg+`U)YaXv#sY(c--|X zEB+TVyZ%Ie4L$gi#Fc++`h6%vzsS$pjz9aLt+ZL(g;n$Dzy5=m=_TV(3H8^C{r0xd zp#a%}ht55dOq?yhwYPrtp-m1xXp;4X;)NhxxUpgP%XTLmO zcjaFva^}dP3$&sfFTIR_jC=2pHh9kpI@2(6V*GQo7Ws)`j)hd+tr@P~gR*2gO@+1? zG<`_tB+LJuF|SZ9tIec;h%}}6WClT`L>HSW?E{Hp1h^+mlbf_$9zA>!ug>NALJsO{ mU%z=YwVD?}XMya)Bp;vlyE5&E_6!fzx9pwrdz474!~g(M6R?N? literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..1b9a6956b3acdc11f40ce2bb3f6efbd845cc243f GIT binary patch literal 3918 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�(p-{x$&=IACIfoAR!za)F-^da-t3#0Dycnp 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 Y0XCuyoaD-er2qf`07*qoM6N<$f;ei|p8x;= literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_backspace.png b/app/src/main/res/mipmap-xxxhdpi/ic_backspace.png new file mode 100644 index 0000000000000000000000000000000000000000..a1709f9b40f0e85cc9530c4ff56c650736781357 GIT binary patch literal 783 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk<`$ucnoBI7?|5JFfiWrba4#Hxc7F(-k?JcBCY&h zt}8E|YdXbsB;4WnC8jOY!nEgp4BWEOaGJ)Iea*cQ9sCKZEt2jMD?dbN^mu&hSKJ+) zayjnDzB#^mW#-O1WWD=-u5{3vz@@>u$>O-J-GSCP6r{0yH?>AatD=f!5HlqGWw zjs!0H$saI+M|u73pLA`URmUc|C014uWuU-0|G;8J_Q@6REY zHAm(37l{AYHZ%EW>%?bSdGd`&OxA;FjfXzW@yG1ix>nVn-M;FgQ*?|f$2_mqyL1Ft z$}Oi%^?l5|PxGTckJ{IyR=w`Yt88Z;+TsxV_}}T^{T<;Q{~kDg@bZ7)!0caEw^&r$ z<<6xEa|AhVToek>lz5mau|I0z@kyNX+CHup>G_!4X!`a?Dwl2E>_^9$wjcXp(Rx7U zzjA?vxSiiYiSw3^!!72BQm|_(_?X}-w<#3a@je6X79xmT=;^(z9KcAVrE574$cV5GCb`e3p994xV!JD(% z^!xi?D#=89JaDWFsqT$h^n25celkXGM7@{EhgYDx6<~`HIre6Zay=sYTL`h0wNvc(HQ7VvPFfuSS(={;DH8cn@ zG_o?WurjjHHZZa>FqodBd=y1PZhlH;S|x4`&kSc*0yRj2YzWRzD=AMbN@XZ7FW1Y= e%Pvk%EJ)SMFG`>N&PEETh{4m<&t;ucLK6T_Jt`3Z literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_change.png b/app/src/main/res/mipmap-xxxhdpi/ic_change.png new file mode 100644 index 0000000000000000000000000000000000000000..c5797a4d82bf2cfd029c7023bcdac75d3b47bd6f GIT binary patch literal 1717 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 K&t;ucLK6UG7K|VO literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_dia_step1.png b/app/src/main/res/mipmap-xxxhdpi/ic_dia_step1.png new file mode 100644 index 0000000000000000000000000000000000000000..f276042799c67453ee72541ba974a1ff350e4848 GIT binary patch literal 2429 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 Mxcj(OyE0P$2GKK0GXMYp literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..aa7d6427e6fa1074b79ccd52ef67ac15c5637e85 GIT binary patch literal 3844 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

UmY2RIYtNPVDpE$%vda+HD#3m z&VuXJ{BK&Qe+rBa7eq}Q(bq|tn(RrJAk|ztj2(i{d>nmQnM?;HF2k&9sA6up5tmjl z7lySlzMbifH17-m-Lwa_F&e7nOH?ESi3#ckR3tsM+jsck3`oG!uMS}|eAwVXv>}qxwq?QY%QJ0}r@^;fhuUA9W z*BVl>TGo&N004@xSiwDUXUvp51sVmqO3m)=B55aPwf@0=e}cN+$-BdKxY`YrT_4)0 z_d10#i44Q*rFr8MC>*)v$EJvz``(pb{e&*6k+b zsMz%($|1+8hn8c2?P(l@;Rb&CsZeYoCI3?2!LqjbwPXW3z4G$Qfj=cT5Yb%vY0(AX oeb?AaKtwrnc|$|zzw9vfvn^aJJ!zd)XFXqqy0000001=f@-~a#s literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_next.png b/app/src/main/res/mipmap-xxxhdpi/ic_next.png new file mode 100644 index 0000000000000000000000000000000000000000..f77e0357b2839eb6bce4522c9deab46a11d5636f GIT binary patch literal 743 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-HD>U|Q(u;uum9 z_jb-%-@^_fE%P1kEM)fLke$Gn(dfre7P2g0dcokefVsv!{G_wAOWBuaU6wO#W@j;Y>yvh#o1A2-r3~8K+EE~KyR2u@FEEscyoVXGu34}3p zw_IS7P-zhth-GSRI3bk5QZo5NWmDZnf7J!eEzeElc+D$*Zr<$sf@RB;fTbT_WTcmv zTNK=9jgabJz_Z|?G|z-`Ar zeOS*EysPQ_ro|Z!AwRx)aOo=;{rSMO=rF%-17lqTqs|9su7oCeKL+VP0ZbAP+XWAB z*#n*X;~ndU!{xdQ_&?m`dcj>YohfXMa9$NxROGjhA)8+($CmRyK6UkVOa1?IA3oHY zB^bqS_uKLBp2&y2ToK#-X0YuGXIy=aGx*?l&4iy;iB>=KSkFBFdZl~ocdyNh=4}k9 z{a<-}_0#jkUv##uE4Nzxt+-r#OSk;XpEHCQwkZ=Aw?rn2f82W>q!hSleEI-PxeT7J KelF{r5}E)#gfZ0s literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_plaicy.png b/app/src/main/res/mipmap-xxxhdpi/ic_plaicy.png new file mode 100644 index 0000000000000000000000000000000000000000..31f855afae60e3e7dab09f7898d2e5e219a8df3a GIT binary patch literal 1649 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 OKutwcx#*eM=l=nn^kB{a literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/main_tab_lock_def.png b/app/src/main/res/mipmap-xxxhdpi/main_tab_lock_def.png new file mode 100644 index 0000000000000000000000000000000000000000..7e967ad36a122be26bb055a31c5c8b7fc8f258a3 GIT binary patch literal 1446 zcmZvceKga19LK-E*;q5|NzqY8gswX6>V{~37}A4jT9%ZRl%zbHQH(PhN1lovxU&^G zw;fw9mJp+Rdr~NgNOnpdGOQv?nXCWqx##}z`Mlnr^Zxw#KJRRQKOY0kY779tz;_3Y zu}t>QLF+E>cUL%0%Yfn-J{~~YX*K}>itS5t-i40TH(PNJIdnV4v_h(g)nlOc z>y->USnl|6sA^t-EJoM|lB*CQ8~hpW{pm6&j`-%hPs{TdcZBlu$cJ1ZTE$p0zpdG} z2|r6<0~Da07IkZo9^6Kmp=02^$C!2dTj^fNgCz;nn~x5) ztcMhtX0%2h-bD)Eo!8om7Y3cW9I7dG<#o8GkXg?ny_>Y>?=}4KvFEwjbd1$o9q$z` zL_?qJ02A5?O@!v}Z$P#;qN3w|9Cx`FZ=qVndmq&=v{1T$qz|Vr4m8)Lv1UFO>gPb4 zA2eUHIQNMpIl01()%AC;uBy0dDr}b~D8dz|Q!uuQgVqR7`6F4xwq_YDNnbPIY^as;Xi@23t(}MqLGtL6oQP>(gfyn&1-VVyr-5k>IVTE~VH^C98*0 z@ZDTvZinLGOs+a!b?D`Dh%|cCP;iKH*G{sKutPEs=-5>&Yk2!0b%AiDD9=drXgXaP zDbs}$m_y##i%nD~4Q=*BSkyfAV2(Fs8#ps)5oV%Bdp=GcrY7CcQMSWRCPWWsIkV|W z@xV*CH!yIMWZQ&;@Ap;ZSv&Q~Qy~y~9!7~kJT~c#evx4k-9Y|=!WwAJA{)4`&e(!X zu%|I(o<)4}opxG9euFmbzV?}vRBA`qil^S$I7&(VY~qTJDw#hcTl}WKv@ViUqUyBI zNad`?ir9&c)~m-^)X*PtTQlGwG1-N+aBC~&V8{i*YZ}fX?uMfGSgKRYaU(Y? z9hr;r4r{%ADT=)0H%$sRk`L8XfEa(h&h?8&WR+MI1Vgh(WzM9BsxVwkiREb}8ze#y z?FY}`TWye$JavFR`HmyTB~4K4I8>$yvF8cCJuWew)ixkGI^A{y124nfo=f(XCmT@O2wabSdHN*14OX zgqzFt;_JT%_}?znmj~pmye}uN1$ieX>lTJis@IK}8c^|rb(drm?KjWb8sC&IZC&N$ z5=K{q-9P|C-L@-v!ZE!Do9k4#rIv#yBLE4p!c+ja% z-W@(h9TrUV1XVmCv}Lg8@M4i^S3p-eQt_%#Cx$=eLUz3|cUL7o)*B%Zxhq;1%FK;U yl6@g8S5#h|hrq3u0ut{wqJ8>jrv6=cOGe#wTk>48My@RvFYxv9qe(s38UFw`my$dH literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/main_tab_lock_en.png b/app/src/main/res/mipmap-xxxhdpi/main_tab_lock_en.png new file mode 100644 index 0000000000000000000000000000000000000000..8c0b8f889a656cd9e900089c9adf6000e942fe80 GIT binary patch literal 1602 zcmV-I2EF--P)Px){7FPXRCr$Poj+_GMHI%r*}HX&Y{D%T&`{VZpa6tTL2W|?NF+rRi3+=xSPoAaKmaT&U^zTx00GcbpzKGB ztb~`Dz@h-=1yEr?MV1!8J`)HTL&ydH5yENQ^Sy?iXS-I#&Hz8EOq8(71uk~P9zw1V zKqKY|;Cu4_LSDrL;71kLK@GsglvLX)Du}`XaMz<%A>fZt<5jFeIPl}k-ZhnBo}U*A zfLo6~NU_!r(s3iMdTV)#oD{1V0NPE?jr(o(VlKi6{16K)!T0uaiI)(h5CGgD+5y9S z&SEs;s<)JL%!k5R2ar>bs#^=?cpn0r5NMQv@bGweS@EOFZD5`; zeh$nz3t(2)rvturw>q<-YoE5AJpg_*>pIxh6e|=QE4q^_w;nCupP$KLtPY6%m}AaX ze_#!O8|-a?IqxcKl)&bcfWJR%hv`R^GUGmD&Z;s7U~Ob%2SB^_@2Z4h0ztFp`6|1l z&&xsNGuFz6#4G0TY-E8I09v(QU^A|Hsmz4S!QO@{6PVyZvo>P{TLrn_=XLT`=mrxwH&9@~H{;q& zDs6vnjIshg6XNq`?a9ISmO-t^9e}$Y?LZ7(cF3|B&}fD-%f3PE@&}-32C^IuPWsX8 zQS$IN_m0>G0Fji*an;N8p4@t5HGc22XZo=Hgtje!?f3+MGQe&VKp9}U1`+@Q@V{<= zI^mvPG3!wnb;6c2kN`ZA0NP)$T$S%^X7EB)1}iXTE*bDylVdH7S02s#06&^7JJ>l1 z!uMd4-z6`YLNEqUR;_NDRkos+Hh#Cr7=UVAU33Kv@6UMgjsO@EFdeoM00LmBfaT(p z0R$j z^TGtcTtg!d1i(l>^TGtcTtg!d1i(l>^TGtcTtg!d1Ykt@4q|~Xf4z%eZryAB$!pFl z;mzkxVd>0-wpRk6E!6|VTL&DqZ*Jp{1KzjvQ&SFt*QfFHl%w=c0F)9vZ1CO}e-9MD zV=W=P|Hk8(a+8YOtd8cT2ekRy7cuw2%{sdQZfrZ ze)}{5&{9j&NL6Ed-Kdt!RsQG;nI1(|f)N1Cnmnr6Fip^GrPS((lP(od%77mAuK#?9 z>pvZ8@uN;yOQzwB4w?co3kJ;rx`&}Ua{ z+G=?w09rC-XG8$9(^kv#*aNtB{t4|#kCq}i8;t{i#63WR*QW8pGv%CRODEj-zsI=p z-9eJGLi|cn?g2XR;04|9Uel2*JumXDic4Q97xnD_PFS@Sq?ANLSb60!y!x!0obnNS*sN_0PessOq&LGF(JNHs^T14Drzt(xC~kU9YAxYZ{x?rWV9GY07( zfJT{PC5<+}_i-};&Hq)$07*qoM6N<$f{o4S Avj6}9 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/main_tab_sys_def.png b/app/src/main/res/mipmap-xxxhdpi/main_tab_sys_def.png new file mode 100644 index 0000000000000000000000000000000000000000..1e2bace15c1724eefa9cb51b24a52c035a26a601 GIT binary patch literal 2527 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/main_tab_sys_en.png b/app/src/main/res/mipmap-xxxhdpi/main_tab_sys_en.png new file mode 100644 index 0000000000000000000000000000000000000000..f0a0fad16c6bc42b6455b65866488db37cf62582 GIT binary patch literal 2895 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/main_tab_three_def.png b/app/src/main/res/mipmap-xxxhdpi/main_tab_three_def.png new file mode 100644 index 0000000000000000000000000000000000000000..00e917f7d7a650c8f142e3856dd82bd657acb0fe GIT binary patch literal 1609 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/track_sw_green_ic.png b/app/src/main/res/mipmap-xxxhdpi/track_sw_green_ic.png new file mode 100644 index 0000000000000000000000000000000000000000..d73507d213a1cac8bb486d7bc721b1b5690ed241 GIT binary patch literal 1526 zcmVPx)ut`KgRCr$PoxgM2HWbIdph(x({HRzD?Ph!ETH8afTVmg3Zt@Q#wTE`gIo@N5 zlKz0&m$BE2oBRQ3<_u9fri1IXOPQ@heN#c}0RbQYmKCsUo+5w%SXRKYd5Qo6pr(KuMC+`E6(+DQfK>t1 z8Bmw41<+#xA!7)+;71Tn_us(ps`YHQR=Fb}i0X4SY;%EoBe65c6$0qS94!RC{9MXX zP5?nv_Z&0<+{;O|gR+7s9RRNrZ3}^529Hl;6~aLf-}iq^t7!83QUUPV(RVp|{WKl- z;)cItQsg9C~$l;2>cogY#{J^M(iaRDFpzp6&-?M)vy@dxZ!UYw)u`Z z>i`U;ozkWws{p+ApPNAKp{f_k`91{pA<%V!@bqkYSr4N639!l-zXj&p1hAyqrvtw8 zy0NgQT0if4_5cLYlIP&LqFABe*iwDC^4ihn+vhVmja32Bi#e8UjR)2Mc&+0DFz4%3 zj}q9wBoOqn4wykycNq^DbGB1$0M=$kb^r{$|MxUum_V!F^nj?!}n(qQKyY@0E1P{;ov*HIJM3A{?%NU3{>n2jt$j;UPtutw&nq}j^)6Z zl#|1_;V%mYYC14T{;=YweJP4e{D_&{s}fJlnu zxZxLiO)Rgp+QSjM=zm@9hR;mnu{_bFZKIJmkF|!pA z0hoe>04V#aTE#3WNKQ-TKy0E^CIWV^&13iayppCg2rJ2yt&)5Id-=^3rD^Dm$0v{j zv58Wd2#{hf)*U>%o$?@NP<(k!l>#7dSVn?;Cb;wY99BLZPD{fc$K#{^U^&9n1K23K zDhI$sTFGLA0Ax|CfVu>r08z7aNdU5_RX|+=P=Kgex+DNu)GDAZ0VqJ!EL{?SENT@{ zmjDzXYL+g`03dA-&@A_J(dw4sUy^bUP%{TFln;;n{|TpU1zA4L^1LGbeMYtaAAsSu zz;Z*>%9R?&^5_hMS#Mq+006HYRWS`6#0`IIR^dnOashC*AE(?LJKHbkx>s+hy*$ao zhu6kI)MJANTp%UZwpDTc|NRYdu zzgOvKa9}9V%FFX}9RnskdN3w19w?m=a{n+a07*qoM6N<$f|J?DQ~&?~ literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/track_sw_white_ic.png b/app/src/main/res/mipmap-xxxhdpi/track_sw_white_ic.png new file mode 100644 index 0000000000000000000000000000000000000000..2df03b225e66838ad7eb6429381bcad4923c9d80 GIT binary patch literal 1482 zcmZuxdo&Yz9RF?hU`tJ2mnQF&7Pj|vw`y>UfmcEGEcNCLBVT~YgMZ;lep*PYXTywSN!{g&! zh?M4ft@GQk+&e0K>8`Y^l^#vask)@O_jN-j^Br@1etFjHJOw+b6BEwTwUX7*P5j-D z_0ZNzi|n}evp=7RbJKR@*HZa@Z9cmplVcJvD&W;q7nU@kFzPwD1wl_r1+2)3`#(~I zZTg1Q?+u2d&{jgj8e~}=bKpm6v(>`=00y>F0lG zg+_DBU$NTL3NlgLfX4f)I(AH70uB%p%v2$D3K9b1ozo40r$TufMX`{{GP_s6m+kX% z*Wj}3qb428mp+4ZC2gb__KHrITHNE8Rja+HU~)-kCCaNk9?V8q@Q{uo)6ilezzpIRIT70uUEEx0CE^A^5BC(GPQYc6*z3MR^zdeq$# zWlE+@LtXzG(OybWlrl46h-La3U#Y0c@lBdcdBdp+l&l}yEyTWah00oE|l3(Jp9k_k7)K|IcdcyBA6I8}O^*t1ZFcBgBYy_;Jx<3Yj!Z$XdDFQ$y3IOpYfw=@~PLkV7gFl z{CE`3$|{4hO0hsO590l~WJ86crv8_NSCoUs9=9#R=?j|R>V-UyU8X2ILqrd_(Y z0}t$gxbIB$Fvg#If_WFtw;-tUEtcHUCk5W}9Zp+Xtm=@T42rX7?#=WbxDlpE%POe) zmJuT$80dV4)dq311bjWtHrtT~iKa+x&SsQW9zdmSb>j4n5`sa!p4N?}rcxcs$8jj> zYOE+Q7q=#t_i#qo;zQ|Il5|gEu-fG3YUMvQV4m+aN&?3V)#vcE; zn^WEBR-2fe@qWp9CD=;X`EjrOR`0%;Gej);4U&`#U+ctX`nAkX(_KtJMT%6LD%tqM zclO8Glu~Ihh1N!D$}DnnnQIkG)AMCWAZj%V4BuKo>d5T5S< literal 0 HcmV?d00001 diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml new file mode 100644 index 0000000..e2e7d52 --- /dev/null +++ b/app/src/main/res/values-night/themes.xml @@ -0,0 +1,16 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml new file mode 100644 index 0000000..f53b0cf --- /dev/null +++ b/app/src/main/res/values/attrs.xml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..c5215ff --- /dev/null +++ b/app/src/main/res/values/colors.xml @@ -0,0 +1,27 @@ + + + #FFBB86FC + #FF6200EE + #FF018786 + #FF000000 + #FFFFFFFF + #FFF5F6F7 + #FF3700B3 + #FF0fa934 + #66000000 + #E5E5E5 + #FF72716F + #00000000 + #FFF4FAFF + #282638 + #FF0582EF + #FFB1DBFF + #1a8ee04e + #5aa2f1 + #FFFFFFFF + #1F1D2B + #FF3A3938 + #FF0582EF + #FF2A343D + + \ No newline at end of file diff --git a/app/src/main/res/values/dimmens.xml b/app/src/main/res/values/dimmens.xml new file mode 100644 index 0000000..f5e3f8b --- /dev/null +++ b/app/src/main/res/values/dimmens.xml @@ -0,0 +1,9 @@ + + + 16sp + 60dp + 32dp + 0dp + 8dp + 8dp + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..881e0b7 --- /dev/null +++ b/app/src/main/res/values/strings.xml @@ -0,0 +1,39 @@ + + AppLocker pro + Continue + Password + Rate Us + Share + Change Password + Confirm Password + Please enter your new 4-digit password + Please confirm your 4-digit password + Save + Your APP + Protect your privacy by locking apps with one click + locked: %s + Unlocked: %s + Congratulations, your password has been changed successfully + For normal use, please grant relevant permissions + permissions +For normal use App Lock, please grant the following + Usage access + Enables the system to capture and analyze your application\'s usage data. + Display on top of other apps + Enable that the application window or interface will be displayed on top of all other open applications. + come back home and enjoy the use of the features available for your problems + System App + Third APP + Lock APP + Set Passcode + Your initial password is required for first use + Back Home + please input complete + please sure input complete + Step 1 : Select + Step 2:Enabled + Please enter password + Settings + Change password + Privacy Policy + \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml new file mode 100644 index 0000000..63374a0 --- /dev/null +++ b/app/src/main/res/values/themes.xml @@ -0,0 +1,19 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/backup_rules.xml b/app/src/main/res/xml/backup_rules.xml new file mode 100644 index 0000000..fa0f996 --- /dev/null +++ b/app/src/main/res/xml/backup_rules.xml @@ -0,0 +1,13 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/data_extraction_rules.xml b/app/src/main/res/xml/data_extraction_rules.xml new file mode 100644 index 0000000..9ee9997 --- /dev/null +++ b/app/src/main/res/xml/data_extraction_rules.xml @@ -0,0 +1,19 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/test/java/com/tool/app/protectorpro/ExampleUnitTest.kt b/app/src/test/java/com/tool/app/protectorpro/ExampleUnitTest.kt new file mode 100644 index 0000000..2f9cb79 --- /dev/null +++ b/app/src/test/java/com/tool/app/protectorpro/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package com.tool.app.protectorpro + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit protectorpro, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000..1bc1d16 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,5 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. +plugins { + id("com.android.application") version "8.1.3" apply false + id("org.jetbrains.kotlin.android") version "1.9.0" apply false +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..3c5031e --- /dev/null +++ b/gradle.properties @@ -0,0 +1,23 @@ +# Project-wide Gradle settings. +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app's APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +# Kotlin code style for this project: "official" or "obsolete": +kotlin.code.style=official +# Enables namespacing of each library's R class so that its R class includes only the +# resources declared in the library itself and none from the library's dependencies, +# thereby reducing the size of the R class for that library +android.nonTransitiveRClass=true \ No newline at end of file diff --git a/gradle/applockpro1 b/gradle/applockpro1 new file mode 100644 index 0000000000000000000000000000000000000000..7090055dd327981c2e026d314b822cb2d049291d GIT binary patch literal 2674 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

K7UpUK$>l@ zw`1S}(D?mUXu_C{wupRS-jiX~w=Uqqhf|Vb3Cm9L=T+w91Cu^ z*&Ty%sN?x*h~mJc4g~k{xD4ZmF%FXZNC;oVDwLZ_WvrnzY|{v8hc1nmx4^}Z;yriXsAf+Lp+OFLbR!&Ox?xABwl zu8w&|5pCxmu#$?Cv2_-Vghl2LZ6m7}VLEfR5o2Ou$x02uA-%QB2$c(c1rH3R9hesc zfpn#oqpbKuVsdfV#cv@5pV4^f_!WS+F>SV6N0JQ9E!T90EX((_{bSSFv9ld%I0&}9 zH&Jd4MEX1e0iqDtq~h?DBrxQX1iI0lIs<|kB$Yrh&cpeK0-^K%=FBsCBT46@h#yi!AyDq1V(#V}^;{{V*@T4WJ&U-NTq43w=|K>z8%pr_nC>%C(Wa_l78Ufib$r8Od)IIN=u>417 z`Hl{9A$mI5A(;+-Q&$F&h-@;NR>Z<2U;Y21>>Z;s@0V@SbkMQQj%_;~+qTuQ?c|AV zcWm3XZQHhP&R%QWarS%mJ!9R^&!_)*s(v+VR@I#QrAT}`17Y+l<`b-nvmDNW`De%y zrwTZ9EJrj1AFA>B`1jYDow}~*dfPs}IZMO3=a{Fy#IOILc8F0;JS4x(k-NSpbN@qM z`@aE_e}5{!$v3+qVs7u?sOV(y@1Os*Fgu`fCW9=G@F_#VQ%xf$hj0~wnnP0$hFI+@ zkQj~v#V>xn)u??YutKsX>pxKCl^p!C-o?+9;!Nug^ z{rP!|+KsP5%uF;ZCa5F;O^9TGac=M|=V z_H(PfkV1rz4jl?gJ(ArXMyWT4y(86d3`$iI4^l9`vLdZkzpznSd5Ikfrs8qcSy&>z zTIZgWZGXw0n9ibQxYWE@gI0(3#KA-dAdPcsL_|hg2@~C!VZDM}5;v_Nykfq!*@*Zf zE_wVgx82GMDryKO{U{D>vSzSc%B~|cjDQrt5BN=Ugpsf8H8f1lR4SGo#hCuXPL;QQ z#~b?C4MoepT3X`qdW2dNn& zo8)K}%Lpu>0tQei+{>*VGErz|qjbK#9 zvtd8rcHplw%YyQCKR{kyo6fgg!)6tHUYT(L>B7er5)41iG`j$qe*kSh$fY!PehLcD zWeKZHn<492B34*JUQh=CY1R~jT9Jt=k=jCU2=SL&&y5QI2uAG2?L8qd2U(^AW#{(x zThSy=C#>k+QMo^7caQcpU?Qn}j-`s?1vXuzG#j8(A+RUAY})F@=r&F(8nI&HspAy4 z4>(M>hI9c7?DCW8rw6|23?qQMSq?*Vx?v30U%luBo)B-k2mkL)Ljk5xUha3pK>EEj z@(;tH|M@xkuN?gsz;*bygizwYR!6=(Xgcg^>WlGtRYCozY<rFX2E>kaZo)O<^J7a`MX8Pf`gBd4vrtD|qKn&B)C&wp0O-x*@-|m*0egT=-t@%dD zgP2D+#WPptnc;_ugD6%zN}Z+X4=c61XNLb7L1gWd8;NHrBXwJ7s0ce#lWnnFUMTR& z1_R9Fin4!d17d4jpKcfh?MKRxxQk$@)*hradH2$3)nyXep5Z;B z?yX+-Bd=TqO2!11?MDtG0n(*T^!CIiF@ZQymqq1wPM_X$Iu9-P=^}v7npvvPBu!d$ z7K?@CsA8H38+zjA@{;{kG)#AHME>Ix<711_iQ@WWMObXyVO)a&^qE1GqpP47Q|_AG zP`(AD&r!V^MXQ^e+*n5~Lp9!B+#y3#f8J^5!iC@3Y@P`;FoUH{G*pj*q7MVV)29+j z>BC`a|1@U_v%%o9VH_HsSnM`jZ-&CDvbiqDg)tQEnV>b%Ptm)T|1?TrpIl)Y$LnG_ zzKi5j2Fx^K^PG1=*?GhK;$(UCF-tM~^=Z*+Wp{FSuy7iHt9#4n(sUuHK??@v+6*|10Csdnyg9hAsC5_OrSL;jVkLlf zHXIPukLqbhs~-*oa^gqgvtpgTk_7GypwH><53riYYL*M=Q@F-yEPLqQ&1Sc zZB%w}T~RO|#jFjMWcKMZccxm-SL)s_ig?OC?y_~gLFj{n8D$J_Kw%{r0oB8?@dWzn zB528d-wUBQzrrSSLq?fR!K%59Zv9J4yCQhhDGwhptpA5O5U?Hjqt>8nOD zi{)0CI|&Gu%zunGI*XFZh(ix)q${jT8wnnzbBMPYVJc4HX*9d^mz|21$=R$J$(y7V zo0dxdbX3N#=F$zjstTf*t8vL)2*{XH!+<2IJ1VVFa67|{?LP&P41h$2i2;?N~RA30LV`BsUcj zfO9#Pg1$t}7zpv#&)8`mis3~o+P(DxOMgz-V*(?wWaxi?R=NhtW}<#^Z?(BhSwyar zG|A#Q7wh4OfK<|DAcl9THc-W4*>J4nTevsD%dkj`U~wSUCh15?_N@uMdF^Kw+{agk zJ`im^wDqj`Ev)W3k3stasP`88-M0ZBs7;B6{-tSm3>I@_e-QfT?7|n0D~0RRqDb^G zyHb=is;IwuQ&ITzL4KsP@Z`b$d%B0Wuhioo1CWttW8yhsER1ZUZzA{F*K=wmi-sb#Ju+j z-l@In^IKnb{bQG}Ps>+Vu_W#grNKNGto+yjA)?>0?~X`4I3T@5G1)RqGUZuP^NJCq&^HykuYtMDD8qq+l8RcZNJsvN(10{ zQ1$XcGt}QH-U^WU!-wRR1d--{B$%vY{JLWIV%P4-KQuxxDeJaF#{eu&&r!3Qu{w}0f--8^H|KwE>)ORrcR+2Qf zb})DRcH>k0zWK8@{RX}NYvTF;E~phK{+F;MkIP$)T$93Ba2R2TvKc>`D??#mv9wg$ zd~|-`Qx5LwwsZ2hb*Rt4S9dsF%Cny5<1fscy~)d;0m2r$f=83<->c~!GNyb!U)PA; zq^!`@@)UaG)Ew(9V?5ZBq#c%dCWZrplmuM`o~TyHjAIMh0*#1{B>K4po-dx$Tk-Cq z=WZDkP5x2W&Os`N8KiYHRH#UY*n|nvd(U>yO=MFI-2BEp?x@=N<~CbLJBf6P)}vLS?xJXYJ2^<3KJUdrwKnJnTp{ zjIi|R=L7rn9b*D#Xxr4*R<3T5AuOS+#U8hNlfo&^9JO{VbH!v9^JbK=TCGR-5EWR@ zN8T-_I|&@A}(hKeL4_*eb!1G8p~&_Im8|wc>Cdir+gg90n1dw?QaXcx6Op_W1r=axRw>4;rM*UOpT#Eb9xU1IiWo@h?|5uP zka>-XW0Ikp@dIe;MN8B01a7+5V@h3WN{J=HJ*pe0uwQ3S&MyWFni47X32Q7SyCTNQ z+sR!_9IZa5!>f&V$`q!%H8ci!a|RMx5}5MA_kr+bhtQy{-^)(hCVa@I!^TV4RBi zAFa!Nsi3y37I5EK;0cqu|9MRj<^r&h1lF}u0KpKQD^5Y+LvFEwM zLU@@v4_Na#Axy6tn3P%sD^5P#<7F;sd$f4a7LBMk zGU^RZHBcxSA%kCx*eH&wgA?Qwazm8>9SCSz_!;MqY-QX<1@p$*T8lc?@`ikEqJ>#w zcG``^CoFMAhdEXT9qt47g0IZkaU)4R7wkGs^Ax}usqJ5HfDYAV$!=6?>J6+Ha1I<5 z|6=9soU4>E))tW$<#>F ziZ$6>KJf0bPfbx_)7-}tMINlc=}|H+$uX)mhC6-Hz+XZxsKd^b?RFB6et}O#+>Wmw9Ec9) z{q}XFWp{3@qmyK*Jvzpyqv57LIR;hPXKsrh{G?&dRjF%Zt5&m20Ll?OyfUYC3WRn{cgQ?^V~UAv+5 z&_m#&nIwffgX1*Z2#5^Kl4DbE#NrD&Hi4|7SPqZ}(>_+JMz=s|k77aEL}<=0Zfb)a z%F(*L3zCA<=xO)2U3B|pcTqDbBoFp>QyAEU(jMu8(jLA61-H!ucI804+B!$E^cQQa z)_ERrW3g!B9iLb3nn3dlkvD7KsY?sRvls3QC0qPi>o<)GHx%4Xb$5a3GBTJ(k@`e@ z$RUa^%S15^1oLEmA=sayrP5;9qtf!Z1*?e$ORVPsXpL{jL<6E)0sj&swP3}NPmR%FM?O>SQgN5XfHE< zo(4#Cv11(%Nnw_{_Ro}r6=gKd{k?NebJ~<~Kv0r(r0qe4n3LFx$5%x(BKvrz$m?LG zjLIc;hbj0FMdb9aH9Lpsof#yG$(0sG2%RL;d(n>;#jb!R_+dad+K;Ccw!|RY?uS(a zj~?=&M!4C(5LnlH6k%aYvz@7?xRa^2gml%vn&eKl$R_lJ+e|xsNfXzr#xuh(>`}9g zLHSyiFwK^-p!;p$yt7$F|3*IfO3Mlu9e>Dpx8O`37?fA`cj`C0B-m9uRhJjs^mRp# zWB;Aj6|G^1V6`jg7#7V9UFvnB4((nIwG?k%c7h`?0tS8J3Bn0t#pb#SA}N-|45$-j z$R>%7cc2ebAClXc(&0UtHX<>pd)akR3Kx_cK+n<}FhzmTx!8e9^u2e4%x{>T6pQ`6 zO182bh$-W5A3^wos0SV_TgPmF4WUP-+D25KjbC{y_6W_9I2_vNKwU(^qSdn&>^=*t z&uvp*@c8#2*paD!ZMCi3;K{Na;I4Q35zw$YrW5U@Kk~)&rw;G?d7Q&c9|x<Hg|CNMsxovmfth*|E*GHezPTWa^Hd^F4!B3sF;)? z(NaPyAhocu1jUe(!5Cy|dh|W2=!@fNmuNOzxi^tE_jAtzNJ0JR-avc_H|ve#KO}#S z#a(8secu|^Tx553d4r@3#6^MHbH)vmiBpn0X^29xEv!Vuh1n(Sr5I0V&`jA2;WS|Y zbf0e}X|)wA-Pf5gBZ>r4YX3Mav1kKY(ulAJ0Q*jB)YhviHK)w!TJsi3^dMa$L@^{` z_De`fF4;M87vM3Ph9SzCoCi$#Fsd38u!^0#*sPful^p5oI(xGU?yeYjn;Hq1!wzFk zG&2w}W3`AX4bxoVm03y>ts{KaDf!}b&7$(P4KAMP=vK5?1In^-YYNtx1f#}+2QK@h zeSeAI@E6Z8a?)>sZ`fbq9_snl6LCu6g>o)rO;ijp3|$vig+4t} zylEo7$SEW<_U+qgVcaVhk+4k+C9THI5V10qV*dOV6pPtAI$)QN{!JRBKh-D zk2^{j@bZ}yqW?<#VVuI_27*cI-V~sJiqQv&m07+10XF+#ZnIJdr8t`9s_EE;T2V;B z4UnQUH9EdX%zwh-5&wflY#ve!IWt0UE-My3?L#^Bh%kcgP1q{&26eXLn zTkjJ*w+(|_>Pq0v8{%nX$QZbf)tbJaLY$03;MO=Ic-uqYUmUCuXD>J>o6BCRF=xa% z3R4SK9#t1!K4I_d>tZgE>&+kZ?Q}1qo4&h%U$GfY058s%*=!kac{0Z+4Hwm!)pFLR zJ+5*OpgWUrm0FPI2ib4NPJ+Sk07j(`diti^i#kh&f}i>P4~|d?RFb#!JN)~D@)beox}bw?4VCf^y*`2{4`-@%SFTry2h z>9VBc9#JxEs1+0i2^LR@B1J`B9Ac=#FW=(?2;5;#U$0E0UNag_!jY$&2diQk_n)bT zl5Me_SUvqUjwCqmVcyb`igygB_4YUB*m$h5oeKv3uIF0sk}~es!{D>4r%PC*F~FN3owq5e0|YeUTSG#Vq%&Gk7uwW z0lDo#_wvflqHeRm*}l?}o;EILszBt|EW*zNPmq#?4A+&i0xx^?9obLyY4xx=Y9&^G;xYXYPxG)DOpPg!i_Ccl#3L}6xAAZzNhPK1XaC_~ z!A|mlo?Be*8Nn=a+FhgpOj@G7yYs(Qk(8&|h@_>w8Y^r&5nCqe0V60rRz?b5%J;GYeBqSAjo|K692GxD4` zRZyM2FdI+-jK2}WAZTZ()w_)V{n5tEb@>+JYluDozCb$fA4H)$bzg(Ux{*hXurjO^ zwAxc+UXu=&JV*E59}h3kzQPG4M)X8E*}#_&}w*KEgtX)cU{vm9b$atHa;s>| z+L6&cn8xUL*OSjx4YGjf6{Eq+Q3{!ZyhrL&^6Vz@jGbI%cAM9GkmFlamTbcQGvOlL zmJ?(FI)c86=JEs|*;?h~o)88>12nXlpMR4@yh%qdwFNpct;vMlc=;{FSo*apJ;p}! zAX~t;3tb~VuP|ZW;z$=IHf->F@Ml)&-&Bnb{iQyE#;GZ@C$PzEf6~q}4D>9jic@mTO5x76ulDz@+XAcm35!VSu zT*Gs>;f0b2TNpjU_BjHZ&S6Sqk6V1370+!eppV2H+FY!q*n=GHQ!9Rn6MjY!Jc77A zG7Y!lFp8?TIHN!LXO?gCnsYM-gQxsm=Ek**VmZu7vnuufD7K~GIxfxbsQ@qv2T zPa`tvHB$fFCyZl>3oYg?_wW)C>^_iDOc^B7klnTOoytQH18WkOk)L2BSD0r%xgRSW zQS9elF^?O=_@|58zKLK;(f77l-Zzu}4{fXed2saq!5k#UZAoDBqYQS{sn@j@Vtp|$ zG%gnZ$U|9@u#w1@11Sjl8ze^Co=)7yS(}=;68a3~g;NDe_X^}yJj;~s8xq9ahQ5_r zxAlTMnep*)w1e(TG%tWsjo3RR;yVGPEO4V{Zp?=a_0R#=V^ioQu4YL=BO4r0$$XTX zZfnw#_$V}sDAIDrezGQ+h?q24St0QNug_?{s-pI(^jg`#JRxM1YBV;a@@JQvH8*>> zIJvku74E0NlXkYe_624>znU0J@L<-c=G#F3k4A_)*;ky!C(^uZfj%WB3-*{*B$?9+ zDm$WFp=0(xnt6`vDQV3Jl5f&R(Mp};;q8d3I%Kn>Kx=^;uSVCw0L=gw53%Bp==8Sw zxtx=cs!^-_+i{2OK`Q;913+AXc_&Z5$@z3<)So0CU3;JAv=H?@Zpi~riQ{z-zLtVL z!oF<}@IgJp)Iyz1zVJ42!SPHSkjYNS4%ulVVIXdRuiZ@5Mx8LJS}J#qD^Zi_xQ@>DKDr-_e#>5h3dtje*NcwH_h;i{Sx7}dkdpuW z(yUCjckQsagv*QGMSi9u1`Z|V^}Wjf7B@q%j2DQXyd0nOyqg%m{CK_lAoKlJ7#8M} z%IvR?Vh$6aDWK2W!=i?*<77q&B8O&3?zP(Cs@kapc)&p7En?J;t-TX9abGT#H?TW? ztO5(lPKRuC7fs}zwcUKbRh=7E8wzTsa#Z{a`WR}?UZ%!HohN}d&xJ=JQhpO1PI#>X zHkb>pW04pU%Bj_mf~U}1F1=wxdBZu1790>3Dm44bQ#F=T4V3&HlOLsGH)+AK$cHk6 zia$=$kog?)07HCL*PI6}DRhpM^*%I*kHM<#1Se+AQ!!xyhcy6j7`iDX7Z-2i73_n# zas*?7LkxS-XSqv;YBa zW_n*32D(HTYQ0$feV_Fru1ZxW0g&iwqixPX3=9t4o)o|kOo79V$?$uh?#8Q8e>4e)V6;_(x&ViUVxma+i25qea;d-oK7ouuDsB^ab{ zu1qjQ%`n56VtxBE#0qAzb7lph`Eb-}TYpXB!H-}3Ykqyp`otprp7{VEuW*^IR2n$Fb99*nAtqT&oOFIf z@w*6>YvOGw@Ja?Pp1=whZqydzx@9X4n^2!n83C5{C?G@|E?&$?p*g68)kNvUTJ)I6 z1Q|(#UuP6pj78GUxq11m-GSszc+)X{C2eo-?8ud9sB=3(D47v?`JAa{V(IF zPZQ_0AY*9M97>Jf<o%#O_%Wq}8>YM=q0|tGY+hlXcpE=Z4Od z`NT7Hu2hnvRoqOw@g1f=bv`+nba{GwA$Ak0INlqI1k<9!x_!sL()h?hEWoWrdU3w` zZ%%)VR+Bc@_v!C#koM1p-3v_^L6)_Ktj4HE>aUh%2XZE@JFMOn)J~c`_7VWNb9c-N z2b|SZMR4Z@E7j&q&9(6H3yjEu6HV7{2!1t0lgizD;mZ9$r(r7W5G$ky@w(T_dFnOD z*p#+z$@pKE+>o@%eT(2-p_C}wbQ5s(%Sn_{$HDN@MB+Ev?t@3dPy`%TZ!z}AThZSu zN<1i$siJhXFdjV zP*y|V<`V8t=h#XTRUR~5`c`Z9^-`*BZf?WAehGdg)E2Je)hqFa!k{V(u+(hTf^Yq& zoruUh2(^3pe)2{bvt4&4Y9CY3js)PUHtd4rVG57}uFJL)D(JfSIo^{P=7liFXG zq5yqgof0V8paQcP!gy+;^pp-DA5pj=gbMN0eW=-eY+N8~y+G>t+x}oa!5r>tW$xhI zPQSv=pi;~653Gvf6~*JcQ%t1xOrH2l3Zy@8AoJ+wz@daW@m7?%LXkr!bw9GY@ns3e zSfuWF_gkWnesv?s3I`@}NgE2xwgs&rj?kH-FEy82=O8`+szN ziHch`vvS`zNfap14!&#i9H@wF7}yIPm=UB%(o(}F{wsZ(wA0nJ2aD^@B41>>o-_U6 zUqD~vdo48S8~FTb^+%#zcbQiiYoDKYcj&$#^;Smmb+Ljp(L=1Kt_J!;0s%1|JK}Wi z;={~oL!foo5n8=}rs6MmUW~R&;SIJO3TL4Ky?kh+b2rT9B1Jl4>#Uh-Bec z`Hsp<==#UEW6pGPhNk8H!!DUQR~#F9jEMI6T*OWfN^Ze&X(4nV$wa8QUJ>oTkruH# zm~O<`J7Wxseo@FqaZMl#Y(mrFW9AHM9Kb|XBMqaZ2a)DvJgYipkDD_VUF_PKd~dT7 z#02}bBfPn9a!X!O#83=lbJSK#E}K&yx-HI#T6ua)6o0{|={*HFusCkHzs|Fn&|C3H zBck1cmfcWVUN&i>X$YU^Sn6k2H;r3zuXbJFz)r5~3$d$tUj(l1?o={MM){kjgqXRO zc5R*#{;V7AQh|G|)jLM@wGAK&rm2~@{Pewv#06pHbKn#wL0P6F1!^qw9g&cW3Z=9} zj)POhOlwsh@eF=>z?#sIs*C-Nl(yU!#DaiaxhEs#iJqQ8w%(?+6lU02MYSeDkr!B- zPjMv+on6OLXgGnAtl(ao>|X2Y8*Hb}GRW5}-IzXnoo-d0!m4Vy$GS!XOLy>3_+UGs z2D|YcQx@M#M|}TDOetGi{9lGo9m-=0-^+nKE^*?$^uHkxZh}I{#UTQd;X!L+W@jm( zDg@N4+lUqI92o_rNk{3P>1gxAL=&O;x)ZT=q1mk0kLlE$WeWuY_$0`0jY-Kkt zP*|m3AF}Ubd=`<>(Xg0har*_@x2YH}bn0Wk*OZz3*e5;Zc;2uBdnl8?&XjupbkOeNZsNh6pvsq_ydmJI+*z**{I{0K)-;p1~k8cpJXL$^t!-`E}=*4G^-E8>H!LjTPxSx zcF+cS`ommfKMhNSbas^@YbTpH1*RFrBuATUR zt{oFWSk^$xU&kbFQ;MCX22RAN5F6eq9UfR$ut`Jw--p2YX)A*J69m^!oYfj2y7NYcH6&r+0~_sH^c^nzeN1AU4Ga7=FlR{S|Mm~MpzY0$Z+p2W(a={b-pR9EO1Rs zB%KY|@wLcAA@)KXi!d2_BxrkhDn`DT1=Dec}V!okd{$+wK z4E{n8R*xKyci1(CnNdhf$Dp2(Jpof0-0%-38X=Dd9PQgT+w%Lshx9+loPS~MOm%ZT zt%2B2iL_KU_ita%N>xjB!#71_3=3c}o zgeW~^U_ZTJQ2!PqXulQd=3b=XOQhwATK$y(9$#1jOQ4}4?~l#&nek)H(04f(Sr=s| zWv7Lu1=%WGk4FSw^;;!8&YPM)pQDCY9DhU`hMty1@sq1=Tj7bFsOOBZOFlpR`W>-J$-(kezWJj;`?x-v>ev{*8V z8p|KXJPV$HyQr1A(9LVrM47u-XpcrIyO`yWvx1pVYc&?154aneRpLqgx)EMvRaa#|9?Wwqs2+W8n5~79G z(}iCiLk;?enn}ew`HzhG+tu+Ru@T+K5juvZN)wY;x6HjvqD!&!)$$;1VAh~7fg0K| zEha#aN=Yv|3^~YFH}cc38ovVb%L|g@9W6fo(JtT6$fa?zf@Ct88e}m?i)b*Jgc{fl zExfdvw-BYDmH6>(4QMt#p0;FUIQqkhD}aH?a7)_%JtA~soqj{ppP_82yi9kaxuK>~ ze_)Zt>1?q=ZH*kF{1iq9sr*tVuy=u>Zev}!gEZx@O6-fjyu9X00gpIl-fS_pzjpqJ z1yqBmf9NF!jaF<+YxgH6oXBdK)sH(>VZ)1siyA$P<#KDt;8NT*l_0{xit~5j1P)FN zI8hhYKhQ)i z37^aP13B~u65?sg+_@2Kr^iWHN=U;EDSZ@2W2!5ALhGNWXnFBY%7W?1 z=HI9JzQ-pLKZDYTv<0-lt|6c-RwhxZ)mU2Os{bsX_i^@*fKUj8*aDO5pks=qn3Dv6 zwggpKLuyRCTVPwmw1r}B#AS}?X7b837UlXwp~E2|PJw2SGVueL7){Y&z!jL!XN=0i zU^Eig`S2`{+gU$68aRdWx?BZ{sU_f=8sn~>s~M?GU~`fH5kCc; z8ICp+INM3(3{#k32RZdv6b9MQYdZXNuk7ed8;G?S2nT+NZBG=Tar^KFl2SvhW$bGW#kdWL-I)s_IqVnCDDM9fm8g;P;8 z7t4yZn3^*NQfx7SwmkzP$=fwdC}bafQSEF@pd&P8@H#`swGy_rz;Z?Ty5mkS%>m#% zp_!m9e<()sfKiY(nF<1zBz&&`ZlJf6QLvLhl`_``%RW&{+O>Xhp;lwSsyRqGf=RWd zpftiR`={2(siiPAS|p}@q=NhVc0ELprt%=fMXO3B)4ryC2LT(o=sLM7hJC!}T1@)E zA3^J$3&1*M6Xq>03FX`R&w*NkrZE?FwU+Muut;>qNhj@bX17ZJxnOlPSZ=Zeiz~T_ zOu#yc3t6ONHB;?|r4w+pI)~KGN;HOGC)txxiUN8#mexj+W(cz%9a4sx|IRG=}ia zuEBuba3AHsV2feqw-3MvuL`I+2|`Ud4~7ZkN=JZ;L20|Oxna5vx1qbIh#k2O4$RQF zo`tL()zxaqibg^GbB+BS5#U{@K;WWQj~GcB1zb}zJkPwH|5hZ9iH2308!>_;%msji zJHSL~s)YHBR=Koa1mLEOHos*`gp=s8KA-C zu0aE+W!#iJ*0xqKm3A`fUGy#O+X+5W36myS>Uh2!R*s$aCU^`K&KKLCCDkejX2p=5 z%o7-fl03x`gaSNyr?3_JLv?2RLS3F*8ub>Jd@^Cc17)v8vYEK4aqo?OS@W9mt%ITJ z9=S2%R8M){CugT@k~~0x`}Vl!svYqX=E)c_oU6o}#Hb^%G1l3BudxA{F*tbjG;W_>=xV73pKY53v%>I)@D36I_@&p$h|Aw zonQS`07z_F#@T-%@-Tb|)7;;anoD_WH>9ewFy(ZcEOM$#Y)8>qi7rCnsH9GO-_7zF zu*C87{Df1P4TEOsnzZ@H%&lvV(3V@;Q!%+OYRp`g05PjY^gL$^$-t0Y>H*CDDs?FZly*oZ&dxvsxaUWF!{em4{A>n@vpXg$dwvt@_rgmHF z-MER`ABa8R-t_H*kv>}CzOpz;!>p^^9ztHMsHL|SRnS<-y5Z*r(_}c4=fXF`l^-i}>e7v!qs_jv zqvWhX^F=2sDNWA9c@P0?lUlr6ecrTKM%pNQ^?*Lq?p-0~?_j50xV%^(+H>sMul#Tw zeciF*1=?a7cI(}352%>LO96pD+?9!fNyl^9v3^v&Y4L)mNGK0FN43&Xf8jUlxW1Bw zyiu2;qW-aGNhs=zbuoxnxiwZ3{PFZM#Kw)9H@(hgX23h(`Wm~m4&TvoZoYp{plb^> z_#?vXcxd>r7K+1HKJvhed>gtK`TAbJUazUWQY6T~t2af%#<+Veyr%7-#*A#@&*;@g58{i|E%6yC_InGXCOd{L0;$)z#?n7M`re zh!kO{6=>7I?*}czyF7_frt#)s1CFJ_XE&VrDA?Dp3XbvF{qsEJgb&OLSNz_5g?HpK z9)8rsr4JN!Af3G9!#Qn(6zaUDqLN(g2g8*M)Djap?WMK9NKlkC)E2|-g|#-rp%!Gz zAHd%`iq|81efi93m3yTBw3g0j#;Yb2X{mhRAI?&KDmbGqou(2xiRNb^sV}%%Wu0?< z?($L>(#BO*)^)rSgyNRni$i`R4v;GhlCZ8$@e^ROX(p=2_v6Y!%^As zu022)fHdv_-~Yu_H6WVPLpHQx!W%^6j)cBhS`O3QBW#x(eX54d&I22op(N59b*&$v zFiSRY6rOc^(dgSV1>a7-5C;(5S5MvKcM2Jm-LD9TGqDpP097%52V+0>Xqq!! zq4e3vj53SE6i8J`XcQB|MZPP8j;PAOnpGnllH6#Ku~vS42xP*Nz@~y%db7Xi8s09P z1)e%8ys6&M8D=Dt6&t`iKG_4X=!kgRQoh%Z`dc&mlOUqXk-k`jKv9@(a^2-Upw>?< zt5*^DV~6Zedbec4NVl($2T{&b)zA@b#dUyd>`2JC0=xa_fIm8{5um zr-!ApXZhC8@=vC2WyxO|!@0Km)h8ep*`^he92$@YwP>VcdoS5OC^s38e#7RPsg4j+ zbVGG}WRSET&ZfrcR(x~k8n1rTP%CnfUNKUonD$P?FtNFF#cn!wEIab-;jU=B1dHK@ z(;(yAQJ`O$sMn>h;pf^8{JISW%d+@v6@CnXh9n5TXGC}?FI9i-D0OMaIg&mAg=0Kn zNJ7oz5*ReJukD55fUsMuaP+H4tDN&V9zfqF@ zr=#ecUk9wu{0;!+gl;3Bw=Vn^)z$ahVhhw)io!na&9}LmWurLb0zubxK=UEnU*{5P z+SP}&*(iBKSO4{alBHaY^)5Q=mZ+2OwIooJ7*Q5XJ+2|q`9#f?6myq!&oz?klihLq z4C)$XP!BNS0G_Z1&TM>?Jk{S~{F3n83ioli=IO6f%wkvCl(RFFw~j0tb{GvXTx>*sB0McY0s&SNvj4+^h`9nJ_wM>F!Uc>X}9PifQekn0sKI2SAJP!a4h z5cyGTuCj3ZBM^&{dRelIlT^9zcfaAuL5Y~bl!ppSf`wZbK$z#6U~rdclk``e+!qhe z6Qspo*%<)eu6?C;Bp<^VuW6JI|Ncvyn+LlSl;Mp22Bl7ARQ0Xc24%29(ZrdsIPw&-=yHQ7_Vle|5h>AST0 zUGX2Zk34vp?U~IHT|;$U86T+UUHl_NE4m|}>E~6q``7hccCaT^#y+?wD##Q%HwPd8 zV3x4L4|qqu`B$4(LXqDJngNy-{&@aFBvVsywt@X^}iH7P%>bR?ciC$I^U-4Foa`YKI^qDyGK7k%E%c_P=yzAi`YnxGA%DeNd++j3*h^ z=rn>oBd0|~lZ<6YvmkKY*ZJlJ;Im0tqgWu&E92eqt;+NYdxx`eS(4Hw_Jb5|yVvBg z*tbdY^!AN;luEyN4VRhS@-_DC{({ziH{&Z}iGElSV~qvT>L-8G%+yEL zX#MFOhj{InyKG=mvW-<1B@c-}x$vA(nU?>S>0*eN#!SLzQ)Ex7fvQ)S4D<8|I#N$3 zT5Ei`Z?cxBODHX8(Xp73v`IsAYC@9b;t}z0wxVuQSY1J^GRwDPN@qbM-ZF48T$GZ< z8WU+;Pqo?{ghI-KZ-i*ydXu`Ep0Xw^McH_KE9J0S7G;x8Fe`DVG?j3Pv=0YzJ}yZR z%2=oqHiUjvuk0~Ca>Kol4CFi0_xQT~;_F?=u+!kIDl-9g`#ZNZ9HCy17Ga1v^Jv9# z{T4Kb1-AzUxq*MutfOWWZgD*HnFfyYg0&e9f(5tZ>krPF6{VikNeHoc{linPPt#Si z&*g>(c54V8rT_AX!J&bNm-!umPvOR}vDai#`CX___J#=zeB*{4<&2WpaDncZsOkp* zsg<%@@rbrMkR_ux9?LsQxzoBa1s%$BBn6vk#{&&zUwcfzeCBJUwFYSF$08qDsB;gWQN*g!p8pxjofWbqNSZOEKOaTx@+* zwdt5*Q47@EOZ~EZL9s?1o?A%9TJT=Ob_13yyugvPg*e&ZU(r6^k4=2+D-@n=Hv5vu zSXG|hM(>h9^zn=eQ=$6`JO&70&2|%V5Lsx>)(%#;pcOfu>*nk_3HB_BNaH$`jM<^S zcSftDU1?nL;jy)+sfonQN}(}gUW?d_ikr*3=^{G)=tjBtEPe>TO|0ddVB zTklrSHiW+!#26frPXQQ(YN8DG$PZo?(po(QUCCf_OJC`pw*uey00%gmH!`WJkrKXj2!#6?`T25mTu9OJp2L8z3! z=arrL$ZqxuE{%yV)14Kd>k}j7pxZ6#$Dz8$@WV5p8kTqN<-7W)Q7Gt2{KoOPK_tZ| zf2WG~O5@{qPI+W<4f_;reuFVdO^5`ADC1!JQE|N`s3cq@(0WB!n0uh@*c{=LAd;~} zyGK@hbF-Oo+!nN)@i*O(`@FA#u?o=~e{`4O#5}z&=UkU*50fOrzi11D^&FOqe>wii z?*k+2|EcUs;Gx{!@KBT~>PAwLrIDT7Th=Utu?~?np@t^gFs?zgX=D${RwOY^WGh-+ z+#4$066ISh8eYW#FXWp~S`<*%O^ZuItL1Tyqt8#tZ zY120E;^VG`!lZn&3sPd$RkdHpU#|w+bYV)pJC|SH9g%|5IkxVTQcBA4CL0}$&}ef@ zW^Vtj%M;;_1xxP9x#ex17&4N*{ksO*_4O}xYu(p*JkL#yr}@7b)t5X?%CY<+s5_MJ zuiqt+N_;A(_)%lumoyRFixWa-M7qK_9s6<1X?JDa9fP!+_6u~~M$5L=ipB=7(j#f< zZ34J%=bs549%~_mA(|={uZNs_0?o7;-LBP(ZRnkd{-^|2|=4vUTmtByHL8 zEph`(LSEzQj68a+`d$V<45J7cyv^#|^|%fD#si1Nx!4NW*`l*{->HEWNh6-|g>-=r zXmQ|-i}Ku$ndUeHQ^&ieT!Lf}vf6GaqW9$DJ2NWrqwPY%%4nip$@vK$nRp*_C-v<| zuKz~ZyN&<%!NS26&x?jhy+@awJipMQ-8(X4#Ae5??U<1QMt1l9R=w9fAnEF}NYu$2 z>6}Vkc zIb*A?G*z8^IvibmBKn_u^5&T_1oey0gZS2~obf(#xk=erZGTEdQnt3DMGM+0oPwss zj5zXD;(oWhB_T@~Ig#9@v)AKtXu3>Inmgf@A|-lD-1U>cNyl3h?ADD9)GG4}zUGPk zZzaXe!~Kf?<~@$G?Uql3t8jy9{2!doq4=J}j9ktTxss{p6!9UdjyDERlA*xZ!=Q)KDs5O)phz>Vq3BNGoM(H|=1*Q4$^2fTZw z(%nq1P|5Rt81}SYJpEEzMPl5VJsV5&4e)ZWKDyoZ>1EwpkHx-AQVQc8%JMz;{H~p{=FXV>jIxvm4X*qv52e?Y-f%DJ zxEA165GikEASQ^fH6K#d!Tpu2HP{sFs%E=e$gYd$aj$+xue6N+Wc(rAz~wUsk2`(b z8Kvmyz%bKQxpP}~baG-rwYcYCvkHOi zlkR<=>ZBTU*8RF_d#Bl@zZsRIhx<%~Z@Z=ik z>adw3!DK(8R|q$vy{FTxw%#xliD~6qXmY^7_9kthVPTF~Xy1CfBqbU~?1QmxmU=+k z(ggxvEuA;0e&+ci-zQR{-f7aO{O(Pz_OsEjLh_K>MbvoZ4nxtk5u{g@nPv)cgW_R} z9}EA4K4@z0?7ue}Z(o~R(X&FjejUI2g~08PH1E4w>9o{)S(?1>Z0XMvTb|;&EuyOE zGvWNpYX)Nv<8|a^;1>bh#&znEcl-r!T#pn= z4$?Yudha6F%4b>*8@=BdtXXY4N+`U4Dmx$}>HeVJk-QdTG@t!tVT#0(LeV0gvqyyw z2sEp^9eY0N`u10Tm4n8No&A=)IeEC|gnmEXoNSzu!1<4R<%-9kY_8~5Ej?zRegMn78wuMs#;i&eUA0Zk_RXQ3b&TT} z;SCI=7-FUB@*&;8|n>(_g^HGf3@QODE3LpmX~ELnymQm{Sx9xrKS zK29p~?v@R$0=v6Dr5aW>-!{+h@?Q58|Kz8{{W`%J+lDAdb&M5VHrX_mDY;1-JLnf)ezmPau$)1;=`-FU=-r-83tX=C`S#}GZufju zQ>sXNT0Ny=k@nc%cFnvA_i4SC)?_ORXHq8B4D%el1uPX`c~uG#S1M7C+*MMqLw78E zhY2dI8@+N^qrMI1+;TUda(vGqGSRyU{Fnm`aqrr7bz42c5xsOO-~oZpkzorD1g}Y<6rk&3>PsSGy}W?MtqFky@A(X# zIuNZK0cK?^=;PUAu>j0#HtjbHCV*6?jzA&OoE$*Jlga*}LF`SF?WLhv1O|zqC<>*> zYB;#lsYKx0&kH@BFpW8n*yDcc6?;_zaJs<-jPSkCsSX-!aV=P5kUgF@Nu<{a%#K*F z134Q{9|YX7X(v$62_cY3^G%t~rD>Q0z@)1|zs)vjJ6Jq9;7#Ki`w+eS**En?7;n&7 zu==V3T&eFboN3ZiMx3D8qYc;VjFUk_H-WWCau(VFXSQf~viH0L$gwD$UfFHqNcgN`x}M+YQ6RnN<+@t>JUp#)9YOkqst-Ga?{FsDpEeX0(5v{0J~SEbWiL zXC2}M4?UH@u&|;%0y`eb33ldo4~z-x8zY!oVmV=c+f$m?RfDC35mdQ2E>Pze7KWP- z>!Bh<&57I+O_^s}9Tg^k)h7{xx@0a0IA~GAOt2yy!X%Q$1rt~LbTB6@Du!_0%HV>N zlf)QI1&gvERKwso23mJ!Ou6ZS#zCS5W`gxE5T>C#E|{i<1D35C222I33?Njaz`On7 zi<+VWFP6D{e-{yiN#M|Jgk<44u1TiMI78S5W`Sdb5f+{zu34s{CfWN7a3Cf^@L%!& zN$?|!!9j2c)j$~+R6n#891w-z8(!oBpL2K=+%a$r2|~8-(vQj5_XT`<0Ksf;oP+tz z9CObS!0m)Tgg`K#xBM8B(|Z)Wb&DYL{WTYv`;A=q6~Nnx2+!lTIXtj8J7dZE!P_{z z#f8w6F}^!?^KE#+ZDv+xd5O&3EmomZzsv?>E-~ygGum45fk!SBN&|eo1rKw^?aZJ4 E2O(~oYXATM literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..7bc2c1c --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Thu Mar 28 10:58:04 CST 2024 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100644 index 0000000..4f906e0 --- /dev/null +++ b/gradlew @@ -0,0 +1,185 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=`expr $i + 1` + done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..107acd3 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 0000000..2e83b9d --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1,19 @@ +pluginManagement { + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + google() + mavenCentral() + maven (url ="https://jitpack.io" ) + } +} + +rootProject.name = "MyAppLock" +include(":app") + \ No newline at end of file