Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dc2c5ae2 authored by Jeff Sharkey's avatar Jeff Sharkey Committed by Android (Google) Code Review
Browse files

Merge "Data usage strings, sweep touches, fixes."

parents 3f1fb4f1 461842a8
Loading
Loading
Loading
Loading
+16 −16
Original line number Diff line number Diff line
@@ -58,6 +58,22 @@
        settings:fillColor="#c0ba7f3e"
        settings:fillColorSecondary="#60ba7f3e" />

    <com.android.settings.widget.ChartSweepView
        android:id="@+id/sweep_left"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        settings:sweepDrawable="@drawable/data_sweep_left"
        settings:followAxis="horizontal"
        settings:neighborMargin="5dip" />

    <com.android.settings.widget.ChartSweepView
        android:id="@+id/sweep_right"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        settings:sweepDrawable="@drawable/data_sweep_right"
        settings:followAxis="horizontal"
        settings:neighborMargin="5dip" />

    <com.android.settings.widget.ChartSweepView
        android:id="@+id/sweep_warning"
        android:layout_width="match_parent"
@@ -82,20 +98,4 @@
        settings:labelTemplate="@string/data_usage_sweep_limit"
        settings:labelColor="#c01a2c" />

    <com.android.settings.widget.ChartSweepView
        android:id="@+id/sweep_left"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        settings:sweepDrawable="@drawable/data_sweep_left"
        settings:followAxis="horizontal"
        settings:neighborMargin="5dip" />

    <com.android.settings.widget.ChartSweepView
        android:id="@+id/sweep_right"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        settings:sweepDrawable="@drawable/data_sweep_right"
        settings:followAxis="horizontal"
        settings:neighborMargin="5dip" />

</com.android.settings.widget.ChartDataUsageView>
+7 −5
Original line number Diff line number Diff line
@@ -3505,7 +3505,7 @@ found in the list of installed applications.</string>
    <!-- Title for checkbox menu option to enable mobile data when roaming. [CHAR LIMIT=32] -->
    <string name="data_usage_menu_roaming">Data roaming</string>
    <!-- Title for checkbox menu option to restrict background data usage. [CHAR LIMIT=20] -->
    <string name="data_usage_menu_restrict_background">Restrict data</string>
    <string name="data_usage_menu_restrict_background">Restrict background data</string>
    <!-- Title for checkbox menu option to show 4G mobile data usage separate from other mobile data usage. [CHAR LIMIT=32] -->
    <string name="data_usage_menu_split_4g">Separate 4G usage</string>
    <!-- Title for checkbox menu option to show Wi-Fi data usage. [CHAR LIMIT=32] -->
@@ -3562,13 +3562,15 @@ found in the list of installed applications.</string>
    <!-- Checkbox label that restricts background data usage of a specific application. [CHAR LIMIT=32] -->
    <string name="data_usage_app_restrict_background">Restrict background data</string>
    <!-- Summary message for checkbox that restricts background data usage of a specific application. [CHAR LIMIT=64] -->
    <string name="data_usage_app_restrict_background_summary">Disable background data on networks that you\'ve chosen to limit (<xliff:g id="networks" example="Mobile, Wi-Fi">%1$s</xliff:g>).</string>
    <string name="data_usage_app_restrict_background_summary">Disable background data on mobile data network only. Wi-Fi will be used if available.</string>
    <!-- Summary message for checkbox that restricts background data usage of a specific application when no networks have been limited. [CHAR LIMIT=64] -->
    <string name="data_usage_app_restrict_background_summary_disabled">To restrict background data for this app, first set a mobile data limit.</string>
    <!-- Title of dialog shown when user restricts background data usage of a specific application. [CHAR LIMIT=48] -->
    <string name="data_usage_app_restrict_dialog_title">Restrict background data?</string>
    <!-- Body of dialog shown when user restricts background data usage of a specific application. [CHAR LIMIT=NONE] -->
    <string name="data_usage_app_restrict_dialog">This feature may negatively impact applications which depend on background data usage.\n\nMore appropriate data usage controls may be found within this application\'s settings.</string>
    <string name="data_usage_app_restrict_dialog">This feature may cause an app that depends on background data to stop working when Wi-Fi isn\'t available.\n\nMore appropriate data usage controls may be found in the settings available from within the app.</string>
    <!-- Body of dialog shown when user attempts to restrict background data before a network data limit has been set. [CHAR LIMIT=NONE] -->
    <string name="data_usage_restrict_denied_dialog">Restricting background data is only available when you\'ve set a network data limit.</string>
    <string name="data_usage_restrict_denied_dialog">Restricting background data is possible only when you\'ve set a mobile data limit.</string>

    <!-- Title of dialog for editing data usage cycle reset date. [CHAR LIMIT=48] -->
    <string name="data_usage_cycle_editor_title">Usage cycle reset date</string>
