Skip to content

Commit 4f2c3dd

Browse files
author
Manny Jimenez
committed
Mimicing functionality that NAUTM uses
1 parent b4d99fc commit 4f2c3dd

File tree

2 files changed

+22
-8
lines changed

2 files changed

+22
-8
lines changed

firebase-app-distribution/src/main/java/com/google/firebase/appdistribution/InstallActivity.java

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,22 @@ protected void onCreate(@NonNull Bundle savedInstanceState) {
4545
String path = originalIntent.getStringExtra("INSTALL_PATH");
4646
Intent intent = new Intent(Intent.ACTION_VIEW);
4747
intent.putExtra(Intent.EXTRA_RETURN_RESULT, true);
48-
Uri apkUri =
49-
FileProvider.getUriForFile(
50-
getApplicationContext(),
51-
getApplicationContext().getPackageName() + ".appdistro.fileprovider",
52-
new File(path));
48+
File apkFile = new File(path);
5349
String APK_MIME_TYPE = "application/vnd.android.package-archive";
54-
intent.setDataAndType(apkUri, APK_MIME_TYPE);
55-
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
50+
51+
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
52+
Uri apkUri =
53+
FileProvider.getUriForFile(
54+
getApplicationContext(),
55+
getApplicationContext().getPackageName() + ".appdistro.fileprovider",
56+
apkFile);
57+
intent.setDataAndType(apkUri, APK_MIME_TYPE);
58+
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
59+
} else {
60+
LogWrapper.getInstance().d("Requesting a vanilla URI");
61+
intent.setDataAndType(Uri.fromFile(apkFile), APK_MIME_TYPE);
62+
}
63+
5664
mStartForResult.launch(intent);
5765
}
5866

firebase-app-distribution/src/main/java/com/google/firebase/appdistribution/UpdateApkClient.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,13 @@ private void downloadToDisk(
181181
long bytesDownloaded = 0;
182182
try (BufferedOutputStream outputStream =
183183
new BufferedOutputStream(
184-
firebaseApp.getApplicationContext().openFileOutput(fileName, Context.MODE_PRIVATE))) {
184+
firebaseApp
185+
.getApplicationContext()
186+
.openFileOutput(
187+
fileName,
188+
android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N
189+
? Context.MODE_PRIVATE
190+
: Context.MODE_WORLD_READABLE))) {
185191

186192
byte[] data = new byte[8 * 1024];
187193
int readSize = input.read(data);

0 commit comments

Comments
 (0)