publishAppDimensContext function

void publishAppDimensContext(
  1. AppDimensContext context,
  2. AppDimensConfig config
)

Publishes an explicit context into the global fast-lane scope.

Implementation

void publishAppDimensContext(
  AppDimensContext context,
  AppDimensConfig config,
) {
  final metrics = DimenMetrics.from(
    context.configuration,
    isInMultiWindowMode:
        config.forcedMultiWindow ?? context.isInMultiWindowMode,
  );
  AppDimensScope.publish(metrics);
  AppDimensScope.publishContext(context);
  final uiModeType = config.forcedUiModeType ??
      (context.uiModeType == UiModeType.undefined
          ? UiModeType.normal
          : context.uiModeType);
  AppDimensScope.publishUiModeType(uiModeType);
  // Notify reactive subscribers only when the visible snapshot changed —
  // identical republications must not cause spurious rebuilds.
  AppDimensScope.fireIfChanged(metrics, uiModeType);
}