From 89f8630f12a8df4533b124b65e91394432b5c0a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Mon, 15 Jul 2013 16:49:03 +0200 Subject: [PATCH] Add share (via fdroid://details?id=app.id) button --- res/values/strings.xml | 1 + src/org/fdroid/fdroid/AppDetails.java | 20 +++++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 9be6ec288..d9ade7be9 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -108,6 +108,7 @@ Run + Share Install Uninstall Website diff --git a/src/org/fdroid/fdroid/AppDetails.java b/src/org/fdroid/fdroid/AppDetails.java index 5d041d496..3d6574d9e 100644 --- a/src/org/fdroid/fdroid/AppDetails.java +++ b/src/org/fdroid/fdroid/AppDetails.java @@ -163,6 +163,7 @@ public class AppDetails extends ListActivity { private static final int MARKET = Menu.FIRST + 5; private static final int DONATE = Menu.FIRST + 6; private static final int LAUNCH = Menu.FIRST + 7; + private static final int SHARE = Menu.FIRST + 8; private DB.App app; private int app_currentvercode; @@ -558,10 +559,13 @@ public class AppDetails extends ListActivity { android.R.drawable.ic_menu_delete)); if (mPm.getLaunchIntentForPackage(app.id) != null) { - toShow.add(menu.add( Menu.NONE, LAUNCH, 1, R.string.menu_launch ).setIcon( + toShow.add(menu.add( Menu.NONE, LAUNCH, 1, R.string.menu_launch).setIcon( android.R.drawable.ic_media_play)); } } + toShow.add(menu.add( Menu.NONE, SHARE, 1, R.string.menu_share).setIcon( + android.R.drawable.ic_menu_share)); + if (app.detail_webURL.length() > 0) { menu.add(Menu.NONE, WEBSITE, 2, R.string.menu_website).setIcon( android.R.drawable.ic_menu_view); @@ -608,6 +612,10 @@ public class AppDetails extends ListActivity { launchApk(app.id); return true; + case SHARE: + shareApp(app); + return true; + case INSTALL: // Note that this handles updating as well as installing. curapk = app.getCurrentVersion(); @@ -734,6 +742,16 @@ public class AppDetails extends ListActivity { startActivity(intent); } + private void shareApp(DB.App app) { + Intent shareIntent = new Intent(Intent.ACTION_SEND); + shareIntent.setType("text/plain"); + + shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, app.name); + shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, "fdroid://details?id="+app.id); + + startActivity(Intent.createChooser(shareIntent, getString(R.string.menu_share))); + } + private ProgressDialog createProgressDialog(String file, int p, int max) { final ProgressDialog pd = new ProgressDialog(this); pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);