Add some more summaries for Settings Home

Change-Id: Iaca8db6bdce87e667832b5b670e4eb027580b668
This commit is contained in:
Jason Monk
2015-11-20 14:27:51 -05:00
parent 1258c4f434
commit 9d80eeabe7
10 changed files with 315 additions and 12 deletions

View File

@@ -7020,4 +7020,25 @@
<!-- Summary of display with adaptive brightness off [CHAR LIMIT=NONE] -->
<string name="display_summary_off">Adaptive brightness is OFF</string>
<!-- Summary of memory screen [CHAR LIMIT=NONE] -->
<string name="memory_summary">Avg <xliff:g id="used_memory" example="1.7GB">%1$s</xliff:g> of <xliff:g id="total_memory" example="2GB">%2$s</xliff:g> memory used</string>
<!-- Summary of user screen [CHAR LIMIT=NONE] -->
<string name="user_summary">Signed in as <xliff:g id="user_name" example="Jason">%1$s</xliff:g></string>
<!-- Summary of payment screen [CHAR LIMIT=NONE] -->
<string name="payment_summary"><xliff:g id="app_name" example="Payment App">%1$s</xliff:g> is default</string>
<!-- Summary of location screen [CHAR LIMIT=NONE] -->
<string name="location_on_summary">ON / <xliff:g id="location_mode" example="High accuracy">%1$s</xliff:g></string>
<!-- Location off [CHAR LIMIT=NONE] -->
<string name="location_off_summary">OFF</string>
<!-- Backup disabled summary [CHAR LIMIT=NONE] -->
<string name="backup_disabled">Back up disabled</string>
<!-- Summary of device info page [CHAR LIMIT=NONE] -->
<string name="about_summary">Android <xliff:g id="version" example="6.0">%1$s</xliff:g></string>
</resources>

View File

@@ -38,6 +38,7 @@ import android.widget.DatePicker;
import android.widget.TimePicker;
import com.android.internal.logging.MetricsLogger;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settingslib.datetime.ZoneGetter;
import java.util.Calendar;
@@ -353,4 +354,33 @@ public class DateTimeSettings extends SettingsPreferenceFragment
}
}
};
private static class SummaryProvider implements SummaryLoader.SummaryProvider {
private final Context mContext;
private final SummaryLoader mSummaryLoader;
public SummaryProvider(Context context, SummaryLoader summaryLoader) {
mContext = context;
mSummaryLoader = summaryLoader;
}
@Override
public void setListening(boolean listening) {
if (listening) {
final Calendar now = Calendar.getInstance();
mSummaryLoader.setSummary(this, ZoneGetter.getTimeZoneOffsetAndName(
now.getTimeZone(), now.getTime()));
}
}
}
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);
}
};
}

View File

@@ -36,6 +36,7 @@ import android.util.Log;
import android.widget.Toast;
import com.android.internal.logging.MetricsLogger;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Index;
import com.android.settings.search.Indexable;
@@ -337,6 +338,34 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment implements In
startActivityForResult(intent, 0);
}
private static class SummaryProvider implements SummaryLoader.SummaryProvider {
private final Context mContext;
private final SummaryLoader mSummaryLoader;
public SummaryProvider(Context context, SummaryLoader summaryLoader) {
mContext = context;
mSummaryLoader = summaryLoader;
}
@Override
public void setListening(boolean listening) {
if (listening) {
mSummaryLoader.setSummary(this, mContext.getString(R.string.about_summary,
Build.VERSION.RELEASE));
}
}
}
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);
}
};
/**
* For Search.
*/

View File

