Open links in the browser if unsupported by Clover

multisite
Floens 10 years ago
parent 0a9e3c749c
commit 0461d161c4
  1. 33
      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.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();
}
}
}

@ -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">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_reply">Reply count</string>
<string name="order_image">Image count</string>

Loading…
Cancel
Save