Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
joeljfischer committed Apr 14, 2021
2 parents 8b1bc1f + 629ce73 commit f6b7099
Show file tree
Hide file tree
Showing 455 changed files with 24,393 additions and 3,661 deletions.
28 changes: 21 additions & 7 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on: [push, pull_request]

env:
PROJECT: 'SmartDeviceLink-iOS.xcodeproj'
DESTINATION: 'platform=iOS Simulator,name=iPhone 11,OS=14.1'
DESTINATION: 'platform=iOS Simulator,name=iPhone 12,OS=14.4'

jobs:
build:
Expand All @@ -27,7 +27,7 @@ jobs:

# Select the Xcode version (the platform/simulator/OS available for testing depend on the Xcode version)
- name: Select Xcode version
run: sudo xcode-select -switch /Applications/Xcode_12.1.app
run: sudo xcode-select -switch /Applications/Xcode_12.4.app

- name: Build
run: set -o pipefail && xcodebuild -scheme "${{ matrix.scheme }}" -destination "$DESTINATION" build | xcpretty --color --simple
Expand All @@ -46,7 +46,7 @@ jobs:

# Select the Xcode version (the platform/simulator/OS available for testing depend on the Xcode version)
- name: Select Xcode version
run: sudo xcode-select -switch /Applications/Xcode_12.1.app
run: sudo xcode-select -switch /Applications/Xcode_12.4.app

- name: Checkout repository
uses: actions/checkout@v2.3.1
Expand All @@ -63,8 +63,7 @@ jobs:

- name: Installing dependencies
if: steps.carthage-cache.outputs.cache-hit != 'true'
run: bash carthage-build.sh --no-use-binaries --platform iOS --cache-builds
# run: carthage bootstrap --no-use-binaries --platform iOS --cache-builds
run: bash carthage-build.sh bootstrap --no-use-binaries --platform ios --cache-builds

# Split build into build-only and test-only as it is faster than building and running in one step
- name: Building unit tests
Expand All @@ -76,5 +75,20 @@ jobs:
# Upload coverage reports to Codecov
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1.0.10
with:
yml: ./codecov.yml

rpcTest:
name: RPC Generator Tests
runs-on: ubuntu-20.04
strategy:
fail-fast: false
steps:
- name: Checkout repository
uses: actions/checkout@v2.3.1
with:
submodules: true

- name: Install dependencies
run: python3 -m pip install -r generator/requirements.txt

