mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-22 21:19:31 +01:00
Try to fix xiaomi + add meizu
Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
parent
c59a003d2a
commit
d844116098
@ -36,21 +36,23 @@ public class DeviceUtils {
|
|||||||
private static final String TAG = "DeviceUtils";
|
private static final String TAG = "DeviceUtils";
|
||||||
|
|
||||||
public static void ignoreSpecialBatteryFeatures() {
|
public static void ignoreSpecialBatteryFeatures() {
|
||||||
if (Build.MANUFACTURER.equalsIgnoreCase("xiaomi")) {
|
if (Build.MANUFACTURER.equalsIgnoreCase("xiaomi") || Build.MANUFACTURER.equalsIgnoreCase("meizu")) {
|
||||||
try {
|
try {
|
||||||
@SuppressLint("PrivateApi") Class<?> aClass = Class.forName("android.miui.AppOpsUtils");
|
@SuppressLint("PrivateApi") Class<?> aClass = Class.forName("android.miui.AppOpsUtils");
|
||||||
if (aClass != null) {
|
if (aClass != null) {
|
||||||
Method getApplicationAutoStart = aClass.getDeclaredMethod("getApplicationAutoStart", Context.class, String.class);
|
Method getApplicationAutoStart = aClass.getDeclaredMethod("getApplicationAutoStart", Context.class, String.class);
|
||||||
Context applicationContext = NextcloudTalkApplication.getSharedApplication().getApplicationContext();
|
if (getApplicationAutoStart != null) {
|
||||||
Object result = getApplicationAutoStart.invoke(aClass, applicationContext, applicationContext.getPackageName());
|
Context applicationContext = NextcloudTalkApplication.getSharedApplication().getApplicationContext();
|
||||||
if (result instanceof Integer) {
|
Object result = getApplicationAutoStart.invoke(aClass, applicationContext, applicationContext.getPackageName());
|
||||||
Integer integerResult = (Integer) result;
|
if (result instanceof Integer) {
|
||||||
if (integerResult == 0) {
|
Integer integerResult = (Integer) result;
|
||||||
Method setApplicationAutoStartMethod = aClass.getDeclaredMethod("setApplicationAutoStart",
|
if (integerResult == 0) {
|
||||||
Context.class, String.class, Boolean.TYPE);
|
Method setApplicationAutoStartMethod = aClass.getDeclaredMethod("setApplicationAutoStart",
|
||||||
if (setApplicationAutoStartMethod != null) {
|
Context.class, String.class, Boolean.TYPE);
|
||||||
setApplicationAutoStartMethod.invoke(aClass, applicationContext, applicationContext.getPackageName(),
|
if (setApplicationAutoStartMethod != null) {
|
||||||
Boolean.TRUE);
|
setApplicationAutoStartMethod.invoke(aClass, applicationContext, applicationContext.getPackageName(),
|
||||||
|
Boolean.TRUE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user