diff options
author | Jeff Sharkey <jsharkey@android.com> | 2011-09-08 18:57:17 -0700 |
---|---|---|
committer | Jeff Sharkey <jsharkey@android.com> | 2011-09-08 19:02:31 -0700 |
commit | 5d70679c02a57416eac46581d7242e2382e4b973 (patch) | |
tree | 637855a2c71b46b765d7b58c383b27d0c9b657ff /src/com/android/settings/DataUsageSummary.java | |
parent | 9b9db3f966c86befa424b497266cb3493ac24977 (diff) | |
download | packages_apps_settings-5d70679c02a57416eac46581d7242e2382e4b973.zip packages_apps_settings-5d70679c02a57416eac46581d7242e2382e4b973.tar.gz packages_apps_settings-5d70679c02a57416eac46581d7242e2382e4b973.tar.bz2 |
Larger touch targets, snap to persisted value.
Extend ListView content to screen edges, and use InsetBoundsDrawable
to draw separator and divider with expected padding. Sweep touch
targets are now much larger.
Snap sweep to persisted value, and fix NFE when parsing label value.
Bug: 5274249
Bug: 5262865
Bug: 5242857
Change-Id: Ifa0f3e622767d5b4dc85a73d6340207e6038a429
Diffstat (limited to 'src/com/android/settings/DataUsageSummary.java')
-rw-r--r-- | src/com/android/settings/DataUsageSummary.java | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java index 87ce772..417c525 100644 --- a/src/com/android/settings/DataUsageSummary.java +++ b/src/com/android/settings/DataUsageSummary.java @@ -64,7 +64,9 @@ import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.res.Resources; import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; +import android.graphics.drawable.InsetDrawable; import android.net.ConnectivityManager; import android.net.INetworkPolicyManager; import android.net.INetworkStatsService; @@ -120,6 +122,8 @@ import android.widget.TabWidget; import android.widget.TextView; import com.android.internal.telephony.Phone; +import com.android.settings.drawable.InsetBoundsDrawable; +import com.android.settings.drawable.DrawableWrapper; import com.android.settings.net.NetworkPolicyEditor; import com.android.settings.net.SummaryForAllUidLoader; import com.android.settings.widget.ChartDataUsageView; @@ -275,7 +279,12 @@ public class DataUsageSummary extends Fragment { mListView = (ListView) view.findViewById(android.R.id.list); // adjust padding around tabwidget as needed - prepareCustomPreferencesList(container, view, mListView); + prepareCustomPreferencesList(container, view, mListView, true); + + // inset selector and divider drawables + final int insetSide = view.getResources().getDimensionPixelOffset( + com.android.internal.R.dimen.preference_fragment_padding_side); + insetListViewDrawables(mListView, insetSide); mTabHost.setup(); mTabHost.setOnTabChangedListener(mTabListener); @@ -1391,7 +1400,7 @@ public class DataUsageSummary extends Fragment { public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { convertView = LayoutInflater.from(parent.getContext()).inflate( - R.layout.app_percentage_item, parent, false); + R.layout.data_usage_item, parent, false); } final Context context = parent.getContext(); @@ -1913,6 +1922,24 @@ public class DataUsageSummary extends Fragment { } /** + * Inset both selector and divider {@link Drawable} on the given + * {@link ListView} by the requested dimensions. + */ + private static void insetListViewDrawables(ListView view, int insetSide) { + final Drawable selector = view.getSelector(); + final Drawable divider = view.getDivider(); + + // fully unregister these drawables so callbacks can be maintained after + // wrapping below. + final Drawable stub = new ColorDrawable(Color.TRANSPARENT); + view.setSelector(stub); + view.setDivider(stub); + + view.setSelector(new InsetBoundsDrawable(selector, insetSide)); + view.setDivider(new InsetBoundsDrawable(divider, insetSide)); + } + + /** * Set {@link android.R.id#title} for a preference view inflated with * {@link #inflatePreference(LayoutInflater, ViewGroup, View)}. */ |