Loading res/layout/request_role_view.xml +6 −2 Original line number Diff line number Diff line Loading @@ -16,12 +16,16 @@ ~ limitations under the License. --> <FrameLayout <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" style="@style/RequestRoleView"> <ListView android:id="@+id/list" style="@style/RequestRoleViewListView" /> <CheckBox android:id="@+id/dont_ask_again" android:text="@string/request_role_dont_ask_again" style="@style/RequestRoleViewCheckbox" /> </FrameLayout> </LinearLayout> res/values/overlayable.xml +1 −0 Original line number Diff line number Diff line Loading @@ -164,6 +164,7 @@ <!-- START REQUEST ROLE DIALOG VIEW --> <item type="style" name="RequestRoleView" /> <item type="style" name="RequestRoleViewListView" /> <item type="style" name="RequestRoleViewCheckbox" /> <!-- END REQUEST ROLE DIALOG VIEW --> Loading res/values/styles.xml +15 −4 Original line number Diff line number Diff line Loading @@ -711,15 +711,26 @@ <style name="RequestRoleView"> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">wrap_content</item> <item name="android:paddingStart">?android:dialogPreferredPadding</item> <item name="android:paddingEnd">?android:dialogPreferredPadding</item> <item name="android:clipChildren">false</item> <item name="android:clipToPadding">false</item> <!-- @android:dimen/dialog_title_divider_material --> <item name="android:paddingTop">8dp</item> <item name="android:orientation">vertical</item> </style> <style name="RequestRoleViewListView"> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">0dp</item> <item name="android:layout_weight">1</item> <item name="android:cacheColorHint">@null</item> <item name="android:divider">?android:listDividerAlertDialog</item> <item name="android:overScrollMode">ifContentScrolls</item> <item name="android:scrollIndicators">top|bottom</item> </style> <style name="RequestRoleViewCheckbox"> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">wrap_content</item> <item name="android:layout_marginStart">?android:dialogPreferredPadding</item> <item name="android:layout_marginEnd">?android:dialogPreferredPadding</item> <item name="android:minHeight">?android:listPreferredItemHeightSmall</item> <item name="android:paddingStart">16dp</item> <item name="android:textAppearance">@style/android:TextAppearance.Material.Subhead</item> Loading res/values/themes.xml +3 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,7 @@ <style name="RequestRole" parent="android:Theme.DeviceDefault.Settings"> <item name="android:colorBackgroundCacheHint">@null</item> <item name="android:navigationBarColor">@android:color/transparent</item> <item name="android:navigationBarDividerColor">@null</item> <item name="android:statusBarColor">@android:color/transparent</item> <item name="android:windowActionBar">false</item> <item name="android:windowAnimationStyle">@null</item> Loading @@ -62,6 +63,8 @@ <item name="android:windowContentOverlay">@null</item> <item name="android:windowDisablePreview">true</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowLightNavigationBar">false</item> <item name="android:windowLightStatusBar">false</item> <item name="android:windowNoTitle">true</item> </style> Loading src/com/android/packageinstaller/permission/service/PermissionControllerServiceImpl.java +8 −10 Original line number Diff line number Diff line Loading @@ -67,9 +67,8 @@ import java.util.function.IntConsumer; /** * Calls from the system into the permission controller. * * All methods are called async beside the backup related method. For these we force to use the * async-task single thread executor so that multiple parallel backups don't override the delayed * the backup state racily. * All reading methods are called async, and all writing method are called on the AsyncTask single * thread executor so that multiple writes won't override each other concurrently. */ public final class PermissionControllerServiceImpl extends PermissionControllerService { private static final String LOG_TAG = PermissionControllerServiceImpl.class.getSimpleName(); Loading Loading @@ -210,8 +209,8 @@ public final class PermissionControllerServiceImpl extends PermissionControllerS public void onRevokeRuntimePermissions(@NonNull Map<String, List<String>> request, boolean doDryRun, int reason, @NonNull String callerPackageName, @NonNull Consumer<Map<String, List<String>>> callback) { AsyncTask.THREAD_POOL_EXECUTOR.execute(() -> callback.accept( onRevokeRuntimePermissions(request, doDryRun, reason, callerPackageName))); AsyncTask.execute(() -> callback.accept(onRevokeRuntimePermissions(request, doDryRun, reason, callerPackageName))); } private @NonNull Map<String, List<String>> onRevokeRuntimePermissions( Loading Loading @@ -403,7 +402,7 @@ public final class PermissionControllerServiceImpl extends PermissionControllerS @Override public void onRevokeRuntimePermission(@NonNull String packageName, @NonNull String permissionName, @NonNull Runnable callback) { AsyncTask.THREAD_POOL_EXECUTOR.execute(() -> { AsyncTask.execute(() -> { onRevokeRuntimePermission(packageName, permissionName); callback.run(); }); Loading Loading @@ -503,9 +502,8 @@ public final class PermissionControllerServiceImpl extends PermissionControllerS public void onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String callerPackageName, @NonNull String packageName, @NonNull String unexpandedPermission, int grantState, @NonNull Consumer<Boolean> callback) { AsyncTask.THREAD_POOL_EXECUTOR.execute(() -> callback.accept( onSetRuntimePermissionGrantStateByDeviceAdmin(callerPackageName, packageName, unexpandedPermission, grantState))); AsyncTask.execute(() -> callback.accept(onSetRuntimePermissionGrantStateByDeviceAdmin( callerPackageName, packageName, unexpandedPermission, grantState))); } private boolean onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String callerPackageName, Loading Loading @@ -568,7 +566,7 @@ public final class PermissionControllerServiceImpl extends PermissionControllerS @Override public void onGrantOrUpgradeDefaultRuntimePermissions(@NonNull Runnable callback) { AsyncTask.THREAD_POOL_EXECUTOR.execute(() -> { AsyncTask.execute(() -> { onGrantOrUpgradeDefaultRuntimePermissions(); callback.run(); }); Loading Loading
res/layout/request_role_view.xml +6 −2 Original line number Diff line number Diff line Loading @@ -16,12 +16,16 @@ ~ limitations under the License. --> <FrameLayout <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" style="@style/RequestRoleView"> <ListView android:id="@+id/list" style="@style/RequestRoleViewListView" /> <CheckBox android:id="@+id/dont_ask_again" android:text="@string/request_role_dont_ask_again" style="@style/RequestRoleViewCheckbox" /> </FrameLayout> </LinearLayout>
res/values/overlayable.xml +1 −0 Original line number Diff line number Diff line Loading @@ -164,6 +164,7 @@ <!-- START REQUEST ROLE DIALOG VIEW --> <item type="style" name="RequestRoleView" /> <item type="style" name="RequestRoleViewListView" /> <item type="style" name="RequestRoleViewCheckbox" /> <!-- END REQUEST ROLE DIALOG VIEW --> Loading
res/values/styles.xml +15 −4 Original line number Diff line number Diff line Loading @@ -711,15 +711,26 @@ <style name="RequestRoleView"> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">wrap_content</item> <item name="android:paddingStart">?android:dialogPreferredPadding</item> <item name="android:paddingEnd">?android:dialogPreferredPadding</item> <item name="android:clipChildren">false</item> <item name="android:clipToPadding">false</item> <!-- @android:dimen/dialog_title_divider_material --> <item name="android:paddingTop">8dp</item> <item name="android:orientation">vertical</item> </style> <style name="RequestRoleViewListView"> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">0dp</item> <item name="android:layout_weight">1</item> <item name="android:cacheColorHint">@null</item> <item name="android:divider">?android:listDividerAlertDialog</item> <item name="android:overScrollMode">ifContentScrolls</item> <item name="android:scrollIndicators">top|bottom</item> </style> <style name="RequestRoleViewCheckbox"> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">wrap_content</item> <item name="android:layout_marginStart">?android:dialogPreferredPadding</item> <item name="android:layout_marginEnd">?android:dialogPreferredPadding</item> <item name="android:minHeight">?android:listPreferredItemHeightSmall</item> <item name="android:paddingStart">16dp</item> <item name="android:textAppearance">@style/android:TextAppearance.Material.Subhead</item> Loading
res/values/themes.xml +3 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,7 @@ <style name="RequestRole" parent="android:Theme.DeviceDefault.Settings"> <item name="android:colorBackgroundCacheHint">@null</item> <item name="android:navigationBarColor">@android:color/transparent</item> <item name="android:navigationBarDividerColor">@null</item> <item name="android:statusBarColor">@android:color/transparent</item> <item name="android:windowActionBar">false</item> <item name="android:windowAnimationStyle">@null</item> Loading @@ -62,6 +63,8 @@ <item name="android:windowContentOverlay">@null</item> <item name="android:windowDisablePreview">true</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowLightNavigationBar">false</item> <item name="android:windowLightStatusBar">false</item> <item name="android:windowNoTitle">true</item> </style> Loading
src/com/android/packageinstaller/permission/service/PermissionControllerServiceImpl.java +8 −10 Original line number Diff line number Diff line Loading @@ -67,9 +67,8 @@ import java.util.function.IntConsumer; /** * Calls from the system into the permission controller. * * All methods are called async beside the backup related method. For these we force to use the * async-task single thread executor so that multiple parallel backups don't override the delayed * the backup state racily. * All reading methods are called async, and all writing method are called on the AsyncTask single * thread executor so that multiple writes won't override each other concurrently. */ public final class PermissionControllerServiceImpl extends PermissionControllerService { private static final String LOG_TAG = PermissionControllerServiceImpl.class.getSimpleName(); Loading Loading @@ -210,8 +209,8 @@ public final class PermissionControllerServiceImpl extends PermissionControllerS public void onRevokeRuntimePermissions(@NonNull Map<String, List<String>> request, boolean doDryRun, int reason, @NonNull String callerPackageName, @NonNull Consumer<Map<String, List<String>>> callback) { AsyncTask.THREAD_POOL_EXECUTOR.execute(() -> callback.accept( onRevokeRuntimePermissions(request, doDryRun, reason, callerPackageName))); AsyncTask.execute(() -> callback.accept(onRevokeRuntimePermissions(request, doDryRun, reason, callerPackageName))); } private @NonNull Map<String, List<String>> onRevokeRuntimePermissions( Loading Loading @@ -403,7 +402,7 @@ public final class PermissionControllerServiceImpl extends PermissionControllerS @Override public void onRevokeRuntimePermission(@NonNull String packageName, @NonNull String permissionName, @NonNull Runnable callback) { AsyncTask.THREAD_POOL_EXECUTOR.execute(() -> { AsyncTask.execute(() -> { onRevokeRuntimePermission(packageName, permissionName); callback.run(); }); Loading Loading @@ -503,9 +502,8 @@ public final class PermissionControllerServiceImpl extends PermissionControllerS public void onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String callerPackageName, @NonNull String packageName, @NonNull String unexpandedPermission, int grantState, @NonNull Consumer<Boolean> callback) { AsyncTask.THREAD_POOL_EXECUTOR.execute(() -> callback.accept( onSetRuntimePermissionGrantStateByDeviceAdmin(callerPackageName, packageName, unexpandedPermission, grantState))); AsyncTask.execute(() -> callback.accept(onSetRuntimePermissionGrantStateByDeviceAdmin( callerPackageName, packageName, unexpandedPermission, grantState))); } private boolean onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String callerPackageName, Loading Loading @@ -568,7 +566,7 @@ public final class PermissionControllerServiceImpl extends PermissionControllerS @Override public void onGrantOrUpgradeDefaultRuntimePermissions(@NonNull Runnable callback) { AsyncTask.THREAD_POOL_EXECUTOR.execute(() -> { AsyncTask.execute(() -> { onGrantOrUpgradeDefaultRuntimePermissions(); callback.run(); }); Loading