Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6fb413e7 authored by Xin Li's avatar Xin Li
Browse files

Merge qt-r1-dev-plus-aosp-without-vendor (5817612) into stage-aosp-master

Bug: 135460123
Change-Id: If28acff1d7e3877415aeb9c2c8458e7cbe8b6121
Merged-In: I8106a8daecbdf2ec83430c417d4dd7e2307439f8
parents ef6b15ab 1f34e64c
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -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>
+1 −0
Original line number Diff line number Diff line
@@ -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 -->

+15 −4
Original line number Diff line number Diff line
@@ -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>
+3 −0
Original line number Diff line number Diff line
@@ -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>
@@ -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>

+8 −10
Original line number Diff line number Diff line
@@ -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();
@@ -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(
@@ -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();
        });
@@ -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,
@@ -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