Add warning for MIUI users when trying to restore backups with MIUI Optimization disabled

This commit is contained in:
arkon
2021-07-10 11:04:41 -04:00
parent 015e8deb79
commit d4c8480dee
3 changed files with 46 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
package eu.kanade.tachiyomi.util.system
import android.annotation.SuppressLint
import timber.log.Timber
object MiuiUtil {
fun isMiui(): Boolean {
return getSystemProperty("ro.miui.ui.version.name")?.isNotEmpty() ?: false
}
@SuppressLint("PrivateApi")
fun isMiuiOptimizationDisabled(): Boolean {
if ("0" == getSystemProperty("persist.sys.miui_optimization")) {
return true
}
return try {
Class.forName("android.miui.AppOpsUtils")
.getDeclaredMethod("isXOptMode")
.invoke(null) as Boolean
} catch (e: Exception) {
false
}
}
@SuppressLint("PrivateApi")
private fun getSystemProperty(key: String?): String? {
return try {
Class.forName("android.os.SystemProperties")
.getDeclaredMethod("get", String::class.java)
.invoke(null, key) as String
} catch (e: Exception) {
Timber.w(e, "Unable to use SystemProperties.get")
null
}
}
}