正在查看: 新暖心缘 v8.1.1 应用的 CheckPermissionActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: 新暖心缘 v8.1.1 应用的 CheckPermissionActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.luanxingyuan.app.util.permission;
import android.annotation.TargetApi;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
import androidx.appcompat.app.AppCompatActivity;
import com.faceunity.wrapper.faceunity;
import com.luanxingyuan.app.util.permission.PermissionUtil;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import q.c;
public class CheckPermissionActivity extends AppCompatActivity {
private static PermissionUtil.OnPermissionListener transferOnPermissionListener;
private PermissionUtil.OnPermissionListener mOnPermissionListener;
private int requestCode;
public static List<String> getDeniedPermissions(Context context, String[] strArr) {
ArrayList arrayList = new ArrayList();
for (String str : strArr) {
if (c.a(context, str) == -1) {
arrayList.add(str);
}
}
return arrayList;
}
private void getIntentData() {
this.mOnPermissionListener = transferOnPermissionListener;
transferOnPermissionListener = null;
String[] stringArrayExtra = getIntent().getStringArrayExtra("permissions");
if (stringArrayExtra == null || stringArrayExtra.length <= 0) {
throw new NullPointerException("申请的权限列表不能为空!");
}
requestPermissions(stringArrayExtra);
}
@TargetApi(23)
private void requestPermissions(String[] strArr) {
this.requestCode = new Random().nextInt(1000);
List<String> deniedPermissions = getDeniedPermissions(this, strArr);
if (deniedPermissions.size() > 0) {
requestPermissions((String[]) deniedPermissions.toArray(new String[deniedPermissions.size()]), this.requestCode);
return;
}
PermissionUtil.OnPermissionListener onPermissionListener = this.mOnPermissionListener;
if (onPermissionListener != null) {
onPermissionListener.onPermissionGranted();
}
if (isFinishing()) {
return;
}
finish();
}
public static void start(Context context, String[] strArr, PermissionUtil.OnPermissionListener onPermissionListener) {
Intent intent = new Intent(context, (Class<?>) CheckPermissionActivity.class);
intent.putExtra("permissions", strArr);
intent.addFlags(faceunity.FUAITYPE_HUMAN_PROCESSOR_DETECT);
context.startActivity(intent);
transferOnPermissionListener = onPermissionListener;
}
private static boolean verifyPermissions(int[] iArr) {
for (int i8 : iArr) {
if (i8 != 0) {
return false;
}
}
return true;
}
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
Window window = getWindow();
window.setGravity(51);
WindowManager.LayoutParams attributes = window.getAttributes();
attributes.x = 0;
attributes.y = 0;
attributes.height = 1;
attributes.width = 1;
window.setAttributes(attributes);
getIntentData();
}
@Override
protected void onDestroy() {
super.onDestroy();
this.mOnPermissionListener = null;
}
@Override
public void onRequestPermissionsResult(int i8, String[] strArr, int[] iArr) {
super.onRequestPermissionsResult(i8, strArr, iArr);
requestPermissionsResult(i8, iArr);
}
public void requestPermissionsResult(int i8, int[] iArr) {
if (i8 != -1) {
if (verifyPermissions(iArr)) {
PermissionUtil.OnPermissionListener onPermissionListener = this.mOnPermissionListener;
if (onPermissionListener != null) {
onPermissionListener.onPermissionGranted();
}
} else {
PermissionUtil.OnPermissionListener onPermissionListener2 = this.mOnPermissionListener;
if (onPermissionListener2 != null) {
onPermissionListener2.onPermissionDenied();
}
}
}
finish();
}
}