240 Commits

Author SHA1 Message Date
Lucas Wang
ab44d1dbda Multi-file transfer now awaits LanLink to trigger the sending of the next payload when the previous one has successfully finished. 2021-10-09 12:47:18 -07:00
Lucas Wang
49b3fd8653 Fixed file transfer problems by ignoring UDP packets coming from already connected devices to prevent connections from getting restarted. 2021-10-09 12:47:15 -07:00
Lucas Wang
31675f424e Re-commented a bunch of NSLogs to aid with debugging, tweaked unpair process to (hopefully) remove the device from saved devices when unpair is initiated from remote. 2021-10-09 12:47:12 -07:00
Lucas Wang
0b29e621d4 Devices now retain their _plugins upon changing status, no longer crashes on refresh. 2021-10-09 12:47:08 -07:00
Lucas Wang
d3fac298ae Tweaked and improved battery status fetching of remote devices. 2021-10-09 12:47:06 -07:00
Lucas Wang
1dce5b158c Added device type icons and battery statuses. Lots of nil crashes so need to check how things work. 2021-10-09 12:47:02 -07:00
Lucas Wang
55778adeee Remembered devices seem to work well. En/decode working properly. Unpairing working properly. Added ability to swipt-to-delete unreachable remembered devices. 2021-10-09 12:46:56 -07:00
Lucas Wang
1610934b8f Tweaked descriptions in DeviceView() 2021-10-09 12:46:43 -07:00
Lucas Wang
7b6c51f8cd Moupad functionality of Remote Input Plugin seems to be working well. Remote keyboard might need to wait: Keyboard Toolbar (the bar on top of the keyboard) is natively in iOS 15. Plus, a textfield is need to pop the keyboard out (I guess it can be somewhat hidden but I'm not sure how to handle this). 2021-10-09 12:46:40 -07:00
Lucas Wang
2462ac396d Tweaked Clipboard Plugin. 2021-10-09 12:46:36 -07:00
Lucas Wang
1518757b39 Added millisecond precise timestamps. Added clipboard Plugin. 2021-10-09 12:46:33 -07:00
Lucas Wang
b7d6846dd5 Plugin structure re-organized: each device now have its own _plugins objects. 2021-10-09 12:46:30 -07:00
Lucas Wang
7bbcb0708a Tweaked NavigationView with iPad support implementation to be cleaner. Implemented configure devices by direct IP. 2021-10-09 12:46:26 -07:00
Lucas Wang
acec6f9afa Add README.md 2021-10-09 12:46:24 -07:00
Lucas Wang
2b3da21117 Added app theme adjustment and tweaked navigation-links inside navigation bars. 2021-10-09 12:46:23 -07:00
Lucas Wang
9ed0198180 Prevents a second Alert from activating while one is already on screen to prevent UI bug, added print messages accordingly.
Put system sound IDs as constants in Backend.swift
2021-10-09 12:46:19 -07:00
Lucas Wang
60380f7d54 _savedDevices in BackgroundService.m is nil by the time we try to load from it, why? Also added some TODOs regarding peer trusting in LanLinkProvider.m and LanLink.m 2021-10-09 12:45:39 -07:00
Lucas Wang
929dcd4609 Implemented Battery plugin self-report battery status when battery info (charge level, status) changes. 2021-10-09 12:45:35 -07:00
Lucas Wang
c3e1039081 Fixed certificate problem, sending works, but receiving still doesn't seem to work. 2021-10-09 12:45:30 -07:00
Lucas Wang
78e811fb86 Added encoding and decoding for Device objects + some tweaks. Encoding and/or decoding with NSKeyedArchiver/UnArchiver is not working though, returning nil for decode and/or encode. 2021-10-09 12:45:12 -07:00
Lucas Wang
f8c319cfeb First implementation of FindMyPhone and Battery, more testing on the way. 2021-10-09 12:45:07 -07:00
Lucas Wang
8ad7e02a63 Added PluginsService in Swift, bridged to Obj-C to provide plugin services. Ping is working for both receiving and sending.
Local notification has been implemented.
However, both implementations above is suffering from:
When the app enters the background, the LAN Link is NOT destroyed, but it ceases to receive any incoming packets and therefore cannot respond to events when the app is in the background. Checking iOS 13's background scheduler to see what can be done about this.
2021-10-09 12:45:02 -07:00
Lucas Wang
63df776ec6 Upon unpair request from remote device, display "wifi.slash" and exit out to DevicesView, other tweaks have also been made.
Not working for pairing:
Remembered devices work but don't get saved persistently
Disconnecting a remote device (e.g turning off wifi) does not trigger an event automatically, onDeviceReachableStatusChanged() DOES NOT get called
2021-10-09 12:44:56 -07:00
Lucas Wang
6780bea522 Implemented pairing and unpairing alerts, however, some things are not working:
- Paired devices are not being saved
- An unpair initiated from the remote device does not get picked up from the iOS device, the device will only disappear when the list is manually refreshed.
2021-10-09 12:44:52 -07:00
Lucas Wang
9afa5ffc3f Added ConnectedDevicesViewModel() to keep track of methods related to devices pairing and stuff, conforms to backgroundDelegate protocol in backgroundService.m 2021-10-09 12:44:47 -07:00
Lucas Wang
44d42c93b3 Tweaked BackgroundService.m to use UserDefaults instead of InAppSettingsKit, also tweaked it to remove unneeded dependencies. 2021-10-09 12:44:42 -07:00
Weixuan XIAO
7a0ba48389 Upgrading deprecated functions in OpenSSL 1.1.X 2021-10-09 12:44:39 -07:00
Weixuan XIAO
dde4ef9f9a Add OpenSSL deps and key generation 2021-10-09 12:44:39 -07:00
Lucas Wang
2ab1823e35 Added app icon, added comments for Obj-C integration. 2021-10-09 12:44:37 -07:00
Lucas Wang
baa45b3dce Changed Bundle ID and Team to KDE e.V.
Tweaked Obj-C code integration, added LANLink to start on app appear and refresh button in DevicesView()
2021-10-09 12:44:12 -07:00
Lucas Wang
5fe57d2955 File Picker now allows all file types to be imported (iOS 15 support for makefiles is currently in beta) 2021-10-09 12:43:58 -07:00
Lucas Wang
eed64dffb4 Re-implemented file picker completely in SwiftUI (SwiftUI's .fileImporter() is basically SwiftUI's own abstraction of the UIKit representable used in DocumentPickerView.swift). 2021-10-09 12:43:35 -07:00
Lucas Wang
87289ea584 Allows selection of multiple files by the file picker. Current implementation wraps around a UIKit View, looking to replace with entirely SwiftUI implementation soon 2021-10-09 12:43:23 -07:00
Lucas Wang
6238bb3319 Added file picker, current can only pick text files but just need to add more types by adding more UTTypes (> 120 in total) to the array passed into UIDocumentPickerViewController(). See https://developer.apple.com/documentation/uniformtypeidentifiers/uttype 2021-10-09 12:43:08 -07:00
Lucas Wang
1167173f3c Tweaked DeviceDetailsView and added basic JSON structs 2021-10-09 12:42:56 -07:00
Lucas Wang
cbadb0cf39 Modified sample testing devices and layout. 2021-10-09 12:42:23 -07:00
Weixuan XIAO
9d7219fbe2 Add test for interop from Swift to Objc 2021-10-09 12:40:08 -07:00
Lucas Wang
6854f4de6f Updated .gitignore for comprehensive macOS, Swift, and Objective-C projects. 2021-10-09 12:39:33 -07:00
Lucas Wang
ef1b075d1a tweaked to ignore the macOS .DS_Store files 2021-10-09 12:15:24 -07:00
Lucas Wang
7ba064c4be Initial Setup 2021-06-24 17:12:56 -07:00