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

* commit '6749fb88efaacf1e1de23fd170d0797562101aee':
  More descriptive summary for "Sleep Mode" pref.
diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java
index a698538..6ee60b5 100644
--- a/src/com/android/settings/DisplaySettings.java
+++ b/src/com/android/settings/DisplaySettings.java
@@ -284,11 +284,10 @@
     }
 
     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() {
diff --git a/src/com/android/settings/DreamBackend.java b/src/com/android/settings/DreamBackend.java
index 7effe4b..a866174 100644
--- a/src/com/android/settings/DreamBackend.java
+++ b/src/com/android/settings/DreamBackend.java
@@ -26,6 +26,7 @@
 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 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);
     }
diff --git a/src/com/android/settings/DreamSettings.java b/src/com/android/settings/DreamSettings.java
index ca4415b..32328d9 100644
--- a/src/com/android/settings/DreamSettings.java
+++ b/src/com/android/settings/DreamSettings.java
@@ -149,7 +149,7 @@
         // 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 @@
                 : 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 @@
 
             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