@@ -3590,7 +3592,7 @@ found in the list of installed applications.</string>
    <!-- Title of dialog shown before user restricts background data usage. [CHAR LIMIT=48] -->
    <string name="data_usage_restrict_background_title">Restrict background data?</string>
    <!-- Body of dialog shown before user restricts background data usage. [CHAR LIMIT=NONE] -->
    <string name="data_usage_restrict_background">If you restrict background data, some apps and services won\'t work on networks that you\'ve chosen to limit.\n\nCurrently limited networks: <xliff:g id="networks" example="Mobile, Wi-Fi">%1$s</xliff:g></string>
    <string name="data_usage_restrict_background">If you restrict background mobile data, some apps and services won\'t work unless Wi-Fi is available.</string>

    <!-- Label displaying current network data usage warning threshold. [CHAR LIMIT=18] -->
    <string name="data_usage_sweep_warning"><font size="21"><xliff:g id="number" example="128">^1</xliff:g></font> <font size="9"><xliff:g id="unit" example="KB">^2</xliff:g></font>\n<font size="12">warning</font></string>
+31 −13
Original line number Diff line number Diff line
@@ -751,9 +751,13 @@ public class DataUsageSummary extends Fragment {
        if (NetworkPolicyManager.isUidValidForPolicy(context, primaryUid)
                && !getRestrictBackground() && isBandwidthControlEnabled()) {
            setPreferenceTitle(mAppRestrictView, R.string.data_usage_app_restrict_background);
            if (hasLimitedNetworks()) {
                setPreferenceSummary(mAppRestrictView,
                        getString(R.string.data_usage_app_restrict_background_summary));
            } else {
                setPreferenceSummary(mAppRestrictView,
                    getString(R.string.data_usage_app_restrict_background_summary,
                            buildLimitedNetworksString()));
                        getString(R.string.data_usage_app_restrict_background_summary_disabled));
            }

            mAppRestrictView.setVisibility(View.VISIBLE);
            mAppRestrict.setChecked(getAppRestrictBackground());
@@ -925,8 +929,9 @@ public class DataUsageSummary extends Fragment {
            historyEnd = mChartData.network.getEnd();
        }

        if (historyStart == Long.MAX_VALUE) historyStart = System.currentTimeMillis();
        if (historyEnd == Long.MIN_VALUE) historyEnd = System.currentTimeMillis();
        final long now = System.currentTimeMillis();
        if (historyStart == Long.MAX_VALUE) historyStart = now;
        if (historyEnd == Long.MIN_VALUE) historyEnd = now + 1;

        boolean hasCycles = false;
        if (policy != null) {
@@ -1489,6 +1494,8 @@ public class DataUsageSummary extends Fragment {
        private static final String EXTRA_UIDS = "uids";

        public static void show(DataUsageSummary parent, int[] uids, CharSequence label) {
            if (!parent.isAdded()) return;

            final Bundle args = new Bundle();
            args.putIntArray(EXTRA_UIDS, uids);

@@ -1529,8 +1536,9 @@ public class DataUsageSummary extends Fragment {
        private static final String EXTRA_LIMIT_BYTES = "limitBytes";

        public static void show(DataUsageSummary parent) {
            final Resources res = parent.getResources();
            if (!parent.isAdded()) return;

            final Resources res = parent.getResources();
            final CharSequence message;
            final long limitBytes;

@@ -1597,6 +1605,8 @@ public class DataUsageSummary extends Fragment {
        private static final String EXTRA_TEMPLATE = "template";

        public static void show(DataUsageSummary parent) {
            if (!parent.isAdded()) return;

            final Bundle args = new Bundle();
            args.putParcelable(EXTRA_TEMPLATE, parent.mTemplate);

@@ -1649,6 +1659,8 @@ public class DataUsageSummary extends Fragment {
        private static final String EXTRA_TEMPLATE = "template";

        public static void show(DataUsageSummary parent) {
            if (!parent.isAdded()) return;

            final Bundle args = new Bundle();
            args.putParcelable(EXTRA_TEMPLATE, parent.mTemplate);

@@ -1709,6 +1721,8 @@ public class DataUsageSummary extends Fragment {
        private static final String EXTRA_TEMPLATE = "template";

        public static void show(DataUsageSummary parent) {
            if (!parent.isAdded()) return;

            final Bundle args = new Bundle();
            args.putParcelable(EXTRA_TEMPLATE, parent.mTemplate);

@@ -1766,6 +1780,8 @@ public class DataUsageSummary extends Fragment {
     */
    public static class ConfirmDataDisableFragment extends DialogFragment {
        public static void show(DataUsageSummary parent) {
            if (!parent.isAdded()) return;

            final ConfirmDataDisableFragment dialog = new ConfirmDataDisableFragment();
            dialog.setTargetFragment(parent, 0);
            dialog.show(parent.getFragmentManager(), TAG_CONFIRM_DATA_DISABLE);
@@ -1799,6 +1815,8 @@ public class DataUsageSummary extends Fragment {
     */
    public static class ConfirmDataRoamingFragment extends DialogFragment {
        public static void show(DataUsageSummary parent) {
            if (!parent.isAdded()) return;

            final ConfirmDataRoamingFragment dialog = new ConfirmDataRoamingFragment();
            dialog.setTargetFragment(parent, 0);
            dialog.show(parent.getFragmentManager(), TAG_CONFIRM_DATA_ROAMING);
@@ -1832,6 +1850,8 @@ public class DataUsageSummary extends Fragment {
     */
    public static class ConfirmRestrictFragment extends DialogFragment {
        public static void show(DataUsageSummary parent) {
            if (!parent.isAdded()) return;

            final ConfirmRestrictFragment dialog = new ConfirmRestrictFragment();
            dialog.setTargetFragment(parent, 0);
            dialog.show(parent.getFragmentManager(), TAG_CONFIRM_RESTRICT);
@@ -1843,13 +1863,7 @@ public class DataUsageSummary extends Fragment {

            final AlertDialog.Builder builder = new AlertDialog.Builder(context);
            builder.setTitle(R.string.data_usage_restrict_background_title);

            final DataUsageSummary target = (DataUsageSummary) getTargetFragment();
            if (target != null) {
                final CharSequence limitedNetworks = target.buildLimitedNetworksString();
                builder.setMessage(
                        getString(R.string.data_usage_restrict_background, limitedNetworks));
            }
            builder.setMessage(getString(R.string.data_usage_restrict_background));

            builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
@@ -1872,6 +1886,8 @@ public class DataUsageSummary extends Fragment {
     */
    public static class DeniedRestrictFragment extends DialogFragment {
        public static void show(DataUsageSummary parent) {
            if (!parent.isAdded()) return;

            final DeniedRestrictFragment dialog = new DeniedRestrictFragment();
            dialog.setTargetFragment(parent, 0);
            dialog.show(parent.getFragmentManager(), TAG_DENIED_RESTRICT);
@@ -1896,6 +1912,8 @@ public class DataUsageSummary extends Fragment {
     */
    public static class ConfirmAppRestrictFragment extends DialogFragment {
        public static void show(DataUsageSummary parent) {
            if (!parent.isAdded()) return;

            final ConfirmAppRestrictFragment dialog = new ConfirmAppRestrictFragment();
            dialog.setTargetFragment(parent, 0);
            dialog.show(parent.getFragmentManager(), TAG_CONFIRM_APP_RESTRICT);
+2 −4
Original line number Diff line number Diff line
@@ -202,6 +202,8 @@ public class PowerUsageSummary extends PreferenceFragment implements Runnable {
        switch (sipper.drainType) {
            case APP:
            {
                // TODO: surface tcpBytesSent/tcpBytesReceived again once
                // measured separately from uid_stats.
                Uid uid = sipper.uidObj;
                types = new int[] {
                    R.string.usage_type_cpu,
@@ -209,8 +211,6 @@ public class PowerUsageSummary extends PreferenceFragment implements Runnable {
                    R.string.usage_type_wake_lock,
                    R.string.usage_type_gps,
                    R.string.usage_type_wifi_running,
                    R.string.usage_type_data_send,
                    R.string.usage_type_data_recv,
                    R.string.usage_type_audio,
                    R.string.usage_type_video,
                };
@@ -220,8 +220,6 @@ public class PowerUsageSummary extends PreferenceFragment implements Runnable {
                    sipper.wakeLockTime,
                    sipper.gpsTime,
                    sipper.wifiRunningTime,
                    sipper.tcpBytesSent,
                    sipper.tcpBytesReceived,
                    0,
                    0
                };
+17 −6
Original line number Diff line number Diff line
@@ -120,6 +120,12 @@ public class ChartDataUsageView extends ChartView {
        mSweepWarning.setValidRangeDynamic(null, mSweepLimit);
        mSweepLimit.setValidRangeDynamic(mSweepWarning, null);

        // mark neighbors for checking touch events against
        mSweepLeft.setNeighbors(mSweepRight);
        mSweepRight.setNeighbors(mSweepLeft);
        mSweepLimit.setNeighbors(mSweepWarning, mSweepLeft, mSweepRight);
        mSweepWarning.setNeighbors(mSweepLimit, mSweepLeft, mSweepRight);

        mSweepLeft.addOnSweepListener(mHorizListener);
        mSweepRight.addOnSweepListener(mHorizListener);
        mSweepWarning.addOnSweepListener(mVertListener);
@@ -375,12 +381,12 @@ public class ChartDataUsageView extends ChartView {
        return mSweepLimit.getLabelValue();
    }

    private long getStatsStart() {
        return mHistory != null ? mHistory.getStart() : Long.MIN_VALUE;
    private long getHistoryStart() {
        return mHistory != null ? mHistory.getStart() : Long.MAX_VALUE;
    }

    private long getStatsEnd() {
        return mHistory != null ? mHistory.getEnd() : Long.MAX_VALUE;
    private long getHistoryEnd() {
        return mHistory != null ? mHistory.getEnd() : Long.MIN_VALUE;
    }

    /**
@@ -394,8 +400,13 @@ public class ChartDataUsageView extends ChartView {
        mSeries.setBounds(visibleStart, visibleEnd);
        mDetailSeries.setBounds(visibleStart, visibleEnd);

        final long validStart = Math.max(visibleStart, getStatsStart());
        final long validEnd = Math.min(visibleEnd, getStatsEnd());
        final long historyStart = getHistoryStart();
        final long historyEnd = getHistoryEnd();

        final long validStart = historyStart == Long.MAX_VALUE ? visibleStart
                : Math.max(visibleStart, historyStart);
        final long validEnd = historyEnd == Long.MIN_VALUE ? visibleEnd
                : Math.min(visibleEnd, historyEnd);

        if (LIMIT_SWEEPS_TO_VALID_DATA) {
            // prevent time sweeps from leaving valid data
Loading