Untitled
version & connection checkersunknown
dart
4 years ago
6.1 kB
6
Indexable
bool versionCheck = false;
bool connectionCheck = false;
if (Platform.isAndroid) {
await WebServices.versionControl('6', '100').then((value) {
if (value != null) {
versionCheck = value;
connectionCheck = true;
}
}).timeout(Duration(seconds: 5), onTimeout: () {
connectionCheck = false;
});
}
---------------------------------
!connectionCheck
? ConnectionCheckFailed()
: !versionCheck
? VersionCheckFailed()
:
-------------------------
connection_check_failed.dart:
--------------------------
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
class ConnectionCheckFailed extends StatelessWidget {
const ConnectionCheckFailed({Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
double width = MediaQuery.of(context).size.width;
return Scaffold(
body: Container(
color: Colors.grey[700],
child: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Padding(
padding: EdgeInsets.all(width * .075),
child: Container(
padding: EdgeInsets.all(width * .075),
decoration: BoxDecoration(
color: Colors.grey[200],
boxShadow: [
BoxShadow(
color: Colors.black.withOpacity(0.45),
spreadRadius: 4,
blurRadius: 2,
),
],
borderRadius: BorderRadius.circular(5),
// border: Border.all(width: 1),
),
child: const Text(
"Uygulamayı kullanabilmek için lütfen internet bağlantınızı kontrol edip uygulamayı yeniden çalıştırın.",
style: TextStyle(fontSize: 25),
),
),
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Platform.isAndroid
? RawMaterialButton(
onPressed: () {
SystemNavigator.pop();
},
child: const Text(
"Çıkış",
style: TextStyle(color: Colors.white),
),
fillColor: Colors.amber[800],
)
: const SizedBox(),
],
),
],
),
),
),
);
}
}
-------------------------
version_check_failed.dart:
--------------------------
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:url_launcher/url_launcher.dart';
class VersionCheckFailed extends StatelessWidget {
const VersionCheckFailed({Key key}) : super(key: key);
void _launchURL(String _url) async {
if (!await launch(_url)) throw 'Could not launch $_url';
}
@override
Widget build(BuildContext context) {
double width = MediaQuery.of(context).size.width;
return Scaffold(
body: Container(
color: Colors.grey[700],
child: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Padding(
padding: EdgeInsets.all(width * .075),
child: Container(
padding: EdgeInsets.all(width * .075),
decoration: BoxDecoration(
color: Colors.grey[200],
boxShadow: [
BoxShadow(
color: Colors.black.withOpacity(0.45),
spreadRadius: 4,
blurRadius: 2,
),
],
borderRadius: BorderRadius.circular(5),
// border: Border.all(width: 1),
),
child: const Text(
"Uygulamayı kullanabilmek için lütfen en son sürüme güncelleyin.",
style: TextStyle(fontSize: 25),
),
),
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Platform.isAndroid
? RawMaterialButton(
onPressed: () {
SystemNavigator.pop();
},
child: const Text(
"Çıkış",
style: TextStyle(color: Colors.white),
),
fillColor: Colors.amber[800],
)
: const SizedBox(),
Padding(
padding: EdgeInsets.only(
left: Platform.isAndroid ? width * .035 : 0),
child: RawMaterialButton(
onPressed: () {
if (Platform.isAndroid) {
_launchURL(
"https://play.google.com/store/apps/details?id=com.pars.taksim");
}
if (Platform.isIOS) {
_launchURL(
"https://apps.apple.com/us/app/pars-taksim/id1596088641");
}
},
child: const Text(
"Güncelle",
style: TextStyle(color: Colors.white),
),
fillColor: Colors.green[900],
),
),
],
),
],
),
),
),
);
}
}
Editor is loading...