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

Commit 8e1e1de9 authored by Zhen Sun's avatar Zhen Sun
Browse files

Add TV UI support for foreground only permission

Bug: 158105311
Bug: 158103822
Test: (1) the button shows up for corresponding permissions. (2) cts
test are no longer failing due to the missing button:
atest CtsPermission3TestCases:android.permission3.cts.PermissionTapjackingTest#testTapjackGrantDialog
[1/1 PASSED]
atest CtsPermission3TestCases:android.permission3.cts.PermissionTest30
[1/2 PASSED]

Change-Id: Iddb187d9e5655480e34e99e2c23b2f2556ea8fc4
parent 72caa638
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -73,6 +73,13 @@
            android:text="@string/grant_dialog_button_allow"
            style="@style/GrantPermissions.ActionItem" />

        <Button
            android:id="@+id/permission_allow_foreground_only_button"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/grant_dialog_button_allow_foreground"
            style="@style/GrantPermissions.ActionItem" />

        <Button
            android:id="@+id/permission_allow_one_time_button"
            android:layout_width="match_parent"
+9 −0
Original line number Diff line number Diff line
package com.android.permissioncontroller.permission.ui.television;

import static com.android.permissioncontroller.permission.ui.GrantPermissionsActivity.ALLOW_FOREGROUND_BUTTON;
import static com.android.permissioncontroller.permission.ui.GrantPermissionsActivity.ALLOW_ONE_TIME_BUTTON;
import static com.android.permissioncontroller.permission.ui.GrantPermissionsActivity.DENY_AND_DONT_ASK_AGAIN_BUTTON;

@@ -38,6 +39,7 @@ public final class GrantPermissionsViewHandlerImpl implements GrantPermissionsVi
    private ImageView mIconView;
    private TextView mCurrentGroupView;
    private Button mAllowButton;
    private Button mAllowForegroundOnlyButton;
    private Button mAllowOneTimeButton;
    private Button mSoftDenyButton;
    private Button mHardDenyButton;
@@ -61,6 +63,8 @@ public final class GrantPermissionsViewHandlerImpl implements GrantPermissionsVi
        mIconView = (ImageView) mRootView.findViewById(R.id.permission_icon);
        mCurrentGroupView = (TextView) mRootView.findViewById(R.id.current_page_text);
        mAllowButton = (Button) mRootView.findViewById(R.id.permission_allow_button);
        mAllowForegroundOnlyButton =
                (Button) mRootView.findViewById(R.id.permission_allow_foreground_only_button);
        mAllowOneTimeButton =
                (Button) mRootView.findViewById(R.id.permission_allow_one_time_button);
        mSoftDenyButton = (Button) mRootView.findViewById(R.id.permission_deny_button);
@@ -98,6 +102,8 @@ public final class GrantPermissionsViewHandlerImpl implements GrantPermissionsVi
            mIconView.setImageIcon(icon);
        }

        mAllowForegroundOnlyButton.setVisibility(
                buttonVisibilities[ALLOW_FOREGROUND_BUTTON] ? View.VISIBLE : View.GONE);
        mAllowOneTimeButton.setVisibility(
                buttonVisibilities[ALLOW_ONE_TIME_BUTTON] ? View.VISIBLE : View.GONE);
        mHardDenyButton.setVisibility(
@@ -127,6 +133,9 @@ public final class GrantPermissionsViewHandlerImpl implements GrantPermissionsVi
            case R.id.permission_allow_button:
                mResultListener.onPermissionGrantResult(mGroupName, GRANTED_ALWAYS);
                break;
            case R.id.permission_allow_foreground_only_button:
                mResultListener.onPermissionGrantResult(mGroupName, GRANTED_FOREGROUND_ONLY);
                break;
            case R.id.permission_allow_one_time_button:
                mResultListener.onPermissionGrantResult(mGroupName, GRANTED_ONE_TIME);
                break;