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

Commit 30695815 authored by Jason Monk's avatar Jason Monk
Browse files

Summary support for Settings Home

Also add summaries to a few of the major items.

Change-Id: I17924f14941fe095d819e142cdd21cf4b4e9ffd1
parent 8d249e83
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -59,7 +59,7 @@
                <TextView android:id="@android:id/summary"
                          android:layout_width="wrap_content"
                          android:layout_height="wrap_content"
                          android:layout_below="@id/title"
                          android:layout_below="@android:id/title"
                          android:layout_alignStart="@android:id/title"
                          android:textAppearance="@style/TextAppearance.Small"
                          android:textColor="?android:attr/textColorSecondary" />
+18 −0
Original line number Diff line number Diff line
@@ -7000,4 +7000,22 @@
    <string name="see_all">See all</string>
    <!-- Button to show less top-level settings items [CHAR LIMIT=20] -->
    <string name="see_less">See less</string>
    <!-- Wi-Fi state - Disconnected [CHAR LIMIT=NONE] -->
    <string name="disconnected">Disconnected</string>
    <!-- Summary of data usage [CHAR LIMIT=NONE] -->
    <string name="data_usage_summary_format"><xliff:g id="amount" example="50%">%1$s</xliff:g> of data used</string>
    <!-- Summary of apps [CHAR LIMIT=NONE] -->
    <string name="apps_summary"><xliff:g id="count" example="24">%1$d</xliff:g> apps installed</string>
    <!-- Summary of storage usage [CHAR LIMIT=NONE] -->
    <string name="storage_summary"><xliff:g id="size1" example="8GB">%1$s</xliff:g> of <xliff:g id="size2" example="32GB">%2$s</xliff:g> used</string>
    <!-- Summary of display with adaptive brightness on [CHAR LIMIT=NONE] -->
    <string name="display_summary_on">Adaptive brightness in ON</string>
    <!-- Summary of display with adaptive brightness off [CHAR LIMIT=NONE] -->
    <string name="display_summary_off">Adaptive brightness in OFF</string>
</resources>
+45 −4
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.settings;

import android.animation.LayoutTransition;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.AlertDialog;
import android.app.Dialog;
@@ -24,8 +25,6 @@ import android.app.DialogFragment;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.app.LoaderManager.LoaderCallbacks;
import android.icu.impl.ICUResourceBundle;
import android.icu.util.UResourceBundle;
import android.content.ComponentName;
import android.content.Context;
import android.content.DialogInterface;
@@ -39,6 +38,8 @@ import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.icu.impl.ICUResourceBundle;
import android.icu.util.UResourceBundle;
import android.net.ConnectivityManager;
import android.net.INetworkPolicyManager;
import android.net.INetworkStatsService;
@@ -95,9 +96,9 @@ import android.widget.TabHost.TabSpec;
import android.widget.TabWidget;
import android.widget.TextView;
import android.widget.Toast;

import com.android.internal.logging.MetricsLogger;
import com.android.internal.telephony.PhoneConstants;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.drawable.InsetBoundsDrawable;
import com.android.settings.net.DataUsageMeteredSettings;
import com.android.settings.search.BaseSearchIndexProvider;
@@ -110,11 +111,11 @@ import com.android.settingslib.AppItem;
import com.android.settingslib.NetworkPolicyEditor;
import com.android.settingslib.net.ChartData;
import com.android.settingslib.net.ChartDataLoader;
import com.android.settingslib.net.MobileDataController;
import com.android.settingslib.net.SummaryForAllUidLoader;
import com.android.settingslib.net.UidDetail;
import com.android.settingslib.net.UidDetailProvider;
import com.google.android.collect.Lists;

import libcore.util.Objects;

import java.util.ArrayList;
@@ -2800,4 +2801,44 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable
        private boolean isMobileDataAvailable(int subId) {
            return mSubscriptionManager.getActiveSubscriptionInfo(subId) != null;
        }

    private static class SummaryProvider
            implements SummaryLoader.SummaryProvider {

        private final Activity mActivity;
        private final SummaryLoader mSummaryLoader;
        private final MobileDataController mDataController;

        public SummaryProvider(Activity activity, SummaryLoader summaryLoader) {
            mActivity = activity;
            mSummaryLoader = summaryLoader;
            mDataController = new MobileDataController(activity);
        }

        @Override
        public void setListening(boolean listening) {
            if (listening) {
                MobileDataController.DataUsageInfo info = mDataController.getDataUsageInfo();
                String used;
                if (info == null) {
                    used = Formatter.formatFileSize(mActivity, 0);
                } else if (info.limitLevel <= 0) {
                    used = Formatter.formatFileSize(mActivity, info.usageLevel);
                } else {
                    used = Utils.formatPercentage(info.usageLevel, info.limitLevel);
                }
                mSummaryLoader.setSummary(this,
                        mActivity.getString(R.string.data_usage_summary_format, used));
            }
        }
    }

    public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
            = new SummaryLoader.SummaryProviderFactory() {
        @Override
        public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
                                                                   SummaryLoader summaryLoader) {
            return new SummaryProvider(activity, summaryLoader);
        }
    };
}
+35 −1
Original line number Diff line number Diff line
@@ -38,9 +38,9 @@ import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceChangeListener;
import android.text.TextUtils;
import android.util.Log;

import com.android.internal.logging.MetricsLogger;
import com.android.internal.view.RotationPolicy;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;

@@ -481,6 +481,40 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
        return R.string.help_uri_display;
    }

    private static class SummaryProvider implements SummaryLoader.SummaryProvider {
        private final Context mContext;
        private final SummaryLoader mLoader;

        private SummaryProvider(Context context, SummaryLoader loader) {
            mContext = context;
            mLoader = loader;
        }

        @Override
        public void setListening(boolean listening) {
            if (listening) {
                updateSummary();
            }
        }

        private void updateSummary() {
            boolean auto = Settings.System.getInt(mContext.getContentResolver(),
                    SCREEN_BRIGHTNESS_MODE, SCREEN_BRIGHTNESS_MODE_AUTOMATIC)
                    == SCREEN_BRIGHTNESS_MODE_AUTOMATIC;
            mLoader.setSummary(this, mContext.getString(auto ? R.string.display_summary_on
                    : R.string.display_summary_off));
        }
    }

    public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
            = new SummaryLoader.SummaryProviderFactory() {
        @Override
        public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
                                                                   SummaryLoader summaryLoader) {
            return new SummaryProvider(activity, summaryLoader);
        }
    };

    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
            new BaseSearchIndexProvider() {
                @Override
+1 −1
Original line number Diff line number Diff line
@@ -188,7 +188,7 @@ public class SettingsActivity extends SettingsDrawerActivity
    public static final String EXTRA_SHOW_FRAGMENT_AS_SUBSETTING =
            ":settings:show_fragment_as_subsetting";

    private static final String META_DATA_KEY_FRAGMENT_CLASS =
    public static final String META_DATA_KEY_FRAGMENT_CLASS =
        "com.android.settings.FRAGMENT_CLASS";

    private static final String EXTRA_UI_OPTIONS = "settings:ui_options";
Loading