summaryrefslogtreecommitdiffstats
path: root/src/com/android
diff options
context:
space:
mode:
authorJoel Galenson <jgalenson@google.com>2019-03-12 11:23:03 -0700
committerJoel Galenson <jgalenson@google.com>2019-03-12 12:21:11 -0700
commita4e2e7c685b7eb4918e60ecbd40a2bccb7b3631f (patch)
tree26b11af984b93b04f127cb8feaa5d2a599178d57 /src/com/android
parent94f927f5eb46ab22e61276e65c056a06f4d4e6ac (diff)
downloadandroid_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.java6
-rw-r--r--src/com/android/packageinstaller/permission/ui/handheld/AppPermissionUsageFragment.java4
-rw-r--r--src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java17
-rw-r--r--src/com/android/packageinstaller/permission/ui/handheld/PermissionUsageFragment.java4
-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);
- }
}