feat(core): default volume controls
This commit is contained in:
@@ -538,6 +538,10 @@
|
||||
"name": "Force Upload Source Quality",
|
||||
"description": "Forces Snapchat to upload media in the original quality\nPlease note that this may not remove metadata from media"
|
||||
},
|
||||
"default_volume_controls": {
|
||||
"name": "Default Volume Controls",
|
||||
"description": "Forces Snapchat to use system volume controls"
|
||||
},
|
||||
"disable_snap_splitting": {
|
||||
"name": "Disable Snap Splitting",
|
||||
"description": "Prevents Snaps from being split into multiple parts\nPictures you send will turn into videos"
|
||||
|
||||
@@ -37,5 +37,6 @@ class Global : ConfigContainer() {
|
||||
val videoPlaybackRateSlider = boolean("video_playback_rate_slider") { requireRestart() }
|
||||
val disableGooglePlayDialogs = boolean("disable_google_play_dialogs") { requireRestart() }
|
||||
val forceUploadSourceQuality = boolean("force_upload_source_quality") { requireRestart() }
|
||||
val defaultVolumeControls = boolean("default_volume_controls") { requireRestart() }
|
||||
val disableSnapSplitting = boolean("disable_snap_splitting") { addNotices(FeatureNotice.INTERNAL_BEHAVIOR) }
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package me.rhunk.snapenhance.core.features.impl.ui
|
||||
|
||||
import android.view.KeyEvent
|
||||
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 DefaultVolumeControls : Feature("Default Volume Controls", loadParams = FeatureLoadParams.ACTIVITY_CREATE_SYNC) {
|
||||
override fun onActivityCreate() {
|
||||
if (!context.config.global.defaultVolumeControls.get()) return
|
||||
context.mainActivity!!::class.java.hook("onKeyDown", HookStage.BEFORE) { param ->
|
||||
val keyCode = param.arg<Int>(0)
|
||||
if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN || keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
|
||||
param.setResult(false)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -119,6 +119,7 @@ class FeatureManager(
|
||||
StealthModeIndicator(),
|
||||
DisablePermissionRequests(),
|
||||
SessionEvents(),
|
||||
DefaultVolumeControls(),
|
||||
)
|
||||
|
||||
initializeFeatures()
|
||||
|
||||
Reference in New Issue
Block a user