diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 00000000..506ab56a
Binary files /dev/null and b/.DS_Store differ
diff --git a/.env b/.env
new file mode 100644
index 00000000..e223a359
--- /dev/null
+++ b/.env
@@ -0,0 +1,2 @@
+SERVER_ROOT='https://mobile-stage.eatvio.ru/api'
+STORAGE_URL='https://mobile-stage.eatvio.ru/storage/'
\ No newline at end of file
diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml
index e8f9d11f..955d74d5 100644
--- a/.gitea/workflows/build.yml
+++ b/.gitea/workflows/build.yml
@@ -1,9 +1,9 @@
name: Android Release
-on: [push, pull_request]
+on: [ push, pull_request ]
env:
- flutter_version: "3.19.0"
+ flutter_version: "3.22.0"
java_version: "12.x"
flutter_channel: "stable"
@@ -13,22 +13,37 @@ jobs:
steps:
- uses: actions/checkout@v3
+
+ - name: Set up JDK
+ uses: actions/setup-java@v3
+ with:
+ distribution: 'zulu'
+ java-version: ${{ env.java_version }}
+ cache: 'gradle'
+
+ - name: Install Android SDK
+ run: |
+ apt-get update
+ apt-get install -y openjdk-11-jdk wget
+ wget https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip -O commandlinetools.zip
+ unzip commandlinetools.zip
+ mkdir -p $HOME/Android/Sdk/cmdline-tools/latest
+ mv cmdline-tools/* $HOME/Android/Sdk/cmdline-tools/latest/
+ export ANDROID_SDK_ROOT=$HOME/Android/Sdk
+ export PATH=$PATH:$HOME/Android/Sdk/cmdline-tools/latest/bin
+ sdkmanager "platform-tools" "platforms;android-30" "build-tools;30.0.3"
+
+ - name: Set up Android environment variables
+ run: |
+ echo "ANDROID_SDK_ROOT=$HOME/Android/Sdk" >> $GITHUB_ENV
+ echo "PATH=$PATH:$HOME/Android/Sdk/platform-tools:$HOME/Android/Sdk/build-tools/30.0.3" >> $GITHUB_ENV
+ echo "ANDROID_HOME=$HOME/Android/Sdk" >> $GITHUB_ENV
+
- uses: actions/cache@v2
with:
path: ${{ runner.tool_cache }}/flutter
key: flutter-${{ env.flutter_version }}-${{ env.flutter_channel }}
- - name: Install jq
- run: |
- apt update
- apt-get install -y jq
-
- - uses: actions/setup-java@v3
- with:
- distribution: "zulu"
- java-version: "12.x"
- cache: "gradle"
-
- id: flutter-action
uses: actions/flutter-action@v2
with:
@@ -66,9 +81,12 @@ jobs:
touch .env
flutter test
-# - name: Build apk
-# run: flutter build apk
+ - name: Build apk
+ run: flutter build apk
-# Runs a set of commands using the runners shell
-# - name: Start release build
-# run: flutter build appbundle
+ - name: Rename and move apk
+ run: |
+ TIMESTAMP=$(date +'%Y-%m-%d-%H-%M')
+ APK_NAME="eatvio_app_${TIMESTAMP}.apk"
+ mv build/app/outputs/flutter-apk/app-release.apk $APK_NAME
+ echo "APK build finished $APK_NAME"
diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml
index b5f75243..a8fbb7d6 100644
--- a/.gitea/workflows/test.yml
+++ b/.gitea/workflows/test.yml
@@ -1,9 +1,9 @@
name: Eatvio App Android Test
-on: [pull_request]
+on: [ pull_request ]
env:
- flutter_version: "3.19.0"
+ flutter_version: "3.22.0"
java_version: "12.x"
flutter_channel: "stable"
@@ -13,6 +13,38 @@ jobs:
steps:
- uses: actions/checkout@v3
+
+ - name: Set up JDK
+ uses: actions/setup-java@v3
+ with:
+ distribution: "zulu"
+ java-version: ${{ env.java_version }}
+ cache: "gradle"
+
+ - name: Install Android SDK
+ run: |
+ apt-get update
+ apt-get install -y openjdk-11-jdk wget
+ wget https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip -O commandlinetools.zip
+ unzip commandlinetools.zip
+ mkdir -p $HOME/Android/Sdk/cmdline-tools/latest
+ mv cmdline-tools/* $HOME/Android/Sdk/cmdline-tools/latest/
+ export ANDROID_SDK_ROOT=$HOME/Android/Sdk
+ export PATH=$PATH:$HOME/Android/Sdk/cmdline-tools/latest/bin
+ yes | sdkmanager --licenses 2>/dev/null || true
+
+ - name: Set up Android environment variables
+ run: |
+ echo "ANDROID_SDK_ROOT=$HOME/Android/Sdk" >> $GITHUB_ENV
+ echo "PATH=$PATH:$HOME/Android/Sdk/cmdline-tools/latest/bin:$HOME/Android/Sdk/platform-tools:$HOME/Android/Sdk/build-tools/30.0.3" >> $GITHUB_ENV
+ echo "ANDROID_HOME=$HOME/Android/Sdk" >> $GITHUB_ENV
+
+ - name: Debug Environment Variables
+ run: |
+ echo "ANDROID_SDK_ROOT: $ANDROID_SDK_ROOT"
+ echo "ANDROID_HOME: $ANDROID_HOME"
+ echo "PATH: $PATH"
+
- uses: actions/cache@v2
with:
path: ${{ runner.tool_cache }}/flutter
@@ -20,15 +52,8 @@ jobs:
- name: Install jq
run: |
- apt update
apt-get install -y jq
- - uses: actions/setup-java@v3
- with:
- distribution: "zulu"
- java-version: "12.x"
- cache: "gradle"
-
- id: flutter-action
uses: actions/flutter-action@v2
with:
@@ -36,7 +61,7 @@ jobs:
flutter-version: ${{ env.flutter_version }}
cache: true
- - name: show cache keys
+ - name: Show cache keys
run: |
echo CACHE-PATH=${{ steps.flutter-action.outputs.CACHE-PATH }}
echo CACHE-KEY=${{ steps.flutter-action.outputs.CACHE-KEY }}
@@ -47,10 +72,11 @@ jobs:
echo PUB-CACHE-KEY=${{ steps.flutter-action.outputs.PUB-CACHE-KEY }}
shell: bash
- - name: fix dir permissions
+ - name: Fix dir permissions
run: |
git config --global --add safe.directory /opt/hostedtoolcache/flutter/${{ env.flutter_channel }}-${{ env.flutter_version }}-${{ steps.flutter-action.outputs.ARCHITECTURE }}
- flutter --version
+ flutter config --android-sdk="$ANDROID_HOME"
+ flutter doctor -v
- name: Get dependencies
run: flutter pub get
@@ -65,3 +91,21 @@ jobs:
run: |
touch .env
flutter test
+
+ - name: Build apk
+ run: |
+ flutter build apk
+
+ - name: Rename and move apk
+ run: |
+ TIMESTAMP=$(date +'%Y-%m-%d-%H-%M')
+ APK_NAME="eatvio_app_${TIMESTAMP}.apk"
+ mv build/app/outputs/flutter-apk/app-release.apk $APK_NAME
+ echo "APK build finished $APK_NAME"
+ echo "APK_NAME=$APK_NAME" >> $GITHUB_ENV
+
+ - name: Upload APK artifact
+ uses: actions/upload-artifact@v3
+ with:
+ name: EatvioApp-APK
+ path: ${{ env.APK_NAME }}
diff --git a/.metadata b/.metadata
new file mode 100644
index 00000000..aa90aa80
--- /dev/null
+++ b/.metadata
@@ -0,0 +1,45 @@
+# This file tracks properties of this Flutter project.
+# Used by Flutter tool to assess capabilities and perform upgrades etc.
+#
+# This file should be version controlled and should not be manually edited.
+
+version:
+ revision: "ba393198430278b6595976de84fe170f553cc728"
+ channel: "stable"
+
+project_type: app
+
+# Tracks metadata for the flutter migrate command
+migration:
+ platforms:
+ - platform: root
+ create_revision: ba393198430278b6595976de84fe170f553cc728
+ base_revision: ba393198430278b6595976de84fe170f553cc728
+ - platform: android
+ create_revision: ba393198430278b6595976de84fe170f553cc728
+ base_revision: ba393198430278b6595976de84fe170f553cc728
+ - platform: ios
+ create_revision: ba393198430278b6595976de84fe170f553cc728
+ base_revision: ba393198430278b6595976de84fe170f553cc728
+ - platform: linux
+ create_revision: ba393198430278b6595976de84fe170f553cc728
+ base_revision: ba393198430278b6595976de84fe170f553cc728
+ - platform: macos
+ create_revision: ba393198430278b6595976de84fe170f553cc728
+ base_revision: ba393198430278b6595976de84fe170f553cc728
+ - platform: web
+ create_revision: ba393198430278b6595976de84fe170f553cc728
+ base_revision: ba393198430278b6595976de84fe170f553cc728
+ - platform: windows
+ create_revision: ba393198430278b6595976de84fe170f553cc728
+ base_revision: ba393198430278b6595976de84fe170f553cc728
+
+ # User provided section
+
+ # List of Local paths (relative to this file) that should be
+ # ignored by the migrate tool.
+ #
+ # Files that are not part of the templates will be ignored by default.
+ unmanaged_files:
+ - 'lib/main.dart'
+ - 'ios/Runner.xcodeproj/project.pbxproj'
diff --git a/analysis_options.yaml b/analysis_options.yaml
index 9722fb45..22f04010 100644
--- a/analysis_options.yaml
+++ b/analysis_options.yaml
@@ -1,4 +1,6 @@
analyzer:
+ errors:
+ invalid_annotation_target: ignore
plugins:
- dart_code_metrics
diff --git a/android/app/build.gradle b/android/app/build.gradle
index 4c483ee5..7652369e 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -1,67 +1,59 @@
-plugins{
- id 'com.android.application'
- id 'kotlin-android'
+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 localPropertiesFile = rootProject.file('local.properties')
+def localPropertiesFile = rootProject.file("local.properties")
if (localPropertiesFile.exists()) {
- localPropertiesFile.withReader('UTF-8') { reader ->
+ localPropertiesFile.withReader("UTF-8") { reader ->
localProperties.load(reader)
}
}
-def flutterRoot = localProperties.getProperty('flutter.sdk')
-if (flutterRoot == null) {
- 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) {
- flutterVersionCode = '1'
+ flutterVersionCode = "1"
}
-def flutterVersionName = localProperties.getProperty('flutter.versionName')
+def flutterVersionName = localProperties.getProperty("flutter.versionName")
if (flutterVersionName == null) {
- flutterVersionName = '1.0'
+ flutterVersionName = "1.0"
}
-apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
-
android {
- compileSdkVersion flutter.compileSdkVersion
+ namespace = "com.eatvioapp.app"
+ compileSdk = flutter.compileSdkVersion
+ ndkVersion = flutter.ndkVersion
- sourceSets {
- main.java.srcDirs += 'src/main/kotlin'
- }
-
- lintOptions {
- disable 'InvalidPackage'
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_1_8
+ targetCompatibility = JavaVersion.VERSION_1_8
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
- applicationId "com.eatvioapp.app"
- minSdkVersion 23
- targetSdkVersion flutter.targetSdkVersion
- multiDexEnabled true
- versionCode flutterVersionCode.toInteger()
- versionName flutterVersionName
+ applicationId = "com.eatvioapp.app"
+ // 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.
+ minSdk = 23
+ targetSdk = flutter.targetSdkVersion
+ versionCode = flutterVersionCode.toInteger()
+ versionName = flutterVersionName
}
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.debug
}
}
}
flutter {
- source '../..'
+ source = "../.."
}
-dependencies {
- implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
- implementation "androidx.multidex:multidex:2.0.1"
-}
diff --git a/android/app/src/main/kotlin/com/eatvioapp/eatvio_app/MainActivity.kt b/android/app/src/main/kotlin/com/eatvioapp/eatvio_app/MainActivity.kt
new file mode 100644
index 00000000..f3e4d58d
--- /dev/null
+++ b/android/app/src/main/kotlin/com/eatvioapp/eatvio_app/MainActivity.kt
@@ -0,0 +1,5 @@
+package com.eatvioapp.eatvio_app
+
+import io.flutter.embedding.android.FlutterActivity
+
+class MainActivity: FlutterActivity()
diff --git a/android/app/src/main/res/drawable-v21/launch_background.xml b/android/app/src/main/res/drawable-v21/launch_background.xml
new file mode 100644
index 00000000..f74085f3
--- /dev/null
+++ b/android/app/src/main/res/drawable-v21/launch_background.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
diff --git a/android/app/src/main/res/values-night/styles.xml b/android/app/src/main/res/values-night/styles.xml
new file mode 100644
index 00000000..06952be7
--- /dev/null
+++ b/android/app/src/main/res/values-night/styles.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
diff --git a/android/build.gradle b/android/build.gradle
index d7f8aafa..5869be3d 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -1,16 +1,3 @@
-buildscript {
- ext.kotlin_version = '1.7.20'
- repositories {
- google()
- jcenter()
- }
-
- dependencies {
- classpath 'com.android.tools.build:gradle:7.2.0'
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
- }
-}
-
allprojects {
repositories {
google()
diff --git a/android/eatvio_app_android.iml b/android/eatvio_app_android.iml
new file mode 100644
index 00000000..18999696
--- /dev/null
+++ b/android/eatvio_app_android.iml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties
index 6b665338..aeaff6f8 100644
--- a/android/gradle/wrapper/gradle-wrapper.properties
+++ b/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip
diff --git a/android/settings.gradle b/android/settings.gradle
index 44e62bcf..536165d3 100644
--- a/android/settings.gradle
+++ b/android/settings.gradle
@@ -1,11 +1,25 @@
-include ':app'
+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
+ }()
-def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
-def properties = new Properties()
+ includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
-assert localPropertiesFile.exists()
-localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
+ repositories {
+ google()
+ mavenCentral()
+ gradlePluginPortal()
+ }
+}
-def flutterSdkPath = properties.getProperty("flutter.sdk")
-assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
-apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
+plugins {
+ id "dev.flutter.flutter-plugin-loader" version "1.0.0"
+ id "com.android.application" version "7.3.0" apply false
+ id "org.jetbrains.kotlin.android" version "1.7.10" apply false
+}
+
+include ":app"
diff --git a/assets/.DS_Store b/assets/.DS_Store
new file mode 100644
index 00000000..2f718152
Binary files /dev/null and b/assets/.DS_Store differ
diff --git a/assets/fonts/MulishBold.ttf b/assets/fonts/MulishBold.ttf
index 0c1eed73..e69de29b 100644
Binary files a/assets/fonts/MulishBold.ttf and b/assets/fonts/MulishBold.ttf differ
diff --git a/assets/fonts/MulishRegular.ttf b/assets/fonts/MulishRegular.ttf
index 0971518b..e69de29b 100644
Binary files a/assets/fonts/MulishRegular.ttf and b/assets/fonts/MulishRegular.ttf differ
diff --git a/assets/fonts/MulishSemiBold.ttf b/assets/fonts/MulishSemiBold.ttf
index 9ac1fc8f..e69de29b 100644
Binary files a/assets/fonts/MulishSemiBold.ttf and b/assets/fonts/MulishSemiBold.ttf differ
diff --git a/assets/fonts/SegoeUISemibold.ttf b/assets/fonts/SegoeUISemibold.ttf
index 46b3b993..e69de29b 100644
Binary files a/assets/fonts/SegoeUISemibold.ttf and b/assets/fonts/SegoeUISemibold.ttf differ
diff --git a/assets/images/img_2456927096976.svg b/assets/images/img_2456927096976.svg
index 17ee6769..f869ff41 100644
--- a/assets/images/img_2456927096976.svg
+++ b/assets/images/img_2456927096976.svg
@@ -1,5 +1,12 @@
-