diff options
author | Dominik Schürmann <dominik@dominikschuermann.de> | 2013-09-06 08:40:13 +0200 |
---|---|---|
committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2013-09-06 08:40:13 +0200 |
commit | 4030739a99a2e1ce232c6c3ab92ab21ad5bc3b4d (patch) | |
tree | 5da2b12bc5b998728d3c72d4fa66b907d70b592e | |
parent | 2b303d35583a31dfa994ca722f98446a474eb5ae (diff) | |
download | open-keychain-4030739a99a2e1ce232c6c3ab92ab21ad5bc3b4d.tar.gz open-keychain-4030739a99a2e1ce232c6c3ab92ab21ad5bc3b4d.tar.bz2 open-keychain-4030739a99a2e1ce232c6c3ab92ab21ad5bc3b4d.zip |
api apps adapter with icons
4 files changed, 41 insertions, 9 deletions
diff --git a/OpenPGP-Keychain/res/layout/api_apps_adapter_list_item.xml b/OpenPGP-Keychain/res/layout/api_apps_adapter_list_item.xml new file mode 100644 index 000000000..cb20a20af --- /dev/null +++ b/OpenPGP-Keychain/res/layout/api_apps_adapter_list_item.xml @@ -0,0 +1,28 @@ +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="?android:attr/listPreferredItemHeight" + android:gravity="left" + android:orientation="horizontal" > + + <ImageView + android:id="@+id/api_apps_adapter_item_icon" + android:layout_width="48dp" + android:layout_height="48dp" + android:layout_alignParentBottom="true" + android:layout_alignParentTop="true" + android:layout_marginLeft="8dp" + android:layout_marginRight="8dp" + android:src="@drawable/icon" /> + + <TextView + android:id="@+id/api_apps_adapter_item_name" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_centerVertical="true" + android:layout_toRightOf="@+id/api_apps_adapter_item_icon" + android:gravity="center_vertical" + android:orientation="vertical" + android:text="Set in-code!" + android:textAppearance="?android:attr/textAppearanceMedium" /> + +</RelativeLayout>
\ No newline at end of file diff --git a/OpenPGP-Keychain/res/values/strings.xml b/OpenPGP-Keychain/res/values/strings.xml index 5aa4081fb..4165e9057 100644 --- a/OpenPGP-Keychain/res/values/strings.xml +++ b/OpenPGP-Keychain/res/values/strings.xml @@ -362,7 +362,6 @@ <!-- Remote API --> <string name="api_no_apps">No registered applications!</string> - <string name="api_unknown_app">Unknown app</string> <string name="api_settings_show_advanced">Show advanced settings…</string> <string name="api_settings_hide_advanced">Hide advanced settings…</string> <string name="api_settings_no_key">No key selected</string> diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/remote_api/AppSettingsActivity.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/remote_api/AppSettingsActivity.java index 8d32dd3f5..44212b5b3 100644 --- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/remote_api/AppSettingsActivity.java +++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/remote_api/AppSettingsActivity.java @@ -145,7 +145,8 @@ public class AppSettingsActivity extends SherlockFragmentActivity { appName = (String) pm.getApplicationLabel(ai); appIcon = pm.getApplicationIcon(ai); } catch (final NameNotFoundException e) { - appName = getString(R.string.api_unknown_app); + // fallback + appName = mPackageName; } appNameView.setText(appName); appIconView.setImageDrawable(appIcon); diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/remote_api/RegisteredAppsAdapter.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/remote_api/RegisteredAppsAdapter.java index 71a819ec2..9bf66a90a 100644 --- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/remote_api/RegisteredAppsAdapter.java +++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/remote_api/RegisteredAppsAdapter.java @@ -28,6 +28,7 @@ import android.support.v4.widget.CursorAdapter; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.ImageView; import android.widget.TextView; public class RegisteredAppsAdapter extends CursorAdapter { @@ -44,28 +45,31 @@ public class RegisteredAppsAdapter extends CursorAdapter { @Override public void bindView(View view, Context context, Cursor cursor) { - TextView text1 = (TextView) view.findViewById(android.R.id.text1); - TextView text2 = (TextView) view.findViewById(android.R.id.text2); + TextView text = (TextView) view.findViewById(R.id.api_apps_adapter_item_name); + ImageView icon = (ImageView) view.findViewById(R.id.api_apps_adapter_item_icon); String packageName = cursor.getString(cursor.getColumnIndex(ApiApps.PACKAGE_NAME)); if (packageName != null) { - text2.setText(packageName); - // get application name try { ApplicationInfo ai = pm.getApplicationInfo(packageName, 0); - text1.setText(pm.getApplicationLabel(ai)); + text.setText(pm.getApplicationLabel(ai)); + icon.setImageDrawable(pm.getApplicationIcon(ai)); } catch (final NameNotFoundException e) { - text1.setText(R.string.api_unknown_app); + // fallback + text.setText(packageName); } + } else { + // fallback + text.setText(packageName); } } @Override public View newView(Context context, Cursor cursor, ViewGroup parent) { - return mInflater.inflate(android.R.layout.simple_list_item_2, null); + return mInflater.inflate(R.layout.api_apps_adapter_list_item, null); } } |