Skip to content

Commit d0966d2

Browse files
author
Paul Ruiz
committed
android auto test
1 parent ef4913e commit d0966d2

File tree

1 file changed

+27
-3
lines changed

1 file changed

+27
-3
lines changed

AndroidAutoMedia/app/src/main/java/com/ptrprograms/androidautomedia/AutoMediaBrowserService.java

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,13 @@
55
import android.content.pm.PackageInfo;
66
import android.content.pm.PackageManager;
77
import android.media.AudioManager;
8+
import android.media.MediaDescription;
89
import android.media.MediaMetadata;
910
import android.media.MediaPlayer;
1011
import android.media.Rating;
1112
import android.media.browse.MediaBrowser;
1213
import android.media.session.MediaSession;
14+
import android.net.Uri;
1315
import android.os.*;
1416
import android.service.media.MediaBrowserService;
1517
import android.util.Base64;
@@ -26,6 +28,9 @@
2628
public class AutoMediaBrowserService extends MediaBrowserService implements MediaPlayer.OnPreparedListener,
2729
MediaPlayer.OnCompletionListener, MediaPlayer.OnErrorListener, AudioManager.OnAudioFocusChangeListener {
2830

31+
public static final String MEDIA_ID_ROOT = "__ROOT__";
32+
public static final String MEDIA_ID_MUSICS_BY_GENRE = "__BY_GENRE__";
33+
2934
static final byte[][] VALID_PUBLIC_SIGNATURES = new byte[][]{
3035
// Android Auto release public key
3136
extractKey(
@@ -148,6 +153,9 @@ public void onCreate() {
148153
initCallbacks();
149154
initMediaSessions();
150155

156+
mAudioManager.requestAudioFocus(this, AudioManager.STREAM_MUSIC,
157+
AudioManager.AUDIOFOCUS_GAIN);
158+
151159
/*
152160
Bundle extras = new Bundle();
153161
@@ -172,7 +180,7 @@ private void initMediaSessions() {
172180
List<MediaSession.QueueItem> queue = new ArrayList<MediaSession.QueueItem>();
173181
MediaMetadata data = new MediaMetadata.Builder()
174182
.putString( MediaMetadata.METADATA_KEY_TITLE, "title" )
175-
.putString( MediaMetadata.METADATA_KEY_DISPLAY_DESCRIPTION, "description" )
183+
.putString(MediaMetadata.METADATA_KEY_DISPLAY_DESCRIPTION, "description")
176184
.build();
177185
queue.add( new MediaSession.QueueItem( data.getDescription(), 0 ) );
178186
queue.add( new MediaSession.QueueItem( data.getDescription(), 1 ) );
@@ -330,10 +338,26 @@ public static boolean isCallerAllowed(Context context, String callingPackage, in
330338
return false;
331339
}
332340

341+
/**
342+
* Actual implementation of onLoadChildren that assumes that MusicProvider is already
343+
* initialized.
344+
*/
333345
@Override
334-
public void onLoadChildren(String parentId, Result<List<MediaBrowser.MediaItem>> result) {
335-
Log.e( "AutoMediaBrowserService", "onLoadChildren" );
346+
public void onLoadChildren(final String parentMediaId,
347+
final Result<List<MediaBrowser.MediaItem>> result) {
348+
336349
result.detach();
350+
351+
List<MediaBrowser.MediaItem> mediaItems = new ArrayList<MediaBrowser.MediaItem>();
352+
353+
MediaMetadata data = new MediaMetadata.Builder()
354+
.putString( MediaMetadata.METADATA_KEY_TITLE, "Media Title" )
355+
.putString( MediaMetadata.METADATA_KEY_MEDIA_ID, "ID12345").build();
356+
357+
358+
mediaItems.add( new MediaBrowser.MediaItem(
359+
data.getDescription(), MediaBrowser.MediaItem.FLAG_PLAYABLE) );
360+
result.sendResult(mediaItems);
337361
}
338362

339363
@Override

0 commit comments

Comments
 (0)