diff options
| -rw-r--r-- | main/src/cgeo/calendar/CalendarAddon.java | 2 | ||||
| -rw-r--r-- | main/src/cgeo/calendar/ICalendar.java | 1 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/AboutActivity.java | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/UsefulAppsActivity.java | 17 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/utils/ProcessUtils.java | 6 |
5 files changed, 19 insertions, 9 deletions
diff --git a/main/src/cgeo/calendar/CalendarAddon.java b/main/src/cgeo/calendar/CalendarAddon.java index fd96582..88c67a8 100644 --- a/main/src/cgeo/calendar/CalendarAddon.java +++ b/main/src/cgeo/calendar/CalendarAddon.java @@ -54,7 +54,7 @@ public class CalendarAddon { .toString(), new DialogInterface.OnClickListener() { @Override public void onClick(final DialogInterface dialog, final int id) { - ProcessUtils.openMarket(activity, ICalendar.CALENDAR_ADDON_URI); + ProcessUtils.openMarket(activity, "cgeo.calendar"); } }); } diff --git a/main/src/cgeo/calendar/ICalendar.java b/main/src/cgeo/calendar/ICalendar.java index 19089f0..9001198 100644 --- a/main/src/cgeo/calendar/ICalendar.java +++ b/main/src/cgeo/calendar/ICalendar.java @@ -3,6 +3,7 @@ package cgeo.calendar; import org.eclipse.jdt.annotation.NonNull; public interface ICalendar { + @Deprecated @NonNull static final String CALENDAR_ADDON_URI = "market://details?id=cgeo.calendar"; @NonNull static final String INTENT = "cgeo.calendar.RESERVE"; diff --git a/main/src/cgeo/geocaching/AboutActivity.java b/main/src/cgeo/geocaching/AboutActivity.java index 242e0a7..ffc4b35 100644 --- a/main/src/cgeo/geocaching/AboutActivity.java +++ b/main/src/cgeo/geocaching/AboutActivity.java @@ -128,7 +128,7 @@ public class AboutActivity extends AbstractViewPagerActivity<AboutActivity.Page> @Override public void onClick(final View v) { - ProcessUtils.openMarket(AboutActivity.this, "market://details?id=" + getPackageName()); + ProcessUtils.openMarket(AboutActivity.this, getPackageName()); } }); return view; diff --git a/main/src/cgeo/geocaching/UsefulAppsActivity.java b/main/src/cgeo/geocaching/UsefulAppsActivity.java index 88dd3ca..d4517dc 100644 --- a/main/src/cgeo/geocaching/UsefulAppsActivity.java +++ b/main/src/cgeo/geocaching/UsefulAppsActivity.java @@ -7,6 +7,10 @@ import cgeo.geocaching.activity.AbstractActionBarActivity; import cgeo.geocaching.ui.AbstractViewHolder; import cgeo.geocaching.utils.ProcessUtils; +import org.eclipse.jdt.annotation.NonNull; + +import android.content.Intent; +import android.net.Uri; import android.os.Bundle; import android.text.Html; import android.view.View; @@ -34,18 +38,16 @@ public class UsefulAppsActivity extends AbstractActionBarActivity { private final int titleId; private final int descriptionId; private final int iconId; + @NonNull private final String packageName; - public HelperApp(final int title, final int description, final int icon, final String packageName) { + public HelperApp(final int title, final int description, final int icon, @NonNull final String packageName) { this.titleId = title; this.descriptionId = description; this.iconId = icon; this.packageName = packageName; } - public String getMarketUrl() { - return (packageName.startsWith("http:")) ? packageName : "market://details?id=" + packageName; - } } private static final HelperApp[] HELPER_APPS = { @@ -95,7 +97,12 @@ public class UsefulAppsActivity extends AbstractActionBarActivity { @Override public void onItemClick(final AdapterView<?> parent, final View view, final int position, final long id) { final HelperApp helperApp = HELPER_APPS[position]; - ProcessUtils.openMarket(UsefulAppsActivity.this, helperApp.getMarketUrl()); + if (helperApp.packageName.startsWith("http")) { + startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(helperApp.packageName))); + } + else { + ProcessUtils.openMarket(UsefulAppsActivity.this, helperApp.packageName); + } } }); } diff --git a/main/src/cgeo/geocaching/utils/ProcessUtils.java b/main/src/cgeo/geocaching/utils/ProcessUtils.java index 9642794..37a1edf 100644 --- a/main/src/cgeo/geocaching/utils/ProcessUtils.java +++ b/main/src/cgeo/geocaching/utils/ProcessUtils.java @@ -108,15 +108,17 @@ public final class ProcessUtils { } @SuppressWarnings("deprecation") - public static void openMarket(final Activity activity, final String url) { + public static void openMarket(final Activity activity, @NonNull final String packageName) { try { // allow also opening pure http URLs in addition to market packages + final String url = "market://details?id=" + packageName; final Intent marketIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); marketIntent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET | Intent.FLAG_ACTIVITY_MULTIPLE_TASK); activity.startActivity(marketIntent); } catch (final RuntimeException ignored) { - // market not available in standard emulator + // market not available, fall back to browser + activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id=" + packageName))); } } |