- name: Run RPC generator tests
run: python3 generator/test/runner.py
78 changes: 78 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,82 @@
# Changelog
## 7.1.0 (Since RC 1)
### Versions
* Supports [SDL RPC Spec 7.1.0](https://github.com/smartdevicelink/rpc_spec/releases/tag/7.1.0) and [SDL Protocol Spec 5.4.0](https://github.com/smartdevicelink/protocol_spec/releases/tag/5.4.0).

### Testing
* Xcode 12.4
* iOS 13.7 and 14.4.1
* Core:
* Manticore (Core v7.0.0, Generic HMI v0.9.0)
* Ford Sync 3.4 (19353_DEVTEST)
* Ford Sync 3.0 (17276_DEVTEST)
* Ford Sync 4.0 (20016_DEVTEST)
* Core v7.1.0-develop with sdl_hmi v5.5.0-develop and generic_hmi v0.10.0-develop

### Enhancements
* Updated the Swift name of the system info callback from `didReceive(systemInfo:)` to `didReceiveSystemInfo(_:)`.

### Bug Fixes
* Fixed video streaming apps not resuming when switching between them (https://github.com/smartdevicelink/sdl_ios/issues/1944)
* Fixed lock screen not being dismissible when the lock screen display mode is always but `enableDismissGesture = YES` (https://github.com/smartdevicelink/sdl_ios/issues/1948)
* Fixed custom video encoder settings not overriding default video encoder settings (https://github.com/smartdevicelink/sdl_ios/issues/1950)

### Example Apps
* Updated some coloring of the example apps to use more readable colors.
* Fixed example app's menu not displaying correctly when the app is exited (https://github.com/smartdevicelink/sdl_ios/issues/1967).

## 7.1.0 Release Candidate 1
### Versions
* Supports [SDL RPC Spec 7.1.0-in-progress](https://github.com/smartdevicelink/rpc_spec/commit/6b98355357b5b1893bbb59cb668d28545023457c) and [SDL Protocol Spec 5.4.0-in-progress](https://github.com/smartdevicelink/protocol_spec/commit/70e5dec7bbf8e2140cc2602e67f458174c282405).

### Enhancements
* Added the ability to show menu cells and choice set cells with the same `title` (https://github.com/smartdevicelink/sdl_ios/issues/1024)
* Added the ability to display media time skip buttons instead of the standard track skip buttons, e.g. for podcast apps (https://github.com/smartdevicelink/sdl_ios/issues/1080)
* Added the ability to use a numeric keyboard layout, mask input characters, and provide custom keys on a keyboard (https://github.com/smartdevicelink/sdl_ios/issues/1356)
* Added the ability to set a custom playback rate for the media clock timer (https://github.com/smartdevicelink/sdl_ios/issues/1377)
* Update vehicle data `BodyInformation` (https://github.com/smartdevicelink/sdl_ios/issues/1477)
* Added new vehicle data `SeatOccupancy` (https://github.com/smartdevicelink/sdl_ios/issues/1487)
* Main menu cells and subcells now have additional available text and image properties (https://github.com/smartdevicelink/sdl_ios/issues/1510)
* Added new vehicle data `ClimateData` (https://github.com/smartdevicelink/sdl_ios/issues/1511)
* `VideoStreamingCapability` now allows the module to tell an app its preferred frame rate (https://github.com/smartdevicelink/sdl_ios/issues/1553)
* Added the ability to present `Alert` RPCs through the screen manager (https://github.com/smartdevicelink/sdl_ios/issues/1579)
* Added new `TextFieldName` enums for `ShowConstantTBT` (https://github.com/smartdevicelink/sdl_ios/issues/1676)
* Added the ability for the module and app to declare multiple possible video streaming capabilities so that features like Picture-in-Picture and Split-Screen can be supported (https://github.com/smartdevicelink/sdl_ios/issues/1730)
* `VideoStreamingCapability` parameters will now be merged with the app's preferred streaming settings to use the lowest settings (https://github.com/smartdevicelink/sdl_ios/issues/1860)
* Updated `ShowConstantTBT` RPC description (https://github.com/smartdevicelink/sdl_ios/issues/1863)
* Added the ability to disconnect based on received vehicle details, including before the app registers on 7.1+ modules (https://github.com/smartdevicelink/sdl_ios/issues/1876)
* Fixed cases where setting the timeout of an `SDLChoiceSet` could fail (https://github.com/smartdevicelink/sdl_ios/issues/1891)
* Deprecated `SDLStaticIcon.auxillaryAudio` and add a fixed spelling of `SDLStaticIcon.auxilliaryAudio` (https://github.com/smartdevicelink/sdl_ios/issues/1938)

### Bug Fixes
* We changed a `ListFiles` workaround in `SDLFileManager` to only activate on RPC v4.3.1 and below connections (https://github.com/smartdevicelink/sdl_ios/issues/827)
* Fixed overwriting `SDLArtwork` in the manager system not working properly (https://github.com/smartdevicelink/sdl_ios/issues/1117)
* Fixed soft buttons being delayed on Ford Sync 3.0 and increased SDL CPU usage (https://github.com/smartdevicelink/sdl_ios/issues/1778)
* Deprecated `SDLKeyboardProperties.autoCompleteText` in favor of `SDLKeyboardProperties.autoCompleteList` (https://github.com/smartdevicelink/sdl_ios/issues/1784)
* Setting `SDLTouchManager.tapTimeThreshold` to `0.0` will no longer cause a crash (https://github.com/smartdevicelink/sdl_ios/issues/1798)
* Fixed button notifications not working properly the first button press on Ford Sync 3.0 (https://github.com/smartdevicelink/sdl_ios/issues/1793)
* Fixed a number of potential issues around the iAP transport seen on iOS 14 devices (https://github.com/smartdevicelink/sdl_ios/issues/1799, https://github.com/smartdevicelink/sdl_ios/issues/1809, https://github.com/smartdevicelink/sdl_ios/issues/1892, https://github.com/smartdevicelink/sdl_ios/issues/1893)
* Fixed cases when the first `StartService` protocol message is not version 1 (https://github.com/smartdevicelink/sdl_ios/issues/1837)
* Refactored the `SDLVoiceCommandManager` to use queues (https://github.com/smartdevicelink/sdl_ios/issues/1841)
* Fixed `SDLArtwork` with a static icon not copying (https://github.com/smartdevicelink/sdl_ios/issues/1846)
* Fixed `SDLDisplayCapabilities` should be deprecated (https://github.com/smartdevicelink/sdl_ios/issues/1857)
* Fixed uploading the blank artwork every time instead of persisting it (https://github.com/smartdevicelink/sdl_ios/issues/1864)
* We now throw an exception if you try to display two `SDLSoftButtonObject`s with the same name (https://github.com/smartdevicelink/sdl_ios/issues/1897)
* Fixed `SDLTextFieldName.timeToDestination` documentation (https://github.com/smartdevicelink/sdl_ios/issues/1915)
* Fixed uploaded files not being divided into multiple RPCs correctly (https://github.com/smartdevicelink/sdl_ios/issues/1927)

### RPC Generator
* Fixed generator not adding enum parameter descriptions (https://github.com/smartdevicelink/sdl_ios/issues/1751)
* Generator now correctly generates enums with `NS_TYPED_ENUM` (https://github.com/smartdevicelink/sdl_ios/issues/1834)
* Fixed generator creating incorrect struct parameter names (https://github.com/smartdevicelink/sdl_ios/issues/1905)

### Other
* Fixed example app template resetting when HMI level changes (https://github.com/smartdevicelink/sdl_ios/issues/1827)
* Fixed RPC Generator unit tests failing (https://github.com/smartdevicelink/sdl_ios/issues/1845)
* Fixed failing unit tests on CI (https://github.com/smartdevicelink/sdl_ios/issues/1880, https://github.com/smartdevicelink/sdl_ios/issues/1884, https://github.com/smartdevicelink/sdl_ios/issues/1925, https://github.com/smartdevicelink/sdl_ios/issues/1929)
* Fixed test cases using the `OCMock` deprecated `observerMock` (https://github.com/smartdevicelink/sdl_ios/issues/1913)
* Removed snapshot test cases (https://github.com/smartdevicelink/sdl_ios/issues/1921)

## 7.0.0
### Versions
* Supports [SDL RPC Spec 7.0.0](https://github.com/smartdevicelink/rpc_spec/commit/eead323f356be713d2b0f0a253f3f3d36143460a) and [SDL Protocol Spec 5.3.0](https://github.com/smartdevicelink/protocol_spec/tree/release/5.3.0).
Expand Down
3 changes: 1 addition & 2 deletions Cartfile.private
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
github "Quick/Quick" ~> 3.0
github "Quick/Nimble" == 9.0.0-rc.3
github "Quick/Nimble" ~> 9.0.0
github "erikdoe/ocmock" ~> 3.7
github "uber/ios-snapshot-test-case" ~> 6.2
5 changes: 2 additions & 3 deletions Cartfile.resolved
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
github "Quick/Nimble" "v9.0.0-rc.3"
github "Quick/Nimble" "v9.0.0"
github "Quick/Quick" "v3.0.0"
github "erikdoe/ocmock" "v3.7.1"
github "uber/ios-snapshot-test-case" "6.2.0"
github "erikdoe/ocmock" "v3.8.1"
31 changes: 0 additions & 31 deletions DEPENDENCIES.md
Original file line number Diff line number Diff line change
Expand Up @@ -536,34 +536,3 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

### FBSnapshotTestCase
BSD License

For the FBSnapshotTestCase software

Copyright (c) 2013, Facebook, Inc.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name Facebook nor the names of its contributors may be used to
endorse or promote products derived from this software without specific
prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 changes: 15 additions & 11 deletions Example Apps/Example ObjC/AlertManager.m
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,23 @@
@implementation AlertManager

+ (void)sendAlertWithManager:(SDLManager *)sdlManager image:(nullable NSString *)imageName textField1:(NSString *)textField1 textField2:(nullable NSString *)textField2 {
SDLSoftButton *okSoftButton = [[SDLSoftButton alloc] initWithType:SDLSoftButtonTypeText text:AlertOKButtonText image:nil highlighted:YES buttonId:1 systemAction:nil handler:nil];
SDLAlert *alert = [[SDLAlert alloc] initWithAlertText1:textField1 alertText2:textField2 alertText3:nil softButtons:@[okSoftButton] playTone:YES ttsChunks:nil duration:5000 progressIndicator:NO alertIcon:nil cancelID:0];
SDLSoftButtonObject *okSoftButton = [[SDLSoftButtonObject alloc] initWithName:AlertOKButtonText text:AlertOKButtonText artwork:nil handler:nil];
SDLAlertView *alert = [[SDLAlertView alloc] initWithText:textField1 buttons:@[okSoftButton]];
alert.secondaryText = textField2;

if (imageName == nil) {
[sdlManager sendRequest:alert];
} else {
[self sdlex_sendImageWithName:imageName sdlManager:sdlManager completionHandler:^(BOOL success, NSString * _Nullable artworkName) {
if (success) {
alert.alertIcon = [[SDLImage alloc] initWithName:artworkName isTemplate:YES];
}
[sdlManager sendRequest:alert];
}];
SDLAlertAudioData *alertAudioData = [[SDLAlertAudioData alloc] initWithSpeechSynthesizerString:@"alert"];
alertAudioData.playTone = YES;
alert.audio = alertAudioData;

if (imageName != nil) {
alert.icon = [SDLArtwork artworkWithImage:[[UIImage imageNamed:imageName] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] asImageFormat:SDLArtworkImageFormatPNG];
}

[sdlManager.screenManager presentAlert:alert withCompletionHandler:^(NSError * _Nullable error) {
if (error != nil) {
SDLLogD(@"There was an error presenting the alert: %@", error);
}
}];
}

+ (void)sendSubtleAlertWithManager:(SDLManager *)sdlManager image:(nullable NSString *)imageName textField1:(NSString *)textField1 textField2:(nullable NSString *)textField2 {
Expand Down
6 changes: 3 additions & 3 deletions Example Apps/Example ObjC/ConnectionIAPTableViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -73,15 +73,15 @@ - (void)proxyManagerDidChangeState:(ProxyState)newState {

switch (newState) {
case ProxyStateStopped: {
newColor = [UIColor redColor];
newColor = [UIColor colorWithRed:(255.0 / 255.0) green:(69.0 / 255.0) blue:(58.0 / 255.0) alpha:1.0];
newTitle = @"Connect";
} break;
case ProxyStateSearchingForConnection: {
newColor = [UIColor blueColor];
newColor = [UIColor colorWithRed:(255.0 / 255.0) green:(159.0 / 255.0) blue:(10.0 / 255.0) alpha:1.0];
newTitle = @"Stop Searching";
} break;
case ProxyStateConnected: {
newColor = [UIColor greenColor];
newColor = [UIColor colorWithRed:(50.0 / 255.0) green:(215.0 / 255.0) blue:(75.0 / 255.0) alpha:1.0];
newTitle = @"Disconnect";
} break;
default: break;
Expand Down
6 changes: 3 additions & 3 deletions Example Apps/Example ObjC/ConnectionTCPTableViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -103,15 +103,15 @@ - (void)proxyManagerDidChangeState:(ProxyState)newState {

switch (newState) {
case ProxyStateStopped: {
newColor = [UIColor redColor];
newColor = [UIColor colorWithRed:(255.0 / 255.0) green:(69.0 / 255.0) blue:(58.0 / 255.0) alpha:1.0];
newTitle = @"Connect";
} break;
case ProxyStateSearchingForConnection: {
newColor = [UIColor blueColor];
newColor = [UIColor colorWithRed:(255.0 / 255.0) green:(159.0 / 255.0) blue:(10.0 / 255.0) alpha:1.0];
newTitle = @"Stop Searching";
} break;
case ProxyStateConnected: {
newColor = [UIColor greenColor];
newColor = [UIColor colorWithRed:(50.0 / 255.0) green:(215.0 / 255.0) blue:(75.0 / 255.0) alpha:1.0];
newTitle = @"Disconnect";
} break;
default: break;
Expand Down
Loading

0 comments on commit f6b7099

Please sign in to comment.