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: [PATCH] Start app menu item for registered apps --- .../remote/ui/AppSettingsActivity.java | 28 +++++++++++++++--- .../main/res/drawable-hdpi/ic_action_play.png | Bin 0 -> 497 bytes .../main/res/drawable-mdpi/ic_action_play.png | Bin 0 -> 375 bytes .../res/drawable-xhdpi/ic_action_play.png | Bin 0 -> 531 bytes .../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 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 0000000000000000000000000000000000000000..869f0014b1d9195ec3ae6e228344f284b31d1513 GIT binary patch literal 497 zcmVD5eH61ZjdT zwn>8+0y8@-8jHqa!SO$!v77B|Rg>u%L`jNy1~J48=O(wwvJhCI?7g$Ro19dvTko&$ z-1|P(3&^AA0X%>Q@Br=uWLcI%iHiW?hWDL7BS6e>eJ;z=umLoYLJ2^oxaI&^FxEgM zqXFFkWMCU$f0LWyI6jp({{=`YpFyUsYr`@E>mgvb7>#QvVs4{ir+YwLGS35%cB=PqV)VFXyUm9*U(sPB3W zd>6-JE&TSL7W$H91lD7u^)X-@fz>$BWr^sm&9cN5fF=&1b3E?|ssQq_^Ej7NPNsV6Bqi{w|ZI^cI5MMS8Z{d07erp0*ev;*5`pEhr4Y7Xph&Wk3ZV- n`A&!blg|Tq01sd{J_Q&6LT``1`hBUG00000NkvXXu0mjft=-kg literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..5f3bf86fd380b747c6dd98b9c79521a83b02c4f0 GIT binary patch literal 375 zcmV--0f_#IP)H67b1<;yPK2|g>4L5++lJeogWtV*P z4WJdkJ3ONXL}>y*FWZoot!&H3$n>5w8SvTajbrR1HxmE}oOap7`Ubeu?kTyaprFEn zI|FKn6BJHOgfOMzHTNn|!+ic`p8EojR9J9-2hQ8+g7A-WCyQ)>LT+{)@LzyQux Vb0;(QlAHhl002ovPDHLkV1gubotXdt literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..7f709bbf146eea3dfc5cd496b6f9c4127a25c304 GIT binary patch literal 531 zcmV+u0_^>XP)N8~ZMCgBnV%n`$I`Fw3PmED7jW^P=nL8dW|fHqhv!n=UT1t9`~<`TqqRfCF#<4!{9809^YPU;qfm Vpkraw!TbOK002ovPDHLkV1h-P>@ENR literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..df5994710d7bb24ecaf2b9ecea8c2eadcec58a8b GIT binary patch literal 778 zcmV+l1NHogP)3 zo!NcUgjNdx000000000009K^i?QT+q)mZz=2kUe?=d$)>-A^Wy-;`Hhz=?b~mi1FU z|05FaDY3qQZCUHG4#U^7#v)=$sdWV;!b~`+w52&E*A8n8zs(%CJ0Dv=|{Lj z$Yabz!UF**hc$*IMVdS|jwHyBWdhytL#tzWk0q^F6*I2`X zfW=tjAhxAB0(1pb=R=4!Ha*1N76l~sTMlAx%L3ATIJ6vVSQoGuYnY3@y$DE{i@n<| zpO}fgz3qU-`H*6bX;bHeX93k?Yhz>Y5(Fe(V{ef#LO{N@lwyt0mL3t1hY)KVHzD>e zRX}wDL)+ume_$HNHId zW(Q>EJ0 zSfATCWM|q>T)Kc!Ec}>bsD7Uhg}>t-px@_jr0@eSVtM-fpzdQO0+#prf!47S0SfT} z0zT&|L5Et_*i*qsn2^6pc)e+ zpuzD$NdmIP#H9`j2V znAnQ|m+^rG0p??3%K}`)#3tcim;e9(000000002Ma{dZ10G2mS)pG@c;Q#;t07*qo IM6N<$f}v7av;Y7A literal 0 HcmV?d00001 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