From 07a161c0a95d14df9e46b71d8bd50c1eaddb8b18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Sun, 21 Jul 2013 13:20:42 +0200 Subject: [PATCH] Don't crash if no apks are listed --- src/org/fdroid/fdroid/AppDetails.java | 40 ++++++++++++++------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/src/org/fdroid/fdroid/AppDetails.java b/src/org/fdroid/fdroid/AppDetails.java index 287ca5905..b5e421c2a 100644 --- a/src/org/fdroid/fdroid/AppDetails.java +++ b/src/org/fdroid/fdroid/AppDetails.java @@ -456,29 +456,31 @@ public class AppDetails extends ListActivity { tv = (TextView) infoView.findViewById(R.id.summary); tv.setText(app.summary); - tv = (TextView) infoView.findViewById(R.id.permissions_list); + if (!app.apks.isEmpty()) { + tv = (TextView) infoView.findViewById(R.id.permissions_list); - CommaSeparatedList permsList = app.apks.get(0).detail_permissions; - if (permsList == null) { - tv.setText(getString(R.string.no_permissions) + '\n'); - } else { - Iterator permissions = permsList.iterator(); - StringBuilder sb = new StringBuilder(); - while (permissions.hasNext()) { - String permissionName = permissions.next(); - try { - Permission permission = new Permission(this, permissionName); - sb.append("\t• " + permission.getName() + '\n'); - } catch (NameNotFoundException e) { - Log.d( "FDroid", - "Can't find permission '" + permissionName + "'"); + CommaSeparatedList permsList = app.apks.get(0).detail_permissions; + if (permsList == null) { + tv.setText(getString(R.string.no_permissions) + '\n'); + } else { + Iterator permissions = permsList.iterator(); + StringBuilder sb = new StringBuilder(); + while (permissions.hasNext()) { + String permissionName = permissions.next(); + try { + Permission permission = new Permission(this, permissionName); + sb.append("\t• " + permission.getName() + '\n'); + } catch (NameNotFoundException e) { + Log.d( "FDroid", + "Can't find permission '" + permissionName + "'"); + } } + tv.setText(sb.toString()); } - tv.setText(sb.toString()); + tv = (TextView) infoView.findViewById(R.id.permissions); + tv.setText(getString( + R.string.permissions_for_long, app.apks.get(0).version)); } - tv = (TextView) infoView.findViewById(R.id.permissions); - tv.setText(getString( - R.string.permissions_for_long, app.apks.get(0).version)); } private void updateViews() {