qualifiy the import of state in main

pull/4/head
fuwa 4 years ago
parent 12a09a64db
commit a32027ef55

@ -27,11 +27,11 @@ import 'package:logging/logging.dart';
import 'dart:io';
import 'dart:async';
import 'state.dart';
import 'config.dart' as config;
import 'logging.dart';
import 'controller/process/deploy.dart' as process;
import 'controller/process/run.dart' as process;
import 'logging.dart';
import 'state.dart' as state;
import 'widget.dart' as widget;
void main() {
@ -70,7 +70,7 @@ class _CyberWOW_PageState extends State<CyberWOW_Page> with WidgetsBindingObserv
{
// AppState _state = LoadingState("init...");
AppState _state;
state.AppState _state;
AppLifecycleState _notification = AppLifecycleState.resumed;
bool _exiting = false;
@ -89,7 +89,7 @@ class _CyberWOW_PageState extends State<CyberWOW_Page> with WidgetsBindingObserv
super.dispose();
}
void _setState(final AppState newState) {
void _setState(final state.AppState newState) {
setState
(
() => _state = newState
@ -104,55 +104,56 @@ class _CyberWOW_PageState extends State<CyberWOW_Page> with WidgetsBindingObserv
return _exiting;
}
AppState _getState() {
state.AppState _getState() {
return _state;
}
Future<void> buildStateMachine(final BlankState _blankState) async {
Future<void> buildStateMachine(final state.BlankState _blankState) async {
final loadingText = config.c.splash;
LoadingState _loadingState = await _blankState.next(loadingText);
state.LoadingState _loadingState = await _blankState.next(loadingText);
final binName = config.c.outputBin;
final resourcePath = 'native/output/' + describeEnum(config.arch) + '/' + binName;
final bundle = DefaultAssetBundle.of(context);
final loading = process.deployBinary(bundle, resourcePath, binName);
SyncingState _syncingState = await _loadingState.next(loading, '');
state.SyncingState _syncingState = await _loadingState.next(loading, '');
final syncing = process
.runBinary(binName, input: inputStreamController.stream, shouldExit: _isExiting)
.asBroadcastStream();
AppState _syncedNextState = await _syncingState.next(inputStreamController.sink, syncing);
state.AppState _syncedNextState =
await _syncingState.next(inputStreamController.sink, syncing);
var exited = false;
if (_syncedNextState is SyncedState) {
SyncedState _syncedState = _syncedNextState;
if (_syncedNextState is state.SyncedState) {
state.SyncedState _syncedState = _syncedNextState;
await _syncedState.next();
} else {
ExitingState _exitingState = _syncedNextState;
state.ExitingState _exitingState = _syncedNextState;
await _exitingState.wait();
exited = true;
}
var validState = true;
while (validState && !exited) {
AppState _state = _getState();
state.AppState _state = _getState();
switch (_state.runtimeType) {
case ExitingState: {
await (_state as ExitingState).wait();
case state.ExitingState: {
await (_state as state.ExitingState).wait();
log.finer('exit state wait done');
exited = true;
}
break;
case SyncedState:
(_state as SyncedState).next();
case state.SyncedState:
(_state as state.SyncedState).next();
break;
case ReSyncingState:
(_state as ReSyncingState).next();
case state.ReSyncingState:
(_state as state.ReSyncingState).next();
break;
default: validState = false;
@ -178,8 +179,8 @@ class _CyberWOW_PageState extends State<CyberWOW_Page> with WidgetsBindingObserv
WidgetsBinding.instance.addObserver(this);
final AppHook _appHook = AppHook(_setState, _getNotification, _isExiting);
final BlankState _blankState = BlankState(_appHook);
final state.AppHook _appHook = state.AppHook(_setState, _getNotification, _isExiting);
final state.BlankState _blankState = state.BlankState(_appHook);
_state = _blankState;
buildStateMachine(_blankState);