|
- import 'dart:io';
-
- import 'package:cached_network_image/cached_network_image.dart';
- import 'package:chat/home/global_search.dart';
- import 'package:chat/home/new_friends.dart';
- import 'package:chat/models/friends_info.dart';
- import 'package:chat/utils/TutorialOverlay.dart';
- import 'package:flutter/material.dart';
- import 'package:chat/data/UserData.dart';
- import 'package:chat/data/constants.dart';
- import 'package:chat/generated/i18n.dart';
- import 'package:chat/utils/CustomUI.dart';
- import 'package:chat/utils/HttpUtil.dart';
- import 'package:chat/utils/MessageMgr.dart';
- import 'package:chat/utils/TokenMgr.dart';
- import 'package:chat/utils/conversation_table.dart';
- import 'package:chat/utils/friend_list_mgr.dart';
- import 'package:chat/utils/screen.dart';
- import 'package:dio/dio.dart';
- import 'package:oktoast/oktoast.dart';
- import 'package:permission_handler/permission_handler.dart';
- import 'package:shared_preferences/shared_preferences.dart';
- import 'address_book.dart';
- import 'my_qr.dart';
-
- List showUserList = [];
-
- bool isHaveNewFriends() {
- return showUserList.length > 0;
- }
-
- class NewAddFriendsPage extends StatefulWidget {
- @override
- _NewAddFriendsPageState createState() => _NewAddFriendsPageState();
- }
-
- class _NewAddFriendsPageState extends State<NewAddFriendsPage> {
- ScrollController _scrollController;
- List<Widget> _functionButtons = [];
- @override
- void initState() {
- super.initState();
-
- _functionButtons = [
- InkWell(
- onTap: () {
- Navigator.of(context).push(TutorialOverlay(
- child: InkWell(
- onTap: () {
- Navigator.of(context).pop();
- },
- child: Scaffold(
- backgroundColor:
- Constants.BlackTextColor.withOpacity(0.0),
- body: Container(
- margin: EdgeInsets.only(top: Screen.height*0.05),
- alignment: Alignment.center,
- child: MyQr())))));
- },
- child: Container(
- height: 70,
- width: Screen.width,
- child: Row(
- mainAxisAlignment: MainAxisAlignment.center,
- crossAxisAlignment: CrossAxisAlignment.center,
- children: [
- Container(
- constraints: BoxConstraints(maxWidth: 200),
- child: Text(
- '${I18n.of(Constants.getCurrentContext()).my_qr}: ${UserData().basicInfo.nickName}',
- style: TextStyle(fontSize: 13),
- overflow: TextOverflow.ellipsis,
- )),
- SizedBox(width: 9),
- Container(
- margin: EdgeInsets.only(bottom: 3),
- child: Icon(
- IconData(0xe682, fontFamily: Constants.IconFontFamily),
- size: 18,
- color: const Color(0xFF008AFF),
- ))
- ]),
- )),
- FriendsInfo(
- avatar: '',
- userId: 0,
- iconCode: 0xe659,
- title: I18n.of(Constants.getCurrentContext()).scan,
- gradient: LinearGradient(
- begin: Alignment.topCenter,
- end: Alignment.bottomCenter,
- colors: <Color>[
- const Color(0xFF6171F1),
- const Color(0xFF3441C1),
- ]),
- onPressed: () {
- CustomUI().goScanPage(Constants.getCurrentContext());
- }),
- FriendsInfo(
- avatar: '',
- userId: 0,
- iconCode: 0xe67a,
- isShowDivder: true,
- title: I18n.of(Constants.getCurrentContext()).contact_add,
- gradient: LinearGradient(
- begin: Alignment.topCenter,
- end: Alignment.bottomCenter,
- colors: <Color>[
- const Color(0xFF1AC59E),
- const Color(0xFF088E76),
- ]),
- onPressed: () async {
- final PermissionStatus addStatus = await PermissionHandler()
- .checkPermissionStatus(PermissionGroup.contacts);
- if ((addStatus == PermissionStatus.unknown ||
- addStatus == PermissionStatus.denied) &&
- Platform.isIOS) {
- CustomUI.buildContacts(context, I18n.of(context).privacyAgreement,
- I18n.of(context).determine, () {
- Navigator.of(context).pop();
- showPermission();
- }, title: I18n.of(context).tip);
- } else {
- showPermission();
- }
- }),
- ];
- _scrollController = new ScrollController();
- }
-
- showPermission() async {
- if (await CustomUI.showPermissionSetting(
- Constants.getCurrentContext(),
- PermissionGroup.contacts,
- I18n.of(Constants.getCurrentContext()).contact_permission)) {
- MessageMgr().emit('PostContact');
- Navigator.push(Constants.getCurrentContext(),
- MaterialPageRoute<void>(builder: (BuildContext context) {
- return ContactsPage();
- }));
- }
- }
-
- @override
- void dispose() {
- super.dispose();
- _scrollController.dispose();
- }
-
- @override
- Widget build(BuildContext context) {
- final List<Widget> _body = [];
- _body.addAll([
- ListView.builder(
- controller: _scrollController,
- itemBuilder: (BuildContext context, int index) {
- if (index == 0) {
- return Padding(
- padding: EdgeInsets.only(top: 7),
- child: _functionButtons[index],
- );
- } else {
- return _functionButtons[index];
- }
- },
- itemCount: _functionButtons.length,
- ),
- ]);
-
- return Scaffold(
- resizeToAvoidBottomPadding: false,
- appBar: AppBar(
- backgroundColor: AppColors.NewAppbarBgColor,
- title: Text(I18n.of(context).add_friends,
- textScaleFactor: 1.0, style: Constants.MainTitleStyle),
- centerTitle: true,
- elevation: 1,
- leading: CustomUI.buildCustomLeading(context),
- bottom: CustomUI.buildSearchButton(context, () {
- Navigator.of(context).push(
- new MaterialPageRoute(
- builder: (context) {
- return GlobalSearchPage(
- type: GlobalSearchPageType.SearchNewFriends,
- );
- },
- ),
- );
- })),
- body: Stack(
- children: _body,
- ));
- }
- }
|