diff options
author | Sudheer Shanka <sudheersai@google.com> | 2016-07-12 20:24:51 -0700 |
---|---|---|
committer | Sudheer Shanka <sudheersai@google.com> | 2016-07-12 20:24:51 -0700 |
commit | cf750e72b952843ed229b8a4b81a02a06aad0b63 (patch) | |
tree | edeb33ebca4889e6f1a54a996738693205ca726d /src/com/android/packageinstaller/PackageInstallerActivity.java | |
parent | 3947c8d14e5a3383762a5cf2d029a3327e8c5fde (diff) | |
download | android_packages_apps_PackageInstaller-cf750e72b952843ed229b8a4b81a02a06aad0b63.tar.gz android_packages_apps_PackageInstaller-cf750e72b952843ed229b8a4b81a02a06aad0b63.tar.bz2 android_packages_apps_PackageInstaller-cf750e72b952843ed229b8a4b81a02a06aad0b63.zip |
Trigger transparency dialog only if restriction is set by admin.
Bug: 30104199
Change-Id: I97a16938c36b4dadc9167652f6297acf829366e9
Diffstat (limited to 'src/com/android/packageinstaller/PackageInstallerActivity.java')
-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()) { |