Compare commits

..

No commits in common. "6950daca27efbfa2e1bf0a587f2eaac7829f047e" and "df1165d5a093f3831c5a8dee654d1ebc7adf1e00" have entirely different histories.

9 changed files with 71 additions and 107 deletions

View File

@ -1,10 +1,3 @@
plugins {
id "com.android.application"
id "kotlin-android"
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
id "dev.flutter.flutter-gradle-plugin"
}
def localProperties = new Properties() def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties') def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) { if (localPropertiesFile.exists()) {
@ -19,10 +12,10 @@ if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
} }
/*def flutterRoot = localProperties.getProperty('flutter.sdk') def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) { if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}*/ }
def flutterVersionCode = localProperties.getProperty('flutter.versionCode') def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) { if (flutterVersionCode == null) {
@ -34,9 +27,9 @@ if (flutterVersionName == null) {
flutterVersionName = '1.0' flutterVersionName = '1.0'
} }
/*apply plugin: 'com.android.application' apply plugin: 'com.android.application'
apply plugin: 'kotlin-android' apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"*/ apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android { android {
compileSdkVersion 34 compileSdkVersion 34
@ -56,7 +49,7 @@ android {
defaultConfig { defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "be.unov.mymuseum.fortsaintheribert" // Update for mdlf and other clients -- "be.unov.mymuseum.fortsaintheribert" // be.unov.myinfomate.mdlf applicationId "be.unov.myinfomate.mdlf" // Update for mdlf and other clients -- "be.unov.mymuseum.fortsaintheribert"
minSdkVersion flutter.minSdkVersion minSdkVersion flutter.minSdkVersion
targetSdkVersion flutter.targetSdkVersion targetSdkVersion flutter.targetSdkVersion
versionCode flutterVersionCode.toInteger() versionCode flutterVersionCode.toInteger()
@ -88,6 +81,6 @@ flutter {
source '../..' source '../..'
} }
/*dependencies { dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}*/ }

View File

@ -1,4 +1,4 @@
/*buildscript { buildscript {
ext.kotlin_version = '1.9.0' ext.kotlin_version = '1.9.0'
repositories { repositories {
google() google()
@ -9,7 +9,7 @@
classpath 'com.android.tools.build:gradle:7.2.0' classpath 'com.android.tools.build:gradle:7.2.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
} }
}*/ }
allprojects { allprojects {
repositories { repositories {

View File

@ -1,4 +1,4 @@
/*include ':app' include ':app'
def localPropertiesFile = new File(rootProject.projectDir, "local.properties") def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
def properties = new Properties() def properties = new Properties()
@ -9,30 +9,3 @@ localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
def flutterSdkPath = properties.getProperty("flutter.sdk") def flutterSdkPath = properties.getProperty("flutter.sdk")
assert flutterSdkPath != null, "flutter.sdk not set in local.properties" assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
*/
pluginManagement {
def flutterSdkPath = {
def properties = new Properties()
file("local.properties").withInputStream { properties.load(it) }
def flutterSdkPath = properties.getProperty("flutter.sdk")
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
return flutterSdkPath
}()
includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}
plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "7.2.0" apply false
id "org.jetbrains.kotlin.android" version "1.9.0" apply false
}
include ":app"

View File

@ -32,9 +32,9 @@ class _CustomAppBarState extends State<CustomAppBar> {
String cleanedTitle = widget.title.replaceAll('\n', ' ').replaceAll('<br>', ' '); String cleanedTitle = widget.title.replaceAll('\n', ' ').replaceAll('<br>', ' ');
/*String formattedTitle = cleanedTitle.length > 45 String formattedTitle = cleanedTitle.length > 45
? cleanedTitle.substring(0, 45) + '...' ? cleanedTitle.substring(0, 45) + '...'
: cleanedTitle;*/ : cleanedTitle;
//final notchInset = MediaQuery.of(context).padding; //final notchInset = MediaQuery.of(context).padding;
return AppBar( return AppBar(
@ -54,10 +54,10 @@ class _CustomAppBarState extends State<CustomAppBar> {
}, },
child: SizedBox( child: SizedBox(
width: widget.isHomeButton ? size.width * 0.8 : null, width: widget.isHomeButton ? size.width * 0.8 : null,
height: 58, height: 60,
child: Center( child: Center(
child: HtmlWidget( child: HtmlWidget(
cleanedTitle, formattedTitle,
textStyle: const TextStyle(color: Colors.white, fontFamily: 'Roboto', fontSize: 20), textStyle: const TextStyle(color: Colors.white, fontFamily: 'Roboto', fontSize: 20),
customStylesBuilder: (element) customStylesBuilder: (element)
{ {

View File

@ -124,7 +124,6 @@ class _ScannerDialogState extends State<ScannerDialog> {
borderRadius: 10, borderRadius: 10,
borderLength: 25, borderLength: 25,
borderWidth: 5, borderWidth: 5,
overlayColor: Colors.black.withValues(alpha: 0.55),
cutOutSize: 225.0), cutOutSize: 225.0),
onPermissionSet: (ctrl, p) => _onPermissionSet(context, ctrl, p), onPermissionSet: (ctrl, p) => _onPermissionSet(context, ctrl, p),
); );

View File

@ -66,8 +66,6 @@ class _AudioPlayerFloatingContainerState extends State<AudioPlayerFloatingContai
currentpostlabel = "$minutesToShow:$secondsToShow"; currentpostlabel = "$minutesToShow:$secondsToShow";
}
if(mounted && player.duration != null) {
setState(() { setState(() {
//refresh the UI //refresh the UI
if(currentpos > player.duration!.inMilliseconds) { if(currentpos > player.duration!.inMilliseconds) {
@ -82,6 +80,8 @@ class _AudioPlayerFloatingContainerState extends State<AudioPlayerFloatingContai
} }
}); });
/*player.onPositionChanged.listen((Duration p){ /*player.onPositionChanged.listen((Duration p){
currentpos = p.inMilliseconds; //get the current position of playing audio currentpos = p.inMilliseconds; //get the current position of playing audio
@ -125,11 +125,11 @@ class _AudioPlayerFloatingContainerState extends State<AudioPlayerFloatingContai
} }
@override @override
void dispose() async { void dispose() {
Future.microtask(() async { if (player.playing) {
await player.stop(); player.stop();
await player.dispose(); }
}); player.dispose();
super.dispose(); super.dispose();
} }

View File

@ -350,12 +350,11 @@ class _ConfigurationsListState extends State<ConfigurationsList> {
borderRadius: BorderRadius.all(Radius.circular(20.0)) borderRadius: BorderRadius.all(Radius.circular(20.0))
), ),
content: SizedBox( content: SizedBox(
width: 350, width: 400,
height: 125, height: 200,
child: Center( child: DownloadConfigurationWidget(configuration: configuration),
child: DownloadConfigurationWidget(configuration: configuration)
),
), ),
actions: const <Widget>[],
), context: context ), context: context
); );
isDialogOpen = false; isDialogOpen = false;

View File

@ -262,23 +262,24 @@ class _DownloadConfigurationWidgetState extends State<DownloadConfigurationWidge
VisitAppContext visitAppContext = appContext.getContext(); VisitAppContext visitAppContext = appContext.getContext();
Size size = MediaQuery.of(context).size; Size size = MediaQuery.of(context).size;
return Center( return Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Spacer(),
Padding(
padding: const EdgeInsets.only(bottom: 10.0),
child: FutureBuilder(future: download(context, visitAppContext), builder: (context, snapshot) { child: FutureBuilder(future: download(context, visitAppContext), builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
Color primaryColor = kMainColor1;
return Center(child: CircularProgressIndicator(color: primaryColor));
} else {
return ValueListenableBuilder<int>( return ValueListenableBuilder<int>(
valueListenable: currentResourceNbr, valueListenable: currentResourceNbr,
builder: (context, valueNbr, _) { builder: (context, valueNbr, _) {
return ValueListenableBuilder<int>( return ValueListenableBuilder<int>(
valueListenable: currentResourceIndex, valueListenable: currentResourceIndex,
builder: (context, valueIndex, _) { builder: (context, valueIndex, _) {
var valueInPercentage = valueNbr > 0 ? (valueIndex / valueNbr) * 100 : 100; return Center(
String formattedPercentage = valueInPercentage.toStringAsFixed(0);
return Column(
mainAxisAlignment: MainAxisAlignment.spaceAround,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Center(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Text( child: Text(
textAlign: TextAlign.center, textAlign: TextAlign.center,
valueIndex == valueNbr && valueNbr != -1 ? valueNbr == 0 ? valueIndex == valueNbr && valueNbr != -1 ? valueNbr == 0 ?
@ -291,39 +292,38 @@ class _DownloadConfigurationWidgetState extends State<DownloadConfigurationWidge
appContext.getContext()), appContext.getContext()),
style: const TextStyle(fontSize: 20), style: const TextStyle(fontSize: 20),
), ),
);
}
);
}
);
}
}),
), ),
), ValueListenableBuilder<int>(
if(valueNbr != -1 && valueNbr != 0) valueListenable: currentResourceNbr,
Center( builder: (context, valueNbr, _) {
child: Column( return ValueListenableBuilder<int>(
mainAxisAlignment: MainAxisAlignment.center, valueListenable: currentResourceIndex,
mainAxisSize: MainAxisSize.min, builder: (context, valueIndex, _) {
children: [ var valueInPercentage = valueNbr > 0 ? (valueIndex / valueNbr) * 100 : 100;
Padding( String formattedPercentage = valueInPercentage.toStringAsFixed(0); // Limite à 2 décimales
padding: const EdgeInsets.all(8.0),
child: LinearProgressIndicator( return valueNbr != -1 && valueNbr != 0 ? Center(
value: valueInPercentage / 100, child: Padding(
semanticsLabel: 'Linear progress indicator', padding: const EdgeInsets.only(bottom: 8.0),
color: kMainColor0,
),
),
Padding(
padding: const EdgeInsets.all(8.0),
child: Text( child: Text(
'$formattedPercentage%', '$formattedPercentage%',
style: const TextStyle(fontSize: 28, fontWeight: FontWeight.w500), style: const TextStyle(fontSize: 45, fontWeight: FontWeight.w500),
), ),
), ),
], ) : const SizedBox(height: 0,width: 0);
),
)
],
);
} }
); );
} }
); ),
}), Spacer()
],
); );
} }
} }

Binary file not shown.