From a4fe44437a8a6b03df42059fa9c42588b5ef2a8d Mon Sep 17 00:00:00 2001 From: Miku Nyan Date: Mon, 10 Aug 2015 21:44:20 +0300 Subject: [PATCH] fix #361 --- .../res/layout-v11/app_permission_item.xml | 50 +++++++++++++++++++ F-Droid/res/layout/app_permission_item.xml | 6 +-- .../installer/AppSecurityPermissions.java | 24 ++++++--- 3 files changed, 70 insertions(+), 10 deletions(-) create mode 100644 F-Droid/res/layout-v11/app_permission_item.xml diff --git a/F-Droid/res/layout-v11/app_permission_item.xml b/F-Droid/res/layout-v11/app_permission_item.xml new file mode 100644 index 000000000..b5aab370d --- /dev/null +++ b/F-Droid/res/layout-v11/app_permission_item.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + diff --git a/F-Droid/res/layout/app_permission_item.xml b/F-Droid/res/layout/app_permission_item.xml index b5aab370d..4d555c216 100644 --- a/F-Droid/res/layout/app_permission_item.xml +++ b/F-Droid/res/layout/app_permission_item.xml @@ -22,8 +22,7 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" - android:orientation="horizontal" - android:background="?android:attr/selectableItemBackground"> + android:orientation="horizontal"> + android:layout_height="match_parent" /> = 17 && (perm.flags & PermissionInfo.FLAG_COSTS_MONEY) != 0 ? R.layout.app_permission_item_money : R.layout.app_permission_item, null); @@ -434,7 +445,8 @@ public class AppSecurityPermissions { // Dangerous and normal permissions are always shown to the user if the permission // is required, or it was previously granted - if ((isNormal || isDangerous) && (isRequired || wasGranted || isGranted)) { + if ((isNormal || isDangerous) && (isRequired || wasGranted || isGranted || + Build.VERSION.SDK_INT < 16)) { return true; } @@ -452,11 +464,11 @@ public class AppSecurityPermissions { PermissionGroupInfoComparator() { } public final int compare(MyPermissionGroupInfo a, MyPermissionGroupInfo b) { - if (((a.flags^b.flags)&PermissionGroupInfo.FLAG_PERSONAL_INFO) != 0) { - return ((a.flags&PermissionGroupInfo.FLAG_PERSONAL_INFO) != 0) ? -1 : 1; + if (((a.flags()^b.flags())&PermissionGroupInfo.FLAG_PERSONAL_INFO) != 0) { + return ((a.flags()&PermissionGroupInfo.FLAG_PERSONAL_INFO) != 0) ? -1 : 1; } - if (a.priority != b.priority) { - return a.priority > b.priority ? -1 : 1; + if (a.priority() != b.priority()) { + return a.priority() > b.priority() ? -1 : 1; } return sCollator.compare(a.mLabel, b.mLabel); } @@ -497,7 +509,7 @@ public class AppSecurityPermissions { if (pInfo.mNew) { addPermToList(group.mNewPermissions, pInfo); } - if ((group.flags&PermissionGroupInfo.FLAG_PERSONAL_INFO) != 0) { + if ((group.flags()&PermissionGroupInfo.FLAG_PERSONAL_INFO) != 0) { addPermToList(group.mPersonalPermissions, pInfo); } else { addPermToList(group.mDevicePermissions, pInfo);