am deb5a843: Merge "More descriptive summary for "Sleep Mode" pref." into jb-mr1-dev

* commit 'deb5a843c9feb39d8ea564347a97417b34a5e9a1':
  More descriptive summary for "Sleep Mode" pref.
This commit is contained in:
Daniel Sandler
2012-10-18 10:27:04 -07:00
committed by Android Git Automerger
3 changed files with 33 additions and 7 deletions

View File

@@ -284,11 +284,10 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
}
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() {

View File

@@ -26,6 +26,7 @@ import android.content.Intent;
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;
@@ -116,6 +117,22 @@ public class DreamBackend {
}
}
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);
}

View File

@@ -149,7 +149,7 @@ public class DreamSettings extends SettingsPreferenceFragment {
// 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
@@ -245,6 +245,16 @@ public class DreamSettings extends SettingsPreferenceFragment {
: 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;
@@ -306,7 +316,7 @@ public class DreamSettings extends SettingsPreferenceFragment {
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