mirror of
https://github.com/TrianguloY/LightningLauncher.git
synced 2024-12-28 09:58:34 +01:00
initial markdown support
This commit is contained in:
parent
b664e89946
commit
6e0333b6da
4 changed files with 29 additions and 3 deletions
|
@ -38,4 +38,6 @@ dependencies {
|
||||||
compile files('libs/dx.jar')
|
compile files('libs/dx.jar')
|
||||||
compile 'net.pierrox.android:lsvg:1.0'
|
compile 'net.pierrox.android:lsvg:1.0'
|
||||||
compile project(':plugin-api')
|
compile project(':plugin-api')
|
||||||
|
implementation 'ru.noties.markwon:core:3.0.0'
|
||||||
|
implementation 'ru.noties.markwon:html:3.0.0'
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"
|
||||||
package="net.pierrox.lightning_launcher">
|
package="net.pierrox.lightning_launcher">
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.CALL_PHONE"/>
|
<uses-permission android:name="android.permission.CALL_PHONE"/>
|
||||||
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
|
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
|
||||||
|
|
||||||
|
<uses-sdk tools:overrideLibrary="ru.noties.markwon.html, ru.noties.markwon.renderer"/>
|
||||||
|
|
||||||
</manifest>
|
</manifest>
|
||||||
|
|
|
@ -27,6 +27,9 @@ import net.pierrox.lightning_launcher.views.MyAppWidgetHostView;
|
||||||
import net.pierrox.lightning_launcher.views.NativeImage;
|
import net.pierrox.lightning_launcher.views.NativeImage;
|
||||||
import net.pierrox.lightning_launcher.views.SharedAsyncGraphicsDrawable;
|
import net.pierrox.lightning_launcher.views.SharedAsyncGraphicsDrawable;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
import ru.noties.markwon.Markwon;
|
||||||
|
import ru.noties.markwon.core.CorePlugin;
|
||||||
|
import ru.noties.markwon.html.HtmlPlugin;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -69,6 +72,8 @@ public abstract class LLApp extends Application {
|
||||||
private ArrayList<Screen> mScreens = new ArrayList<>();
|
private ArrayList<Screen> mScreens = new ArrayList<>();
|
||||||
protected Screen mBackgroundScreen;
|
protected Screen mBackgroundScreen;
|
||||||
|
|
||||||
|
private Markwon mMarkdownParser;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate() {
|
public void onCreate() {
|
||||||
super.onCreate();
|
super.onCreate();
|
||||||
|
@ -135,6 +140,11 @@ public abstract class LLApp extends Application {
|
||||||
registerReceiver(mBroadcastReceiver, intent_filter);
|
registerReceiver(mBroadcastReceiver, intent_filter);
|
||||||
|
|
||||||
mBackgroundScreen.runAction(mAppEngine, "STARTUP", mAppEngine.getGlobalConfig().startup);
|
mBackgroundScreen.runAction(mAppEngine, "STARTUP", mAppEngine.getGlobalConfig().startup);
|
||||||
|
|
||||||
|
mMarkdownParser = Markwon.builder(this)
|
||||||
|
.usePlugin(CorePlugin.create())
|
||||||
|
.usePlugin(HtmlPlugin.create())
|
||||||
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -309,6 +319,10 @@ public abstract class LLApp extends Application {
|
||||||
return mLanguage;
|
return mLanguage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Markwon getMarkdownParser() {
|
||||||
|
return mMarkdownParser;
|
||||||
|
}
|
||||||
|
|
||||||
public abstract Intent getLockscreenServiceIntent();
|
public abstract Intent getLockscreenServiceIntent();
|
||||||
|
|
||||||
public abstract Intent getWindowServiceIntent();
|
public abstract Intent getWindowServiceIntent();
|
||||||
|
|
|
@ -2,8 +2,10 @@ package net.pierrox.lightning_launcher.views;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.Canvas;
|
import android.graphics.Canvas;
|
||||||
|
import android.os.Build;
|
||||||
import android.text.Html;
|
import android.text.Html;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
import net.pierrox.lightning_launcher.LLApp;
|
||||||
|
|
||||||
public class MyTextView extends TextView {
|
public class MyTextView extends TextView {
|
||||||
private int mFixWidth;
|
private int mFixWidth;
|
||||||
|
@ -43,7 +45,13 @@ public class MyTextView extends TextView {
|
||||||
@Override
|
@Override
|
||||||
public void setText(CharSequence text, BufferType type) {
|
public void setText(CharSequence text, BufferType type) {
|
||||||
CharSequence t;
|
CharSequence t;
|
||||||
if(type == BufferType.NORMAL && looksLikeHtml(text)) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
|
||||||
|
if (text instanceof String) {
|
||||||
|
t = LLApp.get().getMarkdownParser().toMarkdown((String) text);
|
||||||
|
} else {
|
||||||
|
t = text;
|
||||||
|
}
|
||||||
|
} else if (type == BufferType.NORMAL && looksLikeHtml(text)) {
|
||||||
t = Html.fromHtml(text.toString());
|
t = Html.fromHtml(text.toString());
|
||||||
if(t.length() == 0) {
|
if(t.length() == 0) {
|
||||||
t = text;
|
t = text;
|
||||||
|
|
Loading…
Reference in a new issue