feat(core): hide active music

This commit is contained in:
rhunk
2024-04-09 19:44:52 +02:00
parent 454a441fda
commit b0b20894a6
4 changed files with 22 additions and 0 deletions

View File

@@ -669,6 +669,10 @@
"name": "Default Volume Controls",
"description": "Forces Snapchat to use system volume controls"
},
"hide_active_music": {
"name": "Hide Active Music",
"description": "Prevents Snapchat from knowing you're listening to music\nThis will allow you to take snaps using control volume buttons while listening to music"
},
"disable_snap_splitting": {
"name": "Disable Snap Splitting",
"description": "Prevents Snaps from being split into multiple parts\nPictures you send will turn into videos"

View File

@@ -42,5 +42,6 @@ class Global : ConfigContainer() {
val disableGooglePlayDialogs = boolean("disable_google_play_dialogs") { requireRestart() }
val forceUploadSourceQuality = boolean("force_upload_source_quality") { requireRestart() }
val defaultVolumeControls = boolean("default_volume_controls") { requireRestart() }
val hideActiveMusic = boolean("hide_active_music") { requireRestart() }
val disableSnapSplitting = boolean("disable_snap_splitting") { addNotices(FeatureNotice.INTERNAL_BEHAVIOR) }
}

View File

@@ -127,6 +127,7 @@ class FeatureManager(
BypassMessageActionRestrictions(),
BetterLocation(),
MediaFilePicker(),
HideActiveMusic(),
)
initializeFeatures()

View File

@@ -0,0 +1,16 @@
package me.rhunk.snapenhance.core.features.impl.tweaks
import android.media.AudioManager
import me.rhunk.snapenhance.core.features.Feature
import me.rhunk.snapenhance.core.features.FeatureLoadParams
import me.rhunk.snapenhance.core.util.hook.HookStage
import me.rhunk.snapenhance.core.util.hook.hook
class HideActiveMusic: Feature("Hide Active Music", loadParams = FeatureLoadParams.ACTIVITY_CREATE_SYNC) {
override fun onActivityCreate() {
if (!context.config.global.hideActiveMusic.get()) return
AudioManager::class.java.hook("isMusicActive", HookStage.BEFORE) {
it.setResult(false)
}
}
}