diff --git a/feature/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/permission/PermissionActivity.kt b/feature/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/permission/PermissionActivity.kt index e7d3a90ab6..95cf08bc03 100644 --- a/feature/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/permission/PermissionActivity.kt +++ b/feature/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/permission/PermissionActivity.kt @@ -92,7 +92,7 @@ class PermissionActivity : CommonActivity() { } )) add(CommonItemSwitch( - R.string.permission_write_settings_status, + R.string.permission_draw_overlays_status, Utils.Supplier { return@Supplier PermissionUtils.isGrantedDrawOverlays() }, diff --git a/lib/base/build.gradle b/lib/base/build.gradle index 20033bc3f0..8ccee4990c 100644 --- a/lib/base/build.gradle +++ b/lib/base/build.gradle @@ -12,4 +12,25 @@ dependencies { api Config.depConfig.swipe_panel.dep api Config.depConfig.eventbus_lib.dep compileOnly Config.depConfig.lib_utildebug_no_op.dep +} + + +android { + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + android.libraryVariants.all { variant -> + if(variant.name.equalsIgnoreCase("release")) { + variant.outputs.all { output -> + def f = output.outputFileName + if (f != null && f.endsWith('.aar')) { + def fileName = "auc-lib-base-v${defaultConfig.versionName}.aar" + output.outputFileName = fileName + } + } + } + } + } + } } \ No newline at end of file diff --git a/lib/common/build.gradle b/lib/common/build.gradle index c4bb45fba5..5c710103f5 100644 --- a/lib/common/build.gradle +++ b/lib/common/build.gradle @@ -1,4 +1,23 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) api Config.depConfig.lib_base.dep +} +android { + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + android.libraryVariants.all { variant -> + if(variant.name.equalsIgnoreCase("release")) { + variant.outputs.all { output -> + def f = output.outputFileName + if (f != null && f.endsWith('.aar')) { + def fileName = "auc-lib-common-v${defaultConfig.versionName}.aar" + output.outputFileName = fileName + } + } + } + } + } + } } \ No newline at end of file diff --git a/lib/utilcode/build.gradle b/lib/utilcode/build.gradle index 283e55936b..3f0ab43303 100644 --- a/lib/utilcode/build.gradle +++ b/lib/utilcode/build.gradle @@ -40,6 +40,26 @@ dependencies { testImplementation Config.depConfig.eventbus_lib.dep } +android { + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + android.libraryVariants.all { variant -> + if(variant.name.equalsIgnoreCase("release")) { + variant.outputs.all { output -> + def f = output.outputFileName + if (f != null && f.endsWith('.aar')) { + def fileName = "auc-lib-util-v${defaultConfig.versionName}.aar" + output.outputFileName = fileName + } + } + } + } + } + } +} + afterEvaluate { verifyReleaseResources.enabled(false) } diff --git a/lib/utilcode/src/main/java/com/blankj/utilcode/util/PermissionUtils.java b/lib/utilcode/src/main/java/com/blankj/utilcode/util/PermissionUtils.java index e76a8bcd5e..f8efe589ed 100755 --- a/lib/utilcode/src/main/java/com/blankj/utilcode/util/PermissionUtils.java +++ b/lib/utilcode/src/main/java/com/blankj/utilcode/util/PermissionUtils.java @@ -39,16 +39,16 @@ public final class PermissionUtils { private static PermissionUtils sInstance; - private String[] mPermissionsParam; + private String[] mPermissionsParam; private OnRationaleListener mOnRationaleListener; - private SimpleCallback mSimpleCallback; - private FullCallback mFullCallback; - private ThemeCallback mThemeCallback; - private Set mPermissions; - private List mPermissionsRequest; - private List mPermissionsGranted; - private List mPermissionsDenied; - private List mPermissionsDeniedForever; + private SimpleCallback mSimpleCallback; + private FullCallback mFullCallback; + private ThemeCallback mThemeCallback; + private Set mPermissions; + private List mPermissionsRequest; + private List mPermissionsGranted; + private List mPermissionsDenied; + private List mPermissionsDeniedForever; private static SimpleCallback sSimpleCallback4WriteSettings; private static SimpleCallback sSimpleCallback4DrawOverlays; @@ -363,10 +363,12 @@ private void onRequestPermissionsResult(final Activity activity) { @RequiresApi(api = Build.VERSION_CODES.M) static final class PermissionActivityImpl extends UtilsTransActivity.TransActivityDelegate { - private static final String TYPE = "TYPE"; - private static final int TYPE_RUNTIME = 0x01; - private static final int TYPE_WRITE_SETTINGS = 0x02; - private static final int TYPE_DRAW_OVERLAYS = 0x03; + private static final String TYPE = "TYPE"; + private static final int TYPE_RUNTIME = 0x01; + private static final int TYPE_WRITE_SETTINGS = 0x02; + private static final int TYPE_DRAW_OVERLAYS = 0x03; + + private static int currentRequestCode = -1; private static PermissionActivityImpl INSTANCE = new PermissionActivityImpl(); @@ -403,8 +405,10 @@ public void run() { } requestPermissions(activity); } else if (type == TYPE_WRITE_SETTINGS) { + currentRequestCode = TYPE_WRITE_SETTINGS; startWriteSettingsActivity(activity, TYPE_WRITE_SETTINGS); } else if (type == TYPE_DRAW_OVERLAYS) { + currentRequestCode = TYPE_DRAW_OVERLAYS; startOverlayPermissionActivity(activity, TYPE_DRAW_OVERLAYS); } else { activity.finish(); @@ -441,8 +445,24 @@ public boolean dispatchTouchEvent(UtilsTransActivity activity, MotionEvent ev) { return true; } + @Override + public void onDestroy(final UtilsTransActivity activity) { + //这两种方式,在unity游戏中,如果app从后台切回,当前activity会被强制关闭,所以需要检测一下 + //checkRequest(TYPE_DRAW_OVERLAYS); + //checkRequest(TYPE_WRITE_SETTINGS); + if (currentRequestCode != -1) { + checkRequest(currentRequestCode); + currentRequestCode = -1; + } + super.onDestroy(activity); + } + @Override public void onActivityResult(UtilsTransActivity activity, int requestCode, int resultCode, Intent data) { + activity.finish(); + } + + private void checkRequest(int requestCode) { if (requestCode == TYPE_WRITE_SETTINGS) { if (sSimpleCallback4WriteSettings == null) return; if (isGrantedWriteSettings()) { @@ -465,7 +485,6 @@ public void run() { } }, 100); } - activity.finish(); } }