From b7841acd23f0cf4fd8db604d73bdf14e57994fd9 Mon Sep 17 00:00:00 2001 From: Marco Nelissen Date: Tue, 5 May 2009 14:36:25 -0700 Subject: [PATCH] Rename some methods to confirm to our naming standards. Make it so that when a content-uri is passed in a VIEW intent, it doesn't play in one-shot mode, but can play in the background as if it was started from the music app itself. --- src/com/android/music/IMediaPlaybackService.aidl | 4 +-- src/com/android/music/MediaPlaybackActivity.java | 32 +++++++++++++----------- src/com/android/music/MediaPlaybackService.java | 6 ++--- src/com/android/music/StreamStarter.java | 2 +- 4 files changed, 23 insertions(+), 21 deletions(-) diff --git a/src/com/android/music/IMediaPlaybackService.aidl b/src/com/android/music/IMediaPlaybackService.aidl index 5698cc5..1d27057 100644 --- a/src/com/android/music/IMediaPlaybackService.aidl +++ b/src/com/android/music/IMediaPlaybackService.aidl @@ -21,8 +21,8 @@ import android.graphics.Bitmap; interface IMediaPlaybackService { - void openfile(String path); - void openfileAsync(String path); + void openFile(String path, boolean oneShot); + void openFileAsync(String path); void open(in int [] list, int position); int getQueuePosition(); boolean isPlaying(); diff --git a/src/com/android/music/MediaPlaybackActivity.java b/src/com/android/music/MediaPlaybackActivity.java index 1f7b404..7d50084 100644 --- a/src/com/android/music/MediaPlaybackActivity.java +++ b/src/com/android/music/MediaPlaybackActivity.java @@ -21,11 +21,14 @@ import android.app.AlertDialog; import android.app.SearchManager; import android.content.BroadcastReceiver; import android.content.ComponentName; +import android.content.ContentResolver; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; import android.content.ServiceConnection; +import android.content.res.Configuration; +import android.content.res.Resources; import android.graphics.Bitmap; import android.media.AudioManager; import android.media.MediaFile; @@ -65,7 +68,7 @@ public class MediaPlaybackActivity extends Activity implements MusicUtils.Defs, private boolean mOneShot = false; private boolean mSeeking = false; - private boolean mTrackball; + private boolean mDeviceHasNoDpad; private long mStartSeekPos = 0; private long mLastSeekEventTime; private IMediaPlaybackService mService = null; @@ -78,7 +81,6 @@ public class MediaPlaybackActivity extends Activity implements MusicUtils.Defs, private Worker mAlbumArtWorker; private AlbumArtHandler mAlbumArtHandler; private Toast mToast; - private boolean mRelaunchAfterConfigChange; private int mTouchSlop; public MediaPlaybackActivity() @@ -129,8 +131,8 @@ public class MediaPlaybackActivity extends Activity implements MusicUtils.Defs, mNextButton.setRepeatListener(mFfwdListener, 260); seekmethod = 1; - mTrackball = true; /* (See bug 1044348) (getResources().getConfiguration().navigation == - Resources.Configuration.NAVIGATION_TRACKBALL);*/ + mDeviceHasNoDpad = (getResources().getConfiguration().navigation != + Configuration.NAVIGATION_DPAD); mQueueButton = (ImageButton) findViewById(R.id.curplaylist); mQueueButton.setOnClickListener(mQueueListener); @@ -146,7 +148,6 @@ public class MediaPlaybackActivity extends Activity implements MusicUtils.Defs, mProgress.setMax(1000); if (icicle != null) { - mRelaunchAfterConfigChange = icicle.getBoolean("configchange"); mOneShot = icicle.getBoolean("oneshot"); } else { mOneShot = getIntent().getBooleanExtra("oneshot", false); @@ -444,7 +445,6 @@ public class MediaPlaybackActivity extends Activity implements MusicUtils.Defs, @Override public void onSaveInstanceState(Bundle outState) { - outState.putBoolean("configchange", getChangingConfigurations() != 0); outState.putBoolean("oneshot", mOneShot); super.onSaveInstanceState(outState); } @@ -710,7 +710,7 @@ public class MediaPlaybackActivity extends Activity implements MusicUtils.Defs, switch(keyCode) { case KeyEvent.KEYCODE_DPAD_LEFT: - if (mTrackball) { + if (mDeviceHasNoDpad) { break; } if (mService != null) { @@ -731,7 +731,7 @@ public class MediaPlaybackActivity extends Activity implements MusicUtils.Defs, mPosOverride = -1; return true; case KeyEvent.KEYCODE_DPAD_RIGHT: - if (mTrackball) { + if (mDeviceHasNoDpad) { break; } if (mService != null) { @@ -789,7 +789,7 @@ public class MediaPlaybackActivity extends Activity implements MusicUtils.Defs, return true; case KeyEvent.KEYCODE_DPAD_LEFT: - if (mTrackball) { + if (mDeviceHasNoDpad) { break; } if (!mPrevButton.hasFocus()) { @@ -798,7 +798,7 @@ public class MediaPlaybackActivity extends Activity implements MusicUtils.Defs, scanBackward(repcnt, event.getEventTime() - event.getDownTime()); return true; case KeyEvent.KEYCODE_DPAD_RIGHT: - if (mTrackball) { + if (mDeviceHasNoDpad) { break; } if (!mNextButton.hasFocus()) { @@ -988,12 +988,14 @@ public class MediaPlaybackActivity extends Activity implements MusicUtils.Defs, filename = uri.toString(); } try { - mOneShot = true; - if (! mRelaunchAfterConfigChange) { - mService.stop(); - mService.openfile(filename); - mService.play(); + if (! ContentResolver.SCHEME_CONTENT.equals(scheme) || + ! MediaStore.AUTHORITY.equals(uri.getAuthority())) { + mOneShot = true; } + mService.stop(); + mService.openFile(filename, mOneShot); + mService.play(); + setIntent(new Intent()); } catch (Exception ex) { Log.d("MediaPlaybackActivity", "couldn't start playback: " + ex); } diff --git a/src/com/android/music/MediaPlaybackService.java b/src/com/android/music/MediaPlaybackService.java index deedf27..663da57 100644 --- a/src/com/android/music/MediaPlaybackService.java +++ b/src/com/android/music/MediaPlaybackService.java @@ -1734,13 +1734,13 @@ public class MediaPlaybackService extends Service { private final IMediaPlaybackService.Stub mBinder = new IMediaPlaybackService.Stub() { - public void openfileAsync(String path) + public void openFileAsync(String path) { MediaPlaybackService.this.openAsync(path); } - public void openfile(String path) + public void openFile(String path, boolean oneShot) { - MediaPlaybackService.this.open(path, true); + MediaPlaybackService.this.open(path, oneShot); } public void open(int [] list, int position) { MediaPlaybackService.this.open(list, position); diff --git a/src/com/android/music/StreamStarter.java b/src/com/android/music/StreamStarter.java index 0537bad..dc18c41 100644 --- a/src/com/android/music/StreamStarter.java +++ b/src/com/android/music/StreamStarter.java @@ -58,7 +58,7 @@ public class StreamStarter extends Activity IntentFilter f = new IntentFilter(); f.addAction(MediaPlaybackService.ASYNC_OPEN_COMPLETE); registerReceiver(mStatusListener, new IntentFilter(f)); - MusicUtils.sService.openfileAsync(getIntent().getData().toString()); + MusicUtils.sService.openFileAsync(getIntent().getData().toString()); } catch (RemoteException ex) { } } -- 2.11.0