optimise autocomplete

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
This commit is contained in:
Sahil Yeole 2023-10-15 04:53:57 +05:30
parent 7b5801920b
commit 8127ce18a3

View File

@ -152,42 +152,7 @@ class _ConnectionPageState extends State<ConnectionPage>
connect(context, id, isFileTransfer: isFileTransfer);
}
/// UI for the remote ID TextField.
/// Search for a peer and connect to it if the id exists.
Widget _buildRemoteIDTextField(BuildContext context) {
var w = Container(
width: 320 + 20 * 2,
padding: const EdgeInsets.fromLTRB(20, 24, 20, 22),
decoration: BoxDecoration(
borderRadius: const BorderRadius.all(Radius.circular(13)),
border: Border.all(color: Theme.of(context).colorScheme.background)),
child: Ink(
child: Column(
children: [
Row(
children: [
Expanded(
child: AutoSizeText(
translate('Control Remote Desktop'),
maxLines: 1,
style: Theme.of(context)
.textTheme
.titleLarge
?.merge(TextStyle(height: 1)),
),
),
],
).marginOnly(bottom: 15),
Row(
children: [
Expanded(
child:
Autocomplete<Peer>(
optionsBuilder: (TextEditingValue textEditingValue) {
if (textEditingValue.text == '') {
return const Iterable<Peer>.empty();
}
else {
void getAllPeers(){
peers.clear();
Map<String, dynamic> recentPeers = jsonDecode(bind.mainLoadRecentPeersSync());
Map<String, dynamic> favPeers = jsonDecode(bind.mainLoadFavPeersSync());
@ -232,7 +197,45 @@ class _ConnectionPageState extends State<ConnectionPage>
for (var peer in combinedPeers.values) {
peers.add(Peer.fromJson(peer));
}
}
/// UI for the remote ID TextField.
/// Search for a peer.
Widget _buildRemoteIDTextField(BuildContext context) {
getAllPeers();
var w = Container(
width: 320 + 20 * 2,
padding: const EdgeInsets.fromLTRB(20, 24, 20, 22),
decoration: BoxDecoration(
borderRadius: const BorderRadius.all(Radius.circular(13)),
border: Border.all(color: Theme.of(context).colorScheme.background)),
child: Ink(
child: Column(
children: [
Row(
children: [
Expanded(
child: AutoSizeText(
translate('Control Remote Desktop'),
maxLines: 1,
style: Theme.of(context)
.textTheme
.titleLarge
?.merge(TextStyle(height: 1)),
),
),
],
).marginOnly(bottom: 15),
Row(
children: [
Expanded(
child:
Autocomplete<Peer>(
optionsBuilder: (TextEditingValue textEditingValue) {
if (textEditingValue.text == '') {
return const Iterable<Peer>.empty();
}
else {
if (textEditingValue.text.contains(" ")) {
textEditingValue = TextEditingValue(
text: textEditingValue.text.replaceAll(" ", ""),