import 'package:flutter/material.dart'; import 'package:flutter_background_service/flutter_background_service.dart'; import 'package:flutter_easyrefresh/easy_refresh.dart'; import 'package:project_telephony/ui/home/set/func/exclude_contacts_func.dart'; import 'package:project_telephony/ui/home/set/specify_phone_page.dart'; import 'package:project_telephony/utils/headers.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:flutter_contacts/flutter_contacts.dart'; import '../../../base/base_style.dart'; import '../../widget/plone_back_button.dart'; // class setItem{ // // } class PhoneSetPage extends StatefulWidget { const PhoneSetPage({Key? key}) : super(key: key); @override _PhoneSetPageState createState() => _PhoneSetPageState(); } class _PhoneSetPageState extends State { int select = 0; List? contact; List numbers = []; List? numList = []; final EasyRefreshController _refreshController = EasyRefreshController(); List setList = [ { "icon": Assets.icons.rylyphone.path, "title": "任意来源号码发送", "text": "所有的号码来电都会发送", // "select": true, }, { "icon": Assets.icons.txlphone.path, "title": "在通讯录中的号码发送", "text": "只给在通讯录中的号码来电发送", // "select": false, }, { "icon": Assets.icons.notxlphone.path, "title": "不在通讯录中的号码发送", "text": "只给不在通讯录中的号码来电发送", // "select": false, }, ]; @override void initState() { super.initState(); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( elevation: 0, title: Text( '发送号码设置', style: TextStyle( fontSize: BaseStyle.fontSize34, color: BaseStyle.color333333, fontWeight: FontWeight.bold), ), titleSpacing: 162.w, leading: const CloudBackButton(isSpecial: true), backgroundColor: kForeGroundColor), backgroundColor: kForeGroundColor, body: EasyRefresh( firstRefresh: true, controller: _refreshController, header: MaterialHeader(), // footer: MaterialFooter(), onRefresh: () async { final SharedPreferences prefs = await SharedPreferences.getInstance(); select = (prefs.getInt("numIndex"))!; _viewLoading(); setState(() {}); }, child: ListView( children: [ _getList(), 24.hb, GestureDetector( onTap: () { Get.to(() => const SpecifyPhonePage()); }, child: Container( padding: EdgeInsets.symmetric(horizontal: 32.w, vertical: 30.w), height: 144.w, child: ListTile( leading: SizedBox( width: 72.w, height: 72.w, child: Image.asset( Assets.icons.zdphone.path, fit: BoxFit.fill, ), ), title: Text( "指定号码不发送", style: TextStyle( fontSize: 32.sp, fontWeight: FontWeight.bold), ), subtitle: Text( "通过添加指定号码来设置不发送", style: TextStyle( fontSize: 28.sp, color: const Color(0xFF999999)), ), trailing: SizedBox( width: 48.w, height: 48.w, child: const Icon(Icons.arrow_forward_ios), )), ), ) ], ), ) // Column( // children: [ // // // // ], // ), ); } _getList() { return Container( padding: EdgeInsets.symmetric(horizontal: 32.w, vertical: 30.w), height: 500.w, child: ListView.builder( itemBuilder: (context, index) { return _getListBox(setList, index); }, itemCount: setList.length, ), ); } Future _viewLoading() async { final SharedPreferences prefs = await SharedPreferences.getInstance(); contact = await FlutterContacts.getContacts(); for (var element in contact!) { final full = await FlutterContacts.getContact(element.id); numbers.add(full!.phones.first.number.replaceAll(" ", "")); // status.add(false); } var numberList = await ExcludeFunc.getContacts(); for (int i = 0; i < numberList.length; i++) { numList?.add(numberList[i].phone); } await prefs.setStringList("specified", numList!); await prefs.setStringList("addressList", numbers); // phoneNum.clear(); // final Iterable entries = await CallLog.query(); // numList= prefs.getStringList('addressList'); // count=numList?.length; // for (CallLogEntry entrie in entries) { // if (!numList2.contains(numList)) { // numList2.add(entrie.number!); // } // } // for(int i=0;i