mirror of
https://github.com/rhunk/SnapEnhance.git
synced 2025-06-12 21:27:47 +02:00
fix(core/ui_tweaks): sharing drawer button
This commit is contained in:
@ -2,6 +2,7 @@ package me.rhunk.snapenhance.core.features.impl.ui
|
||||
|
||||
import android.content.res.Resources
|
||||
import android.util.Size
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup.MarginLayoutParams
|
||||
import android.widget.FrameLayout
|
||||
@ -32,6 +33,20 @@ class UITweaks : Feature("UITweaks", loadParams = FeatureLoadParams.ACTIVITY_CRE
|
||||
event.canceled = true
|
||||
}
|
||||
|
||||
private fun hideView(view: View) {
|
||||
view.apply {
|
||||
visibility = View.GONE
|
||||
post {
|
||||
isEnabled = false
|
||||
visibility = View.GONE
|
||||
setWillNotDraw(true)
|
||||
}
|
||||
addOnLayoutChangeListener { view, _, _, _, _, _, _, _, _ ->
|
||||
view.post { view.visibility = View.GONE }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onActivityCreate() {
|
||||
val blockAds by context.config.global.blockAds
|
||||
val hiddenElements by context.config.userInterface.hideUiComponents
|
||||
@ -57,6 +72,15 @@ class UITweaks : Feature("UITweaks", loadParams = FeatureLoadParams.ACTIVITY_CRE
|
||||
}
|
||||
}
|
||||
|
||||
LayoutInflater::class.java.hook("inflate", HookStage.AFTER) { param ->
|
||||
val id = param.args().firstOrNull() as? Int ?: return@hook
|
||||
val result = param.getResult() as? View ?: return@hook
|
||||
|
||||
if (id == getId("chat_input_bar_sharing_drawer_button", "layout") && hiddenElements.contains("hide_live_location_share_button")) {
|
||||
hideView(result)
|
||||
}
|
||||
}
|
||||
|
||||
Resources::class.java.methods.first { it.name == "getDimensionPixelSize"}.hook(
|
||||
HookStage.AFTER,
|
||||
{ isImmersiveCamera }
|
||||
@ -143,16 +167,7 @@ class UITweaks : Feature("UITweaks", loadParams = FeatureLoadParams.ACTIVITY_CRE
|
||||
(viewId == getId("chat_input_bar_sharing_drawer_button", "id") && hiddenElements.contains("hide_live_location_share_button")) ||
|
||||
(viewId == callButtonsStub && hiddenElements.contains("hide_chat_call_buttons"))
|
||||
) {
|
||||
view.apply {
|
||||
view.post {
|
||||
isEnabled = false
|
||||
setWillNotDraw(true)
|
||||
view.visibility = View.GONE
|
||||
}
|
||||
addOnLayoutChangeListener { view, _, _, _, _, _, _, _, _ ->
|
||||
view.post { view.visibility = View.GONE }
|
||||
}
|
||||
}
|
||||
hideView(view)
|
||||
}
|
||||
if (viewId == unreadHintButton && hiddenElements.contains("hide_unread_chat_hint")) {
|
||||
event.canceled = true
|
||||
|
Reference in New Issue
Block a user