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

Commit 325ed016 authored by Robin Lee's avatar Robin Lee
Browse files

Fix TV support for "Allow" vs "Allow Always"

Bug: 158098457
Bug: 158103822
Bug: 158105311
Bug: 159524612
Test: atest android.permission3.cts.PermissionTapjackingTest
Test: atest android.os.cts.AutoRevokeTest
Change-Id: Ia6a3783c0347d4e218692e50d56efe5f68a6feae
parent e1b040e8
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_always_button"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/grant_dialog_button_allow_always"
            style="@style/GrantPermissions.ActionItem" />

        <Button
            android:id="@+id/permission_allow_foreground_only_button"
            android:layout_width="match_parent"
+13 −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_BUTTON;
import static com.android.permissioncontroller.permission.ui.GrantPermissionsActivity.ALLOW_ALWAYS_BUTTON;
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;
@@ -39,6 +41,7 @@ public final class GrantPermissionsViewHandlerImpl implements GrantPermissionsVi
    private ImageView mIconView;
    private TextView mCurrentGroupView;
    private Button mAllowButton;
    private Button mAllowAlwaysButton;
    private Button mAllowForegroundOnlyButton;
    private Button mAllowOneTimeButton;
    private Button mSoftDenyButton;
@@ -63,6 +66,7 @@ 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);
        mAllowAlwaysButton = (Button) mRootView.findViewById(R.id.permission_allow_always_button);
        mAllowForegroundOnlyButton =
                (Button) mRootView.findViewById(R.id.permission_allow_foreground_only_button);
        mAllowOneTimeButton =
@@ -72,6 +76,8 @@ public final class GrantPermissionsViewHandlerImpl implements GrantPermissionsVi
                R.id.permission_deny_dont_ask_again_button);

        mAllowButton.setOnClickListener(this);
        mAllowAlwaysButton.setOnClickListener(this);
        mAllowForegroundOnlyButton.setOnClickListener(this);
        mAllowOneTimeButton.setOnClickListener(this);
        mSoftDenyButton.setOnClickListener(this);
        mHardDenyButton.setOnClickListener(this);
@@ -102,6 +108,10 @@ public final class GrantPermissionsViewHandlerImpl implements GrantPermissionsVi
            mIconView.setImageIcon(icon);
        }

        mAllowButton.setVisibility(
                buttonVisibilities[ALLOW_BUTTON] ? View.VISIBLE : View.GONE);
        mAllowAlwaysButton.setVisibility(
                buttonVisibilities[ALLOW_ALWAYS_BUTTON] ? View.VISIBLE : View.GONE);
        mAllowForegroundOnlyButton.setVisibility(
                buttonVisibilities[ALLOW_FOREGROUND_BUTTON] ? View.VISIBLE : View.GONE);
        mAllowOneTimeButton.setVisibility(
@@ -133,6 +143,9 @@ public final class GrantPermissionsViewHandlerImpl implements GrantPermissionsVi
            case R.id.permission_allow_button:
                mResultListener.onPermissionGrantResult(mGroupName, GRANTED_ALWAYS);
                break;
            case R.id.permission_allow_always_button:
                mResultListener.onPermissionGrantResult(mGroupName, GRANTED_ALWAYS);
                break;
            case R.id.permission_allow_foreground_only_button:
                mResultListener.onPermissionGrantResult(mGroupName, GRANTED_FOREGROUND_ONLY);
                break;