-
Notifications
You must be signed in to change notification settings - Fork 103
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Application Launching (SDL 4.0) #45
Conversation
This was originally #33, which was mistakenly merged (and was reverted). |
Add a CONTRIBUTING file
Update link names on README
…rts_Everything Remove SmartDeviceLink.h import from SDLRPCMessage.m
Create methods to handle SystemRequest for Query Apps and Launch App
Fix deprecations and build errors
Some documentation of methods
Create methods to handle SystemRequest for Query Apps and Launch App
Fix deprecations and build errors
Some documentation of methods
7f1ebf9
to
0485e1a
Compare
Remove unneeded todo
All methods are class, so no stored property is needed
Core is not successfully parsing the onHMIStatus notification because the audioStreamingState and systemContext are not set and they are required parameters. When I add
to The other issue we've found is that core and iOS both have a checks for protocol v4
and
it seems like both are sending v2, so the QUERY_APPS never happens in the current implementation :( |
Changed notification observed from will resign active to did enter background. Fixed an issue with refactoring. Signed-off-by: Justin Dickow <jjdickow@gmail.com>
Add QUERY_APPS and LAUNCH_APP request types to the values array of SDLRequestType enum Add an autoreleasepool to the query apps filtering loop Test the launch app url before blindly attempting to open it
Add [[NSNotificationCenter defaultCenter] removeObserver:self]; to |
Closed in favor of #99 |
💥 Not Ready to Merge 💥
Summary
This PR will involve several pieces to allow an iOS application to track available applications on the users phone that can be launched with SmartDeviceLink. This will involve 4 major pieces.
In Depth
Tracking Foregrounded Application
The SDL Proxy object, upon opening a connection, will poll the application for its state, and send that across. It will also immediately set up observers on application state changes. Upon firing of those observers, it will recheck the application for its state, and push a new notification to the HU.
This PR also introduces the ability to send notifications from the Mobile API (issue #34). This is required because application state changes are sent via a pre-existing RPC Notification that was previously only sent from the HU, onHMIStatus. FULL is equivalent to foreground, LIMITED is equivalent to background.
Query Apps Server HTTP Request
The HU will request, via a OnSystemRequest, that the mobile device retrieve an application list from the server. The application may (this has not yet been determined) cache the response for a specified period.
Query Apps Filter Installed Applications
The server will respond with a set response, described here which will be parsed by the library. The library will then run a system call to determine which apps are installed on the phone. The library will then filter the list passed by the server so that only installed apps are represented, and forward it on to the HU.
Launch App
The HU will send an OnSystemRequest with a URL field that contains the URL scheme of the app they wish to launch to the foregrounded application. The library running in that application will then attempt to launch the application specified by the url scheme passed in. This will, of course, foreground that application, and background the application making the call.
TODO
General
See PR Feature/2.3.1 #67See If an SDLRPCMessage object is initialized using initWithName, the messageType is always set to "request" #64Tracking Foreground State
Query Apps Server HTTP Request
Query App Filter Installed Applications
Launch App
Other