summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Songchun Fan <schfan@google.com> 2021-05-24 20:53:39 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2021-05-24 20:53:39 +0000
commit83ba729895573eeedf5f5409c77ebd5775b91dfa (patch)
tree9909793567540cc3f99220efd85eb2cff14049c4
parent36f031398e3114017044fa25ea34ea4dec0ff5a6 (diff)
parentafbee7d5716cbe2dd5985c968df03ed8bef4fbe2 (diff)
[permissions-ui] use new footer for unused apps am: 0b003aac73 am: afbee7d571
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Permission/+/14647654 Change-Id: Ia5418d092e6b78658b83d569bc7d0565142612be
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/ManagePermissionsFragment.java6
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/ManageStandardPermissionsFragment.java46
2 files changed, 30 insertions, 22 deletions
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 47f4a4c56..05073997b 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/ManagePermissionsFragment.java
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/ManagePermissionsFragment.java
@@ -166,12 +166,6 @@ abstract class ManagePermissionsFragment extends PermissionsFrameFragment
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 b3a13d9d0..179ae394b 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/ManageStandardPermissionsFragment.java
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/ManageStandardPermissionsFragment.java
@@ -25,10 +25,14 @@ import static com.android.permissioncontroller.permission.ui.handheld.UtilsKt.pr
import android.app.Application;
import android.content.Intent;
import android.os.Bundle;
+import android.text.SpannableStringBuilder;
+import android.text.Spanned;
+import android.text.style.ClickableSpan;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
+import android.view.View;
import androidx.lifecycle.ViewModelProvider;
import androidx.preference.Preference;
@@ -39,6 +43,7 @@ import com.android.permissioncontroller.permission.ui.ManagePermissionsActivity;
import com.android.permissioncontroller.permission.ui.UnusedAppsFragment;
import com.android.permissioncontroller.permission.ui.model.ManageStandardPermissionsViewModel;
import com.android.permissioncontroller.permission.utils.Utils;
+import com.android.settingslib.widget.FooterPreference;
/**
* Fragment that allows the user to manage standard permissions.
@@ -161,25 +166,34 @@ public final class ManageStandardPermissionsFragment extends ManagePermissionsFr
Integer numAutoRevoked = mViewModel.getNumAutoRevoked().getValue();
- Preference autoRevokePreference = screen.findPreference(AUTO_REVOKE_KEY);
+ FooterPreference autoRevokePreference = screen.findPreference(AUTO_REVOKE_KEY);
if (numAutoRevoked != null && numAutoRevoked != 0) {
if (autoRevokePreference == null) {
- autoRevokePreference = new FixedSizeIconPreference(
- getPreferenceManager().getContext(), true, true);
- autoRevokePreference.setOrder(-1);
- autoRevokePreference.setKey(AUTO_REVOKE_KEY);
- autoRevokePreference.setSingleLineTitle(false);
+ 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.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;
- });
-
screen.addPreference(autoRevokePreference);
}
} else if (numAutoRevoked != null && autoRevokePreference != null) {