From 0461d161c414c2308b14e0f0e60bead61348e81b Mon Sep 17 00:00:00 2001 From: Floens Date: Tue, 28 Jul 2015 21:07:20 +0200 Subject: [PATCH] Open links in the browser if unsupported by Clover --- .../chan/ui/activity/StartActivity.java | 33 ++++++++++++++----- Clover/app/src/main/res/values/strings.xml | 2 ++ 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/Clover/app/src/main/java/org/floens/chan/ui/activity/StartActivity.java b/Clover/app/src/main/java/org/floens/chan/ui/activity/StartActivity.java index d7439fd7..7fec9f15 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/activity/StartActivity.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/activity/StartActivity.java @@ -21,6 +21,7 @@ import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.content.res.Configuration; +import android.net.Uri; import android.nfc.NdefMessage; import android.nfc.NfcAdapter; import android.nfc.NfcEvent; @@ -43,6 +44,7 @@ import org.floens.chan.ui.controller.ViewThreadController; import org.floens.chan.ui.helper.ImagePickDelegate; import org.floens.chan.ui.state.ChanState; import org.floens.chan.ui.theme.ThemeHelper; +import org.floens.chan.utils.AndroidUtils; import org.floens.chan.utils.Logger; import java.util.ArrayList; @@ -111,15 +113,28 @@ public class StartActivity extends AppCompatActivity implements NfcAdapter.Creat browseController.showThread(chanState.thread, false); } } - } else if (getIntent().getData() != null) { - Loadable fromUri = ChanHelper.getLoadableFromStartUri(getIntent().getData()); - if (fromUri != null) { - loadDefault = false; - Board board = boardManager.getBoardByValue(fromUri.board); - browseController.loadBoard(board); - - if (fromUri.isThreadMode()) { - browseController.showThread(fromUri, false); + } else { + final Uri data = getIntent().getData(); + if (data != null) { + Loadable fromUri = ChanHelper.getLoadableFromStartUri(data); + if (fromUri != null) { + loadDefault = false; + Board board = boardManager.getBoardByValue(fromUri.board); + browseController.loadBoard(board); + + if (fromUri.isThreadMode()) { + browseController.showThread(fromUri, false); + } + } else { + new AlertDialog.Builder(this) + .setMessage(R.string.open_link_not_matched) + .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + AndroidUtils.openLink(data.toString()); + } + }) + .show(); } } } diff --git a/Clover/app/src/main/res/values/strings.xml b/Clover/app/src/main/res/values/strings.xml index daf7b57f..1e882ed0 100644 --- a/Clover/app/src/main/res/values/strings.xml +++ b/Clover/app/src/main/res/values/strings.xml @@ -70,6 +70,8 @@ along with this program. If not, see . Rename pin Rename + Clover cannot open this link, opening in your browser. + Bump order Reply count Image count