import 'package:call_log/call_log.dart'; import 'package:flustars/flustars.dart'; import 'package:flutter/material.dart'; import 'package:flutter_easyrefresh/easy_refresh.dart'; import 'package:permission_handler/permission_handler.dart'; import 'package:project_telephony/ui/exclude/exclude_contacts_page.dart'; import 'package:project_telephony/ui/exclude/exclude_single_page.dart'; import 'package:project_telephony/ui/home/home_page.dart'; import 'package:project_telephony/ui/home/set/phone_num_list/call_records_list.dart'; import 'package:project_telephony/utils/headers.dart'; import 'package:project_telephony/ui/widget/plone_bottom.dart'; import '../../../base/base_style.dart'; import '../../../model/phone_num_model.dart'; import '../../widget/centertipsalterwidget.dart'; import '../../widget/scaffold_theme_widget.dart'; class SpecifyPhonePage extends StatefulWidget { const SpecifyPhonePage({Key? key}) : super(key: key); @override _SpecifyPhonePageState createState() => _SpecifyPhonePageState(); } class _SpecifyPhonePageState extends State { final EasyRefreshController _refreshController = EasyRefreshController(); @override void dispose() { _refreshController.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return ScaffoldThemeWidget( title: "发送号码设置", bottom: '添加', onTap: () { showModalBottomSheet( builder: (BuildContext context) { return Container( width: double.infinity, height: 750.w, padding: EdgeInsets.symmetric(horizontal: 32.w), child: Column( children: [ 48.hb, Text( "添加号码", style: TextStyle( fontSize: 34.w, fontWeight: FontWeight.bold), ), Expanded( child: ListView( children: [ _getAddPhone("通话记录添加", "通过本机通话记录添加号码", () { Get.to(() => ScaffoldThemeWidget( bottom: '添加', title: '从通话记录添加', isBorder: true, isOpacity: false, onTap: () {}, child: const CallRecordsList())); }), _getAddPhone("通迅录添加", "通过本机通讯录添加号码", () async { if(await Permission.contacts.isDenied){ showDialog( context: context, builder: (context) { return AlertDialog( content: const Text('获取通讯录权限还未开启'), actions: [ ElevatedButton(onPressed: (){ openAppSettings(); }, child: const Text("前往开启"),), ], ); }); }else{ Get.to(() => (const ExcludeContactsPage())); } }), _getAddPhone("添加单个或批量号码", "通过输入号码段添加批量号码", () { Get.to(() => (const ExcludeSinglePage())); }), ], )), PloneBottom( onTap: () { Navigator.pop(context); }, hPadding: 32, border: true, textColor: const Color(0xFF1890FF), color2: const Color(0xFFF9F9F9), color1: const Color(0xFFF9F9F9), text: "取消", ), 32.hb ], ), ); }, context: context); }, child: EasyRefresh( firstRefresh: true, controller: _refreshController, header: MaterialHeader(), // footer: MaterialFooter(), onRefresh: () async { // await userProvider.updateUserInfo(); setState(() {}); }, child: ListView( children: [ _getNullList(), ], )), ); } _getAddPhone(String title, String text, VoidCallback widget) { return GestureDetector( onTap: widget, child: ListTile( title: Text( title, style: TextStyle(fontSize: 32.sp, fontWeight: FontWeight.bold), ), subtitle: Text( text, style: TextStyle(fontSize: 28.sp, color: BaseStyle.color999999), ), trailing: const Icon(Icons.chevron_right), ), ); } _getNullList() { return Column( mainAxisAlignment: MainAxisAlignment.center, // crossAxisAlignment: CrossAxisAlignment.center, children: [ 490.hb, Image.asset( Assets.icons.nullphonelist.path, width: 240.w, height: 212.w, fit: BoxFit.fill, ), 48.hb, Text( "这里是空的", style: TextStyle( color: const Color(0xFF999999), fontWeight: FontWeight.bold, fontSize: 36.sp), ), 16.hb, Text( "还没有添加指定号码", style: TextStyle(color: const Color(0xFF999999), fontSize: 28.sp), ), 490.hb, ], ); } }