导航菜单

页面标题

页面副标题

医路轻松 v1.1.3 - WindowPermissionCompat.java 源代码

正在查看: 医路轻松 v1.1.3 应用的 WindowPermissionCompat.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.hjq.permissions;

import android.content.Context;
import android.content.Intent;
import android.provider.Settings;

final class WindowPermissionCompat {
    private static final int OP_SYSTEM_ALERT_WINDOW_DEFAULT_VALUE = 24;
    private static final String OP_SYSTEM_ALERT_WINDOW_FIELD_NAME = "OP_SYSTEM_ALERT_WINDOW";

    WindowPermissionCompat() {
    }

    static boolean isGrantedPermission(Context context) {
        if (AndroidVersion.isAndroid6()) {
            return Settings.canDrawOverlays(context);
        }
        if (AndroidVersion.isAndroid4_4()) {
            return PermissionUtils.checkOpNoThrow(context, OP_SYSTEM_ALERT_WINDOW_FIELD_NAME, OP_SYSTEM_ALERT_WINDOW_DEFAULT_VALUE);
        }
        return true;
    }

    static Intent getPermissionIntent(Context context) {
        if (AndroidVersion.isAndroid6()) {
            if (PhoneRomUtils.isHyperOs()) {
                Intent manageOverlayPermissionIntent = getManageOverlayPermissionIntent(context);
                if (PermissionUtils.areActivityIntent(context, manageOverlayPermissionIntent)) {
                    return manageOverlayPermissionIntent;
                }
            }
            if (AndroidVersion.isAndroid11() && PhoneRomUtils.isMiui() && PhoneRomUtils.isMiuiOptimization()) {
                return PermissionActivityIntentHandler.addSubIntentForMainIntent(PermissionIntentManager.getMiuiPermissionPageIntent(context), PermissionIntentManager.getApplicationDetailsIntent(context));
            }
            Intent manageOverlayPermissionIntent2 = getManageOverlayPermissionIntent(context);
            return PermissionUtils.areActivityIntent(context, manageOverlayPermissionIntent2) ? manageOverlayPermissionIntent2 : PermissionIntentManager.getApplicationDetailsIntent(context);
        }
        if (PhoneRomUtils.isEmui()) {
            return PermissionActivityIntentHandler.addSubIntentForMainIntent(PermissionIntentManager.getEmuiWindowPermissionPageIntent(context), PermissionIntentManager.getApplicationDetailsIntent(context));
        }
        if (PhoneRomUtils.isMiui()) {
            return PermissionActivityIntentHandler.addSubIntentForMainIntent(PhoneRomUtils.isMiuiOptimization() ? PermissionIntentManager.getMiuiWindowPermissionPageIntent(context) : null, PermissionIntentManager.getApplicationDetailsIntent(context));
        }
        if (PhoneRomUtils.isColorOs()) {
            return PermissionActivityIntentHandler.addSubIntentForMainIntent(PermissionIntentManager.getColorOsWindowPermissionPageIntent(context), PermissionIntentManager.getApplicationDetailsIntent(context));
        }
        if (PhoneRomUtils.isOriginOs()) {
            return PermissionActivityIntentHandler.addSubIntentForMainIntent(PermissionIntentManager.getOriginOsWindowPermissionPageIntent(context), PermissionIntentManager.getApplicationDetailsIntent(context));
        }
        if (PhoneRomUtils.isOneUi()) {
            return PermissionActivityIntentHandler.addSubIntentForMainIntent(PermissionIntentManager.getOneUiWindowPermissionPageIntent(context), PermissionIntentManager.getApplicationDetailsIntent(context));
        }
        return PermissionIntentManager.getApplicationDetailsIntent(context);
    }

    private static Intent getManageOverlayPermissionIntent(Context context) {
        Intent intent = new Intent("android.settings.action.MANAGE_OVERLAY_PERMISSION");
        if (!AndroidVersion.isAndroid11()) {
            intent.setData(PermissionUtils.getPackageNameUri(context));
        }
        return intent;
    }
}