Merge "Modify sample streaming app to use state change reason"
diff --git a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsSampleDownloadService.java b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsSampleDownloadService.java
index a5a1327..5a92165 100644
--- a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsSampleDownloadService.java
+++ b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsSampleDownloadService.java
@@ -255,7 +255,8 @@
// Compose the FILE_DESCRIPTOR_REQUEST_INTENT
Intent requestIntent = new Intent(MbmsDownloadManager.ACTION_FILE_DESCRIPTOR_REQUEST);
requestIntent.putExtra(MbmsDownloadManager.EXTRA_SERVICE_INFO,
- request.getFileServiceInfo());
+ FileServiceRepository.getInstance(this)
+ .getFileServiceInfoForId(request.getFileServiceId()));
requestIntent.putExtra(MbmsDownloadManager.EXTRA_FD_COUNT, numFds);
requestIntent.putExtra(MbmsDownloadManager.EXTRA_TEMP_FILE_ROOT,
mAppTempFileRoots.get(appKey));
@@ -286,7 +287,9 @@
Bundle extras) {
List<UriPathPair> tempFiles = extras.getParcelableArrayList(
MbmsDownloadManager.EXTRA_FREE_URI_LIST);
- List<FileInfo> filesToDownload = request.getFileServiceInfo().getFiles();
+ List<FileInfo> filesToDownload = FileServiceRepository.getInstance(this)
+ .getFileServiceInfoForId(request.getFileServiceId())
+ .getFiles();
if (tempFiles.size() != filesToDownload.size()) {
Log.w(LOG_TAG, "Different numbers of temp files and files to download...");
@@ -304,7 +307,7 @@
break;
}
UriPathPair tempFile = tempFiles.get(i);
- addTempFileInUse(appKey, request.getFileServiceInfo().getServiceId(),
+ addTempFileInUse(appKey, request.getFileServiceId(),
tempFile.getFilePathUri());
FileInfo fileToDownload = filesToDownload.get(i);
mHandler.postDelayed(() -> {
@@ -313,7 +316,7 @@
return;
}
downloadSingleFile(appKey, request, tempFile, fileToDownload);
- removeTempFileInUse(appKey, request.getFileServiceInfo().getServiceId(),
+ removeTempFileInUse(appKey, request.getFileServiceId(),
tempFile.getFilePathUri());
}, FILE_SEPARATION_DELAY * i * mDownloadDelayFactor);
}
@@ -346,9 +349,17 @@
result = MbmsDownloadManager.RESULT_CANCELLED;
}
+ // Take a round-trip through the download request serialization to exercise it
+ DownloadRequest request1 = new DownloadRequest.Builder()
+ .setSource(request.getSourceUri())
+ .setSubscriptionId(request.getSubscriptionId())
+ .setServiceId(request.getFileServiceId())
+ .setOpaqueData(request.getOpaqueData())
+ .build();
+
Intent downloadResultIntent =
new Intent(MbmsDownloadManager.ACTION_DOWNLOAD_RESULT_INTERNAL);
- downloadResultIntent.putExtra(MbmsDownloadManager.EXTRA_REQUEST, request);
+ downloadResultIntent.putExtra(MbmsDownloadManager.EXTRA_REQUEST, request1);
downloadResultIntent.putExtra(MbmsDownloadManager.EXTRA_FINAL_URI,
tempFile.getFilePathUri());
downloadResultIntent.putExtra(MbmsDownloadManager.EXTRA_FILE_INFO, fileToDownload);
@@ -383,7 +394,8 @@
}
private int getNumFdsNeededForRequest(DownloadRequest request) {
- return request.getFileServiceInfo().getFiles().size();
+ return FileServiceRepository.getInstance(this)
+ .getFileServiceInfoForId(request.getFileServiceId()).getFiles().size();
}
private void addTempFileInUse(FrontendAppIdentifier appKey, String serviceId, Uri tempFileUri) {
diff --git a/testapps/EmbmsTestDownloadApp/src/com/android/phone/testapps/embmsdownload/EmbmsTestDownloadApp.java b/testapps/EmbmsTestDownloadApp/src/com/android/phone/testapps/embmsdownload/EmbmsTestDownloadApp.java
index 890cc1a..80045ce 100644
--- a/testapps/EmbmsTestDownloadApp/src/com/android/phone/testapps/embmsdownload/EmbmsTestDownloadApp.java
+++ b/testapps/EmbmsTestDownloadApp/src/com/android/phone/testapps/embmsdownload/EmbmsTestDownloadApp.java
@@ -354,7 +354,6 @@
completionIntent.setClass(this, DownloadCompletionReceiver.class);
DownloadRequest request = new DownloadRequest.Builder()
- .setId(0)
.setServiceInfo(info)
.setSource(sourceUriBuilder.build())
.setDest(Uri.fromFile(destination))