diff options
author | Svetoslav Ganov <svetoslavganov@google.com> | 2016-01-15 00:34:02 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2016-01-15 00:34:02 +0000 |
commit | e3ebb33a49099621c08edf07f40a06a4d0429cf3 (patch) | |
tree | 804b6cec798b6f1bcbd7f39a313f7743be759b28 /src | |
parent | b0a98d2e4778e39b62b3731cbc27cf6fdb541e24 (diff) | |
parent | c23d802958158d522e7350321ad9ac6d43013883 (diff) | |
download | android_packages_apps_PackageInstaller-e3ebb33a49099621c08edf07f40a06a4d0429cf3.tar.gz android_packages_apps_PackageInstaller-e3ebb33a49099621c08edf07f40a06a4d0429cf3.tar.bz2 android_packages_apps_PackageInstaller-e3ebb33a49099621c08edf07f40a06a4d0429cf3.zip |
Merge "Improve untrusted sources UX for app side-loading"
am: c23d802958
* commit 'c23d802958158d522e7350321ad9ac6d43013883':
Improve untrusted sources UX for app side-loading
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/packageinstaller/PackageInstallerActivity.java | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/src/com/android/packageinstaller/PackageInstallerActivity.java b/src/com/android/packageinstaller/PackageInstallerActivity.java index 3ea3959d..0d283e22 100644 --- a/src/com/android/packageinstaller/PackageInstallerActivity.java +++ b/src/com/android/packageinstaller/PackageInstallerActivity.java @@ -68,6 +68,8 @@ import java.util.List; public class PackageInstallerActivity extends Activity implements OnCancelListener, OnClickListener { private static final String TAG = "PackageInstaller"; + private static final int REQUEST_ENABLE_UNKNOWN_SOURCES = 1; + private int mSessionId = -1; private Uri mPackageURI; private Uri mOriginatingURI; @@ -245,7 +247,7 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen .setPositiveButton(R.string.settings, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { Log.i(TAG, "Launching settings"); - launchSettingsAppAndFinish(); + launchSecuritySettings(); } }) .setOnCancelListener(this) @@ -350,12 +352,21 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen return null; } - private void launchSettingsAppAndFinish() { - // Create an intent to launch SettingsTwo activity + private void launchSecuritySettings() { Intent launchSettingsIntent = new Intent(Settings.ACTION_SECURITY_SETTINGS); - launchSettingsIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - startActivity(launchSettingsIntent); - finish(); + startActivityForResult(launchSettingsIntent, REQUEST_ENABLE_UNKNOWN_SOURCES); + } + + @Override + public void onActivityResult(int request, int result, Intent data) { + // If the settings app approved the install we are good to go regardless + // whether the untrusted sources setting is on. This allows partners to + // implement a "allow untrusted source once" feature. + if (request == REQUEST_ENABLE_UNKNOWN_SOURCES && result == RESULT_OK) { + initiateInstall(); + } else { + finish(); + } } private boolean isInstallRequestFromUnknownSource(Intent intent) { |