summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/layout/grant_permissions.xml2
-rw-r--r--res/layout/review_permissions.xml6
-rwxr-xr-xres/values/styles.xml2
-rw-r--r--src/com/android/packageinstaller/PackageInstallerActivity.java16
-rw-r--r--src/com/android/packageinstaller/permission/ui/OverlayTouchActivity.java2
5 files changed, 18 insertions, 10 deletions
diff --git a/res/layout/grant_permissions.xml b/res/layout/grant_permissions.xml
index 92c0df9d..9b2194a2 100644
--- a/res/layout/grant_permissions.xml
+++ b/res/layout/grant_permissions.xml
@@ -87,7 +87,7 @@
</TextView>
<Space
- android:id="@*android:id/spacer"
+ android:id="@+id/spacer"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1"
diff --git a/res/layout/review_permissions.xml b/res/layout/review_permissions.xml
index 462f9a54..71d31917 100644
--- a/res/layout/review_permissions.xml
+++ b/res/layout/review_permissions.xml
@@ -56,7 +56,7 @@
android:layout_weight="1">
</FrameLayout>
- <com.android.internal.widget.ButtonBarLayout
+ <com.android.packageinstaller.permission.ui.ButtonBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
@@ -64,7 +64,7 @@
android:paddingTop="16dip">
<Space
- android:id="@*android:id/spacer"
+ android:id="@+id/spacer"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1"
@@ -85,6 +85,6 @@
android:layout_marginStart="8dip"
android:text="@string/review_button_continue" />
- </com.android.internal.widget.ButtonBarLayout>
+ </com.android.packageinstaller.permission.ui.ButtonBarLayout>
</LinearLayout>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index c69558b6..fba01589 100755
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -17,7 +17,7 @@
<resources>
<style name="Theme.DialogWhenLarge"
- parent="@android:style/Theme.Material.Light.DialogWhenLarge.NoActionBar">
+ parent="@android:style/Theme.DeviceDefault.Light.DialogWhenLarge.NoActionBar">
<item name="android:textAppearanceMedium">@style/MediumText</item>
<item name="android:textAppearanceSmall">@style/SmallText</item>
<item name="android:titleTextStyle">@style/TitleText</item>
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()) {
diff --git a/src/com/android/packageinstaller/permission/ui/OverlayTouchActivity.java b/src/com/android/packageinstaller/permission/ui/OverlayTouchActivity.java
index b23ab2e2..a7800ca5 100644
--- a/src/com/android/packageinstaller/permission/ui/OverlayTouchActivity.java
+++ b/src/com/android/packageinstaller/permission/ui/OverlayTouchActivity.java
@@ -40,6 +40,8 @@ public class OverlayTouchActivity extends Activity {
if (appOpsManager != null) {
appOpsManager.setUserRestriction(AppOpsManager.OP_SYSTEM_ALERT_WINDOW,
!allowed, mToken);
+ appOpsManager.setUserRestriction(AppOpsManager.OP_TOAST_WINDOW,
+ !allowed, mToken);
}
}
}