Loading src/com/android/settings/DataUsageSummary.java +11 −3 Original line number Diff line number Diff line Loading @@ -819,14 +819,21 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable View title = null; if (detail.detailLabels != null) { for (CharSequence label : detail.detailLabels) { final int n = detail.detailLabels.length; for (int i = 0; i < n; ++i) { CharSequence label = detail.detailLabels[i]; CharSequence contentDescription = detail.detailContentDescriptions[i]; title = inflater.inflate(R.layout.data_usage_app_title, mAppTitles, false); ((TextView) title.findViewById(R.id.app_title)).setText(label); TextView appTitle = (TextView) title.findViewById(R.id.app_title); appTitle.setText(label); appTitle.setContentDescription(contentDescription); mAppTitles.addView(title); } } else { title = inflater.inflate(R.layout.data_usage_app_title, mAppTitles, false); ((TextView) title.findViewById(R.id.app_title)).setText(detail.label); TextView appTitle = (TextView) title.findViewById(R.id.app_title); appTitle.setText(detail.label); appTitle.setContentDescription(detail.contentDescription); mAppTitles.addView(title); } Loading Loading @@ -2222,6 +2229,7 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable if (detail != null) { icon.setImageDrawable(detail.icon); title.setText(detail.label); title.setContentDescription(detail.contentDescription); } else { icon.setImageDrawable(null); title.setText(null); Loading src/com/android/settings/fuelgauge/PowerGaugePreference.java +9 −1 Original line number Diff line number Diff line Loading @@ -34,12 +34,15 @@ public class PowerGaugePreference extends Preference { private BatteryEntry mInfo; private int mProgress; private CharSequence mProgressText; private final String mContentDescription; public PowerGaugePreference(Context context, Drawable icon, BatteryEntry info) { public PowerGaugePreference(Context context, Drawable icon, String contentDescription, BatteryEntry info) { super(context); setLayoutResource(R.layout.preference_app_percentage); setIcon(icon != null ? icon : new ColorDrawable(0)); mInfo = info; mContentDescription = contentDescription; } public void setPercent(double percentOfMax, double percentOfTotal) { Loading @@ -62,5 +65,10 @@ public class PowerGaugePreference extends Preference { final TextView text1 = (TextView) view.findViewById(android.R.id.text1); text1.setText(mProgressText); if (mContentDescription != null) { final TextView titleView = (TextView) view.findViewById(android.R.id.title); titleView.setContentDescription(mContentDescription); } } } src/com/android/settings/fuelgauge/PowerUsageSummary.java +8 −1 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.graphics.drawable.Drawable; import android.os.BatteryStats; import android.os.Bundle; import android.os.Handler; Loading Loading @@ -294,8 +295,14 @@ public class PowerUsageSummary extends PreferenceFragment { } final UserHandle userHandle = new UserHandle(UserHandle.getUserId(sipper.getUid())); final BatteryEntry entry = new BatteryEntry(getActivity(), mHandler, mUm, sipper); final Drawable badgedIcon = mUm.getBadgedDrawableForUser(entry.getIcon(), userHandle); // TODO: type of this will be replaced by CharSequence (see // https://b.corp.google.com/issue?id=16401636 ) final String contentDescription = mUm.getBadgedLabelForUser(entry.getLabel(), userHandle); final PowerGaugePreference pref = new PowerGaugePreference(getActivity(), mUm.getBadgedDrawableForUser(entry.getIcon(), userHandle), entry); badgedIcon, contentDescription, entry); final double percentOfMax = (sipper.value * 100) / mStatsHelper.getMaxPower(); sipper.percent = percentOfTotal; Loading src/com/android/settings/location/RecentLocationApps.java +36 −6 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.IPackageManager; import android.content.res.Resources; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Process; Loading @@ -30,6 +31,8 @@ import android.os.UserHandle; import android.os.UserManager; import android.preference.Preference; import android.util.Log; import android.view.View; import android.widget.TextView; import com.android.settings.R; import com.android.settings.SettingsActivity; Loading Loading @@ -74,12 +77,35 @@ public class RecentLocationApps { } } private Preference createRecentLocationEntry( /** * Subclass of {@link Preference} to intercept views and allow content description to be set on * them for accessibility purposes. */ private static class AccessiblePreference extends Preference { public String mContentDescription; public AccessiblePreference(Context context, String contentDescription) { super(context); mContentDescription = contentDescription; } @Override protected void onBindView(View view) { super.onBindView(view); if (mContentDescription != null) { final TextView titleView = (TextView) view.findViewById(android.R.id.title); titleView.setContentDescription(mContentDescription); } } } private AccessiblePreference createRecentLocationEntry( Drawable icon, CharSequence label, boolean isHighBattery, String contentDescription, Preference.OnPreferenceClickListener listener) { Preference pref = new Preference(mActivity); AccessiblePreference pref = new AccessiblePreference(mActivity, contentDescription); pref.setIcon(icon); pref.setTitle(label); if (isHighBattery) { Loading Loading @@ -172,16 +198,20 @@ public class RecentLocationApps { int uid = ops.getUid(); int userId = UserHandle.getUserId(uid); Preference preference = null; AccessiblePreference preference = null; try { IPackageManager ipm = AppGlobals.getPackageManager(); ApplicationInfo appInfo = ipm.getApplicationInfo(packageName, PackageManager.GET_META_DATA, userId); Resources res = mActivity.getResources(); Drawable icon = um.getBadgedDrawableForUser( mPackageManager.getApplicationIcon(appInfo), new UserHandle(userId)); final UserHandle userHandle = new UserHandle(userId); Drawable appIcon = mPackageManager.getApplicationIcon(appInfo); Drawable icon = um.getBadgedDrawableForUser(appIcon, userHandle); CharSequence appLabel = mPackageManager.getApplicationLabel(appInfo); String badgedAppLabel = um.getBadgedLabelForUser(appLabel.toString(), userHandle); preference = createRecentLocationEntry(icon, mPackageManager.getApplicationLabel(appInfo), highBattery, appLabel, highBattery, badgedAppLabel, new PackageEntryClickedListener(packageName)); } catch (RemoteException e) { Log.w(TAG, "Error while retrieving application info", e); Loading src/com/android/settings/net/UidDetail.java +2 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ import android.graphics.drawable.Drawable; public class UidDetail { public CharSequence label; public CharSequence contentDescription; public CharSequence[] detailLabels; public CharSequence[] detailContentDescriptions; public Drawable icon; } Loading
src/com/android/settings/DataUsageSummary.java +11 −3 Original line number Diff line number Diff line Loading @@ -819,14 +819,21 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable View title = null; if (detail.detailLabels != null) { for (CharSequence label : detail.detailLabels) { final int n = detail.detailLabels.length; for (int i = 0; i < n; ++i) { CharSequence label = detail.detailLabels[i]; CharSequence contentDescription = detail.detailContentDescriptions[i]; title = inflater.inflate(R.layout.data_usage_app_title, mAppTitles, false); ((TextView) title.findViewById(R.id.app_title)).setText(label); TextView appTitle = (TextView) title.findViewById(R.id.app_title); appTitle.setText(label); appTitle.setContentDescription(contentDescription); mAppTitles.addView(title); } } else { title = inflater.inflate(R.layout.data_usage_app_title, mAppTitles, false); ((TextView) title.findViewById(R.id.app_title)).setText(detail.label); TextView appTitle = (TextView) title.findViewById(R.id.app_title); appTitle.setText(detail.label); appTitle.setContentDescription(detail.contentDescription); mAppTitles.addView(title); } Loading Loading @@ -2222,6 +2229,7 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable if (detail != null) { icon.setImageDrawable(detail.icon); title.setText(detail.label); title.setContentDescription(detail.contentDescription); } else { icon.setImageDrawable(null); title.setText(null); Loading
src/com/android/settings/fuelgauge/PowerGaugePreference.java +9 −1 Original line number Diff line number Diff line Loading @@ -34,12 +34,15 @@ public class PowerGaugePreference extends Preference { private BatteryEntry mInfo; private int mProgress; private CharSequence mProgressText; private final String mContentDescription; public PowerGaugePreference(Context context, Drawable icon, BatteryEntry info) { public PowerGaugePreference(Context context, Drawable icon, String contentDescription, BatteryEntry info) { super(context); setLayoutResource(R.layout.preference_app_percentage); setIcon(icon != null ? icon : new ColorDrawable(0)); mInfo = info; mContentDescription = contentDescription; } public void setPercent(double percentOfMax, double percentOfTotal) { Loading @@ -62,5 +65,10 @@ public class PowerGaugePreference extends Preference { final TextView text1 = (TextView) view.findViewById(android.R.id.text1); text1.setText(mProgressText); if (mContentDescription != null) { final TextView titleView = (TextView) view.findViewById(android.R.id.title); titleView.setContentDescription(mContentDescription); } } }
src/com/android/settings/fuelgauge/PowerUsageSummary.java +8 −1 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.graphics.drawable.Drawable; import android.os.BatteryStats; import android.os.Bundle; import android.os.Handler; Loading Loading @@ -294,8 +295,14 @@ public class PowerUsageSummary extends PreferenceFragment { } final UserHandle userHandle = new UserHandle(UserHandle.getUserId(sipper.getUid())); final BatteryEntry entry = new BatteryEntry(getActivity(), mHandler, mUm, sipper); final Drawable badgedIcon = mUm.getBadgedDrawableForUser(entry.getIcon(), userHandle); // TODO: type of this will be replaced by CharSequence (see // https://b.corp.google.com/issue?id=16401636 ) final String contentDescription = mUm.getBadgedLabelForUser(entry.getLabel(), userHandle); final PowerGaugePreference pref = new PowerGaugePreference(getActivity(), mUm.getBadgedDrawableForUser(entry.getIcon(), userHandle), entry); badgedIcon, contentDescription, entry); final double percentOfMax = (sipper.value * 100) / mStatsHelper.getMaxPower(); sipper.percent = percentOfTotal; Loading
src/com/android/settings/location/RecentLocationApps.java +36 −6 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.IPackageManager; import android.content.res.Resources; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Process; Loading @@ -30,6 +31,8 @@ import android.os.UserHandle; import android.os.UserManager; import android.preference.Preference; import android.util.Log; import android.view.View; import android.widget.TextView; import com.android.settings.R; import com.android.settings.SettingsActivity; Loading Loading @@ -74,12 +77,35 @@ public class RecentLocationApps { } } private Preference createRecentLocationEntry( /** * Subclass of {@link Preference} to intercept views and allow content description to be set on * them for accessibility purposes. */ private static class AccessiblePreference extends Preference { public String mContentDescription; public AccessiblePreference(Context context, String contentDescription) { super(context); mContentDescription = contentDescription; } @Override protected void onBindView(View view) { super.onBindView(view); if (mContentDescription != null) { final TextView titleView = (TextView) view.findViewById(android.R.id.title); titleView.setContentDescription(mContentDescription); } } } private AccessiblePreference createRecentLocationEntry( Drawable icon, CharSequence label, boolean isHighBattery, String contentDescription, Preference.OnPreferenceClickListener listener) { Preference pref = new Preference(mActivity); AccessiblePreference pref = new AccessiblePreference(mActivity, contentDescription); pref.setIcon(icon); pref.setTitle(label); if (isHighBattery) { Loading Loading @@ -172,16 +198,20 @@ public class RecentLocationApps { int uid = ops.getUid(); int userId = UserHandle.getUserId(uid); Preference preference = null; AccessiblePreference preference = null; try { IPackageManager ipm = AppGlobals.getPackageManager(); ApplicationInfo appInfo = ipm.getApplicationInfo(packageName, PackageManager.GET_META_DATA, userId); Resources res = mActivity.getResources(); Drawable icon = um.getBadgedDrawableForUser( mPackageManager.getApplicationIcon(appInfo), new UserHandle(userId)); final UserHandle userHandle = new UserHandle(userId); Drawable appIcon = mPackageManager.getApplicationIcon(appInfo); Drawable icon = um.getBadgedDrawableForUser(appIcon, userHandle); CharSequence appLabel = mPackageManager.getApplicationLabel(appInfo); String badgedAppLabel = um.getBadgedLabelForUser(appLabel.toString(), userHandle); preference = createRecentLocationEntry(icon, mPackageManager.getApplicationLabel(appInfo), highBattery, appLabel, highBattery, badgedAppLabel, new PackageEntryClickedListener(packageName)); } catch (RemoteException e) { Log.w(TAG, "Error while retrieving application info", e); Loading
src/com/android/settings/net/UidDetail.java +2 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ import android.graphics.drawable.Drawable; public class UidDetail { public CharSequence label; public CharSequence contentDescription; public CharSequence[] detailLabels; public CharSequence[] detailContentDescriptions; public Drawable icon; }