diff options
author | Dominik Schürmann <dominik@dominikschuermann.de> | 2013-09-13 10:25:01 +0200 |
---|---|---|
committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2013-09-13 10:25:01 +0200 |
commit | a4ae97628434b5b2e86e09b2718fda9559ea9c7f (patch) | |
tree | 23851fbec1377b137e11f69fee91dd804bab46f7 /OpenPGP-Keychain-API-Demo/src/org | |
parent | ca8f8e3ff7dd4742f65b541e4a8304433c093f87 (diff) | |
download | open-keychain-a4ae97628434b5b2e86e09b2718fda9559ea9c7f.tar.gz open-keychain-a4ae97628434b5b2e86e09b2718fda9559ea9c7f.tar.bz2 open-keychain-a4ae97628434b5b2e86e09b2718fda9559ea9c7f.zip |
Fix intent for api, fix slection dialog in demo
Diffstat (limited to 'OpenPGP-Keychain-API-Demo/src/org')
2 files changed, 54 insertions, 46 deletions
diff --git a/OpenPGP-Keychain-API-Demo/src/org/sufficientlysecure/keychain/demo/BaseActivity.java b/OpenPGP-Keychain-API-Demo/src/org/sufficientlysecure/keychain/demo/BaseActivity.java index e4fd8cd99..5b286f208 100644 --- a/OpenPGP-Keychain-API-Demo/src/org/sufficientlysecure/keychain/demo/BaseActivity.java +++ b/OpenPGP-Keychain-API-Demo/src/org/sufficientlysecure/keychain/demo/BaseActivity.java @@ -50,7 +50,7 @@ public class BaseActivity extends PreferenceActivity { // find preferences mIntentDemo = (Preference) findPreference("intent_demo"); mContentProviderDemo = (Preference) findPreference("content_provider_demo"); - mCryptoProvider = (Preference) findPreference("crypto_provider_demo"); + mCryptoProvider = (Preference) findPreference("openpgp_provider_demo"); mAidlDemo = (Preference) findPreference("aidl_demo"); mAidlDemo2 = (Preference) findPreference("aidl_demo2"); diff --git a/OpenPGP-Keychain-API-Demo/src/org/sufficientlysecure/keychain/demo/OpenPgpProviderActivity.java b/OpenPGP-Keychain-API-Demo/src/org/sufficientlysecure/keychain/demo/OpenPgpProviderActivity.java index 0780eed5a..2c2b86835 100644 --- a/OpenPGP-Keychain-API-Demo/src/org/sufficientlysecure/keychain/demo/OpenPgpProviderActivity.java +++ b/OpenPGP-Keychain-API-Demo/src/org/sufficientlysecure/keychain/demo/OpenPgpProviderActivity.java @@ -186,12 +186,12 @@ public class OpenPgpProviderActivity extends Activity { } } - private static class OpenPGPProviderElement { + private static class OpenPgpProviderElement { private String packageName; private String simpleName; private Drawable icon; - public OpenPGPProviderElement(String packageName, String simpleName, Drawable icon) { + public OpenPgpProviderElement(String packageName, String simpleName, Drawable icon) { this.packageName = packageName; this.simpleName = simpleName; this.icon = icon; @@ -206,7 +206,7 @@ public class OpenPgpProviderActivity extends Activity { private void selectCryptoProvider() { Intent intent = new Intent(IOpenPgpService.class.getName()); - final ArrayList<OpenPGPProviderElement> providerList = new ArrayList<OpenPGPProviderElement>(); + final ArrayList<OpenPgpProviderElement> providerList = new ArrayList<OpenPgpProviderElement>(); List<ResolveInfo> resInfo = getPackageManager().queryIntentServices(intent, 0); if (!resInfo.isEmpty()) { @@ -218,62 +218,70 @@ public class OpenPgpProviderActivity extends Activity { String simpleName = String.valueOf(resolveInfo.serviceInfo .loadLabel(getPackageManager())); Drawable icon = resolveInfo.serviceInfo.loadIcon(getPackageManager()); - providerList.add(new OpenPGPProviderElement(packageName, simpleName, icon)); + providerList.add(new OpenPgpProviderElement(packageName, simpleName, icon)); } + } - AlertDialog.Builder alert = new AlertDialog.Builder(this); - alert.setTitle("Select OpenPGP Provider!"); - alert.setCancelable(false); - - if (!providerList.isEmpty()) { + AlertDialog.Builder alert = new AlertDialog.Builder(this); + alert.setTitle("Select OpenPGP Provider!"); + alert.setCancelable(false); - // Init ArrayAdapter with Crypto Providers - ListAdapter adapter = new ArrayAdapter<OpenPGPProviderElement>(this, - android.R.layout.select_dialog_item, android.R.id.text1, providerList) { - public View getView(int position, View convertView, ViewGroup parent) { - // User super class to create the View - View v = super.getView(position, convertView, parent); - TextView tv = (TextView) v.findViewById(android.R.id.text1); + if (!providerList.isEmpty()) { + // add "disable OpenPGP provider" + providerList.add(0, new OpenPgpProviderElement(null, "Disable OpenPGP Provider", getResources() + .getDrawable(android.R.drawable.ic_menu_close_clear_cancel))); - // Put the image on the TextView - tv.setCompoundDrawablesWithIntrinsicBounds(providerList.get(position).icon, - null, null, null); + // Init ArrayAdapter with OpenPGP Providers + ListAdapter adapter = new ArrayAdapter<OpenPgpProviderElement>(this, + android.R.layout.select_dialog_item, android.R.id.text1, providerList) { + public View getView(int position, View convertView, ViewGroup parent) { + // User super class to create the View + View v = super.getView(position, convertView, parent); + TextView tv = (TextView) v.findViewById(android.R.id.text1); - // Add margin between image and text (support various screen densities) - int dp5 = (int) (5 * getResources().getDisplayMetrics().density + 0.5f); - tv.setCompoundDrawablePadding(dp5); + // Put the image on the TextView + tv.setCompoundDrawablesWithIntrinsicBounds(providerList.get(position).icon, + null, null, null); - return v; - } - }; + // Add margin between image and text (support various screen densities) + int dp5 = (int) (5 * getResources().getDisplayMetrics().density + 0.5f); + tv.setCompoundDrawablePadding(dp5); - alert.setSingleChoiceItems(adapter, -1, new DialogInterface.OnClickListener() { + return v; + } + }; - public void onClick(DialogInterface dialog, int position) { - String packageName = providerList.get(position).packageName; + alert.setSingleChoiceItems(adapter, -1, new DialogInterface.OnClickListener() { - // bind to service - mCryptoServiceConnection = new OpenPgpServiceConnection( - OpenPgpProviderActivity.this, packageName); - mCryptoServiceConnection.bindToService(); + public void onClick(DialogInterface dialog, int position) { + String packageName = providerList.get(position).packageName; - dialog.dismiss(); + if (packageName == null) { + dialog.cancel(); + finish(); } - }); - } else { - alert.setMessage("No OpenPGP Provider installed!"); - } - - alert.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { + + // bind to service + mCryptoServiceConnection = new OpenPgpServiceConnection( + OpenPgpProviderActivity.this, packageName); + mCryptoServiceConnection.bindToService(); - public void onClick(DialogInterface dialog, int id) { - dialog.cancel(); - finish(); + dialog.dismiss(); } }); - - AlertDialog ad = alert.create(); - ad.show(); + } else { + alert.setMessage("No OpenPGP Provider installed!"); } + + alert.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { + + public void onClick(DialogInterface dialog, int id) { + dialog.cancel(); + finish(); + } + }); + + AlertDialog ad = alert.create(); + ad.show(); } } |