@@ -16,6 +16,7 @@
package com.android.settings;
import android.app.Activity;
import android.app.backup.IBackupManager;
import android.content.ContentResolver;
import android.content.Context;
@@ -34,6 +35,7 @@ import android.support.v7.preference.PreferenceScreen;
import android.util.Log;
import com.android.internal.logging.MetricsLogger;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
@@ -180,6 +182,51 @@ public class PrivacySettings extends SettingsPreferenceFragment implements Index
return R.string.help_url_backup_reset;
}
private static class SummaryProvider implements SummaryLoader.SummaryProvider {
private final Context mContext;
private final SummaryLoader mSummaryLoader;
public SummaryProvider(Context context, SummaryLoader summaryLoader) {
mContext = context;
mSummaryLoader = summaryLoader;
}
@Override
public void setListening(boolean listening) {
if (listening) {
IBackupManager backupManager = IBackupManager.Stub.asInterface(
ServiceManager.getService(Context.BACKUP_SERVICE));
try {
boolean backupEnabled = backupManager.isBackupEnabled();
if (backupEnabled) {
String transport = backupManager.getCurrentTransport();
String configSummary = backupManager.getDestinationString(transport);
if (configSummary != null) {
mSummaryLoader.setSummary(this, configSummary);
} else {
mSummaryLoader.setSummary(this, mContext.getString(
R.string.backup_configure_account_default_summary));
}
} else {
mSummaryLoader.setSummary(this, mContext.getString(
R.string.backup_disabled));
}
} catch (RemoteException e) {
}
}
}
}
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);
}
};
/**
* For Search.
*/

View File

@@ -15,6 +15,8 @@
*/
package com.android.settings.applications;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.os.Bundle;
import android.support.v7.preference.Preference;
@@ -28,6 +30,7 @@ import com.android.internal.logging.MetricsLogger;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.applications.ProcStatsData.MemInfo;
import com.android.settings.dashboard.SummaryLoader;
public class ProcessStatsSummary extends ProcessStatsBase implements OnPreferenceClickListener {
@@ -123,4 +126,39 @@ public class ProcessStatsSummary extends ProcessStatsBase implements OnPreferenc
return false;
}
private static class SummaryProvider implements SummaryLoader.SummaryProvider {
private final Context mContext;
private final SummaryLoader mSummaryLoader;
public SummaryProvider(Context context, SummaryLoader summaryLoader) {
mContext = context;
mSummaryLoader = summaryLoader;
}
@Override
public void setListening(boolean listening) {
if (listening) {
ProcStatsData statsManager = new ProcStatsData(mContext, false);
statsManager.setDuration(sDurations[0]);
MemInfo memInfo = statsManager.getMemInfo();
String usedResult = Formatter.formatShortFileSize(mContext,
(long) memInfo.realUsedRam);
String totalResult = Formatter.formatShortFileSize(mContext,
(long) memInfo.realTotalRam);
mSummaryLoader.setSummary(this, mContext.getString(R.string.memory_summary,
usedResult, totalResult));
}
}
}
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);
}
};
}

View File

@@ -60,6 +60,7 @@ import com.android.settings.SubSettings;
import com.android.settings.UserDictionarySettings;
import com.android.settings.Utils;
import com.android.settings.VoiceInputOutputSettings;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
import com.android.settings.search.SearchIndexableRaw;
@@ -648,6 +649,34 @@ public class InputMethodAndLanguageSettings extends SettingsPreferenceFragment
}
}
private static class SummaryProvider implements SummaryLoader.SummaryProvider {
private final Context mContext;
private final SummaryLoader mSummaryLoader;
public SummaryProvider(Context context, SummaryLoader summaryLoader) {
mContext = context;
mSummaryLoader = summaryLoader;
}
@Override
public void setListening(boolean listening) {
if (listening) {
String localeName = getLocaleName(mContext);
mSummaryLoader.setSummary(this, localeName);
}
}
}
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

View File

