Dynamic summary text for network/connected device screen.
Change-Id: I3254c63b7c241e2de9251b3c2d2a0106fb049ece Fix: 36768218 Test: make RunSettingsRoboTests
This commit is contained in:
@@ -15,10 +15,12 @@
|
||||
*/
|
||||
package com.android.settings.network;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.provider.SearchIndexableResource;
|
||||
import android.support.annotation.VisibleForTesting;
|
||||
import android.util.Log;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
@@ -27,7 +29,7 @@ import com.android.internal.logging.nano.MetricsProto;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.PreferenceController;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.dashboard.SummaryLoader;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settings.wifi.WifiMasterSwitchPreferenceController;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
@@ -133,6 +135,66 @@ public class NetworkDashboardFragment extends DashboardFragment implements
|
||||
return 0;
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
static class SummaryProvider implements SummaryLoader.SummaryProvider {
|
||||
|
||||
private final Context mContext;
|
||||
private final SummaryLoader mSummaryLoader;
|
||||
private final MobileNetworkPreferenceController mMobileNetworkPreferenceController;
|
||||
private final TetherPreferenceController mTetherPreferenceController;
|
||||
|
||||
public SummaryProvider(Context context, SummaryLoader summaryLoader) {
|
||||
this(context, summaryLoader,
|
||||
new MobileNetworkPreferenceController(context),
|
||||
new TetherPreferenceController(context, null /* lifecycle */));
|
||||
}
|
||||
|
||||
@VisibleForTesting(otherwise = VisibleForTesting.NONE)
|
||||
SummaryProvider(Context context, SummaryLoader summaryLoader,
|
||||
MobileNetworkPreferenceController mobileNetworkPreferenceController,
|
||||
TetherPreferenceController tetherPreferenceController) {
|
||||
mContext = context;
|
||||
mSummaryLoader = summaryLoader;
|
||||
mMobileNetworkPreferenceController = mobileNetworkPreferenceController;
|
||||
mTetherPreferenceController = tetherPreferenceController;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void setListening(boolean listening) {
|
||||
if (listening) {
|
||||
String summary = mContext.getString(R.string.wifi_settings_title);
|
||||
if (mMobileNetworkPreferenceController.isAvailable()) {
|
||||
final String mobileSettingSummary = mContext.getString(
|
||||
R.string.network_dashboard_summary_mobile);
|
||||
summary = mContext.getString(R.string.join_many_items_middle, summary,
|
||||
mobileSettingSummary);
|
||||
}
|
||||
final String dataUsageSettingSummary = mContext.getString(
|
||||
R.string.network_dashboard_summary_data_usage);
|
||||
summary = mContext.getString(R.string.join_many_items_middle, summary,
|
||||
dataUsageSettingSummary);
|
||||
if (mTetherPreferenceController.isAvailable()) {
|
||||
final String hotspotSettingSummary = mContext.getString(
|
||||
R.string.network_dashboard_summary_hotspot);
|
||||
summary = mContext.getString(R.string.join_many_items_middle, summary,
|
||||
hotspotSettingSummary);
|
||||
}
|
||||
mSummaryLoader.setSummary(this, summary);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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 SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
||||
new BaseSearchIndexProvider() {
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user