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:
@@ -40,14 +40,13 @@ import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.settings.AppHeader;
|
||||
import com.android.settings.CancellablePreference;
|
||||
import com.android.settings.CancellablePreference.OnCancelListener;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsPreferenceFragment;
|
||||
import com.android.settings.SummaryPreference;
|
||||
import com.android.settings.applications.ProcStatsEntry.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -87,8 +86,6 @@ public class ProcessStatsDetail extends SettingsPreferenceFragment {
|
||||
private long mTotalTime;
|
||||
private long mOnePercentTime;
|
||||
|
||||
private LinearColorBar mColorBar;
|
||||
|
||||
private double mMaxMemoryUsage;
|
||||
|
||||
private double mTotalScale;
|
||||
@@ -177,20 +174,19 @@ public class ProcessStatsDetail extends SettingsPreferenceFragment {
|
||||
mProcGroup = (PreferenceCategory) findPreference(KEY_PROCS);
|
||||
fillProcessesSection();
|
||||
|
||||
LayoutPreference headerLayout = (LayoutPreference) findPreference(KEY_DETAILS_HEADER);
|
||||
SummaryPreference summaryPreference = (SummaryPreference) findPreference(KEY_DETAILS_HEADER);
|
||||
|
||||
// TODO: Find way to share this code with ProcessStatsPreference.
|
||||
boolean statsForeground = mApp.mRunWeight > mApp.mBgWeight;
|
||||
double avgRam = (statsForeground ? mApp.mRunWeight : mApp.mBgWeight) * mWeightToRam;
|
||||
float avgRatio = (float) (avgRam / mMaxMemoryUsage);
|
||||
float remainingRatio = 1 - avgRatio;
|
||||
mColorBar = (LinearColorBar) headerLayout.findViewById(R.id.color_bar);
|
||||
Context context = getActivity();
|
||||
mColorBar.setColors( context.getColor(R.color.memory_max_use), 0,
|
||||
context.getColor(R.color.memory_remaining));
|
||||
mColorBar.setRatios(avgRatio, 0, remainingRatio);
|
||||
((TextView) headerLayout.findViewById(R.id.memory_state)).setText(
|
||||
Formatter.formatShortFileSize(getContext(), (long) avgRam));
|
||||
summaryPreference.setRatios(avgRatio, 0, remainingRatio);
|
||||
Formatter.BytesResult usedResult = Formatter.formatBytes(context.getResources(),
|
||||
(long) avgRam, Formatter.FLAG_SHORTER);
|
||||
summaryPreference.setAmount(usedResult.value);
|
||||
summaryPreference.setUnits(usedResult.units);
|
||||
|
||||
long duration = Math.max(mApp.mRunDuration, mApp.mBgDuration);
|
||||
CharSequence frequency = ProcStatsPackageEntry.getFrequency(duration
|
||||
|
Reference in New Issue
Block a user