withReleaseControl method

Widget withReleaseControl(
  1. String route, {
  2. dynamic replacement = const SizedBox.shrink(),
  3. dynamic maintainState = false,
  4. dynamic maintainAnimation = false,
  5. dynamic maintainSize = false,
  6. dynamic maintainSemantics = false,
  7. dynamic maintainInteractivity = false,
})

Control whether the given child is visible.

The child and replacement arguments must not be null.

The boolean arguments must not be null.

The maintainSemantics and maintainInteractivity arguments can only be set if maintainSize is set.

The maintainSize argument can only be set if maintainAnimation is set.

The maintainAnimation argument can only be set if maintainState is set.

Implementation

Widget withReleaseControl(
  String route, {
  replacement = const SizedBox.shrink(),
  maintainState = false,
  maintainAnimation = false,
  maintainSize = false,
  maintainSemantics = false,
  maintainInteractivity = false,
}) {
  final remoteConfig = FirebaseRemoteConfig.instance;
  final isVisible = kReleaseMode ? remoteConfig.getBool(route) : true;
  return Visibility(
    child: this,
    replacement: replacement,
    visible: isVisible,
    maintainState: maintainState,
    maintainAnimation: maintainAnimation,
    maintainSize: maintainSize,
    maintainSemantics: maintainSemantics,
    maintainInteractivity: maintainInteractivity,
  );
}