It will either show "Off" or the name of the selected dream.
Also, move "When to sleep" out onto the visible part of the
action bar if there's room, making it much easier to discover.
Bug:
7320701
Change-Id: I1d4e2c17b764b8ee054dbb17c23f559d735e3450
}
private void updateScreenSaverSummary() {
- int summaryResId = DreamSettings.getSummaryResource(getActivity());
- if (summaryResId > 0)
- mScreenSaverPreference.setSummary(summaryResId);
- else
- mScreenSaverPreference.setSummary("");
+ if (mScreenSaverPreference != null) {
+ mScreenSaverPreference.setSummary(
+ DreamSettings.getSummaryTextWithDreamName(getActivity()));
+ }
}
private void updateWifiDisplaySummary() {
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.pm.PackageManager.NameNotFoundException;
+import android.content.pm.ServiceInfo;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.content.res.XmlResourceParser;
}
}
+ public CharSequence getActiveDreamName() {
+ ComponentName cn = getActiveDream();
+ if (cn != null) {
+ PackageManager pm = mContext.getPackageManager();
+ try {
+ ServiceInfo ri = pm.getServiceInfo(cn, 0);
+ if (ri != null) {
+ return ri.loadLabel(pm);
+ }
+ } catch (PackageManager.NameNotFoundException exc) {
+ return null; // uninstalled?
+ }
+ }
+ return null;
+ }
+
public boolean isEnabled() {
return getBoolean(SCREENSAVER_ENABLED);
}
// create "when to dream" overflow menu item
MenuItem whenToDream = createMenuItem(menu,
R.string.screensaver_settings_when_to_dream,
- MenuItem.SHOW_AS_ACTION_NEVER,
+ MenuItem.SHOW_AS_ACTION_IF_ROOM,
isEnabled,
new Runnable() {
@Override
: 0;
}
+ public static CharSequence getSummaryTextWithDreamName(Context context) {
+ DreamBackend backend = new DreamBackend(context);
+ boolean isEnabled = backend.isEnabled();
+ if (!isEnabled) {
+ return context.getString(R.string.screensaver_settings_summary_off);
+ } else {
+ return backend.getActiveDreamName();
+ }
+ }
+
private void refreshFromBackend() {
logd("refreshFromBackend()");
mRefreshing = true;
ImageView settingsButton = (ImageView) row.findViewById(android.R.id.button2);
settingsButton.setVisibility(showSettings ? View.VISIBLE : View.INVISIBLE);
- settingsButton.setAlpha(dreamInfo.isActive ? 1f : 0.7f);
+ settingsButton.setAlpha(dreamInfo.isActive ? 1f : 0.33f);
settingsButton.setEnabled(dreamInfo.isActive);
settingsButton.setOnClickListener(new OnClickListener(){
@Override