summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSudheer Shanka <sudheersai@google.com>2016-07-12 20:24:51 -0700
committerSudheer Shanka <sudheersai@google.com>2016-07-12 20:24:51 -0700
commitcf750e72b952843ed229b8a4b81a02a06aad0b63 (patch)
treeedeb33ebca4889e6f1a54a996738693205ca726d /src
parent3947c8d14e5a3383762a5cf2d029a3327e8c5fde (diff)
downloadandroid_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')
-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()) {