Skip to content

Commit

Permalink
add english
Browse files Browse the repository at this point in the history
更改 软件名称
共存旧检测方式
优化代理
  • Loading branch information
xiaowine committed Mar 1, 2024
1 parent 16c0af7 commit 0c1ce65
Show file tree
Hide file tree
Showing 7 changed files with 192 additions and 115 deletions.
1 change: 1 addition & 0 deletions app/src/main/java/cn/lyric/getter/config/Config.kt
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ class Config {
var updateTime: Long by serialLazy(0L)
var showTitle: Boolean by serialLazy(false)
}

1 change: 0 additions & 1 deletion app/src/main/java/cn/lyric/getter/hook/BaseHook.kt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import cn.xiaowine.dsp.data.MODE

abstract class BaseHook {
var isInit: Boolean = false
val config: Config by lazy { xConfig }
open fun init() {
DSP.init(null, BuildConfig.APPLICATION_ID, MODE.HOOK, true)
}
Expand Down
1 change: 1 addition & 0 deletions app/src/main/java/cn/lyric/getter/hook/app/RPlayer.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package cn.lyric.getter.hook.app

import android.content.Context
import cn.lyric.getter.hook.BaseHook
import cn.lyric.getter.tool.ConfigTools.xConfig as config
import cn.lyric.getter.tool.HookTools
import cn.xiaowine.xkt.Tool.isNotNull
import com.github.kyuubiran.ezxhelper.ClassUtils.loadClassOrNull
Expand Down
85 changes: 43 additions & 42 deletions app/src/main/java/cn/lyric/getter/hook/app/SystemUi.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@ package cn.lyric.getter.hook.app
import android.media.MediaMetadata
import android.media.session.MediaController
import android.media.session.PlaybackState
import android.os.Build
import cn.lyric.getter.BuildConfig
import cn.lyric.getter.R
import cn.lyric.getter.tool.ConfigTools.xConfig as config
import cn.lyric.getter.api.data.LyricData
import cn.lyric.getter.api.listener.LyricListener
import cn.lyric.getter.api.listener.LyricReceiver
Expand Down Expand Up @@ -51,52 +53,51 @@ object SystemUi : BaseHook() {

override fun init() {
super.init()
// if (Build.VERSION.SDK_INT <= 33) {
//// Android13及其以下适用这个方法
// loadClassOrNull("com.android.systemui.statusbar.NotificationMediaManager").isNotNull {
// it.methodFinder().filterByName("clearCurrentMediaNotification").first().createHook {
// after {
// if (!useOwnMusicController) {
// eventTools.cleanLyric()
// }
// }
// }
// }
// } else {
//// Android14 clearCurrentMediaNotification消失了,使用removePlayer代替
// loadClassOrNull("com.android.systemui.media.controls.ui.MediaCarouselController").isNotNull {
// it.methodFinder().filterByName("removePlayer\$default").first().createHook {
// after {
// if (!useOwnMusicController) {
// eventTools.cleanLyric()
// }
// }
// }
// }
// }
// for (i in 0..10) {
// val clazz = loadClassOrNull("com.android.systemui.statusbar.NotificationMediaManager$$i")
// if (clazz.isNotNull()) {
// if (clazz!!.hasMethod("onPlaybackStateChanged")) {
// clazz.methodFinder().filterByName("onPlaybackStateChanged").first().createHook {
// after { hookParam ->
// if (!useOwnMusicController) {
// val playbackState = hookParam.args[0] as PlaybackState
// if (playbackState.state == 2) {
// eventTools.cleanLyric()
// }
// }
// }
// }
// break
// }
// }
// }
if (Build.VERSION.SDK_INT <= 33) {
// Android13及其以下适用这个方法
loadClassOrNull("com.android.systemui.statusbar.NotificationMediaManager").isNotNull {
it.methodFinder().filterByName("clearCurrentMediaNotification").first().createHook {
after {
if (!isPlayer || !useOwnMusicController) return@after
isPlayer = false
eventTools.cleanLyric()
}
}
}
} else {
// Android14 clearCurrentMediaNotification消失了,使用removePlayer代替
loadClassOrNull("com.android.systemui.media.controls.ui.MediaCarouselController").isNotNull {
it.methodFinder().filterByName("removePlayer\$default").first().createHook {
after {
if (!isPlayer || !useOwnMusicController) return@after
isPlayer = false
eventTools.cleanLyric()
}
}
}
}
for (i in 0..10) {
val clazz = loadClassOrNull("com.android.systemui.statusbar.NotificationMediaManager$$i")
if (clazz.isNotNull()) {
if (clazz!!.hasMethod("onPlaybackStateChanged")) {
clazz.methodFinder().filterByName("onPlaybackStateChanged").first().createHook {
after { hookParam ->
if (!isPlayer || !useOwnMusicController) return@after
val playbackState = hookParam.args[0] as PlaybackState
if (playbackState.state == 2) {
isPlayer = false
eventTools.cleanLyric()
}
}
}
break
}
}
}
if (config.enhancedHiddenLyrics || config.showTitle) {
moduleRes.getString(R.string.enhanced_hidden_lyrics).log()
for (i in 0..10) {
val clazz = loadClassOrNull("com.android.systemui.statusbar.NotificationMediaManager$$i")
clazz.log()
if (clazz.isNotNull()) {
if (clazz!!.hasMethod("onMetadataChanged")) {
clazz.methodFinder().filterByName("onMetadataChanged").first().createHook {
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/java/cn/lyric/getter/hook/app/Toside.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ import android.app.Activity
import android.view.View
import cn.lyric.getter.hook.BaseHook
import cn.lyric.getter.tool.HookTools
import cn.lyric.getter.tool.HookTools.context
import cn.lyric.getter.tool.HookTools.eventTools
import cn.lyric.getter.tool.HookTools.getApplication
import cn.xiaowine.xkt.Tool.isNotNull
import com.github.kyuubiran.ezxhelper.ClassUtils.loadClass
import com.github.kyuubiran.ezxhelper.ClassUtils.loadClassOrNull
import com.github.kyuubiran.ezxhelper.HookFactory.`-Static`.createHook
import com.github.kyuubiran.ezxhelper.finders.MethodFinder.`-Static`.methodFinder
import cn.lyric.getter.tool.ConfigTools.xConfig as config

object Toside : BaseHook() {

Expand Down
75 changes: 75 additions & 0 deletions app/src/main/res/values-zh/strings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
<resources>
<string name="app_name">酒域-歌词获取</string>
<string name="xposed_desc">酒域-歌词获取</string>
<string name="home_fragment_label">主页</string>
<string name="version_name_label">模块版本</string>
<string name="version_code_label">模块版本号</string>
<string name="version_type_label">模块发行版本</string>
<string name="settings_fragment_label">设置</string>
<string name="app_rules_fragment_label">支持APP列表</string>
<string name="activated">已激活</string>
<string name="unactivated">未激活</string>
<string name="build_time_label">编译时间</string>
<string name="unactivated_summary">点此重启软件</string>
<string name="welcome">欢迎使用</string>
<string name="restart_the_scoped_software">重启作用域软件</string>
<string name="restart">重启</string>
<string name="api_version_label">API版本</string>
<string name="config_version_label">配置文件版本</string>
<string name="show_hide_desktop_icons">显示/隐藏桌面图标</string>
<string name="getting_app_information">正在获取应用信息</string>
<string name="getting_app_information_tips">请稍后…</string>
<string name="api">API模式%s</string>
<string name="more_api">过高的API版本\n目前版本%s,所需版本%s</string>
<string name="low_api">过低的API版本\n目前版本%s,所需版本%s</string>
<string name="hook">Hook模式:%s</string>
<string name="no_support">不支持</string>
<string name="exclude">排除版本,不支持</string>
<string name="un_know">未收录</string>
<string name="app_rules_version_label">App支持列表版本</string>
<string name="show_app_rules">显示所有App支持列表</string>
<string name="update_app_rules">更新支持列表</string>
<string name="multi_rule">详情%s:%s</string>
<string name="uninstall_rule">未安装:共支持%s个模式</string>
<string name="app_rules_tips">未收录:不代表不能用,需要大家反馈最低支持版本收录后才能正常显示\n部分软件也没有收录,欢迎提供和反馈错误</string>
<string name="output_repeated_lyrics">输出重复歌词</string>
<string name="enhanced_hidden_lyrics">增强隐藏歌词</string>
<string name="enhanced_hidden_lyrics_summary">部分软件不适用,会导致歌词鬼畜</string>
<string name="allow_some_software_to_output_after_the_screen">允许部分软件息屏后依旧输出</string>
<string name="regex_replace">正则表达式屏蔽歌词</string>
<string name="device_label">设备信息</string>
<string name="new_rule_detected_loading">检测到新的App支持列表,正在加载</string>
<string name="new_rule_detected">检测到新的App支持列表</string>
<string name="new_rule_detected_tips">检测到新的App支持列表,重启生效</string>
<string name="new_version_detected">检测到新版本</string>
<string name="update">更新</string>
<string name="check_update_error">检查更新时出现错误</string>
<string name="app_rules_api_version_label">App支持列表API版本</string>
<string name="backup">备份</string>
<string name="recovery">恢复</string>
<string name="recovery_summary">重启应用程序生效</string>
<string name="select_the_mode_you_want_to_view">请选择要查看当前的App支持模式</string>
<string name="mode_num">App支持模式 %s</string>
<string name="cancel">取消</string>
<string name="ok">确定</string>
<string name="api_version">API版本</string>
<string name="start_version_code">起始版本代码</string>
<string name="end_version_code">结束版本代码</string>
<string name="exclude_versions">排除版本</string>
<string name="get_lyric_type">获取歌词类型</string>
<string name="remarks">备注</string>
<string name="use_api">使用API</string>
<string name="no_have">无</string>
<string name="api_pattern">API模式</string>
<string name="meizu_status_bar_mode">魅族状态栏模式</string>
<string name="car_bluetooth_lyrics_mode">车载蓝牙歌词模式</string>
<string name="desktop_lyrics_mode">桌面歌词模式</string>
<string name="enforced_mode">强制模式</string>
<string name="current_status">当前状态</string>
<string name="rules_are_only_for_viewing_supported_versions">App支持列表仅供查看支持软件版本\n与实际获取可能有部分出入</string>
<string name="notice">通知</string>
<string name="salt_use_flyme">椒盐/糖醋音乐使用魅族状态栏歌词接口</string>
<string name="salt_use_flyme_summary">在API模式正常时,不建议切换</string>
<string name="multiple_modes_work">有多个可正常使用的模式</string>
<string name="show_title">强制显示标题</string>
</resources>
Loading

0 comments on commit 0c1ce65

Please sign in to comment.