From d0776a45cac1cc62fd20b2a2fbc8225dbf79b1bf Mon Sep 17 00:00:00 2001 From: elpaablo Date: Tue, 25 Feb 2025 00:41:04 +0000 Subject: [PATCH] Introduce Scoopdroid settings Change-Id: Ibfdf3f5dfe2a9e61f068988fea4ca758cfe6a716 --- Android.bp | 6 +++++ AndroidManifest.xml | 23 +++++++++++++++++++ proguard-core.flags | 2 ++ proguard.flags | 1 + res/xml/top_level_settings.xml | 9 ++++++++ src/com/android/settings/Settings.java | 2 ++ .../core/gateway/SettingsGateway.java | 4 ++++ .../dashboard/DashboardFragmentRegistry.java | 4 ++++ 8 files changed, 51 insertions(+) create mode 100644 proguard-core.flags diff --git a/Android.bp b/Android.bp index a9ead689e09..8b24ac133f4 100644 --- a/Android.bp +++ b/Android.bp @@ -55,15 +55,21 @@ android_library { srcs: [ "src/**/*.java", "src/**/*.kt", + "ScoopSettings/src/**/*.java", + "ScoopSettings/src/**/*.kt", ], exclude_srcs: [ "src/com/android/settings/biometrics/fingerprint2/lib/**/*.kt", ], use_resource_processor: true, + + aaptflags: ["--extra-packages com.scoop.settings"], + resource_dirs: [ "res", "res-export", // for external usage "res-product", + "ScoopSettings/res", ], static_libs: [ // External dependencies diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 804fd2857e8..2e4d48bb5eb 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -5484,5 +5484,28 @@ + + + + + + + + + + + + + + + diff --git a/proguard-core.flags b/proguard-core.flags new file mode 100644 index 00000000000..836977097fd --- /dev/null +++ b/proguard-core.flags @@ -0,0 +1,2 @@ +# ScoopdroidSettings +-keep class com.scoop.settings.** diff --git a/proguard.flags b/proguard.flags index d1c97f36da5..660a6b67eac 100644 --- a/proguard.flags +++ b/proguard.flags @@ -7,6 +7,7 @@ # Keep all Fragments in this package, which are used by reflection. -keep public class com.android.settings*.** extends androidx.fragment.app.Fragment +-keep class com.scoop.settings.** # Keep all preference controllers needed by slice and DashboardFragment. -keep class * extends com.android.settings.core.BasePreferenceController { diff --git a/res/xml/top_level_settings.xml b/res/xml/top_level_settings.xml index 44fe7fcc3d3..c3ffce185c9 100644 --- a/res/xml/top_level_settings.xml +++ b/res/xml/top_level_settings.xml @@ -20,6 +20,15 @@ xmlns:settings="http://schemas.android.com/apk/res-auto" android:key="top_level_settings"> + + (PARENT_TO_CATEGORY_KEY_MAP.size());