Download managed provisioning app to Downloads/ instead.
On devices without sdcardfs, DownloadManager creates files with the
wrong permissions; as a quick fix, download the file to Downloads/
instead, which should allow aboth DownloadManager and
ManagedProvisioning access.
Bug: 151986170
Test: verified APK could be downloaded and installed on Taimen
Change-Id: Ia306f1d9c06133f77ef14351c361619b47170f4d
(cherry picked from commit a21cb4ea26589931b2f6f55c91a3533e9175e51f)
diff --git a/src/com/android/managedprovisioning/task/DownloadPackageTask.java b/src/com/android/managedprovisioning/task/DownloadPackageTask.java
index adfb326..8e05c12 100644
--- a/src/com/android/managedprovisioning/task/DownloadPackageTask.java
+++ b/src/com/android/managedprovisioning/task/DownloadPackageTask.java
@@ -29,6 +29,7 @@
import android.content.IntentFilter;
import android.database.Cursor;
import android.net.Uri;
+import android.os.Environment;
import android.os.Handler;
import android.os.Looper;
import android.provider.Settings;
@@ -132,7 +133,8 @@
// Note that the apk may not actually be downloaded to this path. This could happen if
// this file already exists.
- String path = mContext.getExternalFilesDir(null)
+ String path = Environment.getExternalStoragePublicDirectory(
+ Environment.DIRECTORY_DOWNLOADS).getPath()
+ "/download_cache/managed_provisioning_downloaded_app.apk";
File downloadedFile = new File(path);
downloadedFile.getParentFile().mkdirs(); // If the folder doesn't exists it is created