mirror of
https://github.com/ish-app/ish.git
synced 2026-01-25 14:06:40 +00:00
44 lines
1.3 KiB
Objective-C
44 lines
1.3 KiB
Objective-C
//
|
|
// SceneDelegate.m
|
|
// iSH
|
|
//
|
|
// Created by Theodore Dubois on 10/26/19.
|
|
//
|
|
|
|
#import "SceneDelegate.h"
|
|
#import "TerminalViewController.h"
|
|
|
|
@interface SceneDelegate ()
|
|
|
|
@property NSString *terminalUUID;
|
|
|
|
@end
|
|
|
|
static NSString *const TerminalUUID = @"TerminalUUID";
|
|
|
|
@implementation SceneDelegate
|
|
|
|
- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions {
|
|
TerminalViewController *vc = (TerminalViewController *) self.window.rootViewController;
|
|
vc.sceneSession = session;
|
|
if (session.stateRestorationActivity == nil) {
|
|
[vc startNewSession];
|
|
} else {
|
|
self.terminalUUID = session.stateRestorationActivity.userInfo[TerminalUUID];
|
|
[vc reconnectSessionFromTerminalUUID:
|
|
[[NSUUID alloc] initWithUUIDString:self.terminalUUID]];
|
|
}
|
|
}
|
|
|
|
- (NSUserActivity *)stateRestorationActivityForScene:(UIScene *)scene {
|
|
NSUserActivity *activity = [[NSUserActivity alloc] initWithActivityType:@"app.ish.scene"];
|
|
TerminalViewController *vc = (TerminalViewController *) self.window.rootViewController;
|
|
self.terminalUUID = vc.sessionTerminalUUID.UUIDString;
|
|
if (self.terminalUUID != nil) {
|
|
[activity addUserInfoEntriesFromDictionary:@{TerminalUUID: self.terminalUUID}];
|
|
}
|
|
return activity;
|
|
}
|
|
|
|
@end
|