handleGetContact method

Future<void> handleGetContact()

Implementation

Future<void> handleGetContact() async {
  bool r = false;
  if (_googleSignIn.currentUser != null) {
    if (_googleSignIn.scopes
            .where((x) =>
                x == 'https://www.googleapis.com/auth/contacts.readonly')
            .toList()
            .length ==
        0) {
      _googleSignIn.scopes
          .add('https://www.googleapis.com/auth/contacts.readonly');
      //canAccessContact=r;
    }
    r = await _googleSignIn.requestScopes(_googleSignIn.scopes);
    //if (r) {
    /*
    setState(() {
      _contactText = "Loading contact info...";
    });
    if (appAuth.getHostGUID()=='' && _currentUser!=null) {
      _currentUser.authentication.then((auth) async {
        String token=auth.accessToken;
        print(token);
        bool r=await appAuth.gSignIn(token);
        print(r);
      });
    }
    */
    //}
    if (r) {
      r = false;
      final http.Response response = await http.get(
        Uri(
            path: 'https://people.googleapis.com/v1/people/me/connections'
                '?personFields=emailAddresses,names,photos,phoneNumbers'),
        headers: await _currentUser!.authHeaders,
      );
      if (response.statusCode != 200) {
        /*
        setState(() {
          _contactText = "People API gave a ${response.statusCode} "
              "response. Check logs for details.";
        });
        */
        //print('People API ${response.statusCode} response: ${response.body}');
        //return r;
      } else {
        Map<String, dynamic> data = json.decode(response.body);
        _contacts = data['connections'];
        r = true;
        //final String namedContact = _pickFirstNamedContact(data);
        //setState(() {
        /*
          if (namedContact != null) {
            _contactText = "I see you know $namedContact!";
          } else {
            _contactText = "No contacts to display.";
          }
          */
        _canAccessContact = true;
        //});
      }
    }
  }
  //return r;
}