@@ -16,6 +16,7 @@
package com.android.settings.location;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
@@ -24,6 +25,7 @@ import android.location.SettingInjectorService;
import android.os.Bundle;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceCategory;
import android.support.v7.preference.PreferenceGroup;
@@ -41,6 +43,7 @@ import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.Utils;
import com.android.settings.applications.InstalledAppDetails;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.widget.SwitchBar;
import com.android.settingslib.location.RecentLocationApps;
@@ -331,23 +334,25 @@ public class LocationSettings extends LocationSettingsBase
return R.string.help_url_location_access;
}
@Override
public void onModeChanged(int mode, boolean restricted) {
private static int getLocationString(int mode) {
switch (mode) {
case android.provider.Settings.Secure.LOCATION_MODE_OFF:
mLocationMode.setSummary(R.string.location_mode_location_off_title);
break;
return R.string.location_mode_location_off_title;
case android.provider.Settings.Secure.LOCATION_MODE_SENSORS_ONLY:
mLocationMode.setSummary(R.string.location_mode_sensors_only_title);
break;
return R.string.location_mode_sensors_only_title;
case android.provider.Settings.Secure.LOCATION_MODE_BATTERY_SAVING:
mLocationMode.setSummary(R.string.location_mode_battery_saving_title);
break;
return R.string.location_mode_battery_saving_title;
case android.provider.Settings.Secure.LOCATION_MODE_HIGH_ACCURACY:
mLocationMode.setSummary(R.string.location_mode_high_accuracy_title);
break;
default:
break;
return R.string.location_mode_high_accuracy_title;
}
return 0;
}
@Override
public void onModeChanged(int mode, boolean restricted) {
int modeDescription = getLocationString(mode);
if (modeDescription != 0) {
mLocationMode.setSummary(modeDescription);
}
// Restricted user can't change the location mode, so disable the master switch. But in some
@@ -422,4 +427,39 @@ public class LocationSettings extends LocationSettingsBase
return true;
}
}
private static class SummaryProvider implements SummaryLoader.SummaryProvider {
private final Context mContext;
private final SummaryLoader mSummaryLoader;
public SummaryProvider(Context context, SummaryLoader summaryLoader) {
mContext = context;
mSummaryLoader = summaryLoader;
}
@Override
public void setListening(boolean listening) {
if (listening) {
int mode = Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.LOCATION_MODE, Settings.Secure.LOCATION_MODE_OFF);
if (mode != Settings.Secure.LOCATION_MODE_OFF) {
mSummaryLoader.setSummary(this, mContext.getString(R.string.location_on_summary,
mContext.getString(getLocationString(mode))));
} else {
mSummaryLoader.setSummary(this,
mContext.getString(R.string.location_off_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);
}
};
}

View File

@@ -15,6 +15,7 @@
*/
package com.android.settings.nfc;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.ActivityNotFoundException;
import android.content.Context;
@@ -32,6 +33,7 @@ import android.widget.RadioButton;
import com.android.settings.CustomDialogPreference;
import com.android.settings.R;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.nfc.PaymentBackend.PaymentAppInfo;
import java.util.List;

View File

@@ -16,6 +16,8 @@
package com.android.settings.nfc;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.preference.PreferenceManager;
@@ -25,9 +27,12 @@ import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import com.android.internal.logging.MetricsLogger;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.nfc.PaymentBackend.PaymentAppInfo;
import java.util.List;
@@ -93,4 +98,35 @@ public class PaymentSettings extends SettingsPreferenceFragment {
menuItem.setIntent(howItWorksIntent);
menuItem.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_NEVER);
}
private static class SummaryProvider implements SummaryLoader.SummaryProvider {
private final Context mContext;
private final SummaryLoader mSummaryLoader;
public SummaryProvider(Context context, SummaryLoader summaryLoader) {
mContext = context;
mSummaryLoader = summaryLoader;
}
@Override
public void setListening(boolean listening) {
if (listening) {
PaymentBackend paymentBackend = new PaymentBackend(mContext);
paymentBackend.refresh();
PaymentAppInfo app = paymentBackend.getDefaultApp();
mSummaryLoader.setSummary(this, mContext.getString(R.string.payment_summary,
app.label));
}
}
}
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);
}
};
}

View File

@@ -61,6 +61,7 @@ import com.android.settings.SelectableEditTextPreference;
import com.android.settings.SettingsActivity;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
import com.android.settings.search.SearchIndexableRaw;
@@ -1052,6 +1053,36 @@ public class UserSettings extends SettingsPreferenceFragment
}
}
private static class SummaryProvider implements SummaryLoader.SummaryProvider {
private final Context mContext;
private final SummaryLoader mSummaryLoader;
public SummaryProvider(Context context, SummaryLoader summaryLoader) {
mContext = context;
mSummaryLoader = summaryLoader;
}
@Override
public void setListening(boolean listening) {
if (listening) {
UserInfo info = mContext.getSystemService(UserManager.class).getUserInfo(
UserHandle.myUserId());
mSummaryLoader.setSummary(this, mContext.getString(R.string.user_summary,
info.name));
}
}
}
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