Snap for 6680390 from 84e3c2e964aa62db57a285ad1a88e132b9e6d022 to rvc-release

Change-Id: Ia6c8e22249d39152c638f2ec2949af0367cdb771
diff --git a/res/layout-television/grant_permissions.xml b/res/layout-television/grant_permissions.xml
index 14bbca3..bda9071 100644
--- a/res/layout-television/grant_permissions.xml
+++ b/res/layout-television/grant_permissions.xml
@@ -16,6 +16,7 @@
 
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/grant_dialog"
     android:orientation="horizontal"
     android:paddingLeft="@dimen/action_dialog_padding_left"
     android:paddingRight="@dimen/action_dialog_padding_right"
diff --git a/src/com/android/permissioncontroller/permission/ui/legacy/AppPermissionActivity.java b/src/com/android/permissioncontroller/permission/ui/legacy/AppPermissionActivity.java
index f43eb25..fa1ce2f 100644
--- a/src/com/android/permissioncontroller/permission/ui/legacy/AppPermissionActivity.java
+++ b/src/com/android/permissioncontroller/permission/ui/legacy/AppPermissionActivity.java
@@ -37,6 +37,7 @@
 import com.android.permissioncontroller.permission.ui.LocationProviderInterceptDialog;
 import com.android.permissioncontroller.permission.ui.ManagePermissionsActivity;
 import com.android.permissioncontroller.permission.ui.auto.AutoAppPermissionFragment;
+import com.android.permissioncontroller.permission.ui.television.AppPermissionFragment;
 import com.android.permissioncontroller.permission.utils.LocationUtils;
 import com.android.permissioncontroller.permission.utils.Utils;
 
@@ -150,6 +151,14 @@
 
             getSupportFragmentManager().beginTransaction().replace(android.R.id.content,
                     androidXFragment).commit();
+        } else if (DeviceUtils.isTelevision(this)) {
+            Fragment androidXFragment = new AppPermissionFragment();
+            androidXFragment.setArguments(
+                    AppPermissionFragment.createArgs(
+                            packageName, permissionName, groupName, userHandle, null, 0, null));
+            getSupportFragmentManager().beginTransaction()
+                    .replace(android.R.id.content, androidXFragment)
+                    .commit();
         } else {
             startActivity(new Intent(getIntent()).setAction(ACTION_MANAGE_APP_PERMISSION));
             finish();
diff --git a/src/com/android/permissioncontroller/permission/ui/television/AppPermissionFragment.java b/src/com/android/permissioncontroller/permission/ui/television/AppPermissionFragment.java
index 8fcc05b..b2d59d7 100644
--- a/src/com/android/permissioncontroller/permission/ui/television/AppPermissionFragment.java
+++ b/src/com/android/permissioncontroller/permission/ui/television/AppPermissionFragment.java
@@ -386,7 +386,6 @@
                 .putExtra(EXTRA_RESULT_PERMISSION_INTERACTED, mPermGroupName)
                 .putExtra(EXTRA_RESULT_PERMISSION_RESULT, result);
         getActivity().setResult(Activity.RESULT_OK, intent);
-        getActivity().onBackPressed();
     }
 
     /**
@@ -418,7 +417,8 @@
         ConfirmDialog defaultDenyDialog = new ConfirmDialog();
         defaultDenyDialog.setCancelable(true);
         defaultDenyDialog.setArguments(args);
-        defaultDenyDialog.show(getChildFragmentManager().beginTransaction(),
+        defaultDenyDialog.setTargetFragment(this, 0);
+        defaultDenyDialog.show(getFragmentManager(),
                 ConfirmDialog.class.getName());
     }
 
@@ -440,7 +440,7 @@
 
         @Override
         public Dialog onCreateDialog(Bundle savedInstanceState) {
-            AppPermissionFragment fragment = (AppPermissionFragment) getParentFragment();
+            AppPermissionFragment fragment = (AppPermissionFragment) getTargetFragment();
             boolean isGrantFileAccess = getArguments().getSerializable(CHANGE_REQUEST)
                     == ChangeRequest.GRANT_All_FILE_ACCESS;
             int positiveButtonStringResId = R.string.grant_dialog_button_deny_anyway;
@@ -469,7 +469,7 @@
 
         @Override
         public void onCancel(DialogInterface dialog) {
-            AppPermissionFragment fragment = (AppPermissionFragment) getParentFragment();
+            AppPermissionFragment fragment = (AppPermissionFragment) getTargetFragment();
             fragment.setRadioButtonsState(fragment.mViewModel.getButtonStateLiveData().getValue());
         }
     }