Loading android/app/src/com/android/bluetooth/newavrcp/AvrcpTargetService.java +32 −17 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.content.IntentFilter; import android.media.AudioManager; import android.os.Looper; import android.os.SystemProperties; import android.os.UserManager; import android.util.Log; import com.android.bluetooth.Utils; Loading Loading @@ -110,19 +111,23 @@ public class AvrcpTargetService extends ProfileService { Log.i(TAG, "User unlocked, initializing the service"); if (!SystemProperties.getBoolean(AVRCP_ENABLE_PROPERTY, false)) { Log.w(TAG, "Skipping initialization of the new AVRCP Target Service"); Log.w(TAG, "Skipping initialization of the new AVRCP Target Player List"); sInstance = null; return; } init(); // Only allow the service to be used once it is initialized sInstance = this; if (mMediaPlayerList != null) { mMediaPlayerList.init(new ListCallback()); } } @Override protected boolean start() { if (sInstance != null) { Log.wtfStack(TAG, "The service has already been initialized"); return false; } Log.i(TAG, "Starting the AVRCP Target Service"); mCurrentData = new MediaData(null, null, null); Loading @@ -131,6 +136,28 @@ public class AvrcpTargetService extends ProfileService { filter.addAction(BluetoothA2dp.ACTION_ACTIVE_DEVICE_CHANGED); registerReceiver(mReceiver, filter); if (!SystemProperties.getBoolean(AVRCP_ENABLE_PROPERTY, false)) { Log.w(TAG, "Skipping initialization of the new AVRCP Target Service"); sInstance = null; return true; } mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); sDeviceMaxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC); mMediaPlayerList = new MediaPlayerList(Looper.myLooper(), this); UserManager userManager = UserManager.get(getApplicationContext()); if (userManager.isUserUnlocked()) { mMediaPlayerList.init(new ListCallback()); } mNativeInterface = AvrcpNativeInterface.getInterface(); mNativeInterface.init(AvrcpTargetService.this); // Only allow the service to be used once it is initialized sInstance = this; return true; } Loading @@ -153,18 +180,6 @@ public class AvrcpTargetService extends ProfileService { } private void init() { if (mMediaPlayerList != null) { Log.wtfStack(TAG, "init: The service has already been initialized"); return; } mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); sDeviceMaxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC); mMediaPlayerList = new MediaPlayerList(); mMediaPlayerList.init(Looper.myLooper(), this, new ListCallback()); mNativeInterface = AvrcpNativeInterface.getInterface(); mNativeInterface.init(AvrcpTargetService.this); } void deviceConnected(String bdaddr, boolean absoluteVolume) { Loading android/app/src/com/android/bluetooth/newavrcp/MediaPlayerList.java +8 −3 Original line number Diff line number Diff line Loading @@ -100,11 +100,11 @@ public class MediaPlayerList { void run(String parentId, List<ListItem> items); } void init(Looper looper, Context context, MediaUpdateCallback callback) { Log.v(TAG, "Initializing MediaPlayerList"); MediaPlayerList(Looper looper, Context context) { Log.v(TAG, "Creating MediaPlayerList"); mLooper = looper; mContext = context; mCallback = callback; // Register for intents where available players might have changed IntentFilter pkgFilter = new IntentFilter(); Loading @@ -120,6 +120,11 @@ public class MediaPlayerList { mMediaSessionManager.addOnActiveSessionsChangedListener( mActiveSessionsChangedListener, null, new Handler(looper)); mMediaSessionManager.setCallback(mButtonDispatchCallback, null); } void init(MediaUpdateCallback callback) { Log.v(TAG, "Initializing MediaPlayerList"); mCallback = callback; // Build the list of browsable players and afterwards, build the list of media players Intent intent = new Intent(android.service.media.MediaBrowserService.SERVICE_INTERFACE); Loading Loading
android/app/src/com/android/bluetooth/newavrcp/AvrcpTargetService.java +32 −17 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.content.IntentFilter; import android.media.AudioManager; import android.os.Looper; import android.os.SystemProperties; import android.os.UserManager; import android.util.Log; import com.android.bluetooth.Utils; Loading Loading @@ -110,19 +111,23 @@ public class AvrcpTargetService extends ProfileService { Log.i(TAG, "User unlocked, initializing the service"); if (!SystemProperties.getBoolean(AVRCP_ENABLE_PROPERTY, false)) { Log.w(TAG, "Skipping initialization of the new AVRCP Target Service"); Log.w(TAG, "Skipping initialization of the new AVRCP Target Player List"); sInstance = null; return; } init(); // Only allow the service to be used once it is initialized sInstance = this; if (mMediaPlayerList != null) { mMediaPlayerList.init(new ListCallback()); } } @Override protected boolean start() { if (sInstance != null) { Log.wtfStack(TAG, "The service has already been initialized"); return false; } Log.i(TAG, "Starting the AVRCP Target Service"); mCurrentData = new MediaData(null, null, null); Loading @@ -131,6 +136,28 @@ public class AvrcpTargetService extends ProfileService { filter.addAction(BluetoothA2dp.ACTION_ACTIVE_DEVICE_CHANGED); registerReceiver(mReceiver, filter); if (!SystemProperties.getBoolean(AVRCP_ENABLE_PROPERTY, false)) { Log.w(TAG, "Skipping initialization of the new AVRCP Target Service"); sInstance = null; return true; } mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); sDeviceMaxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC); mMediaPlayerList = new MediaPlayerList(Looper.myLooper(), this); UserManager userManager = UserManager.get(getApplicationContext()); if (userManager.isUserUnlocked()) { mMediaPlayerList.init(new ListCallback()); } mNativeInterface = AvrcpNativeInterface.getInterface(); mNativeInterface.init(AvrcpTargetService.this); // Only allow the service to be used once it is initialized sInstance = this; return true; } Loading @@ -153,18 +180,6 @@ public class AvrcpTargetService extends ProfileService { } private void init() { if (mMediaPlayerList != null) { Log.wtfStack(TAG, "init: The service has already been initialized"); return; } mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); sDeviceMaxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC); mMediaPlayerList = new MediaPlayerList(); mMediaPlayerList.init(Looper.myLooper(), this, new ListCallback()); mNativeInterface = AvrcpNativeInterface.getInterface(); mNativeInterface.init(AvrcpTargetService.this); } void deviceConnected(String bdaddr, boolean absoluteVolume) { Loading
android/app/src/com/android/bluetooth/newavrcp/MediaPlayerList.java +8 −3 Original line number Diff line number Diff line Loading @@ -100,11 +100,11 @@ public class MediaPlayerList { void run(String parentId, List<ListItem> items); } void init(Looper looper, Context context, MediaUpdateCallback callback) { Log.v(TAG, "Initializing MediaPlayerList"); MediaPlayerList(Looper looper, Context context) { Log.v(TAG, "Creating MediaPlayerList"); mLooper = looper; mContext = context; mCallback = callback; // Register for intents where available players might have changed IntentFilter pkgFilter = new IntentFilter(); Loading @@ -120,6 +120,11 @@ public class MediaPlayerList { mMediaSessionManager.addOnActiveSessionsChangedListener( mActiveSessionsChangedListener, null, new Handler(looper)); mMediaSessionManager.setCallback(mButtonDispatchCallback, null); } void init(MediaUpdateCallback callback) { Log.v(TAG, "Initializing MediaPlayerList"); mCallback = callback; // Build the list of browsable players and afterwards, build the list of media players Intent intent = new Intent(android.service.media.MediaBrowserService.SERVICE_INTERFACE); Loading