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()); } }