wrap swb open from file in platform check

This commit is contained in:
julian 2022-09-05 17:31:24 -06:00
parent 825356179a
commit c366e4a9c5

View file

@ -344,20 +344,23 @@ class _MaterialAppWithThemeState extends ConsumerState<MaterialAppWithTheme>
_prefs = ref.read(prefsChangeNotifierProvider); _prefs = ref.read(prefsChangeNotifierProvider);
_wallets = ref.read(walletsChangeNotifierProvider); _wallets = ref.read(walletsChangeNotifierProvider);
WidgetsBinding.instance.addPostFrameCallback((_) async { if (Platform.isAndroid) {
// fetch open file if it exists WidgetsBinding.instance.addPostFrameCallback((_) async {
await getOpenFile(); // fetch open file if it exists
await getOpenFile();
if (ref.read(openedFromSWBFileStringStateProvider.state).state != null) { if (ref.read(openedFromSWBFileStringStateProvider.state).state !=
// waiting for loading to complete before going straight to restore if the app was opened via file null) {
await loadingCompleter.future; // waiting for loading to complete before going straight to restore if the app was opened via file
await loadingCompleter.future;
await goToRestoreSWB( await goToRestoreSWB(
ref.read(openedFromSWBFileStringStateProvider.state).state!); ref.read(openedFromSWBFileStringStateProvider.state).state!);
ref.read(openedFromSWBFileStringStateProvider.state).state = null; ref.read(openedFromSWBFileStringStateProvider.state).state = null;
} }
// ref.read(shouldShowLockscreenOnResumeStateProvider.state).state = false; // ref.read(shouldShowLockscreenOnResumeStateProvider.state).state = false;
}); });
}
super.initState(); super.initState();
} }
@ -378,14 +381,16 @@ class _MaterialAppWithThemeState extends ConsumerState<MaterialAppWithTheme>
case AppLifecycleState.paused: case AppLifecycleState.paused:
break; break;
case AppLifecycleState.resumed: case AppLifecycleState.resumed:
// fetch open file if it exists if (Platform.isAndroid) {
await getOpenFile(); // fetch open file if it exists
// go straight to restore if the app was resumed via file await getOpenFile();
if (ref.read(openedFromSWBFileStringStateProvider.state).state != // go straight to restore if the app was resumed via file
null) { if (ref.read(openedFromSWBFileStringStateProvider.state).state !=
await goToRestoreSWB( null) {
ref.read(openedFromSWBFileStringStateProvider.state).state!); await goToRestoreSWB(
ref.read(openedFromSWBFileStringStateProvider.state).state = null; ref.read(openedFromSWBFileStringStateProvider.state).state!);
ref.read(openedFromSWBFileStringStateProvider.state).state = null;
}
} }
// if (ref.read(hasAuthenticatedOnStartStateProvider.state).state && // if (ref.read(hasAuthenticatedOnStartStateProvider.state).state &&
// ref.read(shouldShowLockscreenOnResumeStateProvider.state).state) { // ref.read(shouldShowLockscreenOnResumeStateProvider.state).state) {
@ -419,6 +424,7 @@ class _MaterialAppWithThemeState extends ConsumerState<MaterialAppWithTheme>
} }
} }
/// should only be called on android currently
Future<void> getOpenFile() async { Future<void> getOpenFile() async {
// update provider with new file content state // update provider with new file content state
ref.read(openedFromSWBFileStringStateProvider.state).state = ref.read(openedFromSWBFileStringStateProvider.state).state =
@ -432,6 +438,7 @@ class _MaterialAppWithThemeState extends ConsumerState<MaterialAppWithTheme>
level: LogLevel.Info); level: LogLevel.Info);
} }
/// should only be called on android currently
Future<void> resetOpenPath() async { Future<void> resetOpenPath() async {
await platform.invokeMethod("resetOpenPath"); await platform.invokeMethod("resetOpenPath");
} }