[tbb-commits] [tor-browser/tor-browser-60.4.0esr-8.5-1] Bug 1450449 - Part 4: Starting from Nougat, install updates via content:// URIs. r=jchen
gk at torproject.org
gk at torproject.org
Thu Jan 24 20:03:43 UTC 2019
commit 3b926685447ea2056e73d9b3396ea8d5cbdd349f
Author: Jan Henning <jh+bugzilla at buttercookie.de>
Date: Sat May 12 23:34:25 2018 +0200
Bug 1450449 - Part 4: Starting from Nougat, install updates via content:// URIs. r=jchen
We download the update APK into the public downloads directory and normally the
only relevant app consuming that URI should be the system package installer, but
just to be safe we only switch usage from Nougat onward, too.
MozReview-Commit-ID: GtoXMJ7NdJ3
--HG--
extra : rebase_source : 1e85f8352b7a59cb3cd2fd3034a0103c8705ff09
---
.../base/java/org/mozilla/gecko/updater/UpdateService.java | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/mobile/android/base/java/org/mozilla/gecko/updater/UpdateService.java b/mobile/android/base/java/org/mozilla/gecko/updater/UpdateService.java
index 71e1097711d9..d5093efca6d6 100644
--- a/mobile/android/base/java/org/mozilla/gecko/updater/UpdateService.java
+++ b/mobile/android/base/java/org/mozilla/gecko/updater/UpdateService.java
@@ -36,6 +36,7 @@ import android.os.Environment;
import android.provider.Settings;
import android.support.v4.app.NotificationManagerCompat;
import android.support.v4.content.ContextCompat;
+import android.support.v4.content.FileProvider;
import android.support.v4.net.ConnectivityManagerCompat;
import android.support.v4.app.NotificationCompat;
import android.support.v4.app.NotificationCompat.Builder;
@@ -707,8 +708,15 @@ public class UpdateService extends IntentService {
}
Intent intent = new Intent(Intent.ACTION_VIEW);
- intent.setDataAndType(Uri.fromFile(updateFile), "application/vnd.android.package-archive");
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ if (AppConstants.Versions.preN) {
+ intent.setDataAndType(Uri.fromFile(updateFile), "application/vnd.android.package-archive");
+ } else {
+ Uri apkUri = FileProvider.getUriForFile(this,
+ AppConstants.MOZ_FILE_PROVIDER_AUTHORITY, updateFile);
+ intent.setDataAndType(apkUri, "application/vnd.android.package-archive");
+ intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+ }
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
More information about the tbb-commits
mailing list