大漢易經書院.apk(点击下载) / b.java


package com.huawei.updatesdk.b.c;

import android.app.UiModeManager;
import android.content.Context;
import android.os.Build;
import com.huawei.updatesdk.a.b.a.a;
import java.util.HashMap;
import java.util.Map;

public class b {
    private static final Map<Integer, Class<? extends c>> a;
    private static c b;
    private static int c = -1;

    static {
        HashMap hashMap = new HashMap();
        a = hashMap;
        hashMap.put(3, a.class);
        a.put(1, e.class);
        a.put(2, f.class);
        a.put(0, d.class);
    }

    private static int a(Context context) {
        if (c(context)) {
            return 1;
        }
        if (d(context)) {
            return 2;
        }
        return b(context) ? 3 : 0;
    }

    public static c a() {
        c cVar = b;
        if (cVar != null) {
            return cVar;
        }
        Context a2 = a.c().a();
        if (c < 0) {
            c = a(a2);
        }
        com.huawei.updatesdk.a.a.a.b("DeviceImplFactory", "deviceType: " + c);
        Class<? extends c> cls = a.get(Integer.valueOf(c));
        if (cls == null) {
            d dVar = new d();
            b = dVar;
            return dVar;
        }
        try {
            b = (c) cls.newInstance();
        } catch (Throwable unused) {
            b = new d();
            com.huawei.updatesdk.a.a.a.a("DeviceImplFactory", "createDeviceInfo error and create default phone deviceinfo");
        }
        return b;
    }

    private static boolean b(Context context) {
        if (Build.VERSION.SDK_INT >= 23) {
            return context.getPackageManager().hasSystemFeature("android.hardware.type.automotive");
        }
        return false;
    }

    private static boolean c(Context context) {
        UiModeManager uiModeManager = (UiModeManager) context.getSystemService("uimode");
        com.huawei.updatesdk.a.a.a.b("DeviceImplFactory", "UI mode: " + uiModeManager.getCurrentModeType());
        return uiModeManager.getCurrentModeType() == 4;
    }

    private static boolean d(Context context) {
        if (Build.VERSION.SDK_INT >= 21) {
            return context.getPackageManager().hasSystemFeature("android.hardware.type.watch");
        }
        return false;
    }
}