auto import from //branches/cupcake_rel/...@140373
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 5220083..0606ecf 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -69,6 +69,7 @@
<data android:mimeType="audio/*"/>
<data android:mimeType="application/ogg"/>
<data android:mimeType="application/x-ogg"/>
+ <data android:mimeType="application/itunes"/>
</intent-filter>
<intent-filter>
<action android:name="com.android.music.PLAYBACK_VIEWER" />
diff --git a/src/com/android/music/MediaPlaybackActivity.java b/src/com/android/music/MediaPlaybackActivity.java
index 2b9125d..e04b73e 100644
--- a/src/com/android/music/MediaPlaybackActivity.java
+++ b/src/com/android/music/MediaPlaybackActivity.java
@@ -325,23 +325,29 @@
private OnSeekBarChangeListener mSeekListener = new OnSeekBarChangeListener() {
public void onStartTrackingTouch(SeekBar bar) {
mLastSeekEventTime = 0;
+ mFromTouch = true;
}
- public void onProgressChanged(SeekBar bar, int progress, boolean fromtouch) {
- if (mService == null) return;
- if (fromtouch) {
- long now = SystemClock.elapsedRealtime();
- if ((now - mLastSeekEventTime) > 250) {
- mLastSeekEventTime = now;
- mPosOverride = mDuration * progress / 1000;
- try {
- mService.seek(mPosOverride);
- } catch (RemoteException ex) {
- }
+ public void onProgressChanged(SeekBar bar, int progress, boolean fromuser) {
+ if (!fromuser || (mService == null)) return;
+ long now = SystemClock.elapsedRealtime();
+ if ((now - mLastSeekEventTime) > 250) {
+ mLastSeekEventTime = now;
+ mPosOverride = mDuration * progress / 1000;
+ try {
+ mService.seek(mPosOverride);
+ } catch (RemoteException ex) {
+ }
+
+ // trackball event, allow progress updates
+ if (!mFromTouch) {
+ refreshNow();
+ mPosOverride = -1;
}
}
}
public void onStopTrackingTouch(SeekBar bar) {
mPosOverride = -1;
+ mFromTouch = false;
}
};
@@ -1086,6 +1092,7 @@
private TextView mTrackName;
private ProgressBar mProgress;
private long mPosOverride = -1;
+ private boolean mFromTouch = false;
private long mDuration;
private int seekmethod;
private boolean paused;