diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index d5c5797f..81cc2a94 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -3,35 +3,53 @@ name: Eatvio App Android Test on: [ pull_request ] env: - flutter_version: "3.24.4" + flutter_version: "3.24.5" java_version: "21.x" flutter_channel: "stable" jobs: build: - runs-on: [dev-office] + runs-on: [ dev-office ] + env: + key: "cache-v1" steps: - uses: actions/checkout@v3 + - name: Setup cache environment + id: extcache + uses: https://github.com/shivammathur/cache-extensions@v1 + with: + key: ${{ env.key }} + - name: Set up JDK uses: actions/setup-java@v3 with: distribution: "zulu" java-version: ${{ env.java_version }} - id: setup-jdk + + - name: Manage Android SDK cache + uses: actions/cache@v3 + with: + path: | + $HOME/Android/Sdk/cmdline-tools/latest/ + $HOME/Android/Sdk + $HOME/Android/Sdk/cmdline-tools/latest/bin + + key: ${{ steps.extcache.outputs.key }} - 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 + 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: | @@ -39,10 +57,8 @@ jobs: 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: Install jq - run: | - apt-get install -y jq + run: apt-get install -y jq - id: flutter-action uses: actions/flutter-action@v2 @@ -64,12 +80,10 @@ jobs: run: flutter analyze - name: Test - run: | - flutter test + run: flutter test - name: Build apk - run: | - flutter build apk + run: flutter build apk - name: Rename and move apk run: | diff --git a/lib/features/diary/presentation/bloc/diary_cubit.dart b/lib/features/diary/presentation/bloc/diary_cubit.dart index 74df5385..0c243ac4 100644 --- a/lib/features/diary/presentation/bloc/diary_cubit.dart +++ b/lib/features/diary/presentation/bloc/diary_cubit.dart @@ -25,7 +25,7 @@ class DiaryCubit extends Cubit { emit( DiaryState.loaded( diary: await diaryRepository.getDiaryByDate(date), - nutrition: await getNutrition(await diaryRepository.getDiaryIndexByDate(date)), + nutrition: await getNutrition((await diaryRepository.getDiaryByDate(date)).id), currentSelectedSatietyRating: currentSelectedSatietyRating, ), ); diff --git a/lib/features/diary/repositories/diary_repository.dart b/lib/features/diary/repositories/diary_repository.dart index 42f352f1..3db06d6f 100644 --- a/lib/features/diary/repositories/diary_repository.dart +++ b/lib/features/diary/repositories/diary_repository.dart @@ -11,14 +11,11 @@ class DiaryRepository { }); Future getDiaryByDate(String date) async { - return (await diaryService.getDiaryDay( - index: await getDiaryIndexByDate(date), - )) - .diary; + return (await getDiaryIndexByDate(date)).last; } - Future getDiaryIndexByDate(String date) async { - return (await diaryService.getDiaryIndexByDate(date: date)).id; + Future> getDiaryIndexByDate(String date) async { + return (await diaryService.getDiaryIndexByDate(date: date)); } Future getNutritionData(int index) async { diff --git a/lib/features/diary/services/diary_service.dart b/lib/features/diary/services/diary_service.dart index 833f9604..d4edd406 100644 --- a/lib/features/diary/services/diary_service.dart +++ b/lib/features/diary/services/diary_service.dart @@ -1,7 +1,6 @@ import 'dart:io'; import 'package:dio/dio.dart'; import 'package:eatvio_app/features/diary/models/diary_day_model.dart'; -import 'package:eatvio_app/features/diary/models/diary_index_model.dart'; import 'package:eatvio_app/features/diary/models/nutrition_model.dart'; import 'package:retrofit/retrofit.dart'; @@ -12,7 +11,7 @@ abstract class DiaryService { factory DiaryService(Dio dio, {String baseUrl}) = _DiaryService; @GET('/api/diary/index/{date}') - Future getDiaryIndexByDate({ + Future> getDiaryIndexByDate({ @Path('date') required String date, // yyyy-mm-dd }); diff --git a/lib/features/diary/services/diary_service.g.dart b/lib/features/diary/services/diary_service.g.dart index 03fa20ed..816c7fb5 100644 --- a/lib/features/diary/services/diary_service.g.dart +++ b/lib/features/diary/services/diary_service.g.dart @@ -22,12 +22,13 @@ class _DiaryService implements DiaryService { final ParseErrorLogger? errorLogger; @override - Future getDiaryIndexByDate({required String date}) async { + Future> getDiaryIndexByDate( + {required String date}) async { final _extra = {}; final queryParameters = {}; final _headers = {}; const Map? _data = null; - final _options = _setStreamType(Options( + final _options = _setStreamType>(Options( method: 'GET', headers: _headers, extra: _extra, @@ -43,10 +44,12 @@ class _DiaryService implements DiaryService { _dio.options.baseUrl, baseUrl, ))); - final _result = await _dio.fetch>(_options); - late DiaryIndexModel _value; + final _result = await _dio.fetch>(_options); + late List _value; try { - _value = DiaryIndexModel.fromJson(_result.data!); + _value = _result.data! + .map((dynamic i) => DiaryDayModel.fromJson(i as Map)) + .toList(); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow;