package com.netease.nrtc.utility; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Build; import android.os.PowerManager; import androidx.core.os.EnvironmentCompat; import com.netease.nrtc.engine.impl.C0373a; import com.netease.yunxin.base.trace.Trace; import com.netease.yunxin.base.utils.Checker; import com.netease.yunxin.base.utils.Compatibility; import com.netease.yunxin.base.utils.StringUtils; import com.netease.yunxin.base.utils.SystemPermissionUtils; import java.io.File; import java.util.List; import java.util.Locale; public class l { public static boolean a() { return false; } public static boolean a(Context context) { Checker.checkNotNull(context); return (context.getApplicationInfo().flags & 2) != 0; } public static boolean b() { boolean d2 = d(); String str = Build.TAGS; if ((d2 || str == null || !str.contains("test-keys")) && !new File("/system/app/Superuser.apk").exists()) { return !d2 && new File("/system/xbin/su").exists(); } return true; } static boolean b(Context context) { Checker.checkNotNull(context); return (context.getApplicationInfo().flags & 1048576) != 0; } public static String c() { Intent a2 = b.a(C0373a.f10493b, null, new IntentFilter("android.intent.action.BATTERY_CHANGED")); if (a2 == null) { return "--"; } int intExtra = a2.getIntExtra("level", -1); int intExtra2 = a2.getIntExtra("scale", -1); if (intExtra2 == -1) { return "--"; } return String.format(Locale.US, "%d %%", Integer.valueOf((intExtra * 100) / intExtra2)); } public static boolean c(Context context) { return g(context) || h(context); } public static String d(Context context) { File externalFilesDir = context.getExternalFilesDir("log"); if (externalFilesDir == null || -1 == context.getPackageManager().checkPermission("android.permission.WRITE_EXTERNAL_STORAGE", context.getPackageName())) { externalFilesDir = context.getDir("log", 0); } return externalFilesDir.getAbsolutePath(); } private static boolean d() { if (StringUtils.isNotEmpty(Build.MODEL) && Build.MODEL.toLowerCase().contains("sdk")) { return true; } if (!StringUtils.isNotEmpty(Build.MANUFACTURER) || !Build.MANUFACTURER.toLowerCase().contains(EnvironmentCompat.MEDIA_UNKNOWN)) { return StringUtils.isNotEmpty(Build.DEVICE) && Build.DEVICE.toLowerCase().contains("generic"); } return true; } public static void e(Context context) { Checker.checkNotNull(context); PowerManager powerManager = (PowerManager) context.getSystemService("power"); if (Compatibility.runningOnMarshmallowOrHigher() && powerManager != null) { if (!powerManager.isIgnoringBatteryOptimizations(context.getPackageName())) { Trace.w("NRTC", "app is not on the device's power whitelist, please refer to https://goo.gl/FE5SeB"); } else { Trace.i("NRTC", "app is on the device's power whitelist"); } } } public static void f(Context context) { List<String> checkPermission = SystemPermissionUtils.checkPermission(context); if (checkPermission.isEmpty()) { Trace.i("NRTC", "Permission is OK"); return; } for (String str : checkPermission) { if (!StringUtils.isEmpty(str)) { Trace.e("NRTC", "Permission miss : " + str); } } } private static boolean g(Context context) { return context.getPackageName().startsWith("com.netease.nim"); } private static boolean h(Context context) { return context.getPackageName().startsWith("com.netease.nrtc"); } }