Skip to content

Commit

Permalink
Optimized some code
Browse files Browse the repository at this point in the history
  • Loading branch information
VictorModi committed Feb 29, 2024
1 parent 5067663 commit 7c04fe2
Show file tree
Hide file tree
Showing 10 changed files with 44 additions and 23 deletions.
14 changes: 9 additions & 5 deletions app/src/main/java/statusbar/finder/LrcGetter.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
import com.github.houbb.opencc4j.util.ZhConverterUtil;
import com.moji4j.MojiConverter;
import com.moji4j.MojiDetector;
import statusbar.finder.livedatas.GetResult;
import statusbar.finder.misc.CheckStringLang;
import statusbar.finder.livedata.GetResult;
import statusbar.finder.misc.CheckLanguageUtil;
import statusbar.finder.provider.ILrcProvider;
import statusbar.finder.provider.KugouProvider;
import statusbar.finder.provider.MusixMatchProvider;
Expand All @@ -28,13 +28,17 @@ public class LrcGetter {
// new QQMusicProvider()
};
private static MessageDigest messageDigest;
public static LyricsDatabase lyricsDatabase;

public static Lyric getLyric(Context context, MediaMetadata mediaMetadata, String sysLang, String packageName, boolean requireTranslate) {
return getLyric(context, new ILrcProvider.MediaInfo(mediaMetadata), sysLang, packageName, requireTranslate);
}

public static Lyric getLyric(Context context, ILrcProvider.MediaInfo mediaInfo, String sysLang, String packageName, boolean requireTranslate) {
LyricsDatabase lyricsDatabase = new LyricsDatabase(context);
lyricsDatabase = lyricsDatabase != null
? lyricsDatabase
: new LyricsDatabase(context)
;
// Log.d(TAG, "curMediaData" + new SimpleSongInfo(mediaMetadata));
ILrcProvider.MediaInfo hiraganaMediaInfo;
if (messageDigest == null) {
Expand Down Expand Up @@ -96,13 +100,13 @@ public static Lyric getLyric(Context context, ILrcProvider.MediaInfo mediaInfo,
allLyrics = LyricUtils.getAllLyrics(false, currentResult.mLyric);
}

if (Objects.equals(sysLang, "zh-CN") && !CheckStringLang.isJapanese(allLyrics)) {
if (Objects.equals(sysLang, "zh-CN") && !CheckLanguageUtil.isJapanese(allLyrics)) {
if (currentResult.mTranslatedLyric != null) {
currentResult.mTranslatedLyric = ZhConverterUtil.toSimple(currentResult.mTranslatedLyric);
} else {
currentResult.mLyric = ZhConverterUtil.toSimple(currentResult.mLyric);
}
} else if (Objects.equals(sysLang, "zh-TW") && !CheckStringLang.isJapanese(allLyrics)) {
} else if (Objects.equals(sysLang, "zh-TW") && !CheckLanguageUtil.isJapanese(allLyrics)) {
if (currentResult.mTranslatedLyric != null) {
currentResult.mTranslatedLyric = ZhConverterUtil.toTraditional(currentResult.mTranslatedLyric);
} else {
Expand Down
6 changes: 3 additions & 3 deletions app/src/main/java/statusbar/finder/MusicListenerService.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@
import cn.lyric.getter.api.tools.Tools;
import cn.zhaiyifan.lyric.LyricUtils;
import cn.zhaiyifan.lyric.model.Lyric;
import statusbar.finder.livedatas.AppsListChanged;
import statusbar.finder.livedatas.GetResult;
import statusbar.finder.livedatas.LyricsChanged;
import statusbar.finder.livedata.AppsListChanged;
import statusbar.finder.livedata.GetResult;
import statusbar.finder.livedata.LyricsChanged;
import statusbar.finder.misc.Constants;
import statusbar.finder.provider.ILrcProvider;

Expand Down
17 changes: 17 additions & 0 deletions app/src/main/java/statusbar/finder/hook/MainHook.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package statusbar.finder.hook

import de.robv.android.xposed.IXposedHookLoadPackage
import de.robv.android.xposed.callbacks.XC_LoadPackage

/**
* LyricGetterExt - statusbar.finder.hook
* @description: Coming soon.
* @author: VictorModi
* @email: victormodi@outlook.com
* @date: 2024/2/23 0:17
*/
abstract class MainHook : IXposedHookLoadPackage {
override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {

}
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package statusbar.finder.livedatas;
package statusbar.finder.livedata;

import androidx.lifecycle.LiveData;

/**
* LyricGetterExt - statusbar.finder.broadcast
* LyricGetterExt - statusbar.finder.livedata
* @description: Used for notifying observers about changes in the list of apps.
* This LiveData emits a null value to indicate that the list of apps has been changed.
* Singleton class, use getInstance() method to obtain the instance.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package statusbar.finder.livedatas;
package statusbar.finder.livedata;

import androidx.lifecycle.LiveData;
import statusbar.finder.provider.ILrcProvider;

/**
* LyricGetterExt - statusbar.finder.livedatas
* LyricGetterExt - statusbar.finder.livedata
*
* @description: Coming soon.
* @author: VictorModi
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package statusbar.finder.livedatas;
package statusbar.finder.livedata;

import androidx.lifecycle.LiveData;

/**
* LyricGetterExt - statusbar.finder.livedatas
* LyricGetterExt - statusbar.finder.livedata
* @description: LiveData for notifying observers about changes in lyrics.
* This LiveData emits a Pair object containing the updated lyric content and its position.
* Singleton class, use getInstance() method to obtain the instance.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import com.moji4j.MojiDetector;

public class CheckStringLang {
public class CheckLanguageUtil {

private static MojiDetector detector;
// public static boolean isJapenese(String text) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
import androidx.preference.PreferenceCategory;
import org.jetbrains.annotations.NotNull;
import statusbar.finder.R;
import statusbar.finder.livedatas.AppsListChanged;
import statusbar.finder.livedata.AppsListChanged;
import statusbar.finder.preferences.PackageListAdapter.PackageItem;

import java.util.ArrayList;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import statusbar.finder.misc.CheckStringLang;
import statusbar.finder.misc.CheckLanguageUtil;
import statusbar.finder.provider.utils.HttpRequestUtil;
import statusbar.finder.provider.utils.LyricSearchUtil;
import statusbar.finder.provider.utils.UnicodeUtil;
Expand Down Expand Up @@ -133,7 +133,7 @@ private static Pair<String, Long> getLrcUrl(JSONArray jsonArray, String songTitl
private String toSimpleURLEncode(String input) {
String result = input;
if (input != null) {
if (!CheckStringLang.isJapanese(input)) {
if (!CheckLanguageUtil.isJapanese(input)) {
result = ZhConverterUtil.toSimple(result);
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import com.github.houbb.opencc4j.util.ZhConverterUtil;
import org.json.JSONArray;
import org.json.JSONException;
import statusbar.finder.misc.CheckStringLang;
import statusbar.finder.misc.CheckLanguageUtil;
import statusbar.finder.provider.ILrcProvider;

import java.io.UnsupportedEncodingException;
Expand All @@ -19,7 +19,7 @@ public class LyricSearchUtil {
private static final Pattern LyricContentPattern = Pattern.compile("(\\[\\d\\d:\\d\\d\\.\\d{0,3}]|\\[\\d\\d:\\d\\d])[^\\r\\n]");

private static void convertIfNecessary(String input) {
if (ZhConverterUtil.isTraditional(input) && !(CheckStringLang.isJapanese(input))) {
if (ZhConverterUtil.isTraditional(input) && !(CheckLanguageUtil.isJapanese(input))) {
input = ZhConverterUtil.toSimple(input);
}
}
Expand Down Expand Up @@ -76,15 +76,15 @@ public static String parseArtists(JSONArray jsonArray, String key) {

public static long calculateSongInfoDistance(String realTitle, String realArtist, String realAlbum, String title, String artist, String album) {
if (ZhConverterUtil.isTraditional(realTitle)) {
if (!(CheckStringLang.isJapanese(realTitle)))
if (!(CheckLanguageUtil.isJapanese(realTitle)))
realTitle = ZhConverterUtil.toSimple(realTitle);
}
if (ZhConverterUtil.isTraditional(realArtist)) {
if (!(CheckStringLang.isJapanese(realArtist)))
if (!(CheckLanguageUtil.isJapanese(realArtist)))
realArtist = ZhConverterUtil.toSimple(realArtist);
}
if (ZhConverterUtil.isTraditional(realAlbum)) {
if (!(CheckStringLang.isJapanese(realAlbum)))
if (!(CheckLanguageUtil.isJapanese(realAlbum)))
realAlbum = ZhConverterUtil.toSimple(realAlbum);
}

Expand Down

0 comments on commit 7c04fe2

Please sign in to comment.