summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2016-07-14 02:38:13 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2016-07-14 02:38:13 +0000
commit949da454a76c2e9bfc789a380ed1faf174421806 (patch)
tree69f5cf24a3d71f60ecb13e16609dda156d96ef6b /src
parentefd0688be93d888b8a8522ef091388911e857f07 (diff)
parentcf750e72b952843ed229b8a4b81a02a06aad0b63 (diff)
downloadandroid_packages_apps_PackageInstaller-949da454a76c2e9bfc789a380ed1faf174421806.tar.gz
android_packages_apps_PackageInstaller-949da454a76c2e9bfc789a380ed1faf174421806.tar.bz2
android_packages_apps_PackageInstaller-949da454a76c2e9bfc789a380ed1faf174421806.zip
Merge "Trigger transparency dialog only if restriction is set by admin." into nyc-mr1-dev
Diffstat (limited to 'src')
-rw-r--r--src/com/android/packageinstaller/PackageInstallerActivity.java16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/com/android/packageinstaller/PackageInstallerActivity.java b/src/com/android/packageinstaller/PackageInstallerActivity.java
index 1903f917..50ef0bf0 100644
--- a/src/com/android/packageinstaller/PackageInstallerActivity.java
+++ b/src/com/android/packageinstaller/PackageInstallerActivity.java
@@ -37,6 +37,7 @@ import android.net.Uri;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
+import android.os.Process;
import android.os.UserManager;
import android.provider.Settings;
import android.support.v4.view.ViewPager;
@@ -360,8 +361,8 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
/**
* @return whether the device admin restricts installation from unknown sources
*/
- private boolean isUnknownSourcesAllowedByAdmin() {
- return !mUserManager.hasUserRestriction(UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES);
+ private boolean isUnknownSourcesDisallowed() {
+ return mUserManager.hasUserRestriction(UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES);
}
private void initiateInstall() {
@@ -463,9 +464,14 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
// If the admin prohibits it, or we're running in a managed profile, just show error
// and exit. Otherwise show an option to take the user to Settings to change the setting.
final boolean isManagedProfile = mUserManager.isManagedProfile();
- if (!isUnknownSourcesAllowedByAdmin()) {
- startActivity(new Intent(Settings.ACTION_SHOW_ADMIN_SUPPORT_DETAILS));
- clearCachedApkIfNeededAndFinish();
+ if (isUnknownSourcesDisallowed()) {
+ if ((mUserManager.getUserRestrictionSource(UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES,
+ Process.myUserHandle()) & UserManager.RESTRICTION_SOURCE_SYSTEM) != 0) {
+ showDialogInner(DLG_UNKNOWN_SOURCES);
+ } else {
+ startActivity(new Intent(Settings.ACTION_SHOW_ADMIN_SUPPORT_DETAILS));
+ clearCachedApkIfNeededAndFinish();
+ }
} else if (!isUnknownSourcesEnabled() && isManagedProfile) {
showDialogInner(DLG_ADMIN_RESTRICTS_UNKNOWN_SOURCES);
} else if (!isUnknownSourcesEnabled()) {