Pass UriSample to DownloadTracker

PiperOrigin-RevId: 306469450
This commit is contained in:
olly 2020-04-14 18:41:55 +01:00 committed by Ian Baker
parent 66f1c04445
commit a99288a6fa
2 changed files with 11 additions and 17 deletions

View file

@ -24,6 +24,7 @@ import androidx.annotation.Nullable;
import androidx.fragment.app.FragmentManager;
import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.RenderersFactory;
import com.google.android.exoplayer2.demo.Sample.UriSample;
import com.google.android.exoplayer2.offline.Download;
import com.google.android.exoplayer2.offline.DownloadCursor;
import com.google.android.exoplayer2.offline.DownloadHelper;
@ -92,12 +93,8 @@ public class DownloadTracker {
}
public void toggleDownload(
FragmentManager fragmentManager,
String name,
Uri uri,
String extension,
RenderersFactory renderersFactory) {
Download download = downloads.get(uri);
FragmentManager fragmentManager, UriSample sample, RenderersFactory renderersFactory) {
Download download = downloads.get(sample.uri);
if (download != null) {
DownloadService.sendRemoveDownload(
context, DemoDownloadService.class, download.request.id, /* foreground= */ false);
@ -107,7 +104,9 @@ public class DownloadTracker {
}
startDownloadDialogHelper =
new StartDownloadDialogHelper(
fragmentManager, getDownloadHelper(uri, extension, renderersFactory), name);
fragmentManager,
getDownloadHelper(sample.uri, sample.extension, renderersFactory),
sample);
}
}
@ -167,16 +166,16 @@ public class DownloadTracker {
private final FragmentManager fragmentManager;
private final DownloadHelper downloadHelper;
private final String name;
private final UriSample sample;
private TrackSelectionDialog trackSelectionDialog;
private MappedTrackInfo mappedTrackInfo;
public StartDownloadDialogHelper(
FragmentManager fragmentManager, DownloadHelper downloadHelper, String name) {
FragmentManager fragmentManager, DownloadHelper downloadHelper, UriSample sample) {
this.fragmentManager = fragmentManager;
this.downloadHelper = downloadHelper;
this.name = name;
this.sample = sample;
downloadHelper.prepare(this);
}
@ -271,7 +270,7 @@ public class DownloadTracker {
}
private DownloadRequest buildDownloadRequest() {
return downloadHelper.getDownloadRequest(Util.getUtf8Bytes(name));
return downloadHelper.getDownloadRequest(Util.getUtf8Bytes(sample.name));
}
}
}

View file

@ -249,16 +249,11 @@ public class SampleChooserActivity extends AppCompatActivity
Toast.makeText(getApplicationContext(), downloadUnsupportedStringId, Toast.LENGTH_LONG)
.show();
} else {
UriSample uriSample = (UriSample) sample;
RenderersFactory renderersFactory =
((DemoApplication) getApplication())
.buildRenderersFactory(isNonNullAndChecked(preferExtensionDecodersMenuItem));
downloadTracker.toggleDownload(
getSupportFragmentManager(),
sample.name,
uriSample.uri,
uriSample.extension,
renderersFactory);
getSupportFragmentManager(), (UriSample) sample, renderersFactory);
}
}