diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2016-07-14 02:38:13 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2016-07-14 02:38:13 +0000 |
commit | 949da454a76c2e9bfc789a380ed1faf174421806 (patch) | |
tree | 69f5cf24a3d71f60ecb13e16609dda156d96ef6b /src | |
parent | efd0688be93d888b8a8522ef091388911e857f07 (diff) | |
parent | cf750e72b952843ed229b8a4b81a02a06aad0b63 (diff) | |
download | android_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.java | 16 |
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()) { |