diff options
author | Jason Monk <jmonk@google.com> | 2015-05-19 12:54:53 -0400 |
---|---|---|
committer | Jason Monk <jmonk@google.com> | 2015-05-19 13:02:41 -0400 |
commit | 7c719ca27ff887903f8890e8181ed8e28bb6e886 (patch) | |
tree | 76cdf3bcc6b958d67d21241e685555845e7c025f /src | |
parent | fed504a8ca875d7bba8fd9f4876b7d34fdc1f319 (diff) | |
download | android_packages_apps_PackageInstaller-7c719ca27ff887903f8890e8181ed8e28bb6e886.tar.gz android_packages_apps_PackageInstaller-7c719ca27ff887903f8890e8181ed8e28bb6e886.tar.bz2 android_packages_apps_PackageInstaller-7c719ca27ff887903f8890e8181ed8e28bb6e886.zip |
Handle dark themes in permissions UI
- Settings > Apps > Advanced > Permissions
- Permission icon needed tinting
- Settings > Apps > [App] > Permissions
- Permission icon also needed tinting
- Grant permission dialog
- Needed new base theme
- App name color span needed dark color
- Progress text needed dark color
Bug: 21154903
Change-Id: I34045ac71ca87abbb4ce828435f583f53ab0d3da
Diffstat (limited to 'src')
4 files changed, 20 insertions, 4 deletions
diff --git a/src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java index 2310306a..827c806b 100644 --- a/src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java +++ b/src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java @@ -243,8 +243,10 @@ public final class AppPermissionsFragment extends SettingsWithHeader SwitchPreference preference = new SwitchPreference(activity); preference.setOnPreferenceChangeListener(this); preference.setKey(group.getName()); - preference.setIcon(Utils.loadDrawable(activity.getPackageManager(), - group.getIconPkg(), group.getIconResId())); + Drawable icon = Utils.loadDrawable(activity.getPackageManager(), + group.getIconPkg(), group.getIconResId()); + preference.setIcon(Utils.applyTint(getContext(), icon, + android.R.attr.colorControlNormal)); preference.setTitle(group.getLabel()); preference.setPersistent(false); preference.setEnabled(!group.isPolicyFixed()); diff --git a/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java b/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java index 6f824ea0..3a6644e7 100644 --- a/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java +++ b/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java @@ -156,7 +156,7 @@ public class GrantPermissionsActivity extends Activity implements // Bold/color the app name. int appLabelStart = message.toString().indexOf(appLabel.toString(), 0); int appLabelLength = appLabel.length(); - int color = getResources().getColor(R.color.grant_permissions_app_color, null); + int color = getColor(R.color.grant_permissions_app_color); message.setSpan(new ForegroundColorSpan(color), appLabelStart, appLabelStart + appLabelLength, 0); diff --git a/src/com/android/packageinstaller/permission/ui/ManagePermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/ManagePermissionsFragment.java index 5158b5e8..4437e5cf 100644 --- a/src/com/android/packageinstaller/permission/ui/ManagePermissionsFragment.java +++ b/src/com/android/packageinstaller/permission/ui/ManagePermissionsFragment.java @@ -22,12 +22,14 @@ import android.content.ActivityNotFoundException; import android.content.Intent; import android.content.res.Resources; import android.content.res.Resources.Theme; +import android.graphics.drawable.Drawable; import android.os.Bundle; import android.preference.Preference; import android.preference.Preference.OnPreferenceClickListener; import android.preference.PreferenceFragment; import android.preference.PreferenceScreen; import android.util.Log; +import android.util.TypedValue; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; @@ -161,7 +163,8 @@ public final class ManagePermissionsFragment extends PreferenceFragment Preference preference = new Preference(activity); preference.setOnPreferenceClickListener(this); preference.setKey(group.getName()); - preference.setIcon(group.getIcon()); + preference.setIcon(Utils.applyTint(getContext(), group.getIcon(), + android.R.attr.colorControlNormal)); preference.setTitle(group.getLabel()); preference.setPersistent(false); diff --git a/src/com/android/packageinstaller/permission/utils/Utils.java b/src/com/android/packageinstaller/permission/utils/Utils.java index 7abb2627..7bbe5982 100644 --- a/src/com/android/packageinstaller/permission/utils/Utils.java +++ b/src/com/android/packageinstaller/permission/utils/Utils.java @@ -17,10 +17,13 @@ package com.android.packageinstaller.permission.utils; import android.Manifest; +import android.content.Context; import android.content.pm.PackageManager; import android.content.res.Resources; +import android.content.res.Resources.Theme; import android.graphics.drawable.Drawable; import android.util.Log; +import android.util.TypedValue; public class Utils { private static final String LOG_TAG = "Utils"; @@ -56,4 +59,12 @@ public class Utils { } } } + + public static Drawable applyTint(Context context, Drawable icon, int attr) { + Theme theme = context.getTheme(); + TypedValue typedValue = new TypedValue(); + theme.resolveAttribute(attr, typedValue, true); + icon.setTint(context.getColor(typedValue.resourceId)); + return icon; + } } |