-
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
App Launching for 4.0 #99
Conversation
This fixes #64 |
_version = 1; | ||
_messageID = 0; | ||
_sessionID = 0; | ||
_recieveQueue = dispatch_queue_create("com.sdl.recieve", DISPATCH_QUEUE_SERIAL); | ||
_sendQueue = dispatch_queue_create("com.sdl.send.defaultpriority", DISPATCH_QUEUE_SERIAL); | ||
prioritizedCollection = [SDLPrioritizedObjectCollection new]; | ||
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please get rid of these.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I had to guess, I would say they were automatic Xcode changes in response to spacing inconsistencies? I can't really tell what happened here.
return nil; | ||
} | ||
|
||
return JSONDicationary; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Misspelling
Conflicts: SmartDeviceLink-iOS/SmartDeviceLink-iOS.xcodeproj/project.pbxproj SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractProtocol.m SmartDeviceLink-iOS/SmartDeviceLink/SDLDimension.h SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocol.m SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolHeader.m SmartDeviceLink-iOS/SmartDeviceLink/SDLProxy.m SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessage.m SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessageType.h SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessageType.m SmartDeviceLink-iOS/SmartDeviceLink/SDLRequestType.h SmartDeviceLink-iOS/SmartDeviceLink/SDLRequestType.m SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolHeader.h SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolHeader.m
Fix 'task' in SDLProxy being captured by block when it wasn't initialized
@hugh22 I merged in the current develop code to this branch, which appears to make following along with the code changes much easier. I'm pretty confident that the merge went well, but there were a number of errors to be resolved so just keep that in mind as well. |
Fix a bug in TCPCallback to no longer attempt to parse zero length data
Conflicts: SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessageType.h
Check for known message types, fail on unknown message types
@hugh22 If you could take another look and see if your issues are resolved, that would be great! |
Looks good to me. |
Conflicts: SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolHeader.h
Based on #45, refactored for new project structure
🐱 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