Update data usage UX
Update the UX and dig the data usage screen out of a huge whole of technical debt. Switch every to use Preferences rather than standard layouts and ListViews. Split data usage into several fragments, all separated. DataUsageSummary: - Shows a summary of the 'default' usage at the top, this will be the default sim on phones, or wifi if it has it, or ethernet as last attempt to show something. - Also has individual categories for each network type that has data, cell, wifi, and ethernet. Maybe should look into bt though? DataUsageList: - Takes a NetworkTemplate as an input, and can only be reached from the network specific categories in DataUsageSummary - Shows a graph of current usage for that network and links to app detail page for any app. - Has gear link to quick get to billing cycle screen if available BillingCycleSettings: - Just a screen with the cycle day and warning/limits separated out from the data usage. AppDataUsage: - App specific data usage details - May need some UX iteration given lack of clarity in the spec Bug: 22459566 Change-Id: I0222d8d7ea7b75a9775207a6026ebbdcce8f5e46
This commit is contained in:
@@ -67,6 +67,7 @@ import android.telephony.TelephonyManager;
|
||||
import android.text.Spannable;
|
||||
import android.text.SpannableString;
|
||||
import android.text.TextUtils;
|
||||
import android.text.format.DateUtils;
|
||||
import android.text.style.TtsSpan;
|
||||
import android.util.ArraySet;
|
||||
import android.util.Log;
|
||||
@@ -81,6 +82,7 @@ import android.view.animation.AnimationUtils;
|
||||
import android.widget.ListView;
|
||||
import android.widget.TabWidget;
|
||||
import com.android.internal.util.UserIcons;
|
||||
import com.android.settings.datausage.DataUsageList;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
@@ -91,6 +93,8 @@ import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
import static android.content.Intent.EXTRA_USER;
|
||||
import static android.text.format.DateUtils.FORMAT_ABBREV_MONTH;
|
||||
import static android.text.format.DateUtils.FORMAT_SHOW_DATE;
|
||||
|
||||
public final class Utils extends com.android.settingslib.Utils {
|
||||
|
||||
@@ -978,5 +982,19 @@ public final class Utils extends com.android.settingslib.Utils {
|
||||
context.getTheme().resolveAttribute(attr, value, true);
|
||||
return value.resourceId;
|
||||
}
|
||||
|
||||
private static final StringBuilder sBuilder = new StringBuilder(50);
|
||||
private static final java.util.Formatter sFormatter = new java.util.Formatter(
|
||||
sBuilder, Locale.getDefault());
|
||||
|
||||
public static String formatDateRange(Context context, long start, long end) {
|
||||
final int flags = FORMAT_SHOW_DATE | FORMAT_ABBREV_MONTH;
|
||||
|
||||
synchronized (sBuilder) {
|
||||
sBuilder.setLength(0);
|
||||
return DateUtils.formatDateRange(context, sFormatter, start, end, flags, null)
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user