-
-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #116 from Mahmud0808/master
Merge master into fdroid
- Loading branch information
Showing
127 changed files
with
10,298 additions
and
9,294 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
55 changes: 0 additions & 55 deletions
55
app/src/main/java/com/drdisagree/colorblendr/ColorBlendr.java
This file was deleted.
Oops, something went wrong.
58 changes: 58 additions & 0 deletions
58
app/src/main/java/com/drdisagree/colorblendr/ColorBlendr.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
package com.drdisagree.colorblendr | ||
|
||
import android.app.Application | ||
import android.content.Context | ||
import com.drdisagree.colorblendr.provider.RootConnectionProvider | ||
import com.drdisagree.colorblendr.provider.ShizukuConnectionProvider | ||
import com.drdisagree.colorblendr.service.IRootConnection | ||
import com.drdisagree.colorblendr.service.IShizukuConnection | ||
import com.google.android.material.color.DynamicColors | ||
import org.lsposed.hiddenapibypass.HiddenApiBypass | ||
import java.lang.ref.WeakReference | ||
|
||
class ColorBlendr : Application() { | ||
override fun onCreate() { | ||
super.onCreate() | ||
instance = this | ||
contextReference = WeakReference( | ||
applicationContext | ||
) | ||
DynamicColors.applyToActivitiesIfAvailable(this) | ||
} | ||
|
||
override fun attachBaseContext(base: Context) { | ||
super.attachBaseContext(base) | ||
HiddenApiBypass.addHiddenApiExemptions("L") | ||
} | ||
|
||
companion object { | ||
private lateinit var instance: ColorBlendr | ||
private lateinit var contextReference: WeakReference<Context> | ||
|
||
@JvmStatic | ||
val appContext: Context | ||
get() { | ||
if (!this::contextReference.isInitialized || contextReference.get() == null) { | ||
contextReference = WeakReference( | ||
getInstance().applicationContext | ||
) | ||
} | ||
return contextReference.get()!! | ||
} | ||
|
||
private fun getInstance(): ColorBlendr { | ||
if (!this::instance.isInitialized) { | ||
instance = ColorBlendr() | ||
} | ||
return instance | ||
} | ||
|
||
@JvmStatic | ||
val rootConnection: IRootConnection? | ||
get() = RootConnectionProvider.getServiceProvider | ||
|
||
@JvmStatic | ||
val shizukuConnection: IShizukuConnection? | ||
get() = ShizukuConnectionProvider.getServiceProvider | ||
} | ||
} |
112 changes: 0 additions & 112 deletions
112
app/src/main/java/com/drdisagree/colorblendr/common/Const.java
This file was deleted.
Oops, something went wrong.
122 changes: 122 additions & 0 deletions
122
app/src/main/java/com/drdisagree/colorblendr/common/Const.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,122 @@ | ||
package com.drdisagree.colorblendr.common | ||
|
||
import com.drdisagree.colorblendr.BuildConfig | ||
import com.drdisagree.colorblendr.config.RPrefs | ||
import com.google.gson.Gson | ||
import com.google.gson.reflect.TypeToken | ||
import java.util.concurrent.atomic.AtomicInteger | ||
|
||
object Const { | ||
// Preferences file | ||
const val SHARED_PREFS: String = BuildConfig.APPLICATION_ID + "_preferences" | ||
|
||
// System packages | ||
const val FRAMEWORK_PACKAGE: String = "android" | ||
const val SYSTEMUI_PACKAGE: String = "com.android.systemui" | ||
const val SHELL_PACKAGE: String = "com.android.shell" | ||
|
||
// General preferences | ||
const val FIRST_RUN: String = "firstRun" | ||
const val THEMING_ENABLED: String = "themingEnabled" | ||
const val MONET_STYLE: String = "customMonetStyle" | ||
const val MONET_ACCENT_SATURATION: String = "monetAccentSaturationValue" | ||
const val MONET_BACKGROUND_SATURATION: String = "monetBackgroundSaturationValue" | ||
const val MONET_BACKGROUND_LIGHTNESS: String = "monetBackgroundLightnessValue" | ||
const val MONET_ACCURATE_SHADES: String = "monetAccurateShades" | ||
const val MONET_PITCH_BLACK_THEME: String = "monetPitchBlackTheme" | ||
const val MONET_SEED_COLOR: String = "monetSeedColor" | ||
const val MONET_SEED_COLOR_ENABLED: String = "monetSeedColorEnabled" | ||
const val MANUAL_OVERRIDE_COLORS: String = "manualOverrideColors" | ||
const val MONET_LAST_UPDATED: String = "monetLastUpdated" | ||
const val MONET_STYLE_ORIGINAL_NAME: String = "monetStyleOriginalName" | ||
const val FABRICATED_OVERLAY_SOURCE_PACKAGE: String = FRAMEWORK_PACKAGE | ||
const val FABRICATED_OVERLAY_NAME_SYSTEM: String = "${BuildConfig.APPLICATION_ID}_dynamic_theme" | ||
const val FABRICATED_OVERLAY_NAME_SYSTEMUI: String = | ||
"${BuildConfig.APPLICATION_ID}_dynamic_theme_system" | ||
const val FABRICATED_OVERLAY_NAME_APPS: String = | ||
"${BuildConfig.APPLICATION_ID}.%s_dynamic_theme" | ||
const val WALLPAPER_COLOR_LIST: String = "wallpaperColorList" | ||
private const val FABRICATED_OVERLAY_FOR_APPS_STATE: String = "fabricatedOverlayForAppsState" | ||
const val SHOW_PER_APP_THEME_WARN: String = "showPerAppThemeWarn" | ||
const val TINT_TEXT_COLOR: String = "tintTextColor" | ||
const val SHIZUKU_PERMISSION_REQUEST_ID: Int = 100 | ||
const val THEME_CUSTOMIZATION_OVERLAY_PACKAGES: String = "theme_customization_overlay_packages" | ||
const val SHIZUKU_THEMING_ENABLED: String = "shizukuThemingEnabled" | ||
const val APP_LIST_FILTER_METHOD: String = "appListFilterMethod" | ||
val screenOrientation: AtomicInteger = AtomicInteger(-1) | ||
|
||
// Service preferences | ||
val GSON: Gson = Gson() | ||
private const val PREF_WORKING_METHOD: String = "workingMethod" | ||
|
||
var EXCLUDED_PREFS_FROM_BACKUP: Set<String> = HashSet( | ||
listOf( | ||
FIRST_RUN, | ||
PREF_WORKING_METHOD, | ||
MONET_LAST_UPDATED, | ||
THEMING_ENABLED, | ||
SHIZUKU_THEMING_ENABLED, | ||
WALLPAPER_COLOR_LIST | ||
) | ||
) | ||
|
||
fun saveSelectedFabricatedApps(selectedApps: HashMap<String, Boolean>) { | ||
RPrefs.putString(FABRICATED_OVERLAY_FOR_APPS_STATE, GSON.toJson(selectedApps)) | ||
} | ||
|
||
val selectedFabricatedApps: HashMap<String, Boolean> | ||
get() { | ||
val selectedApps = RPrefs.getString( | ||
FABRICATED_OVERLAY_FOR_APPS_STATE, | ||
null | ||
) | ||
if (selectedApps.isNullOrEmpty()) { | ||
return HashMap() | ||
} | ||
|
||
return GSON.fromJson( | ||
selectedApps, | ||
object : | ||
TypeToken<HashMap<String?, Boolean?>?>() { | ||
}.type | ||
) | ||
} | ||
|
||
var WORKING_METHOD: WorkMethod = WorkMethod.NULL | ||
|
||
val workingMethod: WorkMethod | ||
get() = WorkMethod.fromString( | ||
RPrefs.getString( | ||
PREF_WORKING_METHOD, | ||
WorkMethod.NULL.toString() | ||
) | ||
) | ||
|
||
fun saveWorkingMethod(workMethod: WorkMethod) { | ||
RPrefs.putString(PREF_WORKING_METHOD, workMethod.toString()) | ||
} | ||
|
||
// Working method of app | ||
enum class WorkMethod { | ||
NULL, | ||
ROOT, | ||
SHIZUKU; | ||
|
||
companion object { | ||
fun fromString(str: String?): WorkMethod { | ||
return try { | ||
valueOf(str!!) | ||
} catch (e: Exception) { | ||
NULL | ||
} | ||
} | ||
} | ||
} | ||
|
||
enum class AppType { | ||
SYSTEM, | ||
USER, | ||
LAUNCHABLE, | ||
ALL | ||
} | ||
} |
Oops, something went wrong.