Skip to content

Commit

Permalink
[Feature] Handle Frodo dispatch URI.
Browse files Browse the repository at this point in the history
  • Loading branch information
zhanghai committed Dec 31, 2017
1 parent c10858f commit 47a8143
Showing 1 changed file with 12 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
import android.net.Uri;
import android.text.TextUtils;

import java.util.regex.Pattern;

import me.zhanghai.android.douya.BuildConfig;
import me.zhanghai.android.douya.broadcast.ui.BroadcastActivity;
import me.zhanghai.android.douya.broadcast.ui.BroadcastListActivity;
Expand All @@ -22,6 +24,11 @@

public class DoubanUriHandler {

private static final Pattern DISPATCH_URI_PATTERN = Pattern.compile(
"https://www.douban.com/doubanapp/dispatch\\?uri=.*");
private static final String DISPATCH_URI_QUERY_PARAMETER_URI = "uri";
private static final String DISPATCH_URI_QUERY_PARAMETER_URI_PREFIX = "douban://douban.com";

private static final String AUTHORITY = "www.douban.com";
private static final String AUTHORITY_MOVIE = "movie.douban.com";
private static final String AUTHORITY_FRODO = "douban.com";
Expand Down Expand Up @@ -78,6 +85,11 @@ private DoubanUriHandler() {}

public static boolean open(Uri uri, Context context) {

if (DISPATCH_URI_PATTERN.matcher(uri.toString()).matches()) {
uri = Uri.parse(DISPATCH_URI_QUERY_PARAMETER_URI_PREFIX + uri.getQueryParameter(
DISPATCH_URI_QUERY_PARAMETER_URI));
}

int code = MATCHER.match(uri);
if (code == UriMatcher.NO_MATCH) {
return false;
Expand Down

0 comments on commit 47a8143

Please sign in to comment.