FlutterKillSwitch class

A Flutter widget that provides an admin interface for controlling the kill switch functionality of your application.

This widget displays a toggle switch that allows administrators to enable or disable the kill switch state, which is synchronized with Firebase Firestore in real-time.

Features

  • Real-time synchronization: Changes are instantly reflected across all app instances
  • Confirmation dialog: Prevents accidental enabling with a confirmation step
  • Dark theme design: Matches modern app aesthetics
  • Responsive UI: Adapts to different screen sizes
  • Error handling: Gracefully handles network and Firebase errors

Usage

Navigator.push(
  context,
  MaterialPageRoute(
    builder: (context) => const FlutterKillSwitch(),
  ),
);

Firebase Configuration

Ensure your Firebase project is configured with Firestore and the necessary security rules are in place. The widget uses a specific collection path for storing the kill switch state.

State Management

The widget maintains the following internal states:

  • _killSwitchEnabled: Current state of the kill switch
  • _isLoading: Whether the widget is loading the initial state
  • _showingDialog: Whether the confirmation dialog is currently displayed

See also:

Inheritance

Constructors

FlutterKillSwitch({Key? key, KillSwitchTheme? theme, String? confirmationTitle, String? confirmationMessage, String? confirmButtonText, String? cancelButtonText})
Creates a kill switch admin interface.
const

Properties

cancelButtonText → String?
Optional custom cancel button text.
final
confirmationMessage → String?
Optional custom message for the confirmation dialog.
final
confirmationTitle → String?
Optional custom title for the confirmation dialog.
final
confirmButtonText → String?
Optional custom confirm button text.
final
hashCode → int
The hash code for this object.
no setterinherited
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
theme → KillSwitchTheme?
Optional theme configuration for the confirmation dialog.
final

Methods

createElement() → StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() → FlutterKillSwitchState
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() → List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) → String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String
Returns a one-line detailed description of the object.
inherited
toStringShort() → String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited