diff options
author | Joel Galenson <jgalenson@google.com> | 2019-03-12 11:23:03 -0700 |
---|---|---|
committer | Joel Galenson <jgalenson@google.com> | 2019-03-12 12:21:11 -0700 |
commit | a4e2e7c685b7eb4918e60ecbd40a2bccb7b3631f (patch) | |
tree | 26b11af984b93b04f127cb8feaa5d2a599178d57 /src/com/android | |
parent | 94f927f5eb46ab22e61276e65c056a06f4d4e6ac (diff) | |
download | android_packages_apps_PackageInstaller-a4e2e7c685b7eb4918e60ecbd40a2bccb7b3631f.tar.gz android_packages_apps_PackageInstaller-a4e2e7c685b7eb4918e60ecbd40a2bccb7b3631f.tar.bz2 android_packages_apps_PackageInstaller-a4e2e7c685b7eb4918e60ecbd40a2bccb7b3631f.zip |
Remove the app action buttons from permissions screens.
Fixes: 128423893
Test: View screens.
Change-Id: Id395afe455d9106e60aed6b3c378ff64fd55cf1f
Diffstat (limited to 'src/com/android')
-rw-r--r-- | src/com/android/packageinstaller/permission/ui/handheld/AppPermissionFragment.java | 6 | ||||
-rw-r--r-- | src/com/android/packageinstaller/permission/ui/handheld/AppPermissionUsageFragment.java | 4 | ||||
-rw-r--r-- | src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java | 17 | ||||
-rw-r--r-- | src/com/android/packageinstaller/permission/ui/handheld/PermissionUsageFragment.java | 4 | ||||
-rw-r--r-- | src/com/android/packageinstaller/permission/ui/handheld/SettingsWithLargeHeader.java (renamed from src/com/android/packageinstaller/permission/ui/handheld/SettingsWithButtonHeader.java) | 53 |
5 files changed, 30 insertions, 54 deletions
diff --git a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionFragment.java index 5bfc5dcd..7fe7d037 100644 --- a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionFragment.java +++ b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionFragment.java @@ -71,7 +71,7 @@ import java.util.List; * * <p>Allows the user to control whether the app is granted the permission. */ -public class AppPermissionFragment extends SettingsWithButtonHeader { +public class AppPermissionFragment extends SettingsWithLargeHeader { private static final String LOG_TAG = "AppPermissionFragment"; @Retention(SOURCE) @@ -178,8 +178,8 @@ public class AppPermissionFragment extends SettingsWithButtonHeader { } String appLabel = Utils.getFullAppLabel(mGroup.getApp().applicationInfo, context); - setHeader(getAppIcon(), appLabel, true); - updateHeader(root.requireViewById(R.id.button_header), true); + setHeader(getAppIcon(), appLabel, null); + updateHeader(root.requireViewById(R.id.button_header)); ((TextView) root.requireViewById(R.id.permission_message)).setText( context.getString(R.string.app_permission_header, mGroup.getLabel(), appLabel)); diff --git a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionUsageFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionUsageFragment.java index b0d5c296..923b6f90 100644 --- a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionUsageFragment.java +++ b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionUsageFragment.java @@ -57,7 +57,7 @@ import java.util.List; * <p>Shows a list of app usage of permission groups, each of which links to * AppPermissionsFragment. */ -public class AppPermissionUsageFragment extends SettingsWithButtonHeader implements +public class AppPermissionUsageFragment extends SettingsWithLargeHeader implements OnItemSelectedListener { private static final String LOG_TAG = "AppPermissionUsageFragment"; @@ -154,7 +154,7 @@ public class AppPermissionUsageFragment extends SettingsWithButtonHeader impleme return; } Drawable icon = Utils.getBadgedIcon(getActivity(), mAppInfo); - setHeader(icon, Utils.getFullAppLabel(mAppInfo, getContext()), true); + setHeader(icon, Utils.getFullAppLabel(mAppInfo, getContext()), null); } @Override diff --git a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java index 4c6f52e6..bb7eff79 100644 --- a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java +++ b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java @@ -24,8 +24,10 @@ import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.graphics.drawable.Drawable; +import android.net.Uri; import android.os.Bundle; import android.os.UserHandle; +import android.provider.Settings; import android.util.Log; import android.view.Menu; import android.view.MenuInflater; @@ -54,7 +56,7 @@ import java.util.ArrayList; * * <p>Shows the list of permission groups the app has requested at one permission for. */ -public final class AppPermissionsFragment extends SettingsWithButtonHeader { +public final class AppPermissionsFragment extends SettingsWithLargeHeader { private static final String LOG_TAG = "ManagePermsFragment"; @@ -165,12 +167,17 @@ public final class AppPermissionsFragment extends SettingsWithButtonHeader { .commit(); } - private static void bindUi(SettingsWithButtonHeader fragment, PackageInfo packageInfo) { + private static void bindUi(SettingsWithLargeHeader fragment, PackageInfo packageInfo) { Activity activity = fragment.getActivity(); ApplicationInfo appInfo = packageInfo.applicationInfo; + Intent infoIntent = null; + if (!activity.getIntent().getBooleanExtra(EXTRA_HIDE_INFO_BUTTON, false)) { + infoIntent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS) + .setData(Uri.fromParts("package", packageInfo.packageName, null)); + } Drawable icon = Utils.getBadgedIcon(activity, appInfo); - fragment.setHeader(icon, Utils.getFullAppLabel(appInfo, activity), true); + fragment.setHeader(icon, Utils.getFullAppLabel(appInfo, activity), infoIntent); ActionBar ab = activity.getActionBar(); if (ab != null) { @@ -323,14 +330,14 @@ public final class AppPermissionsFragment extends SettingsWithButtonHeader { /** * Class that shows additional permissions. */ - public static class AdditionalPermissionsFragment extends SettingsWithButtonHeader { + public static class AdditionalPermissionsFragment extends SettingsWithLargeHeader { AppPermissionsFragment mOuterFragment; @Override public void onCreate(Bundle savedInstanceState) { mOuterFragment = (AppPermissionsFragment) getTargetFragment(); super.onCreate(savedInstanceState); - setHeader(mOuterFragment.mIcon, mOuterFragment.mLabel, true); + setHeader(mOuterFragment.mIcon, mOuterFragment.mLabel, null); setHasOptionsMenu(true); setPreferenceScreen(mOuterFragment.mExtraScreen); } diff --git a/src/com/android/packageinstaller/permission/ui/handheld/PermissionUsageFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/PermissionUsageFragment.java index 5b77abdb..b3929d7d 100644 --- a/src/com/android/packageinstaller/permission/ui/handheld/PermissionUsageFragment.java +++ b/src/com/android/packageinstaller/permission/ui/handheld/PermissionUsageFragment.java @@ -76,7 +76,7 @@ import java.util.Set; * <p>Shows a filterable list of app usage of permission groups, each of which links to * AppPermissionsFragment. */ -public class PermissionUsageFragment extends SettingsWithButtonHeader implements +public class PermissionUsageFragment extends SettingsWithLargeHeader implements PermissionUsages.PermissionsUsagesChangeCallback, OnItemSelectedListener { private static final String LOG_TAG = "PermissionUsageFragment"; @@ -429,7 +429,7 @@ public class PermissionUsageFragment extends SettingsWithButtonHeader implements setHeader(Utils.applyTint(context, context.getDrawable(group.getIconResId()), android.R.attr.colorControlNormal), context.getString(R.string.app_permission_usage_filter_label, - group.getLabel()), false); + group.getLabel()), null); setSummary(context.getString(R.string.app_permission_usage_remove_filter), v -> { mFilterGroup = null; // We already loaded all data, so don't reload diff --git a/src/com/android/packageinstaller/permission/ui/handheld/SettingsWithButtonHeader.java b/src/com/android/packageinstaller/permission/ui/handheld/SettingsWithLargeHeader.java index d7b08755..85bffd9e 100644 --- a/src/com/android/packageinstaller/permission/ui/handheld/SettingsWithButtonHeader.java +++ b/src/com/android/packageinstaller/permission/ui/handheld/SettingsWithLargeHeader.java @@ -16,16 +16,15 @@ package com.android.packageinstaller.permission.ui.handheld; +import android.content.Intent; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; -import androidx.annotation.DrawableRes; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -33,11 +32,12 @@ import com.android.packageinstaller.DeviceUtils; import com.android.permissioncontroller.R; /** - * A class that contains a header with a row of buttons. + * A class that contains a header. */ -public abstract class SettingsWithButtonHeader extends PermissionsFrameFragment { +public abstract class SettingsWithLargeHeader extends PermissionsFrameFragment { private View mHeader; + protected Intent mInfoIntent; protected Drawable mIcon; protected CharSequence mLabel; @@ -47,7 +47,7 @@ public abstract class SettingsWithButtonHeader extends PermissionsFrameFragment ViewGroup root = (ViewGroup) super.onCreateView(inflater, container, savedInstanceState); if (!DeviceUtils.isTelevision(getContext())) { - mHeader = inflater.inflate(R.layout.button_header, root, false); + mHeader = inflater.inflate(R.layout.header_large, root, false); getPreferencesContainer().addView(mHeader, 0); } @@ -59,22 +59,22 @@ public abstract class SettingsWithButtonHeader extends PermissionsFrameFragment * * @param icon the icon * @param label the label - * @param showButtons whether to show the app action buttons + * @param infoIntent the intent to show on click */ public void setHeader(@NonNull Drawable icon, @NonNull CharSequence label, - boolean showButtons) { + Intent infoIntent) { mIcon = icon; mLabel = label; - updateHeader(mHeader, showButtons); + mInfoIntent = infoIntent; + updateHeader(mHeader); } /** - * Updates the header to use the correct icon, title, and buttons. + * Updates the header to use the correct icon and title. * * @param header the View that contains the components. - * @param showButtons whether to show the app action buttons */ - protected void updateHeader(@NonNull View header, boolean showButtons) { + protected void updateHeader(@NonNull View header) { if (header != null) { header.setVisibility(View.VISIBLE); @@ -87,32 +87,6 @@ public abstract class SettingsWithButtonHeader extends PermissionsFrameFragment header.requireViewById(R.id.entity_header_summary).setVisibility(View.GONE); header.requireViewById(R.id.entity_header_second_summary).setVisibility(View.GONE); header.requireViewById(R.id.header_link).setVisibility(View.GONE); - - if (showButtons) { - Button button1 = header.requireViewById(R.id.button1); - button1.setText(R.string.launch_app); - setButtonIcon(button1, R.drawable.ic_open); - button1.setVisibility(View.VISIBLE); - button1.setEnabled(false); - - Button button2 = header.requireViewById(R.id.button2); - button2.setText(R.string.uninstall_app); - setButtonIcon(button2, R.drawable.ic_delete); - button2.setVisibility(View.VISIBLE); - button2.setEnabled(false); - - Button button3 = header.requireViewById(R.id.button3); - button3.setText(R.string.force_stop_app); - setButtonIcon(button3, R.drawable.ic_force_stop); - button3.setVisibility(View.VISIBLE); - button3.setEnabled(false); - } else { - header.requireViewById(R.id.button1).setVisibility(View.GONE); - header.requireViewById(R.id.button2).setVisibility(View.GONE); - header.requireViewById(R.id.button3).setVisibility(View.GONE); - } - - header.requireViewById(R.id.button4).setVisibility(View.GONE); } } @@ -137,9 +111,4 @@ public abstract class SettingsWithButtonHeader extends PermissionsFrameFragment summaryView.setOnClickListener(listener); } } - - private void setButtonIcon(@NonNull Button button, @DrawableRes int iconResId) { - button.setCompoundDrawablesWithIntrinsicBounds(null, getContext().getDrawable(iconResId), - null, null); - } } |