Open links in the browser if unsupported by Clover

multisite
Floens 10 years ago
parent 0a9e3c749c
commit 0461d161c4
  1. 19
      Clover/app/src/main/java/org/floens/chan/ui/activity/StartActivity.java
  2. 2
      Clover/app/src/main/res/values/strings.xml

@ -21,6 +21,7 @@ import android.app.AlertDialog;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.content.res.Configuration; import android.content.res.Configuration;
import android.net.Uri;
import android.nfc.NdefMessage; import android.nfc.NdefMessage;
import android.nfc.NfcAdapter; import android.nfc.NfcAdapter;
import android.nfc.NfcEvent; 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.helper.ImagePickDelegate;
import org.floens.chan.ui.state.ChanState; import org.floens.chan.ui.state.ChanState;
import org.floens.chan.ui.theme.ThemeHelper; import org.floens.chan.ui.theme.ThemeHelper;
import org.floens.chan.utils.AndroidUtils;
import org.floens.chan.utils.Logger; import org.floens.chan.utils.Logger;
import java.util.ArrayList; import java.util.ArrayList;
@ -111,8 +113,10 @@ public class StartActivity extends AppCompatActivity implements NfcAdapter.Creat
browseController.showThread(chanState.thread, false); browseController.showThread(chanState.thread, false);
} }
} }
} else if (getIntent().getData() != null) { } else {
Loadable fromUri = ChanHelper.getLoadableFromStartUri(getIntent().getData()); final Uri data = getIntent().getData();
if (data != null) {
Loadable fromUri = ChanHelper.getLoadableFromStartUri(data);
if (fromUri != null) { if (fromUri != null) {
loadDefault = false; loadDefault = false;
Board board = boardManager.getBoardByValue(fromUri.board); Board board = boardManager.getBoardByValue(fromUri.board);
@ -121,6 +125,17 @@ public class StartActivity extends AppCompatActivity implements NfcAdapter.Creat
if (fromUri.isThreadMode()) { if (fromUri.isThreadMode()) {
browseController.showThread(fromUri, false); 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();
}
} }
} }

@ -70,6 +70,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<string name="action_rename_pin">Rename pin</string> <string name="action_rename_pin">Rename pin</string>
<string name="action_rename">Rename</string> <string name="action_rename">Rename</string>
<string name="open_link_not_matched">Clover cannot open this link, opening in your browser.</string>
<string name="order_bump">Bump order</string> <string name="order_bump">Bump order</string>
<string name="order_reply">Reply count</string> <string name="order_reply">Reply count</string>
<string name="order_image">Image count</string> <string name="order_image">Image count</string>

Loading…
Cancel
Save