summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/DataUsageSummary.java
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2011-09-08 18:57:17 -0700
committerJeff Sharkey <jsharkey@android.com>2011-09-08 19:02:31 -0700
commit5d70679c02a57416eac46581d7242e2382e4b973 (patch)
tree637855a2c71b46b765d7b58c383b27d0c9b657ff /src/com/android/settings/DataUsageSummary.java
parent9b9db3f966c86befa424b497266cb3493ac24977 (diff)
downloadpackages_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.java31
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)}.
*/