diff --git a/res/layout/apklistitem.xml b/res/layout/apklistitem.xml index 50c55e1f5..d26c443a8 100644 --- a/res/layout/apklistitem.xml +++ b/res/layout/apklistitem.xml @@ -9,42 +9,47 @@ android:paddingLeft="2dp" android:paddingRight="2dp"> - - - - + + + + + + diff --git a/src/org/fdroid/fdroid/AppDetails.java b/src/org/fdroid/fdroid/AppDetails.java index b1165c4ff..1a863e7c5 100644 --- a/src/org/fdroid/fdroid/AppDetails.java +++ b/src/org/fdroid/fdroid/AppDetails.java @@ -113,49 +113,58 @@ public class AppDetails extends ListActivity { public View getView(int position, View convertView, ViewGroup parent) { java.text.DateFormat df = DateFormat.getDateFormat(mctx); + DB.Apk apk = items.get(position); View v = convertView; if (v == null) { LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = vi.inflate(R.layout.apklistitem, null); } - DB.Apk apk = items.get(position); - TextView version = (TextView) v.findViewById(R.id.version); - boolean iscurrent = apk.vercode == app_currentvercode; - version.setText(getString(R.string.version) + " " + apk.version - + (iscurrent ? " *" : "")); + v.setEnabled(apk.compatible); - TextView status = (TextView) v.findViewById(R.id.status); + TextView tv = (TextView) v.findViewById(R.id.version); + boolean iscurrent = apk.vercode == app_currentvercode; + tv.setText(getString(R.string.version) + " " + apk.version + + (iscurrent ? " *" : "")); + tv.setEnabled(apk.compatible); + + tv = (TextView) v.findViewById(R.id.status); if (apk.vercode == app.installedVerCode && apk.sig.equals(mInstalledSigID)) - status.setText(getString(R.string.inst)); + tv.setText(getString(R.string.inst)); else - status.setText(getString(R.string.not_inst)); + tv.setText(getString(R.string.not_inst)); + tv.setEnabled(apk.compatible); - TextView size = (TextView) v.findViewById(R.id.size); + tv = (TextView) v.findViewById(R.id.size); if (apk.detail_size == 0) { - size.setText(""); + tv.setText(""); } else { - size.setText(Utils.getFriendlySize(apk.detail_size)); + tv.setText(Utils.getFriendlySize(apk.detail_size)); + tv.setEnabled(apk.compatible); } - TextView buildtype = (TextView) v.findViewById(R.id.buildtype); + tv = (TextView) v.findViewById(R.id.buildtype); if (apk.srcname != null) { - buildtype.setText("source"); + tv.setText("source"); } else { - buildtype.setText("bin"); + tv.setText("bin"); } - TextView added = (TextView) v.findViewById(R.id.added); + tv.setEnabled(apk.compatible); + tv = (TextView) v.findViewById(R.id.added); if (apk.added != null) { - added.setVisibility(View.VISIBLE); - added.setText(getString(R.string.added_on, df.format(apk.added))); + tv.setVisibility(View.VISIBLE); + tv.setText(getString(R.string.added_on, df.format(apk.added))); + tv.setEnabled(apk.compatible); } else { - added.setVisibility(View.GONE); + tv.setVisibility(View.GONE); } - - // Disable it all if it isn't compatible... - View[] views = { v, version, status, size, buildtype, added }; - for (View view : views) { - view.setEnabled(apk.compatible); + tv = (TextView) v.findViewById(R.id.nativecode); + if (pref_expert && apk.nativecode != null) { + tv.setVisibility(View.VISIBLE); + tv.setText(apk.nativecode.toString().replaceAll(","," ")); + tv.setEnabled(apk.compatible); + } else { + tv.setVisibility(View.GONE); } return v;