WT 1.1.0+39 evaluation, health data
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user