diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2014-08-27 17:42:19 +0200 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2014-08-27 17:42:19 +0200 |
| commit | 0c41d8816abcc54466afeb5f3db834152c79e2b6 (patch) | |
| tree | 4e62054609481bea73d89f3d8dd9d094da4b0bf4 | |
| parent | a2745024d321049f66447add3b4687611fcc8951 (diff) | |
| parent | fcb9a4d3922ae539262b89188640ac59c81a6e69 (diff) | |
| download | cgeo-0c41d8816abcc54466afeb5f3db834152c79e2b6.zip cgeo-0c41d8816abcc54466afeb5f3db834152c79e2b6.tar.gz cgeo-0c41d8816abcc54466afeb5f3db834152c79e2b6.tar.bz2 | |
Merge branch 'release' into upstream
| -rw-r--r-- | main/src/cgeo/geocaching/Image.java | 14 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/connector/gc/GCConnector.java | 9 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/settings/SettingsActivity.java | 5 |
3 files changed, 21 insertions, 7 deletions
diff --git a/main/src/cgeo/geocaching/Image.java b/main/src/cgeo/geocaching/Image.java index 50ea80e..f592fc1 100644 --- a/main/src/cgeo/geocaching/Image.java +++ b/main/src/cgeo/geocaching/Image.java @@ -1,10 +1,13 @@ package cgeo.geocaching; +import cgeo.geocaching.activity.ActivityMixin; import cgeo.geocaching.utils.FileUtils; +import cgeo.geocaching.utils.Log; import org.apache.commons.lang3.StringUtils; -import android.content.Context; +import android.app.Activity; +import android.content.ActivityNotFoundException; import android.content.Intent; import android.net.Uri; import android.os.Parcel; @@ -73,12 +76,17 @@ public class Image implements Parcelable { return description; } - public void openInBrowser(final Context fromActivity) { + public void openInBrowser(final Activity fromActivity) { if (StringUtils.isBlank(url)) { return; } final Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); - fromActivity.startActivity(browserIntent); + try { + fromActivity.startActivity(browserIntent); + } catch (final ActivityNotFoundException e) { + Log.e("Cannot find suitable activity", e); + ActivityMixin.showToast(fromActivity, R.string.err_application_no); + } } @Override diff --git a/main/src/cgeo/geocaching/connector/gc/GCConnector.java b/main/src/cgeo/geocaching/connector/gc/GCConnector.java index 495718b..2a3d7b0 100644 --- a/main/src/cgeo/geocaching/connector/gc/GCConnector.java +++ b/main/src/cgeo/geocaching/connector/gc/GCConnector.java @@ -7,6 +7,7 @@ import cgeo.geocaching.ICache; import cgeo.geocaching.LogCacheActivity; import cgeo.geocaching.R; import cgeo.geocaching.SearchResult; +import cgeo.geocaching.activity.ActivityMixin; import cgeo.geocaching.connector.AbstractConnector; import cgeo.geocaching.connector.ILoggingManager; import cgeo.geocaching.connector.UserAction; @@ -37,6 +38,7 @@ import org.eclipse.jdt.annotation.Nullable; import rx.functions.Action1; +import android.content.ActivityNotFoundException; import android.content.Context; import android.content.Intent; import android.net.Uri; @@ -414,7 +416,12 @@ public class GCConnector extends AbstractConnector implements ISearchByGeocode, @Override public void call(cgeo.geocaching.connector.UserAction.Context context) { - context.activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.geocaching.com/email/?u=" + Network.encode(context.userName)))); + try { + context.activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.geocaching.com/email/?u=" + Network.encode(context.userName)))); + } catch (final ActivityNotFoundException e) { + Log.e("Cannot find suitable activity", e); + ActivityMixin.showToast(context.activity, R.string.err_application_no); + } } })); return actions; diff --git a/main/src/cgeo/geocaching/settings/SettingsActivity.java b/main/src/cgeo/geocaching/settings/SettingsActivity.java index 3742966..707a530 100644 --- a/main/src/cgeo/geocaching/settings/SettingsActivity.java +++ b/main/src/cgeo/geocaching/settings/SettingsActivity.java @@ -189,9 +189,8 @@ public class SettingsActivity extends PreferenceActivity { try { startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://" + host))); } catch (final ActivityNotFoundException e) { - // Those cases are rare enough (no web browser installed) and the use case so untypical - // that we do not need to report anything to the user. - Log.e("Cannot browse host " + host, e); + Log.e("Cannot find suitable activity", e); + ActivityMixin.showToast(SettingsActivity.this, R.string.err_application_no); } return true; } |
