getStates method

Future<List<String?>> getStates()

get states from json response

Implementation

Future<List<String?>> getStates() async {
  _states.clear();
  //print(_selectedCountry);
  var response = await getResponse();
  var takeState = widget.flagState == CountryFlag.ENABLE ||
          widget.flagState == CountryFlag.SHOW_IN_DROP_DOWN_ONLY
      ? response
          .map((map) => Country.fromJson(map))
          .where(
              (item) => item.emoji + "    " + item.name == _selectedCountry)
          .map((item) => item.state)
          .toList()
      : response
          .map((map) => Country.fromJson(map))
          .where((item) => item.name == _selectedCountry)
          .map((item) => item.state)
          .toList();
  var states = takeState as List;
  states.forEach((f) {
    if (!mounted) return;
    setState(() {
      var name = f.map((item) => item.name).toList();
      for (var stateName in name) {
        //print(stateName.toString());
        _states.add(stateName.toString());
      }
    });
  });
  _states.sort((a, b) => a!.compareTo(b!));
  return _states;
}