From a20d30c3b16d718942d75786391b271453d5da6a Mon Sep 17 00:00:00 2001 From: Bnyro Date: Sun, 22 May 2022 20:24:12 +0200 Subject: [PATCH] codebase --- app/src/main/AndroidManifest.xml | 15 +++++++++++++ .../com/github/libretube/SettingsActivity.kt | 12 +++++----- .../java/com/github/libretube/ThemeChanger.kt | 22 +++++++++++++++++++ app/src/main/res/values/array.xml | 9 ++++++++ app/src/main/res/values/strings.xml | 1 + app/src/main/res/xml/settings.xml | 9 ++++++++ 6 files changed, 63 insertions(+), 5 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index daee23adb..cbdf25692 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -137,6 +137,21 @@ + + + + + + + + ("icon_change") + iconChange?.setOnPreferenceChangeListener { _, _ -> + changeIcon(requireContext()) + true + } + val changeLanguage = findPreference("language") changeLanguage?.setOnPreferenceChangeListener { _, _ -> val refresh = Intent(context, MainActivity::class.java) diff --git a/app/src/main/java/com/github/libretube/ThemeChanger.kt b/app/src/main/java/com/github/libretube/ThemeChanger.kt index 5a913d01d..83d26e0f6 100644 --- a/app/src/main/java/com/github/libretube/ThemeChanger.kt +++ b/app/src/main/java/com/github/libretube/ThemeChanger.kt @@ -1,6 +1,8 @@ package com.github.libretube +import android.content.ComponentName import android.content.Context +import android.content.pm.PackageManager import androidx.appcompat.app.AppCompatDelegate import androidx.preference.PreferenceManager import java.util.Locale @@ -53,3 +55,23 @@ fun updateLanguage(context: Context) { res.updateConfiguration(conf, dm) } } + +fun changeIcon(context: Context) { + val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context) + val newLogoActivityAlias = sharedPreferences.getString("icon_change", "com.github.libretube.MainActivity") + val activityAliases = context?.resources.getStringArray(R.array.iconsValue) + // Disable Old Icon(s) + for (activityAlias in activityAliases) { + context?.packageManager.setComponentEnabledSetting( + ComponentName(context?.packageName, activityAlias), + PackageManager.COMPONENT_ENABLED_STATE_DISABLED, + PackageManager.DONT_KILL_APP + ) + } + // Enable New Icon + context?.packageManager.setComponentEnabledSetting( + ComponentName(context?.packageName, newLogoActivityAlias!!), + PackageManager.COMPONENT_ENABLED_STATE_ENABLED, + PackageManager.DONT_KILL_APP + ) +} diff --git a/app/src/main/res/values/array.xml b/app/src/main/res/values/array.xml index 43f82a523..98ab4154d 100644 --- a/app/src/main/res/values/array.xml +++ b/app/src/main/res/values/array.xml @@ -538,4 +538,13 @@ 4 5 + + + Old + New + + + com\.github\.libretube\.MainActivity + com\.github\.libretube\.OptIconOne + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9d8b3ab40..699c803a6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -109,4 +109,5 @@ Purple OLED Theme Material You + App Icon \ No newline at end of file diff --git a/app/src/main/res/xml/settings.xml b/app/src/main/res/xml/settings.xml index e9b325751..89e96fc03 100644 --- a/app/src/main/res/xml/settings.xml +++ b/app/src/main/res/xml/settings.xml @@ -80,6 +80,15 @@ android:icon="@drawable/ic_color" /> + +