<itemvalue="feat: tracking of post detail page; fix: reply to second level comment."/>
<itemvalue="clear content of input bar after post submitted."/>
<itemvalue="Initializes a new [FirebaseApp] instance by [name] and [options] and returns the created app. This method should be called before any usage of FlutterFire plugins. The default app instance can be initialized here simply by passing no "name" as an argument in both Dart & manual initialization flows."/>
<itemvalue="Notify the framework that the internal state of this object has changed. Whenever you change the internal state of a [State] object, make the change in a function that you pass to [setState]: ```dart setState(() { _myState = newValue; }); ``` The provided callback is immediately called synchronously. It must not return a future (the callback cannot be `async`), since then it would be unclear when the state was actually being set. Calling [setState] notifies the framework that the internal state of this object has changed in a way that might impact the user interface in this subtree, which causes the framework to schedule a [build] for this [State] object. If you just change the state directly without calling [setState], the framework might not schedule a [build] and the user interface for this subtree might not be updated to reflect the new state. Generally it is recommended that the `setState` method only be used to wrap the actual changes to the state, not any computation that might be associated with the change. For example, here a value used by the [build] function is incremented, and then the change is written to disk, but only the increment is wrapped in the `setState`: ```dart Future<void> _incrementCounter() async { setState(() { _counter++; }); Directory directory = await getApplicationDocumentsDirectory(); final String dirName = directory.path; await File('dircounter.txt').writeAsString('_counter'); } ``` It is an error to call this method after the framework calls [dispose]. You can determine whether it is legal to call this method by checking whether the [mounted] property is true."/>
@ -55,12 +56,11 @@
<itemvalue="Finds widgets whose current widget is the instance given by the argument. Sample code ```dart Suppose you have a button created like this: Widget myButton = Button( child: Text('Update') ); You can find and tap on it like this: tester.tap(find.byWidget(myButton)); ``` If the `skipOffstage` argument is true (the default), then this skips nodes that are [Offstage] or that are from inactive [Route]s."/>
<itemvalue="Semantics Tester"/>
<itemvalue="Saves item by [key] to a storage. Value should be json encodable (`json.encode()` is called under the hood). After item was set to storage, consecutive [getItem] will return `json` representation of this item if [toEncodable] is provided, it is called before setting item to storage otherwise `value.toJson()` is called"/>
<itemvalue="Makes a direct update of [value] adding it to the Stream useful when you make use of Rx for custom Types to referesh your UI. Sample: ``` class Person { String name, last; int age; Person({this.name, this.last, this.age}); @override String toString() => 'name last, age years old'; } final person = Person(name: 'John', last: 'Doe', age: 18).obs; person.value.name = 'Roi'; person.refresh(); print( person ); ```"/>