aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2013-09-06 08:40:13 +0200
committerDominik Schürmann <dominik@dominikschuermann.de>2013-09-06 08:40:13 +0200
commit4030739a99a2e1ce232c6c3ab92ab21ad5bc3b4d (patch)
tree5da2b12bc5b998728d3c72d4fa66b907d70b592e
parent2b303d35583a31dfa994ca722f98446a474eb5ae (diff)
downloadopen-keychain-4030739a99a2e1ce232c6c3ab92ab21ad5bc3b4d.tar.gz
open-keychain-4030739a99a2e1ce232c6c3ab92ab21ad5bc3b4d.tar.bz2
open-keychain-4030739a99a2e1ce232c6c3ab92ab21ad5bc3b4d.zip
api apps adapter with icons
-rw-r--r--OpenPGP-Keychain/res/layout/api_apps_adapter_list_item.xml28
-rw-r--r--OpenPGP-Keychain/res/values/strings.xml1
-rw-r--r--OpenPGP-Keychain/src/org/sufficientlysecure/keychain/remote_api/AppSettingsActivity.java3
-rw-r--r--OpenPGP-Keychain/src/org/sufficientlysecure/keychain/remote_api/RegisteredAppsAdapter.java18
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);
}
}