diff options
-rw-r--r-- | res/layout/grant_permissions.xml | 2 | ||||
-rw-r--r-- | res/layout/review_permissions.xml | 6 | ||||
-rwxr-xr-x | res/values/styles.xml | 2 | ||||
-rw-r--r-- | src/com/android/packageinstaller/PackageInstallerActivity.java | 16 | ||||
-rw-r--r-- | src/com/android/packageinstaller/permission/ui/OverlayTouchActivity.java | 2 |
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); } } } |