Version number to bundle files

This commit is contained in:
Juan José Mata
2026-02-18 00:23:02 +01:00
parent d0bf9fc3f2
commit da754b8d05
8 changed files with 73 additions and 7 deletions

View File

@@ -4,6 +4,24 @@ plugins {
id "dev.flutter.flutter-gradle-plugin"
}
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
def hasKeystore = false
@@ -49,8 +67,8 @@ android {
applicationId "am.sure.mobile"
minSdkVersion 24
targetSdkVersion flutter.targetSdkVersion
versionCode 1
versionName "1.0.0"
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
buildTypes {

View File

@@ -30,6 +30,11 @@ public final class GeneratedPluginRegistrant {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin flutter_secure_storage, com.it_nomads.fluttersecurestorage.FlutterSecureStoragePlugin", e);
}
try {
flutterEngine.getPlugins().add(new dev.fluttercommunity.plus.packageinfo.PackageInfoPlugin());
} catch (Exception e) {
Log.e(TAG, "Error registering plugin package_info_plus, dev.fluttercommunity.plus.packageinfo.PackageInfoPlugin", e);
}
try {
flutterEngine.getPlugins().add(new io.flutter.plugins.pathprovider.PathProviderPlugin());
} catch (Exception e) {

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

View File

@@ -24,6 +24,12 @@
@import flutter_secure_storage_darwin;
#endif
#if __has_include(<package_info_plus/FPPPackageInfoPlusPlugin.h>)
#import <package_info_plus/FPPPackageInfoPlusPlugin.h>
#else
@import package_info_plus;
#endif
#if __has_include(<path_provider_foundation/PathProviderPlugin.h>)
#import <path_provider_foundation/PathProviderPlugin.h>
#else
@@ -54,6 +60,7 @@
[AppLinksIosPlugin registerWithRegistrar:[registry registrarForPlugin:@"AppLinksIosPlugin"]];
[ConnectivityPlusPlugin registerWithRegistrar:[registry registrarForPlugin:@"ConnectivityPlusPlugin"]];
[FlutterSecureStorageDarwinPlugin registerWithRegistrar:[registry registrarForPlugin:@"FlutterSecureStorageDarwinPlugin"]];
[FPPPackageInfoPlusPlugin registerWithRegistrar:[registry registrarForPlugin:@"FPPPackageInfoPlusPlugin"]];
[PathProviderPlugin registerWithRegistrar:[registry registrarForPlugin:@"PathProviderPlugin"]];
[SharedPreferencesPlugin registerWithRegistrar:[registry registrarForPlugin:@"SharedPreferencesPlugin"]];
[SqflitePlugin registerWithRegistrar:[registry registrarForPlugin:@"SqflitePlugin"]];

View File

@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:package_info_plus/package_info_plus.dart';
import 'package:provider/provider.dart';
import '../providers/auth_provider.dart';
import '../services/offline_storage_service.dart';
@@ -14,11 +15,20 @@ class SettingsScreen extends StatefulWidget {
class _SettingsScreenState extends State<SettingsScreen> {
bool _groupByType = false;
String? _appVersion;
@override
void initState() {
super.initState();
_loadPreferences();
_loadAppVersion();
}
Future<void> _loadAppVersion() async {
final packageInfo = await PackageInfo.fromPlatform();
if (mounted) {
setState(() => _appVersion = packageInfo.version);
}
}
Future<void> _loadPreferences() async {
@@ -179,7 +189,7 @@ class _SettingsScreenState extends State<SettingsScreen> {
// App version
ListTile(
leading: const Icon(Icons.info_outline),
title: const Text('App Version: 0.6.8'),
title: Text('App Version: ${_appVersion ?? ''}'),
subtitle: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,

View File

@@ -1,5 +1,6 @@
import 'dart:io';
import 'package:flutter/foundation.dart';
import 'package:package_info_plus/package_info_plus.dart';
import 'package:shared_preferences/shared_preferences.dart';
class DeviceService {
@@ -7,20 +8,21 @@ class DeviceService {
Future<Map<String, String>> getDeviceInfo() async {
final prefs = await SharedPreferences.getInstance();
final packageInfo = await PackageInfo.fromPlatform();
// Get or generate device ID
String? deviceId = prefs.getString(_deviceIdKey);
if (deviceId == null) {
deviceId = _generateDeviceId();
await prefs.setString(_deviceIdKey, deviceId);
}
return {
'device_id': deviceId,
'device_name': _getDeviceName(),
'device_type': _getDeviceType(),
'os_version': _getOsVersion(),
'app_version': '1.0.0',
'app_version': packageInfo.version,
};
}

View File

@@ -384,6 +384,22 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.5.0"
package_info_plus:
dependency: "direct main"
description:
name: package_info_plus
sha256: "16eee997588c60225bda0488b6dcfac69280a6b7a3cf02c741895dd370a02968"
url: "https://pub.dev"
source: hosted
version: "8.3.1"
package_info_plus_platform_interface:
dependency: transitive
description:
name: package_info_plus_platform_interface
sha256: "202a487f08836a592a6bd4f901ac69b3a8f146af552bbd14407b6b41e1c3f086"
url: "https://pub.dev"
source: hosted
version: "3.2.1"
path:
dependency: "direct main"
description:

View File

@@ -1,7 +1,7 @@
name: sure_mobile
description: A mobile app for Sure personal finance management
publish_to: 'none'
version: 1.0.0+1
version: 0.6.8-alpha.11
environment:
sdk: '>=3.0.0 <4.0.0'
@@ -23,6 +23,7 @@ dependencies:
app_links: ^6.4.0
url_launcher: ^6.2.5
flutter_svg: ^2.2.0
package_info_plus: ^8.0.0
dev_dependencies:
flutter_test: