高佣联盟 v6.22.57版本的 MD5 值为:0c736d87a62b04809b5a48aa82055f6a

以下内容为反编译后的 l.java 源代码,内容仅作参考


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 com.android.internal.http.multipart.Part;
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(Context context) {
        Checker.checkNotNull(context);
        return (context.getApplicationInfo().flags & 1048576) != 0;
    }

    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();
    }

    public static void e(Context context) {
        Checker.checkNotNull(context);
        PowerManager powerManager = (PowerManager) context.getSystemService("power");
        if (!Compatibility.runningOnMarshmallowOrHigher() || powerManager == null) {
            return;
        }
        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");
    }

    public static String c() {
        Intent a = b.a(com.netease.nrtc.engine.impl.a.b, null, new IntentFilter("android.intent.action.BATTERY_CHANGED"));
        if (a != null) {
            int intExtra = a.getIntExtra("level", -1);
            int intExtra2 = a.getIntExtra("scale", -1);
            return intExtra2 != -1 ? String.format(Locale.US, "%d %%", Integer.valueOf((intExtra * 100) / intExtra2)) : Part.EXTRA;
        }
        return Part.EXTRA;
    }

    public static boolean b() {
        boolean d = d();
        String str = Build.TAGS;
        if ((d || str == null || !str.contains("test-keys")) && !new File("/system/app/Superuser.apk").exists()) {
            return !d && new File("/system/xbin/su").exists();
        }
        return true;
    }

    private static boolean d() {
        String str = Build.MODEL;
        if (StringUtils.isNotEmpty(str) && str.toLowerCase().contains("sdk")) {
            return true;
        }
        String str2 = Build.MANUFACTURER;
        if (StringUtils.isNotEmpty(str2) && str2.toLowerCase().contains("unknown")) {
            return true;
        }
        String str3 = Build.DEVICE;
        return StringUtils.isNotEmpty(str3) && str3.toLowerCase().contains("generic");
    }
}