From b771276611b98e167242dd790416811ff2966a47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Wed, 7 May 2014 15:03:24 +0200 Subject: Start app menu item for registered apps --- .../keychain/remote/ui/AppSettingsActivity.java | 28 ++++++++++++++++++--- .../src/main/res/drawable-hdpi/ic_action_play.png | Bin 0 -> 497 bytes .../src/main/res/drawable-mdpi/ic_action_play.png | Bin 0 -> 375 bytes .../src/main/res/drawable-xhdpi/ic_action_play.png | Bin 0 -> 531 bytes .../main/res/drawable-xxhdpi/ic_action_play.png | Bin 0 -> 778 bytes .../src/main/res/menu/api_app_settings.xml | 6 +++++ OpenKeychain/src/main/res/values/strings.xml | 1 + 7 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 OpenKeychain/src/main/res/drawable-hdpi/ic_action_play.png create mode 100644 OpenKeychain/src/main/res/drawable-mdpi/ic_action_play.png create mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/ic_action_play.png create mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/ic_action_play.png (limited to 'OpenKeychain/src') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AppSettingsActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AppSettingsActivity.java index c6637c058..8df341f9e 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AppSettingsActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AppSettingsActivity.java @@ -40,6 +40,9 @@ public class AppSettingsActivity extends ActionBarActivity { private AppSettingsFragment mSettingsFragment; private AccountsListFragment mAccountsListFragment; + // model + AppSettings mAppSettings; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -80,22 +83,39 @@ public class AppSettingsActivity extends ActionBarActivity { case R.id.menu_api_settings_revoke: revokeAccess(); return true; + case R.id.menu_api_settings_start: + startApp(); + return true; } return super.onOptionsItemSelected(item); } + private void startApp() { + Intent i; + PackageManager manager = getPackageManager(); + try { + i = manager.getLaunchIntentForPackage(mAppSettings.getPackageName()); + if (i == null) + throw new PackageManager.NameNotFoundException(); + i.addCategory(Intent.CATEGORY_LAUNCHER); + startActivity(i); + } catch (PackageManager.NameNotFoundException e) { + Log.e(Constants.TAG, "startApp", e); + } + } + private void loadData(Bundle savedInstanceState, Uri appUri) { - AppSettings settings = new ProviderHelper(this).getApiAppSettings(appUri); - mSettingsFragment.setAppSettings(settings); + mAppSettings = new ProviderHelper(this).getApiAppSettings(appUri); + mSettingsFragment.setAppSettings(mAppSettings); String appName; PackageManager pm = getPackageManager(); try { - ApplicationInfo ai = pm.getApplicationInfo(settings.getPackageName(), 0); + ApplicationInfo ai = pm.getApplicationInfo(mAppSettings.getPackageName(), 0); appName = (String) pm.getApplicationLabel(ai); } catch (PackageManager.NameNotFoundException e) { // fallback - appName = settings.getPackageName(); + appName = mAppSettings.getPackageName(); } setTitle(appName); diff --git a/OpenKeychain/src/main/res/drawable-hdpi/ic_action_play.png b/OpenKeychain/src/main/res/drawable-hdpi/ic_action_play.png new file mode 100644 index 000000000..869f0014b Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-hdpi/ic_action_play.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/ic_action_play.png b/OpenKeychain/src/main/res/drawable-mdpi/ic_action_play.png new file mode 100644 index 000000000..5f3bf86fd Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-mdpi/ic_action_play.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/ic_action_play.png b/OpenKeychain/src/main/res/drawable-xhdpi/ic_action_play.png new file mode 100644 index 000000000..7f709bbf1 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xhdpi/ic_action_play.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/ic_action_play.png b/OpenKeychain/src/main/res/drawable-xxhdpi/ic_action_play.png new file mode 100644 index 000000000..df5994710 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxhdpi/ic_action_play.png differ diff --git a/OpenKeychain/src/main/res/menu/api_app_settings.xml b/OpenKeychain/src/main/res/menu/api_app_settings.xml index a21db6708..1233e4f6e 100644 --- a/OpenKeychain/src/main/res/menu/api_app_settings.xml +++ b/OpenKeychain/src/main/res/menu/api_app_settings.xml @@ -2,6 +2,12 @@ + + Save Cancel Revoke access + Start application Delete account Package Name SHA-256 of Package Signature -- cgit v1.2.3