diff --git a/.DS_Store b/.DS_Store index 64f782f8..2d56ed1c 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/Frontend/.metadata b/Frontend/.metadata index 68b331fb..369b5ece 100644 --- a/Frontend/.metadata +++ b/Frontend/.metadata @@ -4,7 +4,7 @@ # This file should be version controlled and should not be manually edited. version: - revision: "761747bfc538b5af34aa0d3fac380f1bc331ec49" + revision: "8defaa71a77c16e8547abdbfad2053ce3a6e2d5b" channel: "stable" project_type: app @@ -13,11 +13,26 @@ project_type: app migration: platforms: - platform: root - create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 - base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + create_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b + base_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b + - platform: android + create_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b + base_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b + - platform: ios + create_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b + base_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b + - platform: linux + create_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b + base_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b + - platform: macos + create_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b + base_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b - platform: web - create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 - base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + create_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b + base_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b + - platform: windows + create_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b + base_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b # User provided section diff --git a/Frontend/android/.gitignore b/Frontend/android/.gitignore index 6f568019..be3943c9 100644 --- a/Frontend/android/.gitignore +++ b/Frontend/android/.gitignore @@ -5,9 +5,10 @@ gradle-wrapper.jar /gradlew.bat /local.properties GeneratedPluginRegistrant.java +.cxx/ # Remember to never publicly share your keystore. -# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +# See https://flutter.dev/to/reference-keystore key.properties **/*.keystore **/*.jks diff --git a/Frontend/android/app/agconnect-services.json b/Frontend/android/app/agconnect-services.json deleted file mode 100644 index a28bd41a..00000000 --- a/Frontend/android/app/agconnect-services.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "agcgw_all":{ - "CN":"connect-drcn.dbankcloud.cn", - "CN_back":"connect-drcn.hispace.hicloud.com", - "DE":"connect-dre.dbankcloud.cn", - "DE_back":"connect-dre.hispace.hicloud.com", - "RU":"connect-drru.hispace.dbankcloud.ru", - "RU_back":"connect-drru.hispace.dbankcloud.cn", - "SG":"connect-dra.dbankcloud.cn", - "SG_back":"connect-dra.hispace.hicloud.com" - }, - "websocketgw_all":{ - "CN":"connect-ws-drcn.hispace.dbankcloud.cn", - "CN_back":"connect-ws-drcn.hispace.dbankcloud.com", - "DE":"connect-ws-dre.hispace.dbankcloud.cn", - "DE_back":"connect-ws-dre.hispace.dbankcloud.com", - "RU":"connect-ws-drru.hispace.dbankcloud.ru", - "RU_back":"connect-ws-drru.hispace.dbankcloud.cn", - "SG":"connect-ws-dra.hispace.dbankcloud.cn", - "SG_back":"connect-ws-dra.hispace.dbankcloud.com" - }, - "client":{ - "cp_id":"30027000028342692", - "product_id":"461323198429473763", - "client_id":"1605107650066918016", - "client_secret":"F0A7DCFC40BBE823749E9CDAFA95BC7EF6CF37AE4CCC47F20E3434521625E1E1", - "project_id":"461323198429473763", - "app_id":"113315335", - "api_key":"DQEDAFJrB8PGLd+BmY2xafYqt6NgGE+W3ShbW2/b8xNkMTX1Elf1u7NLU73LkMl676mVHeQvLkwluYHi0FEJXEzfXtLR6P6jmW5q5A==", - "package_name":"za.co.mzansiinnovationhub.mih" - }, - "oauth_client":{ - "client_id":"113315335", - "client_type":1 - }, - "app_info":{ - "app_id":"113315335", - "package_name":"za.co.mzansiinnovationhub.mih" - }, - "configuration_version":"3.0", - "appInfos":[ - { - "package_name":"za.co.mzansiinnovationhub.mih", - "client":{ - "app_id":"113315335" - }, - "app_info":{ - "package_name":"za.co.mzansiinnovationhub.mih", - "app_id":"113315335" - }, - "oauth_client":{ - "client_type":1, - "client_id":"113315335" - } - } - ] -} \ No newline at end of file diff --git a/Frontend/android/app/build.gradle b/Frontend/android/app/build.gradle deleted file mode 100644 index 4c4dd361..00000000 --- a/Frontend/android/app/build.gradle +++ /dev/null @@ -1,103 +0,0 @@ -plugins { - id "com.android.application" - id "kotlin-android" - 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') -if (keystorePropertiesFile.exists()) { - keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) -} - -android { - namespace "za.co.mzansiinnovationhub.mih" - compileSdkVersion flutter.compileSdkVersion - - compileOptions { - sourceCompatibility JavaVersion.VERSION_17 - targetCompatibility JavaVersion.VERSION_17 - } - - kotlinOptions { - jvmTarget = '17' - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' - } - - defaultConfig { - // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "za.co.mzansiinnovationhub.mih" - // You can update the following values to match your application needs. - // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. - minSdkVersion 24 //flutter.minSdkVersion - targetSdkVersion flutter.targetSdkVersion - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName - multiDexEnabled true - } - - signingConfigs { - release { - keyAlias = keystoreProperties['keyAlias'] - keyPassword = keystoreProperties['keyPassword'] - storeFile = keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null - storePassword = keystoreProperties['storePassword'] - } - } - - buildTypes { - release { - // TODO: Add your own signing config for the release build. - // Signing with the debug keys for now, so `flutter run --release` works. - // signingConfig signingConfigs.debug - signingConfig = signingConfigs.release - } - } -} - -flutter { - source '../..' -} - -dependencies { - // implementation("com.google.android.material:material:") - implementation "com.google.android.material:material:1.12.0" - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" - implementation(platform("org.jetbrains.kotlin:kotlin-bom:$kotlin_version")) - // implementation 'com.google.android.gms:play-services-ads:23.1.0' - // implementation 'com.huawei.agconnect:agconnect-core:1.5.2.300' -} - -// apply plugin: 'com.huawei.agconnect' -configurations.all { - resolutionStrategy { - eachDependency { details -> - if (details.requested.group == 'org.jetbrains.kotlin') { - if (!details.requested.version.startsWith(rootProject.ext.kotlin_version)) { - details.useVersion rootProject.ext.kotlin_version - } - } - } - } -} diff --git a/Frontend/android/app/build.gradle.kts b/Frontend/android/app/build.gradle.kts new file mode 100644 index 00000000..57b57e45 --- /dev/null +++ b/Frontend/android/app/build.gradle.kts @@ -0,0 +1,46 @@ +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") +} + +android { + namespace = "za.co.mzansiinnovationhub.mih" + compileSdk = 35 + ndkVersion = "27.0.12077973" + // ndkVersion = flutter.ndkVersion + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } + + kotlinOptions { + jvmTarget = JavaVersion.VERSION_11.toString() + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId = "za.co.mzansiinnovationhub.mih" + // You can update the following values to match your application needs. + // For more information, see: https://flutter.dev/to/review-gradle-config. + minSdk = 23 + //minSdk = flutter.minSdkVersion + targetSdk = flutter.targetSdkVersion + versionCode = flutter.versionCode + versionName = flutter.versionName + } + + buildTypes { + release { + // TODO: Add your own signing config for the release build. + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig = signingConfigs.getByName("debug") + } + } +} + +flutter { + source = "../.." +} diff --git a/Frontend/android/app/src/main/AndroidManifest.xml b/Frontend/android/app/src/main/AndroidManifest.xml index 18359636..41e80cd2 100644 --- a/Frontend/android/app/src/main/AndroidManifest.xml +++ b/Frontend/android/app/src/main/AndroidManifest.xml @@ -1,5 +1,5 @@ + xmlns:tools="http://schemas.android.com/tools"> @@ -15,18 +15,16 @@ - - + android:icon="@mipmap/launcher_icon"> - - - - + + In particular, this is used by the Flutter engine in io.flutter.plugin.text.ProcessTextPlugin. --> - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + diff --git a/Frontend/android/app/src/main/kotlin/za/co/mzansiinnovationhub/mih/MainActivity.kt b/Frontend/android/app/src/main/kotlin/za/co/mzansiinnovationhub/mih/MainActivity.kt index 3ba56267..7a5defbe 100644 --- a/Frontend/android/app/src/main/kotlin/za/co/mzansiinnovationhub/mih/MainActivity.kt +++ b/Frontend/android/app/src/main/kotlin/za/co/mzansiinnovationhub/mih/MainActivity.kt @@ -1,6 +1,5 @@ package za.co.mzansiinnovationhub.mih -import io.flutter.embedding.android.FlutterFragmentActivity +import io.flutter.embedding.android.FlutterActivity -class MainActivity: FlutterFragmentActivity() { -} \ No newline at end of file +class MainActivity : FlutterActivity() diff --git a/Frontend/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png b/Frontend/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png index d321b2a4..149b5936 100644 Binary files a/Frontend/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png and b/Frontend/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png differ diff --git a/Frontend/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png b/Frontend/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png index 01b654d2..8fd116f5 100644 Binary files a/Frontend/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png and b/Frontend/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png differ diff --git a/Frontend/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png b/Frontend/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png index a487b882..0f9afb3e 100644 Binary files a/Frontend/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png and b/Frontend/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png differ diff --git a/Frontend/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png b/Frontend/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png index 1ad75131..34525e34 100644 Binary files a/Frontend/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png and b/Frontend/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png differ diff --git a/Frontend/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png b/Frontend/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png index e332d68d..ff60f903 100644 Binary files a/Frontend/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png and b/Frontend/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png differ diff --git a/Frontend/android/app/src/main/res/mipmap-anydpi-v26/launcher_icon.xml b/Frontend/android/app/src/main/res/mipmap-anydpi-v26/launcher_icon.xml index 5f349f7f..c79c58a3 100644 --- a/Frontend/android/app/src/main/res/mipmap-anydpi-v26/launcher_icon.xml +++ b/Frontend/android/app/src/main/res/mipmap-anydpi-v26/launcher_icon.xml @@ -1,5 +1,9 @@ - + + + diff --git a/Frontend/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/Frontend/android/app/src/main/res/mipmap-hdpi/ic_launcher.png index c2f08f7d..db77bb4b 100644 Binary files a/Frontend/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and b/Frontend/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ diff --git a/Frontend/android/app/src/main/res/mipmap-hdpi/launcher_icon.png b/Frontend/android/app/src/main/res/mipmap-hdpi/launcher_icon.png index 4c423dc4..9eaccf4d 100644 Binary files a/Frontend/android/app/src/main/res/mipmap-hdpi/launcher_icon.png and b/Frontend/android/app/src/main/res/mipmap-hdpi/launcher_icon.png differ diff --git a/Frontend/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/Frontend/android/app/src/main/res/mipmap-mdpi/ic_launcher.png index fe78952e..17987b79 100644 Binary files a/Frontend/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and b/Frontend/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ diff --git a/Frontend/android/app/src/main/res/mipmap-mdpi/launcher_icon.png b/Frontend/android/app/src/main/res/mipmap-mdpi/launcher_icon.png index 69aa520f..3af91ff0 100644 Binary files a/Frontend/android/app/src/main/res/mipmap-mdpi/launcher_icon.png and b/Frontend/android/app/src/main/res/mipmap-mdpi/launcher_icon.png differ diff --git a/Frontend/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/Frontend/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png index 95701a1f..09d43914 100644 Binary files a/Frontend/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and b/Frontend/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/Frontend/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png b/Frontend/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png index c960415f..1e178c8e 100644 Binary files a/Frontend/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png and b/Frontend/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png differ diff --git a/Frontend/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/Frontend/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png index 041967ab..d5f1c8d3 100644 Binary files a/Frontend/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and b/Frontend/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/Frontend/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png b/Frontend/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png index 8cd9b3e8..03e17e9f 100644 Binary files a/Frontend/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png and b/Frontend/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png differ diff --git a/Frontend/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/Frontend/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png index 661e122c..4d6372ee 100644 Binary files a/Frontend/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and b/Frontend/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/Frontend/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png b/Frontend/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png index 9dcc20a3..2168f904 100644 Binary files a/Frontend/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png and b/Frontend/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png differ diff --git a/Frontend/android/build.gradle b/Frontend/android/build.gradle deleted file mode 100644 index 0e62ca7d..00000000 --- a/Frontend/android/build.gradle +++ /dev/null @@ -1,34 +0,0 @@ -buildscript { - ext.kotlin_version = '2.1.21' - repositories { - google() - mavenCentral() - // maven { url 'https://developer.huawei.com/repo/' } - } - - dependencies { - classpath "com.android.tools.build:gradle:8.8.1" - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - // classpath 'com.huawei.agconnect:agcp:1.5.2.300' - } -} - -allprojects { - repositories { - google() - mavenCentral() - // maven {url 'https://developer.huawei.com/repo/'} - } -} - -rootProject.buildDir = '../build' -subprojects { - project.buildDir = "${rootProject.buildDir}/${project.name}" -} -//subprojects { -// project.evaluationDependsOn(':app') -//} - -tasks.register("clean", Delete) { - delete rootProject.buildDir -} diff --git a/Frontend/android/build.gradle.kts b/Frontend/android/build.gradle.kts new file mode 100644 index 00000000..89176ef4 --- /dev/null +++ b/Frontend/android/build.gradle.kts @@ -0,0 +1,21 @@ +allprojects { + repositories { + google() + mavenCentral() + } +} + +val newBuildDir: Directory = rootProject.layout.buildDirectory.dir("../../build").get() +rootProject.layout.buildDirectory.value(newBuildDir) + +subprojects { + val newSubprojectBuildDir: Directory = newBuildDir.dir(project.name) + project.layout.buildDirectory.value(newSubprojectBuildDir) +} +subprojects { + project.evaluationDependsOn(":app") +} + +tasks.register("clean") { + delete(rootProject.layout.buildDirectory) +} diff --git a/Frontend/android/gradle.properties b/Frontend/android/gradle.properties index 73c3168e..f018a618 100644 --- a/Frontend/android/gradle.properties +++ b/Frontend/android/gradle.properties @@ -1,6 +1,3 @@ -org.gradle.jvmargs=-Xmx4G +org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true android.enableJetifier=true -android.defaults.buildfeatures.buildconfig=true -android.nonTransitiveRClass=false -android.nonFinalResIds=false diff --git a/Frontend/android/gradle/wrapper/gradle-wrapper.properties b/Frontend/android/gradle/wrapper/gradle-wrapper.properties index 79eb9d00..ac3b4792 100644 --- a/Frontend/android/gradle/wrapper/gradle-wrapper.properties +++ b/Frontend/android/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip -networkTimeout=10000 -validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-all.zip diff --git a/Frontend/android/settings.gradle b/Frontend/android/settings.gradle deleted file mode 100644 index b97b87ee..00000000 --- a/Frontend/android/settings.gradle +++ /dev/null @@ -1,30 +0,0 @@ -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 - } - settings.ext.flutterSdkPath = flutterSdkPath() - - includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") - - repositories { - google() - mavenCentral() - gradlePluginPortal() - } - - plugins { - id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false - id "org.jetbrains.kotlin.android" version "2.1.21" apply false - } -} - -plugins { - id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version '8.8.1' apply false -} - -include ":app" diff --git a/Frontend/android/settings.gradle.kts b/Frontend/android/settings.gradle.kts new file mode 100644 index 00000000..ab39a10a --- /dev/null +++ b/Frontend/android/settings.gradle.kts @@ -0,0 +1,25 @@ +pluginManagement { + val flutterSdkPath = run { + val properties = java.util.Properties() + file("local.properties").inputStream().use { properties.load(it) } + val flutterSdkPath = properties.getProperty("flutter.sdk") + require(flutterSdkPath != null) { "flutter.sdk not set in local.properties" } + 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 "8.7.3" apply false + id("org.jetbrains.kotlin.android") version "2.1.0" apply false +} + +include(":app") diff --git a/Frontend/flutter_launcher_icons.yaml b/Frontend/flutter_launcher_icons.yaml index c52c4024..ea62ac8f 100644 --- a/Frontend/flutter_launcher_icons.yaml +++ b/Frontend/flutter_launcher_icons.yaml @@ -1,16 +1,16 @@ # flutter pub run flutter_launcher_icons flutter_launcher_icons: - image_path: "images/app_icon/App_Icon_3.png" + image_path: "lib/mih_components/mih_package_components/assets/images/app_icon/mih_app_icon.png" android: "launcher_icon" # image_path_android: "assets/icon/icon.png" min_sdk_android: 21 # android min sdk min:16, default 21 adaptive_icon_background: "#3A4454" - adaptive_icon_foreground: "images/app_icon/App_Icon_3.png" + adaptive_icon_foreground: "lib/mih_components/mih_package_components/assets/images/app_icon/mih_app_icon.png" # adaptive_icon_monochrome: "assets/icon/monochrome.png" ios: true - image_path_ios: "images/app_icon/mih_app_icon.png" + image_path_ios: "lib/mih_components/mih_package_components/assets/images/app_icon/mih_app_icon.png" remove_alpha_channel_ios: true # image_path_ios_dark_transparent: "assets/icon/icon_dark.png" # image_path_ios_tinted_grayscale: "assets/icon/icon_tinted.png" @@ -18,15 +18,15 @@ flutter_launcher_icons: web: generate: true - image_path: "images/app_icon/circle_logo.png" + image_path: "lib/mih_components/mih_package_components/assets/images/app_icon/circle_logo.png" background_color: "#3A4454" theme_color: "#3A4454" windows: generate: true - image_path: "images/app_icon/circle_logo.png" + image_path: "lib/mih_components/mih_package_components/assets/images/app_icon/circle_logo.png" icon_size: 48 # min:48, max:256, default: 48 macos: generate: true - image_path: "images/app_icon/circle_logo.png" + image_path: "lib/mih_components/mih_package_components/assets/images/app_icon/circle_logo.png" diff --git a/Frontend/ios/Podfile.lock b/Frontend/ios/Podfile.lock index 53f8781d..fae0553f 100644 --- a/Frontend/ios/Podfile.lock +++ b/Frontend/ios/Podfile.lock @@ -60,6 +60,8 @@ PODS: - mobile_scanner (7.0.0): - Flutter - FlutterMacOS + - package_info_plus (0.4.5): + - Flutter - path_provider_foundation (0.0.1): - Flutter - FlutterMacOS @@ -99,6 +101,7 @@ DEPENDENCIES: - google_mobile_ads (from `.symlinks/plugins/google_mobile_ads/ios`) - local_auth_darwin (from `.symlinks/plugins/local_auth_darwin/darwin`) - mobile_scanner (from `.symlinks/plugins/mobile_scanner/darwin`) + - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`) - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) - printing (from `.symlinks/plugins/printing/ios`) - screen_brightness_ios (from `.symlinks/plugins/screen_brightness_ios/ios`) @@ -141,6 +144,8 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/local_auth_darwin/darwin" mobile_scanner: :path: ".symlinks/plugins/mobile_scanner/darwin" + package_info_plus: + :path: ".symlinks/plugins/package_info_plus/ios" path_provider_foundation: :path: ".symlinks/plugins/path_provider_foundation/darwin" printing: @@ -176,6 +181,7 @@ SPEC CHECKSUMS: GoogleUserMessagingPlatform: f8d0cdad3ca835406755d0a69aa634f00e76d576 local_auth_darwin: 553ce4f9b16d3fdfeafce9cf042e7c9f77c1c391 mobile_scanner: 9157936403f5a0644ca3779a38ff8404c5434a93 + package_info_plus: af8e2ca6888548050f16fa2f1938db7b5a5df499 path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564 printing: 54ff03f28fe9ba3aa93358afb80a8595a071dd07 screen_brightness_ios: 9953fd7da5bd480f1a93990daeec2eb42d4f3b52 diff --git a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png index 2ba4b695..550c1375 100644 Binary files a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png and b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png differ diff --git a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png index 992fcd53..5bd61bd4 100644 Binary files a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png differ diff --git a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png index 2065fd9b..0ea48825 100644 Binary files a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png differ diff --git a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png index 6961bd50..2d4cbe47 100644 Binary files a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png differ diff --git a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png index 8cf59ee9..d0cf82cb 100644 Binary files a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png differ diff --git a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png index e070e432..9f709813 100644 Binary files a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png differ diff --git a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png index 062fde51..bebc5023 100644 Binary files a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png differ diff --git a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png index 2065fd9b..0ea48825 100644 Binary files a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png differ diff --git a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png index c9ea1730..febb81c9 100644 Binary files a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png differ diff --git a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png index 47150dbd..fbc70a4f 100644 Binary files a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png differ diff --git a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png index 26dcef9b..e58bbcc8 100644 Binary files a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png and b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png differ diff --git a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png index fbcbff5d..9f1992fb 100644 Binary files a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png and b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png differ diff --git a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png index 3067a572..678e8057 100644 Binary files a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png and b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png differ diff --git a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png index 299eebc6..b3028465 100644 Binary files a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png and b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png differ diff --git a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png index 47150dbd..fbc70a4f 100644 Binary files a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png differ diff --git a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png index df9094b9..ddd18d00 100644 Binary files a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png differ diff --git a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png index bf3a4727..9eaccf4d 100644 Binary files a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png and b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png differ diff --git a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png index d5b01f24..03e17e9f 100644 Binary files a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png and b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png differ diff --git a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png index 9af533bc..993b89b4 100644 Binary files a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png differ diff --git a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png index 511913fd..d916fb3b 100644 Binary files a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png differ diff --git a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png index 48f03b18..92c735a6 100644 Binary files a/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and b/Frontend/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png differ diff --git a/Frontend/linux/runner/CMakeLists.txt b/Frontend/linux/runner/CMakeLists.txt new file mode 100644 index 00000000..e97dabc7 --- /dev/null +++ b/Frontend/linux/runner/CMakeLists.txt @@ -0,0 +1,26 @@ +cmake_minimum_required(VERSION 3.13) +project(runner LANGUAGES CXX) + +# Define the application target. To change its name, change BINARY_NAME in the +# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer +# work. +# +# Any new source files that you add to the application should be added here. +add_executable(${BINARY_NAME} + "main.cc" + "my_application.cc" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" +) + +# Apply the standard set of build settings. This can be removed for applications +# that need different build settings. +apply_standard_settings(${BINARY_NAME}) + +# Add preprocessor definitions for the application ID. +add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}") + +# Add dependency libraries. Add any application-specific dependencies here. +target_link_libraries(${BINARY_NAME} PRIVATE flutter) +target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK) + +target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") diff --git a/Frontend/linux/runner/main.cc b/Frontend/linux/runner/main.cc new file mode 100644 index 00000000..e7c5c543 --- /dev/null +++ b/Frontend/linux/runner/main.cc @@ -0,0 +1,6 @@ +#include "my_application.h" + +int main(int argc, char** argv) { + g_autoptr(MyApplication) app = my_application_new(); + return g_application_run(G_APPLICATION(app), argc, argv); +} diff --git a/Frontend/linux/runner/my_application.cc b/Frontend/linux/runner/my_application.cc new file mode 100644 index 00000000..eded6ced --- /dev/null +++ b/Frontend/linux/runner/my_application.cc @@ -0,0 +1,130 @@ +#include "my_application.h" + +#include +#ifdef GDK_WINDOWING_X11 +#include +#endif + +#include "flutter/generated_plugin_registrant.h" + +struct _MyApplication { + GtkApplication parent_instance; + char** dart_entrypoint_arguments; +}; + +G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION) + +// Implements GApplication::activate. +static void my_application_activate(GApplication* application) { + MyApplication* self = MY_APPLICATION(application); + GtkWindow* window = + GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application))); + + // Use a header bar when running in GNOME as this is the common style used + // by applications and is the setup most users will be using (e.g. Ubuntu + // desktop). + // If running on X and not using GNOME then just use a traditional title bar + // in case the window manager does more exotic layout, e.g. tiling. + // If running on Wayland assume the header bar will work (may need changing + // if future cases occur). + gboolean use_header_bar = TRUE; +#ifdef GDK_WINDOWING_X11 + GdkScreen* screen = gtk_window_get_screen(window); + if (GDK_IS_X11_SCREEN(screen)) { + const gchar* wm_name = gdk_x11_screen_get_window_manager_name(screen); + if (g_strcmp0(wm_name, "GNOME Shell") != 0) { + use_header_bar = FALSE; + } + } +#endif + if (use_header_bar) { + GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new()); + gtk_widget_show(GTK_WIDGET(header_bar)); + gtk_header_bar_set_title(header_bar, "mzansi_innovation_hub"); + gtk_header_bar_set_show_close_button(header_bar, TRUE); + gtk_window_set_titlebar(window, GTK_WIDGET(header_bar)); + } else { + gtk_window_set_title(window, "mzansi_innovation_hub"); + } + + gtk_window_set_default_size(window, 1280, 720); + gtk_widget_show(GTK_WIDGET(window)); + + g_autoptr(FlDartProject) project = fl_dart_project_new(); + fl_dart_project_set_dart_entrypoint_arguments(project, self->dart_entrypoint_arguments); + + FlView* view = fl_view_new(project); + gtk_widget_show(GTK_WIDGET(view)); + gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view)); + + fl_register_plugins(FL_PLUGIN_REGISTRY(view)); + + gtk_widget_grab_focus(GTK_WIDGET(view)); +} + +// Implements GApplication::local_command_line. +static gboolean my_application_local_command_line(GApplication* application, gchar*** arguments, int* exit_status) { + MyApplication* self = MY_APPLICATION(application); + // Strip out the first argument as it is the binary name. + self->dart_entrypoint_arguments = g_strdupv(*arguments + 1); + + g_autoptr(GError) error = nullptr; + if (!g_application_register(application, nullptr, &error)) { + g_warning("Failed to register: %s", error->message); + *exit_status = 1; + return TRUE; + } + + g_application_activate(application); + *exit_status = 0; + + return TRUE; +} + +// Implements GApplication::startup. +static void my_application_startup(GApplication* application) { + //MyApplication* self = MY_APPLICATION(object); + + // Perform any actions required at application startup. + + G_APPLICATION_CLASS(my_application_parent_class)->startup(application); +} + +// Implements GApplication::shutdown. +static void my_application_shutdown(GApplication* application) { + //MyApplication* self = MY_APPLICATION(object); + + // Perform any actions required at application shutdown. + + G_APPLICATION_CLASS(my_application_parent_class)->shutdown(application); +} + +// Implements GObject::dispose. +static void my_application_dispose(GObject* object) { + MyApplication* self = MY_APPLICATION(object); + g_clear_pointer(&self->dart_entrypoint_arguments, g_strfreev); + G_OBJECT_CLASS(my_application_parent_class)->dispose(object); +} + +static void my_application_class_init(MyApplicationClass* klass) { + G_APPLICATION_CLASS(klass)->activate = my_application_activate; + G_APPLICATION_CLASS(klass)->local_command_line = my_application_local_command_line; + G_APPLICATION_CLASS(klass)->startup = my_application_startup; + G_APPLICATION_CLASS(klass)->shutdown = my_application_shutdown; + G_OBJECT_CLASS(klass)->dispose = my_application_dispose; +} + +static void my_application_init(MyApplication* self) {} + +MyApplication* my_application_new() { + // Set the program name to the application ID, which helps various systems + // like GTK and desktop environments map this running application to its + // corresponding .desktop file. This ensures better integration by allowing + // the application to be recognized beyond its binary name. + g_set_prgname(APPLICATION_ID); + + return MY_APPLICATION(g_object_new(my_application_get_type(), + "application-id", APPLICATION_ID, + "flags", G_APPLICATION_NON_UNIQUE, + nullptr)); +} diff --git a/Frontend/linux/runner/my_application.h b/Frontend/linux/runner/my_application.h new file mode 100644 index 00000000..72271d5e --- /dev/null +++ b/Frontend/linux/runner/my_application.h @@ -0,0 +1,18 @@ +#ifndef FLUTTER_MY_APPLICATION_H_ +#define FLUTTER_MY_APPLICATION_H_ + +#include + +G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, + GtkApplication) + +/** + * my_application_new: + * + * Creates a new Flutter-based application. + * + * Returns: a new #MyApplication. + */ +MyApplication* my_application_new(); + +#endif // FLUTTER_MY_APPLICATION_H_ diff --git a/Frontend/macos/Flutter/GeneratedPluginRegistrant.swift b/Frontend/macos/Flutter/GeneratedPluginRegistrant.swift index 6abc3575..16b81956 100644 --- a/Frontend/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/Frontend/macos/Flutter/GeneratedPluginRegistrant.swift @@ -12,6 +12,7 @@ import flutter_tts import geolocator_apple import local_auth_darwin import mobile_scanner +import package_info_plus import path_provider_foundation import printing import screen_brightness_macos @@ -30,6 +31,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { GeolocatorPlugin.register(with: registry.registrar(forPlugin: "GeolocatorPlugin")) FLALocalAuthPlugin.register(with: registry.registrar(forPlugin: "FLALocalAuthPlugin")) MobileScannerPlugin.register(with: registry.registrar(forPlugin: "MobileScannerPlugin")) + FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin")) PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) PrintingPlugin.register(with: registry.registrar(forPlugin: "PrintingPlugin")) ScreenBrightnessMacosPlugin.register(with: registry.registrar(forPlugin: "ScreenBrightnessMacosPlugin")) diff --git a/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png index c9db10c7..24832016 100644 Binary files a/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png and b/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png differ diff --git a/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png index f2df8559..e5246083 100644 Binary files a/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png and b/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png differ diff --git a/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png index aca5af0e..4f4c0c5b 100644 Binary files a/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png and b/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png differ diff --git a/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png b/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png index e2b78bc9..30ae352a 100644 Binary files a/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png and b/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png differ diff --git a/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png index 67e01f1d..a97ff5f5 100644 Binary files a/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png and b/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png differ diff --git a/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png index b5ac2f88..68fe215f 100644 Binary files a/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png and b/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png differ diff --git a/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png index 511dc4d8..549aaddf 100644 Binary files a/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png and b/Frontend/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png differ diff --git a/Frontend/pubspec.lock b/Frontend/pubspec.lock index cc62b381..4a9b58fa 100644 --- a/Frontend/pubspec.lock +++ b/Frontend/pubspec.lock @@ -936,6 +936,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.2.2+1" + os_detect: + dependency: transitive + description: + name: os_detect + sha256: "7d87c0dd98c6faf110d5aa498e9a6df02ffce4bb78cc9cfc8ad02929be9bb71f" + url: "https://pub.dev" + source: hosted + version: "2.0.3" package_config: dependency: transitive description: @@ -944,6 +952,22 @@ packages: url: "https://pub.dev" source: hosted version: "2.2.0" + package_info_plus: + dependency: transitive + description: + name: package_info_plus + sha256: f69da0d3189a4b4ceaeb1a3defb0f329b3b352517f52bed4290f83d4f06bc08d + url: "https://pub.dev" + source: hosted + version: "9.0.0" + 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: transitive description: @@ -1557,6 +1581,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.2.2" + upgrader: + dependency: "direct main" + description: + name: upgrader + sha256: e4878f33198ed627af9ec64cb12626ca12672ad94e9671feccd58625ccb484b6 + url: "https://pub.dev" + source: hosted + version: "12.0.0" url_launcher: dependency: "direct main" description: @@ -1661,6 +1693,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" + version: + dependency: transitive + description: + name: version + sha256: "3d4140128e6ea10d83da32fef2fa4003fccbf6852217bb854845802f04191f94" + url: "https://pub.dev" + source: hosted + version: "3.0.2" visibility_detector: dependency: transitive description: diff --git a/Frontend/pubspec.yaml b/Frontend/pubspec.yaml index 02360f76..dc6c6278 100644 --- a/Frontend/pubspec.yaml +++ b/Frontend/pubspec.yaml @@ -38,7 +38,7 @@ dependencies: flutter_chat_ui: ^1.6.15 flutter_chat_types: ^3.6.2 uuid: ^4.5.1 - flutter_tts: ^4.2.2 + flutter_tts: ^4.2.3 flutter_speed_dial: ^7.0.0 share_plus: ^11.0.0 app_settings: ^6.1.1 @@ -52,6 +52,7 @@ dependencies: screen_brightness: ^2.1.6 cached_network_image: ^3.4.1 gpt_markdown: ^1.1.2 + upgrader: ^12.0.0 dev_dependencies: flutter_test: diff --git a/Frontend/web/favicon.png b/Frontend/web/favicon.png index aca5af0e..4f4c0c5b 100644 Binary files a/Frontend/web/favicon.png and b/Frontend/web/favicon.png differ diff --git a/Frontend/web/icons/Icon-192.png b/Frontend/web/icons/Icon-192.png index 9f2c031b..3fe523f0 100644 Binary files a/Frontend/web/icons/Icon-192.png and b/Frontend/web/icons/Icon-192.png differ diff --git a/Frontend/web/icons/Icon-512.png b/Frontend/web/icons/Icon-512.png index b5ac2f88..68fe215f 100644 Binary files a/Frontend/web/icons/Icon-512.png and b/Frontend/web/icons/Icon-512.png differ diff --git a/Frontend/web/icons/Icon-maskable-192.png b/Frontend/web/icons/Icon-maskable-192.png index 9f2c031b..3fe523f0 100644 Binary files a/Frontend/web/icons/Icon-maskable-192.png and b/Frontend/web/icons/Icon-maskable-192.png differ diff --git a/Frontend/web/icons/Icon-maskable-512.png b/Frontend/web/icons/Icon-maskable-512.png index b5ac2f88..68fe215f 100644 Binary files a/Frontend/web/icons/Icon-maskable-512.png and b/Frontend/web/icons/Icon-maskable-512.png differ diff --git a/Frontend/web/index.html b/Frontend/web/index.html index a3679a41..3bb4dfc8 100644 --- a/Frontend/web/index.html +++ b/Frontend/web/index.html @@ -150,6 +150,10 @@ + + + + @@ -280,6 +284,10 @@ + + + + diff --git a/Frontend/windows/runner/resources/app_icon.ico b/Frontend/windows/runner/resources/app_icon.ico index b643450e..e787f95b 100644 Binary files a/Frontend/windows/runner/resources/app_icon.ico and b/Frontend/windows/runner/resources/app_icon.ico differ