SettingItemRegistry class
设置项注册表,统一管理设置项元数据定义与运行时绑定逻辑
单一入口管理元数据(SettingItemDefinition)、运行时构建工厂、 可见性工厂和独立面板动作,提供按场景/方向/隐藏元素过滤查询的能力。
Unified setting item registry that manages metadata definitions, runtime build factories, visibility factories, and panel actions.
Provides lazy-initialized default registrations, custom extension registration, and query capabilities filtered by scene, orientation, and hidden elements.
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
build(
SettingItemDefinition def, AliPlayerWidgetController controller, List< ChangeNotifier> disposeBag) → SettingItem - 根据定义构建运行时 SettingItem
-
getPanelAction(
String elementKey) → PanelActionFn? - 获取指定 elementKey 的独立面板动作
-
hasVisibility(
String elementKey) → bool - 检查指定 elementKey 是否注册了动态可见性工厂
-
query(
{required SceneType sceneType, Orientation? orientation}) → List< SettingItemDefinition> - 按条件查询设置项定义列表
-
queryGrouped(
{required SceneType sceneType, }) → Map< SettingItemGroup, List< SettingItemDefinition> > - 按分组查询竖屏设置面板的设置项定义
-
resetForTesting(
) → void - 重置所有注册(仅用于测试)
-
resolveVisibility(
SettingItemDefinition def, AliPlayerWidgetController controller, List< ChangeNotifier> disposeBag) → ValueListenable<bool> ? - 解析定义的动态可见性条件
-
wrapNotifier<
T> (ValueListenable< T> source, List<ChangeNotifier> disposeBag) → ValueNotifier<T> -
将源 ValueListenable<T> 包装为独立的 ValueNotifier<T>,
并注册同步监听器,同时将包装后的 notifier 加入
disposeBag