mirror of https://github.com/kurisufriend/Clover
parent
35a37ab09d
commit
507b4dbc11
@ -0,0 +1,56 @@ |
||||
package org.floens.chan.chan; |
||||
|
||||
import android.net.Uri; |
||||
|
||||
import org.floens.chan.Chan; |
||||
import org.floens.chan.core.model.Loadable; |
||||
|
||||
import java.util.List; |
||||
|
||||
public class ChanHelper { |
||||
public static Loadable getLoadableFromStartUri(Uri uri) { |
||||
Loadable loadable = null; |
||||
int markedNo = -1; |
||||
|
||||
List<String> parts = uri.getPathSegments(); |
||||
|
||||
if (parts.size() > 0) { |
||||
String rawBoard = parts.get(0); |
||||
if (Chan.getBoardManager().getBoardExists(rawBoard)) { |
||||
if (parts.size() == 1) { |
||||
// Board mode
|
||||
loadable = new Loadable(rawBoard); |
||||
} else if (parts.size() >= 3) { |
||||
// Thread mode
|
||||
int no = -1; |
||||
|
||||
try { |
||||
no = Integer.parseInt(parts.get(2)); |
||||
} catch (NumberFormatException ignored) { |
||||
} |
||||
|
||||
int post = -1; |
||||
String fragment = uri.getFragment(); |
||||
if (fragment != null) { |
||||
int index = fragment.indexOf("p"); |
||||
if (index >= 0) { |
||||
try { |
||||
post = Integer.parseInt(fragment.substring(index + 1)); |
||||
} catch (NumberFormatException ignored) { |
||||
} |
||||
} |
||||
} |
||||
|
||||
if (no >= 0) { |
||||
loadable = new Loadable(rawBoard, no); |
||||
if (post >= 0) { |
||||
loadable.markedNo = post; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
return loadable; |
||||
} |
||||
} |
Loading…
Reference in new issue