Loading res/xml/billing_cycle.xml +4 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,10 @@ android:key="billing_cycle" android:title="@string/billing_cycle" /> <SwitchPreference android:key="set_data_warning" android:title="@string/set_data_warning"/> <Preference android:key="data_warning" android:title="@string/data_warning" /> Loading src/com/android/settings/SummaryPreference.java +18 −4 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ public class SummaryPreference extends Preference { private int mLeft, mMiddle, mRight; private boolean mColorsSet = false; private boolean mChartEnabled = true; private float mLeftRatio, mMiddleRatio, mRightRatio; private String mStartLabel; private String mEndLabel; Loading @@ -43,6 +44,13 @@ public class SummaryPreference extends Preference { setLayoutResource(R.layout.settings_summary_preference); } public void setChartEnabled(boolean enabled) { if (mChartEnabled != enabled) { mChartEnabled = enabled; notifyChanged(); } } public void setAmount(String amount) { mAmount = amount; if (mAmount != null && mUnits != null) { Loading Loading @@ -85,12 +93,18 @@ public class SummaryPreference extends Preference { super.onBindViewHolder(holder); LinearColorBar colorBar = (LinearColorBar) holder.itemView.findViewById(R.id.color_bar); if (mChartEnabled) { colorBar.setVisibility(View.VISIBLE); colorBar.setRatios(mLeftRatio, mMiddleRatio, mRightRatio); if (mColorsSet) { colorBar.setColors(mLeft, mMiddle, mRight); } } else { colorBar.setVisibility(View.GONE); } if (!TextUtils.isEmpty(mStartLabel) || !TextUtils.isEmpty(mEndLabel)) { if (mChartEnabled && (!TextUtils.isEmpty(mStartLabel) || !TextUtils.isEmpty(mEndLabel))) { holder.findViewById(R.id.label_bar).setVisibility(View.VISIBLE); ((TextView) holder.findViewById(android.R.id.text1)).setText(mStartLabel); ((TextView) holder.findViewById(android.R.id.text2)).setText(mEndLabel); Loading src/com/android/settings/datausage/BillingCycleSettings.java +29 −5 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import android.view.View; import android.widget.EditText; import android.widget.NumberPicker; import android.widget.Spinner; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settingslib.NetworkPolicyEditor; Loading @@ -55,6 +56,7 @@ public class BillingCycleSettings extends DataUsageBase implements private static final String TAG_WARNING_EDITOR = "warningEditor"; private static final String KEY_BILLING_CYCLE = "billing_cycle"; private static final String KEY_SET_DATA_WARNING = "set_data_warning"; private static final String KEY_DATA_WARNING = "data_warning"; private static final String KEY_SET_DATA_LIMIT = "set_data_limit"; private static final String KEY_DATA_LIMIT = "data_limit"; Loading @@ -62,6 +64,7 @@ public class BillingCycleSettings extends DataUsageBase implements private NetworkTemplate mNetworkTemplate; private Preference mBillingCycle; private Preference mDataWarning; private SwitchPreference mEnableDataWarning; private SwitchPreference mEnableDataLimit; private Preference mDataLimit; private DataUsageController mDataUsageController; Loading @@ -77,6 +80,8 @@ public class BillingCycleSettings extends DataUsageBase implements addPreferencesFromResource(R.xml.billing_cycle); mBillingCycle = findPreference(KEY_BILLING_CYCLE); mEnableDataWarning = (SwitchPreference) findPreference(KEY_SET_DATA_WARNING); mEnableDataWarning.setOnPreferenceChangeListener(this); mDataWarning = findPreference(KEY_DATA_WARNING); mEnableDataLimit = (SwitchPreference) findPreference(KEY_SET_DATA_LIMIT); mEnableDataLimit.setOnPreferenceChangeListener(this); Loading @@ -93,10 +98,15 @@ public class BillingCycleSettings extends DataUsageBase implements NetworkPolicy policy = services.mPolicyEditor.getPolicy(mNetworkTemplate); mBillingCycle.setSummary(getString(R.string.billing_cycle_summary, policy != null ? policy.cycleDay : 1)); mDataWarning.setSummary(Formatter.formatFileSize(getContext(), policy != null ? policy.warningBytes : mDataUsageController.getDefaultWarningLevel())); if (policy != null && policy.warningBytes != WARNING_DISABLED) { mDataWarning.setSummary(Formatter.formatFileSize(getContext(), policy.warningBytes)); mDataWarning.setEnabled(true); mEnableDataWarning.setChecked(true); } else { mDataWarning.setSummary(null); mDataWarning.setEnabled(false); mEnableDataWarning.setChecked(false); } if (policy != null && policy.limitBytes != LIMIT_DISABLED) { mDataLimit.setSummary(Formatter.formatFileSize(getContext(), policy.limitBytes)); mDataLimit.setEnabled(true); Loading Loading @@ -133,6 +143,14 @@ public class BillingCycleSettings extends DataUsageBase implements setPolicyLimitBytes(LIMIT_DISABLED); } return true; } else if (mEnableDataWarning == preference) { boolean enabled = (Boolean) newValue; if (enabled) { setPolicyWarningBytes(mDataUsageController.getDefaultWarningLevel()); } else { setPolicyWarningBytes(WARNING_DISABLED); } return true; } return false; } Loading @@ -148,6 +166,12 @@ public class BillingCycleSettings extends DataUsageBase implements updatePrefs(); } private void setPolicyWarningBytes(long warningBytes) { if (LOGD) Log.d(TAG, "setPolicyWarningBytes()"); services.mPolicyEditor.setPolicyWarningBytes(mNetworkTemplate, warningBytes); updatePrefs(); } @Override public NetworkPolicyEditor getNetworkPolicyEditor() { return services.mPolicyEditor; Loading src/com/android/settings/datausage/DataUsageSummary.java +13 −5 Original line number Diff line number Diff line Loading @@ -246,16 +246,24 @@ public class DataUsageSummary extends DataUsageBase implements Indexable, DataUs formatTitle(context, getString(mDataUsageTemplate), info.usageLevel)); long limit = mDataInfoController.getSummaryLimit(info); mSummaryPreference.setSummary(info.period); if (limit <= 0) { mSummaryPreference.setChartEnabled(false); } else { mSummaryPreference.setChartEnabled(true); mSummaryPreference.setLabels(Formatter.formatFileSize(context, 0), Formatter.formatFileSize(context, limit)); mSummaryPreference.setRatios(info.usageLevel / (float) limit, 0, (limit - info.usageLevel) / (float) limit); } if (mLimitPreference != null) { } if (mLimitPreference != null && (info.warningLevel > 0 || info.limitLevel > 0)) { String warning = Formatter.formatFileSize(context, info.warningLevel); String limit = Formatter.formatFileSize(context, info.limitLevel); mLimitPreference.setSummary(getString(info.limitLevel <= 0 ? R.string.cell_warning_only : R.string.cell_warning_and_limit, warning, limit)); } else if (mLimitPreference != null) { mLimitPreference.setSummary(null); } PreferenceScreen screen = getPreferenceScreen(); Loading Loading
res/xml/billing_cycle.xml +4 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,10 @@ android:key="billing_cycle" android:title="@string/billing_cycle" /> <SwitchPreference android:key="set_data_warning" android:title="@string/set_data_warning"/> <Preference android:key="data_warning" android:title="@string/data_warning" /> Loading
src/com/android/settings/SummaryPreference.java +18 −4 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ public class SummaryPreference extends Preference { private int mLeft, mMiddle, mRight; private boolean mColorsSet = false; private boolean mChartEnabled = true; private float mLeftRatio, mMiddleRatio, mRightRatio; private String mStartLabel; private String mEndLabel; Loading @@ -43,6 +44,13 @@ public class SummaryPreference extends Preference { setLayoutResource(R.layout.settings_summary_preference); } public void setChartEnabled(boolean enabled) { if (mChartEnabled != enabled) { mChartEnabled = enabled; notifyChanged(); } } public void setAmount(String amount) { mAmount = amount; if (mAmount != null && mUnits != null) { Loading Loading @@ -85,12 +93,18 @@ public class SummaryPreference extends Preference { super.onBindViewHolder(holder); LinearColorBar colorBar = (LinearColorBar) holder.itemView.findViewById(R.id.color_bar); if (mChartEnabled) { colorBar.setVisibility(View.VISIBLE); colorBar.setRatios(mLeftRatio, mMiddleRatio, mRightRatio); if (mColorsSet) { colorBar.setColors(mLeft, mMiddle, mRight); } } else { colorBar.setVisibility(View.GONE); } if (!TextUtils.isEmpty(mStartLabel) || !TextUtils.isEmpty(mEndLabel)) { if (mChartEnabled && (!TextUtils.isEmpty(mStartLabel) || !TextUtils.isEmpty(mEndLabel))) { holder.findViewById(R.id.label_bar).setVisibility(View.VISIBLE); ((TextView) holder.findViewById(android.R.id.text1)).setText(mStartLabel); ((TextView) holder.findViewById(android.R.id.text2)).setText(mEndLabel); Loading
src/com/android/settings/datausage/BillingCycleSettings.java +29 −5 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import android.view.View; import android.widget.EditText; import android.widget.NumberPicker; import android.widget.Spinner; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settingslib.NetworkPolicyEditor; Loading @@ -55,6 +56,7 @@ public class BillingCycleSettings extends DataUsageBase implements private static final String TAG_WARNING_EDITOR = "warningEditor"; private static final String KEY_BILLING_CYCLE = "billing_cycle"; private static final String KEY_SET_DATA_WARNING = "set_data_warning"; private static final String KEY_DATA_WARNING = "data_warning"; private static final String KEY_SET_DATA_LIMIT = "set_data_limit"; private static final String KEY_DATA_LIMIT = "data_limit"; Loading @@ -62,6 +64,7 @@ public class BillingCycleSettings extends DataUsageBase implements private NetworkTemplate mNetworkTemplate; private Preference mBillingCycle; private Preference mDataWarning; private SwitchPreference mEnableDataWarning; private SwitchPreference mEnableDataLimit; private Preference mDataLimit; private DataUsageController mDataUsageController; Loading @@ -77,6 +80,8 @@ public class BillingCycleSettings extends DataUsageBase implements addPreferencesFromResource(R.xml.billing_cycle); mBillingCycle = findPreference(KEY_BILLING_CYCLE); mEnableDataWarning = (SwitchPreference) findPreference(KEY_SET_DATA_WARNING); mEnableDataWarning.setOnPreferenceChangeListener(this); mDataWarning = findPreference(KEY_DATA_WARNING); mEnableDataLimit = (SwitchPreference) findPreference(KEY_SET_DATA_LIMIT); mEnableDataLimit.setOnPreferenceChangeListener(this); Loading @@ -93,10 +98,15 @@ public class BillingCycleSettings extends DataUsageBase implements NetworkPolicy policy = services.mPolicyEditor.getPolicy(mNetworkTemplate); mBillingCycle.setSummary(getString(R.string.billing_cycle_summary, policy != null ? policy.cycleDay : 1)); mDataWarning.setSummary(Formatter.formatFileSize(getContext(), policy != null ? policy.warningBytes : mDataUsageController.getDefaultWarningLevel())); if (policy != null && policy.warningBytes != WARNING_DISABLED) { mDataWarning.setSummary(Formatter.formatFileSize(getContext(), policy.warningBytes)); mDataWarning.setEnabled(true); mEnableDataWarning.setChecked(true); } else { mDataWarning.setSummary(null); mDataWarning.setEnabled(false); mEnableDataWarning.setChecked(false); } if (policy != null && policy.limitBytes != LIMIT_DISABLED) { mDataLimit.setSummary(Formatter.formatFileSize(getContext(), policy.limitBytes)); mDataLimit.setEnabled(true); Loading Loading @@ -133,6 +143,14 @@ public class BillingCycleSettings extends DataUsageBase implements setPolicyLimitBytes(LIMIT_DISABLED); } return true; } else if (mEnableDataWarning == preference) { boolean enabled = (Boolean) newValue; if (enabled) { setPolicyWarningBytes(mDataUsageController.getDefaultWarningLevel()); } else { setPolicyWarningBytes(WARNING_DISABLED); } return true; } return false; } Loading @@ -148,6 +166,12 @@ public class BillingCycleSettings extends DataUsageBase implements updatePrefs(); } private void setPolicyWarningBytes(long warningBytes) { if (LOGD) Log.d(TAG, "setPolicyWarningBytes()"); services.mPolicyEditor.setPolicyWarningBytes(mNetworkTemplate, warningBytes); updatePrefs(); } @Override public NetworkPolicyEditor getNetworkPolicyEditor() { return services.mPolicyEditor; Loading
src/com/android/settings/datausage/DataUsageSummary.java +13 −5 Original line number Diff line number Diff line Loading @@ -246,16 +246,24 @@ public class DataUsageSummary extends DataUsageBase implements Indexable, DataUs formatTitle(context, getString(mDataUsageTemplate), info.usageLevel)); long limit = mDataInfoController.getSummaryLimit(info); mSummaryPreference.setSummary(info.period); if (limit <= 0) { mSummaryPreference.setChartEnabled(false); } else { mSummaryPreference.setChartEnabled(true); mSummaryPreference.setLabels(Formatter.formatFileSize(context, 0), Formatter.formatFileSize(context, limit)); mSummaryPreference.setRatios(info.usageLevel / (float) limit, 0, (limit - info.usageLevel) / (float) limit); } if (mLimitPreference != null) { } if (mLimitPreference != null && (info.warningLevel > 0 || info.limitLevel > 0)) { String warning = Formatter.formatFileSize(context, info.warningLevel); String limit = Formatter.formatFileSize(context, info.limitLevel); mLimitPreference.setSummary(getString(info.limitLevel <= 0 ? R.string.cell_warning_only : R.string.cell_warning_and_limit, warning, limit)); } else if (mLimitPreference != null) { mLimitPreference.setSummary(null); } PreferenceScreen screen = getPreferenceScreen(); Loading