Merge "[permissions-ui] revert footer changes for unused apps for R" into sc-dev am: 8227941d17
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Permission/+/14910111
Change-Id: I0620b292385c337264036ec4b31c727e3f1bd845
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/ManagePermissionsFragment.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/ManagePermissionsFragment.java
index 0507399..47f4a4c 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/ManagePermissionsFragment.java
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/ManagePermissionsFragment.java
@@ -166,6 +166,12 @@
super(context);
}
+ FixedSizeIconPreference(Context context, boolean dividerAbove, boolean dividerBelow) {
+ super(context);
+ mShowDividerAbove = dividerAbove;
+ mShowDividerBelow = dividerBelow;
+ }
+
@Override
public void onBindViewHolder(PreferenceViewHolder holder) {
super.onBindViewHolder(holder);
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/ManageStandardPermissionsFragment.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/ManageStandardPermissionsFragment.java
index 179ae39..2333d12 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/ManageStandardPermissionsFragment.java
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/ManageStandardPermissionsFragment.java
@@ -38,6 +38,7 @@
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
+import com.android.modules.utils.build.SdkLevel;
import com.android.permissioncontroller.R;
import com.android.permissioncontroller.permission.ui.ManagePermissionsActivity;
import com.android.permissioncontroller.permission.ui.UnusedAppsFragment;
@@ -166,34 +167,10 @@
Integer numAutoRevoked = mViewModel.getNumAutoRevoked().getValue();
- FooterPreference autoRevokePreference = screen.findPreference(AUTO_REVOKE_KEY);
+ Preference autoRevokePreference = screen.findPreference(AUTO_REVOKE_KEY);
if (numAutoRevoked != null && numAutoRevoked != 0) {
if (autoRevokePreference == null) {
- FooterPreference.Builder autoRevokePreferenceBuilder =
- new FooterPreference.Builder(getContext());
- autoRevokePreferenceBuilder.setKey(AUTO_REVOKE_KEY);
- // Description contains a "Learn more" link
- CharSequence descriptionText = getContext().getText(
- R.string.auto_revoked_apps_page_summary);
- SpannableStringBuilder sb = new SpannableStringBuilder();
- sb.append(descriptionText);
- sb.append("\n\n");
- CharSequence learnMoreText = getContext().getText(
- R.string.permission_usage_access_dialog_learn_more);
- ClickableSpan link = new ClickableSpan() {
- @Override
- public void onClick(View view) {
- mViewModel.showAutoRevoke(ManageStandardPermissionsFragment.this,
- UnusedAppsFragment.createArgs(
- getArguments().getLong(EXTRA_SESSION_ID,
- INVALID_SESSION_ID)));
-
- }
- };
- sb.append(learnMoreText, link, Spanned.SPAN_INCLUSIVE_INCLUSIVE);
- autoRevokePreferenceBuilder.setTitle(sb);
- autoRevokePreference = autoRevokePreferenceBuilder.build();
- autoRevokePreference.setIcon(R.drawable.ic_info_outline_accent);
+ autoRevokePreference = createAutoRevokeFooterPreference();
screen.addPreference(autoRevokePreference);
}
} else if (numAutoRevoked != null && autoRevokePreference != null) {
@@ -203,6 +180,54 @@
return screen;
}
+ private Preference createAutoRevokeFooterPreference() {
+ Preference autoRevokePreference;
+ if (SdkLevel.isAtLeastS()) {
+ FooterPreference.Builder autoRevokePreferenceBuilder =
+ new FooterPreference.Builder(getContext());
+ autoRevokePreferenceBuilder.setKey(AUTO_REVOKE_KEY);
+ // Description contains a "Learn more" link
+ CharSequence descriptionText = getContext().getText(
+ R.string.auto_revoked_apps_page_summary);
+ SpannableStringBuilder sb = new SpannableStringBuilder();
+ sb.append(descriptionText);
+ sb.append("\n\n");
+ CharSequence learnMoreText = getContext().getText(
+ R.string.permission_usage_access_dialog_learn_more);
+ ClickableSpan link = new ClickableSpan() {
+ @Override
+ public void onClick(View view) {
+ mViewModel.showAutoRevoke(ManageStandardPermissionsFragment.this,
+ UnusedAppsFragment.createArgs(
+ getArguments().getLong(EXTRA_SESSION_ID,
+ INVALID_SESSION_ID)));
+
+ }
+ };
+ sb.append(learnMoreText, link, Spanned.SPAN_INCLUSIVE_INCLUSIVE);
+ autoRevokePreferenceBuilder.setTitle(sb);
+ autoRevokePreference = autoRevokePreferenceBuilder.build();
+ autoRevokePreference.setIcon(R.drawable.ic_info_outline_accent);
+ } else {
+ autoRevokePreference = new FixedSizeIconPreference(
+ getPreferenceManager().getContext(), true, true);
+ autoRevokePreference.setOrder(-1);
+ autoRevokePreference.setKey(AUTO_REVOKE_KEY);
+ autoRevokePreference.setSingleLineTitle(false);
+ autoRevokePreference.setIcon(R.drawable.ic_info_outline_accent);
+ autoRevokePreference.setTitle(
+ R.string.auto_revoke_permission_notification_title);
+ autoRevokePreference.setSummary(
+ R.string.auto_revoke_setting_subtitle);
+ autoRevokePreference.setOnPreferenceClickListener(preference -> {
+ mViewModel.showAutoRevoke(this, UnusedAppsFragment.createArgs(
+ getArguments().getLong(EXTRA_SESSION_ID, INVALID_SESSION_ID)));
+ return true;
+ });
+ }
+ return autoRevokePreference;
+ }
+
@Override
public void showPermissionApps(String permissionGroupName) {
mViewModel.showPermissionApps(this, PermissionAppsFragment.createArgs(