WT 1.1.0+39 evaluation, health data

This commit is contained in:
bossanyit
2020-12-17 22:32:45 +01:00
parent 81f904af2c
commit 5c7a3d67e8
57 changed files with 1702 additions and 225 deletions
+42 -6
View File
@@ -2,9 +2,11 @@ import 'dart:async';
import 'package:aitrainer_app/localization/app_language.dart';
import 'package:aitrainer_app/localization/app_localization.dart';
import 'package:aitrainer_app/model/cache.dart';
import 'package:bloc/bloc.dart';
import 'package:equatable/equatable.dart';
import 'package:flutter/cupertino.dart';
import 'package:health/health.dart';
import 'package:meta/meta.dart';
part 'settings_event.dart';
@@ -31,18 +33,52 @@ class SettingsBloc extends Bloc<SettingsEvent, SettingsState> {
) async* {
if (event is SettingsChangeLanguage) {
yield SettingsLoading();
await _changeLang( event.language);
await _changeLang(event.language);
yield SettingsReady(_locale);
} else if ( event is SettingsGetLanguage) {
} else if (event is SettingsGetLanguage) {
await AppLanguage().fetchLocale();
_locale = AppLanguage().appLocal;
yield SettingsReady(_locale);
} else if (event is SettingsSetServer) {
yield SettingsLoading();
final bool live = event.live;
Cache().setServer(live);
yield SettingsReady(_locale);
} else if (event is SettingsSetHardware) {
yield SettingsLoading();
bool selectedHardwareBefore = await Cache().selectedHardwareBefore();
print("selectedBefore " + selectedHardwareBefore.toString());
if (!selectedHardwareBefore) {
await _accessHealthData();
}
final bool hasHardware = event.hasHardware;
await Cache().setHardware(hasHardware);
yield SettingsReady(_locale);
}
}
Future<void> _changeLang( String lang ) async{
Future<void> _accessHealthData() async {
final List<HealthDataType> types = [
HealthDataType.ACTIVE_ENERGY_BURNED,
HealthDataType.WATER,
HealthDataType.STEPS,
HealthDataType.HEART_RATE,
HealthDataType.BASAL_ENERGY_BURNED,
HealthDataType.BODY_TEMPERATURE,
HealthDataType.HIGH_HEART_RATE_EVENT,
HealthDataType.LOW_HEART_RATE_EVENT,
HealthDataType.RESTING_HEART_RATE
];
final HealthFactory health = HealthFactory();
DateTime now = DateTime.now();
List<HealthDataPoint> _healthDataList = await health.getHealthDataFromTypes(now.subtract(Duration(minutes: 5)), now, types);
print(_healthDataList.toString());
}
Future<void> _changeLang(String lang) async {
print("_change to $lang");
switch ( lang ) {
switch (lang) {
case "English":
case "en":
case "Angol":
@@ -59,8 +95,8 @@ class SettingsBloc extends Bloc<SettingsEvent, SettingsState> {
await loadLang();
}
Future<void> loadLang() async{
if ( _locale != null ) {
Future<void> loadLang() async {
if (_locale != null) {
print(" -- Loading lang $_locale");
if (context != null) {
AppLocalizations.of(context).setLocale(_locale);
+16
View File
@@ -15,3 +15,19 @@ class SettingsChangeLanguage extends SettingsEvent {
class SettingsGetLanguage extends SettingsEvent {
const SettingsGetLanguage();
}
class SettingsSetServer extends SettingsEvent {
final bool live;
const SettingsSetServer({this.live});
@override
List<Object> get props => [this.live];
}
class SettingsSetHardware extends SettingsEvent {
final bool hasHardware;
const SettingsSetHardware({this.hasHardware});
@override
List<Object> get props => [this.hasHardware];
}