mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
Release download helper if new download track selection is started.
PiperOrigin-RevId: 234128521
This commit is contained in:
parent
b69041bea2
commit
eae09c67e7
1 changed files with 15 additions and 3 deletions
|
|
@ -20,6 +20,7 @@ import android.content.DialogInterface;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.HandlerThread;
|
import android.os.HandlerThread;
|
||||||
|
import android.support.annotation.Nullable;
|
||||||
import android.support.v4.app.FragmentManager;
|
import android.support.v4.app.FragmentManager;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
import com.google.android.exoplayer2.C;
|
import com.google.android.exoplayer2.C;
|
||||||
|
|
@ -73,6 +74,8 @@ public class DownloadTracker implements DownloadManager.Listener {
|
||||||
private final DefaultDownloadIndex downloadIndex;
|
private final DefaultDownloadIndex downloadIndex;
|
||||||
private final Handler actionFileIOHandler;
|
private final Handler actionFileIOHandler;
|
||||||
|
|
||||||
|
@Nullable private StartDownloadDialogHelper startDownloadDialogHelper;
|
||||||
|
|
||||||
public DownloadTracker(
|
public DownloadTracker(
|
||||||
Context context, DataSource.Factory dataSourceFactory, DefaultDownloadIndex downloadIndex) {
|
Context context, DataSource.Factory dataSourceFactory, DefaultDownloadIndex downloadIndex) {
|
||||||
this.context = context.getApplicationContext();
|
this.context = context.getApplicationContext();
|
||||||
|
|
@ -117,8 +120,12 @@ public class DownloadTracker implements DownloadManager.Listener {
|
||||||
getDownloadHelper(uri, extension, renderersFactory).getRemoveAction();
|
getDownloadHelper(uri, extension, renderersFactory).getRemoveAction();
|
||||||
startServiceWithAction(removeAction);
|
startServiceWithAction(removeAction);
|
||||||
} else {
|
} else {
|
||||||
new StartDownloadDialogHelper(
|
if (startDownloadDialogHelper != null) {
|
||||||
fragmentManager, getDownloadHelper(uri, extension, renderersFactory), name);
|
startDownloadDialogHelper.release();
|
||||||
|
}
|
||||||
|
startDownloadDialogHelper =
|
||||||
|
new StartDownloadDialogHelper(
|
||||||
|
fragmentManager, getDownloadHelper(uri, extension, renderersFactory), name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -230,6 +237,11 @@ public class DownloadTracker implements DownloadManager.Listener {
|
||||||
downloadHelper.prepare(this);
|
downloadHelper.prepare(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void release() {
|
||||||
|
downloadHelper.release();
|
||||||
|
startDownloadDialogHelper = null;
|
||||||
|
}
|
||||||
|
|
||||||
// DownloadHelper.Callback implementation.
|
// DownloadHelper.Callback implementation.
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -303,7 +315,7 @@ public class DownloadTracker implements DownloadManager.Listener {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDismiss(DialogInterface dialogInterface) {
|
public void onDismiss(DialogInterface dialogInterface) {
|
||||||
downloadHelper.release();
|
release();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue