summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author fayey <fayey@google.com> 2023-01-24 18:54:24 +0000
committer fayey <fayey@google.com> 2023-01-26 01:45:46 +0000
commitddbe1e5d9d9c49b8e3bc9ad500103e419d88d91e (patch)
treeb723668661a98cec7ce22c441d9b275b6d41d19a
parentaad0d20d94bf24f8d34d9b26b1f7ecffb514e32a (diff)
Remove the setting_sections on permission rational dialog which should not be shown
when the dialog is clicked through the permission rational container on the app permission view page. Test: atest CtsPermission3TestCases Bug: 264301290 Change-Id: I877ba71e2e570031bb9f2a5d88340fdc69cffd17
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/v34/PermissionRationaleViewHandlerImpl.kt7
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt2
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/v34/PermissionRationaleActivity.java12
-rw-r--r--SafetyLabel/java/com/android/permission/safetylabel/SafetyLabel.java1
4 files changed, 19 insertions, 3 deletions
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/v34/PermissionRationaleViewHandlerImpl.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/v34/PermissionRationaleViewHandlerImpl.kt
index 6e8916b65..e5752a34c 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/v34/PermissionRationaleViewHandlerImpl.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/v34/PermissionRationaleViewHandlerImpl.kt
@@ -46,7 +46,8 @@ import com.android.permissioncontroller.permission.ui.v34.PermissionRationaleVie
@RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
class PermissionRationaleViewHandlerImpl(
private val mActivity: Activity,
- private val resultListener: PermissionRationaleViewHandler.ResultListener
+ private val resultListener: PermissionRationaleViewHandler.ResultListener,
+ private val shouldShowSettingsSection: Boolean
) : PermissionRationaleViewHandler, OnClickListener {
private var groupName: String? = null
@@ -158,6 +159,10 @@ class PermissionRationaleViewHandlerImpl(
settingsMessageView = rootView.findViewById(R.id.settings_message)
settingsMessageView!!.movementMethod = LinkMovementMethod.getInstance()
+ if (!shouldShowSettingsSection) {
+ val settingsSectionView: ViewGroup? = rootView.findViewById(R.id.settings_section)
+ settingsSectionView?.visibility = View.GONE
+ }
backButton = rootView.findViewById<Button>(R.id.back_button)!!.apply {
setOnClickListener(this@PermissionRationaleViewHandlerImpl)
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt
index 40ef3d701..2649a65bf 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt
@@ -77,6 +77,7 @@ import com.android.permissioncontroller.permission.ui.model.AppPermissionViewMod
import com.android.permissioncontroller.permission.ui.model.AppPermissionViewModel.ButtonType.LOCATION_ACCURACY
import com.android.permissioncontroller.permission.ui.model.AppPermissionViewModel.ButtonType.SELECT_PHOTOS
import com.android.permissioncontroller.permission.ui.v34.PermissionRationaleActivity
+import com.android.permissioncontroller.permission.ui.v34.PermissionRationaleActivity.EXTRA_SHOULD_SHOW_SETTINGS_SECTION
import com.android.permissioncontroller.permission.utils.KotlinUtils
import com.android.permissioncontroller.permission.utils.KotlinUtils.getDefaultPrecision
import com.android.permissioncontroller.permission.utils.KotlinUtils.isLocationAccuracyEnabled
@@ -606,6 +607,7 @@ class AppPermissionViewModel(
putExtra(Intent.EXTRA_PACKAGE_NAME, packageName)
putExtra(Intent.EXTRA_PERMISSION_GROUP_NAME, groupName)
putExtra(Constants.EXTRA_SESSION_ID, sessionId)
+ putExtra(EXTRA_SHOULD_SHOW_SETTINGS_SECTION, false)
}
activity.startActivity(intent)
}
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/v34/PermissionRationaleActivity.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/v34/PermissionRationaleActivity.java
index fa769a437..d2ad0cae6 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/v34/PermissionRationaleActivity.java
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/v34/PermissionRationaleActivity.java
@@ -113,6 +113,13 @@ public class PermissionRationaleActivity extends SettingsActivity implements
*/
public static final String PERMISSION_NAME_ANNOTATION_ID = "permission_name";
+ /**
+ * key to the boolean if to show settings_section on the permission rationale dialog provide via
+ * intent extra
+ */
+ public static final String EXTRA_SHOULD_SHOW_SETTINGS_SECTION =
+ "com.android.permissioncontroller.extra.SHOULD_SHOW_SETTINGS_SECTION";
+
/** Unique Id of a request. Inherited from GrantPermissionDialog if provide via intent extra */
private long mSessionId;
/** Package that shall have permissions granted */
@@ -175,7 +182,10 @@ public class PermissionRationaleActivity extends SettingsActivity implements
|| DeviceUtils.isAuto(this)) {
finishAfterTransition();
} else {
- mViewHandler = new PermissionRationaleViewHandlerImpl(this, this);
+ var shouldShowSettingsSection =
+ getIntent().getBooleanExtra(EXTRA_SHOULD_SHOW_SETTINGS_SECTION, true);
+ mViewHandler = new PermissionRationaleViewHandlerImpl(this, this,
+ shouldShowSettingsSection);
}
PermissionRationaleViewModelFactory factory = new PermissionRationaleViewModelFactory(
diff --git a/SafetyLabel/java/com/android/permission/safetylabel/SafetyLabel.java b/SafetyLabel/java/com/android/permission/safetylabel/SafetyLabel.java
index f6b3c8f31..3eb8767b9 100644
--- a/SafetyLabel/java/com/android/permission/safetylabel/SafetyLabel.java
+++ b/SafetyLabel/java/com/android/permission/safetylabel/SafetyLabel.java
@@ -66,7 +66,6 @@ public class SafetyLabel {
if (dataLabel == null) {
return null;
}
-
return new SafetyLabel(dataLabel);
}