Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions app/src/main/java/com/parallelc/micts/ModuleMain.kt
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import com.parallelc.micts.config.XposedConfig.KEY_SPOOF_MODEL
import com.parallelc.micts.hooker.CSMSHooker
import com.parallelc.micts.hooker.InvokeOmniHooker
import com.parallelc.micts.hooker.LongPressHomeHooker
import com.parallelc.micts.hooker.NavBarActionsConfigHooker
import com.parallelc.micts.hooker.NavStubGestureEventManagerHooker
import com.parallelc.micts.hooker.NavStubViewHooker
import com.parallelc.micts.hooker.VIMSHooker
Expand Down Expand Up @@ -101,6 +102,14 @@ class ModuleMain(base: XposedInterface, param: ModuleLoadedParam) : XposedModule
DEVICE.isAccessible = true
DEVICE.set(null, prefs.getString(KEY_SPOOF_DEVICE, DEFAULT_CONFIG[KEY_SPOOF_DEVICE] as String))
}
"com.android.systemui" -> {
if (Build.MANUFACTURER != "meizu") return
runCatching {
NavBarActionsConfigHooker.hook(param)
}.onFailure { e ->
log("hook NavBarActionsConfig fail", e)
}
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ object XposedConfig {
val DEFAULT_CONFIG = mapOf<String, Any>(
KEY_TRIGGER_SERVICE to TriggerService.getSupportedServices().last().ordinal,
KEY_GESTURE_TRIGGER to (Build.MANUFACTURER == "Xiaomi"),
KEY_HOME_TRIGGER to (Build.MANUFACTURER == "Xiaomi"),
KEY_HOME_TRIGGER to (Build.MANUFACTURER == "Xiaomi" || Build.MANUFACTURER == "meizu"),
KEY_DEVICE_SPOOF to true,
KEY_SPOOF_MANUFACTURER to "Google",
KEY_SPOOF_BRAND to "google",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package com.parallelc.micts.hooker

import android.content.Context
import com.parallelc.micts.config.XposedConfig.CONFIG_NAME
import com.parallelc.micts.config.XposedConfig.DEFAULT_CONFIG
import com.parallelc.micts.config.XposedConfig.KEY_HOME_TRIGGER
import com.parallelc.micts.config.XposedConfig.KEY_VIBRATE
import com.parallelc.micts.module
import com.parallelc.micts.ui.activity.triggerCircleToSearch
import io.github.libxposed.api.XposedInterface.BeforeHookCallback
import io.github.libxposed.api.XposedInterface.Hooker
import io.github.libxposed.api.XposedModuleInterface.PackageLoadedParam
import io.github.libxposed.api.annotations.BeforeInvocation
import io.github.libxposed.api.annotations.XposedHooker

class NavBarActionsConfigHooker {
companion object {
fun hook(param: PackageLoadedParam) {
val navBarActionsConfig =
param.classLoader.loadClass("com.flyme.systemui.navigationbar.actions.NavBarActionsConfig")
module!!.hook(
navBarActionsConfig.getDeclaredMethod(
"helpStartAI",
Context::class.java,
String::class.java
),
HelpStartAiHooker::class.java
)
}
}

@XposedHooker
class HelpStartAiHooker : Hooker {
companion object {
@JvmStatic
@BeforeInvocation
fun before(callback: BeforeHookCallback) {
val prefs = module!!.getRemotePreferences(CONFIG_NAME)
if (!prefs.getBoolean(KEY_HOME_TRIGGER, DEFAULT_CONFIG[KEY_HOME_TRIGGER] as Boolean)) {
return
}
triggerCircleToSearch(
1,
callback.args[0] as? Context,
prefs.getBoolean(KEY_VIBRATE, DEFAULT_CONFIG[KEY_VIBRATE] as Boolean)
)
callback.returnAndSkip(null)
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -334,7 +334,9 @@ fun SettingsPage(
)
}

if (Build.MANUFACTURER == "Xiaomi") {
val isXiaomi = Build.MANUFACTURER == "Xiaomi"
val isMeizu = Build.MANUFACTURER == "meizu"
if (isXiaomi) {
ListItem(
headlineContent = { Text(stringResource(R.string.trigger_by_long_press_gesture_handle)) },
trailingContent = {
Expand All @@ -344,7 +346,9 @@ fun SettingsPage(
)
}
)
}

if (isXiaomi || isMeizu) {
ListItem(
headlineContent = { Text(stringResource(R.string.trigger_by_long_press_home_button)) },
trailingContent = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,9 @@ class SettingsViewModel(application: Application) : AndroidViewModel(application
if (Build.BRAND == "POCO" && scope.contains("com.mi.android.globallauncher") == false) {
_xposedService.value?.requestScope("com.mi.android.globallauncher", object: OnScopeEventListener{})
}
if (Build.MANUFACTURER == "meizu" && scope.contains("com.android.systemui") == false) {
_xposedService.value?.requestScope("com.android.systemui", object : OnScopeEventListener {})
}
}
XposedConfig.KEY_DEVICE_SPOOF -> {
if (scope.contains("com.google.android.googlequicksearchbox") == false) {
Expand Down
Loading