mirror of
https://github.com/LittleTurtle2333/SimplicityTools.git
synced 2026-07-12 19:31:17 +08:00
修复最新MIUI内测居中布局通知异常
This commit is contained in:
@@ -10,6 +10,7 @@ import android.view.View
|
|||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.FrameLayout
|
import android.widget.FrameLayout
|
||||||
import android.widget.LinearLayout
|
import android.widget.LinearLayout
|
||||||
|
import android.widget.TextView
|
||||||
import androidx.constraintlayout.widget.ConstraintLayout
|
import androidx.constraintlayout.widget.ConstraintLayout
|
||||||
import com.lt2333.simplicitytools.util.XSPUtils
|
import com.lt2333.simplicitytools.util.XSPUtils
|
||||||
import com.lt2333.simplicitytools.util.findClass
|
import com.lt2333.simplicitytools.util.findClass
|
||||||
@@ -53,26 +54,26 @@ object StatusBarLayout: HookRegister() {
|
|||||||
val clockId: Int = res.getIdentifier("clock", "id", "com.android.systemui")
|
val clockId: Int = res.getIdentifier("clock", "id", "com.android.systemui")
|
||||||
val phoneStatusBarLeftContainerId: Int =
|
val phoneStatusBarLeftContainerId: Int =
|
||||||
res.getIdentifier("phone_status_bar_left_container", "id", "com.android.systemui")
|
res.getIdentifier("phone_status_bar_left_container", "id", "com.android.systemui")
|
||||||
val fullscreenNotificationIconAreaId: Int =
|
val notificationIconAreaInnerId: Int =
|
||||||
res.getIdentifier("fullscreen_notification_icon_area", "id", "com.android.systemui")
|
res.getIdentifier("notification_icon_area_inner", "id", "com.android.systemui")
|
||||||
statusBar = MiuiPhoneStatusBarView.findViewById(statusBarId)
|
statusBar = MiuiPhoneStatusBarView.findViewById(statusBarId)
|
||||||
val statusBarContents: ViewGroup =
|
val statusBarContents: ViewGroup =
|
||||||
MiuiPhoneStatusBarView.findViewById(statusBarContentsId)
|
MiuiPhoneStatusBarView.findViewById(statusBarContentsId)
|
||||||
if (statusBar == null) return@hookAfterMethod
|
if (statusBar == null) return@hookAfterMethod
|
||||||
val Clock: View = MiuiPhoneStatusBarView.findViewById(clockId)
|
val clock: TextView = MiuiPhoneStatusBarView.findViewById(clockId)
|
||||||
val phoneStatusBarLeftContainer: ViewGroup =
|
val phoneStatusBarLeftContainer: ViewGroup =
|
||||||
MiuiPhoneStatusBarView.findViewById(phoneStatusBarLeftContainerId)
|
MiuiPhoneStatusBarView.findViewById(phoneStatusBarLeftContainerId)
|
||||||
val fullscreenNotificationIconArea: ViewGroup =
|
val notificationIconAreaInner: ViewGroup =
|
||||||
MiuiPhoneStatusBarView.findViewById(fullscreenNotificationIconAreaId)
|
MiuiPhoneStatusBarView.findViewById(notificationIconAreaInnerId)
|
||||||
val systemIconArea: ViewGroup =
|
val systemIconArea: ViewGroup =
|
||||||
MiuiPhoneStatusBarView.findViewById(systemIconAreaId)
|
MiuiPhoneStatusBarView.findViewById(systemIconAreaId)
|
||||||
|
|
||||||
(Clock.parent as ViewGroup).removeView(Clock)
|
(clock.parent as ViewGroup).removeView(clock)
|
||||||
(phoneStatusBarLeftContainer.parent as ViewGroup).removeView(
|
(phoneStatusBarLeftContainer.parent as ViewGroup).removeView(
|
||||||
phoneStatusBarLeftContainer
|
phoneStatusBarLeftContainer
|
||||||
)
|
)
|
||||||
(fullscreenNotificationIconArea.parent as ViewGroup).removeView(
|
(notificationIconAreaInner.parent as ViewGroup).removeView(
|
||||||
fullscreenNotificationIconArea
|
notificationIconAreaInner
|
||||||
)
|
)
|
||||||
(systemIconArea.parent as ViewGroup).removeView(systemIconArea)
|
(systemIconArea.parent as ViewGroup).removeView(systemIconArea)
|
||||||
|
|
||||||
@@ -84,14 +85,14 @@ object StatusBarLayout: HookRegister() {
|
|||||||
val mConstraintLayout =
|
val mConstraintLayout =
|
||||||
ConstraintLayout(context).also { it.layoutParams = mConstraintLayoutLp }
|
ConstraintLayout(context).also { it.layoutParams = mConstraintLayoutLp }
|
||||||
|
|
||||||
mConstraintLayout.addView(fullscreenNotificationIconArea)
|
mConstraintLayout.addView(notificationIconAreaInner)
|
||||||
|
|
||||||
val fullscreen_notification_icon_area_lp = FrameLayout.LayoutParams(
|
val fullscreen_notification_icon_area_lp = LinearLayout.LayoutParams(
|
||||||
ConstraintLayout.LayoutParams.MATCH_PARENT,
|
ConstraintLayout.LayoutParams.MATCH_PARENT,
|
||||||
ConstraintLayout.LayoutParams.MATCH_PARENT
|
ConstraintLayout.LayoutParams.MATCH_PARENT
|
||||||
)
|
)
|
||||||
|
|
||||||
fullscreenNotificationIconArea.layoutParams = fullscreen_notification_icon_area_lp
|
notificationIconAreaInner.layoutParams = fullscreen_notification_icon_area_lp
|
||||||
|
|
||||||
//增加一个左对齐布局
|
//增加一个左对齐布局
|
||||||
mLeftLayout = LinearLayout(context)
|
mLeftLayout = LinearLayout(context)
|
||||||
@@ -116,7 +117,7 @@ object StatusBarLayout: HookRegister() {
|
|||||||
mLeftLayout!!.addView(phoneStatusBarLeftContainer)
|
mLeftLayout!!.addView(phoneStatusBarLeftContainer)
|
||||||
mLeftLayout!!.addView(mConstraintLayout)
|
mLeftLayout!!.addView(mConstraintLayout)
|
||||||
|
|
||||||
mCenterLayout!!.addView(Clock)
|
mCenterLayout!!.addView(clock)
|
||||||
mRightLayout!!.addView(systemIconArea)
|
mRightLayout!!.addView(systemIconArea)
|
||||||
statusBarContents.addView(mLeftLayout, 0)
|
statusBarContents.addView(mLeftLayout, 0)
|
||||||
statusBarContents.addView(mCenterLayout)
|
statusBarContents.addView(mCenterLayout)
|
||||||
@@ -152,6 +153,17 @@ object StatusBarLayout: HookRegister() {
|
|||||||
updateLayout(context)
|
updateLayout(context)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
val miuiPhoneStatusBarViewClass =
|
||||||
|
"com.android.systemui.statusbar.phone.MiuiPhoneStatusBarView".findClass(getDefaultClassLoader())
|
||||||
|
|
||||||
|
miuiPhoneStatusBarViewClass.hookAfterMethod("updateNotificationIconAreaInnnerParent") {
|
||||||
|
val viewGroup = it.thisObject as ViewGroup
|
||||||
|
val fullscreen_notification_icon_area_lp = FrameLayout.LayoutParams(
|
||||||
|
ConstraintLayout.LayoutParams.MATCH_PARENT,
|
||||||
|
ConstraintLayout.LayoutParams.MATCH_PARENT
|
||||||
|
)
|
||||||
|
viewGroup.layoutParams = fullscreen_notification_icon_area_lp
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user