version
This commit is contained in:
@@ -67,4 +67,13 @@ class SettingModel {
|
|||||||
return SettingModel(false, false, '', '', '', '', '', '', '', '', '');
|
return SettingModel(false, false, '', '', '', '', '', '', '', '', '');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'SettingModel { domicilios: $domicilios, tarifas: $tarifas, '
|
||||||
|
'titulo: $titulo, parrafo: $parrafo, numero: $numero, '
|
||||||
|
'email: $email, dias: $dias, horas: $horas, '
|
||||||
|
'version: $version, politicasPrivacidad: $proliticasPrivacidad, '
|
||||||
|
'terminosCondiciones: $terminosCondiciones }';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import 'package:google_maps_flutter/google_maps_flutter.dart';
|
|||||||
import 'package:prosappco/src/authentication/authentication_repository.dart';
|
import 'package:prosappco/src/authentication/authentication_repository.dart';
|
||||||
import 'package:prosappco/src/components/drawer_menu.dart';
|
import 'package:prosappco/src/components/drawer_menu.dart';
|
||||||
import 'package:prosappco/src/models/event_model.dart';
|
import 'package:prosappco/src/models/event_model.dart';
|
||||||
|
import 'package:prosappco/src/models/setting_model.dart';
|
||||||
import 'package:prosappco/src/models/user_model.dart';
|
import 'package:prosappco/src/models/user_model.dart';
|
||||||
import 'package:prosappco/src/screens/professional.dart';
|
import 'package:prosappco/src/screens/professional.dart';
|
||||||
import 'package:intl/intl.dart';
|
import 'package:intl/intl.dart';
|
||||||
@@ -23,6 +24,8 @@ import 'package:prosappco/src/screens/service_type.dart';
|
|||||||
import 'package:prosappco/src/screens/ubicacion.dart';
|
import 'package:prosappco/src/screens/ubicacion.dart';
|
||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
import 'package:prosappco/src/components/network_utility.dart';
|
import 'package:prosappco/src/components/network_utility.dart';
|
||||||
|
import 'package:package_info_plus/package_info_plus.dart';
|
||||||
|
import 'package:url_launcher/url_launcher.dart';
|
||||||
|
|
||||||
class ServiceScreen extends StatefulWidget {
|
class ServiceScreen extends StatefulWidget {
|
||||||
const ServiceScreen({super.key});
|
const ServiceScreen({super.key});
|
||||||
@@ -32,6 +35,10 @@ class ServiceScreen extends StatefulWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class _ServiceScreenState extends State<ServiceScreen> {
|
class _ServiceScreenState extends State<ServiceScreen> {
|
||||||
|
late String appVersion;
|
||||||
|
final Uri _url = Uri.parse(
|
||||||
|
'https://play.google.com/store/apps/details?id=com.prosapp.prosapp');
|
||||||
|
|
||||||
void _saveToken() async {
|
void _saveToken() async {
|
||||||
FirebaseMessaging messaging = FirebaseMessaging.instance;
|
FirebaseMessaging messaging = FirebaseMessaging.instance;
|
||||||
|
|
||||||
@@ -239,10 +246,78 @@ class _ServiceScreenState extends State<ServiceScreen> {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<void> _getAppVersion() async {
|
||||||
|
PackageInfo packageInfo = await PackageInfo.fromPlatform();
|
||||||
|
String version = packageInfo.version;
|
||||||
|
|
||||||
|
setState(() {
|
||||||
|
appVersion = version;
|
||||||
|
print('Version de app $appVersion - version de firebase $settings');
|
||||||
|
});
|
||||||
|
|
||||||
|
if (settings != null) {
|
||||||
|
_checkForUpdate(settings);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void _checkForUpdate(String? settings) {
|
||||||
|
if (appVersion != settings) {
|
||||||
|
showDialog(
|
||||||
|
context: context,
|
||||||
|
builder: (context) {
|
||||||
|
return WillPopScope(
|
||||||
|
onWillPop: () async {
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
child: Center(
|
||||||
|
child: AlertDialog(
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(16.0),
|
||||||
|
),
|
||||||
|
title: const Text(
|
||||||
|
"Debes Actualizar la Aplicación",
|
||||||
|
style: TextStyle(fontWeight: FontWeight.bold),
|
||||||
|
),
|
||||||
|
content: const Text(
|
||||||
|
"Tienes una versión desactualizada de nuestra aplicación. Te recomendamos actualizarla para disfrutar de las últimas características y mejoras.",
|
||||||
|
),
|
||||||
|
actions: [
|
||||||
|
TextButton(
|
||||||
|
child: const Text(
|
||||||
|
"Actualizar",
|
||||||
|
style:
|
||||||
|
TextStyle(fontWeight: FontWeight.w600, fontSize: 20),
|
||||||
|
),
|
||||||
|
onPressed: () {
|
||||||
|
launchUrl(_url);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String? settings;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
|
|
||||||
|
_getAppVersion();
|
||||||
|
|
||||||
|
if (settings == null) {
|
||||||
|
SettingModel.getSettings().then(
|
||||||
|
(SettingModel value) => setState(() {
|
||||||
|
settings = value.version;
|
||||||
|
_getAppVersion(); // Llama a _getAppVersion una vez que settings se haya cargado
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (_ciudad == '...') {
|
if (_ciudad == '...') {
|
||||||
AuthenticationRepository.instance
|
AuthenticationRepository.instance
|
||||||
.getCity(uid.toString())
|
.getCity(uid.toString())
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import firebase_messaging
|
|||||||
import firebase_storage
|
import firebase_storage
|
||||||
import flutter_local_notifications
|
import flutter_local_notifications
|
||||||
import geolocator_apple
|
import geolocator_apple
|
||||||
|
import package_info_plus
|
||||||
import path_provider_foundation
|
import path_provider_foundation
|
||||||
import shared_preferences_foundation
|
import shared_preferences_foundation
|
||||||
import url_launcher_macos
|
import url_launcher_macos
|
||||||
@@ -30,6 +31,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
|
|||||||
FLTFirebaseStoragePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseStoragePlugin"))
|
FLTFirebaseStoragePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseStoragePlugin"))
|
||||||
FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin"))
|
FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin"))
|
||||||
GeolocatorPlugin.register(with: registry.registrar(forPlugin: "GeolocatorPlugin"))
|
GeolocatorPlugin.register(with: registry.registrar(forPlugin: "GeolocatorPlugin"))
|
||||||
|
FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin"))
|
||||||
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
|
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
|
||||||
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
|
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
|
||||||
UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
|
UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
|
||||||
|
|||||||
@@ -872,6 +872,22 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.0"
|
version: "2.1.0"
|
||||||
|
package_info_plus:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: package_info_plus
|
||||||
|
sha256: "7e76fad405b3e4016cd39d08f455a4eb5199723cf594cd1b8916d47140d93017"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "4.2.0"
|
||||||
|
package_info_plus_platform_interface:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: package_info_plus_platform_interface
|
||||||
|
sha256: "9bc8ba46813a4cc42c66ab781470711781940780fd8beddd0c3da62506d3a6c6"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.1"
|
||||||
page_transition:
|
page_transition:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|||||||
+2
-1
@@ -42,7 +42,8 @@ dependencies:
|
|||||||
firebase_core: ^2.13.1
|
firebase_core: ^2.13.1
|
||||||
file_picker: ^5.3.2
|
file_picker: ^5.3.2
|
||||||
google_sign_in: ^6.1.4
|
google_sign_in: ^6.1.4
|
||||||
provider:
|
provider: ^6.0.5
|
||||||
|
package_info_plus: ^4.2.0
|
||||||
get:
|
get:
|
||||||
font_awesome_flutter: ^10.4.0
|
font_awesome_flutter: ^10.4.0
|
||||||
flutter_otp_text_field:
|
flutter_otp_text_field:
|
||||||
|
|||||||
Reference in New Issue
Block a user