OSDN Git Service

Eleven: Set preferences on play
authorSean Maas <seanmaas27@gmail.com>
Thu, 29 Sep 2016 22:10:49 +0000 (18:10 -0400)
committerSean Maas <seanmaas27@gmail.com>
Fri, 30 Sep 2016 21:24:31 +0000 (14:24 -0700)
The shake to play and lockscreen album art settings were not
being set when playback started without the app, ex. with a
headphone button. This caused them both to be set to false
until the app was opened.

Change-Id: Id15c134e9001bba62faa04266726c1e10fbfb9dd

src/com/cyanogenmod/eleven/MusicPlaybackService.java
src/com/cyanogenmod/eleven/utils/MusicUtils.java

index 485542d..64a131e 100644 (file)
@@ -70,6 +70,7 @@ import com.cyanogenmod.eleven.provider.SongPlayCount;
 import com.cyanogenmod.eleven.service.MusicPlaybackTrack;
 import com.cyanogenmod.eleven.utils.BitmapWithColors;
 import com.cyanogenmod.eleven.utils.Lists;
+import com.cyanogenmod.eleven.utils.PreferenceUtils;
 import com.cyanogenmod.eleven.utils.ShakeDetector;
 import com.cyanogenmod.eleven.utils.SrtManager;
 
@@ -653,6 +654,10 @@ public class MusicPlaybackService extends Service {
         mPreferences = getSharedPreferences("Service", 0);
         mCardId = getCardId();
 
+        mShowAlbumArtOnLockscreen = mPreferences.getBoolean(
+                PreferenceUtils.SHOW_ALBUM_ART_ON_LOCKSCREEN, true);
+        setShakeToPlayEnabled(mPreferences.getBoolean(PreferenceUtils.SHAKE_TO_PLAY, true));
+
         registerExternalStorageListener();
 
         // Initialize the media player
index 72aa29e..8ab4c73 100644 (file)
@@ -113,8 +113,7 @@ public final class MusicUtils {
         }
         final ContextWrapper contextWrapper = new ContextWrapper(realActivity);
         contextWrapper.startService(new Intent(contextWrapper, MusicPlaybackService.class));
-        final ServiceBinder binder = new ServiceBinder(callback,
-                contextWrapper.getApplicationContext());
+        final ServiceBinder binder = new ServiceBinder(callback);
         if (contextWrapper.bindService(
                 new Intent().setClass(contextWrapper, MusicPlaybackService.class), binder, 0)) {
             mConnectionMap.put(contextWrapper, binder);
@@ -143,16 +142,14 @@ public final class MusicUtils {
 
     public static final class ServiceBinder implements ServiceConnection {
         private final ServiceConnection mCallback;
-        private final Context mContext;
 
         /**
          * Constructor of <code>ServiceBinder</code>
          *
          * @param context The {@link ServiceConnection} to use
          */
-        public ServiceBinder(final ServiceConnection callback, final Context context) {
+        public ServiceBinder(final ServiceConnection callback) {
             mCallback = callback;
-            mContext = context;
         }
 
         @Override
@@ -161,7 +158,6 @@ public final class MusicUtils {
             if (mCallback != null) {
                 mCallback.onServiceConnected(className, service);
             }
-            MusicUtils.initPlaybackServiceWithSettings(mContext);
         }
 
         @Override
@@ -279,16 +275,6 @@ public final class MusicUtils {
     }
 
     /**
-     * Initialize playback service with values from Settings
-     */
-    public static void initPlaybackServiceWithSettings(final Context context) {
-        MusicUtils.setShakeToPlayEnabled(
-                PreferenceUtils.getInstance(context).getShakeToPlay());
-        MusicUtils.setShowAlbumArtOnLockscreen(
-                PreferenceUtils.getInstance(context).getShowAlbumArtOnLockscreen());
-    }
-
-    /**
      * Set shake to play status
      */
     public static void setShakeToPlayEnabled(final boolean enabled) {