From cb4204121c02f4bb86df633eba751cb892fe5a22 Mon Sep 17 00:00:00 2001 From: shifty-d Date: Fri, 18 Oct 2024 20:11:15 +0300 Subject: [PATCH] spes: parts: import Refresh Rate tile --- device.mk | 7 + refreshrate/Android.bp | 22 + refreshrate/AndroidManifest.xml | 73 ++++ ...privapp-permissions-refresh-rate-parts.xml | 22 + refreshrate/proguard.flags | 3 + refreshrate/res/drawable/ic_refresh_60.xml | 16 + refreshrate/res/drawable/ic_refresh_90.xml | 16 + .../res/drawable/ic_refresh_default.xml | 10 + refreshrate/res/drawable/ic_refresh_tile.xml | 10 + refreshrate/res/drawable/refresh_layout.xml | 18 + .../res/drawable/refresh_list_item.xml | 73 ++++ refreshrate/res/layout/refresh_layout.xml | 18 + refreshrate/res/layout/refresh_list_item.xml | 73 ++++ refreshrate/res/values/integers.xml | 21 + refreshrate/res/values/strings.xml | 12 + refreshrate/res/values/styles.xml | 20 + .../aospa/settings/BootCompletedReceiver.java | 37 ++ .../co/aospa/settings/TileEntryActivity.java | 58 +++ .../settings/refreshrate/RefreshActivity.java | 45 ++ .../settings/refreshrate/RefreshService.java | 117 +++++ .../refreshrate/RefreshSettingsFragment.java | 412 ++++++++++++++++++ .../refreshrate/RefreshTileService.java | 108 +++++ .../settings/refreshrate/RefreshUtils.java | 168 +++++++ 23 files changed, 1359 insertions(+) create mode 100644 refreshrate/Android.bp create mode 100644 refreshrate/AndroidManifest.xml create mode 100644 refreshrate/privapp-permissions-refresh-rate-parts.xml create mode 100644 refreshrate/proguard.flags create mode 100644 refreshrate/res/drawable/ic_refresh_60.xml create mode 100644 refreshrate/res/drawable/ic_refresh_90.xml create mode 100644 refreshrate/res/drawable/ic_refresh_default.xml create mode 100644 refreshrate/res/drawable/ic_refresh_tile.xml create mode 100644 refreshrate/res/drawable/refresh_layout.xml create mode 100644 refreshrate/res/drawable/refresh_list_item.xml create mode 100644 refreshrate/res/layout/refresh_layout.xml create mode 100644 refreshrate/res/layout/refresh_list_item.xml create mode 100644 refreshrate/res/values/integers.xml create mode 100644 refreshrate/res/values/strings.xml create mode 100644 refreshrate/res/values/styles.xml create mode 100644 refreshrate/src/co/aospa/settings/BootCompletedReceiver.java create mode 100644 refreshrate/src/co/aospa/settings/TileEntryActivity.java create mode 100644 refreshrate/src/co/aospa/settings/refreshrate/RefreshActivity.java create mode 100644 refreshrate/src/co/aospa/settings/refreshrate/RefreshService.java create mode 100644 refreshrate/src/co/aospa/settings/refreshrate/RefreshSettingsFragment.java create mode 100644 refreshrate/src/co/aospa/settings/refreshrate/RefreshTileService.java create mode 100644 refreshrate/src/co/aospa/settings/refreshrate/RefreshUtils.java diff --git a/device.mk b/device.mk index c442a1b..ff6190a 100644 --- a/device.mk +++ b/device.mk @@ -573,3 +573,10 @@ $(call inherit-product, vendor/xiaomi/miuicamera/config.mk) # Remove unnecessary system apps (e.g., AudioFX) PRODUCT_PACKAGES += \ RemovePackages + +# Refreshrate +PRODUCT_PACKAGES += \ + RefreshRateParts + +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/refreshrate/privapp-permissions-refresh-rate-parts.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/permissions/privapp-permissions-refresh-rate-parts.xml diff --git a/refreshrate/Android.bp b/refreshrate/Android.bp new file mode 100644 index 0000000..3a2f8bf --- /dev/null +++ b/refreshrate/Android.bp @@ -0,0 +1,22 @@ +android_app { + name: "RefreshRateParts", + + srcs: ["src/**/*.java"], + + certificate: "platform", + platform_apis: true, + system_ext_specific: true, + privileged: true, + + static_libs: [ + "androidx.core_core", + "androidx.preference_preference", + "org.lineageos.settings.resources", + "SettingsLib", + ], + + optimize: { + proguard_flags_files: ["proguard.flags"], + }, + +} diff --git a/refreshrate/AndroidManifest.xml b/refreshrate/AndroidManifest.xml new file mode 100644 index 0000000..64c3f31 --- /dev/null +++ b/refreshrate/AndroidManifest.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/refreshrate/privapp-permissions-refresh-rate-parts.xml b/refreshrate/privapp-permissions-refresh-rate-parts.xml new file mode 100644 index 0000000..f1d9273 --- /dev/null +++ b/refreshrate/privapp-permissions-refresh-rate-parts.xml @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/refreshrate/proguard.flags b/refreshrate/proguard.flags new file mode 100644 index 0000000..d547c6a --- /dev/null +++ b/refreshrate/proguard.flags @@ -0,0 +1,3 @@ +-keep class co.aospa.settings.* { + *; +} diff --git a/refreshrate/res/drawable/ic_refresh_60.xml b/refreshrate/res/drawable/ic_refresh_60.xml new file mode 100644 index 0000000..e7d556d --- /dev/null +++ b/refreshrate/res/drawable/ic_refresh_60.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/refreshrate/res/drawable/ic_refresh_90.xml b/refreshrate/res/drawable/ic_refresh_90.xml new file mode 100644 index 0000000..68c1efb --- /dev/null +++ b/refreshrate/res/drawable/ic_refresh_90.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/refreshrate/res/drawable/ic_refresh_default.xml b/refreshrate/res/drawable/ic_refresh_default.xml new file mode 100644 index 0000000..ea1cb65 --- /dev/null +++ b/refreshrate/res/drawable/ic_refresh_default.xml @@ -0,0 +1,10 @@ + + + diff --git a/refreshrate/res/drawable/ic_refresh_tile.xml b/refreshrate/res/drawable/ic_refresh_tile.xml new file mode 100644 index 0000000..5b78cd7 --- /dev/null +++ b/refreshrate/res/drawable/ic_refresh_tile.xml @@ -0,0 +1,10 @@ + + + diff --git a/refreshrate/res/drawable/refresh_layout.xml b/refreshrate/res/drawable/refresh_layout.xml new file mode 100644 index 0000000..6b2ebd7 --- /dev/null +++ b/refreshrate/res/drawable/refresh_layout.xml @@ -0,0 +1,18 @@ + + + diff --git a/refreshrate/res/drawable/refresh_list_item.xml b/refreshrate/res/drawable/refresh_list_item.xml new file mode 100644 index 0000000..45100b1 --- /dev/null +++ b/refreshrate/res/drawable/refresh_list_item.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/refreshrate/res/layout/refresh_layout.xml b/refreshrate/res/layout/refresh_layout.xml new file mode 100644 index 0000000..6b2ebd7 --- /dev/null +++ b/refreshrate/res/layout/refresh_layout.xml @@ -0,0 +1,18 @@ + + + diff --git a/refreshrate/res/layout/refresh_list_item.xml b/refreshrate/res/layout/refresh_list_item.xml new file mode 100644 index 0000000..45100b1 --- /dev/null +++ b/refreshrate/res/layout/refresh_list_item.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/refreshrate/res/values/integers.xml b/refreshrate/res/values/integers.xml new file mode 100644 index 0000000..a98eb82 --- /dev/null +++ b/refreshrate/res/values/integers.xml @@ -0,0 +1,21 @@ + + + + + + + + + + diff --git a/refreshrate/res/values/strings.xml b/refreshrate/res/values/strings.xml new file mode 100644 index 0000000..2dc33e2 --- /dev/null +++ b/refreshrate/res/values/strings.xml @@ -0,0 +1,12 @@ + + + + + + Refresh rate per-app + Set a specific refresh rate for each application + Refresh Rate + (60 Hz) + (90 Hz) + (60/90 Hz) + diff --git a/refreshrate/res/values/styles.xml b/refreshrate/res/values/styles.xml new file mode 100644 index 0000000..aab73c8 --- /dev/null +++ b/refreshrate/res/values/styles.xml @@ -0,0 +1,20 @@ + + + +