
* Basic revert spans functionality * Defensive copy in SpannableBuilder * SpannableBuilder * Removed nullablity from Markwon class (no null markdown)
41 lines
1.1 KiB
Java
41 lines
1.1 KiB
Java
package ru.noties.markwon;
|
|
|
|
import android.net.Uri;
|
|
import android.support.annotation.NonNull;
|
|
import android.support.annotation.Nullable;
|
|
import android.text.TextUtils;
|
|
|
|
@SuppressWarnings({"unused", "WeakerAccess"})
|
|
public class UrlProcessorAndroidAssets implements UrlProcessor {
|
|
|
|
private final UrlProcessorRelativeToAbsolute assetsProcessor
|
|
= new UrlProcessorRelativeToAbsolute("file:///android_asset/");
|
|
|
|
private final UrlProcessor processor;
|
|
|
|
public UrlProcessorAndroidAssets() {
|
|
this(null);
|
|
}
|
|
|
|
public UrlProcessorAndroidAssets(@Nullable UrlProcessor parent) {
|
|
this.processor = parent;
|
|
}
|
|
|
|
@NonNull
|
|
@Override
|
|
public String process(@NonNull String destination) {
|
|
final String out;
|
|
final Uri uri = Uri.parse(destination);
|
|
if (TextUtils.isEmpty(uri.getScheme())) {
|
|
out = assetsProcessor.process(destination);
|
|
} else {
|
|
if (processor != null) {
|
|
out = processor.process(destination);
|
|
} else {
|
|
out = destination;
|
|
}
|
|
}
|
|
return out;
|
|
}
|
|
}
|