refactor: non-inline all layout content for black-box problem

This commit is contained in:
2025-12-14 20:35:26 +08:00
parent 0dd1c5b57d
commit 8e9e1a9632
9 changed files with 139 additions and 78 deletions

View File

@@ -36,7 +36,7 @@ import com.highcapable.hikage.core.base.Hikageable
* @see Hikageable
* @return [Hikage]
*/
inline fun Activity.setContentView(
fun Activity.setContentView(
factory: HikageFactoryBuilder.() -> Unit = {},
performer: HikagePerformer<FrameLayout.LayoutParams>
) = Hikageable(context = this, factory = factory, performer = performer).apply { setContentView(root) }

View File

@@ -38,7 +38,7 @@ import androidx.appcompat.app.AlertDialog as AndroidXAlertDialog
* @see Hikageable
* @return [Hikage]
*/
inline fun AlertDialog.setView(
fun AlertDialog.setView(
factory: HikageFactoryBuilder.() -> Unit = {},
performer: HikagePerformer<FrameLayout.LayoutParams>
) = Hikageable(context = context, factory = factory, performer = performer).apply { setView(root) }
@@ -62,7 +62,7 @@ fun AlertDialog.setView(delegate: Hikage.Delegate<*>) =
* @see Hikageable
* @return [AlertDialog.Builder]
*/
inline fun AlertDialog.Builder.setView(
fun AlertDialog.Builder.setView(
factory: HikageFactoryBuilder.() -> Unit = {},
performer: HikagePerformer<FrameLayout.LayoutParams>
): AlertDialog.Builder = setView(Hikageable(context = context, factory = factory, performer = performer).root)
@@ -87,7 +87,7 @@ fun AlertDialog.Builder.setView(delegate: Hikage.Delegate<*>): AlertDialog.Build
* @see Hikageable
* @return [Hikage]
*/
inline fun AndroidXAlertDialog.setView(
fun AndroidXAlertDialog.setView(
factory: HikageFactoryBuilder.() -> Unit = {},
performer: HikagePerformer<FrameLayout.LayoutParams>
) = Hikageable(context = context, factory = factory, performer = performer).apply { setView(root) }
@@ -111,7 +111,7 @@ fun AndroidXAlertDialog.setView(delegate: Hikage.Delegate<*>) =
* @see Hikageable
* @return [AndroidXAlertDialog.Builder]
*/
inline fun AndroidXAlertDialog.Builder.setView(
fun AndroidXAlertDialog.Builder.setView(
factory: HikageFactoryBuilder.() -> Unit = {},
performer: HikagePerformer<FrameLayout.LayoutParams>
): AndroidXAlertDialog.Builder = setView(Hikageable(context = context, factory = factory, performer = performer).root)
@@ -136,7 +136,7 @@ fun AndroidXAlertDialog.Builder.setView(delegate: Hikage.Delegate<*>): AndroidXA
* @see Hikageable
* @return [Hikage]
*/
inline fun Dialog.setContentView(
fun Dialog.setContentView(
factory: HikageFactoryBuilder.() -> Unit = {},
performer: HikagePerformer<FrameLayout.LayoutParams>
) = Hikageable(context = context, factory = factory, performer = performer).apply { setContentView(root) }

View File

@@ -19,7 +19,7 @@
*
* This file is created by fankes on 2025/2/27.
*/
@file:Suppress("unused", "NON_PUBLIC_CALL_FROM_PUBLIC_INLINE")
@file:Suppress("unused")
@file:JvmName("PopupWindowUtils")
package com.highcapable.hikage.extension
@@ -38,7 +38,7 @@ import com.highcapable.kavaref.KavaRef.Companion.asResolver
* @see Hikageable
* @return [Hikage]
*/
inline fun PopupWindow.setContentView(
fun PopupWindow.setContentView(
context: Context = requireContext(),
factory: HikageFactoryBuilder.() -> Unit = {},
performer: HikagePerformer<FrameLayout.LayoutParams>

View File

@@ -38,8 +38,8 @@ import com.highcapable.hikage.core.base.Hikageable
@JvmName("addViewTyped")
inline fun <reified LP : ViewGroup.LayoutParams> ViewGroup.addView(
index: Int = -1,
factory: HikageFactoryBuilder.() -> Unit = {},
performer: HikagePerformer<LP>
noinline factory: HikageFactoryBuilder.() -> Unit = {},
noinline performer: HikagePerformer<LP>
) = Hikageable<LP>(context = context, factory = factory, performer = performer).apply { addView(root, index) }
/**
@@ -47,7 +47,7 @@ inline fun <reified LP : ViewGroup.LayoutParams> ViewGroup.addView(
* @see Hikageable
* @return [Hikage]
*/
inline fun ViewGroup.addView(
fun ViewGroup.addView(
index: Int = -1,
factory: HikageFactoryBuilder.() -> Unit = {},
performer: HikagePerformer<ViewGroup.LayoutParams>

View File

@@ -36,7 +36,7 @@ import com.highcapable.hikage.core.base.Hikageable
* @see Hikageable
* @return [Hikage]
*/
inline fun Window.setContentView(
fun Window.setContentView(
factory: HikageFactoryBuilder.() -> Unit = {},
performer: HikagePerformer<FrameLayout.LayoutParams>
) = Hikageable(context = context, factory = factory, performer = performer).apply { setContentView(root) }