From 8762efb86b0b43174f764f00a96a96e71b5ca139 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Mon, 8 Jul 2013 14:51:28 +0200 Subject: [PATCH] Load compactlayout setting only once. Buildfix. --- .../fdroid/fdroid/views/AppListAdapter.java | 42 +++++++++++-------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/src/org/fdroid/fdroid/views/AppListAdapter.java b/src/org/fdroid/fdroid/views/AppListAdapter.java index 525adb57a..7478009f8 100644 --- a/src/org/fdroid/fdroid/views/AppListAdapter.java +++ b/src/org/fdroid/fdroid/views/AppListAdapter.java @@ -19,7 +19,7 @@ abstract public class AppListAdapter extends BaseAdapter { private List items = new ArrayList(); private Context mContext; - boolean pref_compactlayout; + Boolean pref_compactlayout = null; public AppListAdapter(Context context) { mContext = context; @@ -84,16 +84,19 @@ abstract public class AppListAdapter extends BaseAdapter { icon.setImageResource(android.R.drawable.sym_def_app_icon); } + ImageView iconInstalled = (ImageView) convertView.findViewById(R.id.icon_status_installed); + ImageView iconUpdates = (ImageView) convertView.findViewById(R.id.icon_status_has_updates); + if (init) { - SharedPreferences prefs = PreferenceManager - .getDefaultSharedPreferences(mContext); - pref_compactlayout = prefs.getBoolean("compactlayout", false); + + if (pref_compactlayout == null) { + SharedPreferences prefs = PreferenceManager + .getDefaultSharedPreferences(mContext); + pref_compactlayout = prefs.getBoolean("compactlayout", false); + } if (pref_compactlayout == true) { - ImageView iconInstalled = (ImageView) convertView.findViewById(R.id.icon_status_installed); - ImageView iconUpdates = (ImageView) convertView.findViewById(R.id.icon_status_has_updates); - iconInstalled.setImageResource(R.drawable.ic_cab_done_holo_dark); iconUpdates.setImageResource(R.drawable.ic_menu_refresh); @@ -112,6 +115,21 @@ abstract public class AppListAdapter extends BaseAdapter { } } + if (pref_compactlayout == true) { + + if (app.hasUpdates && showStatusUpdate()) { + iconUpdates.setVisibility(View.VISIBLE); + } else { + iconUpdates.setVisibility(View.GONE); + } + + if (app.installedVerCode > 0 && showStatusInstalled()) { + iconInstalled.setVisibility(View.VISIBLE); + } else { + iconInstalled.setVisibility(View.GONE); + } + } + // Disable it all if it isn't compatible... View[] views = { convertView, status, summary, license, name }; for (View view : views) { @@ -121,16 +139,6 @@ abstract public class AppListAdapter extends BaseAdapter { return convertView; } - if (pref_compactlayout == true) { - if (app.hasUpdates && showStatusUpdate()) { - iconUpdates.setVisibility(View.VISIBLE); - } - - if (app.installedVerCode > 0 && showStatusInstalled()) { - iconInstalled.setVisibility(View.VISIBLE); - } - } - private String getVersionInfo(DB.App app) { StringBuilder version = new StringBuilder(); if (app.installedVersion != null) {