From 688142c83ea61402d8111e97c0c3937aedb5a4f3 Mon Sep 17 00:00:00 2001 From: Peter Serwylo Date: Sun, 28 Apr 2013 18:48:22 +1000 Subject: [PATCH 1/4] bede's changes for adding permissions to app details. --- res/layout/appinfo.xml | 14 +++++++++ res/values/strings.xml | 3 ++ res/xml/preferences.xml | 1 + src/org/fdroid/fdroid/AppDetails.java | 17 +++++++++++ src/org/fdroid/fdroid/Permission.java | 42 +++++++++++++++++++++++++++ 5 files changed, 77 insertions(+) create mode 100644 src/org/fdroid/fdroid/Permission.java diff --git a/res/layout/appinfo.xml b/res/layout/appinfo.xml index 9fbc5ac81..90bf38fcc 100644 --- a/res/layout/appinfo.xml +++ b/res/layout/appinfo.xml @@ -28,5 +28,19 @@ android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="false" /> + + + + diff --git a/res/values/strings.xml b/res/values/strings.xml index 3a064405c..b759aeed2 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -163,5 +163,8 @@ Processing application\n%2$d of %3$d from\n%1$s Connecting to\n%1$s Checking all apps compatibility with your device… + Permissions + Show permissions + Display a list of permissions an app needs diff --git a/res/xml/preferences.xml b/res/xml/preferences.xml index 2935561de..d99d4e0af 100644 --- a/res/xml/preferences.xml +++ b/res/xml/preferences.xml @@ -53,6 +53,7 @@ + Date: Sun, 28 Apr 2013 18:52:26 +1000 Subject: [PATCH 2/4] i18n permissions. --- res/layout/appinfo.xml | 3 ++- src/org/fdroid/fdroid/AppDetails.java | 26 +++++++++++++++++++++----- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/res/layout/appinfo.xml b/res/layout/appinfo.xml index 90bf38fcc..b14d133e3 100644 --- a/res/layout/appinfo.xml +++ b/res/layout/appinfo.xml @@ -35,9 +35,10 @@ android:layout_height="wrap_content" android:singleLine="true" android:textSize="14sp" + android:textStyle="bold" android:text="@string/permissions" /> - permissions = app.apks.get(0).detail_permissions.iterator(); + if (null != permissions && permissions.hasNext()) { + StringBuilder sb = new StringBuilder(); + while(permissions.hasNext()) { + String permissionName = permissions.next(); + try { + Permission permission = new Permission(this, permissionName); + sb.append(permission.getName()); + if (permissions.hasNext()) { + sb.append('\n'); + } + } catch (NameNotFoundException e) { + Log.d( "FDroid", + "Can't find permsission '" + permissionName + "'"); + } + } + tv.setText(sb.toString()); + } else { tv.setText("NONE"); } } else { From 8c41f18a1bfe0ad7831620af25ea2c14eeb533da Mon Sep 17 00:00:00 2001 From: Peter Serwylo Date: Sun, 28 Apr 2013 19:57:12 +1000 Subject: [PATCH 3/4] Change permissions string to include version number of latest. --- res/layout/appinfo.xml | 3 +-- res/values/strings.xml | 2 +- src/org/fdroid/fdroid/AppDetails.java | 3 +++ 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/res/layout/appinfo.xml b/res/layout/appinfo.xml index b14d133e3..6c86329d0 100644 --- a/res/layout/appinfo.xml +++ b/res/layout/appinfo.xml @@ -35,8 +35,7 @@ android:layout_height="wrap_content" android:singleLine="true" android:textSize="14sp" - android:textStyle="bold" - android:text="@string/permissions" /> + android:textStyle="bold" /> Processing application\n%2$d of %3$d from\n%1$s Connecting to\n%1$s Checking all apps compatibility with your device… - Permissions + Permissions for v%s Show permissions Display a list of permissions an app needs diff --git a/src/org/fdroid/fdroid/AppDetails.java b/src/org/fdroid/fdroid/AppDetails.java index f9548a6c2..d8a2bad32 100644 --- a/src/org/fdroid/fdroid/AppDetails.java +++ b/src/org/fdroid/fdroid/AppDetails.java @@ -462,6 +462,9 @@ public class AppDetails extends ListActivity { } else { tv.setText("NONE"); } + tv = (TextView) infoView.findViewById(R.id.permissions); + tv.setText(getResources().getString( + R.string.permissions, app.apks.get(0).version)); } else { tv.setVisibility(View.GONE); tv = (TextView) infoView.findViewById(R.id.permissions); From bc791f2338e0fc7c7168dc3b7a08ef7cb08c97a4 Mon Sep 17 00:00:00 2001 From: Peter Serwylo Date: Mon, 29 Apr 2013 10:38:27 +1000 Subject: [PATCH 4/4] Fix null pointer from detail_permissions --- src/org/fdroid/fdroid/AppDetails.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/org/fdroid/fdroid/AppDetails.java b/src/org/fdroid/fdroid/AppDetails.java index d8a2bad32..e4548f4de 100644 --- a/src/org/fdroid/fdroid/AppDetails.java +++ b/src/org/fdroid/fdroid/AppDetails.java @@ -442,7 +442,8 @@ public class AppDetails extends ListActivity { tv = (TextView) infoView.findViewById(R.id.permissions_list); if (pref_permissions) { - Iterator permissions = app.apks.get(0).detail_permissions.iterator(); + CommaSeparatedList permsList = app.apks.get(0).detail_permissions; + Iterator permissions = permsList != null ? permsList.iterator() : null; if (null != permissions && permissions.hasNext()) { StringBuilder sb = new StringBuilder(); while(permissions.hasNext()) {