summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRHenigan <heniganr1@gmail.com>2020-08-26 14:48:37 -0400
committerRHenigan <heniganr1@gmail.com>2020-08-26 14:48:37 -0400
commitec68a6d4445785b80365ae058262d76e49f808f2 (patch)
tree35eea182412e0e3ec1ef1dfa9d1267a231e997bd
parente18faa8780084db2f7aeb02c3fb2286fd67c6ab9 (diff)
parent493539804e8b64df69c4fdc709f960846e47e1c0 (diff)
downloadsdl_android-ec68a6d4445785b80365ae058262d76e49f808f2.tar.gz
Merge branch 'develop' into feature/0308_ReasonParamToProtocolNAKs
-rw-r--r--.github/workflows/android.yml2
-rw-r--r--README.md4
-rw-r--r--android/build.gradle2
-rw-r--r--android/gradle.properties2
-rw-r--r--android/gradle/wrapper/gradle-wrapper.properties4
-rwxr-xr-xandroid/hello_sdl_android/build.gradle8
-rwxr-xr-xandroid/hello_sdl_android/src/main/java/com/sdl/hellosdlandroid/MainActivity.java2
-rw-r--r--android/sdl_android/build.gradle36
-rw-r--r--android/sdl_android/src/androidTest/assets/json/GetVehicleData.json23
-rw-r--r--android/sdl_android/src/androidTest/assets/json/StreamRPC.json10
-rw-r--r--android/sdl_android/src/androidTest/assets/json/SubscribeVehicleData.json17
-rw-r--r--android/sdl_android/src/androidTest/assets/json/SubtleAlert.json57
-rw-r--r--android/sdl_android/src/androidTest/assets/json/UnsubscribeVehicleData.json17
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/SdlManagerTests.java8
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/audio/AudioStreamManagerTest.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/file/FileManagerTests.java32
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/file/filetypes/SdlArtworkTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/file/filetypes/SdlFileTests.java12
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lifecycle/LifecycleConfigurationUpdateTest.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lifecycle/RpcConverterTest.java14
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lifecycle/SystemCapabilityManagerTests.java8
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lockscreen/LockScreenConfigTests.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lockscreen/LockScreenDeviceIconManagerTests.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lockscreen/LockScreenManagerTests.java6
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/permission/PermissionManagerTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/ScreenManagerTests.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/SoftButtonManagerTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/SubscribeButtonManagerTest.java8
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/TextAndGraphicManagerTests.java6
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/CheckChoiceVROptionalOperationTests.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceCellTests.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetLayoutTests.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetManagerTests.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetTests.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/DeleteChoicesOperationTests.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/PreloadChoicesOperationTests.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/PresentChoiceSetOperationTests.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/PresentKeyboardOperationTests.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuCellTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuConfigurationTests.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuManagerTests.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/RunScoreTests.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/SubCellCommandListTests.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/VoiceCommandManagerTests.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/VoiceCommandTests.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/video/VideoStreamManagerTests.java10
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/protocol/SdlPacketTests.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/protocol/SdlProtocolTests.java83
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/BaseRpcTests.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/SdlConnection/SdlSessionTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/TestValues.java29
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/Validator.java87
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/VehicleDataHelper.java36
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/protocol/BinaryFrameHeaderTests.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/LockScreenManagerTest.java142
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/RPCRequestTest.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SdlProxyBaseTests.java30
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/RPCConstructorsTests.java6
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/DynamicUpdateCapabilitiesTests.java95
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/GearStatusTests.java71
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/WindowCapabilityTests.java23
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/WindowStateTests.java52
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/WindowStatusTests.java53
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/AppHmiTypeTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/AppInterfaceUnregisteredReasonTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/ImageFieldNameTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/PredefinedLayoutTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/PrndlTests.java10
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/SdlDisconnectedReasonTests.java9
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/TextFieldNameTests.java3
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/TransmissionTypeTests.java92
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/VehicleDataTypeTests.java14
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/VrCapabilitiesTests.java1
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnLockScreenStatusTests.java92
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnSdlChoiceChosenTests.java86
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnStreamRPCTests.java83
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnUpdateFileTest.java73
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnUpdateSubMenuTest.java78
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnVehicleDataTests.java66
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/AddCommandTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/AddSubmenuTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/AlertManeuverTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/AlertTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ButtonPressTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/CancelInteractionTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ChangeRegistrationTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/CloseApplicationTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/CreateInteractionChoiceSetTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/CreateWindowTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DeleteCommandTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DeleteFileTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DeleteInteractionChoiceSetTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DeleteSubMenuTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DeleteWindowTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DiagnosticMessageTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DialNumberTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/EndAudioPassThruTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetAppServiceDataTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetDTCsTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetFileTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetInteriorVehicleDataConsentTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetInteriorVehicleDataTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetSystemCapabilityTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetVehicleDataTests.java21
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetWayPointsTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ListFilesTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/PerformAppServiceInteractionTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/PerformAudioPassThruTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/PerformInteractionTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/PublishAppServiceTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/PutFileTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ReadDidTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/RegisterAppInterfaceTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ReleaseInteriorVehicleDataModuleTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ResetGlobalPropertiesTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ScrollableMessageTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SendLocationTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SetAppIconTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SetDisplayLayoutTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SetGlobalPropertiesTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SetInteriorVehicleDataTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SetMediaClockTimerTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ShowAppMenuTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ShowConstantTbtTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ShowTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SliderTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SpeakTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubscribeButtonTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubscribeVehicleDataTests.java18
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubscribeWayPointsTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubtleAlertTests.java202
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SystemRequestTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnpublishAppServiceTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnregisterAppInterfaceTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnsubscribeButtonTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnsubscribeVehicleDataTests.java22
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnsubscribeWayPointsTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UpdateTurnListTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/AddCommandResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/AddSubmenuResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/AlertManeuverResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/AlertResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ButtonPressResponseTest.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/CancelInteractionResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ChangeRegistrationResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/CloseApplicationResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/CreateWindowResponseTest.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DeleteCommandResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DeleteFileResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DeleteInteractionChoiceSetResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DeleteSubMenuResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DeleteWindowResponseTest.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DiagnosticMessageResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DialNumberResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/EndAudioPassThruResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetAppServiceDataResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetDTCsResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetFileResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetInteriorVehicleDataConsentResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetInteriorVehicleDataResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetSystemCapabilityResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetVehicleDataResponseTests.java83
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetWayPointsResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ListFilesResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/PerformAppServiceInteractionResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/PerformAudioPassThruResponseTest.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/PerformInteractionResponseTest.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/PublishAppServiceResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/PutFileResponseTest.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ReadDIDResponseTest.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/RegisterAppInterfaceResponseTest.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ReleaseInteriorVehicleDataModuleResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ResetGlobalPropertiesResponseTest.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ScrollableMessageResponseTest.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SendLocationResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SetAppIconResponseTest.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SetDisplayLayoutResponseTest.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SetGlobalPropertiesResponseTest.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SetInteriorVehicleDataResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SetMediaClockTimerResponseTest.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ShowAppMenuResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ShowConstantTbtResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ShowResponseTest.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SliderResponseTest.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SpeakResponseTest.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubscribeButtonResponseTest.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubscribeVehicleDataResponseTest.java33
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubscribeWaypointsResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubtleAlertResponseTests.java (renamed from android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/StreamRPCResponseTests.java)62
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SystemRequestResponseTest.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnpublishAppServiceResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnregisterAppInterfaceResponseTest.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnsubscribeButtonResponseTest.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnsubscribeVehicleDataResponseTest.java37
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnsubscribeWayPointsResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UpdateTurnListResponseTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/security/SdlSecurityBaseTest.java71
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/AbstractPacketizerTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/MockInterfaceBroker.java47
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/StreamPacketizerTests.java6
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/StreamRPCPacketizerTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/video/RTPH264PacketizerTest.java6
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/video/SdlRemoteDisplayTest.java10
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/video/VideoStreamingParametersTest.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/transport/MultiplexTransportConfigTests.java10
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/util/CompareUtilsTest.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/util/SdlAppInfoTests.java6
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/util/VersionTest.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/utl/AndroidToolsTests.java8
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/LocalRouterServiceTests.java12
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/MultiplexTransportTest.java6
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/RSVTestCase.java82
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/RegisteredAppTests.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/SdlRouterServiceTests.java6
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/TransportBrokerTest.java14
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/TransportManagerTests.java8
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/util/MediaStreamingStatusTests.java16
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/SdlConnection/SdlSession.java117
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/ProxyBridge.java31
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/SdlManager.java4
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/AudioDecoder.java4
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/AudioDecoderCompat.java2
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/AudioStreamManager.java6
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/BaseAudioDecoder.java2
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/file/FileManager.java2
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlArtwork.java2
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlFile.java10
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/lifecycle/EncryptionLifecycleManager.java2
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java28
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/lockscreen/LockScreenConfig.java2
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/lockscreen/LockScreenManager.java16
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/permission/PermissionManager.java2
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/screen/ScreenManager.java2
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/screen/SoftButtonManager.java2
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/screen/SubscribeButtonManager.java2
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/screen/TextAndGraphicManager.java2
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetManager.java2
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/video/VideoStreamManager.java2
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/protocol/SdlProtocol.java2
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/proxy/LockScreenManager.java23
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/proxy/RPCRequestFactory.java6
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java412
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/streaming/StreamPacketizer.java2
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/streaming/StreamRPCPacketizer.java175
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/trace/SdlTrace.java406
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/transport/MultiplexBluetoothTransport.java2
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/transport/RouterServiceValidator.java2
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlBroadcastReceiver.java42
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java11
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/transport/utl/SdlDeviceListener.java2
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/util/AndroidTools.java8
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/util/IntegrationValidator.java231
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/util/MediaStreamingStatus.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/SdlConnection/BaseSdlSession.java189
-rw-r--r--base/src/main/java/com/smartdevicelink/SdlConnection/ISdlSessionListener.java (renamed from base/src/main/java/com/smartdevicelink/SdlConnection/ISdlConnectionListener.java)91
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/BaseSdlManager.java25
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/BaseSubManager.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/ServiceEncryptionListener.java4
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/StreamingStateMachine.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/audio/BaseAudioStreamManager.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/file/BaseFileManager.java79
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseEncryptionLifecycleManager.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseLifecycleManager.java254
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseSystemCapabilityManager.java9
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleConfigurationUpdate.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/lifecycle/OnSystemCapabilityListener.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/permission/BasePermissionManager.java4
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/permission/OnPermissionChangeListener.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/permission/PermissionElement.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/permission/PermissionFilter.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/permission/PermissionStatus.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/BaseScreenManager.java4
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/BaseSoftButtonManager.java4
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/BaseSubscribeButtonManager.java27
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/BaseTextAndGraphicManager.java12
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/SoftButtonObject.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/SoftButtonReplaceOperation.java17
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/SoftButtonState.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/SoftButtonTransitionOperation.java8
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/choiceset/BaseChoiceSetManager.java6
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/choiceset/CheckChoiceVROptionalOperation.java43
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/choiceset/ChoiceCell.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSet.java4
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/choiceset/DeleteChoicesOperation.java19
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/choiceset/PreloadChoicesOperation.java14
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/choiceset/PresentChoiceSetOperation.java38
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/choiceset/PresentKeyboardOperation.java37
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseMenuManager.java89
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseVoiceCommandManager.java13
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/menu/MenuCell.java4
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/menu/MenuConfiguration.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/menu/VoiceCommand.java4
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/video/BaseVideoStreamManager.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/protocol/IProtocolListener.java63
-rw-r--r--base/src/main/java/com/smartdevicelink/protocol/ISdlProtocol.java92
-rw-r--r--base/src/main/java/com/smartdevicelink/protocol/SdlProtocolBase.java233
-rw-r--r--base/src/main/java/com/smartdevicelink/protocol/enums/FunctionID.java15
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/RPCResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/interfaces/IProxyListenerBase.java9
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/interfaces/ISdl.java3
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/AddCommand.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/AddCommandResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/AddSubMenu.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/AddSubMenuResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/AirbagStatus.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/AlertManeuverResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/AlertResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/AppInfo.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/AppServiceCapability.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/AppServiceData.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/AppServiceManifest.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/AppServiceRecord.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/AppServicesCapabilities.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/AudioControlCapabilities.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/AudioPassThruCapabilities.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/BeltStatus.java65
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/BodyInformation.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ButtonCapabilities.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ButtonPress.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ButtonPressResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/CancelInteraction.java10
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/CancelInteractionResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ChangeRegistration.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ChangeRegistrationResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/Choice.java18
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ClimateControlCapabilities.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/CloseApplicationResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/CloudAppProperties.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ClusterModeStatus.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/Coordinate.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/CreateInteractionChoiceSet.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/CreateInteractionChoiceSetResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/CreateWindow.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/CreateWindowResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/DIDResult.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteCommand.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteCommandResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteFile.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteFileResponse.java80
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteInteractionChoiceSet.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteInteractionChoiceSetResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteSubMenu.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteSubMenuResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteWindow.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteWindowResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/DeviceInfo.java64
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/DeviceStatus.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/DiagnosticMessage.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/DiagnosticMessageResponse.java15
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/DialNumber.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/DialNumberResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/DisplayCapabilities.java4
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/DynamicUpdateCapabilities.java137
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ECallInfo.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/EmergencyEvent.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/EndAudioPassThruResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/EqualizerSettings.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/GPSData.java97
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/GearStatus.java150
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/GenericResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/GetAppServiceData.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/GetAppServiceDataResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/GetCloudAppProperties.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/GetCloudAppPropertiesResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/GetDTCs.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/GetDTCsResponse.java17
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/GetFile.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/GetFileResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/GetInteriorVehicleData.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/GetInteriorVehicleDataConsent.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/GetInteriorVehicleDataConsentResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/GetInteriorVehicleDataResponse.java17
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/GetSystemCapability.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/GetSystemCapabilityResponse.java17
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleData.java219
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleDataResponse.java190
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/GetWayPoints.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/GetWayPointsResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/Grid.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/HMIPermissions.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/HMISettingsControlCapabilities.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/HapticRect.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/HeadLampStatus.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/Image.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ImageField.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ImageResolution.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/LightCapabilities.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/LightControlCapabilities.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/LightControlData.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/LightState.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ListFilesResponse.java79
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/MassageCushionFirmness.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/MassageModeData.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/MenuParams.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ModuleData.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ModuleInfo.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/MyKey.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/NavigationInstruction.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/NavigationServiceData.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnAppInterfaceUnregistered.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnAppServiceData.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnButtonEvent.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnButtonPress.java80
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnCommand.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnDriverDistraction.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnHMIStatus.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnHashChange.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnInteriorVehicleData.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnKeyboardInput.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnLanguageChange.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnLockScreenStatus.java106
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnPermissionsChange.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnRCStatus.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnSdlChoiceChosen.java190
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnStreamRPC.java67
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnSubtleAlertPressed.java (renamed from base/src/main/java/com/smartdevicelink/proxy/rpc/StreamRPCResponse.java)53
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnSystemCapabilityUpdated.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnSystemRequest.java20
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnTBTClientState.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnTouchEvent.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnUpdateFile.java111
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnUpdateSubMenu.java142
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java234
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnWayPointChange.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ParameterPermissions.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/PerformAppServiceInteraction.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/PerformAppServiceInteractionResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/PerformAudioPassThru.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/PerformAudioPassThruResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/PerformInteraction.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/PerformInteractionResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/PermissionItem.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/PresetBankCapabilities.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/PublishAppService.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/PublishAppServiceResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/PutFile.java19
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/PutFileResponse.java80
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/RadioControlCapabilities.java4
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/RadioControlData.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ReadDID.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ReadDIDResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/Rectangle.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/RegisterAppInterface.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/RegisterAppInterfaceResponse.java15
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ReleaseInteriorVehicleDataModule.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ReleaseInteriorVehicleDataModuleResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ResetGlobalProperties.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ResetGlobalPropertiesResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ScreenParams.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ScrollableMessage.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ScrollableMessageResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SdlMsgVersion.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SeatControlCapabilities.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SeatControlData.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SeatMemoryAction.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SendHapticDataResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SendLocationResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SetAppIcon.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SetAppIconResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SetCloudAppProperties.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SetCloudAppPropertiesResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SetDisplayLayout.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SetDisplayLayoutResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SetGlobalPropertiesResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SetInteriorVehicleData.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SetInteriorVehicleDataResponse.java17
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SetMediaClockTimer.java4
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SetMediaClockTimerResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/Show.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ShowAppMenuResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ShowConstantTbtResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ShowResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SingleTireStatus.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/Slider.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SliderResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SoftButton.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SoftButtonCapabilities.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/Speak.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SpeakResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/StartTime.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeButton.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeButtonResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleData.java247
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleDataResponse.java95
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeWayPointsResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SubtleAlert.java275
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SubtleAlertResponse.java97
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SystemCapability.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SystemRequest.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SystemRequestResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/TTSChunk.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/Temperature.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/TemplateConfiguration.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/TextField.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/TireStatus.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/TouchCoord.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/TouchEvent.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/TouchEventCapabilities.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/UnpublishAppService.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/UnpublishAppServiceResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/UnregisterAppInterfaceResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeButton.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeButtonResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleData.java151
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleDataResponse.java96
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeWayPointsResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/UpdateTurnListResponse.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/VehicleDataResult.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/VideoStreamingFormat.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/VrHelpItem.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/WeatherAlert.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/WeatherServiceData.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/WindowCapability.java23
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/WindowState.java140
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/WindowStatus.java136
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/WindowTypeCapabilities.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/enums/AppHMIType.java68
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/enums/AppInterfaceUnregisteredReason.java72
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/enums/ImageFieldName.java12
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/enums/PRNDL.java73
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/enums/PredefinedLayout.java6
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/enums/SdlDisconnectedReason.java66
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/enums/TextFieldName.java18
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/enums/TransmissionType.java85
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/enums/VehicleDataType.java14
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/enums/VrCapabilities.java71
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/listeners/OnMultipleRequestListener.java14
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/listeners/OnPutFileUpdateListener.java80
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/listeners/OnRPCListener.java5
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/listeners/OnRPCResponseListener.java19
-rw-r--r--base/src/main/java/com/smartdevicelink/security/AbstractSdlSecurityBase.java8
-rw-r--r--base/src/main/java/com/smartdevicelink/streaming/StreamPacketizer.java300
-rw-r--r--base/src/main/java/com/smartdevicelink/streaming/video/RTPH264Packetizer.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/trace/SdlTraceBase.java (renamed from base/src/main/java/com/smartdevicelink/trace/SdlTrace.java)894
-rw-r--r--base/src/main/java/com/smartdevicelink/util/FileUtls.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/util/Version.java2
-rw-r--r--baseAndroid/README.md11
-rw-r--r--baseAndroid/make_symbolic_links.py69
-rw-r--r--baseAndroid/make_symlinks.lnkbin2143 -> 0 bytes
-rw-r--r--baseAndroid/run_as_admin_symlink_script.bat4
l---------baseAndroid/src/main/java/com/smartdevicelink/Dispatcher1
l---------baseAndroid/src/main/java/com/smartdevicelink/SdlConnection/BaseSdlSession.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/SdlConnection/ISdlConnectionListener.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/exception1
l---------baseAndroid/src/main/java/com/smartdevicelink/managers/BaseSdlManager.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/managers/BaseSdlManagerListener.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/managers/BaseSubManager.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/managers/CompletionListener.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/managers/ManagerUtility.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/managers/ServiceEncryptionListener.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/managers/StreamingStateMachine.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/managers/audio1
l---------baseAndroid/src/main/java/com/smartdevicelink/managers/file1
l---------baseAndroid/src/main/java/com/smartdevicelink/managers/lifecycle1
l---------baseAndroid/src/main/java/com/smartdevicelink/managers/permission1
l---------baseAndroid/src/main/java/com/smartdevicelink/managers/screen1
l---------baseAndroid/src/main/java/com/smartdevicelink/managers/video1
l---------baseAndroid/src/main/java/com/smartdevicelink/marshal1
l---------baseAndroid/src/main/java/com/smartdevicelink/protocol/BaseSdlPacket.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/protocol/BinaryFrameHeader.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/protocol/IProtocolListener.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/protocol/ISdlProtocol.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/protocol/ISecondaryTransportListener.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/protocol/ProtocolMessage.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/protocol/SdlPacketFactory.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/protocol/SdlProtocolBase.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/protocol/enums1
l---------baseAndroid/src/main/java/com/smartdevicelink/proxy/IProxyListener.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/proxy/RPCMessage.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/proxy/RPCNotification.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/proxy/RPCRequest.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/proxy/RPCResponse.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/proxy/RPCStruct.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/proxy/TTSChunkFactory.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/proxy/callbacks1
l---------baseAndroid/src/main/java/com/smartdevicelink/proxy/constants1
l---------baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/IAudioStreamListener.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/IProxyListenerALM.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/IProxyListenerBase.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/IPutFileResponseListener.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/ISdl.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/ISdlServiceListener.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/IVideoStreamListener.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/proxy/rpc1
l---------baseAndroid/src/main/java/com/smartdevicelink/security1
l---------baseAndroid/src/main/java/com/smartdevicelink/streaming/AbstractPacketizer.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/streaming/IStreamListener.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/streaming/audio1
l---------baseAndroid/src/main/java/com/smartdevicelink/streaming/video/RTPH264Packetizer.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/streaming/video/VideoStreamingParameters.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/trace/DiagLevel.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/trace/ISTListener.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/trace/Mime.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/trace/OpenRPCMessage.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/trace/enums1
l---------baseAndroid/src/main/java/com/smartdevicelink/transport/BaseTransportConfig.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/transport/ITransportListener.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/transport/SdlPsm.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/transport/SiphonServer.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/transport/TransportConstants.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/transport/TransportManagerBase.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/transport/enums1
l---------baseAndroid/src/main/java/com/smartdevicelink/transport/utl/BaseTransportRecord.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/util/BitConverter.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/util/ByteEnumer.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/util/CompareUtils.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/util/CorrelationIdGenerator.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/util/DebugTool.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/util/FileUtls.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/util/IConsole.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/util/NativeLogTool.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/util/SdlDataTypeConverter.java1
l---------baseAndroid/src/main/java/com/smartdevicelink/util/Version.java1
-rw-r--r--generator/README.md10
-rw-r--r--generator/templates/base_template.java2
-rw-r--r--generator/templates/javadoc_return.java3
-rw-r--r--generator/templates/javadoc_template.java3
-rw-r--r--generator/transformers/common_producer.py40
-rw-r--r--generator/transformers/enums_producer.py2
-rw-r--r--generator/transformers/functions_producer.py11
-rw-r--r--generator/transformers/structs_producer.py10
-rw-r--r--hello_sdl_java/build.gradle2
-rw-r--r--javaEE/build.gradle4
-rw-r--r--javaSE/build.gradle4
-rw-r--r--javaSE/src/main/java/android/os/AsyncTask.java (renamed from base/src/main/java/android/os/AsyncTask.java)0
-rw-r--r--javaSE/src/main/java/android/os/Parcel.java (renamed from base/src/main/java/android/os/Parcel.java)0
-rw-r--r--javaSE/src/main/java/android/os/Parcelable.java (renamed from base/src/main/java/android/os/Parcelable.java)0
-rw-r--r--javaSE/src/main/java/android/util/Log.java (renamed from base/src/main/java/android/util/Log.java)0
-rw-r--r--javaSE/src/main/java/com/livio/BSON/BsonEncoder.java (renamed from base/src/main/java/com/livio/BSON/BsonEncoder.java)0
-rw-r--r--javaSE/src/main/java/com/smartdevicelink/SdlConnection/SdlSession.java69
-rw-r--r--javaSE/src/main/java/com/smartdevicelink/managers/SdlManager.java2
-rw-r--r--javaSE/src/main/java/com/smartdevicelink/managers/file/FileManager.java2
-rw-r--r--javaSE/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlArtwork.java2
-rw-r--r--javaSE/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlFile.java2
-rw-r--r--javaSE/src/main/java/com/smartdevicelink/managers/lifecycle/EncryptionLifecycleManager.java2
-rw-r--r--javaSE/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java5
-rw-r--r--javaSE/src/main/java/com/smartdevicelink/managers/permission/PermissionManager.java2
-rw-r--r--javaSE/src/main/java/com/smartdevicelink/managers/screen/ScreenManager.java2
-rw-r--r--javaSE/src/main/java/com/smartdevicelink/managers/screen/SoftButtonManager.java2
-rw-r--r--javaSE/src/main/java/com/smartdevicelink/managers/screen/SubscribeButtonManager.java2
-rw-r--r--javaSE/src/main/java/com/smartdevicelink/managers/screen/TextAndGraphicManager.java2
-rw-r--r--javaSE/src/main/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetManager.java2
-rw-r--r--javaSE/src/main/java/com/smartdevicelink/protocol/SdlProtocol.java (renamed from base/src/main/java/com/smartdevicelink/protocol/SdlProtocol.java)0
-rw-r--r--javaSE/src/main/java/com/smartdevicelink/trace/SdlTrace.java (renamed from base/src/main/java/com/smartdevicelink/proxy/rpc/enums/SdlConnectionState.java)22
-rw-r--r--javaSE/src/main/java/com/smartdevicelink/transport/CustomTransport.java (renamed from base/src/main/java/com/smartdevicelink/transport/CustomTransport.java)0
-rw-r--r--javaSE/src/main/java/com/smartdevicelink/transport/CustomTransportConfig.java (renamed from base/src/main/java/com/smartdevicelink/transport/CustomTransportConfig.java)0
-rw-r--r--javaSE/src/main/java/com/smartdevicelink/transport/TransportCallback.java (renamed from base/src/main/java/com/smartdevicelink/transport/TransportCallback.java)0
-rw-r--r--javaSE/src/main/java/com/smartdevicelink/transport/TransportInterface.java (renamed from base/src/main/java/com/smartdevicelink/transport/TransportInterface.java)0
-rw-r--r--javaSE/src/main/java/com/smartdevicelink/transport/TransportManager.java (renamed from base/src/main/java/com/smartdevicelink/transport/TransportManager.java)0
-rw-r--r--javaSE/src/main/java/com/smartdevicelink/transport/WebSocketServer.java (renamed from base/src/main/java/com/smartdevicelink/transport/WebSocketServer.java)0
-rw-r--r--javaSE/src/main/java/com/smartdevicelink/transport/WebSocketServerConfig.java (renamed from base/src/main/java/com/smartdevicelink/transport/WebSocketServerConfig.java)0
-rw-r--r--javaSE/src/main/java/com/smartdevicelink/transport/utl/SSLConfig.java (renamed from base/src/main/java/com/smartdevicelink/transport/utl/SSLConfig.java)4
-rw-r--r--javaSE/src/main/java/com/smartdevicelink/transport/utl/SSLWebSocketFactoryGenerator.java (renamed from base/src/main/java/com/smartdevicelink/transport/utl/SSLWebSocketFactoryGenerator.java)0
-rw-r--r--javaSE/src/main/java/org/json/JSON.java (renamed from base/src/main/java/org/json/JSON.java)0
-rw-r--r--javaSE/src/main/java/org/json/JSONArray.java (renamed from base/src/main/java/org/json/JSONArray.java)0
-rw-r--r--javaSE/src/main/java/org/json/JSONException.java (renamed from base/src/main/java/org/json/JSONException.java)0
-rw-r--r--javaSE/src/main/java/org/json/JSONObject.java (renamed from base/src/main/java/org/json/JSONObject.java)4
-rw-r--r--javaSE/src/main/java/org/json/JSONStringer.java (renamed from base/src/main/java/org/json/JSONStringer.java)0
-rw-r--r--javaSE/src/main/java/org/json/JSONTokener.java (renamed from base/src/main/java/org/json/JSONTokener.java)0
659 files changed, 6440 insertions, 5617 deletions
diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml
index c2ec6bf32..696200b8c 100644
--- a/.github/workflows/android.yml
+++ b/.github/workflows/android.yml
@@ -42,6 +42,6 @@ jobs:
python3 ./generator/test/runner.py
- name: Codecov
- uses: codecov/codecov-action@v1.0.6
+ uses: codecov/codecov-action@v1.0.13
with:
yml: ./codecov.yml
diff --git a/README.md b/README.md
index 62b7566cb..2f9ebcf59 100644
--- a/README.md
+++ b/README.md
@@ -66,7 +66,7 @@ Developers using Proguard to shrink and obfuscate their code should be sure to i
### JavaSE
-[ ![Download JavaSE](https://api.bintray.com/packages/smartdevicelink/sdl_java_se/sdl_java_se/images/download.svg) ](https://bintray.com/smartdevicelink/sdl_java_se/sdl_java_se/_latestVersion)
+[ ![Download JavaSE](https://api.bintray.com/packages/smartdevicelink/sdl_java_se/sdl_javase/images/download.svg) ](https://bintray.com/smartdevicelink/sdl_java_se/sdl_javase/_latestVersion)
The JavaSE project is meant to allow SDL compatibility for embedded applications.
@@ -85,7 +85,7 @@ dependencies {
### JavaEE
-[ ![Download JavaEE](https://api.bintray.com/packages/smartdevicelink/sdl_java_ee/sdl_java_ee/images/download.svg) ](https://bintray.com/smartdevicelink/sdl_java_ee/sdl_java_ee/_latestVersion)
+[ ![Download JavaEE](https://api.bintray.com/packages/smartdevicelink/sdl_java_ee/sdl_javaee/images/download.svg) ](https://bintray.com/smartdevicelink/sdl_java_ee/sdl_javaee/_latestVersion)
The JavaEE project is meant to allow SDL compatibility for web applications.
diff --git a/android/build.gradle b/android/build.gradle
index f94362a81..7ecff6a6a 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -7,7 +7,7 @@ buildscript {
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.3.1'
+ classpath 'com.android.tools.build:gradle:4.0.1'
// NOTE: Do not place your application dependencies here; they belong
diff --git a/android/gradle.properties b/android/gradle.properties
index aac7c9b46..9e6fce102 100644
--- a/android/gradle.properties
+++ b/android/gradle.properties
@@ -9,6 +9,8 @@
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
+android.enableJetifier=true
+android.useAndroidX=true
org.gradle.jvmargs=-Xmx1536m
# When configured, Gradle will run in incubating parallel mode.
diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties
index 567cd660e..6691197d2 100644
--- a/android/gradle/wrapper/gradle-wrapper.properties
+++ b/android/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Sun Jan 20 22:30:48 EST 2019
+#Wed Aug 19 13:26:39 EDT 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip \ No newline at end of file
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
diff --git a/android/hello_sdl_android/build.gradle b/android/hello_sdl_android/build.gradle
index 6124ae700..f990b38e6 100755
--- a/android/hello_sdl_android/build.gradle
+++ b/android/hello_sdl_android/build.gradle
@@ -5,10 +5,10 @@ android {
defaultConfig {
applicationId "com.sdl.hellosdlandroid"
minSdkVersion 16
- targetSdkVersion 28
+ targetSdkVersion 29
versionCode 1
versionName "1.0"
- testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+ testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
}
buildTypes {
release {
@@ -51,10 +51,10 @@ android {
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
- androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
+ androidTestImplementation('androidx.test.espresso:espresso-core:3.1.0', {
exclude group: 'com.android.support', module: 'support-annotations'
})
- implementation 'com.android.support:appcompat-v7:28.0.0'
+ implementation 'androidx.appcompat:appcompat:1.2.0'
implementation project(path: ':sdl_android')
testImplementation 'junit:junit:4.12'
} \ No newline at end of file
diff --git a/android/hello_sdl_android/src/main/java/com/sdl/hellosdlandroid/MainActivity.java b/android/hello_sdl_android/src/main/java/com/sdl/hellosdlandroid/MainActivity.java
index 6fc9203db..3c4fabc57 100755
--- a/android/hello_sdl_android/src/main/java/com/sdl/hellosdlandroid/MainActivity.java
+++ b/android/hello_sdl_android/src/main/java/com/sdl/hellosdlandroid/MainActivity.java
@@ -2,7 +2,7 @@ package com.sdl.hellosdlandroid;
import android.content.Intent;
import android.os.Bundle;
-import android.support.v7.app.AppCompatActivity;
+import androidx.appcompat.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
diff --git a/android/sdl_android/build.gradle b/android/sdl_android/build.gradle
index c600dd6dd..d35b06c49 100644
--- a/android/sdl_android/build.gradle
+++ b/android/sdl_android/build.gradle
@@ -1,6 +1,4 @@
apply plugin: 'com.android.library'
-import org.apache.tools.ant.taskdefs.condition.Os
-
android {
compileSdkVersion 29
@@ -9,7 +7,7 @@ android {
targetSdkVersion 29
versionCode 14
versionName new File(projectDir.path, ('/../../VERSION')).text.trim()
- testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+ testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
resValue "string", "SDL_LIB_VERSION", '\"' + versionName + '\"'
}
buildTypes {
@@ -36,37 +34,25 @@ android {
}
sourceSets {
- if(Os.isFamily(Os.FAMILY_WINDOWS)){
- //The buildWindowsSymLinks task must be run first if this is
- //being compiled on a Windows machine
- main.java.srcDirs += '../../baseAndroid/windows/src/main/java'
- }else{
- main.java.srcDirs += '../../baseAndroid/src/main/java'
- }
+ main.java.srcDirs += '../../base/src/main/java'
}
}
-task buildWindowSymLinks(type:Exec){
-
- workingDir '../../baseAndroid'
-
- commandLine 'cmd', '/c', 'make_symlinks.lnk'
-}
-
dependencies {
api fileTree(dir: 'libs', include: ['*.jar'])
api 'com.smartdevicelink:bson_java_port:1.2.0'
api 'com.livio.taskmaster:taskmaster:0.3.0'
- androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
+ androidTestImplementation('androidx.test.espresso:espresso-core:3.1.0', {
exclude group: 'com.android.support', module: 'support-annotations'
})
testImplementation 'junit:junit:4.12'
- testImplementation 'org.mockito:mockito-core:2.9.0'
- androidTestImplementation 'org.mockito:mockito-core:2.9.0'
- androidTestImplementation 'org.mockito:mockito-android:2.9.0'
- api 'com.android.support:support-annotations:28.0.0'
- api "android.arch.lifecycle:extensions:1.1.1"
- annotationProcessor "android.arch.lifecycle:compiler:1.1.1"
+ testImplementation 'org.mockito:mockito-core:3.0.0'
+ androidTestImplementation 'org.mockito:mockito-core:3.0.0'
+ androidTestImplementation 'org.mockito:mockito-android:3.0.0'
+ androidTestImplementation 'androidx.test.ext:junit:1.1.1'
+ api 'androidx.annotation:annotation:1.1.0'
+ api 'androidx.lifecycle:lifecycle-extensions:2.2.0'
+ annotationProcessor 'androidx.lifecycle:lifecycle-compiler:2.2.0'
}
buildscript {
@@ -75,7 +61,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4'
+ classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.5'
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
}
}
diff --git a/android/sdl_android/src/androidTest/assets/json/GetVehicleData.json b/android/sdl_android/src/androidTest/assets/json/GetVehicleData.json
index 7cef581b7..e75de1d3b 100644
--- a/android/sdl_android/src/androidTest/assets/json/GetVehicleData.json
+++ b/android/sdl_android/src/androidTest/assets/json/GetVehicleData.json
@@ -32,7 +32,9 @@
"fuelRange":true,
"turnSignal":true,
"electronicParkBrakeStatus":true,
- "oemCustomVehicleDataName":true
+ "gearStatus": true,
+ "oemCustomVehicleDataName":true,
+ "windowStatus": true
}
},
"response":{
@@ -170,7 +172,24 @@
"range":10.0
}
],
- "oemCustomVehicleDataName":"oemCustomVehicleDataState"
+ "oemCustomVehicleDataName":"oemCustomVehicleDataState",
+ "gearStatus": {
+ "userSelectedGear": "PARK",
+ "transmissionType": "ELECTRIC_VARIABLE",
+ "actualGear": "PARK"
+ },
+ "windowStatus": [
+ {
+ "location": {
+ "row": 2,
+ "col": 3
+ },
+ "state": {
+ "approximatePosition": 2,
+ "deviation": 3
+ }
+ }
+ ]
}
}
} \ No newline at end of file
diff --git a/android/sdl_android/src/androidTest/assets/json/StreamRPC.json b/android/sdl_android/src/androidTest/assets/json/StreamRPC.json
deleted file mode 100644
index ff20ffc93..000000000
--- a/android/sdl_android/src/androidTest/assets/json/StreamRPC.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "response":{
- "name":"StreamRPCResponse",
- "correlationID":198,
- "parameters":{
- "fileName":"test",
- "fileSize":100
- }
- }
-} \ No newline at end of file
diff --git a/android/sdl_android/src/androidTest/assets/json/SubscribeVehicleData.json b/android/sdl_android/src/androidTest/assets/json/SubscribeVehicleData.json
index 4abab4cc0..c61da0661 100644
--- a/android/sdl_android/src/androidTest/assets/json/SubscribeVehicleData.json
+++ b/android/sdl_android/src/androidTest/assets/json/SubscribeVehicleData.json
@@ -31,7 +31,10 @@
"fuelRange":true,
"turnSignal":true,
"electronicParkBrakeStatus":true,
- "oemCustomVehicleDataName":true
+ "gearStatus": true,
+ "oemCustomVehicleDataName":true,
+ "windowStatus": true,
+ "handsOffSteering": true
}
},
"response":{
@@ -150,9 +153,21 @@
"dataType":"VEHICLEDATA_ELECTRONICPARKBRAKESTATUS",
"resultCode":"SUCCESS"
},
+ "handsOffSteering":{
+ "dataType":"VEHICLEDATA_HANDSOFFSTEERING",
+ "resultCode":"SUCCESS"
+ },
+ "gearStatus":{
+ "dataType":"VEHICLEDATA_GEARSTATUS",
+ "resultCode":"SUCCESS"
+ },
"oemCustomVehicleDataName":{
"oemCustomDataType":"oemCustomVehicleDataName",
"resultCode":"SUCCESS"
+ },
+ "windowStatus":{
+ "dataType":"VEHICLEDATA_WINDOWSTATUS",
+ "resultCode":"SUCCESS"
}
}
}
diff --git a/android/sdl_android/src/androidTest/assets/json/SubtleAlert.json b/android/sdl_android/src/androidTest/assets/json/SubtleAlert.json
new file mode 100644
index 000000000..e845990c6
--- /dev/null
+++ b/android/sdl_android/src/androidTest/assets/json/SubtleAlert.json
@@ -0,0 +1,57 @@
+{
+ "request": {
+ "name": "SubtleAlert",
+ "correlationID": 444,
+ "parameters": {
+ "alertText1": "alertText1",
+ "alertText2": "alertText2",
+ "alertIcon": {
+ "value": "alertIconImage1.png",
+ "imageType": "DYNAMIC"
+ },
+ "ttsChunks": [
+ {
+ "text": "Phrase 1",
+ "type": "TEXT"
+ },
+ {
+ "text": "Phrase 2",
+ "type": "TEXT"
+ }
+ ],
+ "duration": 3000,
+ "softButtons": [
+ {
+ "isHighlighted": true,
+ "softButtonID": 6,
+ "systemAction": "STEAL_FOCUS",
+ "text": "Button 1",
+ "type": "IMAGE",
+ "image": {
+ "value": "image.png",
+ "imageType": "STATIC"
+ }
+ },
+ {
+ "isHighlighted": false,
+ "softButtonID": 3,
+ "systemAction": "DEFAULT_ACTION",
+ "text": "Button 2",
+ "type": "BOTH",
+ "image": {
+ "value": "image.png",
+ "imageType": "DYNAMIC"
+ }
+ }
+ ],
+ "cancelID": 30
+ }
+ },
+ "response": {
+ "name": "SubtleAlertResponse",
+ "correlationID": 444,
+ "parameters": {
+ "tryAgainTime": 400
+ }
+ }
+} \ No newline at end of file
diff --git a/android/sdl_android/src/androidTest/assets/json/UnsubscribeVehicleData.json b/android/sdl_android/src/androidTest/assets/json/UnsubscribeVehicleData.json
index f6f8860fb..dd00502e5 100644
--- a/android/sdl_android/src/androidTest/assets/json/UnsubscribeVehicleData.json
+++ b/android/sdl_android/src/androidTest/assets/json/UnsubscribeVehicleData.json
@@ -31,7 +31,10 @@
"fuelRange":true,
"turnSignal":true,
"electronicParkBrakeStatus":true,
- "oemCustomVehicleDataName":true
+ "handsOffSteering": true,
+ "gearStatus": true,
+ "oemCustomVehicleDataName":true,
+ "windowStatus": true
}
},
"response":{
@@ -150,9 +153,21 @@
"dataType":"VEHICLEDATA_ELECTRONICPARKBRAKESTATUS",
"resultCode":"SUCCESS"
},
+ "handsOffSteering":{
+ "dataType":"VEHICLEDATA_HANDSOFFSTEERING",
+ "resultCode":"SUCCESS"
+ },
+ "gearStatus":{
+ "dataType":"VEHICLEDATA_GEARSTATUS",
+ "resultCode":"SUCCESS"
+ },
"oemCustomVehicleDataName":{
"oemCustomDataType":"oemCustomVehicleDataName",
"resultCode":"SUCCESS"
+ },
+ "windowStatus":{
+ "dataType":"VEHICLEDATA_WINDOWSTATUS",
+ "resultCode":"SUCCESS"
}
}
}
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/SdlManagerTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/SdlManagerTests.java
index c1c636c50..7c4fb11ff 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/SdlManagerTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/SdlManagerTests.java
@@ -1,7 +1,8 @@
package com.smartdevicelink.managers;
import android.content.Context;
-import android.support.test.runner.AndroidJUnit4;
+
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.livio.taskmaster.Taskmaster;
import com.smartdevicelink.managers.lifecycle.LifecycleConfigurationUpdate;
@@ -18,7 +19,6 @@ import com.smartdevicelink.proxy.rpc.Show;
import com.smartdevicelink.proxy.rpc.TemplateColorScheme;
import com.smartdevicelink.proxy.rpc.enums.AppHMIType;
import com.smartdevicelink.proxy.rpc.enums.Language;
-import com.smartdevicelink.proxy.rpc.enums.Result;
import com.smartdevicelink.proxy.rpc.listeners.OnMultipleRequestListener;
import com.smartdevicelink.proxy.rpc.listeners.OnRPCResponseListener;
import com.smartdevicelink.test.TestValues;
@@ -404,10 +404,6 @@ public class SdlManagerTests {
}
@Override
- public void onError(int correlationId, Result resultCode, String info) {
- }
-
- @Override
public void onResponse(int correlationId, RPCResponse response) {
}
};
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/audio/AudioStreamManagerTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/audio/AudioStreamManagerTest.java
index 58d92c6ba..3fd5cd943 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/audio/AudioStreamManagerTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/audio/AudioStreamManagerTest.java
@@ -5,7 +5,7 @@ import android.media.AudioFormat;
import android.media.MediaFormat;
import android.media.MediaPlayer;
import android.os.Build;
-import android.support.test.InstrumentationRegistry;
+import androidx.test.platform.app.InstrumentationRegistry;
import android.util.Log;
import com.smartdevicelink.SdlConnection.SdlSession;
@@ -53,7 +53,7 @@ public class AudioStreamManagerTest extends TestCase {
@Override
public void setUp() throws Exception {
super.setUp();
- mContext = InstrumentationRegistry.getContext();
+ mContext = InstrumentationRegistry.getInstrumentation().getContext();
}
@Override
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/file/FileManagerTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/file/FileManagerTests.java
index 89abc76cc..8908346d2 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/file/FileManagerTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/file/FileManagerTests.java
@@ -2,7 +2,7 @@ package com.smartdevicelink.managers.file;
import android.content.Context;
import android.net.Uri;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.managers.BaseSubManager;
import com.smartdevicelink.managers.CompletionListener;
@@ -33,7 +33,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertTrue;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -58,7 +58,7 @@ public class FileManagerTests {
@Before
public void setUp() throws Exception{
- mTestContext = getTargetContext();
+ mTestContext = getInstrumentation().getTargetContext();
validFile = new SdlFile();
validFile.setName(TestValues.GENERAL_STRING);
validFile.setFileData(TestValues.GENERAL_BYTE_ARRAY);
@@ -72,10 +72,9 @@ public class FileManagerTests {
RPCRequest message = (RPCRequest) args[0];
if (message instanceof PutFile) {
int correlationId = message.getCorrelationID();
- Result resultCode = Result.REJECTED;
- PutFileResponse putFileResponse = new PutFileResponse();
- putFileResponse.setSuccess(false);
- message.getOnRPCResponseListener().onError(correlationId, resultCode, "Binary data empty");
+ PutFileResponse putFileResponse = new PutFileResponse(false, Result.REJECTED);
+ putFileResponse.setInfo("Binary data empty");
+ message.getOnRPCResponseListener().onResponse(correlationId, putFileResponse);
}
return null;
}
@@ -88,13 +87,12 @@ public class FileManagerTests {
List<RPCRequest> rpcs = (List<RPCRequest>) args[0];
OnMultipleRequestListener listener = (OnMultipleRequestListener) args[1];
if (rpcs.get(0) instanceof PutFile) {
- Result resultCode = Result.REJECTED;
for (RPCRequest message : rpcs) {
int correlationId = message.getCorrelationID();
listener.addCorrelationId(correlationId);
- PutFileResponse putFileResponse = new PutFileResponse();
- putFileResponse.setSuccess(true);
- listener.onError(correlationId, resultCode, "Binary data empty");
+ PutFileResponse putFileResponse = new PutFileResponse(false, Result.REJECTED);
+ putFileResponse.setInfo("Binary data empty");
+ listener.onResponse(correlationId, putFileResponse);
}
listener.onFinished();
}
@@ -197,13 +195,12 @@ public class FileManagerTests {
List<RPCRequest> rpcs = (List<RPCRequest>) args[0];
OnMultipleRequestListener listener = (OnMultipleRequestListener) args[1];
if (rpcs.get(0) instanceof DeleteFile) {
- Result resultCode = Result.REJECTED;
for (RPCRequest message : rpcs) {
int correlationId = message.getCorrelationID();
listener.addCorrelationId(correlationId);
- DeleteFileResponse deleteFileResponse = new DeleteFileResponse();
- deleteFileResponse.setSuccess(true);
- listener.onError(correlationId, resultCode, "Binary data empty");
+ DeleteFileResponse deleteFileResponse = new DeleteFileResponse(false, Result.REJECTED);
+ deleteFileResponse.setInfo("Binary data empty");
+ listener.onResponse(correlationId, deleteFileResponse);
}
listener.onFinished();
}
@@ -218,7 +215,6 @@ public class FileManagerTests {
List<RPCRequest> rpcs = (List<RPCRequest>) args[0];
OnMultipleRequestListener listener = (OnMultipleRequestListener) args[1];
if (rpcs.get(0) instanceof PutFile) {
- Result resultCode = Result.REJECTED;
boolean flip = false;
for (RPCRequest message : rpcs) {
int correlationId = message.getCorrelationID();
@@ -231,7 +227,9 @@ public class FileManagerTests {
} else {
flip = true;
putFileResponse.setSuccess(false);
- listener.onError(correlationId, resultCode, "Binary data empty");
+ putFileResponse.setResultCode(Result.REJECTED);
+ putFileResponse.setInfo("Binary data empty");
+ listener.onResponse(correlationId, putFileResponse);
}
}
listener.onFinished();
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/file/filetypes/SdlArtworkTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/file/filetypes/SdlArtworkTests.java
index 5b179e8ef..ab27c66cc 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/file/filetypes/SdlArtworkTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/file/filetypes/SdlArtworkTests.java
@@ -1,6 +1,6 @@
-package com.smartdevicelink.managers.file;
+package com.smartdevicelink.managers.file.filetypes;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.managers.file.filetypes.SdlArtwork;
import com.smartdevicelink.proxy.rpc.enums.StaticIconName;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/file/filetypes/SdlFileTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/file/filetypes/SdlFileTests.java
index bdb47aec1..99d34fdff 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/file/filetypes/SdlFileTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/file/filetypes/SdlFileTests.java
@@ -32,7 +32,7 @@
package com.smartdevicelink.managers.file.filetypes;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.test.TestValues;
@@ -40,6 +40,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import static junit.framework.TestCase.assertEquals;
+import static junit.framework.TestCase.assertFalse;
@RunWith(AndroidJUnit4.class)
public class SdlFileTests {
@@ -60,6 +61,7 @@ public class SdlFileTests {
assertEquals(sdlFile.getType(), TestValues.GENERAL_FILETYPE);
sdlFile.setPersistent(TestValues.GENERAL_BOOLEAN);
assertEquals(sdlFile.isPersistent(), TestValues.GENERAL_BOOLEAN);
+ assertFalse(sdlFile.getOverwrite());
// Case 2 (Setting resourceId)
sdlFile = new SdlFile();
@@ -73,6 +75,7 @@ public class SdlFileTests {
assertEquals(sdlFile.getType(), TestValues.GENERAL_FILETYPE);
sdlFile.setPersistent(TestValues.GENERAL_BOOLEAN);
assertEquals(sdlFile.isPersistent(), TestValues.GENERAL_BOOLEAN);
+ assertFalse(sdlFile.getOverwrite());
// Case 3 (Setting URI)
sdlFile = new SdlFile();
@@ -86,6 +89,7 @@ public class SdlFileTests {
assertEquals(sdlFile.getType(), TestValues.GENERAL_FILETYPE);
sdlFile.setPersistent(TestValues.GENERAL_BOOLEAN);
assertEquals(sdlFile.isPersistent(), TestValues.GENERAL_BOOLEAN);
+ assertFalse(sdlFile.getOverwrite());
}
@Test
@@ -96,6 +100,7 @@ public class SdlFileTests {
assertEquals(sdlFile1.getType(), TestValues.GENERAL_FILETYPE);
assertEquals((Integer) sdlFile1.getResourceId(), TestValues.GENERAL_INTEGER);
assertEquals(sdlFile1.isPersistent(), TestValues.GENERAL_BOOLEAN);
+ assertFalse(sdlFile1.getOverwrite());
// Case2 (Let the library generate a name)
SdlFile sdlFile2 = new SdlFile(null, TestValues.GENERAL_FILETYPE, TestValues.GENERAL_INTEGER, TestValues.GENERAL_BOOLEAN);
@@ -105,6 +110,7 @@ public class SdlFileTests {
assertEquals(sdlFile2.getType(), TestValues.GENERAL_FILETYPE);
assertEquals((Integer) sdlFile2.getResourceId(), TestValues.GENERAL_INTEGER);
assertEquals(sdlFile2.isPersistent(), TestValues.GENERAL_BOOLEAN);
+ assertFalse(sdlFile2.getOverwrite());
}
@Test
@@ -115,6 +121,7 @@ public class SdlFileTests {
assertEquals(sdlFile1.getType(), TestValues.GENERAL_FILETYPE);
assertEquals(sdlFile1.getFileData(), TestValues.GENERAL_BYTE_ARRAY);
assertEquals(sdlFile1.isPersistent(), TestValues.GENERAL_BOOLEAN);
+ assertFalse(sdlFile1.getOverwrite());
// Case2 (Let the library generate a name)
SdlFile sdlFile2 = new SdlFile(null, TestValues.GENERAL_FILETYPE, TestValues.GENERAL_BYTE_ARRAY, TestValues.GENERAL_BOOLEAN);
@@ -124,6 +131,7 @@ public class SdlFileTests {
assertEquals(sdlFile2.getType(), TestValues.GENERAL_FILETYPE);
assertEquals(sdlFile2.getFileData(), TestValues.GENERAL_BYTE_ARRAY);
assertEquals(sdlFile2.isPersistent(), TestValues.GENERAL_BOOLEAN);
+ assertFalse(sdlFile2.getOverwrite());
}
@Test
@@ -134,6 +142,7 @@ public class SdlFileTests {
assertEquals(sdlFile1.getType(), TestValues.GENERAL_FILETYPE);
assertEquals(sdlFile1.getUri(), TestValues.GENERAL_URI);
assertEquals(sdlFile1.isPersistent(), TestValues.GENERAL_BOOLEAN);
+ assertFalse(sdlFile1.getOverwrite());
// Case2 (Let the library generate a name)
SdlFile sdlFile2 = new SdlFile(null, TestValues.GENERAL_FILETYPE, TestValues.GENERAL_URI, TestValues.GENERAL_BOOLEAN);
@@ -143,5 +152,6 @@ public class SdlFileTests {
assertEquals(sdlFile2.getType(), TestValues.GENERAL_FILETYPE);
assertEquals(sdlFile2.getUri(), TestValues.GENERAL_URI);
assertEquals(sdlFile2.isPersistent(), TestValues.GENERAL_BOOLEAN);
+ assertFalse(sdlFile2.getOverwrite());
}
}
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lifecycle/LifecycleConfigurationUpdateTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lifecycle/LifecycleConfigurationUpdateTest.java
index 61edcf87d..02509a96a 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lifecycle/LifecycleConfigurationUpdateTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lifecycle/LifecycleConfigurationUpdateTest.java
@@ -35,7 +35,7 @@
package com.smartdevicelink.managers.lifecycle;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.test.TestValues;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lifecycle/RpcConverterTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lifecycle/RpcConverterTest.java
index 1031fc652..d8bf8422a 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lifecycle/RpcConverterTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lifecycle/RpcConverterTest.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.managers.lifecycle;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.marshal.JsonRPCMarshaller;
import com.smartdevicelink.protocol.ProtocolMessage;
@@ -40,10 +40,6 @@ public class RpcConverterTest {
case ENCODED_SYNC_P_DATA:
case ON_ENCODED_SYNC_P_DATA:
case GENERIC_RESPONSE:
- case STREAM_RPC:
- case ON_LOCK_SCREEN_STATUS:
- case ON_SDL_CHOICE_CHOSEN:
- case ON_STREAM_RPC:
continue;
default:
@@ -70,10 +66,6 @@ public class RpcConverterTest {
case ENCODED_SYNC_P_DATA:
case ON_ENCODED_SYNC_P_DATA:
case GENERIC_RESPONSE:
- case STREAM_RPC:
- case ON_LOCK_SCREEN_STATUS:
- case ON_SDL_CHOICE_CHOSEN:
- case ON_STREAM_RPC:
return null;
case SHOW_CONSTANT_TBT:
rpcClassName.append("ShowConstantTbt");
@@ -109,10 +101,6 @@ public class RpcConverterTest {
case ENCODED_SYNC_P_DATA:
case ON_ENCODED_SYNC_P_DATA:
case GENERIC_RESPONSE:
- case STREAM_RPC:
- case ON_LOCK_SCREEN_STATUS:
- case ON_SDL_CHOICE_CHOSEN:
- case ON_STREAM_RPC:
continue;
default:
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lifecycle/SystemCapabilityManagerTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lifecycle/SystemCapabilityManagerTests.java
index f6ae0fe63..4c1981099 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lifecycle/SystemCapabilityManagerTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lifecycle/SystemCapabilityManagerTests.java
@@ -1,8 +1,9 @@
package com.smartdevicelink.managers.lifecycle;
-import android.support.test.runner.AndroidJUnit4;
import android.util.SparseArray;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
import com.livio.taskmaster.Taskmaster;
import com.smartdevicelink.managers.ManagerUtility;
import com.smartdevicelink.protocol.enums.FunctionID;
@@ -13,7 +14,6 @@ import com.smartdevicelink.proxy.interfaces.IAudioStreamListener;
import com.smartdevicelink.proxy.interfaces.ISdl;
import com.smartdevicelink.proxy.interfaces.ISdlServiceListener;
import com.smartdevicelink.proxy.interfaces.IVideoStreamListener;
-import com.smartdevicelink.proxy.interfaces.OnSystemCapabilityListener;
import com.smartdevicelink.proxy.rpc.AppServiceCapability;
import com.smartdevicelink.proxy.rpc.AppServicesCapabilities;
import com.smartdevicelink.proxy.rpc.AudioPassThruCapabilities;
@@ -208,8 +208,8 @@ public class SystemCapabilityManagerTests {
@Test
public void testNullDisplayCapabilitiesEnablesAllTextAndImageFields() {
List<DisplayCapability> displayCapabilityList = createDisplayCapabilityList(null, TestValues.GENERAL_BUTTONCAPABILITIES_LIST, TestValues.GENERAL_SOFTBUTTONCAPABILITIES_LIST);
- assertEquals(displayCapabilityList.get(0).getWindowCapabilities().get(0).getTextFields().size(), 29);
- assertEquals(displayCapabilityList.get(0).getWindowCapabilities().get(0).getImageFields().size(), 14);
+ assertEquals(displayCapabilityList.get(0).getWindowCapabilities().get(0).getTextFields().size(), 32);
+ assertEquals(displayCapabilityList.get(0).getWindowCapabilities().get(0).getImageFields().size(), 16);
}
@Test
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lockscreen/LockScreenConfigTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lockscreen/LockScreenConfigTests.java
index 1c6eb9d34..84a4e52ef 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lockscreen/LockScreenConfigTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lockscreen/LockScreenConfigTests.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.managers.lockscreen;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.test.TestValues;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lockscreen/LockScreenDeviceIconManagerTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lockscreen/LockScreenDeviceIconManagerTests.java
index 290515d54..38701bd64 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lockscreen/LockScreenDeviceIconManagerTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lockscreen/LockScreenDeviceIconManagerTests.java
@@ -3,7 +3,7 @@ package com.smartdevicelink.managers.lockscreen;
import android.content.Context;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lockscreen/LockScreenManagerTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lockscreen/LockScreenManagerTests.java
index e6e86261b..2509a2298 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lockscreen/LockScreenManagerTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lockscreen/LockScreenManagerTests.java
@@ -1,7 +1,7 @@
package com.smartdevicelink.managers.lockscreen;
import android.content.Context;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.interfaces.ISdl;
@@ -18,7 +18,7 @@ import org.junit.runner.RunWith;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertFalse;
import static junit.framework.TestCase.assertNull;
@@ -53,7 +53,7 @@ public class LockScreenManagerTests {
};
doAnswer(onDDStatusAnswer).when(internalInterface).addOnRPCNotificationListener(eq(FunctionID.ON_DRIVER_DISTRACTION), any(OnRPCNotificationListener.class));
- Context context = getContext();
+ Context context = getInstrumentation().getContext();
// create config
LockScreenConfig lockScreenConfig = new LockScreenConfig();
lockScreenConfig.setCustomView(TestValues.GENERAL_INT);
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/permission/PermissionManagerTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/permission/PermissionManagerTests.java
index 81354dd2c..d53287b61 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/permission/PermissionManagerTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/permission/PermissionManagerTests.java
@@ -1,7 +1,7 @@
package com.smartdevicelink.managers.permission;
-import android.support.annotation.NonNull;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.annotation.NonNull;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.interfaces.ISdl;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/ScreenManagerTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/ScreenManagerTests.java
index a91a68b3e..f1e68e9b3 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/ScreenManagerTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/ScreenManagerTests.java
@@ -1,7 +1,7 @@
package com.smartdevicelink.managers.screen;
import com.livio.taskmaster.Taskmaster;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.managers.BaseSubManager;
import com.smartdevicelink.managers.file.FileManager;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/SoftButtonManagerTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/SoftButtonManagerTests.java
index efea2bf1d..e5daf375b 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/SoftButtonManagerTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/SoftButtonManagerTests.java
@@ -1,16 +1,16 @@
package com.smartdevicelink.managers.screen;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.managers.CompletionListener;
import com.livio.taskmaster.Taskmaster;
import com.smartdevicelink.managers.file.FileManager;
import com.smartdevicelink.managers.file.MultipleFileCompletionListener;
import com.smartdevicelink.managers.file.filetypes.SdlArtwork;
+import com.smartdevicelink.managers.lifecycle.OnSystemCapabilityListener;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.interfaces.ISdl;
-import com.smartdevicelink.proxy.interfaces.OnSystemCapabilityListener;
import com.smartdevicelink.proxy.rpc.DisplayCapability;
import com.smartdevicelink.proxy.rpc.Image;
import com.smartdevicelink.proxy.rpc.OnButtonEvent;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/SubscribeButtonManagerTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/SubscribeButtonManagerTest.java
index b1da6b052..b16889934 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/SubscribeButtonManagerTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/SubscribeButtonManagerTest.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.managers.screen;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.managers.BaseSubManager;
import com.smartdevicelink.proxy.RPCMessage;
@@ -61,9 +61,9 @@ public class SubscribeButtonManagerTest {
Object[] args = invocation.getArguments();
RPCRequest message = (RPCRequest) args[0];
if(message instanceof SubscribeButton){
- SubscribeButtonResponse subscribeButtonResponse = new SubscribeButtonResponse();
- subscribeButtonResponse.setSuccess(false);
- message.getOnRPCResponseListener().onError(message.getCorrelationID(), Result.GENERIC_ERROR, "Fail");
+ SubscribeButtonResponse subscribeButtonResponse = new SubscribeButtonResponse(false, Result.GENERIC_ERROR);
+ subscribeButtonResponse.setInfo("Fail");
+ message.getOnRPCResponseListener().onResponse(message.getCorrelationID(), subscribeButtonResponse);
}
return null;
}
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/TextAndGraphicManagerTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/TextAndGraphicManagerTests.java
index 6d9315348..439b7ebe9 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/TextAndGraphicManagerTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/TextAndGraphicManagerTests.java
@@ -2,7 +2,7 @@ package com.smartdevicelink.managers.screen;
import android.content.Context;
import android.net.Uri;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.managers.BaseSubManager;
import com.smartdevicelink.managers.ManagerUtility;
@@ -28,7 +28,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertFalse;
import static junit.framework.TestCase.assertNotNull;
@@ -48,7 +48,7 @@ public class TextAndGraphicManagerTests {
@Before
public void setUp() throws Exception{
- Context mTestContext = getContext();
+ Context mTestContext = getInstrumentation().getContext();
// mock things
ISdl internalInterface = mock(ISdl.class);
FileManager fileManager = mock(FileManager.class);
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/CheckChoiceVROptionalOperationTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/CheckChoiceVROptionalOperationTests.java
index cba4ee77d..abf868876 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/CheckChoiceVROptionalOperationTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/CheckChoiceVROptionalOperationTests.java
@@ -35,7 +35,7 @@
package com.smartdevicelink.managers.screen.choiceset;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.proxy.interfaces.ISdl;
import com.smartdevicelink.proxy.rpc.Choice;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceCellTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceCellTests.java
index 8f1c4f5c1..420ab1d72 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceCellTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceCellTests.java
@@ -32,7 +32,7 @@
package com.smartdevicelink.managers.screen.choiceset;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.managers.file.filetypes.SdlArtwork;
import com.smartdevicelink.proxy.rpc.enums.FileType;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetLayoutTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetLayoutTests.java
index 854fc61f7..0ecd3701f 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetLayoutTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetLayoutTests.java
@@ -32,7 +32,7 @@
package com.smartdevicelink.managers.screen.choiceset;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetManagerTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetManagerTests.java
index 78dd07cce..4e9ba2e6b 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetManagerTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetManagerTests.java
@@ -35,7 +35,7 @@
package com.smartdevicelink.managers.screen.choiceset;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.livio.taskmaster.Taskmaster;
import com.smartdevicelink.managers.BaseSubManager;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetTests.java
index c7cda00fb..5bd8216d2 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetTests.java
@@ -32,7 +32,7 @@
package com.smartdevicelink.managers.screen.choiceset;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.test.TestValues;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/DeleteChoicesOperationTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/DeleteChoicesOperationTests.java
index e2cdcf7ae..e8a9eeb23 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/DeleteChoicesOperationTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/DeleteChoicesOperationTests.java
@@ -35,7 +35,7 @@
package com.smartdevicelink.managers.screen.choiceset;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.proxy.interfaces.ISdl;
import com.smartdevicelink.proxy.rpc.DeleteInteractionChoiceSet;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/PreloadChoicesOperationTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/PreloadChoicesOperationTests.java
index b8be6edc5..14144758f 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/PreloadChoicesOperationTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/PreloadChoicesOperationTests.java
@@ -35,7 +35,7 @@
package com.smartdevicelink.managers.screen.choiceset;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.managers.file.FileManager;
import com.smartdevicelink.managers.file.filetypes.SdlArtwork;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/PresentChoiceSetOperationTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/PresentChoiceSetOperationTests.java
index 1f4984706..8e91c3a04 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/PresentChoiceSetOperationTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/PresentChoiceSetOperationTests.java
@@ -35,7 +35,7 @@
package com.smartdevicelink.managers.screen.choiceset;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.livio.taskmaster.Queue;
import com.livio.taskmaster.Task;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/PresentKeyboardOperationTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/PresentKeyboardOperationTests.java
index 16992a522..37264b865 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/PresentKeyboardOperationTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/PresentKeyboardOperationTests.java
@@ -35,7 +35,7 @@
package com.smartdevicelink.managers.screen.choiceset;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.livio.taskmaster.Queue;
import com.livio.taskmaster.Task;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuCellTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuCellTests.java
index 0105553fa..eae5b530a 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuCellTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuCellTests.java
@@ -32,9 +32,9 @@
package com.smartdevicelink.managers.screen.menu;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
-import com.smartdevicelink.managers.file.SdlArtworkTests;
+import com.smartdevicelink.managers.file.filetypes.SdlArtworkTests;
import com.smartdevicelink.proxy.rpc.enums.MenuLayout;
import com.smartdevicelink.proxy.rpc.enums.TriggerSource;
import com.smartdevicelink.test.TestValues;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuConfigurationTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuConfigurationTests.java
index e623d2ee2..2986d496a 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuConfigurationTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuConfigurationTests.java
@@ -35,7 +35,7 @@
package com.smartdevicelink.managers.screen.menu;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.test.TestValues;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuManagerTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuManagerTests.java
index 4a68a6b1c..b740d303a 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuManagerTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuManagerTests.java
@@ -32,7 +32,7 @@
package com.smartdevicelink.managers.screen.menu;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.R;
import com.smartdevicelink.managers.BaseSubManager;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/RunScoreTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/RunScoreTests.java
index 724a53699..e3468b803 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/RunScoreTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/RunScoreTests.java
@@ -32,7 +32,7 @@
package com.smartdevicelink.managers.screen.menu;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.test.TestValues;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/SubCellCommandListTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/SubCellCommandListTests.java
index a6eccbad0..29dd8e7c6 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/SubCellCommandListTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/SubCellCommandListTests.java
@@ -32,7 +32,7 @@
package com.smartdevicelink.managers.screen.menu;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.test.TestValues;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/VoiceCommandManagerTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/VoiceCommandManagerTests.java
index 72f52b3d5..a73c28ef2 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/VoiceCommandManagerTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/VoiceCommandManagerTests.java
@@ -32,7 +32,7 @@
package com.smartdevicelink.managers.screen.menu;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.managers.BaseSubManager;
import com.smartdevicelink.managers.CompletionListener;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/VoiceCommandTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/VoiceCommandTests.java
index 6be14c367..00e198a91 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/VoiceCommandTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/VoiceCommandTests.java
@@ -32,7 +32,7 @@
package com.smartdevicelink.managers.screen.menu;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.test.TestValues;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/video/VideoStreamManagerTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/video/VideoStreamManagerTests.java
index e6cb892bd..a393bf34f 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/video/VideoStreamManagerTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/video/VideoStreamManagerTests.java
@@ -2,20 +2,20 @@ package com.smartdevicelink.managers.video;
import android.content.Context;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.annotation.NonNull;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.MotionEvent;
import android.view.View;
import com.smartdevicelink.managers.CompletionListener;
+import com.smartdevicelink.managers.lifecycle.OnSystemCapabilityListener;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.protocol.enums.SessionType;
import com.smartdevicelink.proxy.interfaces.ISdl;
import com.smartdevicelink.proxy.interfaces.ISdlServiceListener;
import com.smartdevicelink.proxy.interfaces.IVideoStreamListener;
-import com.smartdevicelink.proxy.interfaces.OnSystemCapabilityListener;
import com.smartdevicelink.proxy.rpc.ImageResolution;
import com.smartdevicelink.proxy.rpc.OnHMIStatus;
import com.smartdevicelink.proxy.rpc.OnTouchEvent;
@@ -58,7 +58,7 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink video streaming manager class :
@@ -74,7 +74,7 @@ public class VideoStreamManagerTests {
@Before
public void setUp() throws Exception{
- mTestContext = getContext();
+ mTestContext = getInstrumentation().getContext();
}
// TEST CLASSES
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/protocol/SdlPacketTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/protocol/SdlPacketTests.java
index e4a2555d2..514067db9 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/protocol/SdlPacketTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/protocol/SdlPacketTests.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.protocol;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.livio.BSON.BsonEncoder;
import com.smartdevicelink.protocol.enums.ControlFrameTags;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/protocol/SdlProtocolTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/protocol/SdlProtocolTests.java
index f77d65b9d..e05767aac 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/protocol/SdlProtocolTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/protocol/SdlProtocolTests.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.protocol;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import android.util.Log;
import com.smartdevicelink.protocol.enums.SessionType;
@@ -10,7 +10,7 @@ import com.smartdevicelink.test.SampleRpc;
import com.smartdevicelink.test.SdlUnitTestContants;
import com.smartdevicelink.transport.BaseTransportConfig;
import com.smartdevicelink.transport.MultiplexTransportConfig;
-import com.smartdevicelink.transport.RouterServiceValidator;
+import com.smartdevicelink.util.Version;
import junit.framework.Assert;
@@ -20,15 +20,13 @@ import org.junit.runner.RunWith;
import java.io.ByteArrayOutputStream;
import java.lang.reflect.Method;
-import java.util.List;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertFalse;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
-import static junit.framework.TestCase.assertTrue;
import static org.mockito.Mockito.mock;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
@RunWith(AndroidJUnit4.class)
public class SdlProtocolTests {
@@ -49,8 +47,7 @@ public class SdlProtocolTests {
public boolean didReceive(){
return didReceive;
}
- @Override
- public void onProtocolMessageBytesToSend(SdlPacket packet) {}
+
@Override
public void onProtocolMessageReceived(ProtocolMessage msg) {
didReceive = true;
@@ -58,42 +55,62 @@ public class SdlProtocolTests {
Log.d("DidReceiveListener", "Function Id: " + msg.getFunctionID());
Log.d("DidReceiveListener", "JSON Size: " + msg.getJsonSize());
}
+
@Override
- public void onProtocolSessionStarted(SessionType sessionType,byte sessionID, byte version, String correlationID, int hashID,boolean isEncrypted){}
- @Override
- public void onProtocolSessionNACKed(SessionType sessionType,byte sessionID, byte version, String correlationID, List<String> rejectedParams) {}
- @Override
- public void onProtocolSessionEnded(SessionType sessionType,byte sessionID, String correlationID) {}
- @Override
- public void onProtocolSessionEndedNACKed(SessionType sessionType,byte sessionID, String correlationID) {}
- @Override
- public void onProtocolHeartbeat(SessionType sessionType, byte sessionID) {}
- @Override
- public void onProtocolHeartbeatACK(SessionType sessionType,byte sessionID) {}
- @Override
- public void onProtocolServiceDataACK(SessionType sessionType,int dataSize, byte sessionID) {}
- @Override
- public void onResetOutgoingHeartbeat(SessionType sessionType,byte sessionID) {}
+ public void onServiceStarted(SdlPacket packet, SessionType serviceType, int sessionID, Version version, boolean isEncrypted) {
+
+ }
+
@Override
- public void onResetIncomingHeartbeat(SessionType sessionType,byte sessionID) {}
+ public void onServiceEnded(SdlPacket packet, SessionType serviceType, int sessionID) {
+
+ }
+
@Override
- public void onProtocolError(String info, Exception e) {}
+ public void onServiceError(SdlPacket packet, SessionType serviceType, int sessionID, String error) {
+
+ }
+
@Override
- public byte getSessionId() {return 0;}
+ public void onProtocolError(String info, Exception e) {
+
+ }
+
@Override
- public void shutdown(String info) {}
+ public int getSessionId() {
+ return 0;
+ }
+
@Override
- public void onTransportDisconnected(String info, boolean altTransportAvailable, BaseTransportConfig transportConfig) {}
+ public void shutdown(String info) {
+
+ }
+
@Override
- public SdlSecurityBase getSdlSecurity() {return null;}
+ public void onTransportDisconnected(String info, boolean altTransportAvailable, BaseTransportConfig transportConfig) {
+
+ }
+
@Override
- public VideoStreamingParameters getDesiredVideoParams() {return null; }
+ public SdlSecurityBase getSdlSecurity() {
+ return null;
+ }
+
@Override
- public void setAcceptedVideoParams(VideoStreamingParameters acceptedVideoParams) {}
+ public VideoStreamingParameters getDesiredVideoParams() {
+ return null;
+ }
+
@Override
- public void stopStream(SessionType serviceType) {}
+ public void setAcceptedVideoParams(VideoStreamingParameters acceptedVideoParams) {
+
+ }
+
@Override
- public void onAuthTokenReceived(String token){}
+ public void onAuthTokenReceived(String authToken) {
+
+ }
+
};
DidReceiveListener onProtocolMessageReceivedListener = new DidReceiveListener();
@@ -101,7 +118,7 @@ public class SdlProtocolTests {
@Before
public void setUp(){
- config = new MultiplexTransportConfig(getContext(), SdlUnitTestContants.TEST_APP_ID);
+ config = new MultiplexTransportConfig(getInstrumentation().getContext(), SdlUnitTestContants.TEST_APP_ID);
protocol = new SdlProtocol(defaultListener,config);
}
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/BaseRpcTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/BaseRpcTests.java
index db9d7f5b2..a8aec30ac 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/BaseRpcTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/BaseRpcTests.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.test;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.proxy.RPCMessage;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/SdlConnection/SdlSessionTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/SdlConnection/SdlSessionTests.java
index 11d2dbb7d..cc5b2f7ab 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/SdlConnection/SdlSessionTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/SdlConnection/SdlSessionTests.java
@@ -9,7 +9,7 @@ import com.smartdevicelink.transport.TCPTransportConfig;
import junit.framework.TestCase;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static org.mockito.Mockito.mock;
/**
@@ -19,7 +19,7 @@ import static org.mockito.Mockito.mock;
public class SdlSessionTests extends TestCase {
public void testServiceListeners(){
- SdlSession session = new SdlSession(new MockInterfaceBroker(), new MultiplexTransportConfig(getTargetContext(),"19216801"));
+ SdlSession session = new SdlSession(new MockInterfaceBroker(), new MultiplexTransportConfig(getInstrumentation().getTargetContext(),"19216801"));
ISdlServiceListener test = new ISdlServiceListener() {
@Override
public void onServiceStarted(SdlSession session, SessionType type, boolean isEncrypted) {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/TestValues.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/TestValues.java
index 37cae48f4..05d0327a7 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/TestValues.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/TestValues.java
@@ -38,7 +38,9 @@ import com.smartdevicelink.proxy.rpc.DeviceInfo;
import com.smartdevicelink.proxy.rpc.DisplayCapabilities;
import com.smartdevicelink.proxy.rpc.DisplayCapability;
import com.smartdevicelink.proxy.rpc.DriverDistractionCapability;
+import com.smartdevicelink.proxy.rpc.DynamicUpdateCapabilities;
import com.smartdevicelink.proxy.rpc.EqualizerSettings;
+import com.smartdevicelink.proxy.rpc.GearStatus;
import com.smartdevicelink.proxy.rpc.Grid;
import com.smartdevicelink.proxy.rpc.HMICapabilities;
import com.smartdevicelink.proxy.rpc.HMIPermissions;
@@ -109,6 +111,8 @@ import com.smartdevicelink.proxy.rpc.WeatherData;
import com.smartdevicelink.proxy.rpc.WeatherServiceData;
import com.smartdevicelink.proxy.rpc.WeatherServiceManifest;
import com.smartdevicelink.proxy.rpc.WindowCapability;
+import com.smartdevicelink.proxy.rpc.WindowState;
+import com.smartdevicelink.proxy.rpc.WindowStatus;
import com.smartdevicelink.proxy.rpc.WindowTypeCapabilities;
import com.smartdevicelink.proxy.rpc.enums.AmbientLightStatus;
import com.smartdevicelink.proxy.rpc.enums.AppHMIType;
@@ -165,6 +169,7 @@ import com.smartdevicelink.proxy.rpc.enums.MetadataType;
import com.smartdevicelink.proxy.rpc.enums.ModuleType;
import com.smartdevicelink.proxy.rpc.enums.NavigationAction;
import com.smartdevicelink.proxy.rpc.enums.NavigationJunction;
+import com.smartdevicelink.proxy.rpc.enums.PRNDL;
import com.smartdevicelink.proxy.rpc.enums.PowerModeQualificationStatus;
import com.smartdevicelink.proxy.rpc.enums.PowerModeStatus;
import com.smartdevicelink.proxy.rpc.enums.PrerecordedSpeech;
@@ -188,6 +193,7 @@ import com.smartdevicelink.proxy.rpc.enums.TemperatureUnit;
import com.smartdevicelink.proxy.rpc.enums.TextAlignment;
import com.smartdevicelink.proxy.rpc.enums.TextFieldName;
import com.smartdevicelink.proxy.rpc.enums.TouchType;
+import com.smartdevicelink.proxy.rpc.enums.TransmissionType;
import com.smartdevicelink.proxy.rpc.enums.TriggerSource;
import com.smartdevicelink.proxy.rpc.enums.UpdateMode;
import com.smartdevicelink.proxy.rpc.enums.VehicleDataEventStatus;
@@ -295,6 +301,7 @@ public class TestValues {
public static final SoftButtonType GENERAL_SOFTBUTTONTYPE = SoftButtonType.SBT_BOTH;
public static final MassageZone GENERAL_MASSAGEZONE = MassageZone.LUMBAR;
public static final MassageMode GENERAL_MASSAGEMODE = MassageMode.HIGH;
+ public static final WindowStatus GENERAL_WINDOW_STATUS = new WindowStatus();
public static final MassageCushion GENERAL_MASSAGECUSHION = MassageCushion.BACK_BOLSTERS;
public static final SeatMemoryActionType GENERAL_SEATMEMORYACTIONTYPE = SeatMemoryActionType.SAVE;
public static final SupportedSeat GENERAL_SUPPORTEDSEAT = SupportedSeat.DRIVER;
@@ -415,6 +422,7 @@ public class TestValues {
public static final AudioControlData GENERAL_AUDIOCONTROLDATA = new AudioControlData();
public static final LightControlData GENERAL_LIGHTCONTROLDATA = new LightControlData();
public static final HMISettingsControlData GENERAL_HMISETTINGSCONTROLDATA = new HMISettingsControlData();
+ public static final DynamicUpdateCapabilities GENERAL_DYNAMICUPDATECAPABILITIES = new DynamicUpdateCapabilities();
public static final VehicleDataResult GENERAL_OEM_CUSTOM_VEHICLE_DATA = new VehicleDataResult();
public static final TemplateConfiguration GENERAL_TEMPLATE_CONFIGURATION = new TemplateConfiguration();
@@ -437,6 +445,14 @@ public class TestValues {
public static final SeatLocation GENERAL_SEAT_LOCATION = new SeatLocation();
public static final ModuleInfo GENERAL_MODULE_INFO = new ModuleInfo();
public static final WindowType GENERAL_WINDOWTYPE = WindowType.MAIN;
+ public static final GearStatus GENERAL_GEAR_STATUS = new GearStatus();
+ public static final PRNDL GENERAL_USER_SELECTED_GEAR = PRNDL.NEUTRAL;
+ public static final PRNDL GENERAL_ACTUAL_GEAR = PRNDL.DRIVE;
+ public static final TransmissionType GENERAL_TRANSMISSION_TYPE = TransmissionType.AUTOMATIC;
+ public static final Grid GENERAL_LOCATION_GRID = new Grid(2, 3);
+ public static final WindowState GENERAL_WINDOW_STATE = new WindowState(2, 3);
+ public static final Integer GENERAL_APPROX_POSITION = new Integer(3);
+ public static final Integer GENERAL_DEVIATION = new Integer(2);
public static final List<Long> GENERAL_LONG_LIST = Arrays.asList(new Long[]{ 1L, 2L });
public static final List<Turn> GENERAL_TURN_LIST = new ArrayList<Turn>();
public static final List<Choice> GENERAL_CHOICE_LIST = new ArrayList<Choice>();
@@ -567,6 +583,7 @@ public class TestValues {
public static final JSONArray JSON_IMAGE_TYPES = new JSONArray();
public static final JSONObject JSON_DISPLAYCAPABILITY = new JSONObject();
public static final JSONArray JSON_DISPLAYCAPABILITY_LIST = new JSONArray();
+ public static final JSONObject JSON_DYNAMICUPDATECAPABILITIES = new JSONObject();
static {
GENERAL_TOUCHEVENTCAPABILITIES.setDoublePressAvailable(GENERAL_BOOLEAN);
GENERAL_TOUCHEVENTCAPABILITIES.setMultiTouchAvailable(GENERAL_BOOLEAN);
@@ -619,6 +636,9 @@ public class TestValues {
GENERAL_HMISETTINGSCONTROLDATA.setTemperatureUnit(GENERAL_TEMPERATUREUNIT);
GENERAL_HMISETTINGSCONTROLDATA.setDisplayMode(GENERAL_DISPLAYMODE);
+ GENERAL_DYNAMICUPDATECAPABILITIES.setSupportsDynamicSubMenus(GENERAL_BOOLEAN);
+ GENERAL_DYNAMICUPDATECAPABILITIES.setSupportedDynamicImageFieldNames(Collections.singletonList(GENERAL_IMAGEFIELDNAME));
+
GENERAL_LIGHTCONTROLDATA.setLightState(GENERAL_LIGHTSTATE_LIST);
GENERAL_STATIONIDNUMBER.setCountryCode(GENERAL_INT);
@@ -1117,6 +1137,12 @@ public class TestValues {
GENERAL_MODULE_INFO.setModuleServiceArea(TestValues.GENERAL_GRID);
GENERAL_MODULE_INFO.setMultipleAccessAllowance(TestValues.GENERAL_BOOLEAN);
+ GENERAL_GEAR_STATUS.setActualGear(GENERAL_ACTUAL_GEAR);
+ GENERAL_GEAR_STATUS.setTransmissionType(GENERAL_TRANSMISSION_TYPE);
+ GENERAL_GEAR_STATUS.setUserSelectedGear(GENERAL_USER_SELECTED_GEAR);
+
+ GENERAL_WINDOW_STATUS.setLocation(TestValues.GENERAL_GRID);
+ GENERAL_WINDOW_STATUS.setState(TestValues.GENERAL_WINDOW_STATE);
try {
JSON_HMIPERMISSIONS.put(HMIPermissions.KEY_ALLOWED, GENERAL_HMILEVEL_LIST);
@@ -1333,6 +1359,9 @@ public class TestValues {
JSON_DISPLAYCAPABILITY.put(DisplayCapability.KEY_WINDOW_CAPABILITIES, JSON_WINDOW_CAPABILITIES);
JSON_DISPLAYCAPABILITY_LIST.put(JSON_DISPLAYCAPABILITY);
+ JSON_DYNAMICUPDATECAPABILITIES.put(DynamicUpdateCapabilities.KEY_SUPPORTS_DYNAMIC_SUB_MENUS, GENERAL_BOOLEAN);
+ JSON_DYNAMICUPDATECAPABILITIES.put(DynamicUpdateCapabilities.KEY_SUPPORTED_DYNAMIC_IMAGE_FIELD_NAMES, JsonUtils.createJsonArray(Collections.singletonList(GENERAL_IMAGEFIELDNAME)));
+
JSON_TOUCHCOORD.put(TouchCoord.KEY_X, GENERAL_INT);
JSON_TOUCHCOORD.put(TouchCoord.KEY_Y, GENERAL_INT);
JSON_TOUCHCOORDS.put(JSON_TOUCHCOORD);
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/Validator.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/Validator.java
index 69d32c33d..d34bfea07 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/Validator.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/Validator.java
@@ -11,8 +11,10 @@ import com.smartdevicelink.proxy.rpc.enums.DefrostZone;
import com.smartdevicelink.proxy.rpc.enums.FileType;
import com.smartdevicelink.proxy.rpc.enums.HMILevel;
import com.smartdevicelink.proxy.rpc.enums.HmiZoneCapabilities;
+import com.smartdevicelink.proxy.rpc.enums.PRNDL;
import com.smartdevicelink.proxy.rpc.enums.PrerecordedSpeech;
import com.smartdevicelink.proxy.rpc.enums.SpeechCapabilities;
+import com.smartdevicelink.proxy.rpc.enums.TransmissionType;
import com.smartdevicelink.proxy.rpc.enums.VentilationMode;
import java.util.Iterator;
@@ -3826,4 +3828,89 @@ public class Validator{
}
return validateGrid(cap1.getGrid(), cap2.getGrid());
}
+
+ public static boolean validateGearStatuses(GearStatus status1, GearStatus status2) {
+ if (status1 == null) {
+ return (status2 == null);
+ }
+ if (status2 == null) {
+ return (status1 == null);
+ }
+
+ PRNDL actualGear1 = status1.getActualGear();
+ PRNDL actualGear2 = status2.getActualGear();
+
+ TransmissionType transmissionType1 = status1.getTransmissionType();
+ TransmissionType transmissionType2 = status2.getTransmissionType();
+
+ PRNDL userSelectedGear1 = status1.getUserSelectedGear();
+ PRNDL userSelectedGear2 = status2.getUserSelectedGear();
+
+ return actualGear1.equals(actualGear2)
+ && transmissionType1.equals(transmissionType2)
+ && userSelectedGear1.equals(userSelectedGear2);
+ }
+
+ public static boolean validateWindowStatuses(List<WindowStatus> item1, List<WindowStatus> item2) {
+ if (item1 == null) {
+ return ( item2 == null );
+ }
+ if (item2 == null) {
+ return ( item1 == null );
+ }
+
+ if (item1.size() != item2.size()) {
+ return false;
+ }
+
+ Iterator<WindowStatus> iterator1 = item1.iterator();
+ Iterator<WindowStatus> iterator2 = item2.iterator();
+
+ while(iterator1.hasNext() && iterator2.hasNext()){
+ WindowStatus windowStatus1 = iterator1.next();
+ WindowStatus windowStatus2 = iterator2.next();
+
+ if(!validateWindowStatus(windowStatus1, windowStatus2)){
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ public static boolean validateWindowStatus(WindowStatus item1, WindowStatus item2) {
+ if (item1 == null) {
+ return ( item2 == null );
+ }
+ if (item2 == null) {
+ return ( item1 == null );
+ }
+
+ if (!validateWindowStates(item1.getState(), item2.getState())) {
+ return false;
+ }
+ if (!validateGrid(item1.getLocation(), item2.getLocation())) {
+ return false;
+ }
+
+ return true;
+ }
+
+ public static boolean validateWindowStates (WindowState item1, WindowState item2) {
+ if (item1 == null) {
+ return ( item2 == null );
+ }
+ if (item2 == null) {
+ return ( item1 == null );
+ }
+
+ Integer approxPosition1 = item1.getApproximatePosition();
+ Integer approxPosition2 = item2.getApproximatePosition();
+
+ Integer deviation1 = item1.getDeviation();
+ Integer deviation2 = item2.getDeviation();
+
+
+ return approxPosition1.equals(approxPosition2) && deviation1.equals(deviation2);
+ }
}
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/VehicleDataHelper.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/VehicleDataHelper.java
index 729f1e498..542cf28c3 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/VehicleDataHelper.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/VehicleDataHelper.java
@@ -9,12 +9,16 @@ import com.smartdevicelink.proxy.rpc.ECallInfo;
import com.smartdevicelink.proxy.rpc.EmergencyEvent;
import com.smartdevicelink.proxy.rpc.FuelRange;
import com.smartdevicelink.proxy.rpc.GPSData;
+import com.smartdevicelink.proxy.rpc.GearStatus;
import com.smartdevicelink.proxy.rpc.GetVehicleDataResponse;
+import com.smartdevicelink.proxy.rpc.Grid;
import com.smartdevicelink.proxy.rpc.HeadLampStatus;
import com.smartdevicelink.proxy.rpc.MyKey;
import com.smartdevicelink.proxy.rpc.OnVehicleData;
import com.smartdevicelink.proxy.rpc.SingleTireStatus;
import com.smartdevicelink.proxy.rpc.TireStatus;
+import com.smartdevicelink.proxy.rpc.WindowState;
+import com.smartdevicelink.proxy.rpc.WindowStatus;
import com.smartdevicelink.proxy.rpc.enums.AmbientLightStatus;
import com.smartdevicelink.proxy.rpc.enums.CarModeStatus;
import com.smartdevicelink.proxy.rpc.enums.CompassDirection;
@@ -32,6 +36,7 @@ import com.smartdevicelink.proxy.rpc.enums.PRNDL;
import com.smartdevicelink.proxy.rpc.enums.PowerModeQualificationStatus;
import com.smartdevicelink.proxy.rpc.enums.PowerModeStatus;
import com.smartdevicelink.proxy.rpc.enums.PrimaryAudioSource;
+import com.smartdevicelink.proxy.rpc.enums.TransmissionType;
import com.smartdevicelink.proxy.rpc.enums.TurnSignal;
import com.smartdevicelink.proxy.rpc.enums.VehicleDataEventStatus;
import com.smartdevicelink.proxy.rpc.enums.VehicleDataNotificationStatus;
@@ -72,12 +77,15 @@ public class VehicleDataHelper{
public static final AirbagStatus AIRBAG_STATUS = new AirbagStatus();
public static final EmergencyEvent EMERGENCY_EVENT = new EmergencyEvent();
public static final ClusterModeStatus CLUSTER_MODE_STATUS = new ClusterModeStatus();
+ public static final WindowStatus WINDOW_STATUS = new WindowStatus();
+ public static final List<WindowStatus> WINDOW_STATUS_LIST = new ArrayList<>(1);
public static final MyKey MY_KEY = new MyKey();
public static final FuelRange FUEL_RANGE = new FuelRange();
public static final List<FuelRange> FUEL_RANGE_LIST = new ArrayList<FuelRange>(1);
public static final TurnSignal TURN_SIGNAL = TurnSignal.OFF;
public static final ElectronicParkBrakeStatus ELECTRONIC_PARK_BRAKE_STATUS = ElectronicParkBrakeStatus.CLOSED;
public static final String OEM_CUSTOM_VEHICLE_DATA_STATE = "oemCustomVehicleDataState";
+ public static final Boolean HANDS_OFF_STEERING = Boolean.TRUE;
//other variables inside some of the above objects
// tire status
@@ -168,7 +176,7 @@ public class VehicleDataHelper{
public static final VehicleDataEventStatus AIRBAG_STATUS_DRIVER_KNEE_DEPLOYED = VehicleDataEventStatus.NO;
public static final VehicleDataEventStatus AIRBAG_STATUS_PASSENGER_SIDE_DEPLOYED = VehicleDataEventStatus.YES;
public static final VehicleDataEventStatus AIRBAG_STATUS_PASSENGER_KNEE_DEPLOYED = VehicleDataEventStatus.NO;
-
+
// emergency event
public static final EmergencyEventType EMERGENCY_EVENT_TYPE = EmergencyEventType.FRONTAL;
public static final FuelCutoffStatus EMERGENCY_EVENT_FUEL_CUTOFF_STATUS = FuelCutoffStatus.TERMINATE_FUEL;
@@ -190,6 +198,16 @@ public class VehicleDataHelper{
public static final FuelType FUEL_RANGE_TYPE = FuelType.GASOLINE;
public static final Float FUEL_RANGE_RANGE = TestValues.GENERAL_FLOAT;
+ // Gear status
+ public static final GearStatus GEAR_STATUS = new GearStatus();
+ public static final PRNDL USER_SELECTED_GEAR = PRNDL.FIRST;
+ public static final PRNDL ACTUAL_GEAR = PRNDL.SECOND;
+ public static final TransmissionType TRANSMISSION_TYPE = TransmissionType.ELECTRIC_VARIABLE;
+
+ // WindowStatus
+ public static final Grid LOCATION_GRID = TestValues.GENERAL_LOCATION_GRID;
+ public static final WindowState WINDOW_STATE = TestValues.GENERAL_WINDOW_STATE;
+
public static final JSONArray JSON_FUEL_RANGE = new JSONArray();
//the OnVehicleData which stores all the information above
@@ -320,6 +338,10 @@ public class VehicleDataHelper{
FUEL_RANGE.setRange(FUEL_RANGE_RANGE);
FUEL_RANGE_LIST.add(FUEL_RANGE);
+ //WINDOW_STATUS and WINDOW_STATUS_LIST set up
+ WINDOW_STATUS.setLocation(LOCATION_GRID);
+ WINDOW_STATUS.setState(WINDOW_STATE);
+ WINDOW_STATUS_LIST.add(WINDOW_STATUS);
// FUEL_RANGE json array set up
try {
JSON_FUEL_RANGE.put(FUEL_RANGE.serializeJSON());
@@ -327,6 +349,11 @@ public class VehicleDataHelper{
e.printStackTrace();
}
+ // GEAR_STATUS
+ GEAR_STATUS.setTransmissionType(TRANSMISSION_TYPE);
+ GEAR_STATUS.setUserSelectedGear(USER_SELECTED_GEAR);
+ GEAR_STATUS.setActualGear(ACTUAL_GEAR);
+
//set up the OnVehicleData object
VEHICLE_DATA.setSpeed(SPEED);
VEHICLE_DATA.setRpm(RPM);
@@ -357,8 +384,10 @@ public class VehicleDataHelper{
VEHICLE_DATA.setFuelRange(FUEL_RANGE_LIST);
VEHICLE_DATA.setTurnSignal(TURN_SIGNAL);
VEHICLE_DATA.setElectronicParkBrakeStatus(ELECTRONIC_PARK_BRAKE_STATUS);
+ VEHICLE_DATA.setGearStatus(GEAR_STATUS);
+ VEHICLE_DATA.setWindowStatus(WINDOW_STATUS_LIST);
VEHICLE_DATA.setOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, OEM_CUSTOM_VEHICLE_DATA_STATE);
-
+ VEHICLE_DATA.setHandsOffSteering(HANDS_OFF_STEERING);
//set up the GetVehicleDataResponse object
VEHICLE_DATA_RESPONSE.setSpeed(SPEED);
VEHICLE_DATA_RESPONSE.setRpm(RPM);
@@ -389,7 +418,10 @@ public class VehicleDataHelper{
VEHICLE_DATA_RESPONSE.setFuelRange(FUEL_RANGE_LIST);
VEHICLE_DATA_RESPONSE.setTurnSignal(TURN_SIGNAL);
VEHICLE_DATA_RESPONSE.setElectronicParkBrakeStatus(ELECTRONIC_PARK_BRAKE_STATUS);
+ VEHICLE_DATA_RESPONSE.setGearStatus(GEAR_STATUS);
+ VEHICLE_DATA_RESPONSE.setWindowStatus(WINDOW_STATUS_LIST);
VEHICLE_DATA_RESPONSE.setOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, OEM_CUSTOM_VEHICLE_DATA_STATE);
+ VEHICLE_DATA_RESPONSE.setHandsOffSteering(HANDS_OFF_STEERING);
}
private VehicleDataHelper(){}
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/protocol/BinaryFrameHeaderTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/protocol/BinaryFrameHeaderTests.java
index 733192fdd..50f949e3d 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/protocol/BinaryFrameHeaderTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/protocol/BinaryFrameHeaderTests.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.test.protocol;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.protocol.BinaryFrameHeader;
import com.smartdevicelink.protocol.enums.FunctionID;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/LockScreenManagerTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/LockScreenManagerTest.java
deleted file mode 100644
index 082c87fda..000000000
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/LockScreenManagerTest.java
+++ /dev/null
@@ -1,142 +0,0 @@
-package com.smartdevicelink.test.proxy;
-
-import com.smartdevicelink.proxy.LockScreenManager;
-import com.smartdevicelink.proxy.rpc.OnLockScreenStatus;
-import com.smartdevicelink.proxy.rpc.enums.HMILevel;
-import com.smartdevicelink.proxy.rpc.enums.LockScreenStatus;
-import com.smartdevicelink.test.TestValues;
-
-import junit.framework.TestCase;
-
-/**
- * This is a unit test class for the SmartDeviceLink library project class :
- * {@link com.smartdevicelink.proxy.LockScreenManager}
- */
-public class LockScreenManagerTest extends TestCase {
-
- /**
- * This is a unit test for the following methods :
- * {@link com.smartdevicelink.proxy.LockScreenManager#setDriverDistStatus(boolean)}
- */
- public void testDriverDistStatus(){
- LockScreenManager lockMan = new LockScreenManager();
- lockMan.setDriverDistStatus(true);
- assertEquals(TestValues.MATCH, true, (boolean) lockMan.getLockObj().getDriverDistractionStatus());
-
- lockMan.setDriverDistStatus(false);
- assertEquals(TestValues.MATCH, false, (boolean) lockMan.getLockObj().getDriverDistractionStatus());
- }
-
- /**
- * This is a unit test for the following methods :
- * {@link com.smartdevicelink.proxy.LockScreenManager#setHMILevel(HMILevel)}
- */
- public void testHmiLevelStatus(){
- LockScreenManager lockMan = new LockScreenManager();
- lockMan.setHMILevel(HMILevel.HMI_BACKGROUND);
- assertEquals(TestValues.MATCH, HMILevel.HMI_BACKGROUND, lockMan.getLockObj().getHMILevel());
-
- lockMan.setHMILevel(HMILevel.HMI_FULL);
- assertEquals(TestValues.MATCH, HMILevel.HMI_FULL, lockMan.getLockObj().getHMILevel());
-
- lockMan.setHMILevel(HMILevel.HMI_LIMITED);
- assertEquals(TestValues.MATCH, HMILevel.HMI_LIMITED, lockMan.getLockObj().getHMILevel());
-
- lockMan.setHMILevel(HMILevel.HMI_NONE);
- assertEquals(TestValues.MATCH, HMILevel.HMI_NONE, lockMan.getLockObj().getHMILevel());
-
- lockMan.setHMILevel(null);
- assertNull(TestValues.NULL, lockMan.getLockObj().getHMILevel());
- }
-
- /**
- * Test the lock screen status when no setter methods are called.
- */
- public void testLockScreenStatusNull(){
- LockScreenManager lockMan = new LockScreenManager();
- OnLockScreenStatus result = lockMan.getLockObj();
- assertNotNull(TestValues.NOT_NULL, result);
- assertEquals(TestValues.MATCH, LockScreenStatus.OFF, result.getShowLockScreen());
- }
-
- /**
- * Test the invalid settings of lock screen status.
- */
- public void testLockScreenStatusDriverDistNull(){
- LockScreenManager lockMan = new LockScreenManager();
-
- OnLockScreenStatus result = lockMan.getLockObj();
- assertEquals(TestValues.MATCH, LockScreenStatus.OFF, result.getShowLockScreen());
-
- lockMan.setHMILevel(HMILevel.HMI_NONE);
- result = lockMan.getLockObj();
- assertEquals(TestValues.MATCH, LockScreenStatus.OFF, result.getShowLockScreen());
-
- lockMan.setHMILevel(HMILevel.HMI_BACKGROUND);
- result = lockMan.getLockObj();
- assertEquals(TestValues.MATCH, LockScreenStatus.OFF, result.getShowLockScreen());
-
- lockMan.setHMILevel(HMILevel.HMI_FULL);
- result = lockMan.getLockObj();
- assertEquals(TestValues.MATCH, LockScreenStatus.REQUIRED, result.getShowLockScreen());
-
- lockMan.setHMILevel(HMILevel.HMI_LIMITED);
- result = lockMan.getLockObj();
- assertEquals(TestValues.MATCH, LockScreenStatus.REQUIRED, result.getShowLockScreen());
- }
-
- /**
- * Test the enabled settings of lock screen status.
- */
- public void testLockScreenStatusDriverDistEnabled(){
- LockScreenManager lockMan = new LockScreenManager();
- lockMan.setDriverDistStatus(true);
-
- // HMI level is null
- OnLockScreenStatus result = lockMan.getLockObj();
- assertEquals(TestValues.MATCH, LockScreenStatus.OFF, result.getShowLockScreen());
-
- lockMan.setHMILevel(HMILevel.HMI_NONE);
- result = lockMan.getLockObj();
- assertEquals(TestValues.MATCH, LockScreenStatus.OFF, result.getShowLockScreen());
-
- lockMan.setHMILevel(HMILevel.HMI_BACKGROUND);
- result = lockMan.getLockObj();
- assertEquals(TestValues.MATCH, LockScreenStatus.OFF, result.getShowLockScreen());
-
- lockMan.setHMILevel(HMILevel.HMI_FULL);
- result = lockMan.getLockObj();
- assertEquals(TestValues.MATCH, LockScreenStatus.REQUIRED, result.getShowLockScreen());
-
- lockMan.setHMILevel(HMILevel.HMI_LIMITED);
- result = lockMan.getLockObj();
- assertEquals(TestValues.MATCH, LockScreenStatus.REQUIRED, result.getShowLockScreen());
- }
-
- /**
- * Test the disabled settings of lock screen status.
- */
- public void testLockScreenStatusDriverDistDisabled(){
- LockScreenManager lockMan = new LockScreenManager();
- lockMan.setDriverDistStatus(false);
-
- OnLockScreenStatus result = lockMan.getLockObj();
- assertEquals(TestValues.MATCH, LockScreenStatus.OFF, result.getShowLockScreen());
-
- lockMan.setHMILevel(HMILevel.HMI_NONE);
- result = lockMan.getLockObj();
- assertEquals(TestValues.MATCH, LockScreenStatus.OFF, result.getShowLockScreen());
-
- lockMan.setHMILevel(HMILevel.HMI_BACKGROUND);
- result = lockMan.getLockObj();
- assertEquals(TestValues.MATCH, LockScreenStatus.OFF, result.getShowLockScreen());
-
- lockMan.setHMILevel(HMILevel.HMI_FULL);
- result = lockMan.getLockObj();
- assertEquals(TestValues.MATCH, LockScreenStatus.OPTIONAL, result.getShowLockScreen());
-
- lockMan.setHMILevel(HMILevel.HMI_LIMITED);
- result = lockMan.getLockObj();
- assertEquals(TestValues.MATCH, LockScreenStatus.OPTIONAL, result.getShowLockScreen());
- }
-} \ No newline at end of file
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/RPCRequestTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/RPCRequestTest.java
index bcf319383..5972dc829 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/RPCRequestTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/RPCRequestTest.java
@@ -1,7 +1,7 @@
package com.smartdevicelink.test.proxy;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.proxy.RPCRequest;
import com.smartdevicelink.proxy.rpc.GetSystemCapability;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SdlProxyBaseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SdlProxyBaseTests.java
index 385362be8..92670c7d4 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SdlProxyBaseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SdlProxyBaseTests.java
@@ -1,7 +1,7 @@
package com.smartdevicelink.test.proxy;
import android.content.Context;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import android.telephony.TelephonyManager;
import android.util.Log;
@@ -15,6 +15,7 @@ import com.smartdevicelink.proxy.SdlProxyBase;
import com.smartdevicelink.proxy.SdlProxyBuilder;
import com.smartdevicelink.proxy.SdlProxyConfigurationResources;
import com.smartdevicelink.proxy.interfaces.IProxyListenerALM;
+import com.smartdevicelink.proxy.rpc.GenericResponse;
import com.smartdevicelink.proxy.rpc.Show;
import com.smartdevicelink.proxy.rpc.ShowResponse;
import com.smartdevicelink.proxy.rpc.Speak;
@@ -46,7 +47,7 @@ import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
@RunWith(AndroidJUnit4.class)
public class SdlProxyBaseTests {
@@ -60,8 +61,8 @@ public class SdlProxyBaseTests {
@Test
public void testNullSdlProxyConfigurationResources() {
SdlProxyALM proxy = null;
- SdlProxyBuilder.Builder builder = new SdlProxyBuilder.Builder(mock(IProxyListenerALM.class), "appId", "appName", true, getTargetContext());
- SdlProxyConfigurationResources config = new SdlProxyConfigurationResources("path", (TelephonyManager) getTargetContext().getSystemService(Context.TELEPHONY_SERVICE));
+ SdlProxyBuilder.Builder builder = new SdlProxyBuilder.Builder(mock(IProxyListenerALM.class), "appId", "appName", true, getInstrumentation().getTargetContext());
+ SdlProxyConfigurationResources config = new SdlProxyConfigurationResources("path", (TelephonyManager) getInstrumentation().getTargetContext().getSystemService(Context.TELEPHONY_SERVICE));
//Construct with a non-null SdlProxyConfigurationResources
builder.setSdlProxyConfigurationResources(config);
try {
@@ -127,14 +128,14 @@ public class SdlProxyBaseTests {
@Test
public void testRemoteDisplayStreaming(){
SdlProxyALM proxy = null;
- SdlProxyBuilder.Builder builder = new SdlProxyBuilder.Builder(mock(IProxyListenerALM.class), "appId", "appName", true, getTargetContext());
+ SdlProxyBuilder.Builder builder = new SdlProxyBuilder.Builder(mock(IProxyListenerALM.class), "appId", "appName", true, getInstrumentation().getTargetContext());
try{
proxy = builder.build();
// public void startRemoteDisplayStream(Context context, final Class<? extends SdlRemoteDisplay> remoteDisplay, final VideoStreamingParameters parameters, final boolean encrypted){
Method m = SdlProxyALM.class.getDeclaredMethod("startRemoteDisplayStream", Context.class, SdlRemoteDisplay.class, VideoStreamingParameters.class, boolean.class);
assertNotNull(m);
m.setAccessible(true);
- m.invoke(proxy,getTargetContext(), SdlRemoteDisplayTest.MockRemoteDisplay.class, (VideoStreamingParameters)null, false);
+ m.invoke(proxy,getInstrumentation().getTargetContext(), SdlRemoteDisplayTest.MockRemoteDisplay.class, (VideoStreamingParameters)null, false);
assert true;
}catch (Exception e){
@@ -229,15 +230,14 @@ public class SdlProxyBaseTests {
}
@Override
- public void onError(int correlationId, Result resultCode, String info) {
- onErrorListenerCounter++;
- remainingRequestsExpected--;
- }
-
- @Override
public void onResponse(int correlationId, RPCResponse response) {
- onResponseListenerCounter++;
- remainingRequestsExpected--;
+ if (response.getSuccess()) {
+ onResponseListenerCounter++;
+ remainingRequestsExpected--;
+ } else {
+ onErrorListenerCounter++;
+ remainingRequestsExpected--;
+ }
}
};
try {
@@ -280,7 +280,7 @@ public class SdlProxyBaseTests {
while (rpcsTempList.size() != 0){
RPCRequest request = rpcsTempList.remove(0);
if (request instanceof Speak) {
- requestsMap.get(request).onError(request.getCorrelationID(), Result.DISALLOWED, "ERROR");
+ requestsMap.get(request).onResponse(request.getCorrelationID(), new GenericResponse(false, Result.DISALLOWED));
} else if (request instanceof Show) {
requestsMap.get(request).onResponse(request.getCorrelationID(), new ShowResponse(true, Result.SUCCESS));
}
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/RPCConstructorsTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/RPCConstructorsTests.java
index 20944a117..64f22a673 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/RPCConstructorsTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/RPCConstructorsTests.java
@@ -1,7 +1,7 @@
package com.smartdevicelink.test.rpc;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.junit.Before;
import org.junit.Test;
@@ -21,7 +21,7 @@ import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertTrue;
/**
@@ -61,7 +61,7 @@ public class RPCConstructorsTests {
private Map<String, List<Parameter>> getRPCMandatoryParamsMap(String fileName) {
Map<String, List<Parameter>> rpcMandatoryParamsMap = new HashMap<>();
try {
- InputStream stream = getTargetContext().getAssets().open(fileName);
+ InputStream stream = getInstrumentation().getTargetContext().getAssets().open(fileName);
XmlPullParserFactory xmlFactoryObject = XmlPullParserFactory.newInstance();
XmlPullParser myParser = xmlFactoryObject.newPullParser();
myParser.setInput(stream, null);
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/DynamicUpdateCapabilitiesTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/DynamicUpdateCapabilitiesTests.java
new file mode 100644
index 000000000..01e318e8a
--- /dev/null
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/DynamicUpdateCapabilitiesTests.java
@@ -0,0 +1,95 @@
+package com.smartdevicelink.test.rpc.datatypes;
+
+import com.smartdevicelink.proxy.rpc.DynamicUpdateCapabilities;
+import com.smartdevicelink.proxy.rpc.enums.ImageFieldName;
+import com.smartdevicelink.test.JsonUtils;
+import com.smartdevicelink.test.TestValues;
+
+import junit.framework.TestCase;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * This is a unit test class for the SmartDeviceLink library project class :
+ * {@link com.smartdevicelink.proxy.rpc.DynamicUpdateCapabilities}
+ */
+public class DynamicUpdateCapabilitiesTests extends TestCase {
+
+ private DynamicUpdateCapabilities msg;
+
+ @Override
+ protected void setUp() throws Exception {
+ msg = new DynamicUpdateCapabilities();
+
+ msg.setSupportsDynamicSubMenus(TestValues.GENERAL_BOOLEAN);
+ msg.setSupportedDynamicImageFieldNames(Collections.singletonList(TestValues.GENERAL_IMAGEFIELDNAME));
+ }
+
+ /**
+ * Tests the expected values of the RPC message.
+ */
+ public void testRpcValues() {
+ boolean supportDynamicSubMenu = msg.getSupportsDynamicSubMenus();
+ List<ImageFieldName> imageFieldNames = msg.getSupportedDynamicImageFieldNames();
+
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_BOOLEAN, supportDynamicSubMenu);
+ assertEquals(TestValues.MATCH, Collections.singletonList(TestValues.GENERAL_IMAGEFIELDNAME).size(), imageFieldNames.size());
+
+ for (int i = 0; i < Collections.singletonList(TestValues.GENERAL_IMAGEFIELDNAME).size(); i++) {
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_IMAGEFIELDNAME, imageFieldNames.get(i));
+ }
+
+ DynamicUpdateCapabilities msg = new DynamicUpdateCapabilities();
+ assertNotNull(TestValues.NOT_NULL, msg);
+
+ assertNull(TestValues.NULL, msg.getSupportsDynamicSubMenus());
+ assertNull(TestValues.NULL, msg.getSupportedDynamicImageFieldNames());
+ }
+
+ public void testJson() {
+ JSONObject reference = new JSONObject();
+
+ try {
+ reference.put(DynamicUpdateCapabilities.KEY_SUPPORTS_DYNAMIC_SUB_MENUS, TestValues.GENERAL_BOOLEAN);
+ reference.put(DynamicUpdateCapabilities.KEY_SUPPORTED_DYNAMIC_IMAGE_FIELD_NAMES, JsonUtils.createJsonArray(Collections.singletonList(TestValues.GENERAL_IMAGEFIELDNAME)));
+
+ JSONObject underTest = msg.serializeJSON();
+ assertEquals(TestValues.MATCH, reference.length(), underTest.length());
+
+ Iterator<?> iterator = reference.keys();
+ while (iterator.hasNext()) {
+ String key = (String) iterator.next();
+
+ if (key.equals(DynamicUpdateCapabilities.KEY_SUPPORTED_DYNAMIC_IMAGE_FIELD_NAMES)) {
+ JSONArray referenceArray = JsonUtils.readJsonArrayFromJsonObject(reference, key);
+ JSONArray underTestArray = JsonUtils.readJsonArrayFromJsonObject(underTest, key);
+ List<ImageFieldName> imageFieldNameListReference = new ArrayList<>();
+ List<ImageFieldName> imageFieldNameListTest = new ArrayList<>();
+
+ assertEquals(TestValues.MATCH, referenceArray.length(), underTestArray.length());
+
+ for (int i = 0; i < referenceArray.length(); i++) {
+ imageFieldNameListReference.add( (ImageFieldName) referenceArray.get(i));
+ imageFieldNameListTest.add( (ImageFieldName) underTestArray.get(i));
+ }
+ assertTrue(TestValues.TRUE, imageFieldNameListReference.containsAll(imageFieldNameListTest) && imageFieldNameListTest.containsAll(imageFieldNameListReference));
+ } else if (key.equals(DynamicUpdateCapabilities.KEY_SUPPORTS_DYNAMIC_SUB_MENUS)) {
+ boolean referenceBool = JsonUtils.readBooleanFromJsonObject(reference, key);
+ boolean underTestBool = JsonUtils.readBooleanFromJsonObject(underTest, key);
+ assertEquals(TestValues.MATCH, referenceBool, underTestBool);
+ } else {
+ assertEquals(TestValues.MATCH, JsonUtils.readObjectFromJsonObject(reference, key), JsonUtils.readObjectFromJsonObject(underTest, key));
+ }
+ }
+ } catch (JSONException e) {
+ fail(TestValues.JSON_FAIL);
+ }
+ }
+}
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/GearStatusTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/GearStatusTests.java
new file mode 100644
index 000000000..eed1a1df2
--- /dev/null
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/GearStatusTests.java
@@ -0,0 +1,71 @@
+package com.smartdevicelink.test.rpc.datatypes;
+
+import com.smartdevicelink.proxy.rpc.GearStatus;
+import com.smartdevicelink.proxy.rpc.enums.PRNDL;
+import com.smartdevicelink.proxy.rpc.enums.TransmissionType;
+import com.smartdevicelink.test.JsonUtils;
+import com.smartdevicelink.test.TestValues;
+
+import junit.framework.TestCase;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.util.Iterator;
+
+public class GearStatusTests extends TestCase {
+ private GearStatus msg;
+
+ @Override
+ public void setUp() {
+ msg = new GearStatus();
+
+ msg.setUserSelectedGear(TestValues.GENERAL_USER_SELECTED_GEAR);
+ msg.setActualGear(TestValues.GENERAL_ACTUAL_GEAR);
+ msg.setTransmissionType(TestValues.GENERAL_TRANSMISSION_TYPE);
+ }
+
+ /**
+ * Tests the expected values of the RPC message.
+ */
+ public void testRpcValues() {
+ // Test Values
+ PRNDL userSelectedGear = msg.getUserSelectedGear();
+ PRNDL actualGear = msg.getActualGear();
+ TransmissionType transmissionType = msg.getTransmissionType();
+
+ // Valid Tests
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_USER_SELECTED_GEAR, userSelectedGear);
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_ACTUAL_GEAR, actualGear);
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_TRANSMISSION_TYPE, transmissionType);
+
+ // Invalid/Null Tests
+ GearStatus msg = new GearStatus();
+ assertNotNull(TestValues.NOT_NULL, msg);
+
+ assertNull(TestValues.NULL, msg.getActualGear());
+ assertNull(TestValues.NULL, msg.getUserSelectedGear());
+ assertNull(TestValues.NULL, msg.getTransmissionType());
+ }
+
+ public void testJson() {
+ JSONObject reference = new JSONObject();
+
+ try {
+ reference.put(GearStatus.KEY_ACTUAL_GEAR, TestValues.GENERAL_ACTUAL_GEAR);
+ reference.put(GearStatus.KEY_USER_SELECTED_GEAR, TestValues.GENERAL_USER_SELECTED_GEAR);
+ reference.put(GearStatus.KEY_TRANSMISSION_TYPE, TestValues.GENERAL_TRANSMISSION_TYPE);
+
+ JSONObject underTest = msg.serializeJSON();
+ assertEquals(TestValues.MATCH, reference.length(), underTest.length());
+
+ Iterator<?> iterator = reference.keys();
+ while (iterator.hasNext()) {
+ String key = (String) iterator.next();
+ assertEquals(TestValues.MATCH, JsonUtils.readObjectFromJsonObject(reference, key), JsonUtils.readObjectFromJsonObject(underTest, key));
+ }
+ } catch (JSONException e) {
+ fail(TestValues.JSON_FAIL);
+ }
+ }
+}
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/WindowCapabilityTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/WindowCapabilityTests.java
index 62f2e4337..6ddee819b 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/WindowCapabilityTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/WindowCapabilityTests.java
@@ -2,10 +2,12 @@ package com.smartdevicelink.test.rpc.datatypes;
import com.smartdevicelink.marshal.JsonRPCMarshaller;
import com.smartdevicelink.proxy.rpc.ButtonCapabilities;
+import com.smartdevicelink.proxy.rpc.DynamicUpdateCapabilities;
import com.smartdevicelink.proxy.rpc.ImageField;
import com.smartdevicelink.proxy.rpc.SoftButtonCapabilities;
import com.smartdevicelink.proxy.rpc.TextField;
import com.smartdevicelink.proxy.rpc.WindowCapability;
+import com.smartdevicelink.proxy.rpc.enums.ImageFieldName;
import com.smartdevicelink.proxy.rpc.enums.ImageType;
import com.smartdevicelink.proxy.rpc.enums.MenuLayout;
import com.smartdevicelink.test.JsonUtils;
@@ -43,6 +45,7 @@ public class WindowCapabilityTests extends TestCase {
msg.setButtonCapabilities(TestValues.GENERAL_BUTTONCAPABILITIES_LIST);
msg.setSoftButtonCapabilities(TestValues.GENERAL_SOFTBUTTONCAPABILITIES_LIST);
msg.setMenuLayoutsAvailable(TestValues.GENERAL_MENU_LAYOUT_LIST);
+ msg.setDynamicUpdateCapabilities(TestValues.GENERAL_DYNAMICUPDATECAPABILITIES);
}
/**
@@ -59,6 +62,7 @@ public class WindowCapabilityTests extends TestCase {
List<ButtonCapabilities> buttonCapabilities = msg.getButtonCapabilities();
List<SoftButtonCapabilities> softButtonCapabilities = msg.getSoftButtonCapabilities();
List<MenuLayout> menuLayouts = msg.getMenuLayoutsAvailable();
+ DynamicUpdateCapabilities dynamicUpdateCapabilities = msg.getDynamicUpdateCapabilities();
// Valid Tests
assertEquals(TestValues.MATCH, TestValues.GENERAL_INT, windowID);
@@ -70,6 +74,7 @@ public class WindowCapabilityTests extends TestCase {
assertEquals(TestValues.MATCH, TestValues.GENERAL_BUTTONCAPABILITIES_LIST.size(), buttonCapabilities.size());
assertEquals(TestValues.MATCH, TestValues.GENERAL_SOFTBUTTONCAPABILITIES_LIST.size(), softButtonCapabilities.size());
assertEquals(TestValues.MATCH, TestValues.GENERAL_MENU_LAYOUT_LIST.size(), menuLayouts.size());
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_DYNAMICUPDATECAPABILITIES, dynamicUpdateCapabilities);
for (int i = 0; i < TestValues.GENERAL_TEXTFIELD_LIST.size(); i++) {
assertTrue(TestValues.TRUE, Validator.validateTextFields(TestValues.GENERAL_TEXTFIELD_LIST.get(i), textFields.get(i)));
@@ -107,6 +112,7 @@ public class WindowCapabilityTests extends TestCase {
assertNull(TestValues.NULL, msg.getButtonCapabilities());
assertNull(TestValues.NULL, msg.getSoftButtonCapabilities());
assertNull(TestValues.NULL, msg.getMenuLayoutsAvailable());
+ assertNull(TestValues.NULL, msg.getDynamicUpdateCapabilities());
}
public void testJson() {
@@ -122,6 +128,7 @@ public class WindowCapabilityTests extends TestCase {
reference.put(WindowCapability.KEY_BUTTON_CAPABILITIES, TestValues.JSON_BUTTONCAPABILITIES);
reference.put(WindowCapability.KEY_SOFT_BUTTON_CAPABILITIES, TestValues.JSON_SOFTBUTTONCAPABILITIES);
reference.put(WindowCapability.KEY_MENU_LAYOUTS_AVAILABLE, JsonUtils.createJsonArray(TestValues.GENERAL_MENU_LAYOUT_LIST));
+ reference.put(WindowCapability.KEY_DYNAMIC_UPDATE_CAPABILITIES, TestValues.JSON_DYNAMICUPDATECAPABILITIES);
JSONObject underTest = msg.serializeJSON();
assertEquals(TestValues.MATCH, reference.length(), underTest.length());
@@ -191,6 +198,22 @@ public class WindowCapabilityTests extends TestCase {
for (int i = 0; i < referenceList.size(); i++) {
assertEquals(TestValues.MATCH, referenceList.get(i), underTestList.get(i));
}
+ } else if (key.equals(WindowCapability.KEY_DYNAMIC_UPDATE_CAPABILITIES)) {
+ JSONArray referenceArray = JsonUtils.readJsonArrayFromJsonObject(reference.getJSONObject(key), DynamicUpdateCapabilities.KEY_SUPPORTED_DYNAMIC_IMAGE_FIELD_NAMES);
+ JSONArray underTestArray = JsonUtils.readJsonArrayFromJsonObject(underTest.getJSONObject(key), DynamicUpdateCapabilities.KEY_SUPPORTED_DYNAMIC_IMAGE_FIELD_NAMES);
+ List<ImageFieldName> imageFieldNameListReference = new ArrayList<>();
+ List<ImageFieldName> imageFieldNameListTest = new ArrayList<>();
+ boolean referenceBool = JsonUtils.readBooleanFromJsonObject(reference.getJSONObject(key), DynamicUpdateCapabilities.KEY_SUPPORTS_DYNAMIC_SUB_MENUS);
+ boolean underTestBool = JsonUtils.readBooleanFromJsonObject(underTest.getJSONObject(key), DynamicUpdateCapabilities.KEY_SUPPORTS_DYNAMIC_SUB_MENUS);
+
+ assertEquals(TestValues.MATCH, referenceBool, underTestBool);
+ assertEquals(TestValues.MATCH, referenceArray.length(), underTestArray.length());
+
+ for (int i = 0; i < referenceArray.length(); i++) {
+ imageFieldNameListReference.add( (ImageFieldName) referenceArray.get(i));
+ imageFieldNameListTest.add( (ImageFieldName) underTestArray.get(i));
+ }
+ assertTrue(TestValues.TRUE, imageFieldNameListReference.containsAll(imageFieldNameListTest) && imageFieldNameListTest.containsAll(imageFieldNameListReference));
} else {
assertEquals(TestValues.MATCH, JsonUtils.readObjectFromJsonObject(reference, key), JsonUtils.readObjectFromJsonObject(underTest, key));
}
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/WindowStateTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/WindowStateTests.java
new file mode 100644
index 000000000..3289f1190
--- /dev/null
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/WindowStateTests.java
@@ -0,0 +1,52 @@
+package com.smartdevicelink.test.rpc.datatypes;
+
+import com.smartdevicelink.marshal.JsonRPCMarshaller;
+import com.smartdevicelink.proxy.rpc.WindowState;
+import com.smartdevicelink.test.TestValues;
+import com.smartdevicelink.test.Validator;
+
+import junit.framework.TestCase;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+public class WindowStateTests extends TestCase {
+ private WindowState msg;
+
+ @Override
+ protected void setUp() throws Exception {
+ msg = new WindowState();
+ msg.setApproximatePosition(TestValues.GENERAL_APPROX_POSITION);
+ msg.setDeviation(TestValues.GENERAL_DEVIATION);
+ }
+
+ public void testRpcValues() {
+ Integer approxPosition = msg.getApproximatePosition();
+ Integer deviation = msg.getDeviation();
+
+ // Valid Tests
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_APPROX_POSITION, approxPosition);
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_DEVIATION, deviation);
+ }
+
+ public void testJson() {
+ JSONObject reference = new JSONObject();
+
+ try {
+ reference.put(WindowState.KEY_APPROXIMATE_POSITION, TestValues.GENERAL_APPROX_POSITION);
+ reference.put(WindowState.KEY_DEVIATION, TestValues.GENERAL_DEVIATION);
+
+ JSONObject underTest = msg.serializeJSON();
+ assertEquals(TestValues.MATCH, reference.length(), underTest.length());
+
+ assertTrue(Validator.validateWindowStates(
+ new WindowState(JsonRPCMarshaller.deserializeJSONObject(reference)),
+ new WindowState(JsonRPCMarshaller.deserializeJSONObject(underTest)))
+ );
+
+ } catch (JSONException e) {
+ fail(TestValues.JSON_FAIL);
+ }
+ }
+}
+
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/WindowStatusTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/WindowStatusTests.java
new file mode 100644
index 000000000..27fa8102c
--- /dev/null
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/WindowStatusTests.java
@@ -0,0 +1,53 @@
+package com.smartdevicelink.test.rpc.datatypes;
+
+import com.smartdevicelink.marshal.JsonRPCMarshaller;
+import com.smartdevicelink.proxy.rpc.Grid;
+import com.smartdevicelink.proxy.rpc.WindowState;
+import com.smartdevicelink.proxy.rpc.WindowStatus;
+import com.smartdevicelink.test.TestValues;
+import com.smartdevicelink.test.Validator;
+
+import junit.framework.TestCase;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+public class WindowStatusTests extends TestCase {
+ private WindowStatus msg;
+
+ @Override
+ protected void setUp() throws Exception {
+ msg = new WindowStatus();
+ msg.setState(TestValues.GENERAL_WINDOW_STATE);
+ msg.setLocation(TestValues.GENERAL_LOCATION_GRID);
+ }
+
+ public void testRpcValues() {
+ WindowState state = msg.getState();
+ Grid locationGrid = msg.getLocation();
+
+ // Valid Tests
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_WINDOW_STATE, state);
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_LOCATION_GRID, locationGrid);
+ }
+
+ public void testJson() {
+ JSONObject reference = new JSONObject();
+
+ try {
+ reference.put(WindowStatus.KEY_STATE, TestValues.GENERAL_WINDOW_STATE);
+ reference.put(WindowStatus.KEY_LOCATION, TestValues.GENERAL_LOCATION_GRID);
+
+ JSONObject underTest = msg.serializeJSON();
+ assertEquals(TestValues.MATCH, reference.length(), underTest.length());
+
+ assertTrue(Validator.validateWindowStatus(
+ new WindowStatus(JsonRPCMarshaller.deserializeJSONObject(reference)),
+ new WindowStatus(JsonRPCMarshaller.deserializeJSONObject(underTest)))
+ );
+
+ } catch (JSONException e) {
+ fail(TestValues.JSON_FAIL);
+ }
+ }
+}
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/AppHmiTypeTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/AppHmiTypeTests.java
index 85c74e8e4..af0881ad6 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/AppHmiTypeTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/AppHmiTypeTests.java
@@ -42,6 +42,8 @@ public class AppHmiTypeTests extends TestCase {
AppHMIType enumSystem = AppHMIType.valueForString(example);
example = "REMOTE_CONTROL";
AppHMIType enumRemoteControl = AppHMIType.valueForString(example);
+ example = "WEB_VIEW";
+ AppHMIType enumWebView = AppHMIType.valueForString(example);
assertNotNull("DEFAULT returned null", enumDefault);
assertNotNull("COMMUNICATION returned null", enumCommunication);
@@ -55,6 +57,7 @@ public class AppHmiTypeTests extends TestCase {
assertNotNull("TESTING returned null", enumTesting);
assertNotNull("SYSTEM returned null", enumSystem);
assertNotNull("REMOTE_CONTROL returned null", enumRemoteControl);
+ assertNotNull("WEB_VIEW returned null", enumWebView);
}
/**
@@ -104,6 +107,7 @@ public class AppHmiTypeTests extends TestCase {
enumTestList.add(AppHMIType.TESTING);
enumTestList.add(AppHMIType.SYSTEM);
enumTestList.add(AppHMIType.REMOTE_CONTROL);
+ enumTestList.add(AppHMIType.WEB_VIEW);
assertTrue("Enum value list does not match enum class list",
enumValueList.containsAll(enumTestList) && enumTestList.containsAll(enumValueList));
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/AppInterfaceUnregisteredReasonTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/AppInterfaceUnregisteredReasonTests.java
index cc59924d4..bf1d5e65b 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/AppInterfaceUnregisteredReasonTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/AppInterfaceUnregisteredReasonTests.java
@@ -44,6 +44,8 @@ public class AppInterfaceUnregisteredReasonTests extends TestCase {
AppInterfaceUnregisteredReason enumProtocolViolation = AppInterfaceUnregisteredReason.valueForString(example);
example = "UNSUPPORTED_HMI_RESOURCE";
AppInterfaceUnregisteredReason enumUnsupportedHMIResource = AppInterfaceUnregisteredReason.valueForString(example);
+ example = "RESOURCE_CONSTRAINT";
+ AppInterfaceUnregisteredReason enumResourceConstraint = AppInterfaceUnregisteredReason.valueForString(example);
assertNotNull("USER_EXIT returned null", enumUserExit);
assertNotNull("IGNITION_OFF returned null", enumIgnitionOff);
@@ -58,6 +60,7 @@ public class AppInterfaceUnregisteredReasonTests extends TestCase {
assertNotNull("APP_UNAUTHORIZED returned null", enumAppAuthorized);
assertNotNull("PROTOCOL_VIOLATION returned null", enumProtocolViolation);
assertNotNull("UNSUPPORTED_HMI_RESOURCE returned null", enumUnsupportedHMIResource);
+ assertNotNull("RESOURCE_CONSTRAINT returned null", enumResourceConstraint);
}
/**
@@ -108,6 +111,7 @@ public class AppInterfaceUnregisteredReasonTests extends TestCase {
enumTestList.add(AppInterfaceUnregisteredReason.APP_UNAUTHORIZED);
enumTestList.add(AppInterfaceUnregisteredReason.PROTOCOL_VIOLATION);
enumTestList.add(AppInterfaceUnregisteredReason.UNSUPPORTED_HMI_RESOURCE);
+ enumTestList.add(AppInterfaceUnregisteredReason.RESOURCE_CONSTRAINT);
assertTrue("Enum value list does not match enum class list",
enumValueList.containsAll(enumTestList) && enumTestList.containsAll(enumValueList));
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/ImageFieldNameTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/ImageFieldNameTests.java
index 3bca4edc9..c1b0b6cd7 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/ImageFieldNameTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/ImageFieldNameTests.java
@@ -10,7 +10,7 @@ import java.util.List;
/**
* This is a unit test class for the SmartDeviceLink library project class :
- * {@link com.smartdevicelink.rpc.enums.ImageFieldName}
+ * {@link com.smartdevicelink.proxy.rpc.enums.ImageFieldName}
*/
public class ImageFieldNameTests extends TestCase {
@@ -109,6 +109,8 @@ public class ImageFieldNameTests extends TestCase {
enumTestList.add(ImageFieldName.locationImage);
enumTestList.add(ImageFieldName.secondaryGraphic);
enumTestList.add(ImageFieldName.alertIcon);
+ enumTestList.add(ImageFieldName.subtleAlertIcon);
+ enumTestList.add(ImageFieldName.subMenuIcon);
assertTrue("Enum value list does not match enum class list",
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/PredefinedLayoutTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/PredefinedLayoutTests.java
index 26b32d08b..4c5526eec 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/PredefinedLayoutTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/PredefinedLayoutTests.java
@@ -58,6 +58,8 @@ public class PredefinedLayoutTests extends TestCase {
PredefinedLayout double_graphic_with_softbuttons = PredefinedLayout.valueForString(example);
example = "LARGE_GRAPHIC_ONLY";
PredefinedLayout large_graphic_only = PredefinedLayout.valueForString(example);
+ example = "WEB_VIEW";
+ PredefinedLayout web_view = PredefinedLayout.valueForString(example);
assertNotNull("DEFAULT returned null", defaultenum);
assertNotNull("MEDIA returned null", media);
@@ -79,6 +81,7 @@ public class PredefinedLayoutTests extends TestCase {
assertNotNull("LARGE_GRAPHIC_WITH_SOFTBUTTONS returned null", large_graphic_with_softbuttons);
assertNotNull("DOUBLE_GRAPHIC_WITH_SOFTBUTTONS returned null", double_graphic_with_softbuttons);
assertNotNull("LARGE_GRAPHIC_ONLY returned null", large_graphic_only);
+ assertNotNull("WEB_VIEW returned null", web_view);
}
/**
@@ -137,6 +140,7 @@ public class PredefinedLayoutTests extends TestCase {
enumTestList.add(PredefinedLayout.LARGE_GRAPHIC_WITH_SOFTBUTTONS);
enumTestList.add(PredefinedLayout.DOUBLE_GRAPHIC_WITH_SOFTBUTTONS);
enumTestList.add(PredefinedLayout.LARGE_GRAPHIC_ONLY);
+ enumTestList.add(PredefinedLayout.WEB_VIEW);
assertTrue("Enum value list does not match enum class list",
enumValueList.containsAll(enumTestList) && enumTestList.containsAll(enumValueList));
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/PrndlTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/PrndlTests.java
index 394d0cd37..26ea35573 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/PrndlTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/PrndlTests.java
@@ -47,6 +47,10 @@ public class PrndlTests extends TestCase {
PRNDL enumSeventh = PRNDL.valueForString(example);
example = "EIGHTH";
PRNDL enumEighth = PRNDL.valueForString(example);
+ example = "NINTH";
+ PRNDL enumNinth = PRNDL.valueForString(example);
+ example = "TENTH";
+ PRNDL enumTenth = PRNDL.valueForString(example);
example = "UNKNOWN";
PRNDL enumUnknown = PRNDL.valueForString(example);
example = "FAULT";
@@ -66,6 +70,8 @@ public class PrndlTests extends TestCase {
assertNotNull("SIXTH returned null", enumSixth);
assertNotNull("SEVENTH returned null", enumSeventh);
assertNotNull("EIGHTH returned null", enumEighth);
+ assertNotNull("NINTH returned null", enumNinth);
+ assertNotNull("TENTH returned null", enumTenth);
assertNotNull("UNKNOWN returned null", enumUnknown);
assertNotNull("FAULT returned null", enumFault);
}
@@ -119,7 +125,9 @@ public class PrndlTests extends TestCase {
enumTestList.add(PRNDL.SIXTH);
enumTestList.add(PRNDL.SEVENTH);
enumTestList.add(PRNDL.EIGHTH);
- enumTestList.add(PRNDL.UNKNOWN);
+ enumTestList.add(PRNDL.NINTH);
+ enumTestList.add(PRNDL.TENTH);
+ enumTestList.add(PRNDL.UNKNOWN);
enumTestList.add(PRNDL.FAULT);
assertTrue("Enum value list does not match enum class list",
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/SdlDisconnectedReasonTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/SdlDisconnectedReasonTests.java
index d4c22354e..3f2ee110d 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/SdlDisconnectedReasonTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/SdlDisconnectedReasonTests.java
@@ -64,7 +64,9 @@ public class SdlDisconnectedReasonTests extends TestCase {
SdlDisconnectedReason enumLegacyMode = SdlDisconnectedReason.valueForString(example);
example = "RPC_SESSION_ENDED";
SdlDisconnectedReason enumRpcSessionEnded = SdlDisconnectedReason.valueForString(example);
-
+ example = "RESOURCE_CONSTRAINT";
+ SdlDisconnectedReason resourceConstraint = SdlDisconnectedReason.valueForString(example);
+
assertNotNull("USER_EXIT returned null", enumUserExit);
assertNotNull("IGNITION_OFF returned null", enumIgnitionOff);
assertNotNull("BLUETOOTH_OFF returned null", enumBluetoothOff);
@@ -87,6 +89,7 @@ public class SdlDisconnectedReasonTests extends TestCase {
assertNotNull("GENERIC_ERROR returned null", enumGenericError);
assertNotNull("LEGACY_BLUETOOTH_MODE_ENABLED returned null", enumLegacyMode);
assertNotNull("RPC_SESSION_ENDED returned null", enumRpcSessionEnded);
+ assertNotNull("RESOURCE_CONSTRAINT returned null", resourceConstraint);
}
/**
@@ -149,6 +152,7 @@ public class SdlDisconnectedReasonTests extends TestCase {
enumTestList.add(SdlDisconnectedReason.PRIMARY_TRANSPORT_CYCLE_REQUEST);
enumTestList.add(SdlDisconnectedReason.MINIMUM_PROTOCOL_VERSION_HIGHER_THAN_SUPPORTED);
enumTestList.add(SdlDisconnectedReason.MINIMUM_RPC_VERSION_HIGHER_THAN_SUPPORTED);
+ enumTestList.add(SdlDisconnectedReason.RESOURCE_CONSTRAINT);
assertTrue("Enum value list does not match enum class list",
enumValueList.containsAll(enumTestList) && enumTestList.containsAll(enumValueList));
@@ -156,7 +160,7 @@ public class SdlDisconnectedReasonTests extends TestCase {
/**
* Verifies the valid returns of the conversion method,
- * {@link com.smartdevicelink.proxy.rpc.enums.SdlDisconnectedReason#convertAppInterfaceunregisteredReason(AppInterfaceUnregisteredReason)}
+ * {@link com.smartdevicelink.proxy.rpc.enums.SdlDisconnectedReason#convertAppInterfaceUnregisteredReason(AppInterfaceUnregisteredReason)}
*/
public void testConvertMethod () {
assertEquals(TestValues.MATCH, SdlDisconnectedReason.DEFAULT, SdlDisconnectedReason.convertAppInterfaceUnregisteredReason(AppInterfaceUnregisteredReason.APP_UNAUTHORIZED));
@@ -170,6 +174,7 @@ public class SdlDisconnectedReasonTests extends TestCase {
assertEquals(TestValues.MATCH, SdlDisconnectedReason.TOO_MANY_REQUESTS, SdlDisconnectedReason.convertAppInterfaceUnregisteredReason(AppInterfaceUnregisteredReason.TOO_MANY_REQUESTS));
assertEquals(TestValues.MATCH, SdlDisconnectedReason.USB_DISCONNECTED, SdlDisconnectedReason.convertAppInterfaceUnregisteredReason(AppInterfaceUnregisteredReason.USB_DISCONNECTED));
assertEquals(TestValues.MATCH, SdlDisconnectedReason.USER_EXIT, SdlDisconnectedReason.convertAppInterfaceUnregisteredReason(AppInterfaceUnregisteredReason.USER_EXIT));
+ assertEquals(TestValues.MATCH, SdlDisconnectedReason.RESOURCE_CONSTRAINT, SdlDisconnectedReason.convertAppInterfaceUnregisteredReason(AppInterfaceUnregisteredReason.RESOURCE_CONSTRAINT));
assertNull(TestValues.MATCH, SdlDisconnectedReason.convertAppInterfaceUnregisteredReason(null));
}
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/TextFieldNameTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/TextFieldNameTests.java
index cb55330eb..8c8122fd8 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/TextFieldNameTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/TextFieldNameTests.java
@@ -175,6 +175,9 @@ public class TextFieldNameTests extends TestCase {
enumTestList.add(TextFieldName.addressLines);
enumTestList.add(TextFieldName.phoneNumber);
enumTestList.add(TextFieldName.templateTitle);
+ enumTestList.add(TextFieldName.subtleAlertText1);
+ enumTestList.add(TextFieldName.subtleAlertText2);
+ enumTestList.add(TextFieldName.subtleAlertSoftButtonText);
assertTrue("Enum value list does not match enum class list",
enumValueList.containsAll(enumTestList) && enumTestList.containsAll(enumValueList));
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/TransmissionTypeTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/TransmissionTypeTests.java
new file mode 100644
index 000000000..6a21c7cc2
--- /dev/null
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/TransmissionTypeTests.java
@@ -0,0 +1,92 @@
+package com.smartdevicelink.test.rpc.enums;
+
+import com.smartdevicelink.proxy.rpc.enums.TransmissionType;
+
+import junit.framework.TestCase;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+public class TransmissionTypeTests extends TestCase {
+ /**
+ * Verifies that the enum values are not null upon valid assignment.
+ */
+ public void testValidEnums () {
+ String example = "MANUAL";
+ TransmissionType manual = TransmissionType.valueForString(example);
+ example = "AUTOMATIC";
+ TransmissionType automatic = TransmissionType.valueForString(example);
+ example = "SEMI_AUTOMATIC";
+ TransmissionType semiAutomatic = TransmissionType.valueForString(example);
+ example = "DUAL_CLUTCH";
+ TransmissionType dualClutch = TransmissionType.valueForString(example);
+ example = "CONTINUOUSLY_VARIABLE";
+ TransmissionType continuouslyVariable = TransmissionType.valueForString(example);
+ example = "INFINITELY_VARIABLE";
+ TransmissionType infinitelyVariable = TransmissionType.valueForString(example);
+ example = "ELECTRIC_VARIABLE";
+ TransmissionType electricVariable = TransmissionType.valueForString(example);
+ example = "DIRECT_DRIVE";
+ TransmissionType directDrive = TransmissionType.valueForString(example);
+
+ assertNotNull("MANUAL returned null", manual);
+ assertNotNull("AUTOMATIC returned null", automatic);
+ assertNotNull("SEMI_AUTOMATIC returned null", semiAutomatic);
+ assertNotNull("DUAL_CLUTCH returned null", dualClutch);
+ assertNotNull("CONTINUOUSLY_VARIABLE returned null", continuouslyVariable);
+ assertNotNull("INFINITELY_VARIABLE returned null", infinitelyVariable);
+ assertNotNull("ELECTRIC_VARIABLE returned null", electricVariable);
+ assertNotNull("DIRECT_DRIVE returned null", directDrive);
+ assertNotNull("DIRECT_DRIVE returned null", directDrive);
+
+ }
+
+ /**
+ * Verifies that an invalid assignment is null.
+ */
+ public void testInvalidEnum () {
+ String example = "pARk";
+ try {
+ TransmissionType temp = TransmissionType.valueForString(example);
+ assertNull("Result of valueForString should be null.", temp);
+ }
+ catch (IllegalArgumentException exception) {
+ fail("Invalid enum throws IllegalArgumentException.");
+ }
+ }
+
+ /**
+ * Verifies that a null assignment is invalid.
+ */
+ public void testNullEnum () {
+ String example = null;
+ try {
+ TransmissionType temp = TransmissionType.valueForString(example);
+ assertNull("Result of valueForString should be null.", temp);
+ }
+ catch (NullPointerException exception) {
+ fail("Null string throws NullPointerException.");
+ }
+ }
+
+ /**
+ * Verifies the possible enum values of TransmissionType.
+ */
+ public void testListEnum() {
+ List<TransmissionType> enumValueList = Arrays.asList(TransmissionType.values());
+
+ List<TransmissionType> enumTestList = new ArrayList<TransmissionType>();
+ enumTestList.add(TransmissionType.MANUAL);
+ enumTestList.add(TransmissionType.AUTOMATIC);
+ enumTestList.add(TransmissionType.SEMI_AUTOMATIC);
+ enumTestList.add(TransmissionType.DUAL_CLUTCH);
+ enumTestList.add(TransmissionType.CONTINUOUSLY_VARIABLE);
+ enumTestList.add(TransmissionType.INFINITELY_VARIABLE);
+ enumTestList.add(TransmissionType.ELECTRIC_VARIABLE);
+ enumTestList.add(TransmissionType.DIRECT_DRIVE);
+
+ assertTrue("Enum value list does not match enum class list",
+ enumValueList.containsAll(enumTestList) && enumTestList.containsAll(enumValueList));
+ }
+}
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/VehicleDataTypeTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/VehicleDataTypeTests.java
index dbce8b5e7..37793b489 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/VehicleDataTypeTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/VehicleDataTypeTests.java
@@ -82,7 +82,13 @@ public class VehicleDataTypeTests extends TestCase {
VehicleDataType enumVehicleCloudAppVehicleId = VehicleDataType.valueForString(example);
example = "VEHICLEDATA_OEM_CUSTOM_DATA";
VehicleDataType enumVehicleDataOemVehicleDataType= VehicleDataType.valueForString(example);
-
+ example = "VEHICLEDATA_HANDSOFFSTEERING";
+ VehicleDataType enumVehicleDataHandsOffSteeringType= VehicleDataType.valueForString(example);
+ example = "VEHICLEDATA_GEARSTATUS";
+ VehicleDataType enumVehicleDataGearStatus= VehicleDataType.valueForString(example);
+ example = "VEHICLEDATA_WINDOWSTATUS";
+ VehicleDataType enumVehicleDataTypeWindowStatus= VehicleDataType.valueForString(example);
+
assertNotNull("VEHICLEDATA_GPS returned null", enumVehicleDataGps);
assertNotNull("VEHICLEDATA_SPEED returned null", enumVehicleDataSpeed);
assertNotNull("VEHICLEDATA_RPM returned null", enumVehicleDataRpm);
@@ -115,6 +121,9 @@ public class VehicleDataTypeTests extends TestCase {
assertNotNull("VEHICLEDATA_ELECTRONICPARKBRAKESTATUS returned null", enumVehicleDataElectronicParkBrakeStatus);
assertNotNull("VEHICLEDATA_CLOUDAPPVEHICLEID returned null", enumVehicleCloudAppVehicleId);
assertNotNull("VEHICLEDATA_OEM_CUSTOM_DATA returned null", enumVehicleDataOemVehicleDataType);
+ assertNotNull("VEHICLEDATA_HANDSOFFSTEERING returned null", enumVehicleDataHandsOffSteeringType);
+ assertNotNull("VEHICLEDATA_WINDOWSTATUS returned null", enumVehicleDataTypeWindowStatus);
+ assertNotNull("VEHICLEDATA_GEARSTATUS returned null", enumVehicleDataGearStatus);
}
/**
@@ -184,6 +193,9 @@ public class VehicleDataTypeTests extends TestCase {
enumTestList.add(VehicleDataType.VEHICLEDATA_ELECTRONICPARKBRAKESTATUS);
enumTestList.add(VehicleDataType.VEHICLEDATA_CLOUDAPPVEHICLEID);
enumTestList.add(VehicleDataType.VEHICLEDATA_OEM_CUSTOM_DATA);
+ enumTestList.add(VehicleDataType.VEHICLEDATA_HANDSOFFSTEERING);
+ enumTestList.add(VehicleDataType.VEHICLEDATA_WINDOWSTATUS);
+ enumTestList.add(VehicleDataType.VEHICLEDATA_GEARSTATUS);
assertTrue("Enum value list does not match enum class list",
enumValueList.containsAll(enumTestList) && enumTestList.containsAll(enumValueList));
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/VrCapabilitiesTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/VrCapabilitiesTests.java
index e95fdf887..3d8925e29 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/VrCapabilitiesTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/VrCapabilitiesTests.java
@@ -61,7 +61,6 @@ public class VrCapabilitiesTests extends TestCase {
List<VrCapabilities> enumTestList = new ArrayList<VrCapabilities>();
enumTestList.add(VrCapabilities.TEXT);
- enumTestList.add(VrCapabilities.Text);
assertTrue("Enum value list does not match enum class list",
enumValueList.containsAll(enumTestList) && enumTestList.containsAll(enumValueList));
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnLockScreenStatusTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnLockScreenStatusTests.java
deleted file mode 100644
index d73b39beb..000000000
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnLockScreenStatusTests.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package com.smartdevicelink.test.rpc.notifications;
-
-import com.smartdevicelink.protocol.enums.FunctionID;
-import com.smartdevicelink.proxy.RPCMessage;
-import com.smartdevicelink.proxy.rpc.OnHMIStatus;
-import com.smartdevicelink.proxy.rpc.OnLockScreenStatus;
-import com.smartdevicelink.proxy.rpc.enums.HMILevel;
-import com.smartdevicelink.proxy.rpc.enums.LockScreenStatus;
-import com.smartdevicelink.test.BaseRpcTests;
-import com.smartdevicelink.test.TestValues;
-
-import org.json.JSONException;
-import org.json.JSONObject;
-import org.junit.Test;
-
-import static junit.framework.TestCase.assertEquals;
-import static junit.framework.TestCase.assertNotNull;
-import static junit.framework.TestCase.assertNull;
-import static junit.framework.TestCase.fail;
-
-/**
- * This is a unit test class for the SmartDeviceLink library project class :
- * {@link com.smartdevicelink.rpc.OnLockScreenStatus}
- */
-public class OnLockScreenStatusTests extends BaseRpcTests{
-
- @Override
- protected RPCMessage createMessage(){
- OnLockScreenStatus msg = new OnLockScreenStatus();
-
- msg.setDriverDistractionStatus(TestValues.GENERAL_BOOLEAN);
- msg.setHMILevel(TestValues.GENERAL_HMILEVEL);
- msg.setShowLockScreen(TestValues.GENERAL_LOCKSCREENSTATUS);
- msg.setUserSelected(TestValues.GENERAL_BOOLEAN);
-
- return msg;
- }
-
- @Override
- protected String getMessageType(){
- return RPCMessage.KEY_NOTIFICATION;
- }
-
- @Override
- protected String getCommandType(){
- return FunctionID.ON_LOCK_SCREEN_STATUS.toString();
- }
-
- @Override
- protected JSONObject getExpectedParameters(int sdlVersion){
- JSONObject result = new JSONObject();
-
- try{
- result.put(OnLockScreenStatus.KEY_DRIVER_DISTRACTION, TestValues.GENERAL_BOOLEAN);
- result.put(OnHMIStatus.KEY_HMI_LEVEL, TestValues.GENERAL_HMILEVEL);
- result.put(OnLockScreenStatus.KEY_SHOW_LOCK_SCREEN, TestValues.GENERAL_LOCKSCREENSTATUS);
- result.put(OnLockScreenStatus.KEY_USER_SELECTED, TestValues.GENERAL_BOOLEAN);
- }catch(JSONException e){
- fail(TestValues.JSON_FAIL);
- }
-
- return result;
- }
-
- /**
- * Tests the expected values of the RPC message.
- */
- @Test
- public void testRpcValues () {
- // Test Values
- Boolean status = ( (OnLockScreenStatus) msg ).getDriverDistractionStatus();
- HMILevel hmiLevel = ( (OnLockScreenStatus) msg ).getHMILevel();
- LockScreenStatus lockScreen = ( (OnLockScreenStatus) msg ).getShowLockScreen();
- boolean userSelected = ( (OnLockScreenStatus) msg ).getUserSelected();
-
- // Valid Tests
- assertEquals(TestValues.MATCH, (Boolean) TestValues.GENERAL_BOOLEAN, status);
- assertEquals(TestValues.MATCH, TestValues.GENERAL_HMILEVEL, hmiLevel);
- assertEquals(TestValues.MATCH, TestValues.GENERAL_LOCKSCREENSTATUS, lockScreen);
- assertEquals(TestValues.MATCH, TestValues.GENERAL_BOOLEAN, userSelected);
-
- // Invalid/Null Tests
- OnLockScreenStatus msg = new OnLockScreenStatus();
- assertNotNull(TestValues.NOT_NULL, msg);
- testNullBase(msg);
-
- assertNull(TestValues.NULL, msg.getDriverDistractionStatus());
- assertNull(TestValues.NULL, msg.getHMILevel());
- assertNull(TestValues.NULL, msg.getShowLockScreen());
- assertNull(TestValues.NULL, msg.getUserSelected());
- }
-} \ No newline at end of file
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnSdlChoiceChosenTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnSdlChoiceChosenTests.java
deleted file mode 100644
index f3efebe84..000000000
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnSdlChoiceChosenTests.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package com.smartdevicelink.test.rpc.notifications;
-
-import com.smartdevicelink.protocol.enums.FunctionID;
-import com.smartdevicelink.proxy.RPCMessage;
-import com.smartdevicelink.proxy.rpc.OnSdlChoiceChosen;
-import com.smartdevicelink.proxy.rpc.OnSdlChoiceChosen.SdlChoice;
-import com.smartdevicelink.proxy.rpc.enums.TriggerSource;
-import com.smartdevicelink.test.BaseRpcTests;
-import com.smartdevicelink.test.TestValues;
-import com.smartdevicelink.test.Validator;
-
-import org.json.JSONException;
-import org.json.JSONObject;
-import org.junit.Test;
-
-import static junit.framework.TestCase.assertEquals;
-import static junit.framework.TestCase.assertNotNull;
-import static junit.framework.TestCase.assertNull;
-import static junit.framework.TestCase.assertTrue;
-import static junit.framework.TestCase.fail;
-
-/**
- * This is a unit test class for the SmartDeviceLink library project class :
- * {@link com.smartdevicelink.proxy.rpc.OnSdlChoiceChosen}
- */
-public class OnSdlChoiceChosenTests extends BaseRpcTests{
-
- SdlChoice sdlChoice;
-
- @Override
- protected RPCMessage createMessage(){
- OnSdlChoiceChosen msg = new OnSdlChoiceChosen();
- sdlChoice = msg.new SdlChoice(TestValues.GENERAL_CHOICE);
-
- msg.setTriggerSource(TestValues.GENERAL_TRIGGERSOURCE);
- msg.setSdlChoice(sdlChoice);
-
- return msg;
- }
-
- @Override
- protected String getMessageType(){
- return RPCMessage.KEY_NOTIFICATION;
- }
-
- @Override
- protected String getCommandType(){
- return FunctionID.ON_SDL_CHOICE_CHOSEN.toString();
- }
-
- @Override
- protected JSONObject getExpectedParameters(int sdlVersion){
- JSONObject result = new JSONObject();
-
- try{
- result.put(OnSdlChoiceChosen.KEY_TRIGGER_SOURCE, TestValues.GENERAL_TRIGGERSOURCE);
- result.put(OnSdlChoiceChosen.KEY_SDL_CHOICE, sdlChoice);
- }catch(JSONException e){
- fail(TestValues.JSON_FAIL);
- }
-
- return result;
- }
-
- /**
- * Tests the expected values of the RPC message.
- */
- @Test
- public void testRpcValues () {
- // Test Values
- SdlChoice data = ( (OnSdlChoiceChosen) msg ).getSdlChoice();
- TriggerSource source = ( (OnSdlChoiceChosen) msg ).getTriggerSource();
-
- // Valid Tests
- assertTrue(TestValues.MATCH, Validator.validateChoice(TestValues.GENERAL_CHOICE, data.getChoice()));
- assertEquals(TestValues.MATCH, TestValues.GENERAL_TRIGGERSOURCE, source);
-
- // Invalid/Null Tests
- OnSdlChoiceChosen msg = new OnSdlChoiceChosen();
- assertNotNull(TestValues.NOT_NULL, msg);
- testNullBase(msg);
-
- assertNull(TestValues.NULL, msg.getTriggerSource());
- assertNull(TestValues.NULL, msg.getSdlChoice());
- }
-} \ No newline at end of file
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnStreamRPCTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnStreamRPCTests.java
deleted file mode 100644
index 863abf4e0..000000000
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnStreamRPCTests.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package com.smartdevicelink.test.rpc.notifications;
-
-import com.smartdevicelink.protocol.enums.FunctionID;
-import com.smartdevicelink.proxy.RPCMessage;
-import com.smartdevicelink.proxy.rpc.OnStreamRPC;
-import com.smartdevicelink.test.BaseRpcTests;
-import com.smartdevicelink.test.TestValues;
-
-import org.json.JSONException;
-import org.json.JSONObject;
-import org.junit.Test;
-
-import static junit.framework.TestCase.assertEquals;
-import static junit.framework.TestCase.assertNotNull;
-import static junit.framework.TestCase.assertNull;
-import static junit.framework.TestCase.fail;
-
-/**
- * Created by austinkirk on 6/7/17.
- */
-
-public class OnStreamRPCTests extends BaseRpcTests {
- @Override
- protected RPCMessage createMessage(){
- OnStreamRPC msg = new OnStreamRPC();
-
- msg.setBytesComplete(TestValues.GENERAL_LONG);
- msg.setFileName(TestValues.GENERAL_STRING);
- msg.setFileSize(TestValues.GENERAL_LONG);
-
- return msg;
- }
-
- @Override
- protected String getMessageType(){
- return RPCMessage.KEY_NOTIFICATION;
- }
-
- @Override
- protected String getCommandType(){
- return FunctionID.ON_STREAM_RPC.toString();
- }
-
- @Override
- protected JSONObject getExpectedParameters(int sdlVersion){
- JSONObject result = new JSONObject();
-
- try{
- result.put(OnStreamRPC.KEY_BYTESCOMPLETE, TestValues.GENERAL_LONG);
- result.put(OnStreamRPC.KEY_FILENAME, TestValues.GENERAL_STRING);
- result.put(OnStreamRPC.KEY_FILESIZE, TestValues.GENERAL_LONG);
- }catch(JSONException e){
- fail(TestValues.JSON_FAIL);
- }
-
- return result;
- }
-
- /**
- * Tests the expected values of the RPC message.
- */
- @Test
- public void testRpcValues () {
- // Test Values
- Long bytes = ((OnStreamRPC) msg).getBytesComplete();
- String fileName = ((OnStreamRPC) msg).getFileName();
- Long fileSize = ((OnStreamRPC) msg).getFileSize();
-
- // Valid Tests
- assertEquals(TestValues.MATCH, TestValues.GENERAL_LONG, bytes);
- assertEquals(TestValues.MATCH, TestValues.GENERAL_STRING, fileName);
- assertEquals(TestValues.MATCH, TestValues.GENERAL_LONG, fileSize);
-
- // Invalid/Null Tests
- OnStreamRPC msg = new OnStreamRPC();
- assertNotNull(TestValues.NOT_NULL, msg);
- testNullBase(msg);
-
- assertNull(TestValues.NULL, msg.getBytesComplete());
- assertNull(TestValues.NULL, msg.getFileName());
- assertNull(TestValues.NULL, msg.getFileSize());
- }
-}
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnUpdateFileTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnUpdateFileTest.java
new file mode 100644
index 000000000..03dc524a1
--- /dev/null
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnUpdateFileTest.java
@@ -0,0 +1,73 @@
+package com.smartdevicelink.test.rpc.notifications;
+
+import com.smartdevicelink.protocol.enums.FunctionID;
+import com.smartdevicelink.proxy.RPCMessage;
+import com.smartdevicelink.proxy.rpc.OnUpdateFile;
+import com.smartdevicelink.test.BaseRpcTests;
+import com.smartdevicelink.test.TestValues;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.junit.Test;
+
+import static junit.framework.TestCase.assertNotNull;
+import static junit.framework.TestCase.fail;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
+/**
+ * This is a unit test class for the SmartDeviceLink library project class :
+ * {@link com.smartdevicelink.proxy.rpc.OnUpdateFile}
+ */
+public class OnUpdateFileTest extends BaseRpcTests {
+ @Override
+ protected RPCMessage createMessage() {
+ OnUpdateFile msg = new OnUpdateFile();
+
+ msg.setFileName(TestValues.GENERAL_STRING);
+
+ return msg;
+ }
+
+ @Override
+ protected String getMessageType() {
+ return RPCMessage.KEY_NOTIFICATION;
+ }
+
+ @Override
+ protected String getCommandType() {
+ return FunctionID.ON_UPDATE_FILE.toString();
+ }
+
+ @Override
+ protected JSONObject getExpectedParameters(int sdlVersion) {
+ JSONObject result = new JSONObject();
+
+ try{
+ result.put(OnUpdateFile.KEY_FILE_NAME, TestValues.GENERAL_STRING);
+ }catch(JSONException e){
+ fail(TestValues.JSON_FAIL);
+ }
+
+ return result;
+ }
+
+ /**
+ * Tests the expected values of the RPC message.
+ */
+ @Test
+ public void testRpcValues () {
+ // Test Values
+ String fileName = ( (OnUpdateFile) msg).getFileName();
+
+ // Valid Tests
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_STRING, fileName);
+
+ // Invalid/Null Tests
+ OnUpdateFile msg = new OnUpdateFile();
+ assertNotNull(TestValues.NOT_NULL, msg);
+ testNullBase(msg);
+
+ assertNull(TestValues.NULL, msg.getFileName());
+ }
+}
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnUpdateSubMenuTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnUpdateSubMenuTest.java
new file mode 100644
index 000000000..afcaf1310
--- /dev/null
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnUpdateSubMenuTest.java
@@ -0,0 +1,78 @@
+package com.smartdevicelink.test.rpc.notifications;
+
+import com.smartdevicelink.protocol.enums.FunctionID;
+import com.smartdevicelink.proxy.RPCMessage;
+import com.smartdevicelink.proxy.rpc.OnUpdateSubMenu;
+import com.smartdevicelink.test.BaseRpcTests;
+import com.smartdevicelink.test.TestValues;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.junit.Test;
+
+import static junit.framework.TestCase.assertNotNull;
+import static junit.framework.TestCase.fail;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
+/**
+ * This is a unit test class for the SmartDeviceLink library project class :
+ * {@link com.smartdevicelink.proxy.rpc.OnUpdateSubMenu}
+ */
+public class OnUpdateSubMenuTest extends BaseRpcTests {
+ @Override
+ protected RPCMessage createMessage() {
+ OnUpdateSubMenu msg = new OnUpdateSubMenu();
+
+ msg.setMenuID(TestValues.GENERAL_INT);
+ msg.setUpdateSubCells(TestValues.GENERAL_BOOLEAN);
+
+ return msg;
+ }
+
+ @Override
+ protected String getMessageType() {
+ return RPCMessage.KEY_NOTIFICATION;
+ }
+
+ @Override
+ protected String getCommandType() {
+ return FunctionID.ON_UPDATE_SUB_MENU.toString();
+ }
+
+ @Override
+ protected JSONObject getExpectedParameters(int sdlVersion) {
+ JSONObject result = new JSONObject();
+
+ try{
+ result.put(OnUpdateSubMenu.KEY_MENU_ID, TestValues.GENERAL_INT);
+ result.put(OnUpdateSubMenu.KEY_UPDATE_SUB_CELLS, TestValues.GENERAL_BOOLEAN);
+ }catch(JSONException e){
+ fail(TestValues.JSON_FAIL);
+ }
+
+ return result;
+ }
+
+ /**
+ * Tests the expected values of the RPC message.
+ */
+ @Test
+ public void testRpcValues () {
+ // Test Values
+ int menuId = ( (OnUpdateSubMenu) msg ).getMenuID();
+ boolean updateSubCells = ( (OnUpdateSubMenu) msg ).getUpdateSubCells();
+
+ // Valid Tests
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_INT, menuId);
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_BOOLEAN, updateSubCells);
+
+ // Invalid/Null Tests
+ OnUpdateSubMenu msg = new OnUpdateSubMenu();
+ assertNotNull(TestValues.NOT_NULL, msg);
+ testNullBase(msg);
+
+ assertNull(TestValues.NULL, msg.getMenuID());
+ assertNull(TestValues.NULL, msg.getUpdateSubCells());
+ }
+}
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnVehicleDataTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnVehicleDataTests.java
index 76a7675a1..d333d3b5a 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnVehicleDataTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnVehicleDataTests.java
@@ -12,11 +12,13 @@ import com.smartdevicelink.proxy.rpc.ECallInfo;
import com.smartdevicelink.proxy.rpc.EmergencyEvent;
import com.smartdevicelink.proxy.rpc.FuelRange;
import com.smartdevicelink.proxy.rpc.GPSData;
+import com.smartdevicelink.proxy.rpc.GearStatus;
import com.smartdevicelink.proxy.rpc.HeadLampStatus;
import com.smartdevicelink.proxy.rpc.MyKey;
import com.smartdevicelink.proxy.rpc.OnVehicleData;
import com.smartdevicelink.proxy.rpc.SingleTireStatus;
import com.smartdevicelink.proxy.rpc.TireStatus;
+import com.smartdevicelink.proxy.rpc.WindowStatus;
import com.smartdevicelink.proxy.rpc.enums.ComponentVolumeStatus;
import com.smartdevicelink.proxy.rpc.enums.ElectronicParkBrakeStatus;
import com.smartdevicelink.proxy.rpc.enums.PRNDL;
@@ -99,6 +101,9 @@ public class OnVehicleDataTests extends BaseRpcTests{
result.put(OnVehicleData.KEY_FUEL_RANGE, VehicleDataHelper.JSON_FUEL_RANGE);
result.put(OnVehicleData.KEY_TURN_SIGNAL, VehicleDataHelper.TURN_SIGNAL);
result.put(OnVehicleData.KEY_ELECTRONIC_PARK_BRAKE_STATUS, VehicleDataHelper.ELECTRONIC_PARK_BRAKE_STATUS);
+ result.put(OnVehicleData.KEY_HANDS_OFF_STEERING, VehicleDataHelper.HANDS_OFF_STEERING);
+ result.put(OnVehicleData.KEY_GEAR_STATUS, VehicleDataHelper.GEAR_STATUS);
+ result.put(OnVehicleData.KEY_WINDOW_STATUS, VehicleDataHelper.WINDOW_STATUS_LIST);
result.put(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, VehicleDataHelper.OEM_CUSTOM_VEHICLE_DATA_STATE);
} catch(JSONException e) {
fail(TestValues.JSON_FAIL);
@@ -111,7 +116,7 @@ public class OnVehicleDataTests extends BaseRpcTests{
* Tests the expected values of the RPC message.
*/
@Test
- public void testRpcValues () {
+ public void testRpcValues () {
// Test Values
Double speed = ( (OnVehicleData) msg).getSpeed();
int rpm = ( (OnVehicleData) msg).getRpm();
@@ -140,10 +145,12 @@ public class OnVehicleDataTests extends BaseRpcTests{
ClusterModeStatus cluster = ( (OnVehicleData) msg).getClusterModeStatus();
MyKey key = ( (OnVehicleData) msg).getMyKey();
List<FuelRange> fuelRangeList = ( (OnVehicleData) msg).getFuelRange();
+ List<WindowStatus> windowStatusList = ( (OnVehicleData) msg).getWindowStatus();
TurnSignal turnSignal = ( (OnVehicleData) msg).getTurnSignal();
ElectronicParkBrakeStatus electronicParkBrakeStatus = ( (OnVehicleData) msg).getElectronicParkBrakeStatus();
+ GearStatus gearStatus = ( (OnVehicleData) msg).getGearStatus();
Object oemCustomVehicleData = ( (OnVehicleData) msg).getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME);
-
+ Boolean handsOffSteering = ( (OnVehicleData) msg).getHandsOffSteering();
// Valid Tests
assertEquals(TestValues.MATCH, VehicleDataHelper.SPEED, speed);
assertEquals(TestValues.MATCH, VehicleDataHelper.RPM, rpm);
@@ -172,10 +179,12 @@ public class OnVehicleDataTests extends BaseRpcTests{
assertTrue(TestValues.TRUE, Validator.validateClusterModeStatus(VehicleDataHelper.CLUSTER_MODE_STATUS, cluster));
assertTrue(TestValues.TRUE, Validator.validateMyKey(VehicleDataHelper.MY_KEY, key));
assertTrue(TestValues.TRUE, Validator.validateFuelRange(VehicleDataHelper.FUEL_RANGE_LIST, fuelRangeList));
+ assertTrue(TestValues.TRUE, Validator.validateWindowStatuses(VehicleDataHelper.WINDOW_STATUS_LIST, windowStatusList));
assertEquals(TestValues.MATCH, VehicleDataHelper.TURN_SIGNAL, turnSignal);
assertEquals(TestValues.MATCH, VehicleDataHelper.ELECTRONIC_PARK_BRAKE_STATUS, electronicParkBrakeStatus);
+ assertEquals(TestValues.MATCH, VehicleDataHelper.GEAR_STATUS, gearStatus);
assertEquals(TestValues.MATCH, VehicleDataHelper.OEM_CUSTOM_VEHICLE_DATA_STATE, oemCustomVehicleData);
-
+ assertEquals(TestValues.MATCH, VehicleDataHelper.HANDS_OFF_STEERING, handsOffSteering);
// Invalid/Null Tests
OnVehicleData msg = new OnVehicleData();
assertNotNull(TestValues.NOT_NULL, msg);
@@ -210,6 +219,9 @@ public class OnVehicleDataTests extends BaseRpcTests{
assertNull(TestValues.NULL, msg.getFuelRange());
assertNull(TestValues.NULL, msg.getTurnSignal());
assertNull(TestValues.NULL, msg.getElectronicParkBrakeStatus());
+ assertNull(TestValues.NULL, msg.getHandsOffSteering());
+ assertNull(TestValues.NULL, msg.getWindowStatus());
+ assertNull(TestValues.NULL, msg.getGearStatus());
assertNull(TestValues.NULL, msg.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
}
@@ -230,8 +242,11 @@ public class OnVehicleDataTests extends BaseRpcTests{
JSONObject clusterModeStatusObj = new JSONObject();
JSONObject myKeyObj = new JSONObject();
JSONObject fuelRangeObj = new JSONObject();
+ JSONObject windowStatusObj = new JSONObject();
+ JSONObject gearStatusObj = new JSONObject();
JSONArray fuelRangeArrayObj = new JSONArray();
-
+ JSONArray windowStatusArrayObj = new JSONArray();
+
try {
//Set up the JSONObject to represent OnVehicleData:
@@ -357,6 +372,16 @@ public class OnVehicleDataTests extends BaseRpcTests{
fuelRangeObj.put(FuelRange.KEY_RANGE, VehicleDataHelper.FUEL_RANGE_RANGE);
fuelRangeArrayObj.put(fuelRangeObj);
+ // WINDOW_STATUS
+ windowStatusObj.put(WindowStatus.KEY_LOCATION, VehicleDataHelper.LOCATION_GRID);
+ windowStatusObj.put(WindowStatus.KEY_STATE, VehicleDataHelper.WINDOW_STATE);
+ windowStatusArrayObj.put(windowStatusObj);
+
+ // GEAR STATUS
+ gearStatusObj.put(GearStatus.KEY_USER_SELECTED_GEAR, VehicleDataHelper.USER_SELECTED_GEAR);
+ gearStatusObj.put(GearStatus.KEY_TRANSMISSION_TYPE, VehicleDataHelper.TRANSMISSION_TYPE);
+ gearStatusObj.put(GearStatus.KEY_ACTUAL_GEAR, VehicleDataHelper.ACTUAL_GEAR);
+
reference.put(OnVehicleData.KEY_SPEED, VehicleDataHelper.SPEED);
reference.put(OnVehicleData.KEY_RPM, VehicleDataHelper.RPM);
reference.put(OnVehicleData.KEY_EXTERNAL_TEMPERATURE, VehicleDataHelper.EXTERNAL_TEMPERATURE);
@@ -386,6 +411,9 @@ public class OnVehicleDataTests extends BaseRpcTests{
reference.put(OnVehicleData.KEY_FUEL_RANGE, fuelRangeArrayObj);
reference.put(OnVehicleData.KEY_TURN_SIGNAL, VehicleDataHelper.TURN_SIGNAL);
reference.put(OnVehicleData.KEY_ELECTRONIC_PARK_BRAKE_STATUS, VehicleDataHelper.ELECTRONIC_PARK_BRAKE_STATUS);
+ reference.put(OnVehicleData.KEY_HANDS_OFF_STEERING, VehicleDataHelper.HANDS_OFF_STEERING);
+ reference.put(OnVehicleData.KEY_WINDOW_STATUS, windowStatusArrayObj);
+ reference.put(OnVehicleData.KEY_GEAR_STATUS, gearStatusObj);
reference.put(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, VehicleDataHelper.OEM_CUSTOM_VEHICLE_DATA_STATE);
JSONObject underTest = msg.serializeJSON();
@@ -481,9 +509,20 @@ public class OnVehicleDataTests extends BaseRpcTests{
new MyKey(JsonRPCMarshaller.deserializeJSONObject(myKeyObjReference)),
new MyKey(JsonRPCMarshaller.deserializeJSONObject(myKeyObjTest))));
}
+ else if (key.equals(OnVehicleData.KEY_GEAR_STATUS)) {
+ JSONObject myKeyObjReference = JsonUtils.readJsonObjectFromJsonObject(reference, key);
+ JSONObject myKeyObjTest = JsonUtils.readJsonObjectFromJsonObject(underTest, key);
+
+ assertTrue(TestValues.TRUE, Validator.validateGearStatuses(
+ new GearStatus(JsonRPCMarshaller.deserializeJSONObject(myKeyObjReference)),
+ new GearStatus(JsonRPCMarshaller.deserializeJSONObject(myKeyObjTest))));
+ }
else if (key.equals(OnVehicleData.KEY_ENGINE_OIL_LIFE)) {
assertEquals(JsonUtils.readDoubleFromJsonObject(reference, key), JsonUtils.readDoubleFromJsonObject(underTest, key));
}
+ else if (key.equals(OnVehicleData.KEY_HANDS_OFF_STEERING)) {
+ assertEquals(JsonUtils.readBooleanFromJsonObject(reference, key), JsonUtils.readBooleanFromJsonObject(underTest, key));
+ }
else if (key.equals(OnVehicleData.KEY_FUEL_RANGE)) {
JSONArray fuelRangeArrayObjReference = JsonUtils.readJsonArrayFromJsonObject(reference, key);
List<FuelRange> fuelRangeRefereceList = new ArrayList<FuelRange>();
@@ -502,6 +541,25 @@ public class OnVehicleDataTests extends BaseRpcTests{
assertTrue(TestValues.TRUE, Validator.validateFuelRange(
fuelRangeRefereceList,
fuelRangeUnderTestList));
+ } else if (key.equals(OnVehicleData.KEY_WINDOW_STATUS)) {
+ JSONArray windowStatusArrayObjReference = JsonUtils.readJsonArrayFromJsonObject(reference, key);
+ List<WindowStatus> windowStatusReferenceList = new ArrayList<>();
+ for (int index = 0; index < windowStatusArrayObjReference.length(); index++) {
+ WindowStatus windowStatus = new WindowStatus(JsonRPCMarshaller.deserializeJSONObject( (JSONObject)windowStatusArrayObjReference.get(index) ));
+ windowStatusReferenceList.add(windowStatus);
+ }
+
+ JSONArray windowStatusArrayObjTest = JsonUtils.readJsonArrayFromJsonObject(underTest, key);
+ List<WindowStatus> windowStatusUnderTestList = new ArrayList<>();
+ for (int index = 0; index < windowStatusArrayObjTest.length(); index++) {
+ WindowStatus windowStatus = new WindowStatus(JsonRPCMarshaller.deserializeJSONObject( (JSONObject)windowStatusArrayObjTest.get(index) ));
+ windowStatusUnderTestList.add(windowStatus);
+ }
+
+ assertTrue("JSON value didn't match expected value for key \"" + key + "\".",
+ Validator.validateWindowStatuses(
+ windowStatusReferenceList,
+ windowStatusUnderTestList));
}
else {
assertEquals(TestValues.TRUE, JsonUtils.readObjectFromJsonObject(reference, key), JsonUtils.readObjectFromJsonObject(underTest, key));
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/AddCommandTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/AddCommandTests.java
index d31ff4464..88d22cd8d 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/AddCommandTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/AddCommandTests.java
@@ -18,7 +18,7 @@ import org.junit.Test;
import java.util.Hashtable;
import java.util.List;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertTrue;
@@ -108,7 +108,7 @@ public class AddCommandTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/AddSubmenuTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/AddSubmenuTests.java
index 1885f8c9b..74efd59e9 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/AddSubmenuTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/AddSubmenuTests.java
@@ -23,7 +23,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -113,7 +113,7 @@ public class AddSubmenuTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/AlertManeuverTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/AlertManeuverTests.java
index f7c2c3218..2fef7e829 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/AlertManeuverTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/AlertManeuverTests.java
@@ -26,7 +26,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -95,7 +95,7 @@ public class AlertManeuverTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/AlertTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/AlertTests.java
index e9a455ce5..2224191dd 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/AlertTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/AlertTests.java
@@ -27,7 +27,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -136,7 +136,7 @@ public class AlertTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ButtonPressTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ButtonPressTests.java
index 63a411fe6..f593f2325 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ButtonPressTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ButtonPressTests.java
@@ -18,7 +18,7 @@ import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
@@ -101,7 +101,7 @@ public class ButtonPressTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/CancelInteractionTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/CancelInteractionTests.java
index bed52225c..d2e41f85e 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/CancelInteractionTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/CancelInteractionTests.java
@@ -53,7 +53,7 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -120,7 +120,7 @@ public class CancelInteractionTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ChangeRegistrationTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ChangeRegistrationTests.java
index 05c8dddd5..a2e0cadf0 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ChangeRegistrationTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ChangeRegistrationTests.java
@@ -16,7 +16,7 @@ import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
@@ -89,7 +89,7 @@ public class ChangeRegistrationTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/CloseApplicationTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/CloseApplicationTests.java
index 99428fae2..62a92acfc 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/CloseApplicationTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/CloseApplicationTests.java
@@ -52,7 +52,7 @@ import java.util.Hashtable;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -96,7 +96,7 @@ public class CloseApplicationTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/CreateInteractionChoiceSetTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/CreateInteractionChoiceSetTests.java
index 0d6ab0e2a..3e8e533e2 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/CreateInteractionChoiceSetTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/CreateInteractionChoiceSetTests.java
@@ -24,7 +24,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -96,7 +96,7 @@ public class CreateInteractionChoiceSetTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/CreateWindowTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/CreateWindowTests.java
index 3e2ddee64..733932efb 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/CreateWindowTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/CreateWindowTests.java
@@ -20,7 +20,7 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -104,7 +104,7 @@ public class CreateWindowTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor() {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DeleteCommandTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DeleteCommandTests.java
index 4e485e8ff..20d5fe591 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DeleteCommandTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DeleteCommandTests.java
@@ -19,7 +19,7 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -83,7 +83,7 @@ public class DeleteCommandTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DeleteFileTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DeleteFileTests.java
index c95b85536..5174f9789 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DeleteFileTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DeleteFileTests.java
@@ -19,7 +19,7 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -83,7 +83,7 @@ public class DeleteFileTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DeleteInteractionChoiceSetTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DeleteInteractionChoiceSetTests.java
index c4ac6db5d..0fb31ba25 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DeleteInteractionChoiceSetTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DeleteInteractionChoiceSetTests.java
@@ -19,7 +19,7 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -83,7 +83,7 @@ public class DeleteInteractionChoiceSetTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DeleteSubMenuTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DeleteSubMenuTests.java
index 12e982b94..68adc14fa 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DeleteSubMenuTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DeleteSubMenuTests.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
@@ -82,7 +82,7 @@ public class DeleteSubMenuTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DeleteWindowTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DeleteWindowTests.java
index 1f1b2ab89..c442395bd 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DeleteWindowTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DeleteWindowTests.java
@@ -18,7 +18,7 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -82,7 +82,7 @@ public class DeleteWindowTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor() {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DiagnosticMessageTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DiagnosticMessageTests.java
index 41accb797..7b0ecacf9 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DiagnosticMessageTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DiagnosticMessageTests.java
@@ -22,7 +22,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -100,7 +100,7 @@ public class DiagnosticMessageTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DialNumberTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DialNumberTests.java
index fc0db6117..88e9fbffd 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DialNumberTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/DialNumberTests.java
@@ -18,7 +18,7 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* Created by austinkirk on 6/6/17.
@@ -83,7 +83,7 @@ public class DialNumberTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/EndAudioPassThruTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/EndAudioPassThruTests.java
index 7694da1e6..d97bc0f32 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/EndAudioPassThruTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/EndAudioPassThruTests.java
@@ -18,7 +18,7 @@ import java.util.Hashtable;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -62,7 +62,7 @@ public class EndAudioPassThruTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetAppServiceDataTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetAppServiceDataTests.java
index 2a9ab6641..f5e7bba89 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetAppServiceDataTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetAppServiceDataTests.java
@@ -19,7 +19,7 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
public class GetAppServiceDataTests extends BaseRpcTests {
@@ -93,7 +93,7 @@ public class GetAppServiceDataTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetDTCsTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetDTCsTests.java
index 930debec5..73d15ad6d 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetDTCsTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetDTCsTests.java
@@ -19,7 +19,7 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -88,7 +88,7 @@ public class GetDTCsTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetFileTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetFileTests.java
index df19fa3de..450dcba1e 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetFileTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetFileTests.java
@@ -20,7 +20,7 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
public class GetFileTests extends BaseRpcTests {
@@ -113,7 +113,7 @@ public class GetFileTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetInteriorVehicleDataConsentTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetInteriorVehicleDataConsentTests.java
index a6def432b..2aa7dc593 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetInteriorVehicleDataConsentTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetInteriorVehicleDataConsentTests.java
@@ -16,7 +16,7 @@ import org.junit.Test;
import java.util.Hashtable;
import java.util.List;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
@@ -77,7 +77,7 @@ public class GetInteriorVehicleDataConsentTests extends BaseRpcTests {
@Test
public void testJsonConstructor() {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetInteriorVehicleDataTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetInteriorVehicleDataTests.java
index 4ab5f5e6a..4c7f5f461 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetInteriorVehicleDataTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetInteriorVehicleDataTests.java
@@ -20,7 +20,7 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -94,7 +94,7 @@ public class GetInteriorVehicleDataTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetSystemCapabilityTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetSystemCapabilityTests.java
index f65473c3f..533ff8c50 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetSystemCapabilityTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetSystemCapabilityTests.java
@@ -20,7 +20,7 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
public class GetSystemCapabilityTests extends BaseRpcTests {
@@ -85,7 +85,7 @@ public class GetSystemCapabilityTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetVehicleDataTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetVehicleDataTests.java
index 7ce293942..f3b4b564e 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetVehicleDataTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetVehicleDataTests.java
@@ -20,7 +20,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -61,6 +61,9 @@ public class GetVehicleDataTests extends BaseRpcTests {
msg.setFuelRange(TestValues.GENERAL_BOOLEAN);
msg.setTurnSignal(TestValues.GENERAL_BOOLEAN);
msg.setElectronicParkBrakeStatus(TestValues.GENERAL_BOOLEAN);
+ msg.setHandsOffSteering(TestValues.GENERAL_BOOLEAN);
+ msg.setWindowStatus(TestValues.GENERAL_BOOLEAN);
+ msg.setGearStatus(TestValues.GENERAL_BOOLEAN);
msg.setOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, TestValues.GENERAL_BOOLEAN);
return msg;
@@ -110,6 +113,9 @@ public class GetVehicleDataTests extends BaseRpcTests {
result.put(GetVehicleData.KEY_FUEL_RANGE, TestValues.GENERAL_BOOLEAN);
result.put(GetVehicleData.KEY_TURN_SIGNAL, TestValues.GENERAL_BOOLEAN);
result.put(GetVehicleData.KEY_ELECTRONIC_PARK_BRAKE_STATUS, TestValues.GENERAL_BOOLEAN);
+ result.put(GetVehicleData.KEY_HANDS_OFF_STEERING, TestValues.GENERAL_BOOLEAN);
+ result.put(GetVehicleData.KEY_GEAR_STATUS, TestValues.GENERAL_BOOLEAN);
+ result.put(GetVehicleData.KEY_WINDOW_STATUS, TestValues.GENERAL_BOOLEAN);
result.put(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, TestValues.GENERAL_BOOLEAN);
}catch(JSONException e){
fail(TestValues.JSON_FAIL);
@@ -122,7 +128,7 @@ public class GetVehicleDataTests extends BaseRpcTests {
* Tests the expected values of the RPC message.
*/
@Test
- public void testRpcValues () {
+ public void testRpcValues () {
// Valid Tests
assertTrue(TestValues.TRUE, ( (GetVehicleData) msg ).getSpeed());
assertTrue(TestValues.TRUE, ( (GetVehicleData) msg ).getRpm());
@@ -154,6 +160,9 @@ public class GetVehicleDataTests extends BaseRpcTests {
assertTrue(TestValues.TRUE, ( (GetVehicleData) msg ).getFuelRange());
assertTrue(TestValues.TRUE, ( (GetVehicleData) msg ).getTurnSignal());
assertTrue(TestValues.TRUE, ( (GetVehicleData) msg ).getElectronicParkBrakeStatus());
+ assertTrue(TestValues.TRUE, ( (GetVehicleData) msg ).getHandsOffSteering());
+ assertTrue(TestValues.TRUE, ( (GetVehicleData) msg ).getWindowStatus());
+ assertTrue(TestValues.TRUE, ( (GetVehicleData) msg ).getGearStatus());
assertTrue(TestValues.TRUE, ( (GetVehicleData) msg ).getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
// Invalid/Null Tests
@@ -190,6 +199,9 @@ public class GetVehicleDataTests extends BaseRpcTests {
assertNull(TestValues.NULL, msg.getFuelRange());
assertNull(TestValues.NULL, msg.getTurnSignal());
assertNull(TestValues.NULL, msg.getElectronicParkBrakeStatus());
+ assertNull(TestValues.NULL, msg.getHandsOffSteering());
+ assertNull(TestValues.NULL, msg.getWindowStatus());
+ assertNull(TestValues.NULL, msg.getGearStatus());
assertNull(TestValues.NULL, msg.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
}
@@ -198,7 +210,7 @@ public class GetVehicleDataTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
@@ -242,6 +254,9 @@ public class GetVehicleDataTests extends BaseRpcTests {
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, GetVehicleData.KEY_FUEL_RANGE), cmd.getFuelRange());
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, GetVehicleData.KEY_TURN_SIGNAL), cmd.getTurnSignal());
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, GetVehicleData.KEY_ELECTRONIC_PARK_BRAKE_STATUS), cmd.getElectronicParkBrakeStatus());
+ assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, GetVehicleData.KEY_HANDS_OFF_STEERING), cmd.getHandsOffSteering());
+ assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, GetVehicleData.KEY_WINDOW_STATUS), cmd.getWindowStatus());
+ assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, GetVehicleData.KEY_GEAR_STATUS), cmd.getGearStatus());
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME), cmd.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
} catch (JSONException e) {
fail(TestValues.JSON_FAIL);
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetWayPointsTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetWayPointsTests.java
index 4037eb53d..a52d1a644 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetWayPointsTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetWayPointsTests.java
@@ -20,7 +20,7 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* Created by austinkirk on 6/6/17.
@@ -83,7 +83,7 @@ public class GetWayPointsTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ListFilesTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ListFilesTests.java
index ac51ca8aa..92e7286e4 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ListFilesTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ListFilesTests.java
@@ -18,7 +18,7 @@ import java.util.Hashtable;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -62,7 +62,7 @@ public class ListFilesTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/PerformAppServiceInteractionTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/PerformAppServiceInteractionTests.java
index 0085f0f30..9a9b7b375 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/PerformAppServiceInteractionTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/PerformAppServiceInteractionTests.java
@@ -19,7 +19,7 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
public class PerformAppServiceInteractionTests extends BaseRpcTests {
@@ -110,7 +110,7 @@ public class PerformAppServiceInteractionTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/PerformAudioPassThruTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/PerformAudioPassThruTests.java
index 65c4b00dd..abbe3d644 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/PerformAudioPassThruTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/PerformAudioPassThruTests.java
@@ -28,7 +28,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -129,7 +129,7 @@ public class PerformAudioPassThruTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/PerformInteractionTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/PerformInteractionTests.java
index f363e06a2..176cc3ec5 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/PerformInteractionTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/PerformInteractionTests.java
@@ -28,7 +28,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -138,7 +138,7 @@ public class PerformInteractionTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/PublishAppServiceTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/PublishAppServiceTests.java
index fecad8073..9d0c3ed94 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/PublishAppServiceTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/PublishAppServiceTests.java
@@ -22,7 +22,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
public class PublishAppServiceTests extends BaseRpcTests {
@@ -92,7 +92,7 @@ public class PublishAppServiceTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/PutFileTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/PutFileTests.java
index d5834414d..b70c83794 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/PutFileTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/PutFileTests.java
@@ -21,7 +21,7 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -130,7 +130,7 @@ public class PutFileTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ReadDidTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ReadDidTests.java
index f528e34ce..151f5cc3e 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ReadDidTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ReadDidTests.java
@@ -22,7 +22,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -91,7 +91,7 @@ public class ReadDidTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/RegisterAppInterfaceTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/RegisterAppInterfaceTests.java
index 74035cb7c..665a3dc80 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/RegisterAppInterfaceTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/RegisterAppInterfaceTests.java
@@ -31,7 +31,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -169,7 +169,7 @@ public class RegisterAppInterfaceTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ReleaseInteriorVehicleDataModuleTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ReleaseInteriorVehicleDataModuleTests.java
index 280e4f11b..e786d1786 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ReleaseInteriorVehicleDataModuleTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ReleaseInteriorVehicleDataModuleTests.java
@@ -20,7 +20,7 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
public class ReleaseInteriorVehicleDataModuleTests extends BaseRpcTests {
@@ -75,7 +75,7 @@ public class ReleaseInteriorVehicleDataModuleTests extends BaseRpcTests {
@Test
public void testJsonConstructor() {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ResetGlobalPropertiesTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ResetGlobalPropertiesTests.java
index 89cef762e..68448c5a6 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ResetGlobalPropertiesTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ResetGlobalPropertiesTests.java
@@ -22,7 +22,7 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -89,7 +89,7 @@ public class ResetGlobalPropertiesTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ScrollableMessageTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ScrollableMessageTests.java
index 632769924..e6d8b146d 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ScrollableMessageTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ScrollableMessageTests.java
@@ -25,7 +25,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -108,7 +108,7 @@ public class ScrollableMessageTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SendLocationTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SendLocationTests.java
index c92eac6ec..99a74dfae 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SendLocationTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SendLocationTests.java
@@ -23,7 +23,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -117,7 +117,7 @@ public class SendLocationTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull("Command object is null", commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SetAppIconTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SetAppIconTests.java
index e4df0a44b..5878aad7c 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SetAppIconTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SetAppIconTests.java
@@ -19,7 +19,7 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -83,7 +83,7 @@ public class SetAppIconTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SetDisplayLayoutTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SetDisplayLayoutTests.java
index 56f0dc0bc..22118bdb1 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SetDisplayLayoutTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SetDisplayLayoutTests.java
@@ -22,7 +22,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
@@ -97,7 +97,7 @@ public class SetDisplayLayoutTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SetGlobalPropertiesTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SetGlobalPropertiesTests.java
index 51adf5c7c..379b1c1ee 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SetGlobalPropertiesTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SetGlobalPropertiesTests.java
@@ -29,7 +29,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -128,7 +128,7 @@ public class SetGlobalPropertiesTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SetInteriorVehicleDataTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SetInteriorVehicleDataTests.java
index ecffe1b21..1285acafd 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SetInteriorVehicleDataTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SetInteriorVehicleDataTests.java
@@ -22,7 +22,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -86,7 +86,7 @@ public class SetInteriorVehicleDataTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SetMediaClockTimerTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SetMediaClockTimerTests.java
index 5e97d8633..a60709dba 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SetMediaClockTimerTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SetMediaClockTimerTests.java
@@ -24,7 +24,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -169,7 +169,7 @@ public class SetMediaClockTimerTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ShowAppMenuTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ShowAppMenuTests.java
index eb2526e54..3e486bc6a 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ShowAppMenuTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ShowAppMenuTests.java
@@ -54,7 +54,7 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -116,7 +116,7 @@ public class ShowAppMenuTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ShowConstantTbtTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ShowConstantTbtTests.java
index 4a3034eee..85c830214 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ShowConstantTbtTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ShowConstantTbtTests.java
@@ -26,7 +26,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -140,7 +140,7 @@ public class ShowConstantTbtTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ShowTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ShowTests.java
index de39d2733..742d23ff4 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ShowTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/ShowTests.java
@@ -29,7 +29,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -156,7 +156,7 @@ public class ShowTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(),getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(),getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SliderTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SliderTests.java
index c375d2d4d..32f60d4e5 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SliderTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SliderTests.java
@@ -22,7 +22,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -111,7 +111,7 @@ public class SliderTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SpeakTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SpeakTests.java
index 4681975fe..f0214c78c 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SpeakTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SpeakTests.java
@@ -25,7 +25,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
public class SpeakTests extends BaseRpcTests {
@@ -85,7 +85,7 @@ public class SpeakTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubscribeButtonTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubscribeButtonTests.java
index 534e65576..19b192b31 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubscribeButtonTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubscribeButtonTests.java
@@ -15,7 +15,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
@@ -83,7 +83,7 @@ public class SubscribeButtonTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubscribeVehicleDataTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubscribeVehicleDataTests.java
index d319d1b11..fee5ddd25 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubscribeVehicleDataTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubscribeVehicleDataTests.java
@@ -20,7 +20,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -60,6 +60,9 @@ public class SubscribeVehicleDataTests extends BaseRpcTests {
msg.setFuelRange(TestValues.GENERAL_BOOLEAN);
msg.setTurnSignal(TestValues.GENERAL_BOOLEAN);
msg.setElectronicParkBrakeStatus(TestValues.GENERAL_BOOLEAN);
+ msg.setHandsOffSteering(TestValues.GENERAL_BOOLEAN);
+ msg.setWindowStatus(TestValues.GENERAL_BOOLEAN);
+ msg.setGearStatus(TestValues.GENERAL_BOOLEAN);
msg.setOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, TestValues.GENERAL_BOOLEAN);
return msg;
@@ -108,6 +111,9 @@ public class SubscribeVehicleDataTests extends BaseRpcTests {
result.put(SubscribeVehicleData.KEY_FUEL_RANGE, TestValues.GENERAL_BOOLEAN);
result.put(SubscribeVehicleData.KEY_TURN_SIGNAL, TestValues.GENERAL_BOOLEAN);
result.put(SubscribeVehicleData.KEY_ELECTRONIC_PARK_BRAKE_STATUS, TestValues.GENERAL_BOOLEAN);
+ result.put(SubscribeVehicleData.KEY_HANDS_OFF_STEERING, TestValues.GENERAL_BOOLEAN);
+ result.put(SubscribeVehicleData.KEY_WINDOW_STATUS, TestValues.GENERAL_BOOLEAN);
+ result.put(SubscribeVehicleData.KEY_GEAR_STATUS, TestValues.GENERAL_BOOLEAN);
result.put(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, TestValues.GENERAL_BOOLEAN);
} catch (JSONException e) {
fail(TestValues.JSON_FAIL);
@@ -151,6 +157,9 @@ public class SubscribeVehicleDataTests extends BaseRpcTests {
assertTrue(TestValues.MATCH,( (SubscribeVehicleData) msg ).getFuelRange());
assertTrue(TestValues.MATCH,( (SubscribeVehicleData) msg ).getTurnSignal());
assertTrue(TestValues.MATCH,( (SubscribeVehicleData) msg ).getElectronicParkBrakeStatus());
+ assertTrue(TestValues.MATCH,( (SubscribeVehicleData) msg ).getHandsOffSteering());
+ assertTrue(TestValues.MATCH,( (SubscribeVehicleData) msg ).getWindowStatus());
+ assertTrue(TestValues.MATCH,( (SubscribeVehicleData) msg ).getGearStatus());
assertTrue(TestValues.MATCH,( (SubscribeVehicleData) msg ).getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
// Invalid/Null Tests
@@ -186,6 +195,9 @@ public class SubscribeVehicleDataTests extends BaseRpcTests {
assertNull(TestValues.NULL, msg.getFuelRange());
assertNull(TestValues.NULL, msg.getTurnSignal());
assertNull(TestValues.NULL, msg.getElectronicParkBrakeStatus());
+ assertNull(TestValues.NULL, msg.getHandsOffSteering());
+ assertNull(TestValues.NULL, msg.getWindowStatus());
+ assertNull(TestValues.NULL, msg.getGearStatus());
assertNull(TestValues.NULL, msg.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
}
@@ -194,7 +206,7 @@ public class SubscribeVehicleDataTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
@@ -237,6 +249,8 @@ public class SubscribeVehicleDataTests extends BaseRpcTests {
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, SubscribeVehicleData.KEY_FUEL_RANGE), cmd.getFuelRange());
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, SubscribeVehicleData.KEY_TURN_SIGNAL), cmd.getTurnSignal());
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, SubscribeVehicleData.KEY_ELECTRONIC_PARK_BRAKE_STATUS), cmd.getElectronicParkBrakeStatus());
+ assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, SubscribeVehicleData.KEY_HANDS_OFF_STEERING), cmd.getHandsOffSteering());
+ assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, SubscribeVehicleData.KEY_WINDOW_STATUS), cmd.getWindowStatus());
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME), cmd.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
} catch (JSONException e) {
fail(TestValues.JSON_FAIL);
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubscribeWayPointsTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubscribeWayPointsTests.java
index 894ef026e..2ce400e55 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubscribeWayPointsTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubscribeWayPointsTests.java
@@ -18,7 +18,7 @@ import java.util.Hashtable;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* Created by austinkirk on 6/7/17.
@@ -61,7 +61,7 @@ public class SubscribeWayPointsTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubtleAlertTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubtleAlertTests.java
new file mode 100644
index 000000000..7c5a49534
--- /dev/null
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubtleAlertTests.java
@@ -0,0 +1,202 @@
+/*
+ * Copyright (c) 2019 Livio, 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 of the Livio Inc. 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.
+ *
+ * Created by Nicole Yarroch on 7/17/19 10:06 AM
+ */
+
+package com.smartdevicelink.test.rpc.requests;
+
+import com.smartdevicelink.marshal.JsonRPCMarshaller;
+import com.smartdevicelink.protocol.enums.FunctionID;
+import com.smartdevicelink.proxy.RPCMessage;
+import com.smartdevicelink.proxy.rpc.Image;
+import com.smartdevicelink.proxy.rpc.SoftButton;
+import com.smartdevicelink.proxy.rpc.SubtleAlert;
+import com.smartdevicelink.proxy.rpc.TTSChunk;
+import com.smartdevicelink.test.BaseRpcTests;
+import com.smartdevicelink.test.JsonUtils;
+import com.smartdevicelink.test.TestValues;
+import com.smartdevicelink.test.Validator;
+import com.smartdevicelink.test.json.rpc.JsonFileReader;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.List;
+
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
+import static junit.framework.TestCase.assertEquals;
+import static junit.framework.TestCase.assertNotNull;
+import static junit.framework.TestCase.assertNull;
+import static junit.framework.TestCase.assertTrue;
+import static junit.framework.TestCase.fail;
+
+/**
+ * This is a unit test class for the SmartDeviceLink library project class :
+ * {@link com.smartdevicelink.proxy.rpc.SubtleAlert}
+ */
+public class SubtleAlertTests extends BaseRpcTests {
+
+ @Override
+ protected RPCMessage createMessage() {
+ SubtleAlert msg = new SubtleAlert();
+ msg.setAlertText1(TestValues.GENERAL_STRING);
+ msg.setAlertText2(TestValues.GENERAL_STRING);
+ msg.setAlertIcon(TestValues.GENERAL_IMAGE);
+ msg.setTtsChunks(TestValues.GENERAL_TTSCHUNK_LIST);
+ msg.setDuration(TestValues.GENERAL_INTEGER);
+ msg.setSoftButtons(TestValues.GENERAL_SOFTBUTTON_LIST);
+ msg.setCancelID(TestValues.GENERAL_INTEGER);
+ return msg;
+ }
+
+ @Override
+ protected String getMessageType(){
+ return RPCMessage.KEY_REQUEST;
+ }
+
+ @Override
+ protected String getCommandType(){
+ return FunctionID.SUBTLE_ALERT.toString();
+ }
+
+ @Override
+ protected JSONObject getExpectedParameters(int sdlVersion) {
+ JSONObject result = new JSONObject();
+
+ try {
+ result.put(SubtleAlert.KEY_ALERT_TEXT_1, TestValues.GENERAL_STRING);
+ result.put(SubtleAlert.KEY_ALERT_TEXT_2, TestValues.GENERAL_STRING);
+ result.put(SubtleAlert.KEY_ALERT_ICON, TestValues.JSON_IMAGE);
+ result.put(SubtleAlert.KEY_TTS_CHUNKS, TestValues.JSON_TTSCHUNKS);
+ result.put(SubtleAlert.KEY_DURATION, TestValues.GENERAL_INTEGER);
+ result.put(SubtleAlert.KEY_SOFT_BUTTONS, TestValues.JSON_SOFTBUTTONS);
+ result.put(SubtleAlert.KEY_CANCEL_ID, TestValues.GENERAL_INTEGER);
+ } catch (JSONException e) {
+ fail(TestValues.JSON_FAIL);
+ }
+
+ return result;
+ }
+
+ /**
+ * Tests the expected values of the RPC message.
+ */
+ @Test
+ public void testRpcValues () {
+ // Test Values
+ String testAlertText1 = ((SubtleAlert) msg).getAlertText1();
+ String testAlertText2 = ((SubtleAlert) msg).getAlertText2();
+ Image testAlertIcon = ((SubtleAlert) msg).getAlertIcon();
+ List<TTSChunk> testTtsChunks = ((SubtleAlert) msg).getTtsChunks();
+ Integer testDuration = ((SubtleAlert) msg).getDuration();
+ List<SoftButton> testSoftButtons = ((SubtleAlert) msg).getSoftButtons();
+ Integer testCancelID = ((SubtleAlert) msg).getCancelID();
+
+ // Valid Tests
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_STRING, testAlertText1);
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_STRING, testAlertText2);
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_IMAGE, testAlertIcon);
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_TTSCHUNK_LIST, testTtsChunks);
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_INTEGER, testDuration);
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_SOFTBUTTON_LIST, testSoftButtons);
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_INTEGER, testCancelID);
+
+ // Invalid/Null Tests
+ SubtleAlert msg = new SubtleAlert();
+ assertNotNull(TestValues.NOT_NULL, msg);
+ testNullBase(msg);
+
+ assertNull(TestValues.NULL, msg.getAlertText1());
+ assertNull(TestValues.NULL, msg.getAlertText2());
+ assertNull(TestValues.NULL, msg.getAlertIcon());
+ assertNull(TestValues.NULL, msg.getTtsChunks());
+ assertNull(TestValues.NULL, msg.getDuration());
+ assertNull(TestValues.NULL, msg.getSoftButtons());
+ assertNull(TestValues.NULL, msg.getCancelID());
+ }
+
+ /**
+ * Tests a valid JSON construction of this RPC message.
+ */
+ @Test
+ public void testJsonConstructor () {
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
+ assertNotNull(TestValues.NOT_NULL, commandJson);
+
+ try {
+ Hashtable<String, Object> hash = JsonRPCMarshaller.deserializeJSONObject(commandJson);
+ SubtleAlert cmd = new SubtleAlert(hash);
+ JSONObject body = JsonUtils.readJsonObjectFromJsonObject(commandJson, getMessageType());
+ assertNotNull(TestValues.NOT_NULL, body);
+
+ // Test everything in the json body.
+ assertEquals(TestValues.MATCH, JsonUtils.readStringFromJsonObject(body, RPCMessage.KEY_FUNCTION_NAME), cmd.getFunctionName());
+ assertEquals(TestValues.MATCH, JsonUtils.readIntegerFromJsonObject(body, RPCMessage.KEY_CORRELATION_ID), cmd.getCorrelationID());
+ JSONObject parameters = JsonUtils.readJsonObjectFromJsonObject(body, RPCMessage.KEY_PARAMETERS);
+
+ assertEquals(TestValues.MATCH, JsonUtils.readStringFromJsonObject(parameters, SubtleAlert.KEY_ALERT_TEXT_1), cmd.getAlertText1());
+ assertEquals(TestValues.MATCH, JsonUtils.readStringFromJsonObject(parameters, SubtleAlert.KEY_ALERT_TEXT_2), cmd.getAlertText2());
+
+ JSONObject alertIcon = JsonUtils.readJsonObjectFromJsonObject(parameters, SubtleAlert.KEY_ALERT_ICON);
+ Image referenceAlertIcon = new Image(JsonRPCMarshaller.deserializeJSONObject(alertIcon));
+ assertTrue(TestValues.TRUE, Validator.validateImage(referenceAlertIcon, cmd.getAlertIcon()));
+
+ JSONArray ttsChunkArray = JsonUtils.readJsonArrayFromJsonObject(parameters, SubtleAlert.KEY_TTS_CHUNKS);
+ List<TTSChunk> ttsChunkList = new ArrayList<TTSChunk>();
+ for (int index = 0; index < ttsChunkArray.length(); index++) {
+ TTSChunk chunk = new TTSChunk(JsonRPCMarshaller.deserializeJSONObject( (JSONObject)ttsChunkArray.get(index)) );
+ ttsChunkList.add(chunk);
+ }
+ assertTrue(TestValues.TRUE, Validator.validateTtsChunks(ttsChunkList, cmd.getTtsChunks()));
+
+ assertEquals(TestValues.MATCH, JsonUtils.readIntegerFromJsonObject(parameters, SubtleAlert.KEY_DURATION), cmd.getDuration());
+
+ JSONArray softButtonArray = JsonUtils.readJsonArrayFromJsonObject(parameters, SubtleAlert.KEY_SOFT_BUTTONS);
+ List<SoftButton> softButtonList = new ArrayList<SoftButton>();
+ for (int index = 0; index < softButtonArray.length(); index++) {
+ SoftButton chunk = new SoftButton(JsonRPCMarshaller.deserializeJSONObject( (JSONObject)softButtonArray.get(index)) );
+ softButtonList.add(chunk);
+ }
+ assertTrue(TestValues.TRUE, Validator.validateSoftButtons(softButtonList, cmd.getSoftButtons()));
+
+ assertEquals(TestValues.MATCH, JsonUtils.readIntegerFromJsonObject(parameters, SubtleAlert.KEY_CANCEL_ID), cmd.getCancelID());
+
+ }
+ catch (JSONException e) {
+ fail(TestValues.JSON_FAIL);
+ }
+ }
+}
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SystemRequestTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SystemRequestTests.java
index 217e4da58..aeb061dc6 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SystemRequestTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SystemRequestTests.java
@@ -23,7 +23,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
@@ -104,7 +104,7 @@ public class SystemRequestTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnpublishAppServiceTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnpublishAppServiceTests.java
index f038121a7..796fe2a25 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnpublishAppServiceTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnpublishAppServiceTests.java
@@ -54,7 +54,7 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -128,7 +128,7 @@ public class UnpublishAppServiceTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnregisterAppInterfaceTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnregisterAppInterfaceTests.java
index e400ff73b..dec7b0376 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnregisterAppInterfaceTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnregisterAppInterfaceTests.java
@@ -18,7 +18,7 @@ import java.util.Hashtable;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -62,7 +62,7 @@ public class UnregisterAppInterfaceTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnsubscribeButtonTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnsubscribeButtonTests.java
index 9b786cb7d..97833ce02 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnsubscribeButtonTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnsubscribeButtonTests.java
@@ -20,7 +20,7 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -85,7 +85,7 @@ public class UnsubscribeButtonTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnsubscribeVehicleDataTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnsubscribeVehicleDataTests.java
index 0f2098c54..747b61563 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnsubscribeVehicleDataTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnsubscribeVehicleDataTests.java
@@ -21,7 +21,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
@@ -63,6 +63,9 @@ public class UnsubscribeVehicleDataTests extends BaseRpcTests {
msg.setTurnSignal(TestValues.GENERAL_BOOLEAN);
msg.setElectronicParkBrakeStatus(TestValues.GENERAL_BOOLEAN);
msg.setCloudAppVehicleID(TestValues.GENERAL_BOOLEAN);
+ msg.setGearStatus(TestValues.GENERAL_BOOLEAN);
+ msg.setHandsOffSteering(TestValues.GENERAL_BOOLEAN);
+ msg.setWindowStatus(TestValues.GENERAL_BOOLEAN);
msg.setOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, TestValues.GENERAL_BOOLEAN);
return msg;
@@ -112,6 +115,9 @@ public class UnsubscribeVehicleDataTests extends BaseRpcTests {
result.put(UnsubscribeVehicleData.KEY_TURN_SIGNAL, TestValues.GENERAL_BOOLEAN);
result.put(UnsubscribeVehicleData.KEY_ELECTRONIC_PARK_BRAKE_STATUS, TestValues.GENERAL_BOOLEAN);
result.put(UnsubscribeVehicleData.KEY_CLOUD_APP_VEHICLE_ID, TestValues.GENERAL_BOOLEAN);
+ result.put(UnsubscribeVehicleData.KEY_HANDS_OFF_STEERING, TestValues.GENERAL_BOOLEAN);
+ result.put(UnsubscribeVehicleData.KEY_WINDOW_STATUS, TestValues.GENERAL_BOOLEAN);
+ result.put(UnsubscribeVehicleData.KEY_GEAR_STATUS, TestValues.GENERAL_BOOLEAN);
result.put(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, TestValues.GENERAL_BOOLEAN);
} catch (JSONException e) {
fail(TestValues.JSON_FAIL);
@@ -124,7 +130,7 @@ public class UnsubscribeVehicleDataTests extends BaseRpcTests {
* Tests the expected values of the RPC message.
*/
@Test
- public void testRpcValues(){
+ public void testRpcValues(){
// Valid Tests
assertTrue(TestValues.TRUE,( (UnsubscribeVehicleData) msg ).getSpeed());
assertTrue(TestValues.TRUE,( (UnsubscribeVehicleData) msg ).getRpm());
@@ -155,8 +161,10 @@ public class UnsubscribeVehicleDataTests extends BaseRpcTests {
assertTrue(TestValues.TRUE,( (UnsubscribeVehicleData) msg ).getTurnSignal());
assertTrue(TestValues.TRUE,( (UnsubscribeVehicleData) msg ).getElectronicParkBrakeStatus());
assertTrue(TestValues.TRUE,( (UnsubscribeVehicleData) msg ).getCloudAppVehicleID());
+ assertTrue(TestValues.TRUE,( (UnsubscribeVehicleData) msg ).getHandsOffSteering());
+ assertTrue(TestValues.TRUE,( (UnsubscribeVehicleData) msg ).getWindowStatus());
+ assertTrue(TestValues.TRUE,( (UnsubscribeVehicleData) msg ).getGearStatus());
assertTrue(TestValues.TRUE,( (UnsubscribeVehicleData) msg ).getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
-
// Invalid/Null Tests
UnsubscribeVehicleData msg = new UnsubscribeVehicleData();
assertNotNull(TestValues.NOT_NULL, msg);
@@ -191,6 +199,9 @@ public class UnsubscribeVehicleDataTests extends BaseRpcTests {
assertNull(TestValues.NULL, msg.getTurnSignal());
assertNull(TestValues.NULL, msg.getElectronicParkBrakeStatus());
assertNull(TestValues.NULL, msg.getCloudAppVehicleID());
+ assertNull(TestValues.NULL, msg.getHandsOffSteering());
+ assertNull(TestValues.NULL, msg.getWindowStatus());
+ assertNull(TestValues.NULL, msg.getGearStatus());
assertNull(TestValues.NULL, msg.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
}
@@ -199,7 +210,7 @@ public class UnsubscribeVehicleDataTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
@@ -243,6 +254,9 @@ public class UnsubscribeVehicleDataTests extends BaseRpcTests {
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, UnsubscribeVehicleData.KEY_TURN_SIGNAL), cmd.getTurnSignal());
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, UnsubscribeVehicleData.KEY_ELECTRONIC_PARK_BRAKE_STATUS), cmd.getElectronicParkBrakeStatus());
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, UnsubscribeVehicleData.KEY_CLOUD_APP_VEHICLE_ID), cmd.getCloudAppVehicleID());
+ assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, UnsubscribeVehicleData.KEY_HANDS_OFF_STEERING), cmd.getHandsOffSteering());
+ assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, UnsubscribeVehicleData.KEY_WINDOW_STATUS), cmd.getWindowStatus());
+ assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, UnsubscribeVehicleData.KEY_GEAR_STATUS), cmd.getGearStatus());
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME), cmd.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
}
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnsubscribeWayPointsTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnsubscribeWayPointsTests.java
index d595b8ec9..5d20c8454 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnsubscribeWayPointsTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnsubscribeWayPointsTests.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.fail;
@@ -60,7 +60,7 @@ public class UnsubscribeWayPointsTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UpdateTurnListTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UpdateTurnListTests.java
index 3f2e37a03..53dc91fc6 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UpdateTurnListTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UpdateTurnListTests.java
@@ -26,7 +26,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -98,7 +98,7 @@ public class UpdateTurnListTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/AddCommandResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/AddCommandResponseTests.java
index 94346fdb2..e4d69e79f 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/AddCommandResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/AddCommandResponseTests.java
@@ -15,7 +15,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -61,7 +61,7 @@ public class AddCommandResponseTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/AddSubmenuResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/AddSubmenuResponseTests.java
index ec355539d..861de0d37 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/AddSubmenuResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/AddSubmenuResponseTests.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -60,7 +60,7 @@ public class AddSubmenuResponseTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/AlertManeuverResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/AlertManeuverResponseTests.java
index f26a09f4a..01805fce6 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/AlertManeuverResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/AlertManeuverResponseTests.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -60,7 +60,7 @@ public class AlertManeuverResponseTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/AlertResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/AlertResponseTests.java
index ff260f23f..d8f554c53 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/AlertResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/AlertResponseTests.java
@@ -19,7 +19,7 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -83,7 +83,7 @@ public class AlertResponseTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ButtonPressResponseTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ButtonPressResponseTest.java
index 25b8140c4..2c4bfc651 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ButtonPressResponseTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ButtonPressResponseTest.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -60,7 +60,7 @@ public class ButtonPressResponseTest extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/CancelInteractionResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/CancelInteractionResponseTests.java
index e1fb2746a..a981719e9 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/CancelInteractionResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/CancelInteractionResponseTests.java
@@ -48,7 +48,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -94,7 +94,7 @@ public class CancelInteractionResponseTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ChangeRegistrationResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ChangeRegistrationResponseTests.java
index 60996445c..6888c589d 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ChangeRegistrationResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ChangeRegistrationResponseTests.java
@@ -17,7 +17,7 @@ import java.util.Hashtable;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -61,7 +61,7 @@ public class ChangeRegistrationResponseTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/CloseApplicationResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/CloseApplicationResponseTests.java
index 9bf867391..6eb9a09a5 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/CloseApplicationResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/CloseApplicationResponseTests.java
@@ -48,7 +48,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -94,7 +94,7 @@ public class CloseApplicationResponseTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/CreateWindowResponseTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/CreateWindowResponseTest.java
index 56e8fc257..a06af985b 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/CreateWindowResponseTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/CreateWindowResponseTest.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -60,7 +60,7 @@ public class CreateWindowResponseTest extends BaseRpcTests {
*/
@Test
public void testJsonConstructor() {
- JSONObject commandJson = JsonFileReader.readId(getContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DeleteCommandResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DeleteCommandResponseTests.java
index 2318a4e46..b2e6e27a9 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DeleteCommandResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DeleteCommandResponseTests.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -60,7 +60,7 @@ public class DeleteCommandResponseTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DeleteFileResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DeleteFileResponseTests.java
index d5ca5d0c1..0e529dc69 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DeleteFileResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DeleteFileResponseTests.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
@@ -82,7 +82,7 @@ public class DeleteFileResponseTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DeleteInteractionChoiceSetResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DeleteInteractionChoiceSetResponseTests.java
index 7a313531c..24ce266d1 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DeleteInteractionChoiceSetResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DeleteInteractionChoiceSetResponseTests.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -60,7 +60,7 @@ public class DeleteInteractionChoiceSetResponseTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DeleteSubMenuResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DeleteSubMenuResponseTests.java
index e70402ecd..8392f915b 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DeleteSubMenuResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DeleteSubMenuResponseTests.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -60,7 +60,7 @@ public class DeleteSubMenuResponseTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DeleteWindowResponseTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DeleteWindowResponseTest.java
index bfa2df5aa..347db5ea6 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DeleteWindowResponseTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DeleteWindowResponseTest.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -60,7 +60,7 @@ public class DeleteWindowResponseTest extends BaseRpcTests {
*/
@Test
public void testJsonConstructor() {
- JSONObject commandJson = JsonFileReader.readId(getContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DiagnosticMessageResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DiagnosticMessageResponseTests.java
index d42a1e53e..7bfefbeea 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DiagnosticMessageResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DiagnosticMessageResponseTests.java
@@ -16,7 +16,7 @@ import org.junit.Test;
import java.util.Hashtable;
import java.util.List;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
@@ -91,7 +91,7 @@ public class DiagnosticMessageResponseTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DialNumberResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DialNumberResponseTests.java
index 9625cf3d5..ff23c5ad7 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DialNumberResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/DialNumberResponseTests.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -60,7 +60,7 @@ public class DialNumberResponseTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/EndAudioPassThruResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/EndAudioPassThruResponseTests.java
index 9d999e1b7..f68a6837b 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/EndAudioPassThruResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/EndAudioPassThruResponseTests.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -60,7 +60,7 @@ public class EndAudioPassThruResponseTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetAppServiceDataResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetAppServiceDataResponseTests.java
index 243c9ab3b..3e1d1f136 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetAppServiceDataResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetAppServiceDataResponseTests.java
@@ -15,7 +15,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -66,7 +66,7 @@ public class GetAppServiceDataResponseTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetDTCsResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetDTCsResponseTests.java
index 464efa60c..ea4d48790 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetDTCsResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetDTCsResponseTests.java
@@ -22,7 +22,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -90,7 +90,7 @@ public class GetDTCsResponseTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetFileResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetFileResponseTests.java
index 6b62d3200..a4abf011d 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetFileResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetFileResponseTests.java
@@ -20,7 +20,7 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
@@ -101,7 +101,7 @@ public class GetFileResponseTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetInteriorVehicleDataConsentResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetInteriorVehicleDataConsentResponseTests.java
index 48cea8f69..411691bd0 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetInteriorVehicleDataConsentResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetInteriorVehicleDataConsentResponseTests.java
@@ -16,7 +16,7 @@ import org.junit.Test;
import java.util.Hashtable;
import java.util.List;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertTrue;
@@ -68,7 +68,7 @@ public class GetInteriorVehicleDataConsentResponseTests extends BaseRpcTests {
@Test
public void testJsonConstructor() {
- JSONObject commandJson = JsonFileReader.readId(getContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetInteriorVehicleDataResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetInteriorVehicleDataResponseTests.java
index fd3e793f5..80185c05c 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetInteriorVehicleDataResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetInteriorVehicleDataResponseTests.java
@@ -16,7 +16,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
@@ -91,7 +91,7 @@ public class GetInteriorVehicleDataResponseTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetSystemCapabilityResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetSystemCapabilityResponseTests.java
index 80a0a8b8d..ee2b24d1f 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetSystemCapabilityResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetSystemCapabilityResponseTests.java
@@ -20,7 +20,7 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
public class GetSystemCapabilityResponseTests extends BaseRpcTests {
@@ -80,7 +80,7 @@ public class GetSystemCapabilityResponseTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetVehicleDataResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetVehicleDataResponseTests.java
index d09494913..6ebc03f80 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetVehicleDataResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetVehicleDataResponseTests.java
@@ -12,11 +12,13 @@ import com.smartdevicelink.proxy.rpc.ECallInfo;
import com.smartdevicelink.proxy.rpc.EmergencyEvent;
import com.smartdevicelink.proxy.rpc.FuelRange;
import com.smartdevicelink.proxy.rpc.GPSData;
+import com.smartdevicelink.proxy.rpc.GearStatus;
import com.smartdevicelink.proxy.rpc.GetVehicleDataResponse;
import com.smartdevicelink.proxy.rpc.HeadLampStatus;
import com.smartdevicelink.proxy.rpc.MyKey;
import com.smartdevicelink.proxy.rpc.SingleTireStatus;
import com.smartdevicelink.proxy.rpc.TireStatus;
+import com.smartdevicelink.proxy.rpc.WindowStatus;
import com.smartdevicelink.proxy.rpc.enums.TurnSignal;
import com.smartdevicelink.test.BaseRpcTests;
import com.smartdevicelink.test.JsonUtils;
@@ -40,7 +42,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
@@ -98,6 +100,9 @@ public class GetVehicleDataResponseTests extends BaseRpcTests{
result.put(GetVehicleDataResponse.KEY_FUEL_RANGE, VehicleDataHelper.JSON_FUEL_RANGE);
result.put(GetVehicleDataResponse.KEY_TURN_SIGNAL, VehicleDataHelper.TURN_SIGNAL);
result.put(GetVehicleDataResponse.KEY_ELECTRONIC_PARK_BRAKE_STATUS, VehicleDataHelper.ELECTRONIC_PARK_BRAKE_STATUS);
+ result.put(GetVehicleDataResponse.KEY_WINDOW_STATUS, VehicleDataHelper.WINDOW_STATUS_LIST);
+ result.put(GetVehicleDataResponse.KEY_HANDS_OFF_STEERING, VehicleDataHelper.HANDS_OFF_STEERING);
+ result.put(GetVehicleDataResponse.KEY_GEAR_STATUS, VehicleDataHelper.GEAR_STATUS);
result.put(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, VehicleDataHelper.OEM_CUSTOM_VEHICLE_DATA_STATE);
} catch(JSONException e){
fail(TestValues.JSON_FAIL);
@@ -123,8 +128,11 @@ public class GetVehicleDataResponseTests extends BaseRpcTests{
JSONObject clusterModeStatusObj = new JSONObject();
JSONObject myKeyObj = new JSONObject();
JSONObject fuelRangeObj = new JSONObject();
+ JSONObject windowStatusObj = new JSONObject();
+ JSONObject gearStatusObj = new JSONObject();
JSONArray fuelRangeArrayObj = new JSONArray();
-
+ JSONArray windowStatusArrayObj = new JSONArray();
+
try {
//set up the JSONObject to represent GetVehicleDataResponse
//TIRE_PRESSURE
@@ -249,6 +257,16 @@ public class GetVehicleDataResponseTests extends BaseRpcTests{
fuelRangeObj.put(FuelRange.KEY_RANGE, VehicleDataHelper.FUEL_RANGE_RANGE);
fuelRangeArrayObj.put(fuelRangeObj);
+ //GEAR_STATUS
+ gearStatusObj.put(GearStatus.KEY_USER_SELECTED_GEAR, VehicleDataHelper.USER_SELECTED_GEAR);
+ gearStatusObj.put(GearStatus.KEY_TRANSMISSION_TYPE, VehicleDataHelper.TRANSMISSION_TYPE);
+ gearStatusObj.put(GearStatus.KEY_ACTUAL_GEAR, VehicleDataHelper.ACTUAL_GEAR);
+
+ // WINDOW_STATUS
+ windowStatusObj.put(WindowStatus.KEY_LOCATION, VehicleDataHelper.LOCATION_GRID);
+ windowStatusObj.put(WindowStatus.KEY_STATE, VehicleDataHelper.WINDOW_STATE);
+ windowStatusArrayObj.put(windowStatusObj);
+
reference.put(GetVehicleDataResponse.KEY_SPEED, VehicleDataHelper.SPEED);
reference.put(GetVehicleDataResponse.KEY_RPM, VehicleDataHelper.RPM);
reference.put(GetVehicleDataResponse.KEY_EXTERNAL_TEMPERATURE, VehicleDataHelper.EXTERNAL_TEMPERATURE);
@@ -277,9 +295,12 @@ public class GetVehicleDataResponseTests extends BaseRpcTests{
reference.put(GetVehicleDataResponse.KEY_MY_KEY, myKeyObj);
reference.put(GetVehicleDataResponse.KEY_FUEL_RANGE, fuelRangeArrayObj);
reference.put(GetVehicleDataResponse.KEY_TURN_SIGNAL, TurnSignal.OFF);
+ reference.put(GetVehicleDataResponse.KEY_GEAR_STATUS, gearStatusObj);
reference.put(GetVehicleDataResponse.KEY_ELECTRONIC_PARK_BRAKE_STATUS, VehicleDataHelper.ELECTRONIC_PARK_BRAKE_STATUS);
+ reference.put(GetVehicleDataResponse.KEY_WINDOW_STATUS, windowStatusArrayObj);
+ reference.put(GetVehicleDataResponse.KEY_HANDS_OFF_STEERING, VehicleDataHelper.HANDS_OFF_STEERING);
reference.put(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, VehicleDataHelper.OEM_CUSTOM_VEHICLE_DATA_STATE);
-
+
JSONObject underTest = msg.serializeJSON();
//go inside underTest and only return the JSONObject inside the parameters key inside the response key
@@ -396,6 +417,14 @@ public class GetVehicleDataResponseTests extends BaseRpcTests{
assertEquals("JSON value didn't match expected value for key \"" + key + "\".",
JsonUtils.readDoubleFromJsonObject(reference, key), JsonUtils.readDoubleFromJsonObject(underTest, key));
}
+ else if (key.equals(GetVehicleDataResponse.KEY_GEAR_STATUS)) {
+ JSONObject myKeyObjReference = JsonUtils.readJsonObjectFromJsonObject(reference, key);
+ JSONObject myKeyObjTest = JsonUtils.readJsonObjectFromJsonObject(underTest, key);
+
+ assertTrue(TestValues.TRUE, Validator.validateGearStatuses(
+ new GearStatus(JsonRPCMarshaller.deserializeJSONObject(myKeyObjReference)),
+ new GearStatus(JsonRPCMarshaller.deserializeJSONObject(myKeyObjTest))));
+ }
else if (key.equals(GetVehicleDataResponse.KEY_FUEL_RANGE)) {
JSONArray fuelRangeArrayObjReference = JsonUtils.readJsonArrayFromJsonObject(reference, key);
List<FuelRange> fuelRangeRefereceList = new ArrayList<FuelRange>();
@@ -416,6 +445,26 @@ public class GetVehicleDataResponseTests extends BaseRpcTests{
fuelRangeRefereceList,
fuelRangeUnderTestList));
}
+ else if (key.equals(GetVehicleDataResponse.KEY_WINDOW_STATUS)) {
+ JSONArray windowStatusArrayObjReference = JsonUtils.readJsonArrayFromJsonObject(reference, key);
+ List<WindowStatus> windowStatusReferenceList = new ArrayList<>();
+ for (int index = 0; index < windowStatusArrayObjReference.length(); index++) {
+ WindowStatus windowStatus = new WindowStatus(JsonRPCMarshaller.deserializeJSONObject( (JSONObject)windowStatusArrayObjReference.get(index) ));
+ windowStatusReferenceList.add(windowStatus);
+ }
+
+ JSONArray windowStatusArrayObjTest = JsonUtils.readJsonArrayFromJsonObject(underTest, key);
+ List<WindowStatus> windowStatusUnderTestList = new ArrayList<>();
+ for (int index = 0; index < windowStatusArrayObjTest.length(); index++) {
+ WindowStatus windowStatus = new WindowStatus(JsonRPCMarshaller.deserializeJSONObject( (JSONObject)windowStatusArrayObjTest.get(index) ));
+ windowStatusUnderTestList.add(windowStatus);
+ }
+
+ assertTrue("JSON value didn't match expected value for key \"" + key + "\".",
+ Validator.validateWindowStatuses(
+ windowStatusReferenceList,
+ windowStatusUnderTestList));
+ }
else {
assertEquals("JSON value didn't match expected value for key \"" + key + "\".",
JsonUtils.readObjectFromJsonObject(reference, key),
@@ -433,7 +482,7 @@ public class GetVehicleDataResponseTests extends BaseRpcTests{
* Tests the expected values of the RPC message.
*/
@Test
- public void testRpcValues(){
+ public void testRpcValues(){
// Valid Tests
assertEquals(TestValues.MATCH, VehicleDataHelper.SPEED, ( (GetVehicleDataResponse) msg ).getSpeed());
assertEquals(TestValues.MATCH, (Integer) VehicleDataHelper.RPM, ( (GetVehicleDataResponse) msg ).getRpm());
@@ -462,6 +511,9 @@ public class GetVehicleDataResponseTests extends BaseRpcTests{
assertEquals(TestValues.MATCH, VehicleDataHelper.MY_KEY, ( (GetVehicleDataResponse) msg ).getMyKey());
assertEquals(TestValues.MATCH, VehicleDataHelper.TURN_SIGNAL, ( (GetVehicleDataResponse) msg ).getTurnSignal());
assertEquals(TestValues.MATCH, VehicleDataHelper.ELECTRONIC_PARK_BRAKE_STATUS, ( (GetVehicleDataResponse) msg ).getElectronicParkBrakeStatus());
+ assertEquals(TestValues.MATCH, VehicleDataHelper.WINDOW_STATUS_LIST, ( (GetVehicleDataResponse) msg ).getWindowStatus());
+ assertEquals(TestValues.MATCH, VehicleDataHelper.GEAR_STATUS, ( (GetVehicleDataResponse) msg ).getGearStatus());
+ assertEquals(TestValues.MATCH, VehicleDataHelper.HANDS_OFF_STEERING, ( (GetVehicleDataResponse) msg ).getHandsOffSteering());
assertEquals(TestValues.MATCH, VehicleDataHelper.OEM_CUSTOM_VEHICLE_DATA_STATE, ( (GetVehicleDataResponse) msg ).getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
// Invalid/Null Tests
@@ -496,6 +548,9 @@ public class GetVehicleDataResponseTests extends BaseRpcTests{
assertNull(TestValues.NULL, msg.getMyKey());
assertNull(TestValues.NULL, msg.getTurnSignal());
assertNull(TestValues.NULL, msg.getElectronicParkBrakeStatus());
+ assertNull(TestValues.NULL, msg.getGearStatus());
+ assertNull(TestValues.NULL, msg.getHandsOffSteering());
+ assertNull(TestValues.NULL, msg.getWindowStatus());
assertNull(TestValues.NULL, msg.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
}
@@ -505,7 +560,7 @@ public class GetVehicleDataResponseTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
@@ -526,7 +581,7 @@ public class GetVehicleDataResponseTests extends BaseRpcTests{
assertEquals(TestValues.MATCH, JsonUtils.readDoubleFromJsonObject(parameters, GetVehicleDataResponse.KEY_FUEL_LEVEL), cmd.getFuelLevel());
assertEquals(TestValues.MATCH, JsonUtils.readStringFromJsonObject(parameters, GetVehicleDataResponse.KEY_VIN), cmd.getVin());
assertEquals(TestValues.MATCH, JsonUtils.readStringFromJsonObject(parameters, GetVehicleDataResponse.KEY_PRNDL), cmd.getPrndl().toString());
-
+ assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, GetVehicleDataResponse.KEY_HANDS_OFF_STEERING), cmd.getHandsOffSteering());
JSONObject tireStatusObj = JsonUtils.readJsonObjectFromJsonObject(parameters, GetVehicleDataResponse.KEY_TIRE_PRESSURE);
TireStatus tireStatus = new TireStatus(JsonRPCMarshaller.deserializeJSONObject(tireStatusObj));
assertTrue(TestValues.TRUE, Validator.validateTireStatus(tireStatus, cmd.getTirePressure()) );
@@ -579,11 +634,25 @@ public class GetVehicleDataResponseTests extends BaseRpcTests{
JSONObject clusterModeStatusObj = JsonUtils.readJsonObjectFromJsonObject(parameters, GetVehicleDataResponse.KEY_CLUSTER_MODE_STATUS);
ClusterModeStatus clusterModeStatus = new ClusterModeStatus(JsonRPCMarshaller.deserializeJSONObject(clusterModeStatusObj));
assertTrue(TestValues.TRUE, Validator.validateClusterModeStatus(clusterModeStatus, cmd.getClusterModeStatus()) );
-
+
+ JSONObject gearStatusObj = JsonUtils.readJsonObjectFromJsonObject(parameters, GetVehicleDataResponse.KEY_GEAR_STATUS);
+ GearStatus gearStatus = new GearStatus(JsonRPCMarshaller.deserializeJSONObject(gearStatusObj));
+ GearStatus cmdStatus = cmd.getGearStatus();
+ assertTrue(TestValues.TRUE, Validator.validateGearStatuses(gearStatus, cmdStatus));
+
JSONObject myKeyObj = JsonUtils.readJsonObjectFromJsonObject(parameters, GetVehicleDataResponse.KEY_MY_KEY);
MyKey myKey = new MyKey(JsonRPCMarshaller.deserializeJSONObject(myKeyObj));
assertTrue(TestValues.TRUE, Validator.validateMyKey(myKey, cmd.getMyKey()) );
+ JSONArray windowStatusArray = JsonUtils.readJsonArrayFromJsonObject(parameters, GetVehicleDataResponse.KEY_WINDOW_STATUS);
+
+ List<WindowStatus> windowStatus = new ArrayList<>();
+ for (int index = 0; index < windowStatusArray.length(); index++) {
+ WindowStatus status = new WindowStatus(JsonRPCMarshaller.deserializeJSONObject( (JSONObject)windowStatusArray.get(index)) );
+ windowStatus.add(status);
+ }
+ assertTrue(TestValues.TRUE, Validator.validateWindowStatuses(windowStatus, cmd.getWindowStatus()) );
+
assertEquals(TestValues.MATCH, JsonUtils.readStringFromJsonObject(parameters, GetVehicleDataResponse.KEY_TURN_SIGNAL), cmd.getTurnSignal().toString());
assertEquals(TestValues.MATCH, JsonUtils.readStringFromJsonObject(parameters, GetVehicleDataResponse.KEY_ELECTRONIC_PARK_BRAKE_STATUS), cmd.getElectronicParkBrakeStatus().toString());
assertEquals(TestValues.MATCH, JsonUtils.readStringFromJsonObject(parameters, TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME), cmd.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetWayPointsResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetWayPointsResponseTests.java
index f133e2bed..fb123bef4 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetWayPointsResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetWayPointsResponseTests.java
@@ -18,7 +18,7 @@ import org.junit.Test;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.List;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
@@ -98,7 +98,7 @@ public class GetWayPointsResponseTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ListFilesResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ListFilesResponseTests.java
index 432562631..7b7bd20ec 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ListFilesResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ListFilesResponseTests.java
@@ -22,7 +22,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
@@ -93,7 +93,7 @@ public class ListFilesResponseTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/PerformAppServiceInteractionResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/PerformAppServiceInteractionResponseTests.java
index 58663a888..4280902e2 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/PerformAppServiceInteractionResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/PerformAppServiceInteractionResponseTests.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
@@ -84,7 +84,7 @@ public class PerformAppServiceInteractionResponseTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/PerformAudioPassThruResponseTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/PerformAudioPassThruResponseTest.java
index 3fb489fca..7cff8e766 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/PerformAudioPassThruResponseTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/PerformAudioPassThruResponseTest.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -60,7 +60,7 @@ public class PerformAudioPassThruResponseTest extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/PerformInteractionResponseTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/PerformInteractionResponseTest.java
index dd81627b4..32c42c16c 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/PerformInteractionResponseTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/PerformInteractionResponseTest.java
@@ -15,7 +15,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
@@ -93,7 +93,7 @@ public class PerformInteractionResponseTest extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/PublishAppServiceResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/PublishAppServiceResponseTests.java
index 9659c992b..5bb6f923a 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/PublishAppServiceResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/PublishAppServiceResponseTests.java
@@ -22,7 +22,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -87,7 +87,7 @@ public class PublishAppServiceResponseTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/PutFileResponseTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/PutFileResponseTest.java
index 90faa7291..e95285db8 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/PutFileResponseTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/PutFileResponseTest.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
@@ -82,7 +82,7 @@ public class PutFileResponseTest extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ReadDIDResponseTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ReadDIDResponseTest.java
index 5948eb3f5..aec63227d 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ReadDIDResponseTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ReadDIDResponseTest.java
@@ -19,7 +19,7 @@ import org.junit.Test;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.List;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
@@ -89,7 +89,7 @@ public class ReadDIDResponseTest extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/RegisterAppInterfaceResponseTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/RegisterAppInterfaceResponseTest.java
index 4a12bc5b3..862ed5342 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/RegisterAppInterfaceResponseTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/RegisterAppInterfaceResponseTest.java
@@ -36,7 +36,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -176,7 +176,7 @@ public class RegisterAppInterfaceResponseTest extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ReleaseInteriorVehicleDataModuleResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ReleaseInteriorVehicleDataModuleResponseTests.java
index 760623916..965980a0d 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ReleaseInteriorVehicleDataModuleResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ReleaseInteriorVehicleDataModuleResponseTests.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.fail;
@@ -44,7 +44,7 @@ public class ReleaseInteriorVehicleDataModuleResponseTests extends BaseRpcTests
@Test
public void testJsonConstructor() {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ResetGlobalPropertiesResponseTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ResetGlobalPropertiesResponseTest.java
index eb8ab1ae2..e8d3576e6 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ResetGlobalPropertiesResponseTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ResetGlobalPropertiesResponseTest.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -60,7 +60,7 @@ public class ResetGlobalPropertiesResponseTest extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ScrollableMessageResponseTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ScrollableMessageResponseTest.java
index e7ec116d4..4e12cb78c 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ScrollableMessageResponseTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ScrollableMessageResponseTest.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -60,7 +60,7 @@ public class ScrollableMessageResponseTest extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SendLocationResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SendLocationResponseTests.java
index bf9461328..7208eeff4 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SendLocationResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SendLocationResponseTests.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -61,7 +61,7 @@ public class SendLocationResponseTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SetAppIconResponseTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SetAppIconResponseTest.java
index dd850f46b..e6f0bf140 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SetAppIconResponseTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SetAppIconResponseTest.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -60,7 +60,7 @@ public class SetAppIconResponseTest extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SetDisplayLayoutResponseTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SetDisplayLayoutResponseTest.java
index b6e7be537..63d63dab9 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SetDisplayLayoutResponseTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SetDisplayLayoutResponseTest.java
@@ -28,7 +28,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -113,7 +113,7 @@ public class SetDisplayLayoutResponseTest extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SetGlobalPropertiesResponseTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SetGlobalPropertiesResponseTest.java
index 04e099304..9765dcfba 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SetGlobalPropertiesResponseTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SetGlobalPropertiesResponseTest.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -61,7 +61,7 @@ public class SetGlobalPropertiesResponseTest extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SetInteriorVehicleDataResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SetInteriorVehicleDataResponseTests.java
index cdb59146c..7abcdcecc 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SetInteriorVehicleDataResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SetInteriorVehicleDataResponseTests.java
@@ -22,7 +22,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -87,7 +87,7 @@ public class SetInteriorVehicleDataResponseTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SetMediaClockTimerResponseTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SetMediaClockTimerResponseTest.java
index 981f4e3f0..d8f699b5a 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SetMediaClockTimerResponseTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SetMediaClockTimerResponseTest.java
@@ -17,7 +17,7 @@ import java.util.Hashtable;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -61,7 +61,7 @@ public class SetMediaClockTimerResponseTest extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ShowAppMenuResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ShowAppMenuResponseTests.java
index a4b1dda0b..1cfafd319 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ShowAppMenuResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ShowAppMenuResponseTests.java
@@ -49,7 +49,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -91,7 +91,7 @@ public class ShowAppMenuResponseTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ShowConstantTbtResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ShowConstantTbtResponseTests.java
index 06bb43dba..aa44a190b 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ShowConstantTbtResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ShowConstantTbtResponseTests.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -61,7 +61,7 @@ public class ShowConstantTbtResponseTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ShowResponseTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ShowResponseTest.java
index 6e6140068..ebd5f41b6 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ShowResponseTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/ShowResponseTest.java
@@ -17,7 +17,7 @@ import java.util.Hashtable;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
@@ -62,7 +62,7 @@ public class ShowResponseTest extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SliderResponseTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SliderResponseTest.java
index 8d288c73b..f454af9eb 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SliderResponseTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SliderResponseTest.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
@@ -81,7 +81,7 @@ public class SliderResponseTest extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SpeakResponseTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SpeakResponseTest.java
index 196c06f21..f2880d3eb 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SpeakResponseTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SpeakResponseTest.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -60,7 +60,7 @@ public class SpeakResponseTest extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubscribeButtonResponseTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubscribeButtonResponseTest.java
index 023fd8869..1c58b13bc 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubscribeButtonResponseTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubscribeButtonResponseTest.java
@@ -17,7 +17,7 @@ import java.util.Hashtable;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
@@ -62,7 +62,7 @@ public class SubscribeButtonResponseTest extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubscribeVehicleDataResponseTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubscribeVehicleDataResponseTest.java
index 6694886d9..643935a02 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubscribeVehicleDataResponseTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubscribeVehicleDataResponseTest.java
@@ -22,7 +22,7 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.fail;
/**
@@ -65,6 +65,9 @@ public class SubscribeVehicleDataResponseTest extends BaseRpcTests {
msg.setFuelRange(TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_FUELRANGE.ordinal()));
msg.setTurnSignal(TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_TURNSIGNAL.ordinal()));
msg.setElectronicParkBrakeStatus(TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_ELECTRONICPARKBRAKESTATUS.ordinal()));
+ msg.setGearStatus(TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_GEARSTATUS.ordinal()));
+ msg.setHandsOffSteering(TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_HANDSOFFSTEERING.ordinal()));
+ msg.setWindowStatus(TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_WINDOWSTATUS.ordinal()));
msg.setOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA);
return msg;
@@ -117,7 +120,10 @@ public class SubscribeVehicleDataResponseTest extends BaseRpcTests {
result.put(SubscribeVehicleDataResponse.KEY_MY_KEY, TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_MYKEY.ordinal()).serializeJSON());
result.put(SubscribeVehicleDataResponse.KEY_FUEL_RANGE, TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_FUELRANGE.ordinal()).serializeJSON());
result.put(SubscribeVehicleDataResponse.KEY_TURN_SIGNAL, TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_TURNSIGNAL.ordinal()).serializeJSON());
+ result.put(SubscribeVehicleDataResponse.KEY_WINDOW_STATUS, TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_WINDOWSTATUS.ordinal()).serializeJSON());
+ result.put(SubscribeVehicleDataResponse.KEY_GEAR_STATUS, TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_GEARSTATUS.ordinal()).serializeJSON());
result.put(SubscribeVehicleDataResponse.KEY_ELECTRONIC_PARK_BRAKE_STATUS, TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_ELECTRONICPARKBRAKESTATUS.ordinal()).serializeJSON());
+ result.put(SubscribeVehicleDataResponse.KEY_HANDS_OFF_STEERING, TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_HANDSOFFSTEERING.ordinal()).serializeJSON());
result.put(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA.serializeJSON());
} catch (JSONException e) {
fail(TestValues.JSON_FAIL);
@@ -130,7 +136,7 @@ public class SubscribeVehicleDataResponseTest extends BaseRpcTests {
* Tests the expected values of the RPC message.
*/
@Test
- public void testRpcValues () {
+ public void testRpcValues () {
// Test Values
VehicleDataResult testGps = ( (SubscribeVehicleDataResponse) msg ).getGps();
VehicleDataResult testOdometer = ( (SubscribeVehicleDataResponse) msg ).getOdometer();
@@ -160,6 +166,9 @@ public class SubscribeVehicleDataResponseTest extends BaseRpcTests {
VehicleDataResult testFuelRange = ( (SubscribeVehicleDataResponse) msg ).getFuelRange();
VehicleDataResult testTurnSignal = ( (SubscribeVehicleDataResponse) msg ).getTurnSignal();
VehicleDataResult testEBrakeStatus = ( (SubscribeVehicleDataResponse) msg ).getElectronicParkBrakeStatus();
+ VehicleDataResult testHOffSteering = ( (SubscribeVehicleDataResponse) msg ).getHandsOffSteering();
+ VehicleDataResult testWindowStatus = ( (SubscribeVehicleDataResponse) msg ).getWindowStatus();
+ VehicleDataResult testGearStatus = ( (SubscribeVehicleDataResponse) msg ).getGearStatus();
VehicleDataResult testOEMCustomVehicleData = ( (SubscribeVehicleDataResponse) msg ).getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME);
// Valid Tests
@@ -191,6 +200,9 @@ public class SubscribeVehicleDataResponseTest extends BaseRpcTests {
assertTrue(TestValues.TRUE, testFuelRange.getDataType().equals(VehicleDataType.VEHICLEDATA_FUELRANGE));
assertTrue(TestValues.TRUE, testTurnSignal.getDataType().equals(VehicleDataType.VEHICLEDATA_TURNSIGNAL));
assertTrue(TestValues.TRUE, testEBrakeStatus.getDataType().equals(VehicleDataType.VEHICLEDATA_ELECTRONICPARKBRAKESTATUS));
+ assertTrue(TestValues.TRUE, testHOffSteering.getDataType().equals(VehicleDataType.VEHICLEDATA_HANDSOFFSTEERING));
+ assertTrue(TestValues.TRUE, testGearStatus.getDataType().equals(VehicleDataType.VEHICLEDATA_GEARSTATUS));
+ assertTrue(TestValues.TRUE, testWindowStatus.getDataType().equals(VehicleDataType.VEHICLEDATA_WINDOWSTATUS));
assertTrue(TestValues.TRUE, testOEMCustomVehicleData.getOEMCustomVehicleDataType().equals(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
// Invalid/Null Tests
@@ -226,6 +238,9 @@ public class SubscribeVehicleDataResponseTest extends BaseRpcTests {
assertNull(TestValues.NULL, msg.getFuelRange());
assertNull(TestValues.NULL, msg.getTurnSignal());
assertNull(TestValues.NULL, msg.getElectronicParkBrakeStatus());
+ assertNull(TestValues.NULL, msg.getHandsOffSteering());
+ assertNull(TestValues.NULL, msg.getWindowStatus());
+ assertNull(TestValues.NULL, msg.getGearStatus());
assertNull(TestValues.NULL, msg.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
}
@@ -234,7 +249,7 @@ public class SubscribeVehicleDataResponseTest extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
@@ -362,6 +377,18 @@ public class SubscribeVehicleDataResponseTest extends BaseRpcTests {
VehicleDataResult referenceEBrakeStatus = new VehicleDataResult(JsonRPCMarshaller.deserializeJSONObject(electronicParkBrakeStatus));
assertTrue(TestValues.TRUE, Validator.validateVehicleDataResult(referenceEBrakeStatus, cmd.getElectronicParkBrakeStatus()));
+ JSONObject handsOffSteering = JsonUtils.readJsonObjectFromJsonObject(parameters, SubscribeVehicleDataResponse.KEY_HANDS_OFF_STEERING);
+ VehicleDataResult referenceHandsOffSteering = new VehicleDataResult(JsonRPCMarshaller.deserializeJSONObject(handsOffSteering));
+ assertTrue(TestValues.TRUE, Validator.validateVehicleDataResult(referenceHandsOffSteering, cmd.getHandsOffSteering()));
+
+ JSONObject windowStatus = JsonUtils.readJsonObjectFromJsonObject(parameters, SubscribeVehicleDataResponse.KEY_WINDOW_STATUS);
+ VehicleDataResult referenceWindowStatus = new VehicleDataResult(JsonRPCMarshaller.deserializeJSONObject(windowStatus));
+ assertTrue(TestValues.TRUE, Validator.validateVehicleDataResult(referenceWindowStatus, cmd.getWindowStatus()));
+
+ JSONObject gearStatus = JsonUtils.readJsonObjectFromJsonObject(parameters, SubscribeVehicleDataResponse.KEY_GEAR_STATUS);
+ VehicleDataResult referenceGearStatus = new VehicleDataResult(JsonRPCMarshaller.deserializeJSONObject(gearStatus));
+ assertTrue(TestValues.TRUE, Validator.validateVehicleDataResult(referenceGearStatus, cmd.getGearStatus()));
+
JSONObject oemCustomVehicleDataName = JsonUtils.readJsonObjectFromJsonObject(parameters, TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME);
VehicleDataResult referenceOemCustomData = new VehicleDataResult(JsonRPCMarshaller.deserializeJSONObject(oemCustomVehicleDataName));
assertTrue(TestValues.TRUE, Validator.validateVehicleDataResult(referenceOemCustomData, cmd.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME)));
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubscribeWaypointsResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubscribeWaypointsResponseTests.java
index 817414ae1..239702805 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubscribeWaypointsResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubscribeWaypointsResponseTests.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -59,7 +59,7 @@ public class SubscribeWaypointsResponseTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/StreamRPCResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubtleAlertResponseTests.java
index 252a34aab..8d2e6370f 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/StreamRPCResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubtleAlertResponseTests.java
@@ -3,7 +3,7 @@ package com.smartdevicelink.test.rpc.responses;
import com.smartdevicelink.marshal.JsonRPCMarshaller;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCMessage;
-import com.smartdevicelink.proxy.rpc.StreamRPCResponse;
+import com.smartdevicelink.proxy.rpc.SubtleAlertResponse;
import com.smartdevicelink.test.BaseRpcTests;
import com.smartdevicelink.test.JsonUtils;
import com.smartdevicelink.test.TestValues;
@@ -14,43 +14,46 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
-
+import static junit.framework.TestCase.assertNull;
+import static junit.framework.TestCase.fail;
/**
- * Created by austinkirk on 6/7/17.
+ * This is a unit test class for the SmartDeviceLink library project class :
+ * {@link com.smartdevicelink.proxy.rpc.SubtleAlertResponse}
*/
+public class SubtleAlertResponseTests extends BaseRpcTests {
+
+ private static final int TRY_AGAIN_TIME = 400;
-public class StreamRPCResponseTests extends BaseRpcTests {
@Override
- protected RPCMessage createMessage(){
- StreamRPCResponse response = new StreamRPCResponse();
- response.setFileSize((Long) TestValues.GENERAL_LONG);
- response.setFileName(TestValues.GENERAL_STRING);
- return response;
+ protected RPCMessage createMessage() {
+ SubtleAlertResponse alert = new SubtleAlertResponse();
+ alert.setTryAgainTime(TRY_AGAIN_TIME);
+ return alert;
}
@Override
- protected String getMessageType(){
+ protected String getMessageType() {
return RPCMessage.KEY_RESPONSE;
}
@Override
- protected String getCommandType(){
- return FunctionID.STREAM_RPC.toString();
+ protected String getCommandType() {
+ return FunctionID.SUBTLE_ALERT.toString();
}
@Override
- protected JSONObject getExpectedParameters(int sdlVersion){
+ protected JSONObject getExpectedParameters(int sdlVersion) {
JSONObject result = new JSONObject();
try {
- result.put(StreamRPCResponse.KEY_FILESIZE, (Long) TestValues.GENERAL_LONG);
- result.put(StreamRPCResponse.KEY_FILENAME, TestValues.GENERAL_STRING);
+ result.put(SubtleAlertResponse.KEY_TRY_AGAIN_TIME, TRY_AGAIN_TIME);
} catch (JSONException e) {
- e.printStackTrace();
+ fail(TestValues.JSON_FAIL);
}
return result;
@@ -60,25 +63,32 @@ public class StreamRPCResponseTests extends BaseRpcTests {
* Tests the expected values of the RPC message.
*/
@Test
- public void testRpcValues () {
+ public void testRpcValues() {
+ // Test Values
+ int tryAgainTime = ((SubtleAlertResponse) msg).getTryAgainTime();
+
+ // Valid Tests
+ assertEquals(TestValues.MATCH, TRY_AGAIN_TIME, tryAgainTime);
+
// Invalid/Null Tests
- StreamRPCResponse msg = new StreamRPCResponse();
+ SubtleAlertResponse msg = new SubtleAlertResponse();
assertNotNull(TestValues.NOT_NULL, msg);
testNullBase(msg);
+
+ assertNull(TestValues.NULL, msg.getTryAgainTime());
}
/**
* Tests a valid JSON construction of this RPC message.
*/
@Test
- public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ public void testJsonConstructor() {
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
Hashtable<String, Object> hash = JsonRPCMarshaller.deserializeJSONObject(commandJson);
- StreamRPCResponse cmd = new StreamRPCResponse(hash);
-
+ SubtleAlertResponse cmd = new SubtleAlertResponse(hash);
JSONObject body = JsonUtils.readJsonObjectFromJsonObject(commandJson, getMessageType());
assertNotNull(TestValues.NOT_NULL, body);
@@ -87,10 +97,10 @@ public class StreamRPCResponseTests extends BaseRpcTests {
assertEquals(TestValues.MATCH, JsonUtils.readIntegerFromJsonObject(body, RPCMessage.KEY_CORRELATION_ID), cmd.getCorrelationID());
JSONObject parameters = JsonUtils.readJsonObjectFromJsonObject(body, RPCMessage.KEY_PARAMETERS);
- assertEquals(TestValues.MATCH, JsonUtils.readStringFromJsonObject(parameters, StreamRPCResponse.KEY_FILENAME), cmd.getFileName());
- assertEquals(TestValues.MATCH, JsonUtils.readLongFromJsonObject(parameters, StreamRPCResponse.KEY_FILESIZE), cmd.getFileSize());
+ assertEquals(TestValues.MATCH, JsonUtils.readIntegerFromJsonObject(parameters, SubtleAlertResponse.KEY_TRY_AGAIN_TIME), cmd.getTryAgainTime());
+
} catch (JSONException e) {
e.printStackTrace();
}
}
-}
+} \ No newline at end of file
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SystemRequestResponseTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SystemRequestResponseTest.java
index 3ccae2288..9f4e464f4 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SystemRequestResponseTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SystemRequestResponseTest.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -60,7 +60,7 @@ public class SystemRequestResponseTest extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnpublishAppServiceResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnpublishAppServiceResponseTests.java
index 62264a884..7536dd2a7 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnpublishAppServiceResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnpublishAppServiceResponseTests.java
@@ -49,7 +49,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -95,7 +95,7 @@ public class UnpublishAppServiceResponseTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnregisterAppInterfaceResponseTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnregisterAppInterfaceResponseTest.java
index cb461a563..01aad979c 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnregisterAppInterfaceResponseTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnregisterAppInterfaceResponseTest.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -60,7 +60,7 @@ public class UnregisterAppInterfaceResponseTest extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnsubscribeButtonResponseTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnsubscribeButtonResponseTest.java
index afdedbdd0..3cf7d6491 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnsubscribeButtonResponseTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnsubscribeButtonResponseTest.java
@@ -17,7 +17,7 @@ import java.util.Hashtable;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
@@ -62,7 +62,7 @@ public class UnsubscribeButtonResponseTest extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnsubscribeVehicleDataResponseTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnsubscribeVehicleDataResponseTest.java
index f79b18b30..dc69b66ae 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnsubscribeVehicleDataResponseTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnsubscribeVehicleDataResponseTest.java
@@ -25,7 +25,7 @@ import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
import static junit.framework.TestCase.assertTrue;
import static junit.framework.TestCase.fail;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -67,6 +67,9 @@ public class UnsubscribeVehicleDataResponseTest extends BaseRpcTests {
msg.setFuelRange(TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_FUELRANGE.ordinal()));
msg.setTurnSignal(TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_TURNSIGNAL.ordinal()));
msg.setElectronicParkBrakeStatus(TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_ELECTRONICPARKBRAKESTATUS.ordinal()));
+ msg.setWindowStatus(TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_WINDOWSTATUS.ordinal()));
+ msg.setHandsOffSteering(TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_HANDSOFFSTEERING.ordinal()));
+ msg.setGearStatus(TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_GEARSTATUS.ordinal()));
msg.setOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA);
return msg;
@@ -119,7 +122,10 @@ public class UnsubscribeVehicleDataResponseTest extends BaseRpcTests {
result.put(SubscribeVehicleDataResponse.KEY_MY_KEY, TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_MYKEY.ordinal()).serializeJSON());
result.put(SubscribeVehicleDataResponse.KEY_FUEL_RANGE, TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_FUELRANGE.ordinal()).serializeJSON());
result.put(SubscribeVehicleDataResponse.KEY_TURN_SIGNAL, TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_TURNSIGNAL.ordinal()).serializeJSON());
- result.put(SubscribeVehicleDataResponse.KEY_ELECTRONIC_PARK_BRAKE_STATUS, TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_ELECTRONICPARKBRAKESTATUS.ordinal()).serializeJSON());
+ result.put(SubscribeVehicleDataResponse.KEY_GEAR_STATUS, TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_GEARSTATUS.ordinal()).serializeJSON());
+ result.put(SubscribeVehicleDataResponse.KEY_ELECTRONIC_PARK_BRAKE_STATUS, TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_ELECTRONICPARKBRAKESTATUS.ordinal()).serializeJSON());
+ result.put(SubscribeVehicleDataResponse.KEY_HANDS_OFF_STEERING, TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_HANDSOFFSTEERING.ordinal()).serializeJSON());
+ result.put(SubscribeVehicleDataResponse.KEY_WINDOW_STATUS, TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_WINDOWSTATUS.ordinal()).serializeJSON());
result.put(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA.serializeJSON());
} catch (JSONException e) {
fail(TestValues.JSON_FAIL);
@@ -132,7 +138,7 @@ public class UnsubscribeVehicleDataResponseTest extends BaseRpcTests {
* Tests the expected values of the RPC message.
*/
@Test
- public void testRpcValues () {
+ public void testRpcValues () {
// Test Values
VehicleDataResult testGps = ( (UnsubscribeVehicleDataResponse) msg ).getGps();
VehicleDataResult testOdometer = ( (UnsubscribeVehicleDataResponse) msg ).getOdometer();
@@ -162,6 +168,9 @@ public class UnsubscribeVehicleDataResponseTest extends BaseRpcTests {
VehicleDataResult testFuelRange = ( (UnsubscribeVehicleDataResponse) msg ).getFuelRange();
VehicleDataResult testTurnSignal = ( (UnsubscribeVehicleDataResponse) msg ).getTurnSignal();
VehicleDataResult testEBrakeStatus = ( (UnsubscribeVehicleDataResponse) msg ).getElectronicParkBrakeStatus();
+ VehicleDataResult testHOffSteering = ( (UnsubscribeVehicleDataResponse) msg ).getHandsOffSteering();
+ VehicleDataResult testGearStatus = ( (UnsubscribeVehicleDataResponse) msg ).getGearStatus();
+ VehicleDataResult testWindowStatus = ( (UnsubscribeVehicleDataResponse) msg ).getWindowStatus();
VehicleDataResult testOemCustomData = ( (UnsubscribeVehicleDataResponse) msg ).getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME);
// Valid Tests
@@ -193,8 +202,11 @@ public class UnsubscribeVehicleDataResponseTest extends BaseRpcTests {
assertTrue(TestValues.TRUE, testFuelRange.getDataType().equals(VehicleDataType.VEHICLEDATA_FUELRANGE));
assertTrue(TestValues.TRUE, testTurnSignal.getDataType().equals(VehicleDataType.VEHICLEDATA_TURNSIGNAL));
assertTrue(TestValues.TRUE, testEBrakeStatus.getDataType().equals(VehicleDataType.VEHICLEDATA_ELECTRONICPARKBRAKESTATUS));
+ assertTrue(TestValues.TRUE, testHOffSteering.getDataType().equals(VehicleDataType.VEHICLEDATA_HANDSOFFSTEERING));
+ assertTrue(TestValues.TRUE, testWindowStatus.getDataType().equals(VehicleDataType.VEHICLEDATA_WINDOWSTATUS));
assertTrue(TestValues.TRUE, testOemCustomData.getOEMCustomVehicleDataType().equals(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
-
+ assertTrue(TestValues.TRUE, testGearStatus.getDataType().equals(VehicleDataType.VEHICLEDATA_GEARSTATUS));
+
// Invalid/Null Tests
UnsubscribeVehicleDataResponse msg = new UnsubscribeVehicleDataResponse();
assertNotNull("Null object creation failed.", msg);
@@ -228,6 +240,9 @@ public class UnsubscribeVehicleDataResponseTest extends BaseRpcTests {
assertNull(TestValues.NULL, msg.getFuelRange());
assertNull(TestValues.NULL, msg.getTurnSignal());
assertNull(TestValues.NULL, msg.getElectronicParkBrakeStatus());
+ assertNull(TestValues.NULL, msg.getGearStatus());
+ assertNull(TestValues.NULL, msg.getHandsOffSteering());
+ assertNull(TestValues.NULL, msg.getWindowStatus());
assertNull(TestValues.NULL, msg.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
}
@@ -236,7 +251,7 @@ public class UnsubscribeVehicleDataResponseTest extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
@@ -364,6 +379,18 @@ public class UnsubscribeVehicleDataResponseTest extends BaseRpcTests {
VehicleDataResult referenceEBrakeStatus = new VehicleDataResult(JsonRPCMarshaller.deserializeJSONObject(eBrakeStatus));
assertTrue(TestValues.TRUE, Validator.validateVehicleDataResult(referenceEBrakeStatus, cmd.getElectronicParkBrakeStatus()));
+ JSONObject handsOffSteering = JsonUtils.readJsonObjectFromJsonObject(parameters, UnsubscribeVehicleDataResponse.KEY_HANDS_OFF_STEERING);
+ VehicleDataResult referenceHandsOffSteering = new VehicleDataResult(JsonRPCMarshaller.deserializeJSONObject(handsOffSteering));
+ assertTrue(TestValues.TRUE, Validator.validateVehicleDataResult(referenceHandsOffSteering, cmd.getHandsOffSteering()));
+
+ JSONObject gearStatus = JsonUtils.readJsonObjectFromJsonObject(parameters, UnsubscribeVehicleDataResponse.KEY_GEAR_STATUS);
+ VehicleDataResult referenceGearStatus = new VehicleDataResult(JsonRPCMarshaller.deserializeJSONObject(gearStatus));
+ assertTrue(TestValues.TRUE, Validator.validateVehicleDataResult(referenceGearStatus, cmd.getGearStatus()));
+
+ JSONObject windowStatus = JsonUtils.readJsonObjectFromJsonObject(parameters, UnsubscribeVehicleDataResponse.KEY_WINDOW_STATUS);
+ VehicleDataResult referenceWindowStatus = new VehicleDataResult(JsonRPCMarshaller.deserializeJSONObject(windowStatus));
+ assertTrue(TestValues.TRUE, Validator.validateVehicleDataResult(referenceWindowStatus, cmd.getWindowStatus()));
+
JSONObject oemCustomData = JsonUtils.readJsonObjectFromJsonObject(parameters, TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME);
VehicleDataResult referenceOemCustomData = new VehicleDataResult(JsonRPCMarshaller.deserializeJSONObject(oemCustomData));
assertTrue(TestValues.TRUE, Validator.validateVehicleDataResult(referenceOemCustomData, cmd.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME)));
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnsubscribeWayPointsResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnsubscribeWayPointsResponseTests.java
index 49017109a..5360c023c 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnsubscribeWayPointsResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnsubscribeWayPointsResponseTests.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -59,7 +59,7 @@ public class UnsubscribeWayPointsResponseTests extends BaseRpcTests{
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UpdateTurnListResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UpdateTurnListResponseTests.java
index 603565803..47951d34c 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UpdateTurnListResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UpdateTurnListResponseTests.java
@@ -14,7 +14,7 @@ import org.json.JSONObject;
import org.junit.Test;
import java.util.Hashtable;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -60,7 +60,7 @@ public class UpdateTurnListResponseTests extends BaseRpcTests {
*/
@Test
public void testJsonConstructor () {
- JSONObject commandJson = JsonFileReader.readId(getTargetContext(), getCommandType(), getMessageType());
+ JSONObject commandJson = JsonFileReader.readId(getInstrumentation().getTargetContext(), getCommandType(), getMessageType());
assertNotNull(TestValues.NOT_NULL, commandJson);
try {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/security/SdlSecurityBaseTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/security/SdlSecurityBaseTest.java
index 685b8cbf5..aeb73e3de 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/security/SdlSecurityBaseTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/security/SdlSecurityBaseTest.java
@@ -1,17 +1,13 @@
package com.smartdevicelink.test.security;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
-import com.smartdevicelink.SdlConnection.ISdlConnectionListener;
import com.smartdevicelink.SdlConnection.SdlSession;
-import com.smartdevicelink.protocol.ProtocolMessage;
import com.smartdevicelink.protocol.enums.SessionType;
import com.smartdevicelink.security.SdlSecurityBase;
import com.smartdevicelink.test.TestValues;
-import com.smartdevicelink.transport.BTTransportConfig;
-import com.smartdevicelink.transport.BaseTransportConfig;
+import com.smartdevicelink.test.streaming.MockInterfaceBroker;
import com.smartdevicelink.transport.MultiplexTransportConfig;
-import com.smartdevicelink.transport.TCPTransportConfig;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -19,7 +15,7 @@ import org.junit.runner.RunWith;
import java.util.ArrayList;
import java.util.List;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
@@ -61,65 +57,6 @@ public class SdlSecurityBaseTest {
startServiceList = list;
}
}
-
- class MockInterfaceBroker implements ISdlConnectionListener {
- public MockInterfaceBroker () { }
- @Override
- public void onTransportDisconnected(String info) {
-
- }
-
- @Override
- public void onTransportDisconnected(String info, boolean availablePrimary, BaseTransportConfig transportConfig) {
-
- }
-
- @Override
- public void onTransportError(String info, Exception e) {
-
- }
- @Override
- public void onProtocolMessageReceived(ProtocolMessage msg) {
-
- }
- @Override
- public void onProtocolSessionStartedNACKed(SessionType sessionType,
- byte sessionID, byte version, String correlationID, List<String> rejectedParams) {
-
- }
- @Override
- public void onProtocolSessionStarted(SessionType sessionType,
- byte sessionID, byte version, String correlationID, int hashID,
- boolean isEncrypted) {
-
- }
- @Override
- public void onProtocolSessionEnded(SessionType sessionType, byte sessionID,
- String correlationID) {
-
- }
- @Override
- public void onProtocolSessionEndedNACKed(SessionType sessionType,
- byte sessionID, String correlationID) {
-
- }
- @Override
- public void onProtocolError(String info, Exception e) {
-
- }
- @Override
- public void onHeartbeatTimedOut(byte sessionID) {
-
- }
- @Override
- public void onProtocolServiceDataACK(SessionType sessionType, int dataSize,
- byte sessionID) {
-
- }
- @Override
- public void onAuthTokenReceived(String token, byte bytes){}
-
- }
@Test
public void testMakeListSetAndGet(){
@@ -142,7 +79,7 @@ public class SdlSecurityBaseTest {
byte testWiproVersion = (byte) 0x0B;
boolean testInitResult = true;
MockInterfaceBroker interfaceBroker = new MockInterfaceBroker();
- MultiplexTransportConfig transportConfig = new MultiplexTransportConfig(getTargetContext(),"19216801");
+ MultiplexTransportConfig transportConfig = new MultiplexTransportConfig(getInstrumentation().getTargetContext(),"19216801");
MockSdlSecurityBase mockSdlSecurityBase = new MockSdlSecurityBase();
SdlSession testSdlSession = new SdlSession(interfaceBroker, transportConfig);
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/AbstractPacketizerTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/AbstractPacketizerTests.java
index f487ac927..e5e47f3a5 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/AbstractPacketizerTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/AbstractPacketizerTests.java
@@ -17,7 +17,7 @@ import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -46,7 +46,7 @@ public class AbstractPacketizerTests extends TestCase {
try {
testInputStream = new BufferedInputStream(new ByteArrayInputStream("sdl streaming test".getBytes()));
MockInterfaceBroker interfaceBroker = new MockInterfaceBroker();
- MultiplexTransportConfig transportConfig = new MultiplexTransportConfig(getTargetContext(),"19216801");
+ MultiplexTransportConfig transportConfig = new MultiplexTransportConfig(getInstrumentation().getTargetContext(),"19216801");
testSdlSession = new SdlSession(interfaceBroker, transportConfig);
testPacketizer1 = new MockPacketizer(testListener, testInputStream, testSessionType, testSessionId, testSdlSession);
testPacketizer2 = new MockPacketizer(null, null, null, testSessionId, testSdlSession);
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/MockInterfaceBroker.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/MockInterfaceBroker.java
index f3bcc38ee..1c7005012 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/MockInterfaceBroker.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/MockInterfaceBroker.java
@@ -1,22 +1,16 @@
package com.smartdevicelink.test.streaming;
-import com.smartdevicelink.SdlConnection.ISdlConnectionListener;
-import com.smartdevicelink.protocol.ProtocolMessage;
-import com.smartdevicelink.protocol.enums.SessionType;
+import com.smartdevicelink.SdlConnection.ISdlSessionListener;
+import com.smartdevicelink.proxy.RPCMessage;
import com.smartdevicelink.transport.BaseTransportConfig;
-
-import java.util.List;
+import com.smartdevicelink.util.Version;
/**
* This is a mock class for testing the following :
* {@link com.smartdevicelink.streaming.AbstractPacketizer}
*/
-public class MockInterfaceBroker implements ISdlConnectionListener {
+public class MockInterfaceBroker implements ISdlSessionListener {
public MockInterfaceBroker () { }
- @Override
- public void onTransportDisconnected(String info) {
-
- }
@Override
public void onTransportDisconnected(String info, boolean availablePrimary, BaseTransportConfig transportConfig) {
@@ -24,47 +18,22 @@ public class MockInterfaceBroker implements ISdlConnectionListener {
}
@Override
- public void onTransportError(String info, Exception e) {
+ public void onRPCMessageReceived(RPCMessage rpcMessage) {
}
- @Override
- public void onProtocolMessageReceived(ProtocolMessage msg) {
- }
@Override
- public void onProtocolSessionStartedNACKed(SessionType sessionType,
- byte sessionID, byte version, String correlationID, List<String> rejectedParams) {
+ public void onSessionStarted(int sessionID, Version version) {
}
- @Override
- public void onProtocolSessionStarted(SessionType sessionType,
- byte sessionID, byte version, String correlationID, int hashID,
- boolean isEncrypted) {
- }
@Override
- public void onProtocolSessionEnded(SessionType sessionType, byte sessionID,
- String correlationID) {
+ public void onSessionEnded(int sessionID) {
}
- @Override
- public void onProtocolSessionEndedNACKed(SessionType sessionType,
- byte sessionID, String correlationID) {
- }
- @Override
- public void onProtocolError(String info, Exception e) {
-
- }
@Override
- public void onHeartbeatTimedOut(byte sessionID) {
+ public void onAuthTokenReceived(String authToken, int sessionID) {
}
- @Override
- public void onProtocolServiceDataACK(SessionType sessionType, int dataSize,
- byte sessionID) {
-
- }
- @Override
- public void onAuthTokenReceived(String token, byte bytes){}
}
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/StreamPacketizerTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/StreamPacketizerTests.java
index fdfcce8cf..736798d67 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/StreamPacketizerTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/StreamPacketizerTests.java
@@ -21,7 +21,7 @@ import java.io.InputStream;
import java.nio.ByteBuffer;
import java.util.Arrays;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -131,7 +131,7 @@ public class StreamPacketizerTests extends TestCase {
byte testWiproVersion = (byte) 0x0B;
IStreamListener testListener = new MockStreamListener();
MockInterfaceBroker interfaceBroker = new MockInterfaceBroker();
- MultiplexTransportConfig transportConfig = new MultiplexTransportConfig(getTargetContext(),"19216801");
+ MultiplexTransportConfig transportConfig = new MultiplexTransportConfig(getInstrumentation().getTargetContext(),"19216801");
SdlSession testSdlSession = new SdlSession(interfaceBroker, transportConfig);
try {
testInputStream = new BufferedInputStream(new ByteArrayInputStream("sdl streaming test".getBytes()));
@@ -414,7 +414,7 @@ public class StreamPacketizerTests extends TestCase {
private SdlSession createTestSession() {
- return new SdlSession(new MockInterfaceBroker(), new MultiplexTransportConfig(getTargetContext(),"19216801"));
+ return new SdlSession(new MockInterfaceBroker(), new MultiplexTransportConfig(getInstrumentation().getTargetContext(),"19216801"));
}
private class StreamReceiver implements IStreamListener {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/StreamRPCPacketizerTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/StreamRPCPacketizerTests.java
index 638d3f636..561cc1ef7 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/StreamRPCPacketizerTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/StreamRPCPacketizerTests.java
@@ -18,7 +18,7 @@ import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This is a unit test class for the SmartDeviceLink library project class :
@@ -41,7 +41,7 @@ public class StreamRPCPacketizerTests extends TestCase {
IStreamListener testListener = new MockStreamListener();
MockInterfaceBroker interfaceBroker = new MockInterfaceBroker();
- MultiplexTransportConfig transportConfig = new MultiplexTransportConfig(getTargetContext(),"19216801");
+ MultiplexTransportConfig transportConfig = new MultiplexTransportConfig(getInstrumentation().getTargetContext(),"19216801");
SdlSession testSdlSession = new SdlSession(interfaceBroker, transportConfig);
try {
testInputStream = new BufferedInputStream(new ByteArrayInputStream("sdl streaming test".getBytes()));
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/video/RTPH264PacketizerTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/video/RTPH264PacketizerTest.java
index b2b863490..60fa6fb80 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/video/RTPH264PacketizerTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/video/RTPH264PacketizerTest.java
@@ -31,7 +31,7 @@
package com.smartdevicelink.test.streaming.video;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.SdlConnection.SdlSession;
import com.smartdevicelink.protocol.ProtocolMessage;
@@ -52,7 +52,7 @@ import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
/**
* This class includes a unit test for {@link RTPH264Packetizer}.
@@ -551,7 +551,7 @@ public class RTPH264PacketizerTest extends TestCase {
}
private SdlSession createTestSession() {
- return new SdlSession(new MockInterfaceBroker(), new MultiplexTransportConfig(getTargetContext(), "41146"));
+ return new SdlSession(new MockInterfaceBroker(), new MultiplexTransportConfig(getInstrumentation().getTargetContext(), "41146"));
}
private class StreamVerifier implements IStreamListener {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/video/SdlRemoteDisplayTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/video/SdlRemoteDisplayTest.java
index 453239bca..e5b07930e 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/video/SdlRemoteDisplayTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/video/SdlRemoteDisplayTest.java
@@ -4,7 +4,7 @@ import android.annotation.TargetApi;
import android.content.Context;
import android.os.Bundle;
import android.os.Looper;
-import android.support.test.InstrumentationRegistry;
+import androidx.test.platform.app.InstrumentationRegistry;
import android.view.Display;
import android.view.MotionEvent;
import android.widget.RelativeLayout;
@@ -37,7 +37,7 @@ public class SdlRemoteDisplayTest extends TestCase {
assertNotNull(encoder);
- SdlRemoteDisplay.Creator creator = new SdlRemoteDisplay.Creator(InstrumentationRegistry.getContext(), encoder.getVirtualDisplay(), null, MockRemoteDisplay.class, rdCallback);
+ SdlRemoteDisplay.Creator creator = new SdlRemoteDisplay.Creator(InstrumentationRegistry.getInstrumentation().getContext(), encoder.getVirtualDisplay(), null, MockRemoteDisplay.class, rdCallback);
assertNotNull(creator);
FutureTask<Boolean> fTask = new FutureTask<Boolean>(creator);
Thread showPresentation = new Thread(fTask);
@@ -48,7 +48,7 @@ public class SdlRemoteDisplayTest extends TestCase {
public void testConstructor(){
VirtualDisplayEncoder encoder = createVDE();
assertNotNull(encoder);
- MockRemoteDisplay remoteDisplay = new MockRemoteDisplay(InstrumentationRegistry.getContext(), encoder.getVirtualDisplay());
+ MockRemoteDisplay remoteDisplay = new MockRemoteDisplay(InstrumentationRegistry.getInstrumentation().getContext(), encoder.getVirtualDisplay());
assertNotNull(remoteDisplay);
encoder.shutDown();
@@ -59,7 +59,7 @@ public class SdlRemoteDisplayTest extends TestCase {
public void testTouchEvents(){
VirtualDisplayEncoder encoder = createVDE();
assertNotNull(encoder);
- MockRemoteDisplay remoteDisplay = new MockRemoteDisplay(InstrumentationRegistry.getContext(), encoder.getVirtualDisplay());
+ MockRemoteDisplay remoteDisplay = new MockRemoteDisplay(InstrumentationRegistry.getInstrumentation().getContext(), encoder.getVirtualDisplay());
assertNotNull(remoteDisplay);
remoteDisplay.show();
@@ -79,7 +79,7 @@ public class SdlRemoteDisplayTest extends TestCase {
public VirtualDisplayEncoder createVDE(){
try{
VirtualDisplayEncoder displayEncoder = new VirtualDisplayEncoder();
- displayEncoder.init(InstrumentationRegistry.getContext(), new MockVideoStreamListener(), new VideoStreamingParameters());
+ displayEncoder.init(InstrumentationRegistry.getInstrumentation().getContext(), new MockVideoStreamListener(), new VideoStreamingParameters());
displayEncoder.start();
return displayEncoder;
}catch (Exception e ){
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/video/VideoStreamingParametersTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/video/VideoStreamingParametersTest.java
index 8aa8ac5e8..5867fee7f 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/video/VideoStreamingParametersTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/video/VideoStreamingParametersTest.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.test.streaming.video;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.proxy.rpc.ImageResolution;
import com.smartdevicelink.proxy.rpc.VideoStreamingCapability;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/transport/MultiplexTransportConfigTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/transport/MultiplexTransportConfigTests.java
index 8fae50a8b..53fe30114 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/transport/MultiplexTransportConfigTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/transport/MultiplexTransportConfigTests.java
@@ -1,13 +1,13 @@
package com.smartdevicelink.test.transport;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.transport.MultiplexTransportConfig;
import org.junit.Test;
import org.junit.runner.RunWith;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
@RunWith(AndroidJUnit4.class)
@@ -15,16 +15,16 @@ public class MultiplexTransportConfigTests {
@Test
public void testDefaultSecurity(){
- MultiplexTransportConfig config = new MultiplexTransportConfig(getTargetContext(), "2341");
+ MultiplexTransportConfig config = new MultiplexTransportConfig(getInstrumentation().getTargetContext(), "2341");
assertEquals(config.getSecurityLevel(), MultiplexTransportConfig.FLAG_MULTI_SECURITY_MED);
}
@Test
public void testSettingSecurity(){
- MultiplexTransportConfig config = new MultiplexTransportConfig(getTargetContext(), "2341", MultiplexTransportConfig.FLAG_MULTI_SECURITY_HIGH);
+ MultiplexTransportConfig config = new MultiplexTransportConfig(getInstrumentation().getTargetContext(), "2341", MultiplexTransportConfig.FLAG_MULTI_SECURITY_HIGH);
assertEquals(config.getSecurityLevel(), MultiplexTransportConfig.FLAG_MULTI_SECURITY_HIGH);
- config = new MultiplexTransportConfig(getTargetContext(), "2341");
+ config = new MultiplexTransportConfig(getInstrumentation().getTargetContext(), "2341");
config.setSecurityLevel(MultiplexTransportConfig.FLAG_MULTI_SECURITY_HIGH);
assertEquals(config.getSecurityLevel(), MultiplexTransportConfig.FLAG_MULTI_SECURITY_HIGH);
}
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/util/CompareUtilsTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/util/CompareUtilsTest.java
index 17929e909..044d22f2d 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/util/CompareUtilsTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/util/CompareUtilsTest.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.test.util;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.test.TestValues;
import com.smartdevicelink.util.CompareUtils;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/util/SdlAppInfoTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/util/SdlAppInfoTests.java
index c1cf90e8c..35ad87cce 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/util/SdlAppInfoTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/util/SdlAppInfoTests.java
@@ -38,7 +38,7 @@ import android.content.pm.PackageInfo;
import android.content.pm.ResolveInfo;
import android.content.pm.ServiceInfo;
import android.os.Bundle;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.R;
import com.smartdevicelink.util.SdlAppInfo;
@@ -50,7 +50,7 @@ import org.junit.runner.RunWith;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertFalse;
import static junit.framework.TestCase.assertNotNull;
@@ -70,7 +70,7 @@ public class SdlAppInfoTests {
@Before
public void setUp() throws Exception {
- context = getContext();
+ context = getInstrumentation().getContext();
defaultResolveInfo = createResolveInfo(context.getResources().getInteger(R.integer.sdl_router_service_version_value), "com.smartdevicelink.test", "com.smartdevicelink.test.SdlRouterService",false);
defaultServiceInfo = defaultResolveInfo.serviceInfo;
defaultBundle = defaultServiceInfo.metaData;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/util/VersionTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/util/VersionTest.java
index 9f462e3f4..2dab00ccd 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/util/VersionTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/util/VersionTest.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.test.util;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.util.Version;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/utl/AndroidToolsTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/utl/AndroidToolsTests.java
index 8b0389dbb..601895b1c 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/utl/AndroidToolsTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/utl/AndroidToolsTests.java
@@ -1,7 +1,7 @@
package com.smartdevicelink.test.utl;
import android.content.ComponentName;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.util.AndroidTools;
@@ -10,7 +10,7 @@ import junit.framework.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
@RunWith(AndroidJUnit4.class)
public class AndroidToolsTests {
@@ -19,7 +19,7 @@ public class AndroidToolsTests {
public void testIsServiceExportedNormal(){
try{
- AndroidTools.isServiceExported(getTargetContext(), new ComponentName(getTargetContext(), "test"));
+ AndroidTools.isServiceExported(getInstrumentation().getTargetContext(), new ComponentName(getInstrumentation().getTargetContext(), "test"));
}catch(Exception e){
Assert.fail("Exception during normal test: " + e.getMessage());
}
@@ -29,7 +29,7 @@ public class AndroidToolsTests {
public void testIsServiceExportedNull(){
try{
- AndroidTools.isServiceExported(getTargetContext(), null);
+ AndroidTools.isServiceExported(getInstrumentation().getTargetContext(), null);
Assert.fail("Proccessed null data");
}catch(Exception e){
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/LocalRouterServiceTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/LocalRouterServiceTests.java
index e6b3d4341..e3070cd70 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/LocalRouterServiceTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/LocalRouterServiceTests.java
@@ -3,12 +3,12 @@ package com.smartdevicelink.transport;
import android.content.ComponentName;
import android.content.Intent;
import android.os.Parcel;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
@@ -26,7 +26,7 @@ public class LocalRouterServiceTests {
p.writeInt(4);
p.writeLong(System.currentTimeMillis());
p.writeParcelable(new Intent(), 0);
- p.writeParcelable(new ComponentName(getContext(), "test"), 0);
+ p.writeParcelable(new ComponentName(getInstrumentation().getContext(), "test"), 0);
p.setDataPosition(0);
SdlRouterService.LocalRouterService local = new SdlRouterService.LocalRouterService(p);
@@ -43,7 +43,7 @@ public class LocalRouterServiceTests {
p.writeInt(4);
p.writeLong(System.currentTimeMillis());
p.writeParcelable(new Intent(), 0);
- p.writeParcelable(new ComponentName(getContext(), "test"), 0);
+ p.writeParcelable(new ComponentName(getInstrumentation().getContext(), "test"), 0);
p.setDataPosition(0);
SdlRouterService.LocalRouterService local = SdlRouterService.LocalRouterService.CREATOR.createFromParcel(p);
@@ -66,7 +66,7 @@ public class LocalRouterServiceTests {
Parcel p = Parcel.obtain();
p.writeInt(4);
p.writeLong(System.currentTimeMillis());
- p.writeParcelable(new ComponentName(getContext(), "test"), 0);
+ p.writeParcelable(new ComponentName(getInstrumentation().getContext(), "test"), 0);
p.writeParcelable(new Intent(), 0);
p.setDataPosition(0);
@@ -117,7 +117,7 @@ public class LocalRouterServiceTests {
p.writeLong(System.currentTimeMillis());
int space = p.dataSize();
p.writeParcelable(new Intent(), 0);
- p.writeParcelable(new ComponentName(getContext(), "test"), 0);
+ p.writeParcelable(new ComponentName(getInstrumentation().getContext(), "test"), 0);
p.setDataPosition(0);
byte[] raw = p.marshall();
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/MultiplexTransportTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/MultiplexTransportTest.java
index a67e9dff7..6f4f0231b 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/MultiplexTransportTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/MultiplexTransportTest.java
@@ -4,7 +4,7 @@ import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.protocol.SdlPacket;
@@ -12,7 +12,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertTrue;
@@ -26,7 +26,7 @@ public class MultiplexTransportTest {
@Before
public void setUp() throws Exception {
- rsvp = new RouterServiceValidator(getTargetContext());
+ rsvp = new RouterServiceValidator(getInstrumentation().getTargetContext());
rsvp.setFlags(RouterServiceValidator.FLAG_DEBUG_NONE);
rsvp.validate();
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/RSVTestCase.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/RSVTestCase.java
index 8302ec53c..91aea6432 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/RSVTestCase.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/RSVTestCase.java
@@ -5,7 +5,7 @@ import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.ConditionVariable;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import android.util.Log;
import com.smartdevicelink.transport.RouterServiceValidator.TrustedAppStore;
@@ -26,7 +26,7 @@ import java.lang.reflect.Method;
import java.util.List;
import java.util.concurrent.Semaphore;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertFalse;
import static junit.framework.TestCase.assertNotNull;
@@ -52,7 +52,7 @@ public class RSVTestCase {
@Before
public void setUp() throws Exception {
- rsvp = new RouterServiceValidator(getTargetContext());
+ rsvp = new RouterServiceValidator(getInstrumentation().getTargetContext());
}
@@ -125,7 +125,7 @@ public class RSVTestCase {
@Test
public void testSecuritySetting(){
- RouterServiceValidator rsvp = new RouterServiceValidator(getTargetContext()); //Use a locally scoped instance
+ RouterServiceValidator rsvp = new RouterServiceValidator(getInstrumentation().getTargetContext()); //Use a locally scoped instance
rsvp.setSecurityLevel(MultiplexTransportConfig.FLAG_MULTI_SECURITY_HIGH);
try{
@@ -137,14 +137,14 @@ public class RSVTestCase {
}catch( IllegalAccessException e2){
fail(e2.getMessage());
}
- assertEquals(RouterServiceValidator.getSecurityLevel(getTargetContext()), MultiplexTransportConfig.FLAG_MULTI_SECURITY_HIGH);
+ assertEquals(RouterServiceValidator.getSecurityLevel(getInstrumentation().getTargetContext()), MultiplexTransportConfig.FLAG_MULTI_SECURITY_HIGH);
}
@Test
public void testHighSecurity(){
requestTListLock();
- RouterServiceValidator rsvp = new RouterServiceValidator(getTargetContext()); //Use a locally scoped instance
+ RouterServiceValidator rsvp = new RouterServiceValidator(getInstrumentation().getTargetContext()); //Use a locally scoped instance
rsvp.setSecurityLevel(MultiplexTransportConfig.FLAG_MULTI_SECURITY_HIGH);
rsvp.setFlags(RouterServiceValidator.FLAG_DEBUG_INSTALLED_FROM_CHECK);
@@ -152,7 +152,7 @@ public class RSVTestCase {
assertEquals(RouterServiceValidator.getRefreshRate(), REFRESH_TRUSTED_APP_LIST_TIME_WEEK);
- assertTrue(RouterServiceValidator.createTrustedListRequest(getTargetContext(), true, null, trustedListCallback));
+ assertTrue(RouterServiceValidator.createTrustedListRequest(getInstrumentation().getTargetContext(), true, null, trustedListCallback));
}
@@ -160,7 +160,7 @@ public class RSVTestCase {
public void testMediumSecurity(){
requestTListLock();
- RouterServiceValidator rsvp = new RouterServiceValidator(getTargetContext()); //Use a locally scoped instance
+ RouterServiceValidator rsvp = new RouterServiceValidator(getInstrumentation().getTargetContext()); //Use a locally scoped instance
rsvp.setSecurityLevel(MultiplexTransportConfig.FLAG_MULTI_SECURITY_MED);
rsvp.setFlags(RouterServiceValidator.FLAG_DEBUG_INSTALLED_FROM_CHECK);
@@ -168,7 +168,7 @@ public class RSVTestCase {
assertEquals(RouterServiceValidator.getRefreshRate(), REFRESH_TRUSTED_APP_LIST_TIME_WEEK);
- assertTrue(RouterServiceValidator.createTrustedListRequest(getTargetContext(), true, null, trustedListCallback));
+ assertTrue(RouterServiceValidator.createTrustedListRequest(getInstrumentation().getTargetContext(), true, null, trustedListCallback));
}
@@ -176,7 +176,7 @@ public class RSVTestCase {
public void testLowSecurity(){
requestTListLock();
- RouterServiceValidator rsvp = new RouterServiceValidator(getTargetContext()); //Use a locally scoped instance
+ RouterServiceValidator rsvp = new RouterServiceValidator(getInstrumentation().getTargetContext()); //Use a locally scoped instance
rsvp.setSecurityLevel(MultiplexTransportConfig.FLAG_MULTI_SECURITY_LOW);
rsvp.setFlags(RouterServiceValidator.FLAG_DEBUG_INSTALLED_FROM_CHECK);
@@ -184,7 +184,7 @@ public class RSVTestCase {
assertEquals(RouterServiceValidator.getRefreshRate(), REFRESH_TRUSTED_APP_LIST_TIME_MONTH);
- assertTrue(RouterServiceValidator.createTrustedListRequest(getTargetContext(), true, null, trustedListCallback));
+ assertTrue(RouterServiceValidator.createTrustedListRequest(getInstrumentation().getTargetContext(), true, null, trustedListCallback));
}
@@ -192,7 +192,7 @@ public class RSVTestCase {
public void testNoSecurity(){
requestTListLock();
- RouterServiceValidator rsvp = new RouterServiceValidator(getTargetContext()); //Use a locally scoped instance
+ RouterServiceValidator rsvp = new RouterServiceValidator(getInstrumentation().getTargetContext()); //Use a locally scoped instance
rsvp.setSecurityLevel(MultiplexTransportConfig.FLAG_MULTI_SECURITY_OFF);
rsvp.setFlags(RouterServiceValidator.FLAG_DEBUG_INSTALLED_FROM_CHECK);
@@ -200,7 +200,7 @@ public class RSVTestCase {
assertEquals(RouterServiceValidator.getRefreshRate(), REFRESH_TRUSTED_APP_LIST_TIME_WEEK);
- assertFalse(RouterServiceValidator.createTrustedListRequest(getTargetContext(), true, null, trustedListCallback));
+ assertFalse(RouterServiceValidator.createTrustedListRequest(getInstrumentation().getTargetContext(), true, null, trustedListCallback));
//This should always return true
assertTrue(rsvp.validate());
@@ -237,7 +237,7 @@ public class RSVTestCase {
requestTListLock();
assertFalse(RouterServiceValidator.invalidateList(null));
- assertTrue(RouterServiceValidator.invalidateList(getTargetContext()));
+ assertTrue(RouterServiceValidator.invalidateList(getInstrumentation().getTargetContext()));
releaseTListLock();
}
@@ -247,7 +247,7 @@ public class RSVTestCase {
requestTListLock();
assertNull(RouterServiceValidator.getTrustedList(null));
- assertNotNull(RouterServiceValidator.getTrustedList(getTargetContext()));
+ assertNotNull(RouterServiceValidator.getTrustedList(getInstrumentation().getTargetContext()));
releaseTListLock();
}
@@ -257,16 +257,16 @@ public class RSVTestCase {
requestTListLock();
assertFalse(RouterServiceValidator.setTrustedList(null,null));
- assertFalse(RouterServiceValidator.setTrustedList(getTargetContext(),null));
+ assertFalse(RouterServiceValidator.setTrustedList(getInstrumentation().getTargetContext(),null));
assertFalse(RouterServiceValidator.setTrustedList(null,"test"));
- assertTrue(RouterServiceValidator.setTrustedList(getTargetContext(),"test"));
- assertTrue(RouterServiceValidator.setTrustedList(getTargetContext(),TEST));
- assertTrue(RouterServiceValidator.setTrustedList(getTargetContext(),TEST+TEST+TEST+TEST+TEST));
+ assertTrue(RouterServiceValidator.setTrustedList(getInstrumentation().getTargetContext(),"test"));
+ assertTrue(RouterServiceValidator.setTrustedList(getInstrumentation().getTargetContext(),TEST));
+ assertTrue(RouterServiceValidator.setTrustedList(getInstrumentation().getTargetContext(),TEST+TEST+TEST+TEST+TEST));
StringBuilder builder = new StringBuilder();
for(int i = 0; i<1000; i++){
builder.append(TEST);
}
- assertTrue(RouterServiceValidator.setTrustedList(getTargetContext(),builder.toString()));
+ assertTrue(RouterServiceValidator.setTrustedList(getInstrumentation().getTargetContext(),builder.toString()));
releaseTListLock();
}
@@ -275,8 +275,8 @@ public class RSVTestCase {
public void testTrustedListSetAndGet(){
requestTListLock();
- assertTrue(RouterServiceValidator.setTrustedList(getTargetContext(),TEST));
- String retVal = RouterServiceValidator.getTrustedList(getTargetContext());
+ assertTrue(RouterServiceValidator.setTrustedList(getInstrumentation().getTargetContext(),TEST));
+ String retVal = RouterServiceValidator.getTrustedList(getInstrumentation().getTargetContext());
assertNotNull(retVal);
assertTrue(TEST.equals(retVal));
@@ -284,8 +284,8 @@ public class RSVTestCase {
for(int i = 0; i<1000; i++){
builder.append(TEST);
}
- assertTrue(RouterServiceValidator.setTrustedList(getTargetContext(),builder.toString()));
- retVal = RouterServiceValidator.getTrustedList(getTargetContext());
+ assertTrue(RouterServiceValidator.setTrustedList(getInstrumentation().getTargetContext(),builder.toString()));
+ retVal = RouterServiceValidator.getTrustedList(getInstrumentation().getTargetContext());
assertNotNull(retVal);
assertTrue(builder.toString().equals(retVal));
@@ -296,8 +296,8 @@ public class RSVTestCase {
public void testInvalidationSequence(){
requestTListLock();
- assertTrue(RouterServiceValidator.invalidateList(getTargetContext()));
- assertTrue(RouterServiceValidator.createTrustedListRequest(getTargetContext(), false, null, trustedListCallback));
+ assertTrue(RouterServiceValidator.invalidateList(getInstrumentation().getTargetContext()));
+ assertTrue(RouterServiceValidator.createTrustedListRequest(getInstrumentation().getTargetContext(), false, null, trustedListCallback));
}
@Test
@@ -307,11 +307,11 @@ public class RSVTestCase {
assertFalse(TrustedAppStore.isTrustedStore("test"));
assertFalse(TrustedAppStore.isTrustedStore(null));
- rsvp = new RouterServiceValidator(getTargetContext());
+ rsvp = new RouterServiceValidator(getInstrumentation().getTargetContext());
rsvp.setFlags(RouterServiceValidator.FLAG_DEBUG_INSTALLED_FROM_CHECK);
rsvp.setSecurityLevel(MultiplexTransportConfig.FLAG_MULTI_SECURITY_HIGH);
- PackageManager packageManager = getTargetContext().getPackageManager();
+ PackageManager packageManager = getInstrumentation().getTargetContext().getPackageManager();
List<PackageInfo> packages = packageManager.getInstalledPackages(0);
String appStore;
for(PackageInfo info: packages){
@@ -326,7 +326,7 @@ public class RSVTestCase {
@Test
public void testVersionBlackList(){
- rsvp = new RouterServiceValidator(getTargetContext());
+ rsvp = new RouterServiceValidator(getInstrumentation().getTargetContext());
JSONArray array = new JSONArray();
for(int i=0; i<25; i++){
if(i%3 == 0){
@@ -371,7 +371,7 @@ public class RSVTestCase {
}
};
- assertTrue(RouterServiceValidator.createTrustedListRequest(getTargetContext(),true, cb));
+ assertTrue(RouterServiceValidator.createTrustedListRequest(getInstrumentation().getTargetContext(),true, cb));
//Now wait for call to finish
synchronized(REQUEST_LOCK){
try {
@@ -392,8 +392,8 @@ public class RSVTestCase {
public void testRequestChange(){
requestTListLock();
- RouterServiceValidator.setLastRequest(getTargetContext(), null);
- assertNull(RouterServiceValidator.getLastRequest(getTargetContext()));
+ RouterServiceValidator.setLastRequest(getInstrumentation().getTargetContext(), null);
+ assertNull(RouterServiceValidator.getLastRequest(getInstrumentation().getTargetContext()));
JSONObject object = null;
try {
@@ -402,11 +402,11 @@ public class RSVTestCase {
e.printStackTrace();
}
assertNotNull(object);
- assertFalse(object.equals(RouterServiceValidator.getLastRequest(getTargetContext())));
+ assertFalse(object.equals(RouterServiceValidator.getLastRequest(getInstrumentation().getTargetContext())));
- assertTrue(RouterServiceValidator.setLastRequest(getTargetContext(), object.toString()));
+ assertTrue(RouterServiceValidator.setLastRequest(getInstrumentation().getTargetContext(), object.toString()));
- String oldRequest = RouterServiceValidator.getLastRequest(getTargetContext());
+ String oldRequest = RouterServiceValidator.getLastRequest(getInstrumentation().getTargetContext());
assertNotNull(oldRequest);
assertTrue(object.toString().equals(oldRequest));
@@ -419,9 +419,9 @@ public class RSVTestCase {
e.printStackTrace();
}
assertNotNull(object);
- assertFalse(object.equals(RouterServiceValidator.getLastRequest(getTargetContext())));
+ assertFalse(object.equals(RouterServiceValidator.getLastRequest(getInstrumentation().getTargetContext())));
//Clear it for next test
- RouterServiceValidator.setLastRequest(getTargetContext(), null);
+ RouterServiceValidator.setLastRequest(getInstrumentation().getTargetContext(), null);
releaseTListLock();
}
@@ -449,12 +449,12 @@ public class RSVTestCase {
}
// Fail, different package name for context and service and app security setting is not OFF and app is not on trusted list
- RouterServiceValidatorTest rsvpFail = new RouterServiceValidatorTest(getTargetContext(), new ComponentName("anything", getTargetContext().getClass().getSimpleName()));
+ RouterServiceValidatorTest rsvpFail = new RouterServiceValidatorTest(getInstrumentation().getTargetContext(), new ComponentName("anything", getInstrumentation().getTargetContext().getClass().getSimpleName()));
rsvpFail.setSecurityLevel(MultiplexTransportConfig.FLAG_MULTI_SECURITY_HIGH);
assertFalse(rsvpFail.validate());
// Success, same package name for context and service
- RouterServiceValidatorTest rsvpPass = new RouterServiceValidatorTest(getTargetContext(), new ComponentName(getTargetContext().getPackageName(), getTargetContext().getClass().getSimpleName()));
+ RouterServiceValidatorTest rsvpPass = new RouterServiceValidatorTest(getInstrumentation().getTargetContext(), new ComponentName(getInstrumentation().getTargetContext().getPackageName(), getInstrumentation().getTargetContext().getClass().getSimpleName()));
rsvpPass.setSecurityLevel(MultiplexTransportConfig.FLAG_MULTI_SECURITY_HIGH);
assertTrue(rsvpPass.validate());
}
@@ -464,7 +464,7 @@ public class RSVTestCase {
*/
@Test
public void testValidateAsync() {
- final MultiplexTransportConfig config = new MultiplexTransportConfig(getTargetContext(), APP_ID, MultiplexTransportConfig.FLAG_MULTI_SECURITY_HIGH);
+ final MultiplexTransportConfig config = new MultiplexTransportConfig(getInstrumentation().getTargetContext(), APP_ID, MultiplexTransportConfig.FLAG_MULTI_SECURITY_HIGH);
final RouterServiceValidator validator = new RouterServiceValidator(config);
final ConditionVariable cond = new ConditionVariable();
validator.validateAsync(new RouterServiceValidator.ValidationStatusCallback() {
@@ -478,7 +478,7 @@ public class RSVTestCase {
cond.block();
// next, test for FLAG_MULTI_SECURITY_OFF
- final MultiplexTransportConfig config2 = new MultiplexTransportConfig(getTargetContext(), APP_ID, MultiplexTransportConfig.FLAG_MULTI_SECURITY_OFF);
+ final MultiplexTransportConfig config2 = new MultiplexTransportConfig(getInstrumentation().getTargetContext(), APP_ID, MultiplexTransportConfig.FLAG_MULTI_SECURITY_OFF);
final RouterServiceValidator validator2 = new RouterServiceValidator(config2);
cond.close();
validator2.validateAsync(new RouterServiceValidator.ValidationStatusCallback() {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/RegisteredAppTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/RegisteredAppTests.java
index 2cf70d1be..f2164e498 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/RegisteredAppTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/RegisteredAppTests.java
@@ -2,7 +2,7 @@ package com.smartdevicelink.transport;
import android.os.Looper;
import android.os.Messenger;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/SdlRouterServiceTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/SdlRouterServiceTests.java
index 5995b457f..5815911e7 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/SdlRouterServiceTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/SdlRouterServiceTests.java
@@ -5,7 +5,7 @@ import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import android.util.Log;
import android.util.SparseArray;
import android.util.SparseIntArray;
@@ -38,7 +38,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Vector;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
@@ -64,7 +64,7 @@ public class SdlRouterServiceTests {
*/
@Test
public void testVersionCorrectness(){
- int resourceVersion = getContext().getResources().getInteger(com.smartdevicelink.test.R.integer.sdl_router_service_version_value);
+ int resourceVersion = getInstrumentation().getContext().getResources().getInteger(com.smartdevicelink.test.R.integer.sdl_router_service_version_value);
assertEquals(resourceVersion, SdlRouterService.ROUTER_SERVICE_VERSION_NUMBER);
}
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/TransportBrokerTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/TransportBrokerTest.java
index 332f3eda4..22837f77d 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/TransportBrokerTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/TransportBrokerTest.java
@@ -5,7 +5,7 @@ import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.os.Messenger;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.test.SdlUnitTestContants;
import com.smartdevicelink.test.util.DeviceUtil;
@@ -14,7 +14,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertFalse;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertTrue;
@@ -26,7 +26,7 @@ public class TransportBrokerTest { //FIXME this test class needs to be fixed. At
@Before
public void setUp() throws Exception {
- rsvp = new RouterServiceValidator(getTargetContext());
+ rsvp = new RouterServiceValidator(getInstrumentation().getTargetContext());
rsvp.validate();
}
@@ -42,7 +42,7 @@ public class TransportBrokerTest { //FIXME this test class needs to be fixed. At
if (Looper.myLooper() == null) {
Looper.prepare();
}
- TransportBroker broker = new TransportBroker(getTargetContext(), SdlUnitTestContants.TEST_APP_ID,rsvp.getService());
+ TransportBroker broker = new TransportBroker(getInstrumentation().getTargetContext(), SdlUnitTestContants.TEST_APP_ID,rsvp.getService());
if(!DeviceUtil.isEmulator()){ // Cannot perform MBT operations in emulator
assertTrue(broker.start());
}
@@ -56,7 +56,7 @@ public class TransportBrokerTest { //FIXME this test class needs to be fixed. At
Looper.prepare();
}
- TransportBroker broker = new TransportBroker(getTargetContext(), SdlUnitTestContants.TEST_APP_ID,rsvp.getService());
+ TransportBroker broker = new TransportBroker(getInstrumentation().getTargetContext(), SdlUnitTestContants.TEST_APP_ID,rsvp.getService());
if(!DeviceUtil.isEmulator()){ // Cannot perform MBT operations in emulator
assertTrue(broker.start());
@@ -90,7 +90,7 @@ public class TransportBrokerTest { //FIXME this test class needs to be fixed. At
if (Looper.myLooper() == null) {
Looper.prepare();
}
- TransportBroker broker = new TransportBroker(getTargetContext(), SdlUnitTestContants.TEST_APP_ID, rsvp.getService());
+ TransportBroker broker = new TransportBroker(getInstrumentation().getTargetContext(), SdlUnitTestContants.TEST_APP_ID, rsvp.getService());
if(!DeviceUtil.isEmulator()){ // Cannot perform MBT operations in emulator
assertTrue(broker.start());
}
@@ -103,7 +103,7 @@ public class TransportBrokerTest { //FIXME this test class needs to be fixed. At
Looper.prepare();
}
- TransportBroker broker = new TransportBroker(getTargetContext(), SdlUnitTestContants.TEST_APP_ID, rsvp.getService());
+ TransportBroker broker = new TransportBroker(getInstrumentation().getTargetContext(), SdlUnitTestContants.TEST_APP_ID, rsvp.getService());
Handler handler = new Handler();
Message message = new Message();
broker.routerServiceMessenger = null;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/TransportManagerTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/TransportManagerTests.java
index 454a32633..b1d3263b2 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/TransportManagerTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/transport/TransportManagerTests.java
@@ -2,7 +2,7 @@ package com.smartdevicelink.transport;
import android.content.ComponentName;
import android.os.Looper;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.protocol.SdlPacket;
import com.smartdevicelink.protocol.SdlPacketFactory;
@@ -18,7 +18,7 @@ import org.junit.runner.RunWith;
import java.util.Collections;
import java.util.List;
-import static android.support.test.InstrumentationRegistry.getContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertFalse;
import static junit.framework.TestCase.assertNotNull;
@@ -50,7 +50,7 @@ public class TransportManagerTests {
@Before
public void setUp() throws Exception {
- config = new MultiplexTransportConfig(getContext(), SdlUnitTestContants.TEST_APP_ID);
+ config = new MultiplexTransportConfig(getInstrumentation().getContext(), SdlUnitTestContants.TEST_APP_ID);
config.setService(routerServiceComponentName);
if (Looper.myLooper() == null) {
Looper.prepare();
@@ -66,7 +66,7 @@ public class TransportManagerTests {
assertNull(manager.legacyBluetoothHandler);
manager.exitLegacyMode("Test");
- manager.transport = manager.new TransportBrokerImpl(getContext(), config.appId, routerServiceComponentName);
+ manager.transport = manager.new TransportBrokerImpl(getInstrumentation().getContext(), config.appId, routerServiceComponentName);
manager.start();
assert true;
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/util/MediaStreamingStatusTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/util/MediaStreamingStatusTests.java
index 9a204df9b..5f7f06f59 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/util/MediaStreamingStatusTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/util/MediaStreamingStatusTests.java
@@ -4,7 +4,7 @@ import android.content.Context;
import android.media.AudioDeviceInfo;
import android.media.AudioManager;
import android.os.Build;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.smartdevicelink.managers.SdlManager;
import com.smartdevicelink.managers.SdlManagerListener;
@@ -21,7 +21,7 @@ import org.mockito.stubbing.Answer;
import java.util.Vector;
-import static android.support.test.InstrumentationRegistry.getTargetContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static junit.framework.TestCase.assertFalse;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNull;
@@ -106,11 +106,11 @@ public class MediaStreamingStatusTests {
@Test
public void testSdlManagerMedia(){
- SdlManager.Builder builder = new SdlManager.Builder(getTargetContext(), TestValues.GENERAL_FULL_APP_ID, TestValues.GENERAL_STRING, mock(SdlManagerListener.class));
+ SdlManager.Builder builder = new SdlManager.Builder(getInstrumentation().getTargetContext(), TestValues.GENERAL_FULL_APP_ID, TestValues.GENERAL_STRING, mock(SdlManagerListener.class));
Vector<AppHMIType> appType = new Vector<>();
appType.add(AppHMIType.MEDIA);
builder.setAppTypes(appType);
- MultiplexTransportConfig multiplexTransportConfig = new MultiplexTransportConfig(getTargetContext(), TestValues.GENERAL_FULL_APP_ID);
+ MultiplexTransportConfig multiplexTransportConfig = new MultiplexTransportConfig(getInstrumentation().getTargetContext(), TestValues.GENERAL_FULL_APP_ID);
assertNull(multiplexTransportConfig.requiresAudioSupport());
builder.setTransportType(multiplexTransportConfig);
@@ -124,11 +124,11 @@ public class MediaStreamingStatusTests {
@Test
public void testSdlManagerNonMedia(){
- SdlManager.Builder builder = new SdlManager.Builder(getTargetContext(), TestValues.GENERAL_FULL_APP_ID, TestValues.GENERAL_STRING, mock(SdlManagerListener.class));
+ SdlManager.Builder builder = new SdlManager.Builder(getInstrumentation().getTargetContext(), TestValues.GENERAL_FULL_APP_ID, TestValues.GENERAL_STRING, mock(SdlManagerListener.class));
Vector<AppHMIType> appType = new Vector<>();
appType.add(AppHMIType.DEFAULT);
builder.setAppTypes(appType);
- MultiplexTransportConfig multiplexTransportConfig = new MultiplexTransportConfig(getTargetContext(), TestValues.GENERAL_FULL_APP_ID);
+ MultiplexTransportConfig multiplexTransportConfig = new MultiplexTransportConfig(getInstrumentation().getTargetContext(), TestValues.GENERAL_FULL_APP_ID);
assertNull(multiplexTransportConfig.requiresAudioSupport());
builder.setTransportType(multiplexTransportConfig);
@@ -142,7 +142,7 @@ public class MediaStreamingStatusTests {
@Test
public void testAcceptedBTDevices(){
- MediaStreamingStatus mediaStreamingStatus = spy(new MediaStreamingStatus(getTargetContext(), mock(MediaStreamingStatus.Callback.class)));
+ MediaStreamingStatus mediaStreamingStatus = spy(new MediaStreamingStatus(getInstrumentation().getTargetContext(), mock(MediaStreamingStatus.Callback.class)));
doAnswer(new Answer() {
@Override
@@ -157,7 +157,7 @@ public class MediaStreamingStatusTests {
@Test
public void testAcceptedUSBDevices(){
- MediaStreamingStatus mediaStreamingStatus = spy(new MediaStreamingStatus(getTargetContext(), mock(MediaStreamingStatus.Callback.class)));
+ MediaStreamingStatus mediaStreamingStatus = spy(new MediaStreamingStatus(getInstrumentation().getTargetContext(), mock(MediaStreamingStatus.Callback.class)));
doAnswer(new Answer() {
@Override
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/SdlConnection/SdlSession.java b/android/sdl_android/src/main/java/com/smartdevicelink/SdlConnection/SdlSession.java
index 3c5c063c7..f4bdb7136 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/SdlConnection/SdlSession.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/SdlConnection/SdlSession.java
@@ -59,7 +59,6 @@ import com.smartdevicelink.util.Version;
import java.io.IOException;
import java.lang.ref.WeakReference;
-import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
public class SdlSession extends BaseSdlSession {
@@ -69,9 +68,8 @@ public class SdlSession extends BaseSdlSession {
MediaStreamingStatus mediaStreamingStatus;
boolean requiresAudioSupport = false;
- public SdlSession(ISdlConnectionListener listener, MultiplexTransportConfig config) {
+ public SdlSession(ISdlSessionListener listener, MultiplexTransportConfig config) {
super(listener, config);
- this.transportConfig = config;
if (config != null) {
contextWeakReference = new WeakReference<>(config.getContext());
this.requiresAudioSupport = Boolean.TRUE.equals(config.requiresAudioSupport()); //handle null case
@@ -81,9 +79,8 @@ public class SdlSession extends BaseSdlSession {
}
- public SdlSession(ISdlConnectionListener listener, TCPTransportConfig config) {
+ public SdlSession(ISdlSessionListener listener, TCPTransportConfig config) {
super(listener, config);
- this.transportConfig = config;
this.sessionListener = listener;
}
@@ -155,88 +152,68 @@ public class SdlSession extends BaseSdlSession {
/* ***********************************************************************************************************************************************************************
- * ***************************************************************** IProtocol Listener ********************************************************************************
+ * ***************************************************************** ISdlProtocol Listener ********************************************************************************
*************************************************************************************************************************************************************************/
@Override
- public void onProtocolMessageBytesToSend(SdlPacket packet) {
- sdlProtocol.sendPacket(packet);
- }
-
- @Override
- public void onProtocolSessionStarted(SessionType sessionType,
- byte sessionID, byte version, String correlationID, int hashID, boolean isEncrypted) {
+ public void onServiceStarted(SdlPacket packet, SessionType serviceType, int sessionID, Version version, boolean isEncrypted) {
+ DebugTool.logInfo(TAG, serviceType.getName() + " service started");
- DebugTool.logInfo(TAG, "Protocol session started");
-
- this.sessionId = sessionID;
- if (sessionType.eq(SessionType.RPC)) {
- sessionHashId = hashID;
+ if (serviceType != null && serviceType.eq(SessionType.RPC) && this.sessionId == -1) {
+ this.sessionId = sessionID;
+ this.sessionListener.onSessionStarted(sessionID, version);
}
if (isEncrypted) {
- encryptedServices.addIfAbsent(sessionType);
+ encryptedServices.addIfAbsent(serviceType);
}
- this.sessionListener.onProtocolSessionStarted(sessionType, sessionID, version, correlationID, hashID, isEncrypted);
- if (serviceListeners != null && serviceListeners.containsKey(sessionType)) {
- CopyOnWriteArrayList<ISdlServiceListener> listeners = serviceListeners.get(sessionType);
+ if (serviceListeners != null && serviceListeners.containsKey(serviceType)) {
+ CopyOnWriteArrayList<ISdlServiceListener> listeners = serviceListeners.get(serviceType);
for (ISdlServiceListener listener : listeners) {
- listener.onServiceStarted(this, sessionType, isEncrypted);
+ listener.onServiceStarted(this, serviceType, isEncrypted);
}
}
-
- }
-
- public void onProtocolSessionStartedNACKed(SessionType sessionType, byte sessionID, byte version, String correlationID, List<String> rejectedParams) {
- onProtocolSessionNACKed(sessionType, sessionID, version, correlationID, rejectedParams);
}
@Override
- public void onProtocolSessionNACKed(SessionType sessionType, byte sessionID, byte version, String correlationID, List<String> rejectedParams) {
- this.sessionListener.onProtocolSessionStartedNACKed(sessionType,
- sessionID, version, correlationID, rejectedParams);
- if (serviceListeners != null && serviceListeners.containsKey(sessionType)) {
- CopyOnWriteArrayList<ISdlServiceListener> listeners = serviceListeners.get(sessionType);
- if (listeners != null) {
- for (ISdlServiceListener listener : listeners) {
- listener.onServiceError(this, sessionType, "Start " + sessionType.toString() + " Service NAKed");
- }
- }
+ public void onServiceEnded(SdlPacket packet, SessionType serviceType, int sessionID) {
+
+ if (SessionType.RPC.equals(serviceType)) {
+ this.sessionListener.onSessionEnded(sessionID);
+ } else if (SessionType.NAV.equals(serviceType)) {
+ stopVideoStream();
+ } else if (SessionType.PCM.equals(serviceType)) {
+ stopAudioStream();
}
- }
- @Override
- public void onProtocolSessionEnded(SessionType sessionType, byte sessionID,
- String correlationID) {
- this.sessionListener.onProtocolSessionEnded(sessionType, sessionID, correlationID);
- if (serviceListeners != null && serviceListeners.containsKey(sessionType)) {
- CopyOnWriteArrayList<ISdlServiceListener> listeners = serviceListeners.get(sessionType);
+ if (serviceListeners != null && serviceListeners.containsKey(serviceType)) {
+ CopyOnWriteArrayList<ISdlServiceListener> listeners = serviceListeners.get(serviceType);
for (ISdlServiceListener listener : listeners) {
- listener.onServiceEnded(this, sessionType);
+ listener.onServiceEnded(this, serviceType);
}
}
- encryptedServices.remove(sessionType);
+ encryptedServices.remove(serviceType);
}
@Override
- public void onProtocolSessionEndedNACKed(SessionType sessionType,
- byte sessionID, String correlationID) {
- this.sessionListener.onProtocolSessionEndedNACKed(sessionType, sessionID, correlationID);
- if (serviceListeners != null && serviceListeners.containsKey(sessionType)) {
- CopyOnWriteArrayList<ISdlServiceListener> listeners = serviceListeners.get(sessionType);
+ public void onServiceError(SdlPacket packet, SessionType serviceType, int sessionID, String error) {
+ if (SessionType.NAV.equals(serviceType)) {
+ stopVideoStream();
+ } else if (SessionType.PCM.equals(serviceType)) {
+ stopAudioStream();
+ }
+
+ if (serviceListeners != null && serviceListeners.containsKey(serviceType)) {
+ CopyOnWriteArrayList<ISdlServiceListener> listeners = serviceListeners.get(serviceType);
for (ISdlServiceListener listener : listeners) {
- listener.onServiceError(this, sessionType, "End " + sessionType.toString() + " Service NACK'ed");
+ listener.onServiceError(this, serviceType, "End " + serviceType.toString() + " Service NACK'ed");
}
}
}
- /* Not supported methods from IProtocolListener */
@Override
- public void onHeartbeatTimedOut(byte sessionId) { /* Not supported */}
-
- @Override
- public void onAuthTokenReceived(String authToken, byte sessionID) {/* Do nothing */ }
+ public void onAuthTokenReceived(String authToken) {/* Do nothing */ }
/* ***********************************************************************************************************************************************************************
* ***************************************************************** Fix after initial refactor *********************************************************************************
@@ -273,13 +250,13 @@ public class SdlSession extends BaseSdlSession {
try {
switch (protocol) {
case RAW: {
- videoPacketizer = new StreamPacketizer(streamListener, null, SessionType.NAV, this.sessionId, this);
+ videoPacketizer = new StreamPacketizer(streamListener, null, SessionType.NAV, (byte) this.sessionId, this);
videoPacketizer.start();
return (IVideoStreamListener) videoPacketizer;
}
case RTP: {
//FIXME why is this not an extension of StreamPacketizer?
- videoPacketizer = new RTPH264Packetizer(streamListener, SessionType.NAV, this.sessionId, this);
+ videoPacketizer = new RTPH264Packetizer(streamListener, SessionType.NAV, (byte) this.sessionId, this);
videoPacketizer.start();
return (IVideoStreamListener) videoPacketizer;
}
@@ -294,7 +271,7 @@ public class SdlSession extends BaseSdlSession {
public IAudioStreamListener startAudioStream() {
try {
- audioPacketizer = new StreamPacketizer(streamListener, null, SessionType.PCM, this.sessionId, this);
+ audioPacketizer = new StreamPacketizer(streamListener, null, SessionType.PCM, (byte) this.sessionId, this);
audioPacketizer.start();
return audioPacketizer;
} catch (IOException e) {
@@ -303,24 +280,6 @@ public class SdlSession extends BaseSdlSession {
}
- @Override
- public void stopStream(SessionType serviceType) {
- if (SessionType.NAV.equals(serviceType)) {
- stopVideoStream();
- } else if (SessionType.PCM.equals(serviceType)) {
- stopAudioStream();
- }
- // Notify any listeners of the service being ended
- if (serviceListeners != null && serviceListeners.containsKey(serviceType)) {
- CopyOnWriteArrayList<ISdlServiceListener> listeners = serviceListeners.get(serviceType);
- if (listeners != null && listeners.size() > 0) {
- for (ISdlServiceListener listener : listeners) {
- listener.onServiceEnded(this, serviceType);
- }
- }
- }
- }
-
public boolean stopVideoStream() {
if (videoPacketizer != null) {
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/ProxyBridge.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/ProxyBridge.java
index fd5e5c891..69180d255 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/ProxyBridge.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/ProxyBridge.java
@@ -80,10 +80,8 @@ import com.smartdevicelink.proxy.rpc.OnHashChange;
import com.smartdevicelink.proxy.rpc.OnInteriorVehicleData;
import com.smartdevicelink.proxy.rpc.OnKeyboardInput;
import com.smartdevicelink.proxy.rpc.OnLanguageChange;
-import com.smartdevicelink.proxy.rpc.OnLockScreenStatus;
import com.smartdevicelink.proxy.rpc.OnPermissionsChange;
import com.smartdevicelink.proxy.rpc.OnRCStatus;
-import com.smartdevicelink.proxy.rpc.OnStreamRPC;
import com.smartdevicelink.proxy.rpc.OnSystemCapabilityUpdated;
import com.smartdevicelink.proxy.rpc.OnSystemRequest;
import com.smartdevicelink.proxy.rpc.OnTBTClientState;
@@ -113,7 +111,6 @@ import com.smartdevicelink.proxy.rpc.ShowConstantTbtResponse;
import com.smartdevicelink.proxy.rpc.ShowResponse;
import com.smartdevicelink.proxy.rpc.SliderResponse;
import com.smartdevicelink.proxy.rpc.SpeakResponse;
-import com.smartdevicelink.proxy.rpc.StreamRPCResponse;
import com.smartdevicelink.proxy.rpc.SubscribeButtonResponse;
import com.smartdevicelink.proxy.rpc.SubscribeVehicleDataResponse;
import com.smartdevicelink.proxy.rpc.SubscribeWayPointsResponse;
@@ -227,16 +224,16 @@ public class ProxyBridge implements IProxyListener{
lifecycleListener.onError(info, e);
}
- @Override
- public void onOnStreamRPC(OnStreamRPC notification) {
- onRPCReceived(notification);
-
- }
-
- @Override
- public void onStreamRPCResponse(StreamRPCResponse response) {
- onRPCReceived(response);
- }
+// @Override
+// public void onOnStreamRPC(OnStreamRPC notification) {
+// onRPCReceived(notification);
+//
+// }
+//
+// @Override
+// public void onStreamRPCResponse(StreamRPCResponse response) {
+// onRPCReceived(response);
+// }
@Override
public void onOnHMIStatus(OnHMIStatus notification) {
@@ -505,10 +502,10 @@ public class ProxyBridge implements IProxyListener{
}
- @Override
- public void onOnLockScreenNotification(OnLockScreenStatus notification) {
- onRPCReceived(notification);
- }
+// @Override
+// public void onOnLockScreenNotification(OnLockScreenStatus notification) {
+// onRPCReceived(notification);
+// }
@Override
public void onDialNumberResponse(DialNumberResponse response) {
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/SdlManager.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/SdlManager.java
index 2b0b25931..42dc6a165 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/SdlManager.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/SdlManager.java
@@ -36,8 +36,8 @@ import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Handler;
import android.os.Looper;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.smartdevicelink.managers.audio.AudioStreamManager;
import com.smartdevicelink.managers.file.FileManager;
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/AudioDecoder.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/AudioDecoder.java
index cba0d212b..04fe41c97 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/AudioDecoder.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/AudioDecoder.java
@@ -36,8 +36,8 @@ import android.media.MediaCodec;
import android.media.MediaFormat;
import android.net.Uri;
import android.os.Build;
-import android.support.annotation.NonNull;
-import android.support.annotation.RequiresApi;
+import androidx.annotation.NonNull;
+import androidx.annotation.RequiresApi;
import com.smartdevicelink.managers.audio.AudioStreamManager.SampleType;
import com.smartdevicelink.util.DebugTool;
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/AudioDecoderCompat.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/AudioDecoderCompat.java
index fb5298a5c..ce2d3c49e 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/AudioDecoderCompat.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/AudioDecoderCompat.java
@@ -35,7 +35,7 @@ import android.content.Context;
import android.media.MediaCodec;
import android.media.MediaFormat;
import android.net.Uri;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.managers.audio.AudioStreamManager.SampleType;
import com.smartdevicelink.util.DebugTool;
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/AudioStreamManager.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/AudioStreamManager.java
index 3e8c55772..38bc357b6 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/AudioStreamManager.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/AudioStreamManager.java
@@ -38,19 +38,19 @@ import android.net.Uri;
import android.os.Build;
import android.os.Handler;
import android.os.Looper;
-import android.support.annotation.IntDef;
-import android.support.annotation.NonNull;
+import androidx.annotation.IntDef;
+import androidx.annotation.NonNull;
import com.smartdevicelink.SdlConnection.SdlSession;
import com.smartdevicelink.managers.CompletionListener;
import com.smartdevicelink.managers.StreamingStateMachine;
+import com.smartdevicelink.managers.lifecycle.OnSystemCapabilityListener;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.protocol.enums.SessionType;
import com.smartdevicelink.proxy.RPCNotification;
import com.smartdevicelink.proxy.interfaces.IAudioStreamListener;
import com.smartdevicelink.proxy.interfaces.ISdl;
import com.smartdevicelink.proxy.interfaces.ISdlServiceListener;
-import com.smartdevicelink.proxy.interfaces.OnSystemCapabilityListener;
import com.smartdevicelink.proxy.rpc.AudioPassThruCapabilities;
import com.smartdevicelink.proxy.rpc.OnHMIStatus;
import com.smartdevicelink.proxy.rpc.enums.HMILevel;
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/BaseAudioDecoder.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/BaseAudioDecoder.java
index 3831257a6..53e3d64f0 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/BaseAudioDecoder.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/BaseAudioDecoder.java
@@ -38,7 +38,7 @@ import android.media.MediaExtractor;
import android.media.MediaFormat;
import android.net.Uri;
import android.os.Build;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.managers.audio.AudioStreamManager.SampleType;
import com.smartdevicelink.proxy.rpc.AudioPassThruCapabilities;
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/file/FileManager.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/file/FileManager.java
index a29ce1536..bdd21ba45 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/file/FileManager.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/file/FileManager.java
@@ -35,7 +35,7 @@ package com.smartdevicelink.managers.file;
import android.content.Context;
import android.content.res.Resources;
import android.net.Uri;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.managers.file.filetypes.SdlFile;
import com.smartdevicelink.proxy.interfaces.ISdl;
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlArtwork.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlArtwork.java
index 5f14cb2ed..d0e46f7e5 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlArtwork.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlArtwork.java
@@ -33,7 +33,7 @@
package com.smartdevicelink.managers.file.filetypes;
import android.net.Uri;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.rpc.Image;
import com.smartdevicelink.proxy.rpc.enums.FileType;
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlFile.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlFile.java
index 5d7e73f5c..4fe5e3898 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlFile.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlFile.java
@@ -33,7 +33,7 @@
package com.smartdevicelink.managers.file.filetypes;
import android.net.Uri;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.rpc.enums.FileType;
import com.smartdevicelink.proxy.rpc.enums.StaticIconName;
@@ -53,8 +53,8 @@ public class SdlFile{
private boolean persistentFile;
private boolean isStaticIcon;
private boolean shouldAutoGenerateName;
- // Overwrite property by default is set to true in SdlFile constructors indicating that a file can be overwritten
- private boolean overwrite = true;
+ // Overwrite property by default is set to false in SdlFile constructors indicating that a file will not be overwritten
+ private boolean overwrite = false;
/**
* Creates a new instance of SdlFile
@@ -248,7 +248,7 @@ public class SdlFile{
}
/**
- * Gets the overwrite property for an SdlFile by default its set to true
+ * Gets the overwrite property for an SdlFile by default its set to false
* @return a boolean value that indicates if a file can be overwritten.
*/
public boolean getOverwrite() {
@@ -256,7 +256,7 @@ public class SdlFile{
}
/**
- * Sets the overwrite property for an SdlFile by default its set to true
+ * Sets the overwrite property for an SdlFile by default its set to false
* @param overwrite a boolean value that indicates if a file can be overwritten
*/
public void setOverwrite(boolean overwrite) {
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/lifecycle/EncryptionLifecycleManager.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/lifecycle/EncryptionLifecycleManager.java
index 99723b456..ae7a0886e 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/lifecycle/EncryptionLifecycleManager.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/lifecycle/EncryptionLifecycleManager.java
@@ -32,7 +32,7 @@
package com.smartdevicelink.managers.lifecycle;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.managers.ServiceEncryptionListener;
import com.smartdevicelink.protocol.enums.SessionType;
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java
index 49e25b242..73757292b 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java
@@ -34,7 +34,7 @@ package com.smartdevicelink.managers.lifecycle;
import android.app.Service;
import android.content.Context;
-import android.support.annotation.RestrictTo;
+import androidx.annotation.RestrictTo;
import com.smartdevicelink.SdlConnection.SdlSession;
import com.smartdevicelink.exception.SdlException;
@@ -93,9 +93,9 @@ public class LifecycleManager extends BaseLifecycleManager {
}
if (_transportConfig != null && _transportConfig.getTransportType().equals(TransportType.MULTIPLEX)) {
- this.session = new SdlSession(sdlConnectionListener, (MultiplexTransportConfig) _transportConfig);
+ this.session = new SdlSession(sdlSessionListener, (MultiplexTransportConfig) _transportConfig);
} else if (_transportConfig != null && _transportConfig.getTransportType().equals(TransportType.TCP)) {
- this.session = new SdlSession(sdlConnectionListener, (TCPTransportConfig) _transportConfig);
+ this.session = new SdlSession(sdlSessionListener, (TCPTransportConfig) _transportConfig);
} else {
DebugTool.logError(TAG,"Unable to create session for transport type");
}
@@ -141,15 +141,6 @@ public class LifecycleManager extends BaseLifecycleManager {
}
@Override
- void onServiceStarted(SessionType sessionType) {
- super.onServiceStarted(sessionType);
- if (sessionType.eq(SessionType.NAV)) {
- videoServiceStartResponseReceived = true;
- videoServiceStartResponse = true;
- }
- }
-
- @Override
void onTransportDisconnected(String info, boolean availablePrimary, BaseTransportConfig transportConfig) {
super.onTransportDisconnected(info, availablePrimary, transportConfig);
if (availablePrimary) {
@@ -161,15 +152,6 @@ public class LifecycleManager extends BaseLifecycleManager {
}
}
- @Override
- void onStartServiceNACKed(SessionType sessionType) {
- super.onStartServiceNACKed(sessionType);
- if (sessionType.eq(SessionType.NAV)) {
- videoServiceStartResponseReceived = true;
- videoServiceStartResponse = false;
- }
- }
-
/**
* This method will try to start the video service with the requested parameters.
* When it returns it will attempt to store the accepted parameters if available.
@@ -226,7 +208,7 @@ public class LifecycleManager extends BaseLifecycleManager {
videoServiceStartResponse = false;
addVideoServiceListener();
- session.startService(SessionType.NAV, session.getSessionId(), isEncrypted);
+ session.startService(SessionType.NAV, isEncrypted);
}
}
@@ -289,7 +271,7 @@ public class LifecycleManager extends BaseLifecycleManager {
DebugTool.logWarning(TAG, "Connection is not available.");
return;
}
- session.startService(SessionType.PCM, session.getSessionId(), isEncrypted);
+ session.startService(SessionType.PCM, isEncrypted);
}
/**
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/lockscreen/LockScreenConfig.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/lockscreen/LockScreenConfig.java
index 6769db0fc..8fe3286ba 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/lockscreen/LockScreenConfig.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/lockscreen/LockScreenConfig.java
@@ -32,7 +32,7 @@
package com.smartdevicelink.managers.lockscreen;
-import android.support.annotation.IntDef;
+import androidx.annotation.IntDef;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/lockscreen/LockScreenManager.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/lockscreen/LockScreenManager.java
index 399165586..c5d567e56 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/lockscreen/LockScreenManager.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/lockscreen/LockScreenManager.java
@@ -73,7 +73,7 @@ public class LockScreenManager extends BaseSubManager {
private String deviceIconUrl;
boolean driverDistStatus, mIsLockscreenDismissible, enableDismissGesture, lockScreenEnabled, deviceLogoEnabled;
private volatile boolean isApplicationForegrounded;
- private android.arch.lifecycle.LifecycleObserver lifecycleObserver;
+ private androidx.lifecycle.LifecycleObserver lifecycleObserver;
int lockScreenIcon, lockScreenColor, customView, displayMode;
Bitmap deviceLogo;
private boolean mLockScreenHasBeenDismissed, lockscreenDismissReceiverRegistered, receivedFirstDDNotification;
@@ -138,8 +138,8 @@ public class LockScreenManager extends BaseSubManager {
deviceIconUrl = null;
try {
- if (android.arch.lifecycle.ProcessLifecycleOwner.get() != null && lifecycleObserver != null) {
- android.arch.lifecycle.ProcessLifecycleOwner.get().getLifecycle().removeObserver(lifecycleObserver);
+ if (androidx.lifecycle.ProcessLifecycleOwner.get() != null && lifecycleObserver != null) {
+ androidx.lifecycle.ProcessLifecycleOwner.get().getLifecycle().removeObserver(lifecycleObserver);
}
} catch (Exception e) {
e.printStackTrace();
@@ -239,21 +239,21 @@ public class LockScreenManager extends BaseSubManager {
// Set up listener for Application Foreground / Background events
try {
- lifecycleObserver = new android.arch.lifecycle.LifecycleObserver() {
- @android.arch.lifecycle.OnLifecycleEvent(android.arch.lifecycle.Lifecycle.Event.ON_START)
+ lifecycleObserver = new androidx.lifecycle.LifecycleObserver() {
+ @androidx.lifecycle.OnLifecycleEvent(androidx.lifecycle.Lifecycle.Event.ON_START)
public void onMoveToForeground() {
isApplicationForegrounded = true;
launchLockScreenActivity();
}
- @android.arch.lifecycle.OnLifecycleEvent(android.arch.lifecycle.Lifecycle.Event.ON_STOP)
+ @androidx.lifecycle.OnLifecycleEvent(androidx.lifecycle.Lifecycle.Event.ON_STOP)
public void onMoveToBackground() {
isApplicationForegrounded = false;
}
};
- if (android.arch.lifecycle.ProcessLifecycleOwner.get() != null) {
- android.arch.lifecycle.ProcessLifecycleOwner.get().getLifecycle().addObserver(lifecycleObserver);
+ if (androidx.lifecycle.ProcessLifecycleOwner.get() != null) {
+ androidx.lifecycle.ProcessLifecycleOwner.get().getLifecycle().addObserver(lifecycleObserver);
}
} catch (Exception e) {
e.printStackTrace();
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/permission/PermissionManager.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/permission/PermissionManager.java
index 7efa183b7..e3a85bb1b 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/permission/PermissionManager.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/permission/PermissionManager.java
@@ -32,7 +32,7 @@
package com.smartdevicelink.managers.permission;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.interfaces.ISdl;
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/screen/ScreenManager.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/screen/ScreenManager.java
index 7975bb5f2..5065294a9 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/screen/ScreenManager.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/screen/ScreenManager.java
@@ -32,7 +32,7 @@
package com.smartdevicelink.managers.screen;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.managers.file.FileManager;
import com.smartdevicelink.proxy.interfaces.ISdl;
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/screen/SoftButtonManager.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/screen/SoftButtonManager.java
index 146343677..b7a2e2958 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/screen/SoftButtonManager.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/screen/SoftButtonManager.java
@@ -32,7 +32,7 @@
package com.smartdevicelink.managers.screen;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.managers.file.FileManager;
import com.smartdevicelink.proxy.interfaces.ISdl;
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/screen/SubscribeButtonManager.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/screen/SubscribeButtonManager.java
index f38cf79d0..b5dafa5fd 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/screen/SubscribeButtonManager.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/screen/SubscribeButtonManager.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.managers.screen;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.interfaces.ISdl;
/**
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/screen/TextAndGraphicManager.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/screen/TextAndGraphicManager.java
index d3d594b76..82e9a5e01 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/screen/TextAndGraphicManager.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/screen/TextAndGraphicManager.java
@@ -32,7 +32,7 @@
package com.smartdevicelink.managers.screen;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.R;
import com.smartdevicelink.managers.file.FileManager;
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetManager.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetManager.java
index f470b8a68..32ff8c0eb 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetManager.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetManager.java
@@ -32,7 +32,7 @@
package com.smartdevicelink.managers.screen.choiceset;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.managers.file.FileManager;
import com.smartdevicelink.proxy.interfaces.ISdl;
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/video/VideoStreamManager.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/video/VideoStreamManager.java
index fb5ccdb07..81db89049 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/video/VideoStreamManager.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/video/VideoStreamManager.java
@@ -45,13 +45,13 @@ import com.smartdevicelink.encoder.VirtualDisplayEncoder;
import com.smartdevicelink.managers.BaseSubManager;
import com.smartdevicelink.managers.CompletionListener;
import com.smartdevicelink.managers.StreamingStateMachine;
+import com.smartdevicelink.managers.lifecycle.OnSystemCapabilityListener;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.protocol.enums.SessionType;
import com.smartdevicelink.proxy.RPCNotification;
import com.smartdevicelink.proxy.interfaces.ISdl;
import com.smartdevicelink.proxy.interfaces.ISdlServiceListener;
import com.smartdevicelink.proxy.interfaces.IVideoStreamListener;
-import com.smartdevicelink.proxy.interfaces.OnSystemCapabilityListener;
import com.smartdevicelink.proxy.rpc.DisplayCapabilities;
import com.smartdevicelink.proxy.rpc.ImageResolution;
import com.smartdevicelink.proxy.rpc.OnHMIStatus;
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/protocol/SdlProtocol.java b/android/sdl_android/src/main/java/com/smartdevicelink/protocol/SdlProtocol.java
index c443abfc6..9825900e9 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/protocol/SdlProtocol.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/protocol/SdlProtocol.java
@@ -32,7 +32,7 @@
package com.smartdevicelink.protocol;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.SessionType;
import com.smartdevicelink.transport.MultiplexTransportConfig;
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/proxy/LockScreenManager.java b/android/sdl_android/src/main/java/com/smartdevicelink/proxy/LockScreenManager.java
index d94372740..6cb19000e 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/proxy/LockScreenManager.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/proxy/LockScreenManager.java
@@ -33,7 +33,6 @@ package com.smartdevicelink.proxy;
import android.graphics.Bitmap;
-import com.smartdevicelink.proxy.rpc.OnLockScreenStatus;
import com.smartdevicelink.proxy.rpc.enums.HMILevel;
import com.smartdevicelink.proxy.rpc.enums.LockScreenStatus;
import com.smartdevicelink.util.AndroidTools;
@@ -84,17 +83,17 @@ public class LockScreenManager {
}
}
- public synchronized OnLockScreenStatus getLockObj(/*int SessionID*/)
- {
- //int iSessionID = SessionID;
- OnLockScreenStatus myLock = new OnLockScreenStatus();
- myLock.setDriverDistractionStatus(bDriverDistStatus);
- myLock.setHMILevel(hmiLevel);
- myLock.setUserSelected(bUserSelected);
- myLock.setShowLockScreen(getLockScreenStatus());
-
- return myLock;
- }
+// public synchronized OnLockScreenStatus getLockObj(/*int SessionID*/)
+// {
+// //int iSessionID = SessionID;
+// OnLockScreenStatus myLock = new OnLockScreenStatus();
+// myLock.setDriverDistractionStatus(bDriverDistStatus);
+// myLock.setHMILevel(hmiLevel);
+// myLock.setUserSelected(bUserSelected);
+// myLock.setShowLockScreen(getLockScreenStatus());
+//
+// return myLock;
+// }
private synchronized LockScreenStatus getLockScreenStatus()
{
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/proxy/RPCRequestFactory.java b/android/sdl_android/src/main/java/com/smartdevicelink/proxy/RPCRequestFactory.java
index d046fe5ad..1d1216b40 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/proxy/RPCRequestFactory.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/proxy/RPCRequestFactory.java
@@ -868,7 +868,7 @@ public class RPCRequestFactory {
msg.setSpeed(speed);
msg.setRpm(rpm);
msg.setFuelLevel(fuelLevel);
- msg.setFuelLevel_State(fuelLevel_State);
+ msg.setFuelLevelState(fuelLevel_State);
msg.setInstantFuelConsumption(instantFuelConsumption);
msg.setExternalTemperature(externalTemperature);
msg.setPrndl(prndl);
@@ -894,7 +894,7 @@ public class RPCRequestFactory {
msg.setSpeed(speed);
msg.setRpm(rpm);
msg.setFuelLevel(fuelLevel);
- msg.setFuelLevel_State(fuelLevel_State);
+ msg.setFuelLevelState(fuelLevel_State);
msg.setInstantFuelConsumption(instantFuelConsumption);
msg.setExternalTemperature(externalTemperature);
msg.setPrndl(prndl);
@@ -920,7 +920,7 @@ public class RPCRequestFactory {
msg.setSpeed(speed);
msg.setRpm(rpm);
msg.setFuelLevel(fuelLevel);
- msg.setFuelLevel_State(fuelLevel_State);
+ msg.setFuelLevelState(fuelLevel_State);
msg.setInstantFuelConsumption(instantFuelConsumption);
msg.setExternalTemperature(externalTemperature);
msg.setVin(vin);
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java b/android/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java
index 7c9915456..90dba74bd 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java
@@ -40,8 +40,6 @@ import android.os.Build;
import android.os.Handler;
import android.os.Looper;
import android.os.SystemClock;
-import android.os.TransactionTooLargeException;
-import android.support.annotation.NonNull;
import android.telephony.TelephonyManager;
import android.util.DisplayMetrics;
import android.util.SparseArray;
@@ -50,17 +48,19 @@ import android.view.InputDevice;
import android.view.MotionEvent;
import android.view.Surface;
+import androidx.annotation.NonNull;
+
import com.livio.taskmaster.Taskmaster;
import com.smartdevicelink.BuildConfig;
import com.smartdevicelink.Dispatcher.IDispatchingStrategy;
import com.smartdevicelink.Dispatcher.ProxyMessageDispatcher;
-import com.smartdevicelink.SdlConnection.ISdlConnectionListener;
+import com.smartdevicelink.SdlConnection.ISdlSessionListener;
import com.smartdevicelink.SdlConnection.SdlSession;
import com.smartdevicelink.encoder.VirtualDisplayEncoder;
import com.smartdevicelink.exception.SdlException;
import com.smartdevicelink.exception.SdlExceptionCause;
-//import com.smartdevicelink.managers.video.HapticInterfaceManager;
import com.smartdevicelink.managers.ServiceEncryptionListener;
+import com.smartdevicelink.managers.lifecycle.OnSystemCapabilityListener;
import com.smartdevicelink.managers.lifecycle.RpcConverter;
import com.smartdevicelink.managers.lifecycle.SystemCapabilityManager;
import com.smartdevicelink.marshal.JsonRPCMarshaller;
@@ -68,7 +68,6 @@ import com.smartdevicelink.protocol.ProtocolMessage;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.protocol.enums.MessageType;
import com.smartdevicelink.protocol.enums.SessionType;
-import com.smartdevicelink.protocol.heartbeat.HeartbeatMonitor;
import com.smartdevicelink.proxy.LockScreenManager.OnLockScreenIconDownloadedListener;
import com.smartdevicelink.proxy.callbacks.InternalProxyMessage;
import com.smartdevicelink.proxy.callbacks.OnError;
@@ -81,7 +80,7 @@ import com.smartdevicelink.proxy.interfaces.IPutFileResponseListener;
import com.smartdevicelink.proxy.interfaces.ISdl;
import com.smartdevicelink.proxy.interfaces.ISdlServiceListener;
import com.smartdevicelink.proxy.interfaces.IVideoStreamListener;
-import com.smartdevicelink.proxy.interfaces.OnSystemCapabilityListener;
+//import com.smartdevicelink.proxy.interfaces.OnSystemCapabilityListener;
import com.smartdevicelink.proxy.rpc.*;
import com.smartdevicelink.proxy.rpc.enums.AppHMIType;
import com.smartdevicelink.proxy.rpc.enums.AudioStreamingState;
@@ -99,7 +98,6 @@ import com.smartdevicelink.proxy.rpc.enums.PrerecordedSpeech;
import com.smartdevicelink.proxy.rpc.enums.RequestType;
import com.smartdevicelink.proxy.rpc.enums.Result;
import com.smartdevicelink.proxy.rpc.enums.SamplingRate;
-import com.smartdevicelink.proxy.rpc.enums.SdlConnectionState;
import com.smartdevicelink.proxy.rpc.enums.SdlDisconnectedReason;
import com.smartdevicelink.proxy.rpc.enums.SdlInterfaceAvailability;
import com.smartdevicelink.proxy.rpc.enums.SystemCapabilityType;
@@ -107,7 +105,6 @@ import com.smartdevicelink.proxy.rpc.enums.TextAlignment;
import com.smartdevicelink.proxy.rpc.enums.TouchType;
import com.smartdevicelink.proxy.rpc.enums.UpdateMode;
import com.smartdevicelink.proxy.rpc.listeners.OnMultipleRequestListener;
-import com.smartdevicelink.proxy.rpc.listeners.OnPutFileUpdateListener;
import com.smartdevicelink.proxy.rpc.listeners.OnRPCListener;
import com.smartdevicelink.proxy.rpc.listeners.OnRPCNotificationListener;
import com.smartdevicelink.proxy.rpc.listeners.OnRPCRequestListener;
@@ -148,7 +145,6 @@ import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;
-import java.security.InvalidParameterException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
@@ -162,6 +158,8 @@ import java.util.concurrent.Executors;
import java.util.concurrent.FutureTask;
import java.util.concurrent.ScheduledExecutorService;
+//import com.smartdevicelink.managers.video.HapticInterfaceManager;
+
/**
* @deprecated use {@link com.smartdevicelink.managers.SdlManager} instead.
@@ -272,7 +270,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
protected Boolean _haveReceivedFirstFocusLevel = false;
protected Boolean _haveReceivedFirstFocusLevelFull = false;
protected Boolean _proxyDisposed = false;
- protected SdlConnectionState _sdlConnectionState = null;
+ //protected SdlConnectionState _sdlConnectionState = null;
protected SdlInterfaceAvailability _sdlIntefaceAvailablity = null;
protected HMILevel _hmiLevel = null;
protected OnHMIStatus lastHmiStatus;
@@ -357,7 +355,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
public void startVideoService(VideoStreamingParameters parameters, boolean encrypted) {
if(isConnected()){
sdlSession.setDesiredVideoParams(parameters);
- sdlSession.startService(SessionType.NAV,sdlSession.getSessionId(),encrypted);
+ sdlSession.startService(SessionType.NAV,encrypted);
addNavListener();
}
}
@@ -365,13 +363,13 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
@Override
public void stopVideoService() {
if(isConnected()){
- sdlSession.endService(SessionType.NAV,sdlSession.getSessionId());
+ sdlSession.endService(SessionType.NAV);
}
}
@Override public void stopAudioService() {
if(isConnected()){
- sdlSession.endService(SessionType.PCM,sdlSession.getSessionId());
+ sdlSession.endService(SessionType.PCM);
}
}
@@ -520,7 +518,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
@Override
public void startAudioService(boolean encrypted) {
if(isConnected()){
- sdlSession.startService(SessionType.PCM,sdlSession.getSessionId(),encrypted);
+ sdlSession.startService(SessionType.PCM,encrypted);
}
}
@@ -582,21 +580,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
}
// Private Class to Interface with SdlConnection
- private class SdlInterfaceBroker implements ISdlConnectionListener {
-
- @Override
- public void onTransportDisconnected(String info) {
- // proxyOnTransportDisconnect is called to alert the proxy that a requested
- // disconnect has completed
- notifyPutFileStreamError(null, info);
-
- //if (!_advancedLifecycleManagementEnabled) {
- // If original model, notify app the proxy is closed so it will delete and reinstanciate
- DebugTool.logInfo(TAG, "notifying proxy of closed");
- notifyProxyClosed(info, new SdlException("Transport disconnected.", SdlExceptionCause.SDL_UNAVAILABLE), SdlDisconnectedReason.TRANSPORT_DISCONNECT);
- //}// else If ALM, nothing is required to be done here
-
- }
+ private class SdlInterfaceBroker implements ISdlSessionListener {
@Override
public void onTransportDisconnected(String info, boolean altTransportAvailable, BaseTransportConfig transportConfig) {
@@ -612,198 +596,27 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
}
}
- @Override
- public void onTransportError(String info, Exception e) {
- DebugTool.logError(TAG, "Transport failure: " + info, e);
-
- notifyPutFileStreamError(e, info);
-
- if (_advancedLifecycleManagementEnabled) {
- // Cycle the proxy
- if(false){ //FIXME
- cycleProxy(SdlDisconnectedReason.LEGACY_BLUETOOTH_MODE_ENABLED);
-
- }else{
- cycleProxy(SdlDisconnectedReason.TRANSPORT_ERROR);
- }
- } else {
- notifyProxyClosed(info, e, SdlDisconnectedReason.TRANSPORT_ERROR);
- }
- }
@Override
- public void onProtocolMessageReceived(ProtocolMessage msg) {
+ public void onRPCMessageReceived(RPCMessage rpcMessage) {
- // AudioPathThrough is coming WITH BulkData but WITHOUT JSON Data
- // Policy Snapshot is coming WITH BulkData and WITH JSON Data
- if ((msg.getData() != null && msg.getData().length > 0) ||
- (msg.getBulkData() != null && msg.getBulkData().length > 0)) {
- queueIncomingMessage(msg);
- }
}
@Override
- public void onProtocolSessionStarted(SessionType sessionType,
- byte sessionID, byte version, String correlationID, int hashID, boolean isEncrypted) {
-
- Intent sendIntent = createBroadcastIntent();
- updateBroadcastIntent(sendIntent, "FUNCTION_NAME", "onProtocolSessionStarted");
- updateBroadcastIntent(sendIntent, "COMMENT1", "SessionID: " + sessionID);
- updateBroadcastIntent(sendIntent, "COMMENT2", " ServiceType: " + sessionType.getName());
- updateBroadcastIntent(sendIntent, "COMMENT3", " Encrypted: " + isEncrypted);
- sendBroadcastIntent(sendIntent);
-
- if(sdlSession!= null){
- setProtocolVersion(sdlSession.getProtocolVersion());
- }else{
- setProtocolVersion(new com.smartdevicelink.util.Version(version,0,0));
- }
-
-
- if (minimumProtocolVersion != null && minimumProtocolVersion.isNewerThan(getProtocolVersion()) == 1){
- DebugTool.logWarning(TAG, String.format("Disconnecting from head unit, the configured minimum protocol version %s is greater than the supported protocol version %s", minimumProtocolVersion, getProtocolVersion()));
- try {
- disposeInternal(SdlDisconnectedReason.MINIMUM_PROTOCOL_VERSION_HIGHER_THAN_SUPPORTED);
- } catch (SdlException e) {
- e.printStackTrace();
- }
- return;
- }
-
-
- if (sessionType.eq(SessionType.RPC)) {
+ public void onSessionStarted(int sessionID, Version version) {
- if (!isEncrypted)
- {
- if ( (_transportConfig.getHeartBeatTimeout() != Integer.MAX_VALUE) && (version > 2))
- {
- HeartbeatMonitor outgoingHeartbeatMonitor = new HeartbeatMonitor();
- outgoingHeartbeatMonitor.setInterval(_transportConfig.getHeartBeatTimeout());
- //sdlSession.setOutgoingHeartbeatMonitor(outgoingHeartbeatMonitor);
-
- HeartbeatMonitor incomingHeartbeatMonitor = new HeartbeatMonitor();
- incomingHeartbeatMonitor.setInterval(_transportConfig.getHeartBeatTimeout());
- //sdlSession.setIncomingHeartbeatMonitor(incomingHeartbeatMonitor);
- }
-
- startRPCProtocolSession();
- }
- else
- {
- RPCProtectedServiceStarted();
- }
- } else if (sessionType.eq(SessionType.NAV)) {
- NavServiceStarted();
- } else if (sessionType.eq(SessionType.PCM)) {
- AudioServiceStarted();
- } else if (sessionType.eq(SessionType.RPC)){
- cycleProxy(SdlDisconnectedReason.RPC_SESSION_ENDED);
- }
- else if (protocolVersion!= null && protocolVersion.getMajor() > 1) {
- //If version is 2 or above then don't need to specify a Session Type
- startRPCProtocolSession();
- } //else{} Handle other protocol session types here
-
- }
-
- @Override
- public void onProtocolSessionStartedNACKed(SessionType sessionType,
- byte sessionID, byte version, String correlationID, List<String> rejectedParams) {
- OnServiceNACKed message = new OnServiceNACKed(sessionType);
- queueInternalMessage(message);
-
- if (sessionType.eq(SessionType.NAV)) {
-
- Intent sendIntent = createBroadcastIntent();
- updateBroadcastIntent(sendIntent, "FUNCTION_NAME", "onProtocolSessionStartedNACKed");
- updateBroadcastIntent(sendIntent, "COMMENT1", "SessionID: " + sessionID);
- updateBroadcastIntent(sendIntent, "COMMENT2", " NACK ServiceType: " + sessionType.getName());
- sendBroadcastIntent(sendIntent);
-
- NavServiceStartedNACK(rejectedParams);
- }
- else if (sessionType.eq(SessionType.PCM)) {
- Intent sendIntent = createBroadcastIntent();
- updateBroadcastIntent(sendIntent, "FUNCTION_NAME", "onProtocolSessionStartedNACKed");
- updateBroadcastIntent(sendIntent, "COMMENT1", "SessionID: " + sessionID);
- updateBroadcastIntent(sendIntent, "COMMENT2", " NACK ServiceType: " + sessionType.getName());
- sendBroadcastIntent(sendIntent);
-
- AudioServiceStartedNACK(rejectedParams);
- }
}
@Override
- public void onProtocolSessionEnded(SessionType sessionType,
- byte sessionID, String correlationID) {
- OnServiceEnded message = new OnServiceEnded(sessionType);
- queueInternalMessage(message);
+ public void onSessionEnded(int sessionID) {
- if (sessionType.eq(SessionType.NAV)) {
-
- Intent sendIntent = createBroadcastIntent();
- updateBroadcastIntent(sendIntent, "FUNCTION_NAME", "onProtocolSessionEnded");
- updateBroadcastIntent(sendIntent, "COMMENT1", "SessionID: " + sessionID);
- updateBroadcastIntent(sendIntent, "COMMENT2", " End ServiceType: " + sessionType.getName());
- sendBroadcastIntent(sendIntent);
-
- NavServiceEnded();
- }
- else if (sessionType.eq(SessionType.PCM)) {
- Intent sendIntent = createBroadcastIntent();
- updateBroadcastIntent(sendIntent, "FUNCTION_NAME", "onProtocolSessionEnded");
- updateBroadcastIntent(sendIntent, "COMMENT1", "SessionID: " + sessionID);
- updateBroadcastIntent(sendIntent, "COMMENT2", " End ServiceType: " + sessionType.getName());
- sendBroadcastIntent(sendIntent);
-
- AudioServiceEnded();
- }
}
@Override
- public void onProtocolError(String info, Exception e) {
- notifyPutFileStreamError(e, info);
- passErrorToProxyListener(info, e);
- }
+ public void onAuthTokenReceived(String authToken, int sessionID) {
- @Override
- public void onHeartbeatTimedOut(byte sessionID) {
- final String msg = "Heartbeat timeout";
- DebugTool.logInfo(TAG, msg);
-
- Intent sendIntent = createBroadcastIntent();
- updateBroadcastIntent(sendIntent, "FUNCTION_NAME", "onHeartbeatTimedOut");
- updateBroadcastIntent(sendIntent, "COMMENT1", "Heartbeat timeout for SessionID: " + sessionID);
- sendBroadcastIntent(sendIntent);
-
- notifyProxyClosed(msg, new SdlException(msg, SdlExceptionCause.HEARTBEAT_PAST_DUE), SdlDisconnectedReason.HB_TIMEOUT);
-
}
- @Override
- public void onProtocolSessionEndedNACKed(SessionType sessionType,
- byte sessionID, String correlationID) {
- if (sessionType.eq(SessionType.NAV)) {
-
- Intent sendIntent = createBroadcastIntent();
- updateBroadcastIntent(sendIntent, "FUNCTION_NAME", "onProtocolSessionEndedNACKed");
- updateBroadcastIntent(sendIntent, "COMMENT1", "SessionID: " + sessionID);
- updateBroadcastIntent(sendIntent, "COMMENT2", " End NACK ServiceType: " + sessionType.getName());
- sendBroadcastIntent(sendIntent);
-
- NavServiceEndedNACK();
- }
- else if (sessionType.eq(SessionType.PCM)) {
- Intent sendIntent = createBroadcastIntent();
- updateBroadcastIntent(sendIntent, "FUNCTION_NAME", "onProtocolSessionEndedNACKed");
- updateBroadcastIntent(sendIntent, "COMMENT1", "SessionID: " + sessionID);
- updateBroadcastIntent(sendIntent, "COMMENT2", " End NACK ServiceType: " + sessionType.getName());
- sendBroadcastIntent(sendIntent);
-
- AudioServiceEndedNACK();
- }
-
- }
public void onProtocolServiceDataACK(SessionType sessionType, final int dataSize,
byte sessionID) {
@@ -820,10 +633,6 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
}
}
- @Override
- public void onAuthTokenReceived(String authToken, byte sessionID) {
- SdlProxyBase.this.authToken = authToken;
- }
}
protected SdlProxyBase(){}
@@ -1792,7 +1601,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
// ALM Specific Cleanup
if (_advancedLifecycleManagementEnabled) {
- _sdlConnectionState = SdlConnectionState.SDL_DISCONNECTED;
+ //_sdlConnectionState = SdlConnectionState.SDL_DISCONNECTED;
firstTimeFull = true;
@@ -2335,7 +2144,9 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
RPCRequest request = (RPCRequest) message;
OnRPCResponseListener listener = ((RPCRequest) message).getOnRPCResponseListener();
if (listener != null) {
- listener.onError(request.getCorrelationID(), Result.ABORTED, errorInfo);
+ GenericResponse response = new GenericResponse(false, Result.REJECTED);
+ response.setInfo(errorInfo);
+ listener.onResponse(request.getCorrelationID(), response);
}
}
DebugTool.logWarning(TAG, errorInfo);
@@ -2343,7 +2154,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
}
if (sdlSession != null) {
- pm.setSessionID(sdlSession.getSessionId());
+ pm.setSessionID((byte)sdlSession.getSessionId());
}
if (message.getBulkData() != null) {
@@ -2398,23 +2209,6 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
}
/**
- * Only call this method for a PutFile response. It will cause a class cast exception if not.
- * @param correlationId correlation id of the packet being updated
- * @param bytesWritten how many bytes were written
- * @param totalSize the total size in bytes
- */
- @SuppressWarnings("unused")
- public void onPacketProgress(int correlationId, long bytesWritten, long totalSize){
- synchronized(ON_UPDATE_LISTENER_LOCK){
- if(rpcResponseListeners !=null
- && rpcResponseListeners.indexOfKey(correlationId)>=0){
- ((OnPutFileUpdateListener)rpcResponseListeners.get(correlationId)).onUpdate(correlationId, bytesWritten, totalSize);
- }
- }
-
- }
-
- /**
* Will provide callback to the listener either onFinish or onError depending on the RPCResponses result code,
* <p>Will automatically remove the listener for the list of listeners on completion.
* @param msg The RPCResponse message that was received
@@ -2427,11 +2221,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
if(rpcResponseListeners !=null
&& rpcResponseListeners.indexOfKey(correlationId)>=0){
OnRPCResponseListener listener = rpcResponseListeners.get(correlationId);
- if(msg.getSuccess()){
- listener.onResponse(correlationId, msg);
- }else{
- listener.onError(correlationId, msg.getResultCode(), msg.getInfo());
- }
+ listener.onResponse(correlationId, msg);
rpcResponseListeners.remove(correlationId);
return true;
}
@@ -2449,9 +2239,6 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
synchronized(ON_UPDATE_LISTENER_LOCK){
if(rpcResponseListeners!=null
&& listener !=null){
- if(listener.getListenerType() == OnRPCResponseListener.UPDATE_LISTENER_TYPE_PUT_FILE){
- ((OnPutFileUpdateListener)listener).setTotalSize(totalSize);
- }
listener.onStart(correlationId);
rpcResponseListeners.put(correlationId, listener);
}
@@ -2766,7 +2553,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
sendBroadcastIntent(sendIntent);
// Send onSdlConnected message in ALM
- _sdlConnectionState = SdlConnectionState.SDL_CONNECTED;
+ //_sdlConnectionState = SdlConnectionState.SDL_CONNECTED;
// If registerAppInterface failed, exit with OnProxyUnusable
if (!msg.getSuccess()) {
@@ -2927,7 +2714,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
if (_advancedLifecycleManagementEnabled) {
// Send onSdlConnected message in ALM
- _sdlConnectionState = SdlConnectionState.SDL_CONNECTED;
+ //_sdlConnectionState = SdlConnectionState.SDL_CONNECTED;
// If registerAppInterface failed, exit with OnProxyUnusable
if (!msg.getSuccess()) {
@@ -4708,27 +4495,9 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
} catch (SdlException e) {
e.printStackTrace();
if (listener != null) {
- listener.onError(correlationId, Result.GENERIC_ERROR, e.toString());
- }
- }
- }
-
- @Override
- public void onError(int correlationId, Result resultCode, String info) {
- if (devOnRPCResponseListener != null){
- devOnRPCResponseListener.onError(correlationId, resultCode, info);
- }
- if (listener != null) {
- listener.onError(correlationId, resultCode, info);
- listener.onUpdate(rpcs.size());
- }
- try {
- // recurse after onError
- sendSequentialRequests(rpcs, listener);
- } catch (SdlException e) {
- e.printStackTrace();
- if (listener != null) {
- listener.onError(correlationId, Result.GENERIC_ERROR, e.toString());
+ GenericResponse genericResponse = new GenericResponse(false, Result.GENERIC_ERROR);
+ genericResponse.setInfo(e.toString());
+ listener.onResponse(correlationId, genericResponse);
}
}
}
@@ -4746,7 +4515,9 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
} catch (SdlException e) {
e.printStackTrace();
if (listener != null) {
- listener.onError(0, Result.GENERIC_ERROR, e.toString());
+ GenericResponse response = new GenericResponse(false, Result.REJECTED);
+ response.setInfo(e.toString());
+ listener.onResponse(0, response);
}
}
}
@@ -4810,17 +4581,6 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
listener.getSingleRpcResponseListener().onResponse(correlationId, response);
}
}
-
- @Override
- public void onError(int correlationId, Result resultCode, String info) {
- super.onError(correlationId, resultCode, info);
- if (devOnRPCResponseListener != null){
- devOnRPCResponseListener.onError(correlationId, resultCode, info);
- }
- if (listener.getSingleRpcResponseListener() != null) {
- listener.getSingleRpcResponseListener().onError(correlationId, resultCode, info);
- }
- }
});
}
sendRPCMessagePrivate(request);
@@ -5050,13 +4810,13 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
private RPCStreamController startPutFileStream(String sPath, PutFile msg) {
if (sdlSession == null) return null;
- return startRPCStream(sPath, msg, SessionType.RPC, sdlSession.getSessionId(), protocolVersion);
+ return startRPCStream(sPath, msg, SessionType.RPC, (byte)sdlSession.getSessionId(), protocolVersion);
}
private RPCStreamController startPutFileStream(InputStream is, PutFile msg) {
if (sdlSession == null) return null;
if (is == null) return null;
- return startRPCStream(is, msg, SessionType.RPC, sdlSession.getSessionId(), protocolVersion);
+ return startRPCStream(is, msg, SessionType.RPC, (byte)sdlSession.getSessionId(), protocolVersion);
}
@SuppressWarnings("UnusedReturnValue")
@@ -5104,12 +4864,12 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
@SuppressWarnings("unused")
public void startService(SessionType serviceType, boolean isEncrypted){
- sdlSession.startService(serviceType, sdlSession.getSessionId(), isEncrypted);
+ sdlSession.startService(serviceType, isEncrypted);
}
@SuppressWarnings("unused")
public void endService(SessionType serviceType){
- sdlSession.endService(serviceType, sdlSession.getSessionId());
+ sdlSession.endService(serviceType);
}
@@ -5140,7 +4900,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
emptyParam.setFormat(null);
sdlSession.setDesiredVideoParams(emptyParam);
- sdlSession.startService(SessionType.NAV, sdlSession.getSessionId(), isEncrypted);
+ sdlSession.startService(SessionType.NAV, isEncrypted);
addNavListener();
FutureTask<Void> fTask = createFutureTask(new CallableMethod(RESPONSE_WAIT_TIME));
ScheduledExecutorService scheduler = createScheduler();
@@ -5188,7 +4948,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
emptyParam.setFormat(null);
sdlSession.setDesiredVideoParams(emptyParam);
- sdlSession.startService(SessionType.NAV, sdlSession.getSessionId(), isEncrypted);
+ sdlSession.startService(SessionType.NAV, isEncrypted);
addNavListener();
FutureTask<Void> fTask = createFutureTask(new CallableMethod(RESPONSE_WAIT_TIME));
ScheduledExecutorService scheduler = createScheduler();
@@ -5270,7 +5030,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
pcmServiceStartResponseReceived = false;
pcmServiceStartResponse = false;
- sdlSession.startService(SessionType.PCM, sdlSession.getSessionId(), isEncrypted);
+ sdlSession.startService(SessionType.PCM, isEncrypted);
FutureTask<Void> fTask = createFutureTask(new CallableMethod(RESPONSE_WAIT_TIME));
ScheduledExecutorService scheduler = createScheduler();
@@ -5303,7 +5063,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
pcmServiceStartResponseReceived = false;
pcmServiceStartResponse = false;
- sdlSession.startService(SessionType.PCM, sdlSession.getSessionId(), isEncrypted);
+ sdlSession.startService(SessionType.PCM, isEncrypted);
FutureTask<Void> fTask = createFutureTask(new CallableMethod(RESPONSE_WAIT_TIME));
ScheduledExecutorService scheduler = createScheduler();
@@ -5584,7 +5344,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
navServiceStartResponse = false;
navServiceStartRejectedParams = null;
- sdlSession.startService(SessionType.NAV, sdlSession.getSessionId(), isEncrypted);
+ sdlSession.startService(SessionType.NAV, isEncrypted);
addNavListener();
FutureTask<Void> fTask = createFutureTask(new CallableMethod(RESPONSE_WAIT_TIME));
ScheduledExecutorService scheduler = createScheduler();
@@ -5716,7 +5476,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
pcmServiceStartResponseReceived = false;
pcmServiceStartResponse = false;
- sdlSession.startService(SessionType.PCM, sdlSession.getSessionId(), isEncrypted);
+ sdlSession.startService(SessionType.PCM, isEncrypted);
FutureTask<Void> fTask = createFutureTask(new CallableMethod(RESPONSE_WAIT_TIME));
ScheduledExecutorService scheduler = createScheduler();
@@ -5848,7 +5608,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
public boolean startProtectedRPCService() {
rpcProtectedResponseReceived = false;
rpcProtectedStartResponse = false;
- sdlSession.startService(SessionType.RPC, sdlSession.getSessionId(), true);
+ sdlSession.startService(SessionType.RPC, true);
FutureTask<Void> fTask = createFutureTask(new CallableMethod(RESPONSE_WAIT_TIME));
ScheduledExecutorService scheduler = createScheduler();
@@ -7319,7 +7079,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
msg.setSpeed(speed);
msg.setRpm(rpm);
msg.setFuelLevel(fuelLevel);
- msg.setFuelLevel_State(fuelLevel_State);
+ msg.setFuelLevelState(fuelLevel_State);
msg.setInstantFuelConsumption(instantFuelConsumption);
msg.setExternalTemperature(externalTemperature);
msg.setPrndl(prndl);
@@ -7368,7 +7128,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
msg.setSpeed(speed);
msg.setRpm(rpm);
msg.setFuelLevel(fuelLevel);
- msg.setFuelLevel_State(fuelLevel_State);
+ msg.setFuelLevelState(fuelLevel_State);
msg.setInstantFuelConsumption(instantFuelConsumption);
msg.setExternalTemperature(externalTemperature);
msg.setPrndl(prndl);
@@ -7419,7 +7179,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
msg.setSpeed(speed);
msg.setRpm(rpm);
msg.setFuelLevel(fuelLevel);
- msg.setFuelLevel_State(fuelLevel_State);
+ msg.setFuelLevelState(fuelLevel_State);
msg.setInstantFuelConsumption(instantFuelConsumption);
msg.setExternalTemperature(externalTemperature);
msg.setPrndl(prndl);
@@ -7469,7 +7229,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
msg.setSpeed(speed);
msg.setRpm(rpm);
msg.setFuelLevel(fuelLevel);
- msg.setFuelLevel_State(fuelLevel_State);
+ msg.setFuelLevelState(fuelLevel_State);
msg.setInstantFuelConsumption(instantFuelConsumption);
msg.setExternalTemperature(externalTemperature);
msg.setPrndl(prndl);
@@ -7520,7 +7280,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
msg.setSpeed(speed);
msg.setRpm(rpm);
msg.setFuelLevel(fuelLevel);
- msg.setFuelLevel_State(fuelLevel_State);
+ msg.setFuelLevelState(fuelLevel_State);
msg.setInstantFuelConsumption(instantFuelConsumption);
msg.setExternalTemperature(externalTemperature);
msg.setVin(vin);
@@ -7571,7 +7331,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
msg.setSpeed(speed);
msg.setRpm(rpm);
msg.setFuelLevel(fuelLevel);
- msg.setFuelLevel_State(fuelLevel_State);
+ msg.setFuelLevelState(fuelLevel_State);
msg.setInstantFuelConsumption(instantFuelConsumption);
msg.setExternalTemperature(externalTemperature);
msg.setVin(vin);
@@ -7794,17 +7554,17 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
* core to elsewhere in the system.
* @throws SdlException if an unrecoverable error is encountered
*/
- @SuppressWarnings("unused")
- public void putFileStream(InputStream inputStream, @NonNull String fileName, Long offset, Long length, FileType fileType, Boolean isPersistentFile, Boolean isSystemFile, OnPutFileUpdateListener cb) throws SdlException {
- PutFile msg = new PutFile(fileName, FileType.BINARY);
- msg.setCorrelationID(10000);
- msg.setSystemFile(true);
- msg.setOffset(offset);
- msg.setLength(length);
- msg.setOnPutFileUpdateListener(cb);
- startRPCStream(inputStream, msg);
- }
-
+// @SuppressWarnings("unused")
+// public void putFileStream(InputStream inputStream, @NonNull String fileName, Long offset, Long length, FileType fileType, Boolean isPersistentFile, Boolean isSystemFile, OnPutFileUpdateListener cb) throws SdlException {
+// PutFile msg = new PutFile(fileName, FileType.BINARY);
+// msg.setCorrelationID(10000);
+// msg.setSystemFile(true);
+// msg.setOffset(offset);
+// msg.setLength(length);
+// //msg.setOnPutFileUpdateListener(cb);
+// startRPCStream(inputStream, msg);
+// }
+//
/**
* Used to push a binary stream of file data onto the module from a mobile device.
* Responses are captured through callback on IProxyListener.
@@ -7851,17 +7611,17 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
* core to elsewhere in the system.
* @throws SdlException if an unrecoverable error is encountered
*/
- @SuppressWarnings("unused")
- public OutputStream putFileStream(@NonNull String fileName, Long offset, Long length, FileType fileType, Boolean isPersistentFile, Boolean isSystemFile, OnPutFileUpdateListener cb) throws SdlException {
- PutFile msg = new PutFile(fileName, FileType.BINARY);
- msg.setCorrelationID(10000);
- msg.setSystemFile(true);
- msg.setOffset(offset);
- msg.setLength(length);
- msg.setOnPutFileUpdateListener(cb);
-
- return startRPCStream(msg);
- }
+// @SuppressWarnings("unused")
+// public OutputStream putFileStream(@NonNull String fileName, Long offset, Long length, FileType fileType, Boolean isPersistentFile, Boolean isSystemFile, OnPutFileUpdateListener cb) throws SdlException {
+// PutFile msg = new PutFile(fileName, FileType.BINARY);
+// msg.setCorrelationID(10000);
+// msg.setSystemFile(true);
+// msg.setOffset(offset);
+// msg.setLength(length);
+// //msg.setOnPutFileUpdateListener(cb);
+//
+// return startRPCStream(msg);
+// }
/**
* Used to push a stream of putfile RPC's containing binary data from a mobile device to the module.
@@ -7877,7 +7637,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
* @param iCorrelationID - A unique ID that correlates each RPCRequest and RPCResponse.
* @return RPCStreamController - If the putFileStream was not started successfully null is returned, otherwise a valid object reference is returned
* @throws SdlException if an unrecoverable error is encountered
- * @see #putFileStream(String, String, Long, FileType, Boolean, Boolean, Boolean, Integer, OnPutFileUpdateListener)
+// * @see #putFileStream(String, String, Long, FileType, Boolean, Boolean, Boolean, Integer, OnPutFileUpdateListener)
*/
@SuppressWarnings("unused")
@Deprecated
@@ -7915,19 +7675,19 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
* returned .
* @throws SdlException if an unrecoverable error is encountered
*/
- @SuppressWarnings("unused")
- public RPCStreamController putFileStream(String path, @NonNull String fileName, Long offset, @NonNull FileType fileType, Boolean isPersistentFile, Boolean isSystemFile, Boolean isPayloadProtected, Integer correlationId, OnPutFileUpdateListener cb ) throws SdlException {
- PutFile msg = new PutFile(fileName, fileType);
- msg.setCorrelationID(correlationId);
- msg.setPersistentFile(isPersistentFile);
- msg.setSystemFile(isSystemFile);
- msg.setOffset(offset);
- msg.setLength(0L);
- msg.setPayloadProtected(isPayloadProtected);
- msg.setOnPutFileUpdateListener(cb);
-
- return startPutFileStream(path,msg);
- }
+// @SuppressWarnings("unused")
+// public RPCStreamController putFileStream(String path, @NonNull String fileName, Long offset, @NonNull FileType fileType, Boolean isPersistentFile, Boolean isSystemFile, Boolean isPayloadProtected, Integer correlationId, OnPutFileUpdateListener cb ) throws SdlException {
+// PutFile msg = new PutFile(fileName, fileType);
+// msg.setCorrelationID(correlationId);
+// msg.setPersistentFile(isPersistentFile);
+// msg.setSystemFile(isSystemFile);
+// msg.setOffset(offset);
+// msg.setLength(0L);
+// msg.setPayloadProtected(isPayloadProtected);
+// //msg.setOnPutFileUpdateListener(cb);
+//
+// return startPutFileStream(path,msg);
+// }
/**
* Used to push a stream of putfile RPC's containing binary data from a mobile device to the module.
@@ -7953,8 +7713,8 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
msg.setCorrelationID(iCorrelationID);
msg.setPersistentFile(bPersistentFile);
msg.setSystemFile(bSystemFile);
- msg.setOffset(iOffset);
- msg.setLength(iLength);
+ msg.setOffset(Long.valueOf(iOffset));
+ msg.setLength(Long.valueOf(iLength));
return startPutFileStream(is, msg);
}
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/streaming/StreamPacketizer.java b/android/sdl_android/src/main/java/com/smartdevicelink/streaming/StreamPacketizer.java
index db02be687..accb59948 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/streaming/StreamPacketizer.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/streaming/StreamPacketizer.java
@@ -183,7 +183,7 @@ public class StreamPacketizer extends AbstractPacketizer implements IVideoStream
}
finally
{
- _session.endService(_serviceType, _rpcSessionID);
+ _session.endService(_serviceType);
}
}
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/streaming/StreamRPCPacketizer.java b/android/sdl_android/src/main/java/com/smartdevicelink/streaming/StreamRPCPacketizer.java
index 59904888d..91623dd9d 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/streaming/StreamRPCPacketizer.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/streaming/StreamRPCPacketizer.java
@@ -42,23 +42,18 @@ import com.smartdevicelink.proxy.RPCResponse;
import com.smartdevicelink.proxy.SdlProxyBase;
import com.smartdevicelink.proxy.interfaces.IProxyListenerBase;
import com.smartdevicelink.proxy.interfaces.IPutFileResponseListener;
-import com.smartdevicelink.proxy.rpc.OnStreamRPC;
import com.smartdevicelink.proxy.rpc.PutFile;
import com.smartdevicelink.proxy.rpc.PutFileResponse;
-import com.smartdevicelink.proxy.rpc.StreamRPCResponse;
-import com.smartdevicelink.proxy.rpc.enums.Result;
-import com.smartdevicelink.proxy.rpc.listeners.OnPutFileUpdateListener;
import com.smartdevicelink.util.Version;
import java.io.IOException;
import java.io.InputStream;
-import java.util.Hashtable;
@Deprecated
public class StreamRPCPacketizer extends AbstractPacketizer implements IPutFileResponseListener, Runnable{
private Integer iInitialCorrID = 0;
- private Hashtable<Integer, OnStreamRPC> notificationList = new Hashtable<Integer, OnStreamRPC>();
+ //private Hashtable<Integer, OnStreamRPC> notificationList = new Hashtable<Integer, OnStreamRPC>();
private Thread thread = null;
private long lFileSize = 0;
private String sFileName;
@@ -68,7 +63,7 @@ public class StreamRPCPacketizer extends AbstractPacketizer implements IPutFileR
private Object mPauseLock;
private boolean mPaused;
private boolean isRPCProtected = false;
- private OnPutFileUpdateListener callBack;
+ //private OnPutFileUpdateListener callBack;
private Version rpcSpecVersion;
@@ -86,7 +81,7 @@ public class StreamRPCPacketizer extends AbstractPacketizer implements IPutFileR
_proxy.addPutFileResponseListener(this);
}
if(_request.getFunctionName().equalsIgnoreCase(FunctionID.PUT_FILE.toString())){
- callBack = ((PutFile)_request).getOnPutFileUpdateListener();
+ //callBack = ((PutFile)_request).getOnPutFileUpdateListener();
}
}
@@ -104,7 +99,7 @@ public class StreamRPCPacketizer extends AbstractPacketizer implements IPutFileR
_proxy.addPutFileResponseListener(this);
}
if(_request.getFunctionName().equalsIgnoreCase(FunctionID.PUT_FILE.toString())){
- callBack = ((PutFile)_request).getOnPutFileUpdateListener();
+ //callBack = ((PutFile)_request).getOnPutFileUpdateListener();
}
}
@@ -130,50 +125,50 @@ public class StreamRPCPacketizer extends AbstractPacketizer implements IPutFileR
private void handleStreamSuccess(RPCResponse rpc, Long iSize)
{
- StreamRPCResponse result = new StreamRPCResponse();
- result.setSuccess(rpc.getSuccess());
- result.setResultCode(rpc.getResultCode());
- result.setInfo(rpc.getInfo());
- result.setFileName(sFileName);
- result.setFileSize(iSize);
- result.setCorrelationID(iInitialCorrID);
- if (_proxyListener != null)
- _proxyListener.onStreamRPCResponse(result);
- stop();
- _proxy.remPutFileResponseListener(this);
- return;
+// StreamRPCResponse result = new StreamRPCResponse();
+// result.setSuccess(rpc.getSuccess());
+// result.setResultCode(rpc.getResultCode());
+// result.setInfo(rpc.getInfo());
+// result.setFileName(sFileName);
+// result.setFileSize(iSize);
+// result.setCorrelationID(iInitialCorrID);
+// if (_proxyListener != null)
+// _proxyListener.onStreamRPCResponse(result);
+// stop();
+// _proxy.remPutFileResponseListener(this);
+// return;
}
private void handleStreamException(RPCResponse rpc, Exception e, String error)
{
- StreamRPCResponse result = new StreamRPCResponse();
- result.setFileName(sFileName);
- result.setCorrelationID(iInitialCorrID);
- if (rpc != null)
- {
- result.setSuccess(rpc.getSuccess());
- result.setResultCode(rpc.getResultCode());
- result.setInfo(rpc.getInfo());
- }
- else
- {
- result.setSuccess(false);
- result.setResultCode(Result.GENERIC_ERROR);
- String sException = "";
-
- if (e != null)
- sException = sException + " " + e.toString();
-
- sException = sException + " " + error;
- result.setInfo(sException);
- }
- if (_proxyListener != null)
- _proxyListener.onStreamRPCResponse(result);
- if (e != null)
- e.printStackTrace();
- stop();
- _proxy.remPutFileResponseListener(this);
- return;
+// StreamRPCResponse result = new StreamRPCResponse();
+// result.setFileName(sFileName);
+// result.setCorrelationID(iInitialCorrID);
+// if (rpc != null)
+// {
+// result.setSuccess(rpc.getSuccess());
+// result.setResultCode(rpc.getResultCode());
+// result.setInfo(rpc.getInfo());
+// }
+// else
+// {
+// result.setSuccess(false);
+// result.setResultCode(Result.GENERIC_ERROR);
+// String sException = "";
+//
+// if (e != null)
+// sException = sException + " " + e.toString();
+//
+// sException = sException + " " + error;
+// result.setInfo(sException);
+// }
+// if (_proxyListener != null)
+// _proxyListener.onStreamRPCResponse(result);
+// if (e != null)
+// e.printStackTrace();
+// stop();
+// _proxy.remPutFileResponseListener(this);
+// return;
}
@Override
@@ -195,7 +190,7 @@ public class StreamRPCPacketizer extends AbstractPacketizer implements IPutFileR
int length;
byte[] msgBytes;
ProtocolMessage pm;
- OnStreamRPC notification;
+ //OnStreamRPC notification;
// Moves the current Thread into the background
android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_BACKGROUND);
@@ -217,7 +212,7 @@ public class StreamRPCPacketizer extends AbstractPacketizer implements IPutFileR
}
Long iFileLength = msg.getLength();
- notificationList.clear();
+ //notificationList.clear();
//start reading from the stream at the given offset
long iSkipBytes = is.skip(iOffsetCounter);
@@ -226,9 +221,9 @@ public class StreamRPCPacketizer extends AbstractPacketizer implements IPutFileR
{
handleStreamException(null,null," Error, PutFile offset invalid for file: " + sFileName);
}
- if(callBack!=null){
- callBack.onStart(_request.getCorrelationID(), lFileSize);
- }
+// if(callBack!=null){
+// callBack.onStart(_request.getCorrelationID(), lFileSize);
+// }
while (!Thread.interrupted()) {
synchronized (mPauseLock)
@@ -273,12 +268,12 @@ public class StreamRPCPacketizer extends AbstractPacketizer implements IPutFileR
priorityCoefficient++;
pm.setPriorityCoefficient(priorityCoefficient);
- notification = new OnStreamRPC();
- notification.setFileName(msg.getSdlFileName());
- notification.setFileSize(iFileLength);
- iOffsetCounter = iOffsetCounter + length;
- notification.setBytesComplete(iOffsetCounter);
- notificationList.put(msg.getCorrelationID(),notification);
+// notification = new OnStreamRPC();
+// notification.setFileName(msg.getSdlFileName());
+// notification.setFileSize(iFileLength);
+// iOffsetCounter = iOffsetCounter + length;
+// notification.setBytesComplete(iOffsetCounter);
+// notificationList.put(msg.getCorrelationID(),notification);
msg.setOffset(iOffsetCounter);
iCorrID = msg.getCorrelationID() + 1;
@@ -296,36 +291,36 @@ public class StreamRPCPacketizer extends AbstractPacketizer implements IPutFileR
public void onPutFileResponse(PutFileResponse response)
{
- OnStreamRPC streamNote = notificationList.get(response.getCorrelationID());
- if (streamNote == null) return;
-
- if (response.getSuccess())
- {
- if(callBack!=null){
- callBack.onUpdate(response.getCorrelationID(), streamNote.getBytesComplete(), lFileSize);
- }
- if (_proxyListener != null){
- _proxyListener.onOnStreamRPC(streamNote);
- }
-
- }
- else
- {
- if(callBack!=null){
- callBack.onError(response.getCorrelationID(), response.getResultCode(), response.getInfo());
- }
- handleStreamException(response, null, "");
-
- }
-
- if (response.getSuccess() && streamNote.getBytesComplete().equals(streamNote.getFileSize()) )
- {
- if(callBack!=null){
- callBack.onResponse(iInitialCorrID, response, streamNote.getBytesComplete());
- }
- handleStreamSuccess(response, streamNote.getBytesComplete());
-
- }
+// OnStreamRPC streamNote = notificationList.get(response.getCorrelationID());
+// if (streamNote == null) return;
+//
+// if (response.getSuccess())
+// {
+// if(callBack!=null){
+// callBack.onUpdate(response.getCorrelationID(), streamNote.getBytesComplete(), lFileSize);
+// }
+// if (_proxyListener != null){
+// _proxyListener.onOnStreamRPC(streamNote);
+// }
+//
+// }
+// else
+// {
+// if(callBack!=null){
+// callBack.onError(response.getCorrelationID(), response.getResultCode(), response.getInfo());
+// }
+// handleStreamException(response, null, "");
+//
+// }
+//
+// if (response.getSuccess() && streamNote.getBytesComplete().equals(streamNote.getFileSize()) )
+// {
+// if(callBack!=null){
+// callBack.onResponse(iInitialCorrID, response, streamNote.getBytesComplete());
+// }
+// handleStreamSuccess(response, streamNote.getBytesComplete());
+//
+// }
}
@Override
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/trace/SdlTrace.java b/android/sdl_android/src/main/java/com/smartdevicelink/trace/SdlTrace.java
index e3bedd6a2..956985128 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/trace/SdlTrace.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/trace/SdlTrace.java
@@ -35,22 +35,6 @@ import android.annotation.SuppressLint;
import android.bluetooth.BluetoothDevice;
import android.os.Build;
import android.os.Debug;
-import android.os.Process;
-
-import com.smartdevicelink.protocol.SdlPacket;
-import com.smartdevicelink.protocol.enums.FrameDataControlFrameType;
-import com.smartdevicelink.protocol.enums.FrameType;
-import com.smartdevicelink.protocol.enums.SessionType;
-import com.smartdevicelink.proxy.RPCMessage;
-import com.smartdevicelink.proxy.RPCRequest;
-import com.smartdevicelink.proxy.RPCResponse;
-import com.smartdevicelink.trace.enums.DetailLevel;
-import com.smartdevicelink.trace.enums.InterfaceActivityDirection;
-import com.smartdevicelink.trace.enums.Mod;
-import com.smartdevicelink.transport.SiphonServer;
-import com.smartdevicelink.util.BitConverter;
-import com.smartdevicelink.util.DebugTool;
-import com.smartdevicelink.util.NativeLogTool;
import java.sql.Timestamp;
@@ -63,291 +47,12 @@ import java.sql.Timestamp;
*/
@SuppressLint("DefaultLocale")
-public class SdlTrace {
- private static final String SDL_LIB_TRACE_KEY = "42baba60-eb57-11df-98cf-0800200c9a66";
-
- public static final String SYSTEM_LOG_TAG = "SdlTrace";
-
- private static long baseTics = java.lang.System.currentTimeMillis();
- private static boolean acceptAPITraceAdjustments = true;
-
- protected static ISTListener m_appTraceListener = null;
-
- ///
- /// The PUBLIC interface to SdlTrace starts here
- ///
-
-
- public static void setAcceptAPITraceAdjustments(Boolean APITraceAdjustmentsAccepted) {
- if (APITraceAdjustmentsAccepted != null) {
- acceptAPITraceAdjustments = APITraceAdjustmentsAccepted;
- }
- }
-
- public static boolean getAcceptAPITraceAdjustments() {
- return acceptAPITraceAdjustments;
- }
-
- public static void setAppTraceListener(ISTListener listener) {
- m_appTraceListener = listener;
- } // end-method
-
- public static void setAppTraceLevel(DetailLevel dt) {
- if ( dt != null && acceptAPITraceAdjustments)
- DiagLevel.setLevel(Mod.app, dt);
- } // end-method
-
- public static void setProxyTraceLevel(DetailLevel dt) {
- if (dt != null && acceptAPITraceAdjustments)
- DiagLevel.setLevel(Mod.proxy, dt);
- } // end-method
-
- public static void setRpcTraceLevel(DetailLevel dt) {
- if (dt != null && acceptAPITraceAdjustments)
- DiagLevel.setLevel(Mod.rpc, dt);
- } // end-method
-
- public static void setMarshallingTraceLevel(DetailLevel dt) {
- if (dt != null && acceptAPITraceAdjustments)
- DiagLevel.setLevel(Mod.mar, dt);
- } // end-method
-
- public static void setProtocolTraceLevel(DetailLevel dt) {
- if (dt != null && acceptAPITraceAdjustments)
- DiagLevel.setLevel(Mod.proto, dt);
- } // end-method
-
- public static void setTransportTraceLevel(DetailLevel dt) {
- if (dt != null && acceptAPITraceAdjustments)
- DiagLevel.setLevel(Mod.tran, dt);
- } // end-method
-
- private static String encodeTraceMessage(long timestamp, Mod module, InterfaceActivityDirection msgDirection, String msgBodyXml) {
- StringBuilder sb = new StringBuilder("<msg><dms>");
- sb.append(timestamp);
- sb.append("</dms><pid>");
- sb.append(Process.myPid());
- sb.append("</pid><tid>");
- sb.append(Thread.currentThread().getId());
- sb.append("</tid><mod>");
- sb.append(module.toString());
- sb.append("</mod>");
- if (msgDirection != InterfaceActivityDirection.None) {
- sb.append("<dir>");
- sb.append(interfaceActivityDirectionToString(msgDirection));
- sb.append("</dir>");
- } // end-if
- sb.append(msgBodyXml);
- sb.append("</msg>");
-
- return sb.toString();
- } // end-method
-
- private static String interfaceActivityDirectionToString(InterfaceActivityDirection iaDirection) {
- String str = "";
- switch (iaDirection) {
- case Receive:
- str = "rx";
- break;
- case Transmit:
- str = "tx";
- break;
- default:
- break;
- } // end-switch
- return str;
- } // end-method
-
- static String B64EncodeForXML(String data) {
- return Mime.base64Encode(data);
- // Base64 only available in 2.2, when SmartDeviceLink base is 2.2 use: return Base64.encodeToString(data.getBytes(), Base64.DEFAULT);
- } // end-method
-
- public static boolean logProxyEvent(String eventText, String token) {
- if (DiagLevel.getLevel(Mod.proxy) == DetailLevel.OFF || !token.equals(SDL_LIB_TRACE_KEY)) {
- return false;
- }
-
- String msg = SdlTrace.B64EncodeForXML(eventText);
- String xml = SdlTrace.encodeTraceMessage(SdlTrace.getBaseTicsDelta(), Mod.proxy, InterfaceActivityDirection.None, "<d>" + msg + "</d>");
- return writeXmlTraceMessage(xml);
+public class SdlTrace extends SdlTraceBase {
+ private static String getPid(){
+ return String.valueOf(android.os.Process.myPid());
}
- public static boolean logAppEvent(String eventText) {
- if (DiagLevel.getLevel(Mod.app) == DetailLevel.OFF) {
- return false;
- }
-
- long timestamp = SdlTrace.getBaseTicsDelta();
- String msg = SdlTrace.B64EncodeForXML(eventText);
- String xml = SdlTrace.encodeTraceMessage(timestamp, Mod.app, InterfaceActivityDirection.None, "<d>" + msg + "</d>");
- return writeXmlTraceMessage(xml);
- }
-
- public static boolean logRPCEvent(InterfaceActivityDirection msgDirection, RPCMessage rpcMsg, String token) {
- DetailLevel dl = DiagLevel.getLevel(Mod.rpc);
- if (dl == DetailLevel.OFF || !token.equals(SDL_LIB_TRACE_KEY)) {
- return false;
- }
-
- long timestamp = SdlTrace.getBaseTicsDelta();
- String xml = SdlTrace.encodeTraceMessage(timestamp, Mod.rpc, msgDirection, rpc2Xml(dl, rpcMsg));
- return writeXmlTraceMessage(xml);
- }
-
- private static String rpc2Xml(DetailLevel dl, RPCMessage rpcMsg) {
- StringBuilder rpcAsXml = new StringBuilder();
- rpcAsXml.append("<op>");
- rpcAsXml.append(rpcMsg.getFunctionName());
- rpcAsXml.append("</op>");
- boolean hasCorrelationID = false;
- Integer correlationID = -1;
- if (rpcMsg instanceof RPCRequest) {
- hasCorrelationID = true;
- correlationID = ((RPCRequest)rpcMsg).getCorrelationID();
- } else if (rpcMsg instanceof RPCResponse) {
- hasCorrelationID = true;
- correlationID = ((RPCResponse)rpcMsg).getCorrelationID();
- } // end-if
- if (hasCorrelationID) {
- rpcAsXml.append("<cid>");
- rpcAsXml.append(correlationID);
- rpcAsXml.append("</cid>");
- } // end-if
- rpcAsXml.append("<type>");
- rpcAsXml.append(rpcMsg.getMessageType());
- rpcAsXml.append("</type>");
- //rpcAsXml.append(newline);
-
- if (dl == DetailLevel.VERBOSE) {
- OpenRPCMessage orpcmsg = new OpenRPCMessage(rpcMsg);
- String rpcParamList = orpcmsg.msgDump();
- String msg = SdlTrace.B64EncodeForXML(rpcParamList);
- rpcAsXml.append("<d>");
- rpcAsXml.append(msg);
- rpcAsXml.append("</d>");
- } // end-if
- return rpcAsXml.toString();
- } // end-method
-
- public static boolean logMarshallingEvent(InterfaceActivityDirection msgDirection, byte[] marshalledMessage, String token) {
- DetailLevel dl = DiagLevel.getLevel(Mod.mar);
- if (dl == DetailLevel.OFF || !token.equals(SDL_LIB_TRACE_KEY)) {
- return false;
- }
-
- long timestamp = SdlTrace.getBaseTicsDelta();
- StringBuilder msg = new StringBuilder();
- msg.append("<sz>");
- msg.append(marshalledMessage.length);
- msg.append("</sz>");
- if (dl == DetailLevel.VERBOSE) {
- msg.append("<d>");
- msg.append(Mime.base64Encode(marshalledMessage));
- // Base64 only available in 2.2, when SmartDeviceLink base is 2.2 use: msg.append(Base64.encodeToString(marshalledMessage, Base64.DEFAULT));
- msg.append("</d>");
- }
- String xml = SdlTrace.encodeTraceMessage(timestamp, Mod.mar, msgDirection, msg.toString());
- return writeXmlTraceMessage(xml);
- }
-
- public static boolean logProtocolEvent(InterfaceActivityDirection frameDirection, SdlPacket packet, int frameDataOffset, int frameDataLength, String token) {
- DetailLevel dl = DiagLevel.getLevel(Mod.proto);
- if (dl == DetailLevel.OFF || !token.equals(SDL_LIB_TRACE_KEY)) {
- return false;
- }
-
- StringBuffer protoMsg = new StringBuffer();
- protoMsg.append("<frame>");
- protoMsg.append(SdlTrace.getProtocolFrameHeaderInfo(packet));
- if (dl == DetailLevel.VERBOSE) {
- if (packet.getPayload() != null && frameDataLength > 0) {
- protoMsg.append("<d>");
- String bytesInfo = "";
- bytesInfo = Mime.base64Encode(packet.getPayload(), frameDataOffset, frameDataLength);
- // Base64 only available in 2.2, when SmartDeviceLink base is 2.2 use: bytesInfo = Base64.encodeToString(frameData, frameDataOffset, frameDataLength, Base64.DEFAULT);
- protoMsg.append(bytesInfo);
- protoMsg.append("</d>");
- }
- }
- protoMsg.append("</frame>");
- String xml = SdlTrace.encodeTraceMessage(SdlTrace.getBaseTicsDelta(), Mod.proto, frameDirection, protoMsg.toString());
- return writeXmlTraceMessage(xml);
- }
-
- private static String getProtocolFrameType(FrameType f) {
- if (f == FrameType.Control)
- return "Control";
- else if (f == FrameType.Consecutive)
- return "Consecutive";
- else if (f == FrameType.First)
- return "First";
- else if (f == FrameType.Single)
- return "Single";
-
- return "Unknown";
- } // end-method
-
- private static String getProtocolSessionType(SessionType serviceType) {
- String s;
- if (serviceType == SessionType.RPC )
- s = "rpc";
- else if (serviceType == SessionType.BULK_DATA)
- s = "bulk";
- else
- s = "Unknown";
- return s;
- } // end-method
-
- private static String getProtocolFrameHeaderInfo(SdlPacket hdr) {
- StringBuilder sb = new StringBuilder();
- sb.append("<hdr>");
- sb.append("<ver>");
- sb.append(hdr.getVersion());
- sb.append("</ver><cmp>");
- sb.append(hdr.isEncrypted());
- sb.append("</cmp><ft>");
- sb.append(getProtocolFrameType(hdr.getFrameType()));
- sb.append("</ft><st>");
- sb.append(getProtocolSessionType(SessionType.valueOf((byte)hdr.getServiceType())));
- sb.append("</st><sid>");
- sb.append(hdr.getSessionId());
- sb.append("</sid><sz>");
- sb.append(hdr.getDataSize());
- sb.append("</sz>");
-
- int frameData = hdr.getFrameInfo();
- if (hdr.getFrameType() == FrameType.Control) {
- sb.append("<ca>");
- if (frameData == FrameDataControlFrameType.StartSession.getValue())
- sb.append("StartSession");
- else if (frameData == FrameDataControlFrameType.StartSessionACK.getValue())
- sb.append("StartSessionACK");
- else if (frameData == FrameDataControlFrameType.StartSessionNACK.getValue())
- sb.append("StartSessionNACK");
- else if (frameData == FrameDataControlFrameType.EndSession.getValue())
- sb.append("EndSession");
- sb.append("</ca>");
- } else if (hdr.getFrameType() == FrameType.Consecutive ) {
- sb.append("<fsn>");
- if (frameData == 0 )
- sb.append("lastFrame");
- else
- sb.append(String.format("%02X",frameData));
- sb.append("</fsn>");
- } else if (hdr.getFrameType() == FrameType.First ) {
- int totalSize = BitConverter.intFromByteArray(hdr.getPayload(), 0);
- int numFrames = BitConverter.intFromByteArray(hdr.getPayload(), 4);
- sb.append("<total>").append(totalSize).append("</total><numframes>").append(numFrames).append("</numframes>");
- } else if (hdr.getFrameType() == FrameType.Single ) {
- sb.append("<single/>");
- }
-
- sb.append("</hdr>");
-
- return sb.toString();
- } // end-method
-
+ @SuppressLint("MissingPermission")
public static String getBTDeviceInfo(BluetoothDevice btDevice) {
StringBuilder sb = new StringBuilder();
sb.append("<btp>");
@@ -361,92 +66,9 @@ public class SdlTrace {
return sb.toString();
} // end-method
- public static boolean logTransportEvent(String preamble, String transportSpecificInfoXml, InterfaceActivityDirection msgDirection, byte buf[], int byteLength, String token) {
- return logTransportEvent(preamble, transportSpecificInfoXml, msgDirection, buf, 0, byteLength, token);
- }
-
- private static void checkB64(String x, byte[] buf, int offset, int byteLength) {
- if ((x.length() % 4) != 0) {
- NativeLogTool.logWarning(SdlTrace.SYSTEM_LOG_TAG, "b64 string length (" + x.length() + ") isn't multiple of 4: buf.length=" + buf.length + ", offset=" + offset + ", len=" + byteLength);
- } // end-if
- } // end-method
-
- public static boolean logTransportEvent(String preamble, String transportSpecificInfoXml, InterfaceActivityDirection msgDirection, byte buf[], int offset, int byteLength, String token) {
- if (DiagLevel.getLevel(Mod.tran) == DetailLevel.OFF || !token.equals(SDL_LIB_TRACE_KEY)) {
- return false;
- }
-
- StringBuilder msg = new StringBuilder();
- if (transportSpecificInfoXml != null && transportSpecificInfoXml.length() > 0) {
- msg.append(transportSpecificInfoXml);
- }
- if (preamble != null && preamble.length() > 0) {
- msg.append("<desc>");
- msg.append(preamble);
- msg.append("</desc>");
- }
- if (buf != null) {
- msg.append("<sz>");
- msg.append(byteLength);
- msg.append("</sz>");
- DetailLevel dl = DiagLevel.getLevel(Mod.tran);
- if (dl == DetailLevel.VERBOSE) {
- if (buf != null && byteLength > 0) {
- msg.append("<d>");
- String bytesInfo = Mime.base64Encode(buf, offset, byteLength);
- checkB64(bytesInfo, buf, offset, byteLength);
- msg.append(bytesInfo);
- msg.append("</d>");
- }
- }
- }
- String xml = SdlTrace.encodeTraceMessage(SdlTrace.getBaseTicsDelta(), Mod.tran, msgDirection, msg.toString());
- return writeXmlTraceMessage(xml);
- }
-
- // Package-scoped
- static long getBaseTicsDelta() {
- return java.lang.System.currentTimeMillis() - getBaseTics();
- }
-
- // Package-scoped
- static long getBaseTics() {
- return baseTics;
- } // end-method
-
- public static Boolean writeMessageToSiphonServer(String info) {
- return SiphonServer.sendFormattedTraceMessage(info);
- }
-
- private static boolean writeXmlTraceMessage(String msg) {
- try {
- // Attempt to write formatted message to the Siphon
- if (false == writeMessageToSiphonServer(msg)) {
- // If writing to the Siphon fails, write to the native log
- NativeLogTool.logInfo(SdlTrace.SYSTEM_LOG_TAG, msg);
- return false;
- }
-
- ISTListener localTraceListener = m_appTraceListener;
-
- if (localTraceListener != null) {
- try {
- localTraceListener.logXmlMsg(msg, SDL_LIB_TRACE_KEY);
- } catch (Exception ex) {
- DebugTool.logError(SYSTEM_LOG_TAG, "Failure calling ISTListener: " + ex.toString(), ex);
- return false;
- }
- }
- } catch (Exception ex) {
- NativeLogTool.logError(SdlTrace.SYSTEM_LOG_TAG, "Failure writing XML trace message: " + ex.toString());
- return false;
- }
- return true;
- }
-
// Package-scoped
@SuppressWarnings("deprecation")
- public static String getLogHeader(String dumpReason, int seqNo) {
+ public static String getLogHeader(String dumpReason, int seqNo) {
final String Sep = "-";
StringBuilder write = new StringBuilder("<?xml version=\"1.0\"?>" + "<logs>");
write.append("<info>");
@@ -461,7 +83,7 @@ public class SdlTrace {
long heapAllocated = Debug.getNativeHeapAllocatedSize() / 1024;
infoBlock.append("<mem><hf>").append(heapSize).append("KB</hf><ha>").append(heapAllocated).append("KB</ha></mem>");
infoBlock.append("<np>").append(Runtime.getRuntime().availableProcessors()).append("</np>");
- infoBlock.append("<pid>").append(Process.myPid()).append("</pid>");
+ infoBlock.append("<pid>").append(getPid()).append("</pid>");
infoBlock.append("<tid>").append(Thread.currentThread().getId()).append("</tid>");
// String dateStamp = (String)
@@ -480,21 +102,5 @@ public class SdlTrace {
write.append("</info>" + "<msgs>");
return write.toString();
} // end-method
-
- private static String getSmartDeviceLinkTraceRoot(String dumpReason, int seqNo) {
- StringBuilder write = new StringBuilder("<SmartDeviceLinktraceroot>" + "<sequencenum>" + seqNo
- + "</sequencenum>" + "<dumpreason>" + dumpReason
- + "</dumpreason><tracelevel>");
-
- write.append("<tran>").append(DiagLevel.getLevel(Mod.tran)).append("</tran>");
- write.append("<proto>").append(DiagLevel.getLevel(Mod.proto)).append("</proto>");
- write.append("<mar>").append(DiagLevel.getLevel(Mod.mar)).append("</mar>");
- write.append("<rpc>").append(DiagLevel.getLevel(Mod.rpc)).append("</rpc>");
- write.append("<proxy>").append(DiagLevel.getLevel(Mod.proxy)).append("</proxy>");
- write.append("<app>").append(DiagLevel.getLevel(Mod.app)).append("</app>");
- write.append("</tracelevel>");
- write.append("</SmartDeviceLinktraceroot>");
- return write.toString();
- } // end-method
} // end-class \ No newline at end of file
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/transport/MultiplexBluetoothTransport.java b/android/sdl_android/src/main/java/com/smartdevicelink/transport/MultiplexBluetoothTransport.java
index 5b67fa444..01251f61f 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/transport/MultiplexBluetoothTransport.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/transport/MultiplexBluetoothTransport.java
@@ -29,7 +29,7 @@ import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
-import android.support.annotation.RequiresPermission;
+import androidx.annotation.RequiresPermission;
import com.smartdevicelink.protocol.SdlPacket;
import com.smartdevicelink.transport.enums.TransportType;
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/transport/RouterServiceValidator.java b/android/sdl_android/src/main/java/com/smartdevicelink/transport/RouterServiceValidator.java
index a9aca1ff4..f86caa699 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/transport/RouterServiceValidator.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/transport/RouterServiceValidator.java
@@ -47,7 +47,7 @@ import android.os.AsyncTask;
import android.os.Build;
import android.os.Handler;
import android.os.Looper;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.util.AndroidTools;
import com.smartdevicelink.util.DebugTool;
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlBroadcastReceiver.java b/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlBroadcastReceiver.java
index a15969d58..4ed1b85f4 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlBroadcastReceiver.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlBroadcastReceiver.java
@@ -41,10 +41,12 @@ import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
+import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.hardware.usb.UsbManager;
import android.os.Build;
+import android.os.Debug;
import android.os.Looper;
import android.os.Parcelable;
import android.util.AndroidRuntimeException;
@@ -55,6 +57,7 @@ import com.smartdevicelink.transport.enums.TransportType;
import com.smartdevicelink.transport.utl.SdlDeviceListener;
import com.smartdevicelink.util.AndroidTools;
import com.smartdevicelink.util.DebugTool;
+import com.smartdevicelink.util.IntegrationValidator;
import com.smartdevicelink.util.SdlAppInfo;
import com.smartdevicelink.util.ServiceFinder;
@@ -132,30 +135,10 @@ public abstract class SdlBroadcastReceiver extends BroadcastReceiver{
if (localRouterClass == null){
localRouterClass = defineLocalSdlRouterClass();
// we need to check this again because for USB apps, the returned class can still be null
- if (localRouterClass != null) {
-
- // Check if the service declaration in AndroidManifest has the intent-filter action specified correctly
- boolean serviceFilterHasAction = false;
- String className = localRouterClass.getName();
- List<SdlAppInfo> services = AndroidTools.querySdlAppInfo(context, null);
- for (SdlAppInfo sdlAppInfo : services) {
- if(sdlAppInfo != null && sdlAppInfo.getRouterServiceComponentName() != null && className.equals((sdlAppInfo.getRouterServiceComponentName().getClassName()))){
- serviceFilterHasAction = true;
- break;
- }
- }
- if (!serviceFilterHasAction){
- DebugTool.logError(TAG, "WARNING: This application has not specified its intent-filter for the SdlRouterService. THIS WILL THROW AN EXCEPTION IN FUTURE RELEASES!!");
- }
-
- // Check if the service declaration in AndroidManifest has the router service version metadata specified correctly
- ResolveInfo info = context.getPackageManager().resolveService(new Intent(context, localRouterClass), PackageManager.GET_META_DATA);
- if (info != null) {
- if (info.serviceInfo.metaData == null || !info.serviceInfo.metaData.containsKey(context.getString(R.string.sdl_router_service_version_name))) {
- DebugTool.logError(TAG, "WARNING: This application has not specified its metadata tags for the SdlRouterService. THIS WILL THROW AN EXCEPTION IN FUTURE RELEASES!!");
- }
- } else {
- DebugTool.logError(TAG, "WARNING: This application has not specified its SdlRouterService correctly in the manifest. THIS WILL THROW AN EXCEPTION IN FUTURE RELEASES!!");
+ if (AndroidTools.isDebugMode(context)) {
+ IntegrationValidator.ValidationResult result = IntegrationValidator.validate(context, localRouterClass, 0);
+ if(!result.isSuccessful()){
+ throw new RuntimeException(result.getResultText());
}
}
}
@@ -448,6 +431,17 @@ public abstract class SdlBroadcastReceiver extends BroadcastReceiver{
* @param context
*/
public static void queryForConnectedService(final Context context){
+ if (AndroidTools.isDebugMode(context)) {
+ int flag = 0;
+ if(localRouterClass == null) {
+ flag = IntegrationValidator.FLAG_SKIP_ROUTER_SERVICE_CHECK;
+ }
+
+ IntegrationValidator.ValidationResult result = IntegrationValidator.validate(context, localRouterClass, flag);
+ if(!result.isSuccessful()){
+ throw new RuntimeException(result.getResultText());
+ }
+ }
//Leverage existing call. Include ping bit
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
ServiceFinder finder = new ServiceFinder(context, context.getPackageName(), new ServiceFinder.ServiceFinderCallback() {
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java b/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java
index 24d5ec850..2fde0e817 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java
@@ -70,8 +70,8 @@ import android.os.Parcel;
import android.os.ParcelFileDescriptor;
import android.os.Parcelable;
import android.os.RemoteException;
-import android.support.annotation.NonNull;
-import android.support.v4.app.NotificationCompat;
+import androidx.annotation.NonNull;
+import androidx.core.app.NotificationCompat;
import android.util.AndroidRuntimeException;
import android.util.SparseArray;
import android.util.SparseIntArray;
@@ -95,6 +95,7 @@ import com.smartdevicelink.transport.utl.TransportRecord;
import com.smartdevicelink.util.AndroidTools;
import com.smartdevicelink.util.BitConverter;
import com.smartdevicelink.util.DebugTool;
+import com.smartdevicelink.util.IntegrationValidator;
import com.smartdevicelink.util.SdlAppInfo;
import org.json.JSONException;
@@ -1104,6 +1105,12 @@ public class SdlRouterService extends Service{
@Override
public void onCreate() {
super.onCreate();
+ if (AndroidTools.isDebugMode(getApplicationContext())) {
+ IntegrationValidator.ValidationResult result = IntegrationValidator.validate(getApplicationContext(), this.getClass(), 0);
+ if(!result.isSuccessful()) {
+ throw new RuntimeException(result.getResultText());
+ }
+ }
//Add this first to avoid the runtime exceptions for the entire lifecycle of the service
setRouterServiceExceptionHandler();
//This must be done regardless of if this service shuts down or not
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/transport/utl/SdlDeviceListener.java b/android/sdl_android/src/main/java/com/smartdevicelink/transport/utl/SdlDeviceListener.java
index 488a117b4..b9bd8bb12 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/transport/utl/SdlDeviceListener.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/transport/utl/SdlDeviceListener.java
@@ -39,7 +39,7 @@ import android.content.SharedPreferences;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.transport.MultiplexBaseTransport;
import com.smartdevicelink.transport.MultiplexBluetoothTransport;
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/util/AndroidTools.java b/android/sdl_android/src/main/java/com/smartdevicelink/util/AndroidTools.java
index bedc38028..0e75acd77 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/util/AndroidTools.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/util/AndroidTools.java
@@ -36,6 +36,7 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
+import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
@@ -191,4 +192,11 @@ public class AndroidTools {
bis.close();
return result;
}
+
+ public static boolean isDebugMode(Context context){
+ if(context != null && context.getApplicationInfo() != null){
+ return 0 != ( context.getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE );
+ }
+ return false;
+ }
}
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/util/IntegrationValidator.java b/android/sdl_android/src/main/java/com/smartdevicelink/util/IntegrationValidator.java
new file mode 100644
index 000000000..6553da286
--- /dev/null
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/util/IntegrationValidator.java
@@ -0,0 +1,231 @@
+/*
+ * Copyright (c) 2020 Livio, 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 of the Livio Inc. 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.
+ */
+
+package com.smartdevicelink.util;
+
+import android.Manifest;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.os.Build;
+
+import com.smartdevicelink.R;
+import com.smartdevicelink.transport.TransportConstants;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class IntegrationValidator {
+
+ private static final char CHECK_MARK = 0x2713;
+ private static final char FAIL_MARK = 0x2715;
+
+ public static final int FLAG_SKIP_ROUTER_SERVICE_CHECK = 0x01;
+
+
+ public static ValidationResult validate(Context context, Class localRouterClass, int flags) {
+ StringBuilder builder = new StringBuilder();
+ builder.append("\n-----------------------------------");
+ builder.append("\n Integration Validator Results: \n");
+ builder.append("-----------------------------------\n");
+ List<ValidationResult> results = new ArrayList<>();
+
+ results.add(checkPermissions(context));
+
+ if ((flags & FLAG_SKIP_ROUTER_SERVICE_CHECK) == FLAG_SKIP_ROUTER_SERVICE_CHECK) {
+ results.add(new ValidationResult(true, "SdlRouterService checks were not performed yet due to supplied flags"));
+ } else {
+ if (localRouterClass != null) {
+ results.add(checkRoutServiceMetadata(context, localRouterClass));
+ results.add(checkRouterServiceIntent(context, localRouterClass));
+ } else {
+ results.add(new ValidationResult(false, "SdlRouterService is not defined in SdlBroadcastReceiver and therefore some checks were not completed"));
+ }
+ }
+
+ results.add(checkBroadcastReceiver(context));
+
+ boolean success = true;
+ for (ValidationResult result : results) {
+ if (result.successful) {
+ builder.append(CHECK_MARK + " ");
+ } else {
+ success = false;
+ builder.append(FAIL_MARK + " ");
+ }
+ builder.append(result.resultText);
+ builder.append("\n\n");
+
+
+ }
+
+ if (!success) {
+ builder.append("Please see the guides for how to fix these issues at www.smartdevicelink.com");
+ }
+
+ return new ValidationResult(success, builder.toString());
+ }
+
+ private static ValidationResult checkPermissions(Context context) {
+ ValidationResult retVal = new ValidationResult(true, "Permission check passed");
+ List<String> permissionList = new ArrayList<>();
+ permissionList.add(Manifest.permission.BLUETOOTH);
+ permissionList.add(Manifest.permission.INTERNET);
+ permissionList.add(Manifest.permission.ACCESS_NETWORK_STATE);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
+ permissionList.add(Manifest.permission.FOREGROUND_SERVICE);
+ }
+ try {
+ PackageInfo packageInfo = context.getPackageManager().getPackageInfo(context.getApplicationContext().getPackageName(), PackageManager.GET_PERMISSIONS);
+ String[] permissionInfos = packageInfo.requestedPermissions;
+
+ if (permissionInfos != null && permissionInfos.length > 0) {
+ String permissionInfo;
+ for (int i = 0; i < permissionInfos.length; i++) {
+ permissionInfo = permissionInfos[i];
+ permissionList.remove(permissionInfo);
+ }
+ }
+ } catch (Exception e) {
+ }
+
+ if (!permissionList.isEmpty()) {
+ StringBuilder builder = new StringBuilder();
+ builder.append("This application is missing permissions: \n");
+ for (String permission : permissionList) {
+ builder.append(" - ");
+ builder.append(permission);
+ builder.append("\n");
+ }
+ retVal.successful = false;
+ retVal.resultText = builder.toString();
+ }
+
+ return retVal;
+ }
+
+ public static ValidationResult checkBroadcastReceiver(Context context) {
+ ValidationResult retVal = new ValidationResult(true, "SdlBroadcastReceiver check passed");
+ try {
+ Intent intent = new Intent();
+ intent.setAction(TransportConstants.START_ROUTER_SERVICE_ACTION);
+ List<ResolveInfo> sdlReceivers = context.getPackageManager().queryBroadcastReceivers(intent, 0);
+ PackageInfo packageInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_RECEIVERS);
+ ActivityInfo[] receivers = packageInfo.receivers;
+
+ if (receivers != null && receivers.length > 0) {
+ ActivityInfo receiver;
+ for (int i = 0; i < receivers.length; i++) {
+
+ receiver = receivers[i];
+ if (receiver != null) {
+ int j = 0;
+ for (ResolveInfo sdlReceiver : sdlReceivers) {
+ if (receiver.name.equals(sdlReceiver.activityInfo.name)) {
+ return retVal;
+ }
+ }
+ }
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ retVal.successful = false;
+ retVal.resultText = "This application has not specified its SDL Receiver properly.";
+ return retVal;
+ }
+
+ // Check if the service declaration in AndroidManifest has the router service version metadata specified correctly
+ private static ValidationResult checkRoutServiceMetadata(Context context, Class localRouterClass) {
+ ValidationResult retVal = new ValidationResult(true, "SdlRouterService entry and metadata checks passed");
+
+ ResolveInfo info = context.getPackageManager().resolveService(new Intent(context, localRouterClass), PackageManager.GET_META_DATA);
+ if (info != null) {
+ if (info.serviceInfo.metaData == null || !info.serviceInfo.metaData.containsKey(context.getString(R.string.sdl_router_service_version_name))) {
+ retVal.successful = false;
+ retVal.resultText = "This application has not specified its metadata tags for the SdlRouterService.";
+ }
+ } else {
+ retVal.successful = false;
+ retVal.resultText = "This application has not specified its SdlRouterService correctly in the manifest.";
+ }
+ return retVal;
+ }
+
+ // Check if the service declaration in AndroidManifest has the intent-filter action specified correctly
+ private static ValidationResult checkRouterServiceIntent(Context context, Class localRouterClass) {
+ ValidationResult retVal = new ValidationResult(true, "SdlRouterService intent filter check passed");
+
+ boolean serviceFilterHasAction = false;
+ String className = localRouterClass.getName();
+ List<SdlAppInfo> services = AndroidTools.querySdlAppInfo(context, null);
+ for (SdlAppInfo sdlAppInfo : services) {
+ if (sdlAppInfo != null && sdlAppInfo.getRouterServiceComponentName() != null
+ && className.equals((sdlAppInfo.getRouterServiceComponentName().getClassName()))) {
+ serviceFilterHasAction = true;
+ break;
+ }
+ }
+ if (!serviceFilterHasAction) {
+ retVal.successful = false;
+ retVal.resultText = "This application has not specified its intent-filter for the SdlRouterService.";
+ }
+
+ return retVal;
+ }
+
+ /**
+ * Results from a validation check.
+ * Includes if the check was successful and a human readable string to describe the results.
+ */
+ public static final class ValidationResult {
+ boolean successful;
+ String resultText;
+
+ ValidationResult(boolean successful, String resultText) {
+ this.successful = successful;
+ this.resultText = resultText;
+ }
+
+ public boolean isSuccessful() {
+ return successful;
+ }
+
+ public String getResultText() {
+ return resultText;
+ }
+ }
+}
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/util/MediaStreamingStatus.java b/android/sdl_android/src/main/java/com/smartdevicelink/util/MediaStreamingStatus.java
index 3e8a37661..84c21f761 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/util/MediaStreamingStatus.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/util/MediaStreamingStatus.java
@@ -43,7 +43,7 @@ import android.content.IntentFilter;
import android.media.AudioDeviceInfo;
import android.media.AudioManager;
import android.os.Build;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
diff --git a/base/src/main/java/com/smartdevicelink/SdlConnection/BaseSdlSession.java b/base/src/main/java/com/smartdevicelink/SdlConnection/BaseSdlSession.java
index 7bd7edb01..c3e6158dd 100644
--- a/base/src/main/java/com/smartdevicelink/SdlConnection/BaseSdlSession.java
+++ b/base/src/main/java/com/smartdevicelink/SdlConnection/BaseSdlSession.java
@@ -33,11 +33,13 @@
package com.smartdevicelink.SdlConnection;
import com.smartdevicelink.exception.SdlException;
+import com.smartdevicelink.managers.lifecycle.RpcConverter;
import com.smartdevicelink.protocol.ISdlProtocol;
import com.smartdevicelink.protocol.ProtocolMessage;
import com.smartdevicelink.protocol.SdlPacket;
import com.smartdevicelink.protocol.SdlProtocolBase;
import com.smartdevicelink.protocol.enums.SessionType;
+import com.smartdevicelink.proxy.RPCMessage;
import com.smartdevicelink.proxy.interfaces.ISdlServiceListener;
import com.smartdevicelink.proxy.rpc.VideoStreamingFormat;
import com.smartdevicelink.proxy.rpc.enums.VideoStreamingProtocol;
@@ -54,26 +56,25 @@ import java.util.List;
import java.util.ListIterator;
import java.util.concurrent.CopyOnWriteArrayList;
-public abstract class BaseSdlSession implements ISdlProtocol, ISdlConnectionListener, ISecurityInitializedListener {
+public abstract class BaseSdlSession implements ISdlProtocol, ISecurityInitializedListener {
private static final String TAG = "SdlSession";
final protected SdlProtocolBase sdlProtocol;
protected BaseTransportConfig transportConfig;
- protected ISdlConnectionListener sessionListener;
+ protected ISdlSessionListener sessionListener;
protected SdlSecurityBase sdlSecurity = null;
protected VideoStreamingParameters desiredVideoParams = null;
protected VideoStreamingParameters acceptedVideoParams = null;
- protected byte sessionId;
- protected int sessionHashId = 0;
+ protected int sessionId = -1;
protected HashMap<SessionType, CopyOnWriteArrayList<ISdlServiceListener>> serviceListeners;
protected CopyOnWriteArrayList<SessionType> encryptedServices = new CopyOnWriteArrayList<SessionType>();
boolean sdlSecurityInitializing = false;
- public BaseSdlSession(ISdlConnectionListener listener, BaseTransportConfig config){
+ public BaseSdlSession(ISdlSessionListener listener, BaseTransportConfig config){
this.transportConfig = config;
this.sessionListener = listener;
this.sdlProtocol = getSdlProtocolImplementation();
@@ -105,12 +106,12 @@ public abstract class BaseSdlSession implements ISdlProtocol, ISdlConnectionList
sdlSecurity.shutDown();
}
if(sdlProtocol != null){
- sdlProtocol.endSession(sessionId, sessionHashId);
+ sdlProtocol.endSession((byte)sessionId);
}
}
- public void startService (SessionType serviceType, byte sessionID, boolean isEncrypted) {
+ public void startService (SessionType serviceType, boolean isEncrypted) {
if (isEncrypted){
if (sdlSecurity != null){
List<SessionType> serviceList = sdlSecurity.getServiceList();
@@ -125,14 +126,14 @@ public abstract class BaseSdlSession implements ISdlProtocol, ISdlConnectionList
}
}
}
- sdlProtocol.startService(serviceType, sessionID, isEncrypted);
+ sdlProtocol.startService(serviceType, (byte)this.sessionId, isEncrypted);
}
- public void endService (SessionType serviceType, byte sessionID) {
+ public void endService (SessionType serviceType) {
if (sdlProtocol == null) {
return;
}
- sdlProtocol.endService(serviceType,sessionID);
+ sdlProtocol.endService(serviceType, (byte)this.sessionId);
}
@@ -156,18 +157,6 @@ public abstract class BaseSdlSession implements ISdlProtocol, ISdlConnectionList
return sdlProtocol != null && sdlProtocol.isConnected();
}
-
- public void shutdown(String info){
- DebugTool.logInfo(TAG, "Shutdown - " + info);
- this.sessionListener.onTransportDisconnected(info);
-
- }
-
- @Override
- public void onTransportDisconnected(String info, boolean altTransportAvailable, BaseTransportConfig transportConfig) {
- this.sessionListener.onTransportDisconnected(info, altTransportAvailable, this.transportConfig);
- }
-
/**
* Get the current protocol version used by this session
* @return Version that represents the Protocol version being used
@@ -184,22 +173,10 @@ public abstract class BaseSdlSession implements ISdlProtocol, ISdlConnectionList
return this.transportConfig;
}
- public int getSessionHashId() {
- return this.sessionHashId;
- }
-
- public byte getSessionId() {
- return this.sessionId;
- }
-
public void setSdlSecurity(SdlSecurityBase sec) {
sdlSecurity = sec;
}
- public SdlSecurityBase getSdlSecurity() {
- return sdlSecurity;
- }
-
protected void processControlService(ProtocolMessage msg) {
if (sdlSecurity == null)
@@ -222,7 +199,7 @@ public abstract class BaseSdlSession implements ISdlProtocol, ISdlConnectionList
protocolMessage.setData(returnBytes);
protocolMessage.setFunctionID(0x01);
protocolMessage.setVersion((byte)sdlProtocol.getProtocolVersion().getMajor());
- protocolMessage.setSessionID(getSessionId());
+ protocolMessage.setSessionID((byte)this.sessionId);
//sdlSecurity.hs();
@@ -234,53 +211,6 @@ public abstract class BaseSdlSession implements ISdlProtocol, ISdlConnectionList
return encryptedServices.contains(sType);
}
- @Override
- public void onTransportDisconnected(String info) {
- this.sessionListener.onTransportDisconnected(info);
- }
-
-
- @Override
- public void onTransportError(String info, Exception e) {
- this.sessionListener.onTransportError(info, e);
- }
-
- @Override
- public void onProtocolMessageReceived(ProtocolMessage msg) {
- if (msg.getSessionType().equals(SessionType.CONTROL)) {
- processControlService(msg);
- return;
- }
-
- this.sessionListener.onProtocolMessageReceived(msg);
- }
-
- @Override
- public void onHeartbeatTimedOut(byte sessionID) {
- this.sessionListener.onHeartbeatTimedOut(sessionID);
-
- }
-
- @Override
- public void onProtocolError(String info, Exception e) {
- this.sessionListener.onProtocolError(info, e);
- DebugTool.logError(TAG,"on protocol error", e);
- }
-
- @Override
- public void onProtocolServiceDataACK(SessionType sessionType, int dataSize, byte sessionID) {
- this.sessionListener.onProtocolServiceDataACK(sessionType, dataSize, sessionID);
- }
-
-
-
- @Override
- public void onAuthTokenReceived(String token, byte sessionID) {
- //This is not used in the base library. Will only be used in the Android library while it has the SdlConnection class
- //See onAuthTokenReceived(String token) in this class instead
-
- }
-
public void addServiceListener(SessionType serviceType, ISdlServiceListener sdlServiceListener){
if(serviceListeners == null){
serviceListeners = new HashMap<>();
@@ -309,22 +239,6 @@ public abstract class BaseSdlSession implements ISdlProtocol, ISdlConnectionList
this.desiredVideoParams = params;
}
- /**
- * Returns the currently set desired video streaming parameters. If there haven't been any set,
- * the default options will be returned and set for this instance.
- * @return the desired video streaming parameters
- */
- public VideoStreamingParameters getDesiredVideoParams(){
- if(desiredVideoParams == null){
- desiredVideoParams = new VideoStreamingParameters();
- }
- return desiredVideoParams;
- }
-
- public void setAcceptedVideoParams(VideoStreamingParameters params){
- this.acceptedVideoParams = params;
- }
-
public VideoStreamingParameters getAcceptedVideoParams(){
return acceptedVideoParams;
}
@@ -347,17 +261,72 @@ public abstract class BaseSdlSession implements ISdlProtocol, ISdlConnectionList
/* ***********************************************************************************************************************************************************************
- * ***************************************************************** IProtocol Listener ********************************************************************************
+ * ***************************************************************** ISdlProtocol Listener ********************************************************************************
*************************************************************************************************************************************************************************/
- public void onProtocolMessageBytesToSend(SdlPacket packet) {
- //DebugTool.logInfo(TAG, "onProtocolMessageBytesToSend - " + packet.getTransportType());
- sdlProtocol.sendPacket(packet);
+ @Override
+ public void onProtocolMessageReceived(ProtocolMessage msg) {
+ if (msg.getSessionType().equals(SessionType.CONTROL)) {
+ processControlService(msg);
+ } else if (SessionType.RPC.equals(msg.getSessionType())
+ || SessionType.BULK_DATA.equals(msg.getSessionType())) {
+ RPCMessage rpc = RpcConverter.extractRpc(msg, this.sdlProtocol.getProtocolVersion());
+ this.sessionListener.onRPCMessageReceived(rpc);
+ }
+
+ }
+ //To be implemented by child class
+ @Override
+ public abstract void onServiceStarted(SdlPacket packet, SessionType sessionType, int sessionID, Version version, boolean isEncrypted);
+ @Override
+ public abstract void onServiceEnded(SdlPacket packet, SessionType sessionType, int sessionID);
+ @Override
+ public abstract void onServiceError(SdlPacket packet, SessionType sessionType, int sessionID, String error);
+
+
+ @Override
+ public void onProtocolError(String info, Exception e) {
+ //TODO is there anything to pass forward here?
+ DebugTool.logError(TAG,"on protocol error", e);
}
+ @Override
+ public int getSessionId() {
+ return this.sessionId;
+ }
- public void onProtocolSessionStartedNACKed(SessionType sessionType, byte sessionID, byte version, String correlationID, List<String> rejectedParams){
- onProtocolSessionNACKed(sessionType,sessionID,version,correlationID,rejectedParams);
+ @Override
+ public void shutdown(String info) {
+ DebugTool.logInfo(TAG, "Shutdown - " + info);
+ this.sessionListener.onTransportDisconnected(info, false, this.transportConfig);
+ }
+
+ @Override
+ public void onTransportDisconnected(String info, boolean altTransportAvailable, BaseTransportConfig transportConfig) {
+ this.sessionListener.onTransportDisconnected(info, altTransportAvailable, this.transportConfig);
+ }
+
+ @Override
+ public SdlSecurityBase getSdlSecurity() {
+ return sdlSecurity;
+ }
+
+ /**
+ * Returns the currently set desired video streaming parameters. If there haven't been any set,
+ * the default options will be returned and set for this instance.
+ * @return the desired video streaming parameters
+ */
+ @Override
+ public VideoStreamingParameters getDesiredVideoParams() {
+ if (desiredVideoParams == null) {
+ desiredVideoParams = new VideoStreamingParameters();
+ }
+ return desiredVideoParams;
+ }
+
+ @Override
+ public void setAcceptedVideoParams(VideoStreamingParameters params) {
+ this.acceptedVideoParams = params;
}
@Override
@@ -365,12 +334,6 @@ public abstract class BaseSdlSession implements ISdlProtocol, ISdlConnectionList
this.sessionListener.onAuthTokenReceived(authToken, sessionId);
}
- /* Not supported methods from IProtocolListener */
- public void onProtocolHeartbeat(SessionType sessionType, byte sessionID) { /* Not supported */}
- public void onProtocolHeartbeatACK(SessionType sessionType, byte sessionID) {/* Not supported */}
- public void onResetOutgoingHeartbeat(SessionType sessionType, byte sessionID) {/* Not supported */}
- public void onResetIncomingHeartbeat(SessionType sessionType, byte sessionID) {/* Not supported */}
-
/* ***********************************************************************************************************************************************************************
* ***************************************************************** Security Listener *********************************************************************************
*************************************************************************************************************************************************************************/
@@ -390,17 +353,13 @@ public abstract class BaseSdlSession implements ISdlProtocol, ISdlConnectionList
service = iter.next();
if (service != null)
- sdlProtocol.startService(service, getSessionId(), true);
+ sdlProtocol.startService(service, (byte)this.sessionId, true);
iter.remove();
}
}
}
- @Override
- public void stopStream(SessionType serviceType) {
- //Currently does nothing as streaming is not available. Also should only be managed through managers
- }
/**
diff --git a/base/src/main/java/com/smartdevicelink/SdlConnection/ISdlConnectionListener.java b/base/src/main/java/com/smartdevicelink/SdlConnection/ISdlSessionListener.java
index 87fd35122..3cd6c23c9 100644
--- a/base/src/main/java/com/smartdevicelink/SdlConnection/ISdlConnectionListener.java
+++ b/base/src/main/java/com/smartdevicelink/SdlConnection/ISdlSessionListener.java
@@ -29,44 +29,53 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
-package com.smartdevicelink.SdlConnection;
-
-import com.smartdevicelink.protocol.ProtocolMessage;
-import com.smartdevicelink.protocol.enums.SessionType;
-import com.smartdevicelink.transport.BaseTransportConfig;
-
-import java.util.List;
-
-
-public interface ISdlConnectionListener {
- @Deprecated
- void onTransportDisconnected(String info);
-
- void onTransportDisconnected(String info, boolean availablePrimary, BaseTransportConfig transportConfig);
-
-
- void onTransportError(String info, Exception e);
-
- void onProtocolMessageReceived(ProtocolMessage msg);
-
- void onProtocolSessionStartedNACKed(SessionType sessionType,
- byte sessionID, byte version, String correlationID, List<String> rejectedParams);
-
- void onProtocolSessionStarted(SessionType sessionType,
- byte sessionID, byte version, String correlationID, int hashID, boolean isEncrypted);
-
- void onProtocolSessionEnded(SessionType sessionType,
- byte sessionID, String correlationID);
-
- void onProtocolSessionEndedNACKed(SessionType sessionType,
- byte sessionID, String correlationID);
-
- void onProtocolError(String info, Exception e);
-
- @Deprecated
- void onHeartbeatTimedOut(byte sessionID);
-
- void onProtocolServiceDataACK(SessionType sessionType, int dataSize, byte sessionID);
-
- void onAuthTokenReceived(String authToken, byte sessionID);
-}
+package com.smartdevicelink.SdlConnection;
+
+import androidx.annotation.RestrictTo;
+
+import com.smartdevicelink.protocol.enums.SessionType;
+import com.smartdevicelink.proxy.RPCMessage;
+import com.smartdevicelink.transport.BaseTransportConfig;
+import com.smartdevicelink.util.Version;
+
+@RestrictTo(RestrictTo.Scope.LIBRARY)
+public interface ISdlSessionListener {
+
+ /**
+ * Called when a transport disconnects
+ * @param info a human readable string including information on the disconnected transport
+ * @param availablePrimary a boolean flag indicating if there is another transport that can
+ * be used to connect with the SDL enabled device.
+ * @param transportConfig the previously supplied transport config
+ */
+ void onTransportDisconnected(String info, boolean availablePrimary, BaseTransportConfig transportConfig);
+
+ /**
+ * Called when an RPC message has been received from the connected SDL device
+ * @param rpcMessage the RPC message that was received
+ */
+ void onRPCMessageReceived(RPCMessage rpcMessage);
+
+ /**
+ * Called to indicate that a session has started with the connected SDL device. This means the
+ * RPC and Bulk service types have also been started.
+ * @param sessionID session ID associated with the session that was established
+ * @param version the protocol version that has been negotiated for this session
+ */
+ void onSessionStarted(int sessionID, Version version);
+
+ /**
+ * Called to indicate that the session that was previously established has now ended. This means
+ * that all services previously started on this session are also closed.
+ * @param sessionID the session ID that was assigned to this now closed session
+ */
+ void onSessionEnded( int sessionID);
+
+ /**
+ * Called when an auth token has been received. This should always happen after the session
+ * has been created.
+ * @param authToken the actual auth token that has been stringified
+ * @param sessionID the session ID that this auth token is associated with
+ */
+ void onAuthTokenReceived(String authToken, int sessionID);
+} \ No newline at end of file
diff --git a/base/src/main/java/com/smartdevicelink/managers/BaseSdlManager.java b/base/src/main/java/com/smartdevicelink/managers/BaseSdlManager.java
index cac7d0923..8332f9d0e 100644
--- a/base/src/main/java/com/smartdevicelink/managers/BaseSdlManager.java
+++ b/base/src/main/java/com/smartdevicelink/managers/BaseSdlManager.java
@@ -31,13 +31,14 @@
*/
package com.smartdevicelink.managers;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.managers.file.FileManager;
import com.smartdevicelink.managers.file.FileManagerConfig;
import com.smartdevicelink.managers.file.filetypes.SdlArtwork;
import com.smartdevicelink.managers.lifecycle.LifecycleConfigurationUpdate;
import com.smartdevicelink.managers.lifecycle.LifecycleManager;
+import com.smartdevicelink.managers.lifecycle.SystemCapabilityManager;
import com.smartdevicelink.managers.permission.PermissionManager;
import com.smartdevicelink.managers.screen.ScreenManager;
import com.smartdevicelink.protocol.enums.FunctionID;
@@ -46,7 +47,6 @@ import com.smartdevicelink.proxy.RPCMessage;
import com.smartdevicelink.proxy.RPCNotification;
import com.smartdevicelink.proxy.RPCRequest;
import com.smartdevicelink.proxy.RPCResponse;
-import com.smartdevicelink.managers.lifecycle.SystemCapabilityManager;
import com.smartdevicelink.proxy.interfaces.ISdl;
import com.smartdevicelink.proxy.rpc.ChangeRegistration;
import com.smartdevicelink.proxy.rpc.OnHMIStatus;
@@ -56,7 +56,6 @@ import com.smartdevicelink.proxy.rpc.TTSChunk;
import com.smartdevicelink.proxy.rpc.TemplateColorScheme;
import com.smartdevicelink.proxy.rpc.enums.AppHMIType;
import com.smartdevicelink.proxy.rpc.enums.Language;
-import com.smartdevicelink.proxy.rpc.enums.Result;
import com.smartdevicelink.proxy.rpc.enums.SdlDisconnectedReason;
import com.smartdevicelink.proxy.rpc.listeners.OnMultipleRequestListener;
import com.smartdevicelink.proxy.rpc.listeners.OnRPCNotificationListener;
@@ -200,6 +199,12 @@ abstract class BaseSdlManager {
@Override
public void onResponse(int correlationId, RPCResponse response) {
if (response.getSuccess()) {
+ try {
+ DebugTool.logInfo(TAG, response.serializeJSON().toString());
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
// go through and change sdlManager properties that were changed via the LCU update
hmiLanguage = actualHMILanguage;
language = actualLanguage;
@@ -219,18 +224,10 @@ abstract class BaseSdlManager {
if (lcu.getVoiceRecognitionCommandNames() != null) {
vrSynonyms = lcu.getVoiceRecognitionCommandNames();
}
+ } else {
+ DebugTool.logError(TAG, "Change Registration onError: " + response.getResultCode() + " | Info: " + response.getInfo());
+ retryChangeRegistration();
}
- try {
- DebugTool.logInfo(TAG, response.serializeJSON().toString());
- } catch (JSONException e) {
- e.printStackTrace();
- }
- }
-
- @Override
- public void onError(int correlationId, Result resultCode, String info) {
- DebugTool.logError(TAG, "Change Registration onError: " + resultCode + " | Info: " + info);
- retryChangeRegistration();
}
});
this.sendRPC(changeRegistration);
diff --git a/base/src/main/java/com/smartdevicelink/managers/BaseSubManager.java b/base/src/main/java/com/smartdevicelink/managers/BaseSubManager.java
index 10477d31a..74aebda5a 100644
--- a/base/src/main/java/com/smartdevicelink/managers/BaseSubManager.java
+++ b/base/src/main/java/com/smartdevicelink/managers/BaseSubManager.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.managers;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.interfaces.ISdl;
import com.smartdevicelink.transport.utl.TransportRecord;
diff --git a/base/src/main/java/com/smartdevicelink/managers/ServiceEncryptionListener.java b/base/src/main/java/com/smartdevicelink/managers/ServiceEncryptionListener.java
index fedefdec2..36883a23c 100644
--- a/base/src/main/java/com/smartdevicelink/managers/ServiceEncryptionListener.java
+++ b/base/src/main/java/com/smartdevicelink/managers/ServiceEncryptionListener.java
@@ -1,7 +1,7 @@
package com.smartdevicelink.managers;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.smartdevicelink.protocol.enums.SessionType;
diff --git a/base/src/main/java/com/smartdevicelink/managers/StreamingStateMachine.java b/base/src/main/java/com/smartdevicelink/managers/StreamingStateMachine.java
index 6025167f5..f828ff58e 100644
--- a/base/src/main/java/com/smartdevicelink/managers/StreamingStateMachine.java
+++ b/base/src/main/java/com/smartdevicelink/managers/StreamingStateMachine.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.managers;
-import android.support.annotation.IntDef;
+import androidx.annotation.IntDef;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
diff --git a/base/src/main/java/com/smartdevicelink/managers/audio/BaseAudioStreamManager.java b/base/src/main/java/com/smartdevicelink/managers/audio/BaseAudioStreamManager.java
index e3e4d325c..e4c191308 100644
--- a/base/src/main/java/com/smartdevicelink/managers/audio/BaseAudioStreamManager.java
+++ b/base/src/main/java/com/smartdevicelink/managers/audio/BaseAudioStreamManager.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.managers.audio;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.managers.BaseSubManager;
import com.smartdevicelink.proxy.interfaces.ISdl;
diff --git a/base/src/main/java/com/smartdevicelink/managers/file/BaseFileManager.java b/base/src/main/java/com/smartdevicelink/managers/file/BaseFileManager.java
index 30a9f92bc..6056cdbf6 100644
--- a/base/src/main/java/com/smartdevicelink/managers/file/BaseFileManager.java
+++ b/base/src/main/java/com/smartdevicelink/managers/file/BaseFileManager.java
@@ -33,7 +33,7 @@
package com.smartdevicelink.managers.file;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.managers.BaseSubManager;
import com.smartdevicelink.managers.CompletionListener;
@@ -146,24 +146,21 @@ abstract class BaseFileManager extends BaseSubManager {
@Override
public void onResponse(int correlationId, RPCResponse response) {
ListFilesResponse listFilesResponse = (ListFilesResponse) response;
- if(listFilesResponse.getSuccess()){
+ if (listFilesResponse.getSuccess()) {
bytesAvailable = listFilesResponse.getSpaceAvailable() != null ? listFilesResponse.getSpaceAvailable() : SPACE_AVAILABLE_MAX_VALUE;
- if(listFilesResponse.getFilenames() != null){
+ if (listFilesResponse.getFilenames() != null) {
remoteFiles.addAll(listFilesResponse.getFilenames());
}
// on callback set manager to ready state
transitionToState(BaseSubManager.READY);
+ } else {
+ // file list could not be received. assume that setting can work and allow SDLManager to start
+ DebugTool.logError(TAG, "File Manager could not list files");
+ bytesAvailable = SPACE_AVAILABLE_MAX_VALUE;
+ transitionToState(BaseSubManager.READY);
}
}
-
- @Override
- public void onError(int correlationId, Result resultCode, String info) {
- // file list could not be received. assume that setting can work and allow SDLManager to start
- DebugTool.logError(TAG, "File Manager could not list files");
- bytesAvailable = SPACE_AVAILABLE_MAX_VALUE;
- transitionToState(BaseSubManager.READY);
- }
});
internalInterface.sendRPC(listFiles);
}
@@ -273,23 +270,6 @@ abstract class BaseFileManager extends BaseSubManager {
}
@Override
- public void onError(int correlationId, Result resultCode, String info) {
- final RPCRequest request = requestMap.get(correlationId);
- if (request != null) {
- if (!deletionOperation) {
- if (shouldReUploadFile(((PutFile) request).getSdlFileName(), ((PutFile) request).getFileType())) {
- request.setOnRPCResponseListener(null);
- requestsToResend.add(request);
- } else {
- errors.put(((PutFile) request).getSdlFileName(), buildErrorString(resultCode, info));
- }
- } else {
- errors.put(((DeleteFile) request).getSdlFileName(), buildErrorString(resultCode, info));
- }
- }
- }
-
- @Override
public void onResponse(int correlationId, RPCResponse response) {
if (response.getSuccess()) {
if (response instanceof PutFileResponse) {
@@ -310,9 +290,22 @@ abstract class BaseFileManager extends BaseSubManager {
uploadedEphemeralFileNames.remove(((DeleteFile) requestMap.get(correlationId)).getSdlFileName());
}
}
+ } else {
+ final RPCRequest request = requestMap.get(correlationId);
+ if (request != null) {
+ if (!deletionOperation) {
+ if (shouldReUploadFile(((PutFile) request).getSdlFileName(), ((PutFile) request).getFileType())) {
+ request.setOnRPCResponseListener(null);
+ requestsToResend.add(request);
+ } else {
+ errors.put(((PutFile) request).getSdlFileName(), buildErrorString(response.getResultCode(), response.getInfo()));
+ }
+ } else {
+ errors.put(((DeleteFile) request).getSdlFileName(), buildErrorString(response.getResultCode(), response.getInfo()));
+ }
+ }
}
}
-
};
internalInterface.sendRequests(requests, onMultipleRequestListener);
}
@@ -342,19 +335,15 @@ abstract class BaseFileManager extends BaseSubManager {
bytesAvailable = putFileResponse.getSpaceAvailable() != null ? putFileResponse.getSpaceAvailable() : SPACE_AVAILABLE_MAX_VALUE;
remoteFiles.add(file.getName());
uploadedEphemeralFileNames.add(file.getName());
- }
- if (listener != null) {
- listener.onComplete(putFileResponse.getSuccess());
- }
- }
-
- @Override
- public void onError(int correlationId, Result resultCode, String info) {
- super.onError(correlationId, resultCode, info);
- if (shouldReUploadFile(file.getName(), file.getType())) {
- uploadFile(file, listener);
- } else if (listener != null) {
- listener.onComplete(false);
+ if (listener != null) {
+ listener.onComplete(true);
+ }
+ } else {
+ if (shouldReUploadFile(file.getName(), file.getType())) {
+ uploadFile(file, listener);
+ } else if (listener != null) {
+ listener.onComplete(false);
+ }
}
}
});
@@ -369,9 +358,9 @@ abstract class BaseFileManager extends BaseSubManager {
*/
private boolean shouldReUploadFile(String fileName, FileType fileType) {
if (!failedFileUploadsIndex.containsKey(fileName)) {
- if (fileType.equals(FileType.GRAPHIC_JPEG) ||
- fileType.equals(FileType.GRAPHIC_BMP) ||
- fileType.equals(FileType.GRAPHIC_PNG)) {
+ if (FileType.GRAPHIC_JPEG.equals(fileType) ||
+ FileType.GRAPHIC_BMP.equals(fileType) ||
+ FileType.GRAPHIC_PNG.equals(fileType)) {
failedFileUploadsIndex.put(fileName, fileManagerConfig.getArtworkRetryCount());
} else {
failedFileUploadsIndex.put(fileName, fileManagerConfig.getFileRetryCount());
diff --git a/base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseEncryptionLifecycleManager.java b/base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseEncryptionLifecycleManager.java
index 33bb0a67a..a458ae048 100644
--- a/base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseEncryptionLifecycleManager.java
+++ b/base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseEncryptionLifecycleManager.java
@@ -32,7 +32,7 @@
package com.smartdevicelink.managers.lifecycle;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.SdlConnection.SdlSession;
import com.smartdevicelink.managers.ServiceEncryptionListener;
import com.smartdevicelink.protocol.enums.FunctionID;
diff --git a/base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseLifecycleManager.java b/base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseLifecycleManager.java
index 765944492..77fac4cfe 100644
--- a/base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseLifecycleManager.java
+++ b/base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseLifecycleManager.java
@@ -32,11 +32,11 @@
package com.smartdevicelink.managers.lifecycle;
-import android.support.annotation.NonNull;
-import android.support.annotation.RestrictTo;
+import androidx.annotation.NonNull;
+import androidx.annotation.RestrictTo;
import com.livio.taskmaster.Taskmaster;
-import com.smartdevicelink.SdlConnection.ISdlConnectionListener;
+import com.smartdevicelink.SdlConnection.ISdlSessionListener;
import com.smartdevicelink.SdlConnection.SdlSession;
import com.smartdevicelink.exception.SdlException;
import com.smartdevicelink.managers.SdlManager;
@@ -50,12 +50,11 @@ import com.smartdevicelink.proxy.RPCMessage;
import com.smartdevicelink.proxy.RPCNotification;
import com.smartdevicelink.proxy.RPCRequest;
import com.smartdevicelink.proxy.RPCResponse;
-import com.smartdevicelink.managers.lifecycle.BaseSystemCapabilityManager;
import com.smartdevicelink.proxy.interfaces.IAudioStreamListener;
import com.smartdevicelink.proxy.interfaces.ISdl;
import com.smartdevicelink.proxy.interfaces.ISdlServiceListener;
import com.smartdevicelink.proxy.interfaces.IVideoStreamListener;
-import com.smartdevicelink.proxy.interfaces.OnSystemCapabilityListener;
+import com.smartdevicelink.proxy.rpc.GenericResponse;
import com.smartdevicelink.proxy.rpc.OnAppInterfaceUnregistered;
import com.smartdevicelink.proxy.rpc.OnButtonEvent;
import com.smartdevicelink.proxy.rpc.OnButtonPress;
@@ -81,7 +80,6 @@ import com.smartdevicelink.proxy.rpc.enums.Result;
import com.smartdevicelink.proxy.rpc.enums.SdlDisconnectedReason;
import com.smartdevicelink.proxy.rpc.enums.SystemCapabilityType;
import com.smartdevicelink.proxy.rpc.listeners.OnMultipleRequestListener;
-import com.smartdevicelink.proxy.rpc.listeners.OnPutFileUpdateListener;
import com.smartdevicelink.proxy.rpc.listeners.OnRPCListener;
import com.smartdevicelink.proxy.rpc.listeners.OnRPCNotificationListener;
import com.smartdevicelink.proxy.rpc.listeners.OnRPCRequestListener;
@@ -158,7 +156,7 @@ abstract class BaseLifecycleManager {
*/
public void startRPCEncryption() {
if (session != null) {
- session.startService(SessionType.RPC, session.getSessionId(), true);
+ session.startService(SessionType.RPC, true);
}
}
@@ -210,17 +208,6 @@ abstract class BaseLifecycleManager {
listener.getSingleRpcResponseListener().onResponse(correlationId, response);
}
}
-
- @Override
- public void onError(int correlationId, Result resultCode, String info) {
- super.onError(correlationId, resultCode, info);
- if (devOnRPCResponseListener != null) {
- devOnRPCResponseListener.onError(correlationId, resultCode, info);
- }
- if (listener.getSingleRpcResponseListener() != null) {
- listener.getSingleRpcResponseListener().onError(correlationId, resultCode, info);
- }
- }
});
}
sendRPCMessagePrivate(request, false);
@@ -270,20 +257,6 @@ abstract class BaseLifecycleManager {
// recurse after onResponse
sendSequentialRPCs(messages, listener);
}
-
- @Override
- public void onError(int correlationId, Result resultCode, String info) {
- if (devOnRPCResponseListener != null) {
- devOnRPCResponseListener.onError(correlationId, resultCode, info);
- }
- if (listener != null) {
- listener.onError(correlationId, resultCode, info);
- listener.onUpdate(messages.size());
-
- }
- // recurse after onError
- sendSequentialRPCs(messages, listener);
- }
});
sendRPCMessagePrivate(request, false);
} else {
@@ -530,24 +503,6 @@ abstract class BaseLifecycleManager {
}
/**
- * Only call this method for a PutFile response. It will cause a class cast exception if not.
- *
- * @param correlationId correlation id of the packet being updated
- * @param bytesWritten how many bytes were written
- * @param totalSize the total size in bytes
- */
- @SuppressWarnings("unused")
- private void onPacketProgress(int correlationId, long bytesWritten, long totalSize) {
- synchronized (ON_UPDATE_LISTENER_LOCK) {
- if (rpcResponseListeners != null
- && rpcResponseListeners.containsKey(correlationId)) {
- ((OnPutFileUpdateListener) rpcResponseListeners.get(correlationId)).onUpdate(correlationId, bytesWritten, totalSize);
- }
- }
-
- }
-
- /**
* Will provide callback to the listener either onFinish or onError depending on the RPCResponses result code,
* <p>Will automatically remove the listener for the list of listeners on completion.
*
@@ -561,10 +516,8 @@ abstract class BaseLifecycleManager {
if (rpcResponseListeners != null
&& rpcResponseListeners.containsKey(correlationId)) {
OnRPCResponseListener listener = rpcResponseListeners.get(correlationId);
- if (msg.getSuccess()) {
+ if (listener != null) {
listener.onResponse(correlationId, msg);
- } else {
- listener.onError(correlationId, msg.getResultCode(), msg.getInfo());
}
rpcResponseListeners.remove(correlationId);
return true;
@@ -578,15 +531,11 @@ abstract class BaseLifecycleManager {
*
* @param listener that will get called back when a response is received
* @param correlationId of the RPCRequest that was sent
- * @param totalSize only include if this is an OnPutFileUpdateListener. Otherwise it will be ignored.
*/
- private void addOnRPCResponseListener(OnRPCResponseListener listener, int correlationId, int totalSize) {
+ private void addOnRPCResponseListener(OnRPCResponseListener listener, int correlationId) {
synchronized (ON_UPDATE_LISTENER_LOCK) {
if (rpcResponseListeners != null
&& listener != null) {
- if (listener.getListenerType() == OnRPCResponseListener.UPDATE_LISTENER_TYPE_PUT_FILE) {
- ((OnPutFileUpdateListener) listener).setTotalSize(totalSize);
- }
listener.onStart(correlationId);
rpcResponseListeners.put(correlationId, listener);
}
@@ -735,7 +684,9 @@ abstract class BaseLifecycleManager {
// Test for illegal correlation ID
if (request.getCorrelationID() == REGISTER_APP_INTERFACE_CORRELATION_ID || request.getCorrelationID() == UNREGISTER_APP_INTERFACE_CORRELATION_ID || request.getCorrelationID() == PoliciesFetcher.POLICIES_CORRELATION_ID) {
if (listener != null) {
- request.getOnRPCResponseListener().onError(request.getCorrelationID(), Result.REJECTED, "Invalid correlation ID. The correlation ID, " + request.getCorrelationID() + " , is a reserved correlation ID.");
+ GenericResponse response = new GenericResponse(false, Result.REJECTED);
+ response.setInfo("Invalid correlation ID. The correlation ID, " + request.getCorrelationID() + " , is a reserved correlation ID.");
+ request.getOnRPCResponseListener().onResponse(request.getCorrelationID(), response);
}
return;
}
@@ -743,7 +694,9 @@ abstract class BaseLifecycleManager {
// Prevent developer from sending RAI or UAI manually
if (request.getFunctionName().equals(FunctionID.REGISTER_APP_INTERFACE.toString()) || request.getFunctionName().equals(FunctionID.UNREGISTER_APP_INTERFACE.toString())) {
if (listener != null) {
- request.getOnRPCResponseListener().onError(request.getCorrelationID(), Result.REJECTED, "The RPCRequest, " + message.getFunctionName() + ", is un-allowed to be sent manually by the developer.");
+ GenericResponse response = new GenericResponse(false, Result.REJECTED);
+ response.setInfo("The RPCRequest, " + message.getFunctionName() + ", is un-allowed to be sent manually by the developer.");
+ request.getOnRPCResponseListener().onResponse(request.getCorrelationID(), response);
}
return;
}
@@ -785,7 +738,7 @@ abstract class BaseLifecycleManager {
final ProtocolMessage pm = new ProtocolMessage();
pm.setData(msgBytes);
if (session != null) {
- pm.setSessionID(session.getSessionId());
+ pm.setSessionID((byte)session.getSessionId());
}
pm.setMessageType(MessageType.RPC);
@@ -803,7 +756,9 @@ abstract class BaseLifecycleManager {
RPCRequest request = (RPCRequest) message;
OnRPCResponseListener listener = ((RPCRequest) message).getOnRPCResponseListener();
if (listener != null) {
- listener.onError(request.getCorrelationID(), Result.ABORTED, errorInfo);
+ GenericResponse response = new GenericResponse(false, Result.ABORTED);
+ response.setInfo(errorInfo);
+ request.getOnRPCResponseListener().onResponse(request.getCorrelationID(), response);
}
}
DebugTool.logWarning(TAG, errorInfo);
@@ -821,7 +776,7 @@ abstract class BaseLifecycleManager {
OnRPCResponseListener listener = ((RPCRequest) message).getOnRPCResponseListener();
if (listener != null) {
- addOnRPCResponseListener(listener, corrId, msgBytes.length);
+ addOnRPCResponseListener(listener, corrId);
}
}
} else if (RPCMessage.KEY_RESPONSE.equals(message.getMessageType())) { // Response Specifics
@@ -855,106 +810,98 @@ abstract class BaseLifecycleManager {
}
/* *******************************************************************************************************
- *************************************** ISdlConnectionListener START ************************************
+ **************************************** ISdlSessionListener START **************************************
*********************************************************************************************************/
- final ISdlConnectionListener sdlConnectionListener = new ISdlConnectionListener() {
- @Override
- public void onTransportDisconnected(String info) {
- onClose(info, null, null);
-
- }
+ final ISdlSessionListener sdlSessionListener = new ISdlSessionListener() {
@Override
public void onTransportDisconnected(String info, boolean availablePrimary, BaseTransportConfig transportConfig) {
BaseLifecycleManager.this.onTransportDisconnected(info, availablePrimary, transportConfig);
-
- }
-
- @Override
- public void onTransportError(String info, Exception e) {
- onClose(info, e, null);
-
}
@Override
- public void onProtocolMessageReceived(ProtocolMessage msg) {
+ public void onRPCMessageReceived(RPCMessage rpc) {
//Incoming message
- if (SessionType.RPC.equals(msg.getSessionType())
- || SessionType.BULK_DATA.equals(msg.getSessionType())) {
-
- RPCMessage rpc = RpcConverter.extractRpc(msg, session.getProtocolVersion());
- if (rpc != null) {
- String messageType = rpc.getMessageType();
- DebugTool.logInfo(TAG, "RPC received - " + messageType);
+ if (rpc != null) {
+ String messageType = rpc.getMessageType();
+ DebugTool.logInfo(TAG, "RPC received - " + messageType);
- rpc.format(rpcSpecVersion, true);
+ rpc.format(rpcSpecVersion, true);
- onRPCReceived(rpc);
+ BaseLifecycleManager.this.onRPCReceived(rpc);
- if (RPCMessage.KEY_RESPONSE.equals(messageType)) {
+ if (RPCMessage.KEY_RESPONSE.equals(messageType)) {
- onRPCResponseReceived((RPCResponse) rpc);
+ onRPCResponseReceived((RPCResponse) rpc);
- } else if (RPCMessage.KEY_NOTIFICATION.equals(messageType)) {
- FunctionID functionID = rpc.getFunctionID();
- if (functionID != null && (functionID.equals(FunctionID.ON_BUTTON_PRESS)) || functionID.equals(FunctionID.ON_BUTTON_EVENT)) {
- RPCNotification notificationCompat = handleButtonNotificationFormatting(rpc);
- if (notificationCompat != null) {
- onRPCNotificationReceived((notificationCompat));
- }
+ } else if (RPCMessage.KEY_NOTIFICATION.equals(messageType)) {
+ FunctionID functionID = rpc.getFunctionID();
+ if (functionID != null && (functionID.equals(FunctionID.ON_BUTTON_PRESS)) || functionID.equals(FunctionID.ON_BUTTON_EVENT)) {
+ RPCNotification notificationCompat = handleButtonNotificationFormatting(rpc);
+ if (notificationCompat != null) {
+ onRPCNotificationReceived((notificationCompat));
}
+ }
- onRPCNotificationReceived((RPCNotification) rpc);
+ onRPCNotificationReceived((RPCNotification) rpc);
- } else if (RPCMessage.KEY_REQUEST.equals(messageType)) {
+ } else if (RPCMessage.KEY_REQUEST.equals(messageType)) {
- onRPCRequestReceived((RPCRequest) rpc);
+ onRPCRequestReceived((RPCRequest) rpc);
- }
- } else {
- DebugTool.logWarning(TAG, "Shouldn't be here");
}
+ } else {
+ DebugTool.logWarning(TAG, "Shouldn't be here");
}
-
}
- @Override
- public void onProtocolSessionStartedNACKed(SessionType sessionType, byte sessionID, byte version, String correlationID, List<String> rejectedParams) {
- DebugTool.logWarning(TAG, sessionType.getName() + " onProtocolSessionStartedNACKed " + sessionID + " RejectedParams: " + rejectedParams);
- BaseLifecycleManager.this.onStartServiceNACKed(sessionType);
- }
@Override
- public void onProtocolSessionStarted(SessionType sessionType, byte sessionID, byte version, String correlationID, int hashID, boolean isEncrypted) {
+ public void onSessionStarted(int sessionID, Version version) {
DebugTool.logInfo(TAG, "on protocol session started");
- BaseLifecycleManager.this.onServiceStarted(sessionType);
- }
-
- @Override
- public void onProtocolSessionEnded(SessionType sessionType, byte sessionID, String correlationID) {
- //Currently not necessary
- }
-
- @Override
- public void onProtocolSessionEndedNACKed(SessionType sessionType, byte sessionID, String correlationID) {
- //Currently not necessary
+ if (minimumProtocolVersion != null && minimumProtocolVersion.isNewerThan(version) == 1) {
+ DebugTool.logWarning(TAG, String.format("Disconnecting from head unit, the configured minimum protocol version %s is greater than the supported protocol version %s", minimumProtocolVersion, getProtocolVersion()));
+ session.endService(SessionType.RPC);
+ clean();
+ return;
+ }
+ if (appConfig != null) {
+ appConfig.prepare();
+
+ SdlMsgVersion sdlMsgVersion = new SdlMsgVersion();
+ sdlMsgVersion.setMajorVersion(MAX_SUPPORTED_RPC_VERSION.getMajor());
+ sdlMsgVersion.setMinorVersion(MAX_SUPPORTED_RPC_VERSION.getMinor());
+ sdlMsgVersion.setPatchVersion(MAX_SUPPORTED_RPC_VERSION.getPatch());
+
+ RegisterAppInterface rai = new RegisterAppInterface(sdlMsgVersion,
+ appConfig.getAppName(), appConfig.isMediaApp(), appConfig.getLanguageDesired(),
+ appConfig.getHmiDisplayLanguageDesired(), appConfig.getAppID());
+ rai.setCorrelationID(REGISTER_APP_INTERFACE_CORRELATION_ID);
+
+ rai.setTtsName(appConfig.getTtsName());
+ rai.setNgnMediaScreenAppName(appConfig.getNgnMediaScreenAppName());
+ rai.setVrSynonyms(appConfig.getVrSynonyms());
+ rai.setAppHMIType(appConfig.getAppType());
+ rai.setDayColorScheme(appConfig.getDayColorScheme());
+ rai.setNightColorScheme(appConfig.getNightColorScheme());
+ rai.setHashID(appConfig.getResumeHash());
+
+ //Add device/system info in the future
+
+ sendRPCMessagePrivate(rai, true);
+ } else {
+ DebugTool.logError(TAG, "App config was null, soo...");
+ }
}
@Override
- public void onProtocolError(String info, Exception e) {
- DebugTool.logError(TAG, "Protocol Error - " + info, e);
+ public void onSessionEnded(int sessionID) {
+ DebugTool.logInfo(TAG, "on protocol session ended");
}
@Override
- public void onHeartbeatTimedOut(byte sessionID) { /* Deprecated */ }
-
- @Override
- public void onProtocolServiceDataACK(SessionType sessionType, int dataSize, byte sessionID) {/* Unused */ }
-
-
- @Override
- public void onAuthTokenReceived(String token, byte sessionID) {
+ public void onAuthTokenReceived(String token, int sessionID) {
BaseLifecycleManager.this.authToken = token;
}
};
@@ -1212,7 +1159,7 @@ abstract class BaseLifecycleManager {
} else if (notification instanceof OnButtonPress) {
OnButtonPress onButtonPress = new OnButtonPress();
onButtonPress.setButtonPressMode(((OnButtonPress) notification).getButtonPressMode());
- onButtonPress.setCustomButtonName(((OnButtonPress) notification).getCustomButtonName());
+ onButtonPress.setCustomButtonID(((OnButtonPress) notification).getCustomButtonID());
notification2 = onButtonPress;
} else {
return null;
@@ -1317,57 +1264,12 @@ abstract class BaseLifecycleManager {
setupInternalRpcListeners();
}
- void onServiceStarted(SessionType sessionType) {
- if (sessionType != null) {
- if (minimumProtocolVersion != null && minimumProtocolVersion.isNewerThan(getProtocolVersion()) == 1) {
- DebugTool.logWarning(TAG, String.format("Disconnecting from head unit, the configured minimum protocol version %s is greater than the supported protocol version %s", minimumProtocolVersion, getProtocolVersion()));
- session.endService(sessionType, session.getSessionId());
- clean();
- return;
- }
-
- if (sessionType.equals(SessionType.RPC)) {
- if (appConfig != null) {
-
- appConfig.prepare();
-
- SdlMsgVersion sdlMsgVersion = new SdlMsgVersion();
- sdlMsgVersion.setMajorVersion(MAX_SUPPORTED_RPC_VERSION.getMajor());
- sdlMsgVersion.setMinorVersion(MAX_SUPPORTED_RPC_VERSION.getMinor());
- sdlMsgVersion.setPatchVersion(MAX_SUPPORTED_RPC_VERSION.getPatch());
-
- RegisterAppInterface rai = new RegisterAppInterface(sdlMsgVersion,
- appConfig.getAppName(), appConfig.isMediaApp(), appConfig.getLanguageDesired(),
- appConfig.getHmiDisplayLanguageDesired(), appConfig.getAppID());
- rai.setCorrelationID(REGISTER_APP_INTERFACE_CORRELATION_ID);
-
- rai.setTtsName(appConfig.getTtsName());
- rai.setNgnMediaScreenAppName(appConfig.getNgnMediaScreenAppName());
- rai.setVrSynonyms(appConfig.getVrSynonyms());
- rai.setAppHMIType(appConfig.getAppType());
- rai.setDayColorScheme(appConfig.getDayColorScheme());
- rai.setNightColorScheme(appConfig.getNightColorScheme());
- rai.setHashID(appConfig.getResumeHash());
-
- //Add device/system info in the future
-
- sendRPCMessagePrivate(rai, true);
- } else {
- DebugTool.logError(TAG, "App config was null, soo...");
- }
- }
- }
- }
abstract void cycle(SdlDisconnectedReason disconnectedReason);
void onTransportDisconnected(String info, boolean availablePrimary, BaseTransportConfig transportConfig) {
}
- void onStartServiceNACKed(SessionType sessionType) {
- }
-
-
void startVideoService(boolean encrypted, VideoStreamingParameters parameters) {
}
diff --git a/base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseSystemCapabilityManager.java b/base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseSystemCapabilityManager.java
index a86f716fd..ede4d7fbe 100644
--- a/base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseSystemCapabilityManager.java
+++ b/base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseSystemCapabilityManager.java
@@ -36,7 +36,6 @@ import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCMessage;
import com.smartdevicelink.proxy.RPCResponse;
import com.smartdevicelink.proxy.interfaces.ISdl;
-import com.smartdevicelink.proxy.interfaces.OnSystemCapabilityListener;
import com.smartdevicelink.proxy.rpc.AppServiceCapability;
import com.smartdevicelink.proxy.rpc.AppServicesCapabilities;
import com.smartdevicelink.proxy.rpc.ButtonCapabilities;
@@ -59,7 +58,6 @@ import com.smartdevicelink.proxy.rpc.enums.HMILevel;
import com.smartdevicelink.proxy.rpc.enums.ImageType;
import com.smartdevicelink.proxy.rpc.enums.MediaClockFormat;
import com.smartdevicelink.proxy.rpc.enums.PredefinedWindows;
-import com.smartdevicelink.proxy.rpc.enums.Result;
import com.smartdevicelink.proxy.rpc.enums.SystemCapabilityType;
import com.smartdevicelink.proxy.rpc.enums.WindowType;
import com.smartdevicelink.proxy.rpc.listeners.OnRPCListener;
@@ -620,13 +618,6 @@ abstract class BaseSystemCapabilityManager {
}
}
}
-
- @Override
- public void onError(int correlationId, Result resultCode, String info) {
- if (scListener != null) {
- scListener.onError(info);
- }
- }
});
request.setCorrelationID(CorrelationIdGenerator.generateId());
diff --git a/base/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleConfigurationUpdate.java b/base/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleConfigurationUpdate.java
index 031918d3b..fa85a459b 100644
--- a/base/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleConfigurationUpdate.java
+++ b/base/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleConfigurationUpdate.java
@@ -35,7 +35,7 @@
package com.smartdevicelink.managers.lifecycle;
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
import com.smartdevicelink.proxy.rpc.TTSChunk;
diff --git a/base/src/main/java/com/smartdevicelink/managers/lifecycle/OnSystemCapabilityListener.java b/base/src/main/java/com/smartdevicelink/managers/lifecycle/OnSystemCapabilityListener.java
index f1dd490a8..e4b54b207 100644
--- a/base/src/main/java/com/smartdevicelink/managers/lifecycle/OnSystemCapabilityListener.java
+++ b/base/src/main/java/com/smartdevicelink/managers/lifecycle/OnSystemCapabilityListener.java
@@ -29,7 +29,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
-package com.smartdevicelink.proxy.interfaces;
+package com.smartdevicelink.managers.lifecycle;
public interface OnSystemCapabilityListener {
void onCapabilityRetrieved(Object capability);
diff --git a/base/src/main/java/com/smartdevicelink/managers/permission/BasePermissionManager.java b/base/src/main/java/com/smartdevicelink/managers/permission/BasePermissionManager.java
index 5314d0fd5..669a34a7a 100644
--- a/base/src/main/java/com/smartdevicelink/managers/permission/BasePermissionManager.java
+++ b/base/src/main/java/com/smartdevicelink/managers/permission/BasePermissionManager.java
@@ -31,8 +31,8 @@
*/
package com.smartdevicelink.managers.permission;
-import android.support.annotation.IntDef;
-import android.support.annotation.NonNull;
+import androidx.annotation.IntDef;
+import androidx.annotation.NonNull;
import com.smartdevicelink.managers.BaseSubManager;
import com.smartdevicelink.managers.CompletionListener;
diff --git a/base/src/main/java/com/smartdevicelink/managers/permission/OnPermissionChangeListener.java b/base/src/main/java/com/smartdevicelink/managers/permission/OnPermissionChangeListener.java
index 160d94e83..dd600fc6d 100644
--- a/base/src/main/java/com/smartdevicelink/managers/permission/OnPermissionChangeListener.java
+++ b/base/src/main/java/com/smartdevicelink/managers/permission/OnPermissionChangeListener.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.managers.permission;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
diff --git a/base/src/main/java/com/smartdevicelink/managers/permission/PermissionElement.java b/base/src/main/java/com/smartdevicelink/managers/permission/PermissionElement.java
index 6a3d2ab0c..cd7a8f736 100644
--- a/base/src/main/java/com/smartdevicelink/managers/permission/PermissionElement.java
+++ b/base/src/main/java/com/smartdevicelink/managers/permission/PermissionElement.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.managers.permission;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
diff --git a/base/src/main/java/com/smartdevicelink/managers/permission/PermissionFilter.java b/base/src/main/java/com/smartdevicelink/managers/permission/PermissionFilter.java
index 740aca7b6..018e038c9 100644
--- a/base/src/main/java/com/smartdevicelink/managers/permission/PermissionFilter.java
+++ b/base/src/main/java/com/smartdevicelink/managers/permission/PermissionFilter.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.managers.permission;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.util.List;
import java.util.UUID;
diff --git a/base/src/main/java/com/smartdevicelink/managers/permission/PermissionStatus.java b/base/src/main/java/com/smartdevicelink/managers/permission/PermissionStatus.java
index 2d4950e46..8f44ac0f6 100644
--- a/base/src/main/java/com/smartdevicelink/managers/permission/PermissionStatus.java
+++ b/base/src/main/java/com/smartdevicelink/managers/permission/PermissionStatus.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.managers.permission;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/BaseScreenManager.java b/base/src/main/java/com/smartdevicelink/managers/screen/BaseScreenManager.java
index 7b6ee1c30..80daf4d2e 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/BaseScreenManager.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/BaseScreenManager.java
@@ -31,8 +31,8 @@
*/
package com.smartdevicelink.managers.screen;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.smartdevicelink.managers.BaseSubManager;
import com.smartdevicelink.managers.CompletionListener;
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/BaseSoftButtonManager.java b/base/src/main/java/com/smartdevicelink/managers/screen/BaseSoftButtonManager.java
index 882e84d49..81df9f9f7 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/BaseSoftButtonManager.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/BaseSoftButtonManager.java
@@ -31,18 +31,18 @@
*/
package com.smartdevicelink.managers.screen;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.livio.taskmaster.Queue;
import com.livio.taskmaster.Task;
import com.smartdevicelink.managers.BaseSubManager;
import com.smartdevicelink.managers.CompletionListener;
import com.smartdevicelink.managers.file.FileManager;
+import com.smartdevicelink.managers.lifecycle.OnSystemCapabilityListener;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCNotification;
import com.smartdevicelink.managers.lifecycle.SystemCapabilityManager;
import com.smartdevicelink.proxy.interfaces.ISdl;
-import com.smartdevicelink.proxy.interfaces.OnSystemCapabilityListener;
import com.smartdevicelink.proxy.rpc.DisplayCapability;
import com.smartdevicelink.proxy.rpc.OnButtonEvent;
import com.smartdevicelink.proxy.rpc.OnButtonPress;
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/BaseSubscribeButtonManager.java b/base/src/main/java/com/smartdevicelink/managers/screen/BaseSubscribeButtonManager.java
index 7d9bf26e1..3bdde236a 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/BaseSubscribeButtonManager.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/BaseSubscribeButtonManager.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.managers.screen;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.managers.BaseSubManager;
import com.smartdevicelink.managers.CompletionListener;
@@ -13,7 +13,6 @@ import com.smartdevicelink.proxy.rpc.OnButtonPress;
import com.smartdevicelink.proxy.rpc.SubscribeButton;
import com.smartdevicelink.proxy.rpc.UnsubscribeButton;
import com.smartdevicelink.proxy.rpc.enums.ButtonName;
-import com.smartdevicelink.proxy.rpc.enums.Result;
import com.smartdevicelink.proxy.rpc.listeners.OnRPCNotificationListener;
import com.smartdevicelink.proxy.rpc.listeners.OnRPCResponseListener;
import com.smartdevicelink.util.DebugTool;
@@ -124,12 +123,11 @@ abstract class BaseSubscribeButtonManager extends BaseSubManager {
unsubscribeButtonRequest.setOnRPCResponseListener(new OnRPCResponseListener() {
@Override
public void onResponse(int correlationId, RPCResponse response) {
- onButtonListeners.remove(buttonName);
- }
-
- @Override
- public void onError(int correlationId, Result resultCode, String info) {
- listener.onError("Attempt to unsubscribe to button named " + buttonName + " Failed. ResultCode: " + resultCode + " info: " + info);
+ if (response.getSuccess()) {
+ onButtonListeners.remove(buttonName);
+ } else {
+ listener.onError("Attempt to unsubscribe to button named " + buttonName + " Failed. ResultCode: " + response.getResultCode() + " info: " + response.getInfo());
+ }
}
});
internalInterface.sendRPC(unsubscribeButtonRequest);
@@ -146,13 +144,12 @@ abstract class BaseSubscribeButtonManager extends BaseSubManager {
subscribeButtonRequest.setOnRPCResponseListener(new OnRPCResponseListener() {
@Override
public void onResponse(int correlationId, RPCResponse response) {
- onButtonListeners.put(buttonName, new CopyOnWriteArrayList<OnButtonListener>());
- onButtonListeners.get(buttonName).add(listener);
- }
-
- @Override
- public void onError(int correlationId, Result resultCode, String info) {
- listener.onError("Attempt to subscribe to button named " + buttonName + " Failed . ResultCode: " + resultCode + " info: " + info);
+ if (response.getSuccess()) {
+ onButtonListeners.put(buttonName, new CopyOnWriteArrayList<OnButtonListener>());
+ onButtonListeners.get(buttonName).add(listener);
+ } else {
+ listener.onError("Attempt to subscribe to button named " + buttonName + " Failed . ResultCode: " + response.getResultCode() + " info: " + response.getInfo());
+ }
}
});
internalInterface.sendRPC(subscribeButtonRequest);
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/BaseTextAndGraphicManager.java b/base/src/main/java/com/smartdevicelink/managers/screen/BaseTextAndGraphicManager.java
index 6245320f4..ad43b5526 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/BaseTextAndGraphicManager.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/BaseTextAndGraphicManager.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.managers.screen;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.managers.BaseSubManager;
import com.smartdevicelink.managers.CompletionListener;
@@ -39,12 +39,12 @@ import com.smartdevicelink.managers.ManagerUtility;
import com.smartdevicelink.managers.file.FileManager;
import com.smartdevicelink.managers.file.MultipleFileCompletionListener;
import com.smartdevicelink.managers.file.filetypes.SdlArtwork;
+import com.smartdevicelink.managers.lifecycle.OnSystemCapabilityListener;
+import com.smartdevicelink.managers.lifecycle.SystemCapabilityManager;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCNotification;
import com.smartdevicelink.proxy.RPCResponse;
-import com.smartdevicelink.managers.lifecycle.SystemCapabilityManager;
import com.smartdevicelink.proxy.interfaces.ISdl;
-import com.smartdevicelink.proxy.interfaces.OnSystemCapabilityListener;
import com.smartdevicelink.proxy.rpc.DisplayCapability;
import com.smartdevicelink.proxy.rpc.MetadataTags;
import com.smartdevicelink.proxy.rpc.OnHMIStatus;
@@ -54,7 +54,6 @@ import com.smartdevicelink.proxy.rpc.enums.HMILevel;
import com.smartdevicelink.proxy.rpc.enums.ImageFieldName;
import com.smartdevicelink.proxy.rpc.enums.MetadataType;
import com.smartdevicelink.proxy.rpc.enums.PredefinedWindows;
-import com.smartdevicelink.proxy.rpc.enums.Result;
import com.smartdevicelink.proxy.rpc.enums.SystemCapabilityType;
import com.smartdevicelink.proxy.rpc.enums.TextAlignment;
import com.smartdevicelink.proxy.rpc.enums.TextFieldName;
@@ -308,11 +307,6 @@ abstract class BaseTextAndGraphicManager extends BaseSubManager {
handleResponse(response.getSuccess());
}
- @Override
- public void onError(int correlationId, Result resultCode, String info) {
- handleResponse(false);
- }
-
private void handleResponse(boolean success){
if (success){
updateCurrentScreenDataState(inProgressUpdate);
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/SoftButtonObject.java b/base/src/main/java/com/smartdevicelink/managers/screen/SoftButtonObject.java
index 76c2622a6..7b5befb3d 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/SoftButtonObject.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/SoftButtonObject.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.managers.screen;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.managers.file.filetypes.SdlArtwork;
import com.smartdevicelink.proxy.rpc.OnButtonEvent;
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/SoftButtonReplaceOperation.java b/base/src/main/java/com/smartdevicelink/managers/screen/SoftButtonReplaceOperation.java
index 106806562..00b3824e1 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/SoftButtonReplaceOperation.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/SoftButtonReplaceOperation.java
@@ -10,7 +10,6 @@ import com.smartdevicelink.proxy.interfaces.ISdl;
import com.smartdevicelink.proxy.rpc.Show;
import com.smartdevicelink.proxy.rpc.SoftButton;
import com.smartdevicelink.proxy.rpc.SoftButtonCapabilities;
-import com.smartdevicelink.proxy.rpc.enums.Result;
import com.smartdevicelink.proxy.rpc.enums.SoftButtonType;
import com.smartdevicelink.proxy.rpc.listeners.OnRPCResponseListener;
import com.smartdevicelink.util.DebugTool;
@@ -229,14 +228,6 @@ class SoftButtonReplaceOperation extends Task {
completionListener.onComplete(response.getSuccess());
}
}
-
- @Override
- public void onError(int correlationId, Result resultCode, String info) {
- DebugTool.logWarning(TAG, "Failed to update soft buttons with text buttons");
- if (completionListener != null) {
- completionListener.onComplete(false);
- }
- }
});
show.setMainField1(currentMainField1);
show.setSoftButtons(softButtons);
@@ -285,14 +276,6 @@ class SoftButtonReplaceOperation extends Task {
completionListener.onComplete(response.getSuccess());
}
}
-
- @Override
- public void onError(int correlationId, Result resultCode, String info) {
- DebugTool.logWarning(TAG, "Failed to update soft buttons with text buttons");
- if (completionListener != null) {
- completionListener.onComplete(false);
- }
- }
});
show.setMainField1(currentMainField1);
show.setSoftButtons(textButtons);
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/SoftButtonState.java b/base/src/main/java/com/smartdevicelink/managers/screen/SoftButtonState.java
index a2272c461..9c6a7d2d4 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/SoftButtonState.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/SoftButtonState.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.managers.screen;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.managers.file.filetypes.SdlArtwork;
import com.smartdevicelink.proxy.rpc.SoftButton;
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/SoftButtonTransitionOperation.java b/base/src/main/java/com/smartdevicelink/managers/screen/SoftButtonTransitionOperation.java
index 355c6aeaf..4ef5e715a 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/SoftButtonTransitionOperation.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/SoftButtonTransitionOperation.java
@@ -5,7 +5,6 @@ import com.smartdevicelink.proxy.RPCResponse;
import com.smartdevicelink.proxy.interfaces.ISdl;
import com.smartdevicelink.proxy.rpc.Show;
import com.smartdevicelink.proxy.rpc.SoftButton;
-import com.smartdevicelink.proxy.rpc.enums.Result;
import com.smartdevicelink.proxy.rpc.listeners.OnRPCResponseListener;
import com.smartdevicelink.util.DebugTool;
@@ -53,13 +52,6 @@ class SoftButtonTransitionOperation extends Task {
}
onFinished();
}
-
- @Override
- public void onError(int correlationId, Result resultCode, String info) {
- super.onError(correlationId, resultCode, info);
- DebugTool.logWarning(TAG, "Failed to transition soft button to new state. " + info);
- onFinished();
- }
});
show.setMainField1(currentMainField1);
show.setSoftButtons(currentStateSoftButtonsForObjects(softButtonObjects));
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/BaseChoiceSetManager.java b/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/BaseChoiceSetManager.java
index 9743790b6..0abb94e0a 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/BaseChoiceSetManager.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/BaseChoiceSetManager.java
@@ -34,19 +34,19 @@
package com.smartdevicelink.managers.screen.choiceset;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.livio.taskmaster.Queue;
import com.livio.taskmaster.Task;
import com.smartdevicelink.managers.BaseSubManager;
import com.smartdevicelink.managers.CompletionListener;
import com.smartdevicelink.managers.file.FileManager;
+import com.smartdevicelink.managers.lifecycle.OnSystemCapabilityListener;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCNotification;
import com.smartdevicelink.managers.lifecycle.SystemCapabilityManager;
import com.smartdevicelink.proxy.interfaces.ISdl;
-import com.smartdevicelink.proxy.interfaces.OnSystemCapabilityListener;
import com.smartdevicelink.proxy.rpc.DisplayCapability;
import com.smartdevicelink.proxy.rpc.KeyboardProperties;
import com.smartdevicelink.proxy.rpc.OnHMIStatus;
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/CheckChoiceVROptionalOperation.java b/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/CheckChoiceVROptionalOperation.java
index 6e606b62d..6cc0283d9 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/CheckChoiceVROptionalOperation.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/CheckChoiceVROptionalOperation.java
@@ -41,7 +41,6 @@ import com.smartdevicelink.proxy.interfaces.ISdl;
import com.smartdevicelink.proxy.rpc.Choice;
import com.smartdevicelink.proxy.rpc.CreateInteractionChoiceSet;
import com.smartdevicelink.proxy.rpc.DeleteInteractionChoiceSet;
-import com.smartdevicelink.proxy.rpc.enums.Result;
import com.smartdevicelink.proxy.rpc.listeners.OnRPCResponseListener;
import com.smartdevicelink.util.DebugTool;
@@ -86,12 +85,6 @@ class CheckChoiceVROptionalOperation extends Task {
sendTestChoiceWithVR();
}
}
-
- @Override
- public void onError(int correlationId, Result resultCode, String info){
- DebugTool.logWarning(TAG, "Head unit doesn't support choices with no VR. Error: " + info + " resultCode: " + resultCode);
- sendTestChoiceWithVR();
- }
});
if (internalInterface.get() != null) {
@@ -123,17 +116,6 @@ class CheckChoiceVROptionalOperation extends Task {
CheckChoiceVROptionalOperation.super.onFinished();
}
}
-
- @Override
- public void onError(int correlationId, Result resultCode, String info){
- DebugTool.logError(TAG, "There was an error in the check choice vr optional operation. Send test choice with VR failed. Error: " + info + " resultCode: " + resultCode);
- isVROptional = false;
- if (checkChoiceVROptionalInterface != null){
- checkChoiceVROptionalInterface.onError(info);
- }
-
- CheckChoiceVROptionalOperation.super.onFinished();
- }
});
if (internalInterface.get() != null) {
@@ -146,24 +128,17 @@ class CheckChoiceVROptionalOperation extends Task {
delete.setOnRPCResponseListener(new OnRPCResponseListener() {
@Override
public void onResponse(int correlationId, RPCResponse response) {
- if (response.getSuccess() != null){
+ if (response.getSuccess()){
DebugTool.logInfo(TAG, "Delete choice test set: "+ response.getSuccess());
+ if (checkChoiceVROptionalInterface != null){
+ checkChoiceVROptionalInterface.onCheckChoiceVROperationComplete(isVROptional);
+ }
+ } else {
+ DebugTool.logError(TAG, "There was an error presenting the keyboard. Finishing operation - choice set manager - . Error: " + response.getInfo() + " resultCode: " + response.getResultCode());
+ if (checkChoiceVROptionalInterface != null){
+ checkChoiceVROptionalInterface.onError(response.getInfo());
+ }
}
-
- if (checkChoiceVROptionalInterface != null){
- checkChoiceVROptionalInterface.onCheckChoiceVROperationComplete(isVROptional);
- }
-
- CheckChoiceVROptionalOperation.super.onFinished();
- }
-
- @Override
- public void onError(int correlationId, Result resultCode, String info){
- DebugTool.logError(TAG, "There was an error presenting the keyboard. Finishing operation - choice set manager - . Error: " + info + " resultCode: " + resultCode);
- if (checkChoiceVROptionalInterface != null){
- checkChoiceVROptionalInterface.onError(info);
- }
-
CheckChoiceVROptionalOperation.super.onFinished();
}
});
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/ChoiceCell.java b/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/ChoiceCell.java
index eb8533cd0..f6995279c 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/ChoiceCell.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/ChoiceCell.java
@@ -32,7 +32,7 @@
package com.smartdevicelink.managers.screen.choiceset;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.managers.file.filetypes.SdlArtwork;
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSet.java b/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSet.java
index 7009c89b1..6585ad810 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSet.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSet.java
@@ -32,8 +32,8 @@
package com.smartdevicelink.managers.screen.choiceset;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.smartdevicelink.proxy.TTSChunkFactory;
import com.smartdevicelink.proxy.rpc.KeyboardProperties;
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/DeleteChoicesOperation.java b/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/DeleteChoicesOperation.java
index de328b8eb..8672b1b83 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/DeleteChoicesOperation.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/DeleteChoicesOperation.java
@@ -40,7 +40,6 @@ import com.smartdevicelink.managers.CompletionListener;
import com.smartdevicelink.proxy.RPCResponse;
import com.smartdevicelink.proxy.interfaces.ISdl;
import com.smartdevicelink.proxy.rpc.DeleteInteractionChoiceSet;
-import com.smartdevicelink.proxy.rpc.enums.Result;
import com.smartdevicelink.proxy.rpc.listeners.OnMultipleRequestListener;
import com.smartdevicelink.util.DebugTool;
@@ -91,17 +90,15 @@ class DeleteChoicesOperation extends Task {
}
@Override
- public void onError(int correlationId, Result resultCode, String info) {
- if (completionListener != null) {
- completionListener.onComplete(false);
- }
- DebugTool.logError(TAG, "Failed to delete choice: " + info + " | Corr ID: " + correlationId);
-
- DeleteChoicesOperation.super.onFinished();
- }
-
- @Override
public void onResponse(int correlationId, RPCResponse response) {
+ if (!response.getSuccess()) {
+ if (completionListener != null) {
+ completionListener.onComplete(false);
+ }
+ DebugTool.logError(TAG, "Failed to delete choice: " + response.getInfo() + " | Corr ID: " + correlationId);
+
+ DeleteChoicesOperation.super.onFinished();
+ }
}
});
}
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/PreloadChoicesOperation.java b/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/PreloadChoicesOperation.java
index de68e1ffc..d8a921b8a 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/PreloadChoicesOperation.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/PreloadChoicesOperation.java
@@ -35,7 +35,7 @@
package com.smartdevicelink.managers.screen.choiceset;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.livio.taskmaster.Task;
import com.smartdevicelink.managers.CompletionListener;
@@ -51,7 +51,6 @@ import com.smartdevicelink.proxy.rpc.Image;
import com.smartdevicelink.proxy.rpc.WindowCapability;
import com.smartdevicelink.proxy.rpc.enums.DisplayType;
import com.smartdevicelink.proxy.rpc.enums.ImageFieldName;
-import com.smartdevicelink.proxy.rpc.enums.Result;
import com.smartdevicelink.proxy.rpc.enums.TextFieldName;
import com.smartdevicelink.proxy.rpc.listeners.OnMultipleRequestListener;
import com.smartdevicelink.util.DebugTool;
@@ -171,14 +170,11 @@ class PreloadChoicesOperation extends Task {
}
@Override
- public void onError(int correlationId, Result resultCode, String info) {
- DebugTool.logError(TAG, "There was an error uploading a choice cell: "+ info + " resultCode: " + resultCode);
- choiceError = true;
- }
-
- @Override
public void onResponse(int correlationId, RPCResponse response) {
-
+ if (!response.getSuccess()) {
+ DebugTool.logError(TAG, "There was an error uploading a choice cell: "+ response.getInfo() + " resultCode: " + response.getResultCode());
+ choiceError = true;
+ }
}
});
}else{
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/PresentChoiceSetOperation.java b/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/PresentChoiceSetOperation.java
index 7038a48ab..121b1f6c0 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/PresentChoiceSetOperation.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/PresentChoiceSetOperation.java
@@ -159,14 +159,6 @@ class PresentChoiceSetOperation extends Task {
}
DebugTool.logInfo(TAG, "Success Setting keyboard properties in present choice set operation");
}
-
- @Override
- public void onError(int correlationId, Result resultCode, String info) {
- if (listener != null){
- listener.onComplete(false);
- }
- DebugTool.logError(TAG, "Error Setting keyboard properties in present keyboard operation - choice manager - " + info);
- }
});
if (internalInterface.get() != null){
internalInterface.get().sendRPC(setGlobalProperties);
@@ -187,6 +179,7 @@ class PresentChoiceSetOperation extends Task {
choiceSetSelectionListener.onError(response.getInfo());
}
finishOperation();
+ return;
}
PerformInteractionResponse performInteractionResponse = (PerformInteractionResponse) response;
@@ -199,16 +192,6 @@ class PresentChoiceSetOperation extends Task {
finishOperation();
}
-
- @Override
- public void onError(int correlationId, Result resultCode, String info) {
- DebugTool.logError(TAG, "Presenting Choice set failed: " + resultCode + ", " + info);
-
- if (choiceSetSelectionListener != null){
- choiceSetSelectionListener.onError(resultCode + ", " + info);
- }
- finishOperation();
- }
});
if (internalInterface.get() != null){
internalInterface.get().sendRPC(pi);
@@ -225,14 +208,12 @@ class PresentChoiceSetOperation extends Task {
setGlobalProperties.setOnRPCResponseListener(new OnRPCResponseListener() {
@Override
public void onResponse(int correlationId, RPCResponse response) {
- updatedKeyboardProperties = false;
- DebugTool.logInfo(TAG, "Successfully reset choice keyboard properties to original config");
- PresentChoiceSetOperation.super.onFinished();
- }
-
- @Override
- public void onError(int correlationId, Result resultCode, String info) {
- DebugTool.logError(TAG, "Failed to reset choice keyboard properties to original config " + resultCode + ", " + info);
+ if (response.getSuccess()) {
+ updatedKeyboardProperties = false;
+ DebugTool.logInfo(TAG, "Successfully reset choice keyboard properties to original config");
+ } else {
+ DebugTool.logError(TAG, "Failed to reset choice keyboard properties to original config " + response.getResultCode() + ", " + response.getInfo());
+ }
PresentChoiceSetOperation.super.onFinished();
}
});
@@ -272,11 +253,6 @@ class PresentChoiceSetOperation extends Task {
public void onResponse(int correlationId, RPCResponse response) {
DebugTool.logInfo(TAG, "Canceled the presented choice set " + ((response.getResultCode() == Result.SUCCESS) ? "successfully" : "unsuccessfully"));
}
-
- @Override
- public void onError(int correlationId, Result resultCode, String info){
- DebugTool.logError(TAG, "Error canceling the presented choice set " + resultCode + " " + info);
- }
});
if (internalInterface.get() != null){
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/PresentKeyboardOperation.java b/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/PresentKeyboardOperation.java
index 446826616..33db35607 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/PresentKeyboardOperation.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/PresentKeyboardOperation.java
@@ -124,12 +124,9 @@ class PresentKeyboardOperation extends Task {
pi.setOnRPCResponseListener(new OnRPCResponseListener() {
@Override
public void onResponse(int correlationId, RPCResponse response) {
- finishOperation();
- }
-
- @Override
- public void onError(int correlationId, Result resultCode, String info){
- DebugTool.logError(TAG, "There was an error presenting the keyboard. Finishing operation - choice set manager - . Error: " + info + " resultCode: " + resultCode);
+ if (!response.getSuccess()) {
+ DebugTool.logError(TAG, "There was an error presenting the keyboard. Finishing operation - choice set manager - . Error: " + response.getInfo() + " resultCode: " + response.getResultCode());
+ }
finishOperation();
}
});
@@ -167,11 +164,6 @@ class PresentKeyboardOperation extends Task {
public void onResponse(int correlationId, RPCResponse response) {
DebugTool.logInfo(TAG, "Canceled the presented keyboard " + ((response.getResultCode() == Result.SUCCESS) ? "successfully" : "unsuccessfully"));
}
-
- @Override
- public void onError(int correlationId, Result resultCode, String info){
- DebugTool.logError(TAG, "Error canceling the presented keyboard " + resultCode + " " + info);
- }
});
if (internalInterface.get() != null){
internalInterface.get().sendRPC(cancelInteraction);
@@ -213,15 +205,6 @@ class PresentKeyboardOperation extends Task {
}
DebugTool.logInfo(TAG, "Success Setting keyboard properties in present keyboard operation - choice manager");
}
-
- @Override
- public void onError(int correlationId, Result resultCode, String info) {
- if (listener != null){
- listener.onComplete(false);
- }
- DebugTool.logError(TAG, "Error Setting keyboard properties in present keyboard operation - choice manager - " + info);
- super.onError(correlationId, resultCode, info);
- }
});
if (internalInterface.get() != null){
@@ -239,14 +222,12 @@ class PresentKeyboardOperation extends Task {
setGlobalProperties.setOnRPCResponseListener(new OnRPCResponseListener() {
@Override
public void onResponse(int correlationId, RPCResponse response) {
- updatedKeyboardProperties = false;
- DebugTool.logInfo(TAG, "Successfully reset choice keyboard properties to original config");
- PresentKeyboardOperation.super.onFinished();
- }
-
- @Override
- public void onError(int correlationId, Result resultCode, String info) {
- DebugTool.logError(TAG, "Failed to reset choice keyboard properties to original config " + resultCode + ", " + info);
+ if (response.getSuccess()) {
+ updatedKeyboardProperties = false;
+ DebugTool.logInfo(TAG, "Successfully reset choice keyboard properties to original config");
+ } else {
+ DebugTool.logError(TAG, "Failed to reset choice keyboard properties to original config " + response.getResultCode() + ", " + response.getInfo());
+ }
PresentKeyboardOperation.super.onFinished();
}
});
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseMenuManager.java b/base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseMenuManager.java
index b244389d3..c4c18ee16 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseMenuManager.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseMenuManager.java
@@ -32,38 +32,37 @@
package com.smartdevicelink.managers.screen.menu;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.managers.BaseSubManager;
import com.smartdevicelink.managers.CompletionListener;
+import com.smartdevicelink.managers.ManagerUtility;
import com.smartdevicelink.managers.file.FileManager;
import com.smartdevicelink.managers.file.MultipleFileCompletionListener;
import com.smartdevicelink.managers.file.filetypes.SdlArtwork;
+import com.smartdevicelink.managers.lifecycle.OnSystemCapabilityListener;
+import com.smartdevicelink.managers.lifecycle.SystemCapabilityManager;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCNotification;
import com.smartdevicelink.proxy.RPCRequest;
import com.smartdevicelink.proxy.RPCResponse;
-import com.smartdevicelink.managers.lifecycle.SystemCapabilityManager;
import com.smartdevicelink.proxy.interfaces.ISdl;
-import com.smartdevicelink.proxy.interfaces.OnSystemCapabilityListener;
import com.smartdevicelink.proxy.rpc.AddCommand;
import com.smartdevicelink.proxy.rpc.AddSubMenu;
import com.smartdevicelink.proxy.rpc.DeleteCommand;
import com.smartdevicelink.proxy.rpc.DeleteSubMenu;
import com.smartdevicelink.proxy.rpc.DisplayCapability;
-import com.smartdevicelink.managers.ManagerUtility;
import com.smartdevicelink.proxy.rpc.MenuParams;
import com.smartdevicelink.proxy.rpc.OnCommand;
import com.smartdevicelink.proxy.rpc.OnHMIStatus;
import com.smartdevicelink.proxy.rpc.SdlMsgVersion;
-import com.smartdevicelink.proxy.rpc.ShowAppMenu;
import com.smartdevicelink.proxy.rpc.SetGlobalProperties;
+import com.smartdevicelink.proxy.rpc.ShowAppMenu;
import com.smartdevicelink.proxy.rpc.WindowCapability;
import com.smartdevicelink.proxy.rpc.enums.DisplayType;
import com.smartdevicelink.proxy.rpc.enums.HMILevel;
import com.smartdevicelink.proxy.rpc.enums.ImageFieldName;
import com.smartdevicelink.proxy.rpc.enums.PredefinedWindows;
-import com.smartdevicelink.proxy.rpc.enums.Result;
import com.smartdevicelink.proxy.rpc.enums.SystemCapabilityType;
import com.smartdevicelink.proxy.rpc.enums.SystemContext;
import com.smartdevicelink.proxy.rpc.listeners.OnMultipleRequestListener;
@@ -285,11 +284,6 @@ abstract class BaseMenuManager extends BaseSubManager {
DebugTool.logError(TAG, "Open Main Menu Request Failed");
}
}
-
- @Override
- public void onError(int correlationId, Result resultCode, String info){
- DebugTool.logError(TAG, "Open Main Menu onError: "+ resultCode+ " | Info: "+ info);
- }
});
internalInterface.sendRPC(showAppMenu);
return true;
@@ -334,11 +328,6 @@ abstract class BaseMenuManager extends BaseSubManager {
DebugTool.logError(TAG, "Open Sub Menu Request Failed");
}
}
-
- @Override
- public void onError(int correlationId, Result resultCode, String info){
- DebugTool.logError(TAG, "Open Sub Menu onError: "+ resultCode+ " | Info: "+ info);
- }
});
internalInterface.sendRPC(showAppMenu);
@@ -381,13 +370,10 @@ abstract class BaseMenuManager extends BaseSubManager {
public void onResponse(int correlationId, RPCResponse response) {
if (response.getSuccess()) {
DebugTool.logInfo(TAG, "Menu Configuration successfully set: " + menuConfiguration.toString());
+ } else {
+ DebugTool.logError(TAG, "onError: " + response.getResultCode() + " | Info: " + response.getInfo());
}
}
-
- @Override
- public void onError(int correlationId, Result resultCode, String info) {
- DebugTool.logError(TAG, "onError: " + resultCode + " | Info: " + info);
- }
});
internalInterface.sendRPC(setGlobalProperties);
} else {
@@ -1175,16 +1161,15 @@ abstract class BaseMenuManager extends BaseSubManager {
}
@Override
- public void onError(int correlationId, Result resultCode, String info) {
- DebugTool.logError(TAG, "Result: " + resultCode.toString() + " Info: " + info);
- }
-
- @Override
public void onResponse(int correlationId, RPCResponse response) {
- try {
- DebugTool.logInfo(TAG, "Main Menu response: " + response.serializeJSON().toString());
- } catch (JSONException e) {
- e.printStackTrace();
+ if (response.getSuccess()) {
+ try {
+ DebugTool.logInfo(TAG, "Main Menu response: " + response.serializeJSON().toString());
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ } else {
+ DebugTool.logError(TAG, "Result: " + response.getResultCode() + " Info: " + response.getInfo());
}
}
});
@@ -1214,19 +1199,18 @@ abstract class BaseMenuManager extends BaseSubManager {
}
@Override
- public void onError(int correlationId, Result resultCode, String info) {
- DebugTool.logError(TAG, "Failed to send sub menu commands: "+ info);
- if (listener != null){
- listener.onComplete(false);
- }
- }
-
- @Override
public void onResponse(int correlationId, RPCResponse response) {
- try {
- DebugTool.logInfo(TAG, "Sub Menu response: "+ response.serializeJSON().toString());
- } catch (JSONException e) {
- e.printStackTrace();
+ if (response.getSuccess()) {
+ try {
+ DebugTool.logInfo(TAG, "Sub Menu response: " + response.serializeJSON().toString());
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ } else {
+ DebugTool.logError(TAG, "Failed to send sub menu commands: "+ response.getInfo());
+ if (listener != null){
+ listener.onComplete(false);
+ }
}
}
});
@@ -1267,16 +1251,15 @@ abstract class BaseMenuManager extends BaseSubManager {
}
@Override
- public void onError(int correlationId, Result resultCode, String info) {
- DebugTool.logError(TAG, "Result: " + resultCode.toString() + " Info: " + info);
- }
-
- @Override
public void onResponse(int correlationId, RPCResponse response) {
- try {
- DebugTool.logInfo(TAG, "Dynamic Sub Menu response: " + response.serializeJSON().toString());
- } catch (JSONException e) {
- e.printStackTrace();
+ if (response.getSuccess()) {
+ try {
+ DebugTool.logInfo(TAG, "Dynamic Sub Menu response: " + response.serializeJSON().toString());
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ } else {
+ DebugTool.logError(TAG, "Result: " + response.getResultCode() + " Info: " + response.getInfo());
}
}
});
@@ -1331,10 +1314,6 @@ abstract class BaseMenuManager extends BaseSubManager {
}
@Override
- public void onError(int correlationId, Result resultCode, String info) {
- }
-
- @Override
public void onResponse(int correlationId, RPCResponse response) {
}
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseVoiceCommandManager.java b/base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseVoiceCommandManager.java
index 8004413b7..f96452bb2 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseVoiceCommandManager.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseVoiceCommandManager.java
@@ -32,7 +32,7 @@
package com.smartdevicelink.managers.screen.menu;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.managers.BaseSubManager;
import com.smartdevicelink.managers.CompletionListener;
@@ -46,7 +46,6 @@ import com.smartdevicelink.proxy.rpc.OnCommand;
import com.smartdevicelink.proxy.rpc.OnHMIStatus;
import com.smartdevicelink.proxy.rpc.enums.HMILevel;
import com.smartdevicelink.proxy.rpc.enums.PredefinedWindows;
-import com.smartdevicelink.proxy.rpc.enums.Result;
import com.smartdevicelink.proxy.rpc.listeners.OnMultipleRequestListener;
import com.smartdevicelink.proxy.rpc.listeners.OnRPCNotificationListener;
import com.smartdevicelink.util.DebugTool;
@@ -206,11 +205,6 @@ abstract class BaseVoiceCommandManager extends BaseSubManager {
}
@Override
- public void onError(int correlationId, Result resultCode, String info) {
-
- }
-
- @Override
public void onResponse(int correlationId, RPCResponse response) {}
});
@@ -245,11 +239,6 @@ abstract class BaseVoiceCommandManager extends BaseSubManager {
}
@Override
- public void onError(int correlationId, Result resultCode, String info) {
-
- }
-
- @Override
public void onResponse(int correlationId, RPCResponse response) {
}
});
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/menu/MenuCell.java b/base/src/main/java/com/smartdevicelink/managers/screen/menu/MenuCell.java
index 6f69993ee..20cc44d38 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/menu/MenuCell.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/menu/MenuCell.java
@@ -32,8 +32,8 @@
package com.smartdevicelink.managers.screen.menu;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.smartdevicelink.managers.file.filetypes.SdlArtwork;
import com.smartdevicelink.proxy.rpc.enums.MenuLayout;
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/menu/MenuConfiguration.java b/base/src/main/java/com/smartdevicelink/managers/screen/menu/MenuConfiguration.java
index 13e1f92e2..59bf7974f 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/menu/MenuConfiguration.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/menu/MenuConfiguration.java
@@ -35,7 +35,7 @@
package com.smartdevicelink.managers.screen.menu;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.rpc.enums.MenuLayout;
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/menu/VoiceCommand.java b/base/src/main/java/com/smartdevicelink/managers/screen/menu/VoiceCommand.java
index 8227b3087..aa94dd533 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/menu/VoiceCommand.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/menu/VoiceCommand.java
@@ -32,8 +32,8 @@
package com.smartdevicelink.managers.screen.menu;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import java.util.List;
diff --git a/base/src/main/java/com/smartdevicelink/managers/video/BaseVideoStreamManager.java b/base/src/main/java/com/smartdevicelink/managers/video/BaseVideoStreamManager.java
index da8c35af3..d5a24766f 100644
--- a/base/src/main/java/com/smartdevicelink/managers/video/BaseVideoStreamManager.java
+++ b/base/src/main/java/com/smartdevicelink/managers/video/BaseVideoStreamManager.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.managers.video;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.managers.BaseSubManager;
import com.smartdevicelink.proxy.interfaces.ISdl;
diff --git a/base/src/main/java/com/smartdevicelink/protocol/IProtocolListener.java b/base/src/main/java/com/smartdevicelink/protocol/IProtocolListener.java
index a199e2a00..37e7972f4 100644
--- a/base/src/main/java/com/smartdevicelink/protocol/IProtocolListener.java
+++ b/base/src/main/java/com/smartdevicelink/protocol/IProtocolListener.java
@@ -1,34 +1,34 @@
-/*
- * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
- */
+/*
+ * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
+ */
package com.smartdevicelink.protocol;
@@ -36,6 +36,7 @@ import com.smartdevicelink.protocol.enums.SessionType;
import java.util.List;
+@Deprecated
public interface IProtocolListener {
// Called to indicate that these bytes are to be sent as part of a message.
// This call includes the part of the message.
diff --git a/base/src/main/java/com/smartdevicelink/protocol/ISdlProtocol.java b/base/src/main/java/com/smartdevicelink/protocol/ISdlProtocol.java
index 9875178f1..69cbfb8a7 100644
--- a/base/src/main/java/com/smartdevicelink/protocol/ISdlProtocol.java
+++ b/base/src/main/java/com/smartdevicelink/protocol/ISdlProtocol.java
@@ -33,26 +33,110 @@
package com.smartdevicelink.protocol;
+import androidx.annotation.RestrictTo;
+
import com.smartdevicelink.protocol.enums.SessionType;
import com.smartdevicelink.security.SdlSecurityBase;
import com.smartdevicelink.streaming.video.VideoStreamingParameters;
import com.smartdevicelink.transport.BaseTransportConfig;
+import com.smartdevicelink.util.Version;
+
+@RestrictTo(RestrictTo.Scope.LIBRARY)
+public interface ISdlProtocol {
+
+ /**
+ * Called to indicate that a complete message (RPC, BULK, etc.) has been received.
+ * @param msg the message that was received
+ */
+ void onProtocolMessageReceived(ProtocolMessage msg);
+
+ /**
+ * Called to indicate that a service has been started
+ * @param packet the control packet StartServiceACK received from the connected device
+ * @param serviceType the service type that has been started
+ * @param sessionID the session ID that this service has been started on
+ * @param version the protocol version used for this session and service
+ * @param isEncrypted if the service is encrypted
+ */
+ void onServiceStarted(SdlPacket packet, SessionType serviceType, int sessionID, Version version, boolean isEncrypted);
-public interface ISdlProtocol extends IProtocolListener {
+ /**
+ * This will get called when a service has ended
+ * @param packet the packet received that ended this service
+ * @param serviceType the service type that has ended
+ * @param sessionID the id of the session that this service was operating on
+ */
+ void onServiceEnded(SdlPacket packet, SessionType serviceType, int sessionID);
- byte getSessionId();
+ /**
+ * If there is an error with starting or stopping the service or any other error this method
+ * will be called. This will also be called if the service was operating on a transport that
+ * has been disconnected.
+ * @param packet if there is a packet that caused this error it will be included, however this
+ * can be null.
+ * @param serviceType the service type that experienced the error
+ * @param sessionID the session ID that this service was associated with
+ * @param error a human readable string of the error
+ */
+ void onServiceError(SdlPacket packet, SessionType serviceType, int sessionID, String error);
+ /**
+ * Called to indicate that a protocol error was detected in received data.
+ * @param info a human readable string of the error
+ * @param e the exception if one occurred
+ */
+ void onProtocolError(String info, Exception e);
+
+ /**
+ * Method that the protocol layer will use to obtain the session ID
+ * @return the session ID associated with the protocol instance
+ */
+ int getSessionId();
+
+ /**
+ * A request made by the protocol layer to shutdown the layers above it. Likely due to
+ * the RPC service being shutdown or the primary transport disconnecting.
+ * @param info human readable string on why the shutdown should occur
+ */
void shutdown(String info);
+ /**
+ * Called when a transport disconnects
+ * @param info a human readable string including information on the disconnected transport
+ * @param altTransportAvailable a boolean flag indicating if there is another transport that can
+ * be used to connect with the SDL enabled device.
+ * @param transportConfig the previously supplied transport config
+ */
void onTransportDisconnected(String info, boolean altTransportAvailable, BaseTransportConfig transportConfig);
+ /**
+ * A method that should be implemented by the hosting class of the SdlProtocol instance that will
+ * return the currently being used security library if any.
+ * @return the security library to be used to encrypt/decrypt packets
+ */
SdlSecurityBase getSdlSecurity();
+ /**
+ * A method that should be implemented by the hosting class of the SdlProtocol instance that will
+ * return the desired video streaming parameters. These parameters will be requested if
+ * another component has requested the video streaming service to start.
+ * @return the developer supplied desired video streaming parameters
+ */
VideoStreamingParameters getDesiredVideoParams();
+ /**
+ * A callback that will be called when the video service has been successfully started and the
+ * streaming parameters have been negotiated. This should be called prior to the video service
+ * started callback.
+ * @param acceptedVideoParams the negotiated and accepted video parameters that should be used
+ * to stream to the SDL enabled device.
+ */
void setAcceptedVideoParams(VideoStreamingParameters acceptedVideoParams);
- void stopStream(SessionType serviceType);
-
+ /**
+ * A callback to indicate the SDL connected device has supplied an authentication token to this
+ * application. It will be called after the service start callback.
+ * @param authToken
+ */
void onAuthTokenReceived(String authToken);
}
diff --git a/base/src/main/java/com/smartdevicelink/protocol/SdlProtocolBase.java b/base/src/main/java/com/smartdevicelink/protocol/SdlProtocolBase.java
index 1468f9477..d54f2de3a 100644
--- a/base/src/main/java/com/smartdevicelink/protocol/SdlProtocolBase.java
+++ b/base/src/main/java/com/smartdevicelink/protocol/SdlProtocolBase.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.protocol;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.exception.SdlException;
import com.smartdevicelink.exception.SdlExceptionCause;
@@ -94,6 +94,8 @@ public class SdlProtocolBase {
// Lock to ensure all frames are sent uninterrupted
private final Object FRAME_LOCK = new Object();
+ private final Object TRANSPORT_MANAGER_LOCK = new Object();
+
private final ISdlProtocol iSdlProtocol;
private final Hashtable<Integer, SdlProtocol.MessageFrameAssembler> _assemblerForMessageID = new Hashtable<>();
private final Hashtable<Byte, Object> _messageLocks = new Hashtable<>();
@@ -155,16 +157,20 @@ public class SdlProtocolBase {
} // end-ctor
void setTransportManager(TransportManagerBase transportManager){
- this.transportManager = transportManager;
+ synchronized (TRANSPORT_MANAGER_LOCK) {
+ this.transportManager = transportManager;
+ }
}
- public void start(){
- if(transportManager == null){
- throw new IllegalStateException("Attempting to start without setting a transport manager.");
+ public void start() {
+ synchronized (TRANSPORT_MANAGER_LOCK) {
+ if (transportManager == null) {
+ throw new IllegalStateException("Attempting to start without setting a transport manager.");
+ }
+ transportManager.start();
}
- transportManager.start();
-
}
+
/**
* Retrieves the max payload size for a packet to be sent to the module
* @return the max transfer unit
@@ -185,14 +191,18 @@ public class SdlProtocolBase {
}
public void resetSession (){
- if(transportManager == null){
- throw new IllegalStateException("Attempting to reset session without setting a transport manager.");
+ synchronized (TRANSPORT_MANAGER_LOCK) {
+ if (transportManager == null) {
+ throw new IllegalStateException("Attempting to reset session without setting a transport manager.");
+ }
+ transportManager.resetSession();
}
- transportManager.resetSession();
}
public boolean isConnected(){
- return transportManager != null && transportManager.isConnected(null,null);
+ synchronized (TRANSPORT_MANAGER_LOCK) {
+ return transportManager != null && transportManager.isConnected(null, null);
+ }
}
/**
@@ -383,7 +393,7 @@ public class SdlProtocolBase {
for(TransportRecord record: transports){
if(secondaryTransportListeners.get(record.getType()) != null
&& !secondaryTransportListeners.get(record.getType()).isEmpty()){
- registerSecondaryTransport(iSdlProtocol.getSessionId(), record);
+ registerSecondaryTransport((byte)iSdlProtocol.getSessionId(), record);
}
}
}
@@ -449,12 +459,14 @@ public class SdlProtocolBase {
if (supportedSecondaryTransports != null) {
for (TransportType supportedSecondary : supportedSecondaryTransports) {
if(!onlyHighBandwidth || supportedSecondary == TransportType.USB || supportedSecondary == TransportType.TCP) {
- if (transportManager != null && transportManager.isConnected(supportedSecondary, null)) {
- //A supported secondary transport is already connected
- return true;
- } else if (secondaryTransportParams != null && secondaryTransportParams.containsKey(supportedSecondary)) {
- //A secondary transport is available to connect to
- return true;
+ synchronized (TRANSPORT_MANAGER_LOCK) {
+ if (transportManager != null && transportManager.isConnected(supportedSecondary, null)) {
+ //A supported secondary transport is already connected
+ return true;
+ } else if (secondaryTransportParams != null && secondaryTransportParams.containsKey(supportedSecondary)) {
+ //A secondary transport is available to connect to
+ return true;
+ }
}
}
}
@@ -531,21 +543,16 @@ public class SdlProtocolBase {
}
}
- public void endSession(byte sessionID, int hashId) {
- SdlPacket header = SdlPacketFactory.createEndSession(SessionType.RPC, sessionID, hashId, (byte)protocolVersion.getMajor(), hashId);
+ public void endSession(byte sessionID) {
+ SdlPacket header = SdlPacketFactory.createEndSession(SessionType.RPC, sessionID, hashID, (byte)protocolVersion.getMajor(), hashID);
handlePacketToSend(header);
- if(transportManager != null) {
- transportManager.close(sessionID);
+ synchronized (TRANSPORT_MANAGER_LOCK) {
+ if (transportManager != null) {
+ transportManager.close(sessionID);
+ }
}
-
} // end-method
- public void sendPacket(SdlPacket packet){
- if(transportManager != null){
- transportManager.sendPacket(packet);
- }
- }
-
public void sendMessage(ProtocolMessage protocolMsg) {
SessionType sessionType = protocolMsg.getSessionType();
byte sessionID = protocolMsg.getSessionID();
@@ -787,26 +794,27 @@ public class SdlProtocolBase {
}
};
- if (transportManager != null) {
- if (transportManager.isConnected(secondaryTransportType, null)) {
- //The transport is actually connected, however no service has been registered
- listenerList.add(secondaryListener);
- registerSecondaryTransport(sessionID, transportManager.getTransportRecord(secondaryTransportType, null));
- } else if (secondaryTransportParams != null && secondaryTransportParams.containsKey(secondaryTransportType)) {
- //No acceptable secondary transport is connected, so first one must be connected
- header.setTransportRecord(new TransportRecord(secondaryTransportType, ""));
- listenerList.add(secondaryListener);
- transportManager.requestSecondaryTransportConnection(sessionID, secondaryTransportParams.get(secondaryTransportType));
+ synchronized (TRANSPORT_MANAGER_LOCK) {
+ if (transportManager != null) {
+ if (transportManager.isConnected(secondaryTransportType, null)) {
+ //The transport is actually connected, however no service has been registered
+ listenerList.add(secondaryListener);
+ registerSecondaryTransport(sessionID, transportManager.getTransportRecord(secondaryTransportType, null));
+ } else if (secondaryTransportParams != null && secondaryTransportParams.containsKey(secondaryTransportType)) {
+ //No acceptable secondary transport is connected, so first one must be connected
+ header.setTransportRecord(new TransportRecord(secondaryTransportType, ""));
+ listenerList.add(secondaryListener);
+ transportManager.requestSecondaryTransportConnection(sessionID, secondaryTransportParams.get(secondaryTransportType));
+ } else {
+ DebugTool.logWarning(TAG, "No params to connect to secondary transport");
+ //Unable to register or start a secondary connection. Use the callback in case
+ //there is a chance to use the primary transport for this service.
+ secondaryListener.onConnectionFailure();
+ }
} else {
- DebugTool.logWarning(TAG, "No params to connect to secondary transport");
- //Unable to register or start a secondary connection. Use the callback in case
- //there is a chance to use the primary transport for this service.
- secondaryListener.onConnectionFailure();
+ DebugTool.logError(TAG, "transportManager is null");
}
- } else {
- DebugTool.logError(TAG, "transportManager is null");
}
-
}
}
}
@@ -819,7 +827,7 @@ public class SdlProtocolBase {
public void endService(SessionType serviceType, byte sessionID) {
if(serviceType.equals(SessionType.RPC)){ //RPC session will close all other sessions so we want to make sure we use the correct EndProtocolSession method
- endSession(sessionID,hashID);
+ endSession(sessionID);
}else {
SdlPacket header = SdlPacketFactory.createEndSession(serviceType, sessionID, hashID, (byte)protocolVersion.getMajor(), new byte[0]);
TransportRecord transportRecord = activeTransports.get(serviceType);
@@ -842,11 +850,11 @@ public class SdlProtocolBase {
*/
protected void handlePacketToSend(SdlPacket packet) {
synchronized(FRAME_LOCK) {
-
- if(packet!=null){
- iSdlProtocol.onProtocolMessageBytesToSend(packet);
+ synchronized (TRANSPORT_MANAGER_LOCK) {
+ if (packet != null && transportManager != null) {
+ transportManager.sendPacket(packet);
+ }
}
-
}
}
@@ -854,6 +862,7 @@ public class SdlProtocolBase {
* sent to the protocol listener.
**/
protected void handleServiceEndedNAK(SdlPacket packet, SessionType serviceType) {
+ String error = "Service ended NAK received for service type " + serviceType.getName();
if(packet.version >= 5){
if(DebugTool.isDebugEnabled()) {
//Currently this is only during a debugging session. Might pass back in the future
@@ -876,30 +885,32 @@ public class SdlProtocolBase {
builder.append(rejectedParam);
builder.append(" ");
}
- DebugTool.logWarning(TAG, builder.toString());
+ error = builder.toString();
+ DebugTool.logWarning(TAG, error);
}
}
}
- iSdlProtocol.onProtocolSessionEndedNACKed(serviceType, (byte)packet.getSessionId(), "");
+ iSdlProtocol.onServiceError(packet, serviceType, packet.getSessionId(), error);
}
// This method handles the end of a protocol session. A callback is
// sent to the protocol listener.
- protected void handleServiceEnded(SdlPacket packet, SessionType sessionType) {
-
- iSdlProtocol.onProtocolSessionEnded(sessionType, (byte)packet.getSessionId(), "");
+ //FIXME do we do anything in this class for this?
+ protected void handleServiceEnded(SdlPacket packet, SessionType sessionType) {
+ iSdlProtocol.onServiceEnded(packet, sessionType, packet.getSessionId());
}
+
/**
* This method handles the startup of a protocol session. A callback is sent
* to the protocol listener.
* @param packet StarServiceACK packet
* @param serviceType the service type that has just been started
*/
- protected void handleProtocolSessionStarted(SdlPacket packet, SessionType serviceType) {
+ protected void handleStartServiceACK(SdlPacket packet, SessionType serviceType) {
// Use this sessionID to create a message lock
Object messageLock = _messageLocks.get((byte)packet.getSessionId());
if (messageLock == null) {
@@ -999,7 +1010,7 @@ public class SdlProtocolBase {
} else {
DebugTool.logInfo(TAG, "Received a start service ack for RPC service while already active on a different transport.");
- iSdlProtocol.onProtocolSessionStarted(serviceType, (byte) packet.getSessionId(), (byte)protocolVersion.getMajor(), "", hashID, packet.isEncrypted());
+ iSdlProtocol.onServiceStarted(packet, serviceType, (byte) packet.getSessionId(), protocolVersion, packet.isEncrypted());
return;
}
@@ -1070,10 +1081,11 @@ public class SdlProtocolBase {
iSdlProtocol.setAcceptedVideoParams(iSdlProtocol.getDesiredVideoParams());
}
}
- iSdlProtocol.onProtocolSessionStarted(serviceType, (byte) packet.getSessionId(), (byte)protocolVersion.getMajor(), "", hashID, packet.isEncrypted());
+ iSdlProtocol.onServiceStarted(packet, serviceType, (byte) packet.getSessionId(), protocolVersion, packet.isEncrypted());
}
protected void handleProtocolSessionNAKed(SdlPacket packet, SessionType serviceType) {
+ String error = "Service start NAK received for service type " + serviceType.getName();
List<String> rejectedParams = null;
if(packet.version >= 5){
if(DebugTool.isDebugEnabled()) {
@@ -1097,15 +1109,18 @@ public class SdlProtocolBase {
builder.append(rejectedParam);
builder.append(" ");
}
- DebugTool.logWarning(TAG, builder.toString());
+ error = builder.toString();
+ DebugTool.logWarning(TAG, error);
}
}
}
if (serviceType.eq(SessionType.NAV) || serviceType.eq(SessionType.PCM)) {
- iSdlProtocol.onProtocolSessionNACKed(serviceType, (byte)packet.sessionId, (byte)protocolVersion.getMajor(), "", rejectedParams);
+ iSdlProtocol.onServiceError(packet, serviceType, (byte)packet.sessionId, error);
} else {
+ //TODO should there be any additional checks here? Or should this be more explicit in
+ // what types of services would cause this protocol error
handleProtocolError("Got StartSessionNACK for protocol sessionID = " + packet.getSessionId(), null);
}
}
@@ -1120,14 +1135,6 @@ public class SdlProtocolBase {
sendHeartBeatACK(sessionType,sessionID);
}
- protected void handleServiceDataACK(SdlPacket packet, SessionType sessionType) {
-
- if (packet.getPayload() != null && packet.getDataSize() == 4){ //service data ack will be 4 bytes in length
- int serviceDataAckSize = BitConverter.intFromByteArray(packet.getPayload(), 0);
- iSdlProtocol.onProtocolServiceDataACK(sessionType, serviceDataAckSize, (byte)packet.getSessionId ());
-
- }
- }
/* --------------------------------------------------------------------------------------------
----------------------------------- TRANSPORT_TYPE LISTENER ---------------------------------
@@ -1149,8 +1156,10 @@ public class SdlProtocolBase {
TransportRecord transportRecord = getTransportForSession(SessionType.RPC);
if(transportRecord == null && !requestedSession){ //There is currently no transport registered
requestedSession = true;
- if (transportManager != null) {
- transportManager.requestNewSession(getPreferredTransport(requestedPrimaryTransports, connectedTransports));
+ synchronized (TRANSPORT_MANAGER_LOCK) {
+ if (transportManager != null) {
+ transportManager.requestNewSession(getPreferredTransport(requestedPrimaryTransports, connectedTransports));
+ }
}
}
onTransportsConnectedUpdate(connectedTransports);
@@ -1163,8 +1172,10 @@ public class SdlProtocolBase {
public void onTransportDisconnected(String info, TransportRecord disconnectedTransport, List<TransportRecord> connectedTransports) {
if (disconnectedTransport == null) {
DebugTool.logInfo(TAG, "onTransportDisconnected");
- if (transportManager != null) {
- transportManager.close(iSdlProtocol.getSessionId());
+ synchronized (TRANSPORT_MANAGER_LOCK) {
+ if (transportManager != null) {
+ transportManager.close(iSdlProtocol.getSessionId());
+ }
}
iSdlProtocol.shutdown("No transports left connected");
return;
@@ -1176,13 +1187,11 @@ public class SdlProtocolBase {
//a single transport record per transport.
//TransportType type = disconnectedTransport.getType();
if(getTransportForSession(SessionType.NAV) != null && disconnectedTransport.equals(getTransportForSession(SessionType.NAV))){
- //stopVideoStream();
- iSdlProtocol.stopStream(SessionType.NAV);
+ iSdlProtocol.onServiceError(null, SessionType.NAV, iSdlProtocol.getSessionId(), "Transport disconnected");
activeTransports.remove(SessionType.NAV);
}
if(getTransportForSession(SessionType.PCM) != null && disconnectedTransport.equals(getTransportForSession(SessionType.PCM))){
- //stopAudioStream();
- iSdlProtocol.stopStream(SessionType.PCM);
+ iSdlProtocol.onServiceError(null, SessionType.PCM, iSdlProtocol.getSessionId(), "Transport disconnected");
activeTransports.remove(SessionType.PCM);
}
@@ -1194,45 +1203,49 @@ public class SdlProtocolBase {
for (TransportType transportType: requestedPrimaryTransports){
DebugTool.logInfo(TAG, "Checking " + transportType.name());
- if(!disconnectedTransport.getType().equals(transportType)
- && transportManager != null
- && transportManager.isConnected(transportType,null)){
-
- //There is currently a supported primary transport
-
- //See if any high bandwidth transport is available currently
- boolean highBandwidthAvailable = transportManager.isHighBandwidthAvailable();
-
- if (requiresHighBandwidth) {
- if (!highBandwidthAvailable) {
- if (TransportType.BLUETOOTH.equals(transportType)
- && requestedSecondaryTransports != null
- && supportedSecondaryTransports != null) {
- for (TransportType secondaryTransport : requestedSecondaryTransports) {
- DebugTool.logInfo(TAG, "Checking secondary " + secondaryTransport.name());
- if (supportedSecondaryTransports.contains(secondaryTransport)) {
- //Should only be USB or TCP
- highBandwidthAvailable = true;
- break;
+ synchronized (TRANSPORT_MANAGER_LOCK) {
+ if (!disconnectedTransport.getType().equals(transportType)
+ && transportManager != null
+ && transportManager.isConnected(transportType, null)) {
+
+ //There is currently a supported primary transport
+
+ //See if any high bandwidth transport is available currently
+ boolean highBandwidthAvailable = transportManager.isHighBandwidthAvailable();
+
+ if (requiresHighBandwidth) {
+ if (!highBandwidthAvailable) {
+ if (TransportType.BLUETOOTH.equals(transportType)
+ && requestedSecondaryTransports != null
+ && supportedSecondaryTransports != null) {
+ for (TransportType secondaryTransport : requestedSecondaryTransports) {
+ DebugTool.logInfo(TAG, "Checking secondary " + secondaryTransport.name());
+ if (supportedSecondaryTransports.contains(secondaryTransport)) {
+ //Should only be USB or TCP
+ highBandwidthAvailable = true;
+ break;
+ }
}
}
- }
- } // High bandwidth already available
- }
+ } // High bandwidth already available
+ }
- if(!requiresHighBandwidth || (requiresHighBandwidth && highBandwidthAvailable )) {
- primaryTransportAvailable = true;
- transportManager.updateTransportConfig(transportConfig);
- break;
+ if (!requiresHighBandwidth || (requiresHighBandwidth && highBandwidthAvailable)) {
+ primaryTransportAvailable = true;
+ transportManager.updateTransportConfig(transportConfig);
+ break;
+ }
}
}
}
}
connectedPrimaryTransport = null;
- if (transportManager != null) {
- transportManager.close(iSdlProtocol.getSessionId());
+ synchronized (TRANSPORT_MANAGER_LOCK) {
+ if (transportManager != null) {
+ transportManager.close(iSdlProtocol.getSessionId());
+ }
+ transportManager = null;
}
- transportManager = null;
requestedSession = false;
activeTransports.clear();
@@ -1400,7 +1413,7 @@ public class SdlProtocolBase {
}else if (frameInfo == FrameDataControlFrameType.StartSessionACK.getValue()) {
- handleProtocolSessionStarted(packet, serviceType);
+ handleStartServiceACK(packet, serviceType);
} else if (frameInfo == FrameDataControlFrameType.StartSessionNACK.getValue()) {
@@ -1409,7 +1422,7 @@ public class SdlProtocolBase {
} else if (frameInfo == FrameDataControlFrameType.EndSession.getValue()
|| frameInfo == FrameDataControlFrameType.EndSessionACK.getValue()) {
- handleServiceEnded(packet,serviceType);
+ handleServiceEnded(packet, serviceType);
} else if (frameInfo == FrameDataControlFrameType.EndSessionNACK.getValue()) {
@@ -1417,7 +1430,7 @@ public class SdlProtocolBase {
} else if (frameInfo == FrameDataControlFrameType.ServiceDataACK.getValue()) {
- handleServiceDataACK(packet, serviceType);
+ //Currently unused
} else if (frameInfo == FrameDataControlFrameType.RegisterSecondaryTransportACK.getValue()) {
diff --git a/base/src/main/java/com/smartdevicelink/protocol/enums/FunctionID.java b/base/src/main/java/com/smartdevicelink/protocol/enums/FunctionID.java
index 928f0dade..b9471209c 100644
--- a/base/src/main/java/com/smartdevicelink/protocol/enums/FunctionID.java
+++ b/base/src/main/java/com/smartdevicelink/protocol/enums/FunctionID.java
@@ -110,6 +110,7 @@ public enum FunctionID{
DELETE_WINDOW(61, "DeleteWindow"),
GET_INTERIOR_VEHICLE_DATA_CONSENT(62, "GetInteriorVehicleDataConsent"),
RELEASE_INTERIOR_VEHICLE_MODULE(63, "ReleaseInteriorVehicleDataModule"),
+ SUBTLE_ALERT(64, "SubtleAlert"),
// NOTIFICATIONS
ON_HMI_STATUS(32768, "OnHMIStatus"),
ON_APP_INTERFACE_UNREGISTERED(32769, "OnAppInterfaceUnregistered"),
@@ -131,17 +132,9 @@ public enum FunctionID{
ON_RC_STATUS(32785, "OnRCStatus"),
ON_APP_SERVICE_DATA(32786, "OnAppServiceData"),
ON_SYSTEM_CAPABILITY_UPDATED(32787, "OnSystemCapabilityUpdated"),
-
- // MOCKED FUNCTIONS (NOT SENT FROM HEAD-UNIT)
- @Deprecated
- ON_LOCK_SCREEN_STATUS(-1, "OnLockScreenStatus"),
- @Deprecated
- ON_SDL_CHOICE_CHOSEN(-1, "OnSdlChoiceChosen"),
- @Deprecated
- ON_STREAM_RPC(-1, "OnStreamRPC"),
- @Deprecated
- STREAM_RPC(-1, "StreamRPC"),
-
+ ON_SUBTLE_ALERT_PRESSED(32788, "OnSubtleAlertPressed"),
+ ON_UPDATE_FILE(32789, "OnUpdateFile"),
+ ON_UPDATE_SUB_MENU(32790, "OnUpdateSubMenu"),
;
public static final int INVALID_ID = -1;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/RPCResponse.java b/base/src/main/java/com/smartdevicelink/proxy/RPCResponse.java
index 2a7473191..771ccfe7c 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/RPCResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/RPCResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.rpc.enums.Result;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/interfaces/IProxyListenerBase.java b/base/src/main/java/com/smartdevicelink/proxy/interfaces/IProxyListenerBase.java
index 988325bd9..e00309fb5 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/interfaces/IProxyListenerBase.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/interfaces/IProxyListenerBase.java
@@ -73,10 +73,8 @@ import com.smartdevicelink.proxy.rpc.OnHashChange;
import com.smartdevicelink.proxy.rpc.OnInteriorVehicleData;
import com.smartdevicelink.proxy.rpc.OnKeyboardInput;
import com.smartdevicelink.proxy.rpc.OnLanguageChange;
-import com.smartdevicelink.proxy.rpc.OnLockScreenStatus;
import com.smartdevicelink.proxy.rpc.OnPermissionsChange;
import com.smartdevicelink.proxy.rpc.OnRCStatus;
-import com.smartdevicelink.proxy.rpc.OnStreamRPC;
import com.smartdevicelink.proxy.rpc.OnSystemCapabilityUpdated;
import com.smartdevicelink.proxy.rpc.OnSystemRequest;
import com.smartdevicelink.proxy.rpc.OnTBTClientState;
@@ -105,7 +103,6 @@ import com.smartdevicelink.proxy.rpc.ShowConstantTbtResponse;
import com.smartdevicelink.proxy.rpc.ShowResponse;
import com.smartdevicelink.proxy.rpc.SliderResponse;
import com.smartdevicelink.proxy.rpc.SpeakResponse;
-import com.smartdevicelink.proxy.rpc.StreamRPCResponse;
import com.smartdevicelink.proxy.rpc.SubscribeButtonResponse;
import com.smartdevicelink.proxy.rpc.SubscribeVehicleDataResponse;
import com.smartdevicelink.proxy.rpc.SubscribeWayPointsResponse;
@@ -146,9 +143,9 @@ public interface IProxyListenerBase {
public void onServiceNACKed(OnServiceNACKed serviceNACKed);
- public void onOnStreamRPC(OnStreamRPC notification);
+ //public void onOnStreamRPC(OnStreamRPC notification);
- public void onStreamRPCResponse(StreamRPCResponse response);
+ //public void onStreamRPCResponse(StreamRPCResponse response);
/**
* onProxyError() being called indicates that the SDL Proxy experenced an error.
@@ -370,7 +367,7 @@ public interface IProxyListenerBase {
public void onGetDTCsResponse(GetDTCsResponse response);
- public void onOnLockScreenNotification(OnLockScreenStatus notification);
+ //public void onOnLockScreenNotification(OnLockScreenStatus notification);
public void onDialNumberResponse(DialNumberResponse response);
diff --git a/base/src/main/java/com/smartdevicelink/proxy/interfaces/ISdl.java b/base/src/main/java/com/smartdevicelink/proxy/interfaces/ISdl.java
index a3e1da573..6a1b1b97d 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/interfaces/ISdl.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/interfaces/ISdl.java
@@ -1,8 +1,9 @@
package com.smartdevicelink.proxy.interfaces;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.livio.taskmaster.Taskmaster;
+import com.smartdevicelink.managers.lifecycle.OnSystemCapabilityListener;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.protocol.enums.SessionType;
import com.smartdevicelink.proxy.RPCMessage;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/AddCommand.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/AddCommand.java
index be6ffa130..c46fb4a7a 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/AddCommand.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/AddCommand.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/AddCommandResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/AddCommandResponse.java
index 897f6918c..1f5c084bc 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/AddCommandResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/AddCommandResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/AddSubMenu.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/AddSubMenu.java
index 7d54aebe2..3751134e0 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/AddSubMenu.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/AddSubMenu.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/AddSubMenuResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/AddSubMenuResponse.java
index 1f824c7e2..86893b1b4 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/AddSubMenuResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/AddSubMenuResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/AirbagStatus.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/AirbagStatus.java
index eeadd28a7..49fdf959e 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/AirbagStatus.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/AirbagStatus.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.VehicleDataEventStatus;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/AlertManeuverResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/AlertManeuverResponse.java
index b630132af..4b4549979 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/AlertManeuverResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/AlertManeuverResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/AlertResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/AlertResponse.java
index 8463c8920..a2fae73be 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/AlertResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/AlertResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/AppInfo.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/AppInfo.java
index a54e8bdcf..a71d7b6e2 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/AppInfo.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/AppInfo.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/AppServiceCapability.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/AppServiceCapability.java
index e582162f4..780ac13ed 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/AppServiceCapability.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/AppServiceCapability.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.ServiceUpdateReason;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/AppServiceData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/AppServiceData.java
index d5df5f75c..1a441a7fa 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/AppServiceData.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/AppServiceData.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/AppServiceManifest.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/AppServiceManifest.java
index db0106e3d..9f2e4e2f6 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/AppServiceManifest.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/AppServiceManifest.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/AppServiceRecord.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/AppServiceRecord.java
index 66524e237..198be4e26 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/AppServiceRecord.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/AppServiceRecord.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/AppServicesCapabilities.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/AppServicesCapabilities.java
index 36b14d8be..63d3dd6a5 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/AppServicesCapabilities.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/AppServicesCapabilities.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.ServiceUpdateReason;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/AudioControlCapabilities.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/AudioControlCapabilities.java
index 4210c9c2b..7ee26175e 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/AudioControlCapabilities.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/AudioControlCapabilities.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/AudioPassThruCapabilities.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/AudioPassThruCapabilities.java
index 79396638a..38f2f80bb 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/AudioPassThruCapabilities.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/AudioPassThruCapabilities.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.AudioType;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/BeltStatus.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/BeltStatus.java
index 0abc83e8c..ff01b72e4 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/BeltStatus.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/BeltStatus.java
@@ -1,37 +1,37 @@
-/*
- * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
- */
+/*
+ * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
+ */
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.VehicleDataEventStatus;
@@ -160,7 +160,6 @@ public class BeltStatus extends RPCStruct {
public static final String KEY_LEFT_ROW_3_BUCKLE_BELTED = "leftRow3BuckleBelted";
public static final String KEY_RIGHT_ROW_3_BUCKLE_BELTED = "rightRow3BuckleBelted";
- @Deprecated public static final String KEY_REAR_INFLATABLE_BELTED = "rearInflatableBelted";
public static final String KEY_LEFT_REAR_INFLATABLE_BELTED = "leftRearInflatableBelted";
public static final String KEY_RIGHT_REAR_INFLATABLE_BELTED = "rightRearInflatableBelted";
public static final String KEY_MIDDLE_ROW_1_BELT_DEPLOYED = "middleRow1BeltDeployed";
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/BodyInformation.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/BodyInformation.java
index 4dfb7ec5d..a502e1df6 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/BodyInformation.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/BodyInformation.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.IgnitionStableStatus;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ButtonCapabilities.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ButtonCapabilities.java
index 41dcb774d..1a8cb4df9 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ButtonCapabilities.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ButtonCapabilities.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.ButtonName;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ButtonPress.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ButtonPress.java
index 1872138c5..645ae336d 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ButtonPress.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ButtonPress.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ButtonPressResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ButtonPressResponse.java
index 2caa1f5f7..9611760a6 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ButtonPressResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ButtonPressResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/CancelInteraction.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/CancelInteraction.java
index 3fb02422c..9016458a6 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/CancelInteraction.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/CancelInteraction.java
@@ -34,7 +34,7 @@
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
@@ -91,8 +91,8 @@ public class CancelInteraction extends RPCRequest {
// Custom Getters / Setters
/**
- * The ID of the type of interaction to dismiss.
- * Only values 10 (PerformInteractionID), 12 (AlertID), 25 (ScrollableMessageID), and 26 (SliderID) are permitted.
+ * Gets the ID of the type of interaction the developer wants to dismiss.
+ * Only values 10 (PerformInteractionID), 12 (AlertID), 25 (ScrollableMessageID), 26 (SliderID), and 64 (SubtleAlertID) are permitted.
* @return - the functionID
*/
public Integer getInteractionFunctionID() {
@@ -100,8 +100,8 @@ public class CancelInteraction extends RPCRequest {
}
/**
- * The ID of the type of interaction to dismiss.
- * Only values 10 (PerformInteractionID), 12 (AlertID), 25 (ScrollableMessageID), and 26 (SliderID) are permitted.
+ * Sets the ID of the type of interaction the developer wants to dismiss.
+ * Only values 10 (PerformInteractionID), 12 (AlertID), 25 (ScrollableMessageID), 26 (SliderID), and 64 (SubtleAlertID) are permitted.
* @param functionID - the functionID
*/
public void setInteractionFunctionID(@NonNull Integer functionID) {
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/CancelInteractionResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/CancelInteractionResponse.java
index defab83c9..508185534 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/CancelInteractionResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/CancelInteractionResponse.java
@@ -34,7 +34,7 @@
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ChangeRegistration.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ChangeRegistration.java
index 1dfe21e57..2087ea886 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ChangeRegistration.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ChangeRegistration.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ChangeRegistrationResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ChangeRegistrationResponse.java
index a141680eb..8658dabba 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ChangeRegistrationResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ChangeRegistrationResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/Choice.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/Choice.java
index 8f78e1a20..72fb49a91 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/Choice.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/Choice.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.util.Version;
@@ -127,22 +127,6 @@ public class Choice extends RPCStruct {
setChoiceID(choiceID);
setMenuName(menuName);
}
-
- /**
- * Constructs a newly allocated Choice object
- * @param choiceID Min: 0 Max: 65535
- * @param menuName the menu name
- * @param vrCommands the List of vrCommands
- *
- * Deprecated - use {@link #Choice(Integer, String)}
- */
- @Deprecated
- public Choice(@NonNull Integer choiceID, @NonNull String menuName, @NonNull List<String> vrCommands) {
- this();
- setChoiceID(choiceID);
- setMenuName(menuName);
- setVrCommands(vrCommands);
- }
/**
* VrCommands became optional as of RPC Spec 5.0. On legacy systems, we must still set VrCommands, as
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ClimateControlCapabilities.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ClimateControlCapabilities.java
index 8d229c30a..856087fda 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ClimateControlCapabilities.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ClimateControlCapabilities.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.DefrostZone;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/CloseApplicationResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/CloseApplicationResponse.java
index be3811759..5fc5729e2 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/CloseApplicationResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/CloseApplicationResponse.java
@@ -34,7 +34,7 @@
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/CloudAppProperties.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/CloudAppProperties.java
index 493083495..1c81ce95b 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/CloudAppProperties.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/CloudAppProperties.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.HybridAppPreference;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ClusterModeStatus.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ClusterModeStatus.java
index 3252a860c..98aa2a060 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ClusterModeStatus.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ClusterModeStatus.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.CarModeStatus;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/Coordinate.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/Coordinate.java
index 3863b652a..970692dab 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/Coordinate.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/Coordinate.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.util.SdlDataTypeConverter;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/CreateInteractionChoiceSet.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/CreateInteractionChoiceSet.java
index af873e9a1..be638065b 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/CreateInteractionChoiceSet.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/CreateInteractionChoiceSet.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/CreateInteractionChoiceSetResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/CreateInteractionChoiceSetResponse.java
index 370eff3b3..b7d89228f 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/CreateInteractionChoiceSetResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/CreateInteractionChoiceSetResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/CreateWindow.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/CreateWindow.java
index d0ac5807c..6184bb059 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/CreateWindow.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/CreateWindow.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/CreateWindowResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/CreateWindowResponse.java
index 733283462..bac8b6d4b 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/CreateWindowResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/CreateWindowResponse.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/DIDResult.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/DIDResult.java
index 5e9858985..8cd8e9c18 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/DIDResult.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/DIDResult.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.VehicleDataResultCode;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteCommand.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteCommand.java
index 31c319101..e102e9427 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteCommand.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteCommand.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteCommandResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteCommandResponse.java
index 608590ba6..3d6d94917 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteCommandResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteCommandResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteFile.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteFile.java
index 8f4985489..177171027 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteFile.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteFile.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteFileResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteFileResponse.java
index 386c25028..e1076935b 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteFileResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteFileResponse.java
@@ -1,37 +1,37 @@
-/*
- * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
- */
+/*
+ * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
+ */
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
@@ -61,22 +61,6 @@ public class DeleteFileResponse extends RPCResponse {
}
/**
- * @deprecated use {@link DeleteFileResponse#DeleteFileResponse(Boolean, Result)} instead <br>
- *
- * Constructs a new DeleteFileResponse object
- * @param success whether the request is successfully processed
- * @param resultCode whether the request is successfully processed
- * @param spaceAvailable the total local space available on the module for the registered app.
- */
- @Deprecated
- public DeleteFileResponse(@NonNull Boolean success, @NonNull Result resultCode, @NonNull Integer spaceAvailable) {
- this();
- setSuccess(success);
- setResultCode(resultCode);
- setSpaceAvailable(spaceAvailable);
- }
-
- /**
* Constructs a new DeleteFileResponse object
* @param success whether the request is successfully processed
* @param resultCode whether the request is successfully processed
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteInteractionChoiceSet.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteInteractionChoiceSet.java
index 6bec1ff67..e3d0d5c86 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteInteractionChoiceSet.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteInteractionChoiceSet.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteInteractionChoiceSetResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteInteractionChoiceSetResponse.java
index b2457e876..34cc5fcd8 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteInteractionChoiceSetResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteInteractionChoiceSetResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteSubMenu.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteSubMenu.java
index 296e02897..e526013c8 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteSubMenu.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteSubMenu.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteSubMenuResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteSubMenuResponse.java
index 40de5ba0c..88190cb13 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteSubMenuResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteSubMenuResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteWindow.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteWindow.java
index 3c766deeb..4e78b95a7 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteWindow.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteWindow.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteWindowResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteWindowResponse.java
index d943e860b..fee588426 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteWindowResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/DeleteWindowResponse.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/DeviceInfo.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/DeviceInfo.java
index 8113f2add..c19068eb0 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/DeviceInfo.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/DeviceInfo.java
@@ -1,34 +1,34 @@
-/*
- * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
- */
+/*
+ * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
+ */
package com.smartdevicelink.proxy.rpc;
import com.smartdevicelink.proxy.RPCStruct;
@@ -108,8 +108,6 @@ public class DeviceInfo extends RPCStruct{
public static final String KEY_OS_VERSION = "osVersion";
public static final String KEY_CARRIER = "carrier";
public static final String KEY_MAX_NUMBER_RFCOMM_PORTS = "maxNumberRFCOMMPorts";
- @Deprecated
- public static final String DEVICE_OS = "Android";
public DeviceInfo() { }
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/DeviceStatus.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/DeviceStatus.java
index 6a747f05b..8748014f2 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/DeviceStatus.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/DeviceStatus.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.DeviceLevelStatus;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/DiagnosticMessage.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/DiagnosticMessage.java
index ea71394ec..effba93a9 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/DiagnosticMessage.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/DiagnosticMessage.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/DiagnosticMessageResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/DiagnosticMessageResponse.java
index 53b7a32e0..c1a1cf5cb 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/DiagnosticMessageResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/DiagnosticMessageResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
@@ -57,19 +57,6 @@ public class DiagnosticMessageResponse extends RPCResponse {
public DiagnosticMessageResponse(Hashtable<String, Object> hash) {
super(hash);
}
- /**
- * Constructs a new DiagnosticMessageResponse object
- * @param success whether the request is successfully processed
- * @param resultCode whether the request is successfully processed
- * @deprecated use {@link DiagnosticMessageResponse#DiagnosticMessageResponse(Boolean, Result)}
- */
- @Deprecated
- public DiagnosticMessageResponse(@NonNull Boolean success, @NonNull Result resultCode, @NonNull List<Integer> messageDataResult) {
- this();
- setSuccess(success);
- setResultCode(resultCode);
- setMessageDataResult(messageDataResult);
- }
/**
* Constructs a new DiagnosticMessageResponse object
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/DialNumber.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/DialNumber.java
index 1264f8efa..989617456 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/DialNumber.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/DialNumber.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/DialNumberResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/DialNumberResponse.java
index d2c7f0531..057c4d02b 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/DialNumberResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/DialNumberResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/DisplayCapabilities.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/DisplayCapabilities.java
index 3d461e2d0..43b4b408e 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/DisplayCapabilities.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/DisplayCapabilities.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.DisplayType;
@@ -94,7 +94,7 @@ import java.util.List;
*
*/
public class DisplayCapabilities extends RPCStruct {
- public static final String KEY_DISPLAY_TYPE = "displayType";
+ @Deprecated public static final String KEY_DISPLAY_TYPE = "displayType";
public static final String KEY_DISPLAY_NAME = "displayName";
public static final String KEY_MEDIA_CLOCK_FORMATS = "mediaClockFormats";
public static final String KEY_TEXT_FIELDS = "textFields";
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/DynamicUpdateCapabilities.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/DynamicUpdateCapabilities.java
new file mode 100644
index 000000000..f8b16ce29
--- /dev/null
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/DynamicUpdateCapabilities.java
@@ -0,0 +1,137 @@
+/*
+ * Copyright (c) 2017 - 2020, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium Inc. 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.
+ */
+package com.smartdevicelink.proxy.rpc;
+
+import com.smartdevicelink.proxy.RPCStruct;
+import com.smartdevicelink.proxy.rpc.enums.ImageFieldName;
+
+import java.util.Hashtable;
+import java.util.List;
+
+/**
+ *
+ * <p><b>Parameter List</b></p>
+ *
+ * <table border="1" rules="all">
+ * <tr>
+ * <th>Param Name</th>
+ * <th>Type</th>
+ * <th>Description</th>
+ * <th>Required</th>
+ * <th>Version Available</th>
+ * </tr>
+ * <tr>
+ * <td>supportedDynamicImageFieldNames</td>
+ * <td>List<ImageFieldName></td>
+ * <td>An array of ImageFieldName values for which the system supports sending OnFileUpdatenotifications. If you send an Image struct for that image field with a name without havinguploaded the image data using PutFile that matches that name, the system will request thatyou upload the data with PutFile at a later point when the HMI needs it. The HMI will thendisplay the image in the appropriate field. If not sent, assume false.</td>
+ * <td>N</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>supportsDynamicSubMenus</td>
+ * <td>Boolean</td>
+ * <td>If true, the head unit supports dynamic sub-menus by sending OnUpdateSubMenunotifications. If true, you should not send AddCommands that attach to a parentID for anAddSubMenu until OnUpdateSubMenu is received with the menuID. At that point, you shouldsend all AddCommands with a parentID that match the menuID. If not set, assume false.</td>
+ * <td>N</td>
+ * <td></td>
+ * </tr>
+ * </table>
+ * @since SmartDeviceLink 7.0.0
+ */
+public class DynamicUpdateCapabilities extends RPCStruct {
+ public static final String KEY_SUPPORTED_DYNAMIC_IMAGE_FIELD_NAMES = "supportedDynamicImageFieldNames";
+ public static final String KEY_SUPPORTS_DYNAMIC_SUB_MENUS = "supportsDynamicSubMenus";
+
+ /**
+ * Constructs a new DynamicUpdateCapabilities object
+ */
+ public DynamicUpdateCapabilities() { }
+
+ /**
+ * Constructs a new DynamicUpdateCapabilities object indicated by the Hashtable parameter
+ *
+ * @param hash The Hashtable to use
+ */
+ public DynamicUpdateCapabilities(Hashtable<String, Object> hash) {
+ super(hash);
+ }
+
+ /**
+ * Sets the supportedDynamicImageFieldNames.
+ *
+ * @param supportedDynamicImageFieldNames An array of ImageFieldName values for which the system supports sending OnFileUpdate
+ * notifications. If you send an Image struct for that image field with a name without having
+ * uploaded the image data using PutFile that matches that name, the system will request that
+ * you upload the data with PutFile at a later point when the HMI needs it. The HMI will then
+ * display the image in the appropriate field. If not sent, assume false.
+ */
+ public void setSupportedDynamicImageFieldNames(List<ImageFieldName> supportedDynamicImageFieldNames) {
+ setValue(KEY_SUPPORTED_DYNAMIC_IMAGE_FIELD_NAMES, supportedDynamicImageFieldNames);
+ }
+
+ /**
+ * Gets the supportedDynamicImageFieldNames.
+ *
+ * @return List<ImageFieldName> An array of ImageFieldName values for which the system supports sending OnFileUpdate
+ * notifications. If you send an Image struct for that image field with a name without having
+ * uploaded the image data using PutFile that matches that name, the system will request that
+ * you upload the data with PutFile at a later point when the HMI needs it. The HMI will then
+ * display the image in the appropriate field. If not sent, assume false.
+ */
+ @SuppressWarnings("unchecked")
+ public List<ImageFieldName> getSupportedDynamicImageFieldNames() {
+ return (List<ImageFieldName>) getObject(ImageFieldName.class, KEY_SUPPORTED_DYNAMIC_IMAGE_FIELD_NAMES);
+ }
+
+ /**
+ * Sets the supportsDynamicSubMenus.
+ *
+ * @param supportsDynamicSubMenus If true, the head unit supports dynamic sub-menus by sending OnUpdateSubMenu
+ * notifications. If true, you should not send AddCommands that attach to a parentID for an
+ * AddSubMenu until OnUpdateSubMenu is received with the menuID. At that point, you should
+ * send all AddCommands with a parentID that match the menuID. If not set, assume false.
+ */
+ public void setSupportsDynamicSubMenus(Boolean supportsDynamicSubMenus) {
+ setValue(KEY_SUPPORTS_DYNAMIC_SUB_MENUS, supportsDynamicSubMenus);
+ }
+
+ /**
+ * Gets the supportsDynamicSubMenus.
+ *
+ * @return Boolean If true, the head unit supports dynamic sub-menus by sending OnUpdateSubMenu
+ * notifications. If true, you should not send AddCommands that attach to a parentID for an
+ * AddSubMenu until OnUpdateSubMenu is received with the menuID. At that point, you should
+ * send all AddCommands with a parentID that match the menuID. If not set, assume false.
+ */
+ public Boolean getSupportsDynamicSubMenus() {
+ return getBoolean(KEY_SUPPORTS_DYNAMIC_SUB_MENUS);
+ }
+}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ECallInfo.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ECallInfo.java
index cce644c6b..03c69af0a 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ECallInfo.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ECallInfo.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.ECallConfirmationStatus;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/EmergencyEvent.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/EmergencyEvent.java
index b66d4d931..6c22dc83d 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/EmergencyEvent.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/EmergencyEvent.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.EmergencyEventType;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/EndAudioPassThruResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/EndAudioPassThruResponse.java
index 277cd236f..008530b3a 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/EndAudioPassThruResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/EndAudioPassThruResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/EqualizerSettings.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/EqualizerSettings.java
index a680cfdb0..81c7f100c 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/EqualizerSettings.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/EqualizerSettings.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/GPSData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/GPSData.java
index d10c90bf5..f36cd6127 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/GPSData.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/GPSData.java
@@ -1,37 +1,37 @@
-/*
- * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
- */
+/*
+ * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
+ */
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.CompassDirection;
@@ -195,7 +195,7 @@ public class GPSData extends RPCStruct {
public static final String KEY_ALTITUDE = "altitude";
public static final String KEY_HEADING = "heading";
public static final String KEY_SPEED = "speed";
- public static final String KEY_SHIFTED = "shifted";
+ public static final String KEY_SHIFTED = "shifted";
/**
* Constructs a newly allocated GPSData object
@@ -212,37 +212,6 @@ public class GPSData extends RPCStruct {
/**
* Constructs a newly allocated GPSData object
- * @deprecated Use {@link #GPSData(@NonNull Double, @NonNull Double)()} instead
- */
- @Deprecated
- public GPSData(@NonNull Double longitudeDegrees, @NonNull Double latitudeDegrees, @NonNull Integer utcYear,
- @NonNull Integer utcMonth, @NonNull Integer utcDay, @NonNull Integer utcHours,
- @NonNull Integer utcMinutes, @NonNull Integer utcSeconds, @NonNull CompassDirection compassDirection,
- @NonNull Double pdop, @NonNull Double hdop, @NonNull Double vdop, @NonNull Boolean actual,
- @NonNull Integer satellites, @NonNull Dimension dimension, @NonNull Double altitude, @NonNull Double heading, @NonNull Double speed) {
- this();
- setLongitudeDegrees(longitudeDegrees);
- setLatitudeDegrees(latitudeDegrees);
- setUtcYear(utcYear);
- setUtcMonth(utcMonth);
- setUtcDay(utcDay);
- setUtcHours(utcHours);
- setUtcMinutes(utcMinutes);
- setUtcSeconds(utcSeconds);
- setCompassDirection(compassDirection);
- setPdop(pdop);
- setHdop(hdop);
- setVdop(vdop);
- setActual(actual);
- setSatellites(satellites);
- setDimension(dimension);
- setAltitude(altitude);
- setHeading(heading);
- setSpeed(speed);
- }
-
- /**
- * Constructs a newly allocated GPSData object
*/
public GPSData(@NonNull Double longitudeDegrees, @NonNull Double latitudeDegrees) {
this();
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/GearStatus.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/GearStatus.java
new file mode 100644
index 000000000..131e7f831
--- /dev/null
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/GearStatus.java
@@ -0,0 +1,150 @@
+/*
+ * Copyright (c) 2017 - 2020, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium Inc. 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.
+ */
+package com.smartdevicelink.proxy.rpc;
+
+import com.smartdevicelink.proxy.RPCStruct;
+import com.smartdevicelink.proxy.rpc.enums.PRNDL;
+import com.smartdevicelink.proxy.rpc.enums.TransmissionType;
+
+import java.util.Hashtable;
+
+/**
+ *
+ * <p><b>Parameter List</b></p>
+ *
+ * <table border="1" rules="all">
+ * <tr>
+ * <th>Param Name</th>
+ * <th>Type</th>
+ * <th>Description</th>
+ * <th>Required</th>
+ * <th>Version Available</th>
+ * </tr>
+ * <tr>
+ * <td>userSelectedGear</td>
+ * <td>PRNDL</td>
+ * <td>Gear position selected by the user i.e. Park, Drive, Reverse</td>
+ * <td>N</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>actualGear</td>
+ * <td>PRNDL</td>
+ * <td>Actual Gear in use by the transmission</td>
+ * <td>N</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>transmissionType</td>
+ * <td>TransmissionType</td>
+ * <td>Tells the transmission type</td>
+ * <td>N</td>
+ * <td></td>
+ * </tr>
+ * </table>
+ * @since SmartDeviceLink 7.0.0
+ */
+public class GearStatus extends RPCStruct {
+ public static final String KEY_USER_SELECTED_GEAR = "userSelectedGear";
+ public static final String KEY_ACTUAL_GEAR = "actualGear";
+ public static final String KEY_TRANSMISSION_TYPE = "transmissionType";
+
+ /**
+ * Constructs a newly allocated GearStatus object
+ */
+ public GearStatus() {}
+
+ /**
+ * Constructs a new GearStatus object indicated by the Hashtable parameter
+ *
+ * @param hash The Hashtable to use
+ */
+ public GearStatus(Hashtable<String, Object> hash) {
+ super(hash);
+ }
+
+ /**
+ * Sets the userSelectedGear.
+ *
+ * @param userSelectedGear Gear position selected by the user i.e. Park, Drive, Reverse
+ */
+ public void setUserSelectedGear(PRNDL selectedGear){
+ setValue(KEY_USER_SELECTED_GEAR, selectedGear);
+ }
+
+ /**
+ * Gets the userSelectedGear.
+ *
+ * @return PRNDL Gear position selected by the user i.e. Park, Drive, Reverse
+ */
+ @SuppressWarnings("unchecked")
+ public PRNDL getUserSelectedGear(){
+ return (PRNDL)getObject(PRNDL.class, KEY_USER_SELECTED_GEAR);
+ }
+
+ /**
+ * Sets the actualGear.
+ *
+ * @param actualGear Actual Gear in use by the transmission
+ */
+ public void setActualGear(PRNDL actualGear){
+ setValue(KEY_ACTUAL_GEAR, actualGear);
+ }
+
+ /**
+ * Gets the actualGear.
+ *
+ * @return PRNDL Actual Gear in use by the transmission
+ */
+ @SuppressWarnings("unchecked")
+ public PRNDL getActualGear(){
+ return (PRNDL)getObject(PRNDL.class, KEY_ACTUAL_GEAR);
+ }
+
+ /**
+ * Sets the transmissionType.
+ *
+ * @param transmissionType Tells the transmission type
+ */
+ public void setTransmissionType(TransmissionType transmissionType){
+ setValue(KEY_TRANSMISSION_TYPE, transmissionType);
+ }
+
+ /**
+ * Gets the transmissionType.
+ *
+ * @return TransmissionType Tells the transmission type
+ */
+ public TransmissionType getTransmissionType(){
+ return (TransmissionType)getObject(TransmissionType.class, KEY_TRANSMISSION_TYPE);
+ }
+}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/GenericResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/GenericResponse.java
index 857322939..aae6e3517 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/GenericResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/GenericResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetAppServiceData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetAppServiceData.java
index aefb1ef41..9946de27a 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetAppServiceData.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetAppServiceData.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetAppServiceDataResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetAppServiceDataResponse.java
index c7aabd7fe..253626e9b 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetAppServiceDataResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetAppServiceDataResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetCloudAppProperties.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetCloudAppProperties.java
index c08d4e92f..3348d4cb1 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetCloudAppProperties.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetCloudAppProperties.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetCloudAppPropertiesResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetCloudAppPropertiesResponse.java
index 7f779feff..2c4eddeda 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetCloudAppPropertiesResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetCloudAppPropertiesResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetDTCs.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetDTCs.java
index 9a632d5db..939e1cdb6 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetDTCs.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetDTCs.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetDTCsResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetDTCsResponse.java
index a0de6de5c..e7c54c02b 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetDTCsResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetDTCsResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
@@ -62,21 +62,6 @@ public class GetDTCsResponse extends RPCResponse{
* Constructs a new GetDTCsResponse object
* @param success whether the request is successfully processed
* @param resultCode whether the request is successfully processed
- * @param ecuHeader representation of the ecu header that was returned from the GetDTC request
- * @deprecated use {@link GetDTCsResponse#GetDTCsResponse(Boolean, Result)}
- */
- @Deprecated
- public GetDTCsResponse(@NonNull Boolean success, @NonNull Result resultCode, @NonNull Integer ecuHeader) {
- this();
- setSuccess(success);
- setResultCode(resultCode);
- setEcuHeader(ecuHeader);
- }
-
- /**
- * Constructs a new GetDTCsResponse object
- * @param success whether the request is successfully processed
- * @param resultCode whether the request is successfully processed
*/
public GetDTCsResponse(@NonNull Boolean success, @NonNull Result resultCode) {
this();
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetFile.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetFile.java
index b67782fa3..d1453ded1 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetFile.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetFile.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetFileResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetFileResponse.java
index e5ed08a85..711de294c 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetFileResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetFileResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetInteriorVehicleData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetInteriorVehicleData.java
index a2999ae3b..a6a323646 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetInteriorVehicleData.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetInteriorVehicleData.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetInteriorVehicleDataConsent.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetInteriorVehicleDataConsent.java
index fd53bedf2..b4d3e02f3 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetInteriorVehicleDataConsent.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetInteriorVehicleDataConsent.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetInteriorVehicleDataConsentResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetInteriorVehicleDataConsentResponse.java
index 684eba292..5c2b5c7e9 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetInteriorVehicleDataConsentResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetInteriorVehicleDataConsentResponse.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetInteriorVehicleDataResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetInteriorVehicleDataResponse.java
index 7a85ac129..ccf1e7913 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetInteriorVehicleDataResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetInteriorVehicleDataResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
@@ -64,21 +64,6 @@ public class GetInteriorVehicleDataResponse extends RPCResponse {
/**
* Constructs a new GetInteriorVehicleDataResponse object
- * @param moduleData specific data for the module that was requested
- * @param resultCode whether the request is successfully processed
- * @param success whether the request is successfully processed
- * @deprecated use {@link GetInteriorVehicleDataResponse#GetInteriorVehicleDataResponse(Result, Boolean)}
- */
- @Deprecated
- public GetInteriorVehicleDataResponse(@NonNull ModuleData moduleData, @NonNull Result resultCode, @NonNull Boolean success) {
- this();
- setModuleData(moduleData);
- setResultCode(resultCode);
- setSuccess(success);
- }
-
- /**
- * Constructs a new GetInteriorVehicleDataResponse object
* @param resultCode whether the request is successfully processed
* @param success whether the request is successfully processed
*/
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetSystemCapability.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetSystemCapability.java
index e27031182..8cb70d7aa 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetSystemCapability.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetSystemCapability.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetSystemCapabilityResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetSystemCapabilityResponse.java
index f324de95f..29803499e 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetSystemCapabilityResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetSystemCapabilityResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
@@ -66,21 +66,6 @@ public class GetSystemCapabilityResponse extends RPCResponse {
/**
* Constructs a new GetSystemCapabilityResponse object
- * @param systemCapability SystemCapability object
- * @param resultCode whether the request is successfully processed
- * @param success whether the request is successfully processed
- * @deprecated use {@link GetSystemCapabilityResponse#GetSystemCapabilityResponse(Result, Boolean)}
- */
- @Deprecated
- public GetSystemCapabilityResponse(@NonNull SystemCapability systemCapability, @NonNull Result resultCode, @NonNull Boolean success) {
- this();
- setSystemCapability(systemCapability);
- setResultCode(resultCode);
- setSuccess(success);
- }
-
- /**
- * Constructs a new GetSystemCapabilityResponse object
* @param resultCode whether the request is successfully processed
* @param success whether the request is successfully processed
*/
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleData.java
index 0f4e70f9b..4699de61f 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleData.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleData.java
@@ -1,34 +1,34 @@
-/*
- * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
- */
+/*
+ * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
+ */
package com.smartdevicelink.proxy.rpc;
import com.smartdevicelink.protocol.enums.FunctionID;
@@ -114,13 +114,20 @@ import java.util.Hashtable;
* <td>SmartDeviceLink 2.0</td>
* </tr>
* <tr>
- * <td>prndl</td>
- * <td>Boolean</td>
- * <td>Currently selected gear.</td>
- * <td>N</td>
- * <td>Subscribable</td>
- * <td>SmartDeviceLink 2.0</td>
- * </tr>
+ * <tr>
+ * <td>gearStatus</td>
+ * <td>Boolean</td>
+ * <td>See GearStatus</td>
+ * <td>N</td>
+ * <td>SmartDeviceLink 7.0.0</td>
+ * </tr>
+ * <tr>
+ * <td>prndl</td>
+ * <td>Boolean</td>
+ * <td>See PRNDL. This parameter is deprecated and it is now covered in `gearStatus`</td>
+ * <td>N</td>
+ * <td>SmartDeviceLink 7.0.0</td>
+ * </tr>
* <tr>
* <td>tirePressure</td>
* <td>Boolean</td>
@@ -233,6 +240,20 @@ import java.util.Hashtable;
* <td>Subscribable</td>
* <td>SmartDeviceLink 5.1 </td>
* </tr>
+ * <tr>
+ * <td>handsOffSteering</td>
+ * <td>Boolean</td>
+ * <td>To indicate whether driver hands are off the steering wheel</td>
+ * <td>N</td>
+ * <td>SmartDeviceLink 7.0.0</td>
+ * </tr>
+ * <tr>
+ * <td>windowStatus</td>
+ * <td>Boolean</td>
+ * <td>See WindowStatus</td>
+ * <td>N</td>
+ * <td>SmartDeviceLink 7.0.0</td>
+ * </tr>
* </table>
*
*
@@ -287,6 +308,9 @@ public class GetVehicleData extends RPCRequest {
public static final String KEY_TURN_SIGNAL = "turnSignal";
public static final String KEY_ELECTRONIC_PARK_BRAKE_STATUS = "electronicParkBrakeStatus";
public static final String KEY_CLOUD_APP_VEHICLE_ID = "cloudAppVehicleID";
+ public static final String KEY_WINDOW_STATUS = "windowStatus";
+ public static final String KEY_HANDS_OFF_STEERING = "handsOffSteering";
+ public static final String KEY_GEAR_STATUS = "gearStatus";
/**
* Constructs a new GetVehicleData object
@@ -332,14 +356,6 @@ public class GetVehicleData extends RPCRequest {
public Boolean getFuelLevel() {
return getBoolean(KEY_FUEL_LEVEL);
}
- @Deprecated
- public void setFuelLevel_State(Boolean fuelLevel_State) {
- setFuelLevelState(fuelLevel_State);
- }
- @Deprecated
- public Boolean getFuelLevel_State() {
- return getFuelLevelState();
- }
public void setFuelLevelState(Boolean fuelLevelState) {
setParameters(KEY_FUEL_LEVEL_STATE, fuelLevelState);
}
@@ -366,9 +382,24 @@ public class GetVehicleData extends RPCRequest {
return getBoolean(KEY_VIN);
}
+ /**
+ * Sets the prndl.
+ *
+ * @param prndl See PRNDL.
+ * @deprecated in SmartDeviceLink 7.0.0
+ */
+ @Deprecated
public void setPrndl(Boolean prndl) {
setParameters(KEY_PRNDL, prndl);
}
+
+ /**
+ * Gets the prndl.
+ *
+ * @return Boolean See PRNDL.
+ * @deprecated in SmartDeviceLink 7.0.0
+ */
+ @Deprecated
public Boolean getPrndl() {
return getBoolean(KEY_PRNDL);
}
@@ -540,21 +571,81 @@ public class GetVehicleData extends RPCRequest {
public Boolean getCloudAppVehicleID(){
return getBoolean(KEY_CLOUD_APP_VEHICLE_ID);
}
-
- /**
- * Sets a boolean value for OEM Custom VehicleData.
- * @param vehicleDataName a String value
- * @param vehicleDataState a boolean value
- */
- public void setOEMCustomVehicleData(String vehicleDataName, Boolean vehicleDataState){
- setParameters(vehicleDataName, vehicleDataState);
- }
-
- /**
- * Gets a boolean value for OEM Custom VehicleData.
- * @return a Boolean value.
- */
- public Boolean getOEMCustomVehicleData(String vehicleDataName){
- return getBoolean(vehicleDataName);
- }
-}
+
+ /**
+ * Sets a boolean value for OEM Custom VehicleData.
+ * @param vehicleDataName a String value
+ * @param vehicleDataState a boolean value
+ */
+ public void setOEMCustomVehicleData(String vehicleDataName, Boolean vehicleDataState){
+ setParameters(vehicleDataName, vehicleDataState);
+ }
+
+ /**
+ * Gets a boolean value for OEM Custom VehicleData.
+ * @return a Boolean value.
+ */
+ public Boolean getOEMCustomVehicleData(String vehicleDataName){
+ return getBoolean(vehicleDataName);
+ }
+
+ /**
+ * Sets the windowStatus.
+ *
+ * @param windowStatus See WindowStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ public void setWindowStatus(Boolean windowStatus) {
+ setParameters(KEY_WINDOW_STATUS, windowStatus);
+ }
+
+ /**
+ * Gets the windowStatus.
+ *
+ * @return Boolean See WindowStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ public Boolean getWindowStatus() {
+ return getBoolean(KEY_WINDOW_STATUS);
+ }
+
+ /**
+ * Sets the handsOffSteering.
+ *
+ * @param handsOffSteering To indicate whether driver hands are off the steering wheel
+ * @since SmartDeviceLink 7.0.0
+ */
+ public void setHandsOffSteering(Boolean handsOffSteering) {
+ setParameters(KEY_HANDS_OFF_STEERING, handsOffSteering);
+ }
+
+ /**
+ * Gets the handsOffSteering.
+ *
+ * @return Boolean To indicate whether driver hands are off the steering wheel
+ * @since SmartDeviceLink 7.0.0
+ */
+ public Boolean getHandsOffSteering() {
+ return getBoolean(KEY_HANDS_OFF_STEERING);
+ }
+
+ /**
+ * Sets the gearStatus.
+ *
+ * @param gearStatus See GearStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ public void setGearStatus(Boolean gearStatus) {
+ setParameters(KEY_GEAR_STATUS, gearStatus);
+ }
+
+ /**
+ * Gets the gearStatus.
+ *
+ * @return GearStatus See GearStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ public Boolean getGearStatus() {
+ return getBoolean(KEY_GEAR_STATUS);
+ }
+}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleDataResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleDataResponse.java
index 60b3b7cc4..1226baa45 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleDataResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleDataResponse.java
@@ -1,38 +1,38 @@
-/*
- * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
- */
+/*
+ * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
+ */
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
@@ -84,6 +84,9 @@ public class GetVehicleDataResponse extends RPCResponse {
public static final String KEY_TURN_SIGNAL = "turnSignal";
public static final String KEY_ELECTRONIC_PARK_BRAKE_STATUS = "electronicParkBrakeStatus";
public static final String KEY_CLOUD_APP_VEHICLE_ID = "cloudAppVehicleID";
+ public static final String KEY_WINDOW_STATUS = "windowStatus";
+ public static final String KEY_GEAR_STATUS = "gearStatus";
+ public static final String KEY_HANDS_OFF_STEERING = "handsOffSteering";
/**
* Constructs a new GetVehicleDataResponse object
@@ -132,14 +135,6 @@ public class GetVehicleDataResponse extends RPCResponse {
Object object = getParameters(KEY_FUEL_LEVEL);
return SdlDataTypeConverter.objectToDouble(object);
}
- @Deprecated
- public void setFuelLevel_State(ComponentVolumeStatus fuelLevel_State) {
- setFuelLevelState(fuelLevel_State);
- }
- @Deprecated
- public ComponentVolumeStatus getFuelLevel_State() {
- return getFuelLevelState();
- }
public void setFuelLevelState(ComponentVolumeStatus fuelLevelState) {
setParameters(KEY_FUEL_LEVEL_STATE, fuelLevelState);
}
@@ -166,9 +161,25 @@ public class GetVehicleDataResponse extends RPCResponse {
public String getVin() {
return getString(KEY_VIN);
}
+
+ /**
+ * Sets the prndl.
+ *
+ * @param prndl See PRNDL. This parameter is deprecated and it is now covered in `gearStatus`
+ * @deprecated in SmartDeviceLink 7.0.0
+ */
+ @Deprecated
public void setPrndl(PRNDL prndl) {
setParameters(KEY_PRNDL, prndl);
}
+
+ /**
+ * Gets the prndl.
+ *
+ * @return PRNDL See PRNDL. This parameter is deprecated and it is now covered in `gearStatus`
+ * @deprecated in SmartDeviceLink 7.0.0
+ */
+ @Deprecated
public PRNDL getPrndl() {
return (PRNDL) getObject(PRNDL.class, KEY_PRNDL);
}
@@ -372,22 +383,83 @@ public class GetVehicleDataResponse extends RPCResponse {
public String getCloudAppVehicleID(){
return getString(KEY_CLOUD_APP_VEHICLE_ID);
}
-
-
- /**
- * Sets a value for OEM Custom VehicleData.
- * @param vehicleDataName a String value
- * @param vehicleDataState a VehicleDataResult value
- */
- public void setOEMCustomVehicleData(String vehicleDataName, Object vehicleDataState){
- setParameters(vehicleDataName, vehicleDataState);
- }
-
- /**
- * Gets a VehicleData value for the vehicle data item.
- * @return a Object related to the vehicle data
- */
- public Object getOEMCustomVehicleData(String vehicleDataName){
- return getParameters(vehicleDataName);
- }
-}
+
+
+ /**
+ * Sets a value for OEM Custom VehicleData.
+ * @param vehicleDataName a String value
+ * @param vehicleDataState a VehicleDataResult value
+ */
+ public void setOEMCustomVehicleData(String vehicleDataName, Object vehicleDataState){
+ setParameters(vehicleDataName, vehicleDataState);
+ }
+
+ /**
+ * Gets a VehicleData value for the vehicle data item.
+ * @return a Object related to the vehicle data
+ */
+ public Object getOEMCustomVehicleData(String vehicleDataName){
+ return getParameters(vehicleDataName);
+ }
+
+ /**
+ * Sets the windowStatus.
+ *
+ * @param windowStatus See WindowStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ public void setWindowStatus(List<WindowStatus> windowStatus) {
+ setParameters(KEY_WINDOW_STATUS, windowStatus);
+ }
+
+ /**
+ * Gets the windowStatus.
+ *
+ * @return List<WindowStatus> See WindowStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ @SuppressWarnings("unchecked")
+ public List<WindowStatus> getWindowStatus() {
+ return (List<WindowStatus>) getObject(WindowStatus.class, KEY_WINDOW_STATUS);
+ }
+
+ /**
+ * Sets the handsOffSteering.
+ *
+ * @param handsOffSteering To indicate whether driver hands are off the steering wheel
+ * @since SmartDeviceLink 7.0.0
+ */
+ public void setHandsOffSteering(Boolean handsOffSteering) {
+ setParameters(KEY_HANDS_OFF_STEERING, handsOffSteering);
+ }
+
+ /**
+ * Gets the handsOffSteering.
+ *
+ * @return Boolean To indicate whether driver hands are off the steering wheel
+ * @since SmartDeviceLink 7.0.0
+ */
+ public Boolean getHandsOffSteering() {
+ return getBoolean(KEY_HANDS_OFF_STEERING);
+ }
+
+ /**
+ * Sets the gearStatus.
+ *
+ * @param gearStatus See GearStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ public void setGearStatus(GearStatus gearStatus) {
+ setParameters(KEY_GEAR_STATUS, gearStatus);
+ }
+
+ /**
+ * Gets the gearStatus.
+ *
+ * @return GearStatus See GearStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ public GearStatus getGearStatus() {
+ return (GearStatus) getObject(GearStatus.class, KEY_GEAR_STATUS);
+ }
+}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetWayPoints.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetWayPoints.java
index ca23b990c..2146e3933 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetWayPoints.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetWayPoints.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetWayPointsResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetWayPointsResponse.java
index 76fa76df2..7a4924dea 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetWayPointsResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetWayPointsResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/Grid.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/Grid.java
index 2aced1a6f..e0c93369d 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/Grid.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/Grid.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/HMIPermissions.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/HMIPermissions.java
index aecb9853f..68a84d451 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/HMIPermissions.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/HMIPermissions.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.HMILevel;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/HMISettingsControlCapabilities.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/HMISettingsControlCapabilities.java
index c9a7d690f..d62b646ba 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/HMISettingsControlCapabilities.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/HMISettingsControlCapabilities.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/HapticRect.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/HapticRect.java
index a102f3eb1..c4458e547 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/HapticRect.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/HapticRect.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/HeadLampStatus.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/HeadLampStatus.java
index 719c957b4..abd0f10e0 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/HeadLampStatus.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/HeadLampStatus.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.AmbientLightStatus;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/Image.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/Image.java
index 197265cad..ba9f25f5c 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/Image.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/Image.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.ImageType;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ImageField.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ImageField.java
index c52bd706c..de052a6f7 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ImageField.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ImageField.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.FileType;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ImageResolution.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ImageResolution.java
index 32e9a46fc..66841c773 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ImageResolution.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ImageResolution.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/LightCapabilities.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/LightCapabilities.java
index 93c526efa..6ecfca5c6 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/LightCapabilities.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/LightCapabilities.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.LightName;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/LightControlCapabilities.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/LightControlCapabilities.java
index a3b66467c..3cc66e67e 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/LightControlCapabilities.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/LightControlCapabilities.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/LightControlData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/LightControlData.java
index 5f7323773..05bcb5fec 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/LightControlData.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/LightControlData.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/LightState.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/LightState.java
index 5009e4a44..0676b50da 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/LightState.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/LightState.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.LightName;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ListFilesResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ListFilesResponse.java
index 715fa915c..e69e0a900 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ListFilesResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ListFilesResponse.java
@@ -1,37 +1,37 @@
-/*
- * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
- */
+/*
+ * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
+ */
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
@@ -62,21 +62,6 @@ public class ListFilesResponse extends RPCResponse {
}
/**
- * @deprecated use {@link ListFilesResponse#ListFilesResponse(Boolean, Result)} instead <br>
- *
- * Constructs a new ListFilesResponse object
- * @param success whether the request is successfully processed
- * @param resultCode whether the request is successfully processed
- */
- @Deprecated
- public ListFilesResponse(@NonNull Boolean success, @NonNull Result resultCode, @NonNull Integer spaceAvailable) {
- this();
- setSuccess(success);
- setResultCode(resultCode);
- setSpaceAvailable(spaceAvailable);
- }
-
- /**
* Constructs a new ListFilesResponse object
* @param success whether the request is successfully processed
* @param resultCode whether the request is successfully processed
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/MassageCushionFirmness.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/MassageCushionFirmness.java
index 4f0da27d8..6a4694a22 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/MassageCushionFirmness.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/MassageCushionFirmness.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.MassageCushion;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/MassageModeData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/MassageModeData.java
index e60b2e953..1802c18c3 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/MassageModeData.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/MassageModeData.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.MassageMode;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/MenuParams.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/MenuParams.java
index 8b00d67c7..3ed8db072 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/MenuParams.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/MenuParams.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ModuleData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ModuleData.java
index 26cf08684..1c1333102 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ModuleData.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ModuleData.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.ModuleType;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ModuleInfo.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ModuleInfo.java
index fd7be795f..701fe6c09 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ModuleInfo.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ModuleInfo.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/MyKey.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/MyKey.java
index ba085e90b..c72b8a203 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/MyKey.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/MyKey.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.VehicleDataStatus;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/NavigationInstruction.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/NavigationInstruction.java
index d7e21b92d..bd7bbc0eb 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/NavigationInstruction.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/NavigationInstruction.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.Direction;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/NavigationServiceData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/NavigationServiceData.java
index 8f34697af..ae566c6e8 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/NavigationServiceData.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/NavigationServiceData.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnAppInterfaceUnregistered.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnAppInterfaceUnregistered.java
index 31ea950dd..30fe4e755 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnAppInterfaceUnregistered.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnAppInterfaceUnregistered.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCNotification;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnAppServiceData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnAppServiceData.java
index 638488664..e959b78f4 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnAppServiceData.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnAppServiceData.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCNotification;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnButtonEvent.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnButtonEvent.java
index 96c78abc1..d4e1b01b7 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnButtonEvent.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnButtonEvent.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCNotification;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnButtonPress.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnButtonPress.java
index 87bc01ff7..8c0003db8 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnButtonPress.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnButtonPress.java
@@ -1,37 +1,37 @@
-/*
- * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
- */
+/*
+ * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
+ */
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCNotification;
@@ -180,22 +180,6 @@ public class OnButtonPress extends RPCNotification {
setParameters(KEY_BUTTON_PRESS_MODE, buttonPressMode);
}
- @Deprecated
- /**
- * @deprecated use {@link #setCustomButtonID(Integer)} ()} instead.
- */
- public void setCustomButtonName(Integer customButtonID) {
- setParameters(KEY_CUSTOM_BUTTON_ID, customButtonID);
- }
-
- @Deprecated
- /**
- * @deprecated use {@link #getCustomButtonID()} ()} instead.
- */
- public Integer getCustomButtonName() {
- return getInteger(KEY_CUSTOM_BUTTON_ID);
- }
-
/**
* Set CustomButtonID of the button
* If ButtonName is "CUSTOM_BUTTON", this references the integer ID passed by a custom button. (e.g. softButton ID)
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnCommand.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnCommand.java
index e4c55afb6..1f474bd30 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnCommand.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnCommand.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCNotification;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnDriverDistraction.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnDriverDistraction.java
index f6a328dcf..dc0b1b5e7 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnDriverDistraction.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnDriverDistraction.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCNotification;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnHMIStatus.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnHMIStatus.java
index 9970eb66a..ba2a5300b 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnHMIStatus.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnHMIStatus.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCNotification;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnHashChange.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnHashChange.java
index dda2d57d9..0abe4c1a8 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnHashChange.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnHashChange.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCNotification;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnInteriorVehicleData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnInteriorVehicleData.java
index 0d05452c2..37c9d107c 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnInteriorVehicleData.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnInteriorVehicleData.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCNotification;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnKeyboardInput.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnKeyboardInput.java
index 2fd2b1221..d888c685b 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnKeyboardInput.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnKeyboardInput.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCNotification;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnLanguageChange.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnLanguageChange.java
index 82c49a1b3..bf72f5f19 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnLanguageChange.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnLanguageChange.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCNotification;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnLockScreenStatus.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnLockScreenStatus.java
deleted file mode 100644
index dd8c75a01..000000000
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnLockScreenStatus.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
- */
-package com.smartdevicelink.proxy.rpc;
-
-import com.smartdevicelink.protocol.enums.FunctionID;
-import com.smartdevicelink.proxy.RPCNotification;
-import com.smartdevicelink.proxy.rpc.enums.HMILevel;
-import com.smartdevicelink.proxy.rpc.enums.LockScreenStatus;
-
-import static com.smartdevicelink.proxy.rpc.OnHMIStatus.KEY_HMI_LEVEL;
-
-/**
- * The lockscreen must perform the following:
- * Limit all application control usability from the mobile device with a full-screen static image overlay or separate view.
- * For simplicity, the OnLockScreenStatus RPC will be provided via the onOnLockScreenNotification call back. The call back will include the LockScreenStatus enum which indicates if the lockscreen is required, optional or not required.
- * The call back also includes details regarding the current HMI_Status level, driver distraction status and user selection status of the application.
- *
- *
- */
-@Deprecated
-public class OnLockScreenStatus extends RPCNotification {
- public static final String KEY_DRIVER_DISTRACTION = "driverDistraction";
- public static final String KEY_SHOW_LOCK_SCREEN = "showLockScreen";
- public static final String KEY_USER_SELECTED = "userSelected";
-
- public OnLockScreenStatus() {
- super(FunctionID.ON_LOCK_SCREEN_STATUS.toString());
- }
- /**
- * <p>Get the current driver distraction status(i.e. whether driver distraction rules are in effect, or not)</p>
- * @return Boolean
- */
-
- public Boolean getDriverDistractionStatus() {
- return getBoolean(KEY_DRIVER_DISTRACTION);
- }
-
- public void setDriverDistractionStatus(Boolean driverDistractionStatus) {
- setParameters(KEY_DRIVER_DISTRACTION, driverDistractionStatus);
- }
- /**
- * <p>Get the {@linkplain LockScreenStatus} enumeration, indicating if the lockscreen should be required, optional or off </p>
- * @return {@linkplain LockScreenStatus}
- */
-
- public LockScreenStatus getShowLockScreen() {
- return (LockScreenStatus) getParameters(KEY_SHOW_LOCK_SCREEN);
- }
-
- public void setShowLockScreen(LockScreenStatus showLockScreen) {
- setParameters(KEY_SHOW_LOCK_SCREEN, showLockScreen);
- }
- /**
- * <p>Get user selection status for the application (has the app been selected via hmi or voice command)</p>
- * @return Boolean the current user selection status
- */
-
- public Boolean getUserSelected() {
- return getBoolean(KEY_USER_SELECTED);
- }
-
- public void setUserSelected(Boolean userSelected) {
- setParameters(KEY_USER_SELECTED, userSelected);
- }
- /**
- * <p>Get HMILevel in effect for the application</p>
- * @return {@linkplain HMILevel} the current HMI Level in effect for the application
- */
-
- public HMILevel getHMILevel() {
- return (HMILevel) getParameters(KEY_HMI_LEVEL);
- }
-
- public void setHMILevel(HMILevel setHMILevel) {
- setParameters(KEY_HMI_LEVEL, setHMILevel);
- }
-}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnPermissionsChange.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnPermissionsChange.java
index 7a9532e36..41e003981 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnPermissionsChange.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnPermissionsChange.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCNotification;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnRCStatus.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnRCStatus.java
index 08ffb803b..ffd7f03cc 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnRCStatus.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnRCStatus.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCNotification;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnSdlChoiceChosen.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnSdlChoiceChosen.java
deleted file mode 100644
index 8ad750815..000000000
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnSdlChoiceChosen.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
- */
-package com.smartdevicelink.proxy.rpc;
-
-import com.smartdevicelink.protocol.enums.FunctionID;
-import com.smartdevicelink.proxy.RPCNotification;
-import com.smartdevicelink.proxy.rpc.enums.TriggerSource;
-
-import java.util.Hashtable;
-import java.util.List;
-
-@Deprecated
-public class OnSdlChoiceChosen extends RPCNotification {
- public static final String KEY_SDL_CHOICE = "sdlChoice";
- public static final String KEY_TRIGGER_SOURCE = "triggerSource";
-
- public class SdlSubMenu {
- private Integer _menuID = null;
- @SuppressWarnings("unused")
- private Integer _position = null;
- private String _menuName = null;
-
- // Constructor
- SdlSubMenu(Integer menuID, Integer position, String menuName) {
- _menuID = menuID;
- _position = position;
- _menuName = menuName;
- }
-
- // Restrict no-arg constructor
- @SuppressWarnings("unused")
- private SdlSubMenu() {}
-
- // Public Getters
- public Integer getMenuID() {
- return _menuID;
- }
-
- public String getMenuName() {
- return _menuName;
- }
-
- public String toString() {
- return _menuName;
- }
- }
-
- public class SdlCommand {
- private Integer _commandID = null;
- private SdlSubMenu _parentSubMenu = null;
- @SuppressWarnings("unused")
- private Integer _position = null;
- private String _menuName = null;
- private List<String> _vrCommands = null;
-
- // Constructor
- SdlCommand(Integer commandID, SdlSubMenu parentSubMenu, Integer position, String menuName, List<String> vrCommands) {
- _commandID = commandID;
- _parentSubMenu = parentSubMenu;
- _position = position;
- _menuName = menuName;
- _vrCommands = vrCommands;
- }
-
- // Restrict no-arg constructor
- @SuppressWarnings("unused")
- private SdlCommand() {}
-
- // Public Getters
- public Integer getCommandID() {
- return _commandID;
- }
-
- public SdlSubMenu getParentSubMenu() {
- return _parentSubMenu;
- }
-
- public String getMenuName() {
- return _menuName;
- }
-
- public List<String> getVrCommands() {
- return _vrCommands;
- }
-
- public String toString() {
- return _menuName;
- }
- }
-
- public class SdlChoice {
-
- private Choice _choice = null;
-
- // Constructor
- public SdlChoice(Choice choice) {
- _choice = choice;
- }
-
- public Choice getChoice() {
- return _choice;
- }
-
- public Integer getChoiceID() {
- return _choice.getChoiceID();
- }
-
- public String getMenuName() {
- return _choice.getMenuName();
- }
-
- public List<String> getVrCommands() {
- return _choice.getVrCommands();
- }
-
- public String toString() {
- return _choice.getMenuName();
- }
- }
-
- public class SdlChoiceSet {
- private Integer _choiceSetID = null;
- private List<SdlChoice> _choiceSet = null;
-
- // Constructor
- SdlChoiceSet(Integer choiceSetID, List<SdlChoice> choiceSet) {
- _choiceSetID = choiceSetID;
- _choiceSet = choiceSet;
- }
-
- public Integer getChoiceSetID() {
- return _choiceSetID;
- }
-
- public List<SdlChoice> getChoiceSet() {
- return _choiceSet;
- }
- }
-
-
-
-
- public OnSdlChoiceChosen() {
- super(FunctionID.ON_SDL_CHOICE_CHOSEN.toString());
- }
- public OnSdlChoiceChosen(Hashtable<String, Object> hash){
- super(hash);
- }
- public SdlChoice getSdlChoice() {
- return (SdlChoice) getParameters(KEY_SDL_CHOICE);
- }
- public void setSdlChoice(SdlChoice sdlChoice) {
- setParameters(KEY_SDL_CHOICE, sdlChoice);
- }
- public TriggerSource getTriggerSource() {
- return (TriggerSource) getObject(TriggerSource.class, KEY_TRIGGER_SOURCE);
- }
- public void setTriggerSource( TriggerSource triggerSource ) {
- setParameters(KEY_TRIGGER_SOURCE, triggerSource);
- }
-}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnStreamRPC.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnStreamRPC.java
deleted file mode 100644
index 6c866e09a..000000000
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnStreamRPC.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
- */
-package com.smartdevicelink.proxy.rpc;
-
-import com.smartdevicelink.protocol.enums.FunctionID;
-import com.smartdevicelink.proxy.RPCNotification;
-
-@Deprecated
-public class OnStreamRPC extends RPCNotification {
- public static final String KEY_FILENAME = "fileName";
- public static final String KEY_BYTESCOMPLETE = "bytesComplete";
- public static final String KEY_FILESIZE = "fileSize";
-
- public OnStreamRPC() {
- super(FunctionID.ON_STREAM_RPC.toString());
- }
-
- public void setFileName(String fileName) {
- setParameters(KEY_FILENAME, fileName);
- }
- public String getFileName() {
- return getString(KEY_FILENAME);
- }
-
- public void setBytesComplete(Long bytesComplete) {
- setParameters(KEY_BYTESCOMPLETE, bytesComplete);
- }
- public Long getBytesComplete() {
- return getLong(KEY_BYTESCOMPLETE);
- }
-
- public void setFileSize(Long fileSize) {
- setParameters(KEY_FILESIZE, fileSize);
- }
- public Long getFileSize() {
- return getLong(KEY_FILESIZE);
- }
-} \ No newline at end of file
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/StreamRPCResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnSubtleAlertPressed.java
index 3a39ac687..6715cd0c6 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/StreamRPCResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnSubtleAlertPressed.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, Inc.
+ * Copyright (c) 2020 Livio, Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -13,9 +13,9 @@
* disclaimer in the documentation and/or other materials provided with the
* distribution.
*
- * Neither the name of the SmartDeviceLink Consortium, Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from this
- * software without specific prior written permission.
+ * Neither the name of the Livio Inc. 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
@@ -32,34 +32,31 @@
package com.smartdevicelink.proxy.rpc;
import com.smartdevicelink.protocol.enums.FunctionID;
-import com.smartdevicelink.proxy.RPCResponse;
+import com.smartdevicelink.proxy.RPCNotification;
import java.util.Hashtable;
-@Deprecated
-public class StreamRPCResponse extends RPCResponse {
- public static final String KEY_FILENAME = "fileName";
- public static final String KEY_FILESIZE = "fileSize";
-
- public StreamRPCResponse() {
- super(FunctionID.STREAM_RPC.toString());
+/**
+ * Sent when the alert itself is touched (outside of a soft button). Touching (or otherwise
+ * selecting) the alert should open the app before sending this notification.
+ *
+ * @since SmartDeviceLink 7.0.0
+ */
+public class OnSubtleAlertPressed extends RPCNotification {
+
+ /**
+ * Constructs a new OnSubtleAlertPressed object
+ */
+ public OnSubtleAlertPressed() {
+ super(FunctionID.ON_SUBTLE_ALERT_PRESSED.toString());
}
- public StreamRPCResponse(Hashtable<String, Object> hash) {
+
+ /**
+ * Constructs a new OnSubtleAlertPressed object indicated by the Hashtable parameter
+ *
+ * @param hash The Hashtable to use
+ */
+ public OnSubtleAlertPressed(Hashtable<String, Object> hash) {
super(hash);
}
-
- public void setFileName(String fileName) {
- setParameters(KEY_FILENAME, fileName);
- }
- public String getFileName() {
- return getString(KEY_FILENAME);
- }
-
- public void setFileSize(Long fileSize) {
- setParameters(KEY_FILESIZE, fileSize);
- }
- public Long getFileSize() {
- return getLong(KEY_FILESIZE);
- }
-
}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnSystemCapabilityUpdated.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnSystemCapabilityUpdated.java
index 10f7fd7ce..d01bf757d 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnSystemCapabilityUpdated.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnSystemCapabilityUpdated.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCNotification;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnSystemRequest.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnSystemRequest.java
index 9c694a893..5de6c922b 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnSystemRequest.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnSystemRequest.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.marshal.JsonRPCMarshaller;
import com.smartdevicelink.protocol.enums.FunctionID;
@@ -206,9 +206,9 @@ public class OnSystemRequest extends RPCNotification {
String result = null;
try{
- result = httpJson.getString("body");
+ result = httpJson.getString(KEY_BODY);
}catch(JSONException e){
- DebugTool.logError(TAG, "\"body\" key doesn't exist in bulk data.");
+ DebugTool.logError(TAG, KEY_BODY + " key doesn't exist in bulk data.");
e.printStackTrace();
}
@@ -219,27 +219,17 @@ public class OnSystemRequest extends RPCNotification {
Headers result = null;
try{
- JSONObject httpHeadersJson = httpJson.getJSONObject("headers");
+ JSONObject httpHeadersJson = httpJson.getJSONObject(KEY_HEADERS);
Hashtable<String, Object> httpHeadersHash = JsonRPCMarshaller.deserializeJSONObject(httpHeadersJson);
result = new Headers(httpHeadersHash);
}catch(JSONException e){
- DebugTool.logError(TAG, "\"headers\" key doesn't exist in bulk data.");
+ DebugTool.logError(TAG, KEY_HEADERS + " key doesn't exist in bulk data.");
e.printStackTrace();
}
return result;
}
- @Deprecated
- public void setBinData(byte[] aptData) {
- setBulkData(aptData);
- }
-
- @Deprecated
- public byte[] getBinData() {
- return getBulkData();
- }
-
@Override
public void setBulkData(byte[] bulkData){
super.setBulkData(bulkData);
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnTBTClientState.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnTBTClientState.java
index f3e481039..c11eb1066 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnTBTClientState.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnTBTClientState.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCNotification;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnTouchEvent.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnTouchEvent.java
index 3982a8c3c..b898cc398 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnTouchEvent.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnTouchEvent.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCNotification;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnUpdateFile.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnUpdateFile.java
new file mode 100644
index 000000000..2f1c63cf8
--- /dev/null
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnUpdateFile.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2017 - 2020, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium Inc. 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.
+ */
+package com.smartdevicelink.proxy.rpc;
+
+import androidx.annotation.NonNull;
+
+import com.smartdevicelink.protocol.enums.FunctionID;
+import com.smartdevicelink.proxy.RPCNotification;
+
+import java.util.Hashtable;
+
+/**
+ * This notification tells an app to upload and update a file with a given name.
+ *
+ * <p><b>Parameter List</b></p>
+ *
+ * <table border="1" rules="all">
+ * <tr>
+ * <th>Param Name</th>
+ * <th>Type</th>
+ * <th>Description</th>
+ * <th>Required</th>
+ * <th>Version Available</th>
+ * </tr>
+ * <tr>
+ * <td>fileName</td>
+ * <td>String</td>
+ * <td>File reference name.</td>
+ * <td>Y</td>
+ * <td></td>
+ * </tr>
+ * </table>
+ *
+ * @since SmartDeviceLink 7.0.0
+ */
+public class OnUpdateFile extends RPCNotification {
+ public static final String KEY_FILE_NAME = "fileName";
+
+ /**
+ * Constructs a new OnUpdateFile object
+ */
+ public OnUpdateFile() {
+ super(FunctionID.ON_UPDATE_FILE.toString());
+ }
+
+ /**
+ * Constructs a new OnUpdateFile object indicated by the Hashtable parameter
+ *
+ * @param hash The Hashtable to use
+ */
+ public OnUpdateFile(Hashtable<String, Object> hash) {
+ super(hash);
+ }
+
+ /**
+ * Constructs a new OnUpdateFile object
+ *
+ * @param fileName File reference name.
+ */
+ public OnUpdateFile(@NonNull String fileName) {
+ this();
+ setFileName(fileName);
+ }
+
+ /**
+ * Sets the fileName.
+ *
+ * @param fileName File reference name.
+ */
+ public void setFileName(@NonNull String fileName) {
+ setParameters(KEY_FILE_NAME, fileName);
+ }
+
+ /**
+ * Gets the fileName.
+ *
+ * @return String File reference name.
+ */
+ public String getFileName() {
+ return getString(KEY_FILE_NAME);
+ }
+}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnUpdateSubMenu.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnUpdateSubMenu.java
new file mode 100644
index 000000000..e6fb05829
--- /dev/null
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnUpdateSubMenu.java
@@ -0,0 +1,142 @@
+/*
+ * Copyright (c) 2017 - 2020, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium Inc. 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.
+ */
+package com.smartdevicelink.proxy.rpc;
+
+import androidx.annotation.NonNull;
+
+import com.smartdevicelink.protocol.enums.FunctionID;
+import com.smartdevicelink.proxy.RPCNotification;
+
+import java.util.Hashtable;
+
+/**
+ * This notification tells an app to update the AddSubMenu or its 'sub' AddCommand and
+ * AddSubMenus with the requested data
+ *
+ * <p><b>Parameter List</b></p>
+ *
+ * <table border="1" rules="all">
+ * <tr>
+ * <th>Param Name</th>
+ * <th>Type</th>
+ * <th>Description</th>
+ * <th>Required</th>
+ * <th>Version Available</th>
+ * </tr>
+ * <tr>
+ * <td>menuID</td>
+ * <td>Integer</td>
+ * <td>This menuID must match a menuID in the current menu structure</td>
+ * <td>Y</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>updateSubCells</td>
+ * <td>Boolean</td>
+ * <td>If not set, assume false. If true, the app should send AddCommands with parentIDs matchingthe menuID. These AddCommands will then be attached to the submenu and displayed if thesubmenu is selected.</td>
+ * <td>N</td>
+ * <td></td>
+ * </tr>
+ * </table>
+ *
+ * @since SmartDeviceLink 7.0.0
+ */
+public class OnUpdateSubMenu extends RPCNotification {
+ public static final String KEY_MENU_ID = "menuID";
+ public static final String KEY_UPDATE_SUB_CELLS = "updateSubCells";
+
+ /**
+ * Constructs a new OnUpdateSubMenu object
+ */
+ public OnUpdateSubMenu() {
+ super(FunctionID.ON_UPDATE_SUB_MENU.toString());
+ }
+
+ /**
+ * Constructs a new OnUpdateSubMenu object indicated by the Hashtable parameter
+ *
+ * @param hash The Hashtable to use
+ */
+ public OnUpdateSubMenu(Hashtable<String, Object> hash) {
+ super(hash);
+ }
+
+ /**
+ * Constructs a new OnUpdateSubMenu object
+ *
+ * @param menuID This menuID must match a menuID in the current menu structure
+ */
+ public OnUpdateSubMenu(@NonNull Integer menuID) {
+ this();
+ setMenuID(menuID);
+ }
+
+ /**
+ * Sets the menuID.
+ *
+ * @param menuID This menuID must match a menuID in the current menu structure
+ */
+ public void setMenuID(@NonNull Integer menuID) {
+ setParameters(KEY_MENU_ID, menuID);
+ }
+
+ /**
+ * Gets the menuID.
+ *
+ * @return Integer This menuID must match a menuID in the current menu structure
+ */
+ public Integer getMenuID() {
+ return getInteger(KEY_MENU_ID);
+ }
+
+ /**
+ * Sets the updateSubCells.
+ *
+ * @param updateSubCells If not set, assume false. If true, the app should send AddCommands with parentIDs matching
+ * the menuID. These AddCommands will then be attached to the submenu and displayed if the
+ * submenu is selected.
+ */
+ public void setUpdateSubCells(Boolean updateSubCells) {
+ setParameters(KEY_UPDATE_SUB_CELLS, updateSubCells);
+ }
+
+ /**
+ * Gets the updateSubCells.
+ *
+ * @return Boolean If not set, assume false. If true, the app should send AddCommands with parentIDs matching
+ * the menuID. These AddCommands will then be attached to the submenu and displayed if the
+ * submenu is selected.
+ */
+ public Boolean getUpdateSubCells() {
+ return getBoolean(KEY_UPDATE_SUB_CELLS);
+ }
+}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java
index 3dea74d1d..74fcda171 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java
@@ -1,34 +1,34 @@
-/*
- * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
- */
+/*
+ * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
+ */
package com.smartdevicelink.proxy.rpc;
import com.smartdevicelink.protocol.enums.FunctionID;
@@ -131,14 +131,27 @@ import java.util.List;
* <td>Subscribable </td>
* <td>SmartDeviceLink 2.0</td>
* </tr>
- * <tr>
- * <td>prndl</td>
- * <td>PRNDL</td>
- * <td>Currently selected gear.</td>
- * <td>N</td>
- * <td>Subscribable </td>
- * <td>SmartDeviceLink 2.0</td>
- * </tr>
+ * <tr>
+ * <td>gearStatus</td>
+ * <td>GearStatus</td>
+ * <td>See GearStatus</td>
+ * <td>N</td>
+ * <td>SmartDeviceLink 7.0.0</td>
+ * </tr>
+ * <tr>
+ * <td>gearStatus</td>
+ * <td>GearStatus</td>
+ * <td>See GearStatus</td>
+ * <td>N</td>
+ * <td>SmartDeviceLink 7.0.0</td>
+ * </tr>
+ * <tr>
+ * <td>prndl</td>
+ * <td>PRNDL</td>
+ * <td>See PRNDL. This parameter is deprecated and it is now covered in `gearStatus`</td>
+ * <td>N</td>
+ * <td>SmartDeviceLink 7.0.0</td>
+ * </tr>
* <tr>
* <td>tirePressure</td>
* <td>TireStatus</td>
@@ -284,6 +297,20 @@ import java.util.List;
* <td></td>
* <td>SmartDeviceLink 5.1 </td>
* </tr>
+ * <tr>
+ * <td>handsOffSteering</td>
+ * <td>Boolean</td>
+ * <td>To indicate whether driver hands are off the steering wheel</td>
+ * <td>N</td>
+ * <td>SmartDeviceLink 7.0.0</td>
+ * </tr>
+ * <tr>
+ * <td>windowStatus</td>
+ * <td>Boolean</td>
+ * <td>See WindowStatus</td>
+ * <td>N</td>
+ * <td>SmartDeviceLink 7.0.0</td>
+ * </tr>
* </table>
*
* @since SmartDeviceLink 1.0
@@ -324,6 +351,9 @@ public class OnVehicleData extends RPCNotification {
public static final String KEY_TURN_SIGNAL = "turnSignal";
public static final String KEY_ELECTRONIC_PARK_BRAKE_STATUS = "electronicParkBrakeStatus";
public static final String KEY_CLOUD_APP_VEHICLE_ID = "cloudAppVehicleID";
+ public static final String KEY_HANDS_OFF_STEERING = "handsOffSteering";
+ public static final String KEY_WINDOW_STATUS = "windowStatus";
+ public static final String KEY_GEAR_STATUS = "gearStatus";
public OnVehicleData() {
@@ -359,14 +389,6 @@ public class OnVehicleData extends RPCNotification {
Object object = getParameters(KEY_FUEL_LEVEL);
return SdlDataTypeConverter.objectToDouble(object);
}
- @Deprecated
- public void setFuelLevel_State(ComponentVolumeStatus fuelLevel_State) {
- setFuelLevelState(fuelLevel_State);
- }
- @Deprecated
- public ComponentVolumeStatus getFuelLevel_State() {
- return getFuelLevelState();
- }
public void setFuelLevelState(ComponentVolumeStatus fuelLevelState) {
setParameters(KEY_FUEL_LEVEL_STATE, fuelLevelState);
}
@@ -393,12 +415,34 @@ public class OnVehicleData extends RPCNotification {
public String getVin() {
return getString(KEY_VIN);
}
+
+ /**
+ * Sets the prndl.
+ *
+ * @param prndl See PRNDL. This parameter is deprecated since 7.0.0 and it is now covered in `gearStatus`
+ * @deprecated in SmartDeviceLink 7.0.0
+ */
+ @Deprecated
public void setPrndl(PRNDL prndl) {
setParameters(KEY_PRNDL, prndl);
}
+
+ /**
+ * Gets the prndl.
+ *
+ * @return PRNDL See PRNDL. This parameter since 7.0.0 is deprecated and it is now covered in `gearStatus`
+ * @deprecated in SmartDeviceLink 7.0.0
+ */
+ @Deprecated
public PRNDL getPrndl() {
return (PRNDL) getObject(PRNDL.class, KEY_PRNDL);
}
+
+ /**
+ * Sets the tirePressure.
+ *
+ * @param tirePressure See TireStatus
+ */
public void setTirePressure(TireStatus tirePressure) {
setParameters(KEY_TIRE_PRESSURE, tirePressure);
}
@@ -582,21 +626,81 @@ public class OnVehicleData extends RPCNotification {
public String getCloudAppVehicleID(){
return getString(KEY_CLOUD_APP_VEHICLE_ID);
}
-
- /**
- * Sets a value for OEM Custom VehicleData.
- * @param vehicleDataName a String value
- * @param vehicleDataState a VehicleDataResult value
- */
- public void setOEMCustomVehicleData(String vehicleDataName, Object vehicleDataState){
- setParameters(vehicleDataName, vehicleDataState);
- }
-
- /**
- * Gets a VehicleData value for the vehicle data item.
- * @return a Object related to the vehicle data
- */
- public Object getOEMCustomVehicleData(String vehicleDataName){
- return getParameters(vehicleDataName);
- }
-}
+
+ /**
+ * Sets a value for OEM Custom VehicleData.
+ * @param vehicleDataName a String value
+ * @param vehicleDataState a VehicleDataResult value
+ */
+ public void setOEMCustomVehicleData(String vehicleDataName, Object vehicleDataState){
+ setParameters(vehicleDataName, vehicleDataState);
+ }
+
+ /**
+ * Gets a VehicleData value for the vehicle data item.
+ * @return a Object related to the vehicle data
+ */
+ public Object getOEMCustomVehicleData(String vehicleDataName){
+ return getParameters(vehicleDataName);
+ }
+
+ /**
+ * Sets the windowStatus.
+ *
+ * @param windowStatus See WindowStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ public void setWindowStatus(List<WindowStatus> windowStatus) {
+ setParameters(KEY_WINDOW_STATUS, windowStatus);
+ }
+
+ /**
+ * Gets the windowStatus.
+ *
+ * @return List<WindowStatus> See WindowStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ @SuppressWarnings("unchecked")
+ public List<WindowStatus> getWindowStatus() {
+ return (List<WindowStatus>) getObject(WindowStatus.class, KEY_WINDOW_STATUS);
+ }
+
+ /**
+ * Sets the handsOffSteering.
+ *
+ * @param handsOffSteering To indicate whether driver hands are off the steering wheel
+ * @since SmartDeviceLink 7.0.0
+ */
+ public void setHandsOffSteering(Boolean handsOffSteering) {
+ setParameters(KEY_HANDS_OFF_STEERING, handsOffSteering);
+ }
+
+ /**
+ * Gets the handsOffSteering.
+ *
+ * @return Boolean To indicate whether driver hands are off the steering wheel
+ * @since SmartDeviceLink 7.0.0
+ */
+ public Boolean getHandsOffSteering() {
+ return getBoolean(KEY_HANDS_OFF_STEERING);
+ }
+ /**
+ * Sets the gearStatus.
+ *
+ * @param gearStatus See GearStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ public void setGearStatus(GearStatus gearStatus) {
+ setParameters(KEY_GEAR_STATUS, gearStatus);
+ }
+
+ /**
+ * Gets the gearStatus.
+ *
+ * @return GearStatus See GearStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ public GearStatus getGearStatus() {
+ return (GearStatus) getObject(GearStatus.class, KEY_GEAR_STATUS);
+ }
+}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnWayPointChange.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnWayPointChange.java
index 44d3475a1..f204b6998 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnWayPointChange.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnWayPointChange.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCNotification;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ParameterPermissions.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ParameterPermissions.java
index 99aa2f13b..4de4ad82c 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ParameterPermissions.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ParameterPermissions.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/PerformAppServiceInteraction.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/PerformAppServiceInteraction.java
index 24e58ab1e..a71f1b25a 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/PerformAppServiceInteraction.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/PerformAppServiceInteraction.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/PerformAppServiceInteractionResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/PerformAppServiceInteractionResponse.java
index 7e0f77f6d..cc6d5c5f4 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/PerformAppServiceInteractionResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/PerformAppServiceInteractionResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/PerformAudioPassThru.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/PerformAudioPassThru.java
index 77d656beb..f9a4a29cb 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/PerformAudioPassThru.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/PerformAudioPassThru.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/PerformAudioPassThruResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/PerformAudioPassThruResponse.java
index b676a7913..05d4683a7 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/PerformAudioPassThruResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/PerformAudioPassThruResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/PerformInteraction.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/PerformInteraction.java
index 5e253e540..129825f6c 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/PerformInteraction.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/PerformInteraction.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/PerformInteractionResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/PerformInteractionResponse.java
index 55fa94ca2..20fec4c85 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/PerformInteractionResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/PerformInteractionResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/PermissionItem.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/PermissionItem.java
index 63d9624f7..ce0ec00a7 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/PermissionItem.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/PermissionItem.java
@@ -32,7 +32,7 @@
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/PresetBankCapabilities.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/PresetBankCapabilities.java
index acd2638bf..4b218e143 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/PresetBankCapabilities.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/PresetBankCapabilities.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/PublishAppService.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/PublishAppService.java
index 35587c289..9c121bc22 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/PublishAppService.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/PublishAppService.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/PublishAppServiceResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/PublishAppServiceResponse.java
index 8939e9084..6fcddfd47 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/PublishAppServiceResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/PublishAppServiceResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/PutFile.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/PutFile.java
index f756d414b..2d01d9a47 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/PutFile.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/PutFile.java
@@ -31,13 +31,11 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
import com.smartdevicelink.proxy.rpc.enums.FileType;
-import com.smartdevicelink.proxy.rpc.listeners.OnPutFileUpdateListener;
-import com.smartdevicelink.proxy.rpc.listeners.OnRPCResponseListener;
import java.util.Hashtable;
import java.util.zip.CRC32;
@@ -390,19 +388,4 @@ public class PutFile extends RPCRequest {
}
return null;
}
-
- @Override
- public final void setOnRPCResponseListener(OnRPCResponseListener listener) {
- super.setOnRPCResponseListener(listener);
- }
-
- @Deprecated
- public void setOnPutFileUpdateListener(OnPutFileUpdateListener listener) {
- super.setOnRPCResponseListener(listener); //We can use the same method because it get stored as a parent class
- }
-
- @Deprecated
- public OnPutFileUpdateListener getOnPutFileUpdateListener() {
- return (OnPutFileUpdateListener)getOnRPCResponseListener();
- }
}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/PutFileResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/PutFileResponse.java
index 70bb48157..e1bf71a43 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/PutFileResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/PutFileResponse.java
@@ -1,37 +1,37 @@
-/*
- * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
- */
+/*
+ * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
+ */
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
@@ -68,22 +68,6 @@ public class PutFileResponse extends RPCResponse {
}
/**
- * @deprecated use {@link PutFileResponse#PutFileResponse(Boolean, Result)} <br>
- *
- * Constructs a new PutFileResponse object
- * @param success whether the request is successfully processed
- * @param resultCode whether the request is successfully processed
- * @param spaceAvailable the spaceAvailable on the head unit
- */
- @Deprecated
- public PutFileResponse(@NonNull Boolean success, @NonNull Result resultCode, @NonNull Integer spaceAvailable) {
- this();
- setSuccess(success);
- setResultCode(resultCode);
- setSpaceAvailable(spaceAvailable);
- }
-
- /**
* Constructs a new PutFileResponse object
* @param success whether the request is successfully processed
* @param resultCode whether the request is successfully processed
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/RadioControlCapabilities.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/RadioControlCapabilities.java
index 22d1d892e..8ab552526 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/RadioControlCapabilities.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/RadioControlCapabilities.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
@@ -47,7 +47,7 @@ public class RadioControlCapabilities extends RPCStruct{
public static final String KEY_RADIO_FREQUENCY_AVAILABLE= "radioFrequencyAvailable";
public static final String KEY_HD_CHANNEL_AVAILABLE= "hdChannelAvailable";
public static final String KEY_RDS_DATA_AVAILABLE= "rdsDataAvailable";
- public static final String KEY_AVAILABLE_HDS_AVAILABLE= "availableHDsAvailable";
+ @Deprecated public static final String KEY_AVAILABLE_HDS_AVAILABLE= "availableHDsAvailable";
public static final String KEY_STATE_AVAILABLE= "stateAvailable";
public static final String KEY_SIGNAL_STRENGTH_AVAILABLE= "signalStrengthAvailable";
public static final String KEY_SIGNAL_CHANGE_THRESHOLD_AVAILABLE= "signalChangeThresholdAvailable";
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/RadioControlData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/RadioControlData.java
index 4de584a9f..86cd9c962 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/RadioControlData.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/RadioControlData.java
@@ -47,7 +47,7 @@ public class RadioControlData extends RPCStruct{
public static final String KEY_FREQUENCY_FRACTION= "frequencyFraction";
public static final String KEY_BAND= "band";
public static final String KEY_RDS_DATA= "rdsData";
- public static final String KEY_AVAILABLE_HDS= "availableHDs";
+ @Deprecated public static final String KEY_AVAILABLE_HDS= "availableHDs";
public static final String KEY_HD_CHANNEL= "hdChannel";
public static final String KEY_SIGNAL_STRENGTH= "signalStrength";
public static final String KEY_SIGNAL_CHANGE_THRESHOLD= "signalChangeThreshold";
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ReadDID.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ReadDID.java
index 83bef72af..553922e0f 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ReadDID.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ReadDID.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ReadDIDResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ReadDIDResponse.java
index a7cd3ca57..41694c446 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ReadDIDResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ReadDIDResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/Rectangle.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/Rectangle.java
index d2545b5e5..fc7f16c26 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/Rectangle.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/Rectangle.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/RegisterAppInterface.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/RegisterAppInterface.java
index a7038b04f..ee741f7c1 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/RegisterAppInterface.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/RegisterAppInterface.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/RegisterAppInterfaceResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/RegisterAppInterfaceResponse.java
index ca37339be..449056871 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/RegisterAppInterfaceResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/RegisterAppInterfaceResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
@@ -62,11 +62,11 @@ public class RegisterAppInterfaceResponse extends RPCResponse {
public static final String KEY_SUPPORTED_DIAG_MODES = "supportedDiagModes";
public static final String KEY_SDL_MSG_VERSION = "syncMsgVersion";
public static final String KEY_LANGUAGE = "language";
- public static final String KEY_BUTTON_CAPABILITIES = "buttonCapabilities";
- public static final String KEY_DISPLAY_CAPABILITIES = "displayCapabilities";
+ @Deprecated public static final String KEY_BUTTON_CAPABILITIES = "buttonCapabilities";
+ @Deprecated public static final String KEY_DISPLAY_CAPABILITIES = "displayCapabilities";
public static final String KEY_HMI_DISPLAY_LANGUAGE = "hmiDisplayLanguage";
- public static final String KEY_SOFT_BUTTON_CAPABILITIES = "softButtonCapabilities";
- public static final String KEY_PRESET_BANK_CAPABILITIES = "presetBankCapabilities";
+ @Deprecated public static final String KEY_SOFT_BUTTON_CAPABILITIES = "softButtonCapabilities";
+ @Deprecated public static final String KEY_PRESET_BANK_CAPABILITIES = "presetBankCapabilities";
public static final String KEY_HMI_CAPABILITIES = "hmiCapabilities"; //As of v4.0
public static final String KEY_SDL_VERSION = "sdlVersion"; //As of v4.0
public static final String KEY_SYSTEM_SOFTWARE_VERSION = "systemSoftwareVersion"; //As of v4.0
@@ -407,10 +407,7 @@ public class RegisterAppInterfaceResponse extends RPCResponse {
public void setPcmStreamingCapabilities(AudioPassThruCapabilities pcmStreamingCapabilities) {
setParameters(KEY_PCM_STREAM_CAPABILITIES, pcmStreamingCapabilities);
}
- @Deprecated
- public String getProxyVersionInfo() {
- return null;
- }
+
public void setSupportedDiagModes(List<Integer> supportedDiagModes) {
setParameters(KEY_SUPPORTED_DIAG_MODES, supportedDiagModes);
}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ReleaseInteriorVehicleDataModule.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ReleaseInteriorVehicleDataModule.java
index fb00c9779..807e239da 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ReleaseInteriorVehicleDataModule.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ReleaseInteriorVehicleDataModule.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ReleaseInteriorVehicleDataModuleResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ReleaseInteriorVehicleDataModuleResponse.java
index 61d8df98a..a5badb253 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ReleaseInteriorVehicleDataModuleResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ReleaseInteriorVehicleDataModuleResponse.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ResetGlobalProperties.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ResetGlobalProperties.java
index daea6a7f8..a88ca2950 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ResetGlobalProperties.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ResetGlobalProperties.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ResetGlobalPropertiesResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ResetGlobalPropertiesResponse.java
index 482b86fc4..70abb374d 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ResetGlobalPropertiesResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ResetGlobalPropertiesResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ScreenParams.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ScreenParams.java
index 1c6bdc241..a5b9e1525 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ScreenParams.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ScreenParams.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ScrollableMessage.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ScrollableMessage.java
index a3bb9a567..1ad0d0846 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ScrollableMessage.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ScrollableMessage.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ScrollableMessageResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ScrollableMessageResponse.java
index 31f7518f0..2ed8ff352 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ScrollableMessageResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ScrollableMessageResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SdlMsgVersion.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SdlMsgVersion.java
index 0b800ba5e..8a2135753 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SdlMsgVersion.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SdlMsgVersion.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.util.Version;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SeatControlCapabilities.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SeatControlCapabilities.java
index d56a321a2..106edf2cb 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SeatControlCapabilities.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SeatControlCapabilities.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SeatControlData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SeatControlData.java
index e63b09105..fbaf55fad 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SeatControlData.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SeatControlData.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.SupportedSeat;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SeatMemoryAction.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SeatMemoryAction.java
index bdd4f850e..af27805db 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SeatMemoryAction.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SeatMemoryAction.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.SeatMemoryActionType;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SendHapticDataResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SendHapticDataResponse.java
index 58761a4a5..6fcdd4b2c 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SendHapticDataResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SendHapticDataResponse.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SendLocationResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SendLocationResponse.java
index f5e971533..ad2bca9b2 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SendLocationResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SendLocationResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SetAppIcon.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SetAppIcon.java
index 85ec49ab6..6443be188 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SetAppIcon.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SetAppIcon.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SetAppIconResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SetAppIconResponse.java
index 1da9099dc..887d8564b 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SetAppIconResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SetAppIconResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SetCloudAppProperties.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SetCloudAppProperties.java
index 204c42518..a457304e3 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SetCloudAppProperties.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SetCloudAppProperties.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SetCloudAppPropertiesResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SetCloudAppPropertiesResponse.java
index 310bfbd43..e4851b399 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SetCloudAppPropertiesResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SetCloudAppPropertiesResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SetDisplayLayout.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SetDisplayLayout.java
index 562021544..937c8e8da 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SetDisplayLayout.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SetDisplayLayout.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SetDisplayLayoutResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SetDisplayLayoutResponse.java
index 0d136daf6..011dcf6ac 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SetDisplayLayoutResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SetDisplayLayoutResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SetGlobalPropertiesResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SetGlobalPropertiesResponse.java
index cb0d3f223..e2a24a2cd 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SetGlobalPropertiesResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SetGlobalPropertiesResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SetInteriorVehicleData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SetInteriorVehicleData.java
index 396d700ce..130d1e277 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SetInteriorVehicleData.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SetInteriorVehicleData.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SetInteriorVehicleDataResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SetInteriorVehicleDataResponse.java
index 1e756ade9..81390e64a 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SetInteriorVehicleDataResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SetInteriorVehicleDataResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
@@ -63,21 +63,6 @@ public class SetInteriorVehicleDataResponse extends RPCResponse {
/**
* Constructs a new SetInteriorVehicleDataResponse object
- * @param moduleData
- * @param success whether the request is successfully processed
- * @param resultCode whether the request is successfully processed
- * @deprecated use {@link SetInteriorVehicleDataResponse#SetInteriorVehicleDataResponse(Result, Boolean)}
- */
- @Deprecated
- public SetInteriorVehicleDataResponse(@NonNull ModuleData moduleData, @NonNull Result resultCode, @NonNull Boolean success) {
- this();
- setModuleData(moduleData);
- setResultCode(resultCode);
- setSuccess(success);
- }
-
- /**
- * Constructs a new SetInteriorVehicleDataResponse object
* @param success whether the request is successfully processed
* @param resultCode whether the request is successfully processed
*/
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SetMediaClockTimer.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SetMediaClockTimer.java
index 4de5bfb05..67353132f 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SetMediaClockTimer.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SetMediaClockTimer.java
@@ -31,8 +31,8 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SetMediaClockTimerResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SetMediaClockTimerResponse.java
index 8174152d8..e9d189350 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SetMediaClockTimerResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SetMediaClockTimerResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/Show.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/Show.java
index f3546dcc8..e663c9f2b 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/Show.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/Show.java
@@ -198,7 +198,7 @@ public class Show extends RPCRequest {
public static final String KEY_MAIN_FIELD_3 = "mainField3";
public static final String KEY_MAIN_FIELD_4 = "mainField4";
public static final String KEY_STATUS_BAR = "statusBar";
- public static final String KEY_MEDIA_CLOCK = "mediaClock";
+ @Deprecated public static final String KEY_MEDIA_CLOCK = "mediaClock";
public static final String KEY_ALIGNMENT = "alignment";
public static final String KEY_MEDIA_TRACK = "mediaTrack";
public static final String KEY_SECONDARY_GRAPHIC = "secondaryGraphic";
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ShowAppMenuResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ShowAppMenuResponse.java
index f9ba65c7b..749daaf13 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ShowAppMenuResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ShowAppMenuResponse.java
@@ -35,7 +35,7 @@
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ShowConstantTbtResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ShowConstantTbtResponse.java
index e6e4a9f97..6af6a2d49 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ShowConstantTbtResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ShowConstantTbtResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ShowResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ShowResponse.java
index b1c8dc70a..44c67260c 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ShowResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ShowResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SingleTireStatus.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SingleTireStatus.java
index de2061e2c..7a0edfa3c 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SingleTireStatus.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SingleTireStatus.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.ComponentVolumeStatus;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/Slider.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/Slider.java
index 466879845..374c610fe 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/Slider.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/Slider.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SliderResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SliderResponse.java
index d8bb5dc69..cad93b19b 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SliderResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SliderResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SoftButton.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SoftButton.java
index 8fa5166d1..bfafea14e 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SoftButton.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SoftButton.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.SoftButtonType;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SoftButtonCapabilities.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SoftButtonCapabilities.java
index 4fff09591..bdd2a0b9b 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SoftButtonCapabilities.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SoftButtonCapabilities.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.util.Version;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/Speak.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/Speak.java
index 71fedd4ca..a0c66a99f 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/Speak.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/Speak.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SpeakResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SpeakResponse.java
index 59c7d3dbb..2fb47b6e0 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SpeakResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SpeakResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/StartTime.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/StartTime.java
index 875139153..96060d535 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/StartTime.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/StartTime.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeButton.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeButton.java
index d799847ce..3c830dd61 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeButton.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeButton.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeButtonResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeButtonResponse.java
index 87ba0e235..1ffa58e57 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeButtonResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeButtonResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleData.java
index b2e299e24..9b67c145f 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleData.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleData.java
@@ -1,34 +1,34 @@
-/*
- * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
- */
+/*
+ * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
+ */
package com.smartdevicelink.proxy.rpc;
import com.smartdevicelink.protocol.enums.FunctionID;
@@ -113,14 +113,20 @@ import java.util.Hashtable;
* <td>Subscribable</td>
* <td>SmartDeviceLink 2.0 </td>
* </tr>
- * <tr>
- * <td>prndl</td>
- * <td>Boolean</td>
- * <td>Currently selected gear.</td>
- * <td>N</td>
- * <td>Subscribable</td>
- * <td>SmartDeviceLink 2.0 </td>
- * </tr>
+ * <tr>
+ * <td>gearStatus</td>
+ * <td>Boolean</td>
+ * <td>See GearStatus</td>
+ * <td>N</td>
+ * <td>SmartDeviceLink 7.0.0</td>
+ * </tr>
+ * <tr>
+ * <td>prndl</td>
+ * <td>Boolean</td>
+ * <td>See PRNDL. This parameter is deprecated and it is now covered in `gearStatus`</td>
+ * <td>N</td>
+ * <td>SmartDeviceLink 7.0.0</td>
+ * </tr>
* <tr>
* <td>tirePressure</td>
* <td>Boolean</td>
@@ -273,6 +279,20 @@ import java.util.Hashtable;
* <td>Subscribable</td>
* <td>SmartDeviceLink 5.1 </td>
* </tr>
+ * <tr>
+ * <td>handsOffSteering</td>
+ * <td>Boolean</td>
+ * <td>To indicate whether driver hands are off the steering wheel</td>
+ * <td>N</td>
+ * <td>SmartDeviceLink 7.0.0</td>
+ * </tr>
+ * <tr>
+ * <td>windowStatus</td>
+ * <td>Boolean</td>
+ * <td>See WindowStatus</td>
+ * <td>N</td>
+ * <td>SmartDeviceLink 7.0.0</td>
+ * </tr>
* </table>
*
* <p> <b>Response</b></p>
@@ -322,6 +342,9 @@ public class SubscribeVehicleData extends RPCRequest {
public static final String KEY_TURN_SIGNAL = "turnSignal";
public static final String KEY_ELECTRONIC_PARK_BRAKE_STATUS = "electronicParkBrakeStatus";
public static final String KEY_CLOUD_APP_VEHICLE_ID = "cloudAppVehicleID";
+ public static final String KEY_HANDS_OFF_STEERING = "handsOffSteering";
+ public static final String KEY_WINDOW_STATUS = "windowStatus";
+ public static final String KEY_GEAR_STATUS = "gearStatus";
/**
* Constructs a new SubscribeVehicleData object
@@ -424,29 +447,6 @@ public class SubscribeVehicleData extends RPCRequest {
}
/**
- * Sets a boolean value. If true, subscribes fuelLevel_State data
- *
- * @param fuelLevel_State
- * a boolean value
- */
- @Deprecated
- public void setFuelLevel_State(Boolean fuelLevel_State) {
- setFuelLevelState(fuelLevel_State);
- }
-
- /**
- * Gets a boolean value. If true, means the fuelLevel_State data has been
- * subscribed.
- *
- * @return Boolean -a Boolean value. If true, means the fuelLevel_State data
- * has been subscribed.
- */
- @Deprecated
- public Boolean getFuelLevel_State() {
- return getFuelLevelState();
- }
-
- /**
* Sets a boolean value. If true, subscribes fuelLevelState data
*
* @param fuelLevelState
@@ -509,23 +509,44 @@ public class SubscribeVehicleData extends RPCRequest {
return getBoolean(KEY_EXTERNAL_TEMPERATURE);
}
- /**
- * Sets a boolean value. If true, subscribes Currently selected gear data
- *
- * @param prndl
- * a boolean value
- */
+ /**
+ * Sets the gearStatus.
+ *
+ * @param gearStatus See GearStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ public void setGearStatus(Boolean gearStatus) {
+ setParameters(KEY_GEAR_STATUS, gearStatus);
+ }
+
+ /**
+ * Gets the gearStatus.
+ *
+ * @return Boolean See GearStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ public Boolean getGearStatus() {
+ return getBoolean(KEY_GEAR_STATUS);
+ }
+
+ /**
+ * Sets the prndl.
+ *
+ * @param prndl See PRNDL. This parameter is deprecated since 7.0.0 and it is now covered in `gearStatus`
+ * @deprecated in SmartDeviceLink 7.0.0
+ */
+ @Deprecated
public void setPrndl(Boolean prndl) {
setParameters(KEY_PRNDL, prndl);
}
- /**
- * Gets a boolean value. If true, means the Currently selected gear data has been
- * subscribed.
- *
- * @return Boolean -a Boolean value. If true, means the Currently selected gear data
- * has been subscribed.
- */
+ /**
+ * Gets the prndl.
+ *
+ * @return Boolean See PRNDL. This parameter is deprecated since 7.0.0 and it is now covered in `gearStatus`
+ * @deprecated in SmartDeviceLink 7.0.0
+ */
+ @Deprecated
public Boolean getPrndl() {
return getBoolean(KEY_PRNDL);
}
@@ -864,21 +885,61 @@ public class SubscribeVehicleData extends RPCRequest {
public Boolean getCloudAppVehicleID(){
return getBoolean(KEY_CLOUD_APP_VEHICLE_ID);
}
-
- /**
- * Sets a boolean value for OEM Custom VehicleData.
- * @param vehicleDataName a String value
- * @param vehicleDataState a boolean value
- */
- public void setOEMCustomVehicleData(String vehicleDataName, Boolean vehicleDataState){
- setParameters(vehicleDataName, vehicleDataState);
- }
-
- /**
- * Gets a boolean value for OEM Custom VehicleData.
- * @return a Boolean value.
- */
- public Boolean getOEMCustomVehicleData(String vehicleDataName){
- return getBoolean(vehicleDataName);
- }
-}
+
+ /**
+ * Sets a boolean value for OEM Custom VehicleData.
+ * @param vehicleDataName a String value
+ * @param vehicleDataState a boolean value
+ */
+ public void setOEMCustomVehicleData(String vehicleDataName, Boolean vehicleDataState){
+ setParameters(vehicleDataName, vehicleDataState);
+ }
+
+ /**
+ * Gets a boolean value for OEM Custom VehicleData.
+ * @return a Boolean value.
+ */
+ public Boolean getOEMCustomVehicleData(String vehicleDataName){
+ return getBoolean(vehicleDataName);
+ }
+
+ /**
+ * Sets the windowStatus.
+ *
+ * @param windowStatus See WindowStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ public void setWindowStatus(Boolean windowStatus) {
+ setParameters(KEY_WINDOW_STATUS, windowStatus);
+ }
+
+ /**
+ * Gets the windowStatus.
+ *
+ * @return Boolean See WindowStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ public Boolean getWindowStatus() {
+ return getBoolean(KEY_WINDOW_STATUS);
+ }
+
+ /**
+ * Sets the handsOffSteering.
+ *
+ * @param handsOffSteering To indicate whether driver hands are off the steering wheel
+ * @since SmartDeviceLink 7.0.0
+ */
+ public void setHandsOffSteering(Boolean handsOffSteering) {
+ setParameters(KEY_HANDS_OFF_STEERING, handsOffSteering);
+ }
+
+ /**
+ * Gets the handsOffSteering.
+ *
+ * @return Boolean To indicate whether driver hands are off the steering wheel
+ * @since SmartDeviceLink 7.0.0
+ */
+ public Boolean getHandsOffSteering() {
+ return getBoolean(KEY_HANDS_OFF_STEERING);
+ }
+}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleDataResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleDataResponse.java
index a1f63aa71..cb869336a 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleDataResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleDataResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
@@ -74,6 +74,9 @@ public class SubscribeVehicleDataResponse extends RPCResponse {
public static final String KEY_TURN_SIGNAL = "turnSignal";
public static final String KEY_ELECTRONIC_PARK_BRAKE_STATUS = "electronicParkBrakeStatus";
public static final String KEY_CLOUD_APP_VEHICLE_ID = "cloudAppVehicleID";
+ public static final String KEY_GEAR_STATUS = "gearStatus";
+ public static final String KEY_HANDS_OFF_STEERING = "handsOffSteering";
+ public static final String KEY_WINDOW_STATUS = "windowStatus";
/**
* Constructs a new SubscribeVehicleDataResponse object
@@ -164,22 +167,6 @@ public class SubscribeVehicleDataResponse extends RPCResponse {
}
/**
* Sets Fuel Level State
- * @param fuelLevel_State a VehicleDataResult related to FuelLevel State
- */
- @Deprecated
- public void setFuelLevel_State(VehicleDataResult fuelLevel_State) {
- setFuelLevel(fuelLevel_State);
- }
- /**
- * Gets Fuel Level State
- * @return a VehicleDataResult related to FuelLevel State
- */
- @Deprecated
- public VehicleDataResult getFuelLevel_State() {
- return getFuelLevelState();
- }
- /**
- * Sets Fuel Level State
* @param fuelLevelState a VehicleDataResult related to FuelLevel State
*/
public void setFuelLevelState(VehicleDataResult fuelLevelState) {
@@ -224,16 +211,22 @@ public class SubscribeVehicleDataResponse extends RPCResponse {
return (VehicleDataResult) getObject(VehicleDataResult.class, KEY_EXTERNAL_TEMPERATURE);
}
/**
- * Gets currently selected gear data
- * @param prndl a VehicleDataResult related to the PRNDL status (automatic transmission gear)
+ * Sets the prndl.
+ *
+ * @param prndl See PRNDL. This parameter is deprecated and it is now covered in `gearStatus`
+ * @deprecated in SmartDeviceLink 7.0.0
*/
+ @Deprecated
public void setPrndl(VehicleDataResult prndl) {
setParameters(KEY_PRNDL, prndl);
}
/**
- * Gets currently selected gear data
- * @return a VehicleDataResult related to the PRNDL status (automatic transmission gear)
+ * Gets the prndl.
+ *
+ * @return VehicleDataResult See PRNDL. This parameter is deprecated and it is now covered in `gearStatus`
+ * @deprecated in SmartDeviceLink 7.0.0
*/
+ @Deprecated
@SuppressWarnings("unchecked")
public VehicleDataResult getPrndl() {
return (VehicleDataResult) getObject(VehicleDataResult.class, KEY_PRNDL);
@@ -531,4 +524,64 @@ public class SubscribeVehicleDataResponse extends RPCResponse {
public VehicleDataResult getOEMCustomVehicleData(String vehicleDataName){
return (VehicleDataResult) getObject(VehicleDataResult.class, vehicleDataName);
}
+
+ /**
+ * Sets the handsOffSteering.
+ *
+ * @param handsOffSteering To indicate whether driver hands are off the steering wheel
+ * @since SmartDeviceLink 7.0.0
+ */
+ public void setHandsOffSteering(VehicleDataResult handsOffSteering) {
+ setParameters(KEY_HANDS_OFF_STEERING, handsOffSteering);
+ }
+
+ /**
+ * Gets the handsOffSteering.
+ *
+ * @return VehicleDataResult To indicate whether driver hands are off the steering wheel
+ * @since SmartDeviceLink 7.0.0
+ */
+ public VehicleDataResult getHandsOffSteering() {
+ return (VehicleDataResult) getObject(VehicleDataResult.class, KEY_HANDS_OFF_STEERING);
+ }
+ /**
+ * Sets the gearStatus.
+ *
+ * @param gearStatus See GearStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ public void setGearStatus(VehicleDataResult gearStatus){
+ setParameters(KEY_GEAR_STATUS, gearStatus);
+ }
+
+ /**
+ * Gets the gearStatus.
+ *
+ * @return VehicleDataResult See GearStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ @SuppressWarnings("unchecked")
+ public VehicleDataResult getGearStatus(){
+ return (VehicleDataResult) getObject(VehicleDataResult.class, KEY_GEAR_STATUS);
+ }
+
+ /**
+ * Sets the windowStatus.
+ *
+ * @param windowStatus See WindowStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ public void setWindowStatus(VehicleDataResult windowStatus) {
+ setParameters(KEY_WINDOW_STATUS, windowStatus);
+ }
+
+ /**
+ * Gets the windowStatus.
+ *
+ * @return VehicleDataResult See WindowStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ public VehicleDataResult getWindowStatus() {
+ return (VehicleDataResult) getObject(VehicleDataResult.class, KEY_WINDOW_STATUS);
+ }
}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeWayPointsResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeWayPointsResponse.java
index 1d9e2a6cd..f9a40fce7 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeWayPointsResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeWayPointsResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SubtleAlert.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SubtleAlert.java
new file mode 100644
index 000000000..42752ff8d
--- /dev/null
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SubtleAlert.java
@@ -0,0 +1,275 @@
+/*
+ * Copyright (c) 2020 Livio, 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 of the Livio Inc. 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.
+ */
+package com.smartdevicelink.proxy.rpc;
+
+import com.smartdevicelink.protocol.enums.FunctionID;
+import com.smartdevicelink.proxy.RPCRequest;
+
+import java.util.Hashtable;
+import java.util.List;
+
+/**
+ * Shows an alert which typically consists of text-to-speech message and text on the display.
+ * At least either alertText1, alertText2 or ttsChunks need to be provided.
+ *
+ * <p><b>Parameter List</b></p>
+ *
+ * <table border="1" rules="all">
+ * <tr>
+ * <th>Param Name</th>
+ * <th>Type</th>
+ * <th>Description</th>
+ * <th>Required</th>
+ * <th>Notes</th>
+ * <th>Version Available</th>
+ * </tr>
+ * <tr>
+ * <td>alertText1</td>
+ * <td>String</td>
+ * <td>The first line of the alert text field</td>
+ * <td>N</td>
+ * <td>Max Value: 500</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>alertText2</td>
+ * <td>String</td>
+ * <td>The second line of the alert text field</td>
+ * <td>N</td>
+ * <td>Max Value: 500</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>alertIcon</td>
+ * <td>Image</td>
+ * <td>Image to be displayed for the corresponding alert. See Image. If omitted on supported displays, no (or the default if applicable) icon should be displayed.</td>
+ * <td>N</td>
+ * <td></td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>ttsChunks</td>
+ * <td>List<TTSChunk></td>
+ * <td>An array of text chunks of type TTSChunk. See TTSChunk. The array must have at least oneitem.</td>
+ * <td>N</td>
+ * <td>Min Value: 1; Max Value: 100</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>duration</td>
+ * <td>Integer</td>
+ * <td>Timeout in milliseconds. Typical timeouts are 3-5 seconds. If omitted, timeout is set to5s.</td>
+ * <td>N</td>
+ * <td>Min Value: 3000; Max Value: 10000; Default Value: 5000</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>softButtons</td>
+ * <td>List<SoftButton></td>
+ * <td>App defined SoftButtons. If omitted on supported displays, the displayed alert shall nothave any SoftButtons.</td>
+ * <td>N</td>
+ * <td>Min Value: 0; Max Value: 2</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>cancelID</td>
+ * <td>Integer</td>
+ * <td>An ID for this specific alert to allow cancellation through the `CancelInteraction` RPC.</td>
+ * <td>N</td>
+ * <td></td>
+ * <td></td>
+ * </tr>
+ * </table>
+ *
+ * @since SmartDeviceLink 7.0.0
+ */
+public class SubtleAlert extends RPCRequest {
+ public static final String KEY_ALERT_TEXT_1 = "alertText1";
+ public static final String KEY_ALERT_TEXT_2 = "alertText2";
+ public static final String KEY_ALERT_ICON = "alertIcon";
+ public static final String KEY_TTS_CHUNKS = "ttsChunks";
+ public static final String KEY_DURATION = "duration";
+ public static final String KEY_SOFT_BUTTONS = "softButtons";
+ public static final String KEY_CANCEL_ID = "cancelID";
+
+ /**
+ * Constructs a new SubtleAlert object
+ */
+ public SubtleAlert() {
+ super(FunctionID.SUBTLE_ALERT.toString());
+ }
+
+ /**
+ * Constructs a new SubtleAlert object indicated by the Hashtable parameter
+ *
+ * @param hash The Hashtable to use
+ */
+ public SubtleAlert(Hashtable<String, Object> hash) {
+ super(hash);
+ }
+
+ /**
+ * Sets the alertText1.
+ *
+ * @param alertText1 The first line of the alert text field
+ */
+ public void setAlertText1(String alertText1) {
+ setParameters(KEY_ALERT_TEXT_1, alertText1);
+ }
+
+ /**
+ * Gets the alertText1.
+ *
+ * @return String The first line of the alert text field
+ */
+ public String getAlertText1() {
+ return getString(KEY_ALERT_TEXT_1);
+ }
+
+ /**
+ * Sets the alertText2.
+ *
+ * @param alertText2 The second line of the alert text field
+ */
+ public void setAlertText2(String alertText2) {
+ setParameters(KEY_ALERT_TEXT_2, alertText2);
+ }
+
+ /**
+ * Gets the alertText2.
+ *
+ * @return String The second line of the alert text field
+ */
+ public String getAlertText2() {
+ return getString(KEY_ALERT_TEXT_2);
+ }
+
+ /**
+ * Sets the alertIcon.
+ *
+ * @param alertIcon Image to be displayed for the corresponding alert. See Image. If omitted on supported
+ * displays, no (or the default if applicable) icon should be displayed.
+ */
+ public void setAlertIcon(Image alertIcon) {
+ setParameters(KEY_ALERT_ICON, alertIcon);
+ }
+
+ /**
+ * Gets the alertIcon.
+ *
+ * @return Image Image to be displayed for the corresponding alert. See Image. If omitted on supported
+ * displays, no (or the default if applicable) icon should be displayed.
+ */
+ public Image getAlertIcon() {
+ return (Image) getObject(Image.class, KEY_ALERT_ICON);
+ }
+
+ /**
+ * Sets the ttsChunks.
+ *
+ * @param ttsChunks An array of text chunks of type TTSChunk. See TTSChunk. The array must have at least one
+ * item.
+ */
+ public void setTtsChunks(List<TTSChunk> ttsChunks) {
+ setParameters(KEY_TTS_CHUNKS, ttsChunks);
+ }
+
+ /**
+ * Gets the ttsChunks.
+ *
+ * @return List<TTSChunk> An array of text chunks of type TTSChunk. See TTSChunk. The array must have at least one
+ * item.
+ */
+ @SuppressWarnings("unchecked")
+ public List<TTSChunk> getTtsChunks() {
+ return (List<TTSChunk>) getObject(TTSChunk.class, KEY_TTS_CHUNKS);
+ }
+
+ /**
+ * Sets the duration.
+ *
+ * @param duration Timeout in milliseconds. Typical timeouts are 3-5 seconds. If omitted, timeout is set to
+ * 5s.
+ */
+ public void setDuration(Integer duration) {
+ setParameters(KEY_DURATION, duration);
+ }
+
+ /**
+ * Gets the duration.
+ *
+ * @return Integer Timeout in milliseconds. Typical timeouts are 3-5 seconds. If omitted, timeout is set to
+ * 5s.
+ */
+ public Integer getDuration() {
+ return getInteger(KEY_DURATION);
+ }
+
+ /**
+ * Sets the softButtons.
+ *
+ * @param softButtons App defined SoftButtons. If omitted on supported displays, the displayed alert shall not
+ * have any SoftButtons.
+ */
+ public void setSoftButtons(List<SoftButton> softButtons) {
+ setParameters(KEY_SOFT_BUTTONS, softButtons);
+ }
+
+ /**
+ * Gets the softButtons.
+ *
+ * @return List<SoftButton> App defined SoftButtons. If omitted on supported displays, the displayed alert shall not
+ * have any SoftButtons.
+ */
+ @SuppressWarnings("unchecked")
+ public List<SoftButton> getSoftButtons() {
+ return (List<SoftButton>) getObject(SoftButton.class, KEY_SOFT_BUTTONS);
+ }
+
+ /**
+ * Sets the cancelID.
+ *
+ * @param cancelID An ID for this specific alert to allow cancellation through the `CancelInteraction` RPC.
+ */
+ public void setCancelID(Integer cancelID) {
+ setParameters(KEY_CANCEL_ID, cancelID);
+ }
+
+ /**
+ * Gets the cancelID.
+ *
+ * @return Integer An ID for this specific alert to allow cancellation through the `CancelInteraction` RPC.
+ */
+ public Integer getCancelID() {
+ return getInteger(KEY_CANCEL_ID);
+ }
+}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SubtleAlertResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SubtleAlertResponse.java
new file mode 100644
index 000000000..a15dbe13b
--- /dev/null
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SubtleAlertResponse.java
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2020 Livio, 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 of the Livio Inc. 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.
+ */
+package com.smartdevicelink.proxy.rpc;
+
+import androidx.annotation.NonNull;
+
+import com.smartdevicelink.protocol.enums.FunctionID;
+import com.smartdevicelink.proxy.RPCResponse;
+import com.smartdevicelink.proxy.rpc.enums.Result;
+
+import java.util.Hashtable;
+
+/**
+ * @since SmartDeviceLink 7.0.0
+ */
+public class SubtleAlertResponse extends RPCResponse {
+ public static final String KEY_TRY_AGAIN_TIME = "tryAgainTime";
+
+ /**
+ * Constructs a new SubtleAlertResponse object
+ */
+ public SubtleAlertResponse() {
+ super(FunctionID.SUBTLE_ALERT.toString());
+ }
+
+ /**
+ * Constructs a new SubtleAlertResponse object indicated by the Hashtable parameter
+ *
+ * @param hash The Hashtable to use
+ */
+ public SubtleAlertResponse(Hashtable<String, Object> hash) {
+ super(hash);
+ }
+
+ /**
+ * Constructs a new SubtleAlertResponse object
+ *
+ * @param success whether the request is successfully processed
+ * @param resultCode additional information about a response returning a failed outcome
+ */
+ public SubtleAlertResponse(@NonNull Boolean success, @NonNull Result resultCode) {
+ this();
+ setSuccess(success);
+ setResultCode(resultCode);
+ }
+
+ /**
+ * Sets the tryAgainTime.
+ *
+ * @param tryAgainTime Amount of time (in milliseconds) that an app must wait before resending an alert.
+ * If provided, another system event or overlay currently has a higher priority than this alert.
+ * An app must not send an alert without waiting at least the amount of time dictated.
+ */
+ public void setTryAgainTime(Integer tryAgainTime) {
+ setParameters(KEY_TRY_AGAIN_TIME, tryAgainTime);
+ }
+
+ /**
+ * Gets the tryAgainTime.
+ *
+ * @return Integer Amount of time (in milliseconds) that an app must wait before resending an alert.
+ * If provided, another system event or overlay currently has a higher priority than this alert.
+ * An app must not send an alert without waiting at least the amount of time dictated.
+ */
+ public Integer getTryAgainTime() {
+ return getInteger(KEY_TRY_AGAIN_TIME);
+ }
+}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SystemCapability.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SystemCapability.java
index 314b6d0cc..470321627 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SystemCapability.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SystemCapability.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.SystemCapabilityType;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SystemRequest.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SystemRequest.java
index 90865585a..5c02cfe7d 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SystemRequest.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SystemRequest.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SystemRequestResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SystemRequestResponse.java
index b1b0ce983..d2e68a2d5 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SystemRequestResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SystemRequestResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/TTSChunk.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/TTSChunk.java
index 8f73770a7..fbd526b30 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/TTSChunk.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/TTSChunk.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.SpeechCapabilities;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/Temperature.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/Temperature.java
index ac1503ee9..c2c809f13 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/Temperature.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/Temperature.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.TemperatureUnit;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/TemplateConfiguration.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/TemplateConfiguration.java
index a92e8e28a..c82b4c481 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/TemplateConfiguration.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/TemplateConfiguration.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/TextField.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/TextField.java
index 497bd66ee..dc9907bad 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/TextField.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/TextField.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.CharacterSet;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/TireStatus.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/TireStatus.java
index 0767c2dc1..c5e2626b8 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/TireStatus.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/TireStatus.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.WarningLightStatus;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/TouchCoord.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/TouchCoord.java
index a7584ff4b..3e33369cf 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/TouchCoord.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/TouchCoord.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/TouchEvent.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/TouchEvent.java
index 625a3d462..47f29c0b1 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/TouchEvent.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/TouchEvent.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/TouchEventCapabilities.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/TouchEventCapabilities.java
index d52ca219b..423ae4fa2 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/TouchEventCapabilities.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/TouchEventCapabilities.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/UnpublishAppService.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/UnpublishAppService.java
index 7ad2d8d55..6e509fe1f 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/UnpublishAppService.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/UnpublishAppService.java
@@ -35,7 +35,7 @@
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/UnpublishAppServiceResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/UnpublishAppServiceResponse.java
index 01ae96d8a..a5b171930 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/UnpublishAppServiceResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/UnpublishAppServiceResponse.java
@@ -35,7 +35,7 @@
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/UnregisterAppInterfaceResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/UnregisterAppInterfaceResponse.java
index b5fa9b990..98e9121fe 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/UnregisterAppInterfaceResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/UnregisterAppInterfaceResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeButton.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeButton.java
index 860772861..48c287ea8 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeButton.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeButton.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeButtonResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeButtonResponse.java
index 3bcfd4898..af0281e8e 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeButtonResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeButtonResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleData.java
index f2bfb16dc..5a998a268 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleData.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleData.java
@@ -108,14 +108,20 @@ import java.util.Hashtable;
* <td>Subscribable</td>
* <td>SmartDeviceLink 2.0 </td>
* </tr>
- * <tr>
- * <td>prndl</td>
- * <td>Boolean</td>
- * <td>Currently selected gear.</td>
- * <td>N</td>
- * <td>Subscribable</td>
- * <td>SmartDeviceLink 2.0 </td>
- * </tr>
+ * <tr>
+ * <td>gearStatus</td>
+ * <td>Boolean</td>
+ * <td>See GearStatus</td>
+ * <td>N</td>
+ * <td>SmartDeviceLink 7.0.0</td>
+ * </tr>
+ * <tr>
+ * <td>prndl</td>
+ * <td>Boolean</td>
+ * <td>See PRNDL. This parameter is deprecated and it is now covered in `gearStatus`</td>
+ * <td>N</td>
+ * <td>SmartDeviceLink 7.0.0</td>
+ * </tr>
* <tr>
* <td>tirePressure</td>
* <td>Boolean</td>
@@ -260,6 +266,20 @@ import java.util.Hashtable;
* <td>Subscribable</td>
* <td>SmartDeviceLink 5.0 </td>
* </tr>
+ * <tr>
+ * <td>handsOffSteering</td>
+ * <td>Boolean</td>
+ * <td>To indicate whether driver hands are off the steering wheel</td>
+ * <td>N</td>
+ * <td>SmartDeviceLink 7.0.0</td>
+ * </tr>
+ * <tr>
+ * <td>windowStatus</td>
+ * <td>Boolean</td>
+ * <td>See WindowStatus</td>
+ * <td>N</td>
+ * <td>SmartDeviceLink 7.0.0</td>
+ * </tr>
* </table>
* <p><b> Response</b></p>
* <p><b>Non-default Result Codes:</b></p>
@@ -307,6 +327,9 @@ public class UnsubscribeVehicleData extends RPCRequest {
public static final String KEY_TURN_SIGNAL = "turnSignal";
public static final String KEY_ELECTRONIC_PARK_BRAKE_STATUS = "electronicParkBrakeStatus";
public static final String KEY_CLOUD_APP_VEHICLE_ID = "cloudAppVehicleID";
+ public static final String KEY_HANDS_OFF_STEERING = "handsOffSteering";
+ public static final String KEY_GEAR_STATUS = "gearStatus";
+ public static final String KEY_WINDOW_STATUS = "windowStatus";
/**
* Constructs a new UnsubscribeVehicleData object
@@ -409,29 +432,6 @@ public class UnsubscribeVehicleData extends RPCRequest {
}
/**
- * Sets a boolean value. If true, unsubscribes from fuelLevel_State data
- *
- * @param fuelLevel_State
- * a boolean value
- */
- @Deprecated
- public void setFuelLevel_State(Boolean fuelLevel_State) {
- setFuelLevelState(fuelLevel_State);
- }
-
- /**
- * Gets a boolean value. If true, means the fuelLevel_State data has been
- * unsubscribed.
- *
- * @return Boolean -a Boolean value. If true, means the fuelLevel_State data
- * has been unsubscribed.
- */
- @Deprecated
- public Boolean getFuelLevel_State() {
- return getFuelLevelState();
- }
-
- /**
* Sets a boolean value. If true, unsubscribes from fuelLevelState data
*
* @param fuelLevelState
@@ -494,23 +494,24 @@ public class UnsubscribeVehicleData extends RPCRequest {
return getBoolean(KEY_EXTERNAL_TEMPERATURE);
}
- /**
- * Sets a boolean value. If true, unsubscribes Currently selected gear data
- *
- * @param prndl
- * a boolean value
- */
+ /**
+ * Sets the prndl.
+ *
+ * @param prndl See PRNDL. This parameter since SmartDeviceLink 7.0.0 is deprecated and it is now covered in `gearStatus`
+ * @deprecated in SmartDeviceLink 7.0.0
+ */
+ @Deprecated
public void setPrndl(Boolean prndl) {
- setParameters(KEY_PRNDL, prndl);
+ setParameters(KEY_PRNDL, prndl);
}
- /**
- * Gets a boolean value. If true, means the Currently selected gear data has been
- * unsubscribed.
- *
- * @return Boolean -a Boolean value. If true, means the Currently selected gear data
- * has been unsubscribed.
- */
+ /**
+ * Gets the prndl.
+ *
+ * @return Boolean See PRNDL. This parameter is deprecated since SmartDeviceLink 7.0.0 and it is now covered in `gearStatus`
+ * @deprecated in SmartDeviceLink 7.0.0
+ */
+ @Deprecated
public Boolean getPrndl() {
return getBoolean(KEY_PRNDL);
}
@@ -867,4 +868,64 @@ public class UnsubscribeVehicleData extends RPCRequest {
public Boolean getOEMCustomVehicleData(String vehicleDataName){
return getBoolean(vehicleDataName);
}
+
+ /**
+ * Sets the gearStatus.
+ *
+ * @param gearStatus See GearStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ public void setGearStatus(Boolean gearStatus) {
+ setParameters(KEY_GEAR_STATUS, gearStatus);
+ }
+
+ /**
+ * Gets the gearStatus.
+ *
+ * @return Boolean See GearStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ public Boolean getGearStatus() {
+ return getBoolean(KEY_GEAR_STATUS);
+ }
+
+ /**
+ * Sets the handsOffSteering.
+ *
+ * @param handsOffSteering To indicate whether driver hands are off the steering wheel
+ * @since SmartDeviceLink 7.0.0
+ */
+ public void setHandsOffSteering(Boolean handsOffSteering) {
+ setParameters(KEY_HANDS_OFF_STEERING, handsOffSteering);
+ }
+
+ /**
+ * Gets the handsOffSteering.
+ *
+ * @return Boolean To indicate whether driver hands are off the steering wheel
+ * @since SmartDeviceLink 7.0.0
+ */
+ public Boolean getHandsOffSteering() {
+ return getBoolean(KEY_HANDS_OFF_STEERING);
+ }
+
+ /**
+ * Sets the windowStatus.
+ *
+ * @param windowStatus See WindowStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ public void setWindowStatus(Boolean windowStatus) {
+ setParameters(KEY_WINDOW_STATUS, windowStatus);
+ }
+
+ /**
+ * Gets the windowStatus.
+ *
+ * @return Boolean See WindowStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ public Boolean getWindowStatus() {
+ return getBoolean(KEY_WINDOW_STATUS);
+ }
}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleDataResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleDataResponse.java
index 580f399eb..37b1f0c51 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleDataResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleDataResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
@@ -74,6 +74,9 @@ public class UnsubscribeVehicleDataResponse extends RPCResponse {
public static final String KEY_TURN_SIGNAL = "turnSignal";
public static final String KEY_ELECTRONIC_PARK_BRAKE_STATUS = "electronicParkBrakeStatus";
public static final String KEY_CLOUD_APP_VEHICLE_ID = "cloudAppVehicleID";
+ public static final String KEY_HANDS_OFF_STEERING = "handsOffSteering";
+ public static final String KEY_WINDOW_STATUS = "windowStatus";
+ public static final String KEY_GEAR_STATUS = "gearStatus";
/**
* Constructs a new UnsubscribeVehicleDataResponse object
@@ -166,22 +169,6 @@ public class UnsubscribeVehicleDataResponse extends RPCResponse {
}
/**
* Sets Fuel Level State
- * @param fuelLevel_State a VehicleDataResult related to FuelLevel State
- */
- @Deprecated
- public void setFuelLevel_State(VehicleDataResult fuelLevel_State) {
- setFuelLevel(fuelLevel_State);
- }
- /**
- * Gets Fuel Level State
- * @return a VehicleDataResult related to FuelLevel State
- */
- @Deprecated
- public VehicleDataResult getFuelLevel_State() {
- return getFuelLevelState();
- }
- /**
- * Sets Fuel Level State
* @param fuelLevelState a VehicleDataResult related to FuelLevel State
*/
public void setFuelLevelState(VehicleDataResult fuelLevelState) {
@@ -226,16 +213,22 @@ public class UnsubscribeVehicleDataResponse extends RPCResponse {
return (VehicleDataResult) getObject(VehicleDataResult.class, KEY_EXTERNAL_TEMPERATURE);
}
/**
- * Gets currently selected gear data
- * @param prndl a VehicleDataResult related to the PRNDL status (automatic transmission gear)
+ * Sets the prndl.
+ *
+ * @param prndl See PRNDL.
+ * @deprecated in SmartDeviceLink 7.0.0
*/
+ @Deprecated
public void setPrndl(VehicleDataResult prndl) {
setParameters(KEY_PRNDL, prndl);
}
/**
- * Gets currently selected gear data
- * @return a VehicleDataResult related to the PRNDL status (automatic transmission gear)
+ * Gets the prndl.
+ *
+ * @return VehicleDataResult.
+ * @deprecated in SmartDeviceLink 7.0.0
*/
+ @Deprecated
@SuppressWarnings("unchecked")
public VehicleDataResult getPrndl() {
return (VehicleDataResult) getObject(VehicleDataResult.class, KEY_PRNDL);
@@ -533,4 +526,65 @@ public class UnsubscribeVehicleDataResponse extends RPCResponse {
public VehicleDataResult getOEMCustomVehicleData(String vehicleDataName){
return (VehicleDataResult) getObject(VehicleDataResult.class, vehicleDataName);
}
+
+ /**
+ * Sets the handsOffSteering.
+ *
+ * @param handsOffSteering To indicate whether driver hands are off the steering wheel
+ * @since SmartDeviceLink 7.0.0
+ */
+ public void setHandsOffSteering(VehicleDataResult handsOffSteering) {
+ setParameters(KEY_HANDS_OFF_STEERING, handsOffSteering);
+ }
+
+ /**
+ * Gets the handsOffSteering.
+ *
+ * @return VehicleDataResult To indicate whether driver hands are off the steering wheel
+ * @since SmartDeviceLink 7.0.0
+ */
+ public VehicleDataResult getHandsOffSteering() {
+ return (VehicleDataResult) getObject(VehicleDataResult.class, KEY_HANDS_OFF_STEERING);
+ }
+
+ /**
+ * Sets the windowStatus.
+ *
+ * @param windowStatus See WindowStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ public void setWindowStatus(VehicleDataResult windowStatus) {
+ setParameters(KEY_WINDOW_STATUS, windowStatus);
+ }
+
+ /**
+ * Gets the windowStatus.
+ *
+ * @return VehicleDataResult See WindowStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ public VehicleDataResult getWindowStatus() {
+ return (VehicleDataResult) getObject(VehicleDataResult.class, KEY_WINDOW_STATUS);
+ }
+
+ /**
+ * Sets the gearStatus.
+ *
+ * @param gearStatus See GearStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ public void setGearStatus(VehicleDataResult gearStatus){
+ setParameters(KEY_GEAR_STATUS, gearStatus);
+ }
+
+ /**
+ * Gets the gearStatus.
+ *
+ * @return VehicleDataResult See GearStatus
+ * @since SmartDeviceLink 7.0.0
+ */
+ @SuppressWarnings("unchecked")
+ public VehicleDataResult getGearStatus(){
+ return (VehicleDataResult) getObject(VehicleDataResult.class, KEY_GEAR_STATUS);
+ }
}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeWayPointsResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeWayPointsResponse.java
index b49536bf2..11df9312e 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeWayPointsResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeWayPointsResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/UpdateTurnListResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/UpdateTurnListResponse.java
index d29ffafc7..a19931d19 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/UpdateTurnListResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/UpdateTurnListResponse.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/VehicleDataResult.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/VehicleDataResult.java
index e467d0407..5e50f18e9 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/VehicleDataResult.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/VehicleDataResult.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.VehicleDataResultCode;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/VideoStreamingFormat.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/VideoStreamingFormat.java
index 0fc981672..92c16cebc 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/VideoStreamingFormat.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/VideoStreamingFormat.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.VideoStreamingCodec;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/VrHelpItem.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/VrHelpItem.java
index fcfa55f5f..0acb5b8dd 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/VrHelpItem.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/VrHelpItem.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/WeatherAlert.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/WeatherAlert.java
index 2e7b0a0cd..2d3afdfb4 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/WeatherAlert.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/WeatherAlert.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/WeatherServiceData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/WeatherServiceData.java
index 81e6586f0..9ae1d4e0d 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/WeatherServiceData.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/WeatherServiceData.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/WindowCapability.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/WindowCapability.java
index 6974c82db..c93cb50ca 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/WindowCapability.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/WindowCapability.java
@@ -20,6 +20,7 @@ public class WindowCapability extends RPCStruct {
public static final String KEY_BUTTON_CAPABILITIES = "buttonCapabilities";
public static final String KEY_SOFT_BUTTON_CAPABILITIES = "softButtonCapabilities";
public static final String KEY_MENU_LAYOUTS_AVAILABLE = "menuLayoutsAvailable";
+ public static final String KEY_DYNAMIC_UPDATE_CAPABILITIES = "dynamicUpdateCapabilities";
public WindowCapability() {
}
@@ -205,4 +206,26 @@ public class WindowCapability extends RPCStruct {
public List<MenuLayout> getMenuLayoutsAvailable() {
return (List<MenuLayout>) getObject(MenuLayout.class, KEY_MENU_LAYOUTS_AVAILABLE);
}
+
+ /**
+ * Sets the dynamicUpdateCapabilities.
+ *
+ * @param dynamicUpdateCapabilities Contains the head unit's capabilities for dynamic updating features declaring if the
+ * module will send dynamic update RPCs.
+ * @since SmartDeviceLink 7.0.0
+ */
+ public void setDynamicUpdateCapabilities(DynamicUpdateCapabilities dynamicUpdateCapabilities) {
+ setValue(KEY_DYNAMIC_UPDATE_CAPABILITIES, dynamicUpdateCapabilities);
+ }
+
+ /**
+ * Gets the dynamicUpdateCapabilities.
+ *
+ * @return DynamicUpdateCapabilities Contains the head unit's capabilities for dynamic updating features declaring if the
+ * module will send dynamic update RPCs.
+ * @since SmartDeviceLink 7.0.0
+ */
+ public DynamicUpdateCapabilities getDynamicUpdateCapabilities() {
+ return (DynamicUpdateCapabilities) getObject(DynamicUpdateCapabilities.class, KEY_DYNAMIC_UPDATE_CAPABILITIES);
+ }
}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/WindowState.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/WindowState.java
new file mode 100644
index 000000000..e17d9b7d9
--- /dev/null
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/WindowState.java
@@ -0,0 +1,140 @@
+/*
+ * Copyright (c) 2017 - 2020, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium Inc. 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.
+ */
+package com.smartdevicelink.proxy.rpc;
+
+import androidx.annotation.NonNull;
+
+import com.smartdevicelink.proxy.RPCStruct;
+
+import java.util.Hashtable;
+
+/**
+ *
+ * <p><b>Parameter List</b></p>
+ *
+ * <table border="1" rules="all">
+ * <tr>
+ * <th>Param Name</th>
+ * <th>Type</th>
+ * <th>Description</th>
+ * <th>Required</th>
+ * <th>Version Available</th>
+ * </tr>
+ * <tr>
+ * <td>approximatePosition</td>
+ * <td>Integer</td>
+ * <td>The approximate percentage that the window is open - 0 being fully closed, 100 being fullyopen</td>
+ * <td>Y</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>deviation</td>
+ * <td>Integer</td>
+ * <td>The percentage deviation of the approximatePosition. e.g. If the approximatePosition is 50and the deviation is 10, then the window's location is somewhere between 40 and 60.</td>
+ * <td>Y</td>
+ * <td></td>
+ * </tr>
+ * </table>
+ * @since SmartDeviceLink 7.0.0
+ */
+public class WindowState extends RPCStruct {
+ public static final String KEY_APPROXIMATE_POSITION = "approximatePosition";
+ public static final String KEY_DEVIATION = "deviation";
+
+ /**
+ * Constructs a new WindowState object
+ */
+ public WindowState() { }
+
+ /**
+ * Constructs a new WindowState object indicated by the Hashtable parameter
+ *
+ * @param hash The Hashtable to use
+ */
+ public WindowState(Hashtable<String, Object> hash) {
+ super(hash);
+ }
+
+ /**
+ * Constructs a new WindowState object
+ *
+ * @param approximatePosition The approximate percentage that the window is open - 0 being fully closed, 100 being fully
+ * open
+ * @param deviation The percentage deviation of the approximatePosition. e.g. If the approximatePosition is 50
+ * and the deviation is 10, then the window's location is somewhere between 40 and 60.
+ */
+ public WindowState(@NonNull Integer approximatePosition, @NonNull Integer deviation) {
+ this();
+ setApproximatePosition(approximatePosition);
+ setDeviation(deviation);
+ }
+
+ /**
+ * Sets the approximatePosition.
+ *
+ * @param approximatePosition The approximate percentage that the window is open - 0 being fully closed, 100 being fully
+ * open
+ */
+ public void setApproximatePosition(@NonNull Integer approximatePosition) {
+ setValue(KEY_APPROXIMATE_POSITION, approximatePosition);
+ }
+
+ /**
+ * Gets the approximatePosition.
+ *
+ * @return Integer The approximate percentage that the window is open - 0 being fully closed, 100 being fully
+ * open
+ */
+ public Integer getApproximatePosition() {
+ return getInteger(KEY_APPROXIMATE_POSITION);
+ }
+
+ /**
+ * Sets the deviation.
+ *
+ * @param deviation The percentage deviation of the approximatePosition. e.g. If the approximatePosition is 50
+ * and the deviation is 10, then the window's location is somewhere between 40 and 60.
+ */
+ public void setDeviation(@NonNull Integer deviation) {
+ setValue(KEY_DEVIATION, deviation);
+ }
+
+ /**
+ * Gets the deviation.
+ *
+ * @return Integer The percentage deviation of the approximatePosition. e.g. If the approximatePosition is 50
+ * and the deviation is 10, then the window's location is somewhere between 40 and 60.
+ */
+ public Integer getDeviation() {
+ return getInteger(KEY_DEVIATION);
+ }
+}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/WindowStatus.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/WindowStatus.java
new file mode 100644
index 000000000..075d5f142
--- /dev/null
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/WindowStatus.java
@@ -0,0 +1,136 @@
+/*
+ * Copyright (c) 2017 - 2020, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium Inc. 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.
+ */
+package com.smartdevicelink.proxy.rpc;
+
+import androidx.annotation.NonNull;
+
+import com.smartdevicelink.proxy.RPCStruct;
+
+import java.util.Hashtable;
+
+/**
+ * Describes the status of a window of a door/liftgate etc.
+ *
+ * <p><b>Parameter List</b></p>
+ *
+ * <table border="1" rules="all">
+ * <tr>
+ * <th>Param Name</th>
+ * <th>Type</th>
+ * <th>Description</th>
+ * <th>Required</th>
+ * <th>Version Available</th>
+ * </tr>
+ * <tr>
+ * <td>location</td>
+ * <td>Grid</td>
+ * <td></td>
+ * <td>Y</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>state</td>
+ * <td>WindowState</td>
+ * <td></td>
+ * <td>Y</td>
+ * <td></td>
+ * </tr>
+ * </table>
+ *
+ * @since SmartDeviceLink 7.0.0
+ */
+public class WindowStatus extends RPCStruct {
+ public static final String KEY_LOCATION = "location";
+ public static final String KEY_STATE = "state";
+
+ /**
+ * Constructs a new WindowStatus object
+ */
+ public WindowStatus() { }
+
+ /**
+ * Constructs a new WindowStatus object indicated by the Hashtable parameter
+ *
+ * @param hash The Hashtable to use
+ */
+ public WindowStatus(Hashtable<String, Object> hash) {
+ super(hash);
+ }
+
+ /**
+ * Constructs a new WindowStatus object
+ *
+ * @param location
+ * @param state
+ */
+ public WindowStatus(@NonNull Grid location, @NonNull WindowState state) {
+ this();
+ setLocation(location);
+ setState(state);
+ }
+
+ /**
+ * Sets the location.
+ *
+ * @param location
+ */
+ public void setLocation(@NonNull Grid location) {
+ setValue(KEY_LOCATION, location);
+ }
+
+ /**
+ * Gets the location.
+ *
+ * @return Grid
+ */
+ public Grid getLocation() {
+ return (Grid) getObject(Grid.class, KEY_LOCATION);
+ }
+
+ /**
+ * Sets the state.
+ *
+ * @param state
+ */
+ public void setState(@NonNull WindowState state) {
+ setValue(KEY_STATE, state);
+ }
+
+ /**
+ * Gets the state.
+ *
+ * @return WindowState
+ */
+ public WindowState getState() {
+ return (WindowState) getObject(WindowState.class, KEY_STATE);
+ }
+}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/WindowTypeCapabilities.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/WindowTypeCapabilities.java
index f57d9a415..4853a29a2 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/WindowTypeCapabilities.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/WindowTypeCapabilities.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.WindowType;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/AppHMIType.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/AppHMIType.java
index f15fa34c5..e34a8f431 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/AppHMIType.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/AppHMIType.java
@@ -1,34 +1,34 @@
-/*
- * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
- */
+/*
+ * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
+ */
package com.smartdevicelink.proxy.rpc.enums;
/**
@@ -81,6 +81,12 @@ public enum AppHMIType {
* Remote Control
*/
REMOTE_CONTROL,
+ /**
+ * Web View
+ *
+ * @since SmartDeviceLink 7.0.0
+ */
+ WEB_VIEW
;
/**
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/AppInterfaceUnregisteredReason.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/AppInterfaceUnregisteredReason.java
index 31690e0ab..425671b64 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/AppInterfaceUnregisteredReason.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/AppInterfaceUnregisteredReason.java
@@ -1,34 +1,34 @@
-/*
- * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
- */
+/*
+ * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
+ */
package com.smartdevicelink.proxy.rpc.enums;
/**
@@ -119,6 +119,16 @@ public enum AppInterfaceUnregisteredReason {
* @since SmartDeviceLink 4.1
*/
UNSUPPORTED_HMI_RESOURCE,
+
+
+ /**
+ * The application is unregistered due to hardware resource constraints.
+ * The system will shortly close the application to free up hardware resources
+ *
+ * @since SmartDeviceLink 7.0
+ *
+ */
+ RESOURCE_CONSTRAINT
;
/**
* Convert String to AppInterfaceUnregisteredReason
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/ImageFieldName.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/ImageFieldName.java
index 9c7aa2722..cb595fc9d 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/ImageFieldName.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/ImageFieldName.java
@@ -109,6 +109,18 @@ public enum ImageFieldName {
* @since SmartDeviceLink 6.0.0
*/
alertIcon,
+ /**
+ * The image of the subtle alert; applies to `SubtleAlert` `alertIcon`
+ *
+ * @since SmartDeviceLink 7.0.0
+ */
+ subtleAlertIcon,
+ /**
+ * The image field for AddSubMenu.menuIcon
+ *
+ * @since SmartDeviceLink 7.0.0
+ */
+ subMenuIcon
;
/**
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/PRNDL.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/PRNDL.java
index a605ade87..d21c7b62c 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/PRNDL.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/PRNDL.java
@@ -1,34 +1,34 @@
-/*
- * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
- */
+/*
+ * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
+ */
package com.smartdevicelink.proxy.rpc.enums;
/**
@@ -48,6 +48,9 @@ public enum PRNDL {
* No gear
*/
NEUTRAL,
+ /**
+ * Regular Drive mode
+ */
DRIVE,
/**
* Drive Sport mode
@@ -83,6 +86,14 @@ public enum PRNDL {
SIXTH,
SEVENTH,
EIGHTH,
+ /**
+ * @since SmartDeviceLink 7.0.0
+ */
+ NINTH,
+ /**
+ * @since SmartDeviceLink 7.0.0
+ */
+ TENTH,
UNKNOWN,
FAULT;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/PredefinedLayout.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/PredefinedLayout.java
index 23439b007..ca130d38c 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/PredefinedLayout.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/PredefinedLayout.java
@@ -137,6 +137,12 @@ public enum PredefinedLayout {
A layout with only a single large graphic
*/
LARGE_GRAPHIC_ONLY("LARGE_GRAPHIC_ONLY"),
+
+ /**
+ * Custom root template allowing in-vehicle WebEngine applications with
+ * appropriate permissions to show the application's own web view.
+ */
+ WEB_VIEW("WEB_VIEW")
;
private final String VALUE;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/SdlDisconnectedReason.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/SdlDisconnectedReason.java
index e344fb87f..7513d56af 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/SdlDisconnectedReason.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/SdlDisconnectedReason.java
@@ -1,34 +1,34 @@
-/*
- * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
- */
+/*
+ * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
+ */
package com.smartdevicelink.proxy.rpc.enums;
public enum SdlDisconnectedReason {
@@ -43,6 +43,7 @@ public enum SdlDisconnectedReason {
MASTER_RESET,
FACTORY_DEFAULTS,
TRANSPORT_ERROR,
+ RESOURCE_CONSTRAINT,
APPLICATION_REQUESTED_DISCONNECT,
DEFAULT,
TRANSPORT_DISCONNECT,
@@ -109,6 +110,9 @@ public enum SdlDisconnectedReason {
case FACTORY_DEFAULTS:
returnReason = SdlDisconnectedReason.FACTORY_DEFAULTS;
break;
+ case RESOURCE_CONSTRAINT:
+ returnReason = SdlDisconnectedReason.RESOURCE_CONSTRAINT;
+ break;
default:
break;
}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/TextFieldName.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/TextFieldName.java
index a8fe4bd38..cf33b73e0 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/TextFieldName.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/TextFieldName.java
@@ -186,6 +186,24 @@ public enum TextFieldName {
* @since SmartDeviceLink 6.0
*/
templateTitle,
+ /**
+ * The first line of the subtle alert text field; applies to `SubtleAlert` `alertText1`
+ *
+ * @since SmartDeviceLink 7.0.0
+ */
+ subtleAlertText1,
+ /**
+ * The second line of the subtle alert text field; applies to `SubtleAlert` `alertText2`
+ *
+ * @since SmartDeviceLink 7.0.0
+ */
+ subtleAlertText2,
+ /**
+ * A text field in the soft button of a subtle alert; applies to `SubtleAlert` `softButtons`
+ *
+ * @since SmartDeviceLink 7.0.0
+ */
+ subtleAlertSoftButtonText;
;
/**
* Convert String to TextFieldName
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/TransmissionType.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/TransmissionType.java
new file mode 100644
index 000000000..d7a2ff6fd
--- /dev/null
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/TransmissionType.java
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2017 - 2020, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium Inc. 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.
+ */
+package com.smartdevicelink.proxy.rpc.enums;
+
+/**
+ * Type of transmission used in the vehicle.
+ *
+ * @since SmartDeviceLink 7.0.0
+ */
+public enum TransmissionType {
+ /**
+ * Manual transmission.
+ */
+ MANUAL,
+ /**
+ * Automatic transmission.
+ */
+ AUTOMATIC,
+ /**
+ * Semi automatic transmission.
+ */
+ SEMI_AUTOMATIC,
+ /**
+ * Dual clutch transmission.
+ */
+ DUAL_CLUTCH,
+ /**
+ * Continuously variable transmission(CVT).
+ */
+ CONTINUOUSLY_VARIABLE,
+ /**
+ * Infinitely variable transmission.
+ */
+ INFINITELY_VARIABLE,
+ /**
+ * Electric variable transmission.
+ */
+ ELECTRIC_VARIABLE,
+ /**
+ * Direct drive between engine and wheels.
+ */
+ DIRECT_DRIVE;
+
+ /**
+ * Convert String to TransmissionType
+ * @param value String
+ * @return TransmissionType
+ */
+ public static TransmissionType valueForString(String value) {
+ try {
+ return valueOf(value);
+ } catch (Exception e) {
+ return null;
+ }
+ }
+}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/VehicleDataType.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/VehicleDataType.java
index f661ca7db..7682e16f8 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/VehicleDataType.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/VehicleDataType.java
@@ -167,7 +167,19 @@ public enum VehicleDataType {
* @since SmartDeviceLink 6.0
*/
VEHICLEDATA_OEM_CUSTOM_DATA,
- ;
+
+ /**
+ * @since SmartDeviceLink 7.0.0
+ */
+ VEHICLEDATA_HANDSOFFSTEERING,
+ /**
+ * @since SmartDeviceLink 7.0.0
+ */
+ VEHICLEDATA_WINDOWSTATUS,
+ /**
+ * @since SmartDeviceLink 7.0.0
+ */
+ VEHICLEDATA_GEARSTATUS;
/**
* Convert String to VehicleDataType
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/VrCapabilities.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/VrCapabilities.java
index 69fc0c8de..13d4add28 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/VrCapabilities.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/VrCapabilities.java
@@ -1,34 +1,34 @@
-/*
- * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
- */
+/*
+ * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
+ */
package com.smartdevicelink.proxy.rpc.enums;
/**
@@ -36,15 +36,6 @@ package com.smartdevicelink.proxy.rpc.enums;
*
*/
public enum VrCapabilities {
- /**
- * The SDL platform is capable of recognizing spoken text in the current
- * language.
- *
- * @since SmartDeviceLink 1.0
- */
- @Deprecated
- Text,
-
/**
* The SDL platform is capable of recognizing spoken text in the current
* language.
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/listeners/OnMultipleRequestListener.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/listeners/OnMultipleRequestListener.java
index 462a73283..9e63827fa 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/listeners/OnMultipleRequestListener.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/listeners/OnMultipleRequestListener.java
@@ -32,7 +32,6 @@
package com.smartdevicelink.proxy.rpc.listeners;
import com.smartdevicelink.proxy.RPCResponse;
-import com.smartdevicelink.proxy.rpc.enums.Result;
import java.util.Vector;
@@ -43,7 +42,6 @@ public abstract class OnMultipleRequestListener extends OnRPCResponseListener {
final Vector<Integer> correlationIds;
OnRPCResponseListener rpcResponseListener;
- private static String TAG = "OnMultipleRequestListener";
public OnMultipleRequestListener(){
setListenerType(UPDATE_LISTENER_TYPE_MULTIPLE_REQUESTS);
@@ -53,17 +51,6 @@ public abstract class OnMultipleRequestListener extends OnRPCResponseListener {
@Override
public void onResponse(int correlationId, RPCResponse response) {
OnMultipleRequestListener.this.onResponse(correlationId, response);
- update(correlationId);
- }
-
- @Override
- public void onError(int correlationId, Result resultCode, String info) {
- super.onError(correlationId, resultCode, info);
- OnMultipleRequestListener.this.onError(correlationId, resultCode, info);
- update(correlationId);
- }
-
- private synchronized void update(int correlationId){
correlationIds.remove(Integer.valueOf(correlationId));
onUpdate(correlationIds.size());
if(correlationIds.size() == 0){
@@ -82,7 +69,6 @@ public abstract class OnMultipleRequestListener extends OnRPCResponseListener {
*/
public abstract void onUpdate(int remainingRequests);
public abstract void onFinished();
- public abstract void onError(int correlationId, Result resultCode, String info);
public OnRPCResponseListener getSingleRpcResponseListener(){
return rpcResponseListener;
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/listeners/OnPutFileUpdateListener.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/listeners/OnPutFileUpdateListener.java
deleted file mode 100644
index cac4ec523..000000000
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/listeners/OnPutFileUpdateListener.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 2019, Livio, 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 of the Livio Inc. 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.
- */
-package com.smartdevicelink.proxy.rpc.listeners;
-
-import com.smartdevicelink.proxy.RPCResponse;
-
-@Deprecated
-public abstract class OnPutFileUpdateListener extends OnRPCResponseListener{
-
- long totalSize = 0;
-
- public OnPutFileUpdateListener(){
- setListenerType(UPDATE_LISTENER_TYPE_PUT_FILE);
- }
-
- @Override
- public final void onStart(int correlationId) {
- super.onStart(correlationId);
- onStart(correlationId, totalSize); //We do this so we can send back the total size
- }
-
- public void onStart(int correlationId, long totalSize){
-
- }
-
- @Override
- public final void onResponse(int correlationId, RPCResponse response) {
- onResponse(correlationId, response, totalSize); //Calling our special abstract method
- }
- /**
- * Called when the putfile request is responded to.
- * @param correlationId correlation ID tied to the original response
- * @param response the PutFile response RPC
- * @param totalSize total size of the file sent
- */
- public abstract void onResponse(int correlationId, RPCResponse response, long totalSize);
-
- /**
- * onUpdate is called during a putfile stream request
- * @param correlationId of the original request
- * @param bytesWritten the amount of bytes that have been written so far
- * @param totalSize total size of the file that is being sent
- */
- public void onUpdate(int correlationId, long bytesWritten, long totalSize){
-
- };
-
- public final void setTotalSize(long totalSize){
- this.totalSize = totalSize;
- }
-}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/listeners/OnRPCListener.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/listeners/OnRPCListener.java
index 85a32c02e..87f3968eb 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/listeners/OnRPCListener.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/listeners/OnRPCListener.java
@@ -44,10 +44,7 @@ public abstract class OnRPCListener {
* Generic listener type that will work for most RPCs
*/
public final static int UPDATE_LISTENER_TYPE_BASE_RPC = 0;
- /**
- * Listener type specific to putfile
- */
- public final static int UPDATE_LISTENER_TYPE_PUT_FILE = 1;
+
/**
* Listener type specific to sendRequests and sendSequentialRequests
*/
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/listeners/OnRPCResponseListener.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/listeners/OnRPCResponseListener.java
index 89b082326..e664b05e8 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/listeners/OnRPCResponseListener.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/listeners/OnRPCResponseListener.java
@@ -33,7 +33,6 @@ package com.smartdevicelink.proxy.rpc.listeners;
import com.smartdevicelink.proxy.RPCMessage;
import com.smartdevicelink.proxy.RPCResponse;
-import com.smartdevicelink.proxy.rpc.enums.Result;
public abstract class OnRPCResponseListener extends OnRPCListener {
@@ -68,22 +67,4 @@ public abstract class OnRPCResponseListener extends OnRPCListener {
* for a PutFile request, the message parameter should be cast to a PutFileResponse class.
*/
public abstract void onResponse(int correlationId, final RPCResponse response);
-
- /**
- * @deprecated This method has been deprecated in favor of just using the onResponse callback. In the next
- * version this method will be removed and all responses successful or not will be returned
- * through the onResponse method callback.
- *
- * Called when there was some sort of error during the original request.
- * @param correlationId
- * @param resultCode
- * @param info
- */
- @Deprecated
- public void onError(int correlationId, Result resultCode, String info){
-
- };
-
-
-
}
diff --git a/base/src/main/java/com/smartdevicelink/security/AbstractSdlSecurityBase.java b/base/src/main/java/com/smartdevicelink/security/AbstractSdlSecurityBase.java
index 3f1c54a6a..55e0fae2f 100644
--- a/base/src/main/java/com/smartdevicelink/security/AbstractSdlSecurityBase.java
+++ b/base/src/main/java/com/smartdevicelink/security/AbstractSdlSecurityBase.java
@@ -77,11 +77,11 @@ abstract class AbstractSdlSecurityBase {
session.onSecurityInitialized();
}
- public void handleSdlSession(SdlSession val) {
- if (val == null) return;
+ public void handleSdlSession(SdlSession sdlSession) {
+ if (sdlSession == null) return;
- setSessionId(val.getSessionId());
- setSdlSession(val);
+ setSessionId((byte)sdlSession.getSessionId());
+ setSdlSession(sdlSession);
}
private void setInitSuccess(boolean val) {
diff --git a/base/src/main/java/com/smartdevicelink/streaming/StreamPacketizer.java b/base/src/main/java/com/smartdevicelink/streaming/StreamPacketizer.java
deleted file mode 100644
index a031defec..000000000
--- a/base/src/main/java/com/smartdevicelink/streaming/StreamPacketizer.java
+++ /dev/null
@@ -1,300 +0,0 @@
-/*
- * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
- */
-package com.smartdevicelink.streaming;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.ByteBuffer;
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.LinkedBlockingQueue;
-
-import com.smartdevicelink.SdlConnection.SdlSession;
-import com.smartdevicelink.managers.CompletionListener;
-import com.smartdevicelink.protocol.ProtocolMessage;
-import com.smartdevicelink.protocol.enums.SessionType;
-import com.smartdevicelink.proxy.interfaces.IAudioStreamListener;
-import com.smartdevicelink.proxy.interfaces.IVideoStreamListener;
-import com.smartdevicelink.util.DebugTool;
-
-public class StreamPacketizer extends AbstractPacketizer implements IVideoStreamListener, IAudioStreamListener, Runnable{
-
- public final static String TAG = "StreamPacketizer";
-
- private Thread t = null;
-
-
- private final static int TLS_MAX_RECORD_SIZE = 16384;
- private final static int TLS_RECORD_HEADER_SIZE = 5;
- private final static int TLS_RECORD_MES_AUTH_CDE_SIZE = 32;
- private final static int TLS_MAX_RECORD_PADDING_SIZE = 256;
-
-
- private final static int BUFF_READ_SIZE = TLS_MAX_RECORD_SIZE - TLS_RECORD_HEADER_SIZE - TLS_RECORD_MES_AUTH_CDE_SIZE - TLS_MAX_RECORD_PADDING_SIZE;
-
- // Approximate size of data that mOutputQueue can hold in bytes.
- // By adding a buffer, we accept underlying transport being stuck for a short time. By setting
- // a limit of the buffer size, we avoid buffer overflows when underlying transport is too slow.
- private static final int MAX_QUEUE_SIZE = 256 * 1024;
-
- private Object mPauseLock;
- private boolean mPaused;
- private boolean isServiceProtected = false;
- private BlockingQueue<ByteBufferWithListener> mOutputQueue;
-
- public StreamPacketizer(IStreamListener streamListener, InputStream is, SessionType sType, byte rpcSessionID, SdlSession session) throws IOException {
- super(streamListener, is, sType, rpcSessionID, session);
- mPauseLock = new Object();
- mPaused = false;
- isServiceProtected = _session.isServiceProtected(_serviceType);
- if (bufferSize == 0) {
- // fail safe
- bufferSize = BUFF_READ_SIZE;
- }
- if(isServiceProtected){ //If our service is encrypted we can only use 1024 as the max buffer size.
- bufferSize = BUFF_READ_SIZE;
- buffer = new byte[bufferSize];
- }
- mOutputQueue = new LinkedBlockingQueue<ByteBufferWithListener>(MAX_QUEUE_SIZE / bufferSize);
- }
-
- public void start() throws IOException {
- if (t == null) {
- t = new Thread(this);
- t.start();
- }
- }
-
- public void stop() {
-
- if (t != null)
- {
- t.interrupt();
- t = null;
- }
-
- }
-
- public void run() {
- int length;
- try
- {
- while (t != null && !t.isInterrupted())
- {
- synchronized(mPauseLock)
- {
- while (mPaused)
- {
- try
- {
- mPauseLock.wait();
- }
- catch (InterruptedException e) {
- DebugTool.logError(TAG, "Streaming thread has been interrupted", e);
- }
- }
- }
-
- if (is != null) { // using InputStream interface
- length = is.read(buffer, 0, bufferSize);
-
- if (length >= 0) {
- ProtocolMessage pm = new ProtocolMessage();
- pm.setSessionID(_rpcSessionID);
- pm.setSessionType(_serviceType);
- pm.setFunctionID(0);
- pm.setCorrID(0);
- pm.setData(buffer, length);
- pm.setPayloadProtected(isServiceProtected);
-
- if (t != null && !t.isInterrupted()) {
- _streamListener.sendStreamPacket(pm);
- }
- }
- } else { // using sendFrame interface
- ByteBufferWithListener byteBufferWithListener;
- ByteBuffer frame;
- CompletionListener completionListener;
- try {
- byteBufferWithListener = mOutputQueue.take();
- frame = byteBufferWithListener.byteBuffer;
- completionListener = byteBufferWithListener.completionListener;
- } catch (InterruptedException e) {
- Thread.currentThread().interrupt();
- break;
- }
-
- while (frame.hasRemaining()) {
- int len = frame.remaining() > bufferSize ? bufferSize : frame.remaining();
-
- ProtocolMessage pm = new ProtocolMessage();
- pm.setSessionID(_rpcSessionID);
- pm.setSessionType(_serviceType);
- pm.setFunctionID(0);
- pm.setCorrID(0);
- pm.setData(frame.array(), frame.arrayOffset() + frame.position(), len);
- pm.setPayloadProtected(isServiceProtected);
-
- if (t != null && !t.isInterrupted()) {
- _streamListener.sendStreamPacket(pm);
- }
-
- frame.position(frame.position() + len);
- }
-
- if (!frame.hasRemaining() && completionListener != null){
- completionListener.onComplete(true);
- }
- }
- }
- } catch (IOException e)
- {
- e.printStackTrace();
- }
- finally
- {
- if(_session != null) {
- _session.endService(_serviceType,_rpcSessionID);
- }
-
-
- }
- }
-
- @Override
- public void pause() {
- synchronized (mPauseLock) {
- mPaused = true;
- }
- }
-
- @Override
- public void resume() {
- synchronized (mPauseLock) {
- mPaused = false;
- mPauseLock.notifyAll();
- }
- }
-
- /**
- * Called by the app.
- *
- * @see IVideoStreamListener#sendFrame(byte[], int, int, long)
- */
- @Override
- public void sendFrame(byte[] data, int offset, int length, long presentationTimeUs)
- throws ArrayIndexOutOfBoundsException {
- sendArrayData(data, offset, length);
- }
-
- /**
- * Called by the app.
- *
- * @see IVideoStreamListener#sendFrame(ByteBuffer, long)
- */
- @Override
- public void sendFrame(ByteBuffer data, long presentationTimeUs) {
- sendByteBufferData(data, null);
- }
-
- /**
- * Called by the app.
- *
- * @see IAudioStreamListener#sendAudio(byte[], int, int, long)
- */
- @Override
- public void sendAudio(byte[] data, int offset, int length, long presentationTimeUs)
- throws ArrayIndexOutOfBoundsException {
- sendArrayData(data, offset, length);
- }
-
- /**
- * Called by the app.
- *
- * @see IAudioStreamListener#sendAudio(ByteBuffer, long)
- */
- @Deprecated
- @Override
- public void sendAudio(ByteBuffer data, long presentationTimeUs) {
- sendByteBufferData(data, null);
- }
-
- @Override
- public void sendAudio(ByteBuffer data, long presentationTimeUs, CompletionListener completionListener) {
- sendByteBufferData(data, completionListener);
- }
-
- private void sendArrayData(byte[] data, int offset, int length)
- throws ArrayIndexOutOfBoundsException {
- if (offset < 0 || offset > data.length || length <= 0 || offset + length > data.length) {
- throw new ArrayIndexOutOfBoundsException();
- }
-
- // StreamPacketizer does not need to split a video frame into NAL units
- ByteBuffer buffer = ByteBuffer.allocate(length);
- buffer.put(data, offset, length);
- buffer.flip();
-
- try {
- mOutputQueue.put(new ByteBufferWithListener(buffer, null));
- } catch (InterruptedException e) {
- Thread.currentThread().interrupt();
- }
- }
-
- private void sendByteBufferData(ByteBuffer data, CompletionListener completionListener) {
- if (data == null || data.remaining() == 0) {
- return;
- }
-
- // copy the whole buffer, so that even if the app modifies original ByteBuffer after
- // sendFrame() or sendAudio() call, our buffer will stay intact
- ByteBuffer buffer = ByteBuffer.allocate(data.remaining());
- buffer.put(data);
- buffer.flip();
-
- try {
- mOutputQueue.put(new ByteBufferWithListener(buffer, completionListener));
- } catch (InterruptedException e) {
- Thread.currentThread().interrupt();
- }
- }
-
-
- private class ByteBufferWithListener{
- ByteBuffer byteBuffer;
- CompletionListener completionListener;
- ByteBufferWithListener (ByteBuffer byteBuffer, CompletionListener completionListener){
- this.byteBuffer = byteBuffer;
- this.completionListener = completionListener;
- }
- }
-}
diff --git a/base/src/main/java/com/smartdevicelink/streaming/video/RTPH264Packetizer.java b/base/src/main/java/com/smartdevicelink/streaming/video/RTPH264Packetizer.java
index 2da7b5133..9236be7a9 100644
--- a/base/src/main/java/com/smartdevicelink/streaming/video/RTPH264Packetizer.java
+++ b/base/src/main/java/com/smartdevicelink/streaming/video/RTPH264Packetizer.java
@@ -246,7 +246,7 @@ public class RTPH264Packetizer extends AbstractPacketizer implements IVideoStrea
// XXX: This is added to sync with StreamPacketizer. Actually it shouldn't be here since
// it's confusing that a packetizer takes care of End Service request.
if (_session != null) {
- _session.endService(_serviceType, _rpcSessionID);
+ _session.endService(_serviceType);
}
}
diff --git a/base/src/main/java/com/smartdevicelink/trace/SdlTrace.java b/base/src/main/java/com/smartdevicelink/trace/SdlTraceBase.java
index 4e654603b..bbddd6453 100644
--- a/base/src/main/java/com/smartdevicelink/trace/SdlTrace.java
+++ b/base/src/main/java/com/smartdevicelink/trace/SdlTraceBase.java
@@ -1,452 +1,444 @@
-/*
- * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
- */
-package com.smartdevicelink.trace;
-
-
-
-import com.smartdevicelink.protocol.SdlPacket;
-import com.smartdevicelink.protocol.enums.FrameDataControlFrameType;
-import com.smartdevicelink.protocol.enums.FrameType;
-import com.smartdevicelink.protocol.enums.SessionType;
-import com.smartdevicelink.proxy.RPCMessage;
-import com.smartdevicelink.proxy.RPCRequest;
-import com.smartdevicelink.proxy.RPCResponse;
-import com.smartdevicelink.trace.enums.DetailLevel;
-import com.smartdevicelink.trace.enums.InterfaceActivityDirection;
-import com.smartdevicelink.trace.enums.Mod;
-import com.smartdevicelink.transport.SiphonServer;
-import com.smartdevicelink.util.BitConverter;
-import com.smartdevicelink.util.DebugTool;
-import com.smartdevicelink.util.NativeLogTool;
-
-/* This class handles the global TraceSettings as requested by the users either through the combination of the following
- 1. System defaults
- 2. Application XML config
- 3. Programmatic requests from application itself
-
- It is manifested in the <SmartDeviceLink>...</SmartDeviceLink> tags
- */
-
-//@SuppressLint("DefaultLocale")
-public class SdlTrace {
- private static final String SDL_LIB_TRACE_KEY = "42baba60-eb57-11df-98cf-0800200c9a66";
-
- public static final String SYSTEM_LOG_TAG = "SdlTrace";
-
- private static long baseTics = System.currentTimeMillis();
- private static boolean acceptAPITraceAdjustments = true;
-
- protected static ISTListener m_appTraceListener = null;
-
- ///
- /// The PUBLIC interface to SdlTrace starts here
- ///
-
-
- public static void setAcceptAPITraceAdjustments(Boolean APITraceAdjustmentsAccepted) {
- if (APITraceAdjustmentsAccepted != null) {
- acceptAPITraceAdjustments = APITraceAdjustmentsAccepted;
- }
- }
-
- public static boolean getAcceptAPITraceAdjustments() {
- return acceptAPITraceAdjustments;
- }
-
- public static void setAppTraceListener(ISTListener listener) {
- m_appTraceListener = listener;
- } // end-method
-
- public static void setAppTraceLevel(DetailLevel dt) {
- if ( dt != null && acceptAPITraceAdjustments)
- DiagLevel.setLevel(Mod.app, dt);
- } // end-method
-
- public static void setProxyTraceLevel(DetailLevel dt) {
- if (dt != null && acceptAPITraceAdjustments)
- DiagLevel.setLevel(Mod.proxy, dt);
- } // end-method
-
- public static void setRpcTraceLevel(DetailLevel dt) {
- if (dt != null && acceptAPITraceAdjustments)
- DiagLevel.setLevel(Mod.rpc, dt);
- } // end-method
-
- public static void setMarshallingTraceLevel(DetailLevel dt) {
- if (dt != null && acceptAPITraceAdjustments)
- DiagLevel.setLevel(Mod.mar, dt);
- } // end-method
-
- public static void setProtocolTraceLevel(DetailLevel dt) {
- if (dt != null && acceptAPITraceAdjustments)
- DiagLevel.setLevel(Mod.proto, dt);
- } // end-method
-
- public static void setTransportTraceLevel(DetailLevel dt) {
- if (dt != null && acceptAPITraceAdjustments)
- DiagLevel.setLevel(Mod.tran, dt);
- } // end-method
-
- private static String getPid(){
- //Default implementation is not able to get this information
- return "UNKNOWN";
- }
-
- private static String encodeTraceMessage(long timestamp, Mod module, InterfaceActivityDirection msgDirection, String msgBodyXml) {
- StringBuilder sb = new StringBuilder("<msg><dms>");
- sb.append(timestamp);
- sb.append("</dms><pid>");
- sb.append(getPid());
- sb.append("</pid><tid>");
- sb.append(Thread.currentThread().getId());
- sb.append("</tid><mod>");
- sb.append(module.toString());
- sb.append("</mod>");
- if (msgDirection != InterfaceActivityDirection.None) {
- sb.append("<dir>");
- sb.append(interfaceActivityDirectionToString(msgDirection));
- sb.append("</dir>");
- } // end-if
- sb.append(msgBodyXml);
- sb.append("</msg>");
-
- return sb.toString();
- } // end-method
-
- private static String interfaceActivityDirectionToString(InterfaceActivityDirection iaDirection) {
- String str = "";
- switch (iaDirection) {
- case Receive:
- str = "rx";
- break;
- case Transmit:
- str = "tx";
- break;
- default:
- break;
- } // end-switch
- return str;
- } // end-method
-
- static String B64EncodeForXML(String data) {
- return Mime.base64Encode(data);
- // Base64 only available in 2.2, when SmartDeviceLink base is 2.2 use: return Base64.encodeToString(data.getBytes(), Base64.DEFAULT);
- } // end-method
-
- public static boolean logProxyEvent(String eventText, String token) {
- if (DiagLevel.getLevel(Mod.proxy) == DetailLevel.OFF || !token.equals(SDL_LIB_TRACE_KEY)) {
- return false;
- }
-
- String msg = SdlTrace.B64EncodeForXML(eventText);
- String xml = SdlTrace.encodeTraceMessage(SdlTrace.getBaseTicsDelta(), Mod.proxy, InterfaceActivityDirection.None, "<d>" + msg + "</d>");
- return writeXmlTraceMessage(xml);
- }
-
- public static boolean logAppEvent(String eventText) {
- if (DiagLevel.getLevel(Mod.app) == DetailLevel.OFF) {
- return false;
- }
-
- long timestamp = SdlTrace.getBaseTicsDelta();
- String msg = SdlTrace.B64EncodeForXML(eventText);
- String xml = SdlTrace.encodeTraceMessage(timestamp, Mod.app, InterfaceActivityDirection.None, "<d>" + msg + "</d>");
- return writeXmlTraceMessage(xml);
- }
-
- public static boolean logRPCEvent(InterfaceActivityDirection msgDirection, RPCMessage rpcMsg, String token) {
- DetailLevel dl = DiagLevel.getLevel(Mod.rpc);
- if (dl == DetailLevel.OFF || !token.equals(SDL_LIB_TRACE_KEY)) {
- return false;
- }
-
- long timestamp = SdlTrace.getBaseTicsDelta();
- String xml = SdlTrace.encodeTraceMessage(timestamp, Mod.rpc, msgDirection, rpc2Xml(dl, rpcMsg));
- return writeXmlTraceMessage(xml);
- }
-
- private static String rpc2Xml(DetailLevel dl, RPCMessage rpcMsg) {
- StringBuilder rpcAsXml = new StringBuilder();
- rpcAsXml.append("<op>");
- rpcAsXml.append(rpcMsg.getFunctionName());
- rpcAsXml.append("</op>");
- boolean hasCorrelationID = false;
- Integer correlationID = -1;
- if (rpcMsg instanceof RPCRequest) {
- hasCorrelationID = true;
- correlationID = ((RPCRequest)rpcMsg).getCorrelationID();
- } else if (rpcMsg instanceof RPCResponse) {
- hasCorrelationID = true;
- correlationID = ((RPCResponse)rpcMsg).getCorrelationID();
- } // end-if
- if (hasCorrelationID) {
- rpcAsXml.append("<cid>");
- rpcAsXml.append(correlationID);
- rpcAsXml.append("</cid>");
- } // end-if
- rpcAsXml.append("<type>");
- rpcAsXml.append(rpcMsg.getMessageType());
- rpcAsXml.append("</type>");
- //rpcAsXml.append(newline);
-
- if (dl == DetailLevel.VERBOSE) {
- OpenRPCMessage orpcmsg = new OpenRPCMessage(rpcMsg);
- String rpcParamList = orpcmsg.msgDump();
- String msg = SdlTrace.B64EncodeForXML(rpcParamList);
- rpcAsXml.append("<d>");
- rpcAsXml.append(msg);
- rpcAsXml.append("</d>");
- } // end-if
- return rpcAsXml.toString();
- } // end-method
-
- public static boolean logMarshallingEvent(InterfaceActivityDirection msgDirection, byte[] marshalledMessage, String token) {
- DetailLevel dl = DiagLevel.getLevel(Mod.mar);
- if (dl == DetailLevel.OFF || !token.equals(SDL_LIB_TRACE_KEY)) {
- return false;
- }
-
- long timestamp = SdlTrace.getBaseTicsDelta();
- StringBuilder msg = new StringBuilder();
- msg.append("<sz>");
- msg.append(marshalledMessage.length);
- msg.append("</sz>");
- if (dl == DetailLevel.VERBOSE) {
- msg.append("<d>");
- msg.append(Mime.base64Encode(marshalledMessage));
- // Base64 only available in 2.2, when SmartDeviceLink base is 2.2 use: msg.append(Base64.encodeToString(marshalledMessage, Base64.DEFAULT));
- msg.append("</d>");
- }
- String xml = SdlTrace.encodeTraceMessage(timestamp, Mod.mar, msgDirection, msg.toString());
- return writeXmlTraceMessage(xml);
- }
-
- public static boolean logProtocolEvent(InterfaceActivityDirection frameDirection, SdlPacket packet, int frameDataOffset, int frameDataLength, String token) {
- DetailLevel dl = DiagLevel.getLevel(Mod.proto);
- if (dl == DetailLevel.OFF || !token.equals(SDL_LIB_TRACE_KEY)) {
- return false;
- }
-
- StringBuffer protoMsg = new StringBuffer();
- protoMsg.append("<frame>");
- protoMsg.append(SdlTrace.getProtocolFrameHeaderInfo(packet));
- if (dl == DetailLevel.VERBOSE) {
- if (packet.getPayload() != null && frameDataLength > 0) {
- protoMsg.append("<d>");
- String bytesInfo = "";
- bytesInfo = Mime.base64Encode(packet.getPayload(), frameDataOffset, frameDataLength);
- // Base64 only available in 2.2, when SmartDeviceLink base is 2.2 use: bytesInfo = Base64.encodeToString(frameData, frameDataOffset, frameDataLength, Base64.DEFAULT);
- protoMsg.append(bytesInfo);
- protoMsg.append("</d>");
- }
- }
- protoMsg.append("</frame>");
- String xml = SdlTrace.encodeTraceMessage(SdlTrace.getBaseTicsDelta(), Mod.proto, frameDirection, protoMsg.toString());
- return writeXmlTraceMessage(xml);
- }
-
- private static String getProtocolFrameType(FrameType f) {
- if (f == FrameType.Control)
- return "Control";
- else if (f == FrameType.Consecutive)
- return "Consecutive";
- else if (f == FrameType.First)
- return "First";
- else if (f == FrameType.Single)
- return "Single";
-
- return "Unknown";
- } // end-method
-
- private static String getProtocolSessionType(SessionType serviceType) {
- String s;
- if (serviceType == SessionType.RPC )
- s = "rpc";
- else if (serviceType == SessionType.BULK_DATA)
- s = "bulk";
- else
- s = "Unknown";
- return s;
- } // end-method
-
- private static String getProtocolFrameHeaderInfo(SdlPacket hdr) {
- StringBuilder sb = new StringBuilder();
- sb.append("<hdr>");
- sb.append("<ver>");
- sb.append(hdr.getVersion());
- sb.append("</ver><cmp>");
- sb.append(hdr.isEncrypted());
- sb.append("</cmp><ft>");
- sb.append(getProtocolFrameType(hdr.getFrameType()));
- sb.append("</ft><st>");
- sb.append(getProtocolSessionType(SessionType.valueOf((byte)hdr.getServiceType())));
- sb.append("</st><sid>");
- sb.append(hdr.getSessionId());
- sb.append("</sid><sz>");
- sb.append(hdr.getDataSize());
- sb.append("</sz>");
-
- int frameData = hdr.getFrameInfo();
- if (hdr.getFrameType() == FrameType.Control) {
- sb.append("<ca>");
- if (frameData == FrameDataControlFrameType.StartSession.getValue())
- sb.append("StartSession");
- else if (frameData == FrameDataControlFrameType.StartSessionACK.getValue())
- sb.append("StartSessionACK");
- else if (frameData == FrameDataControlFrameType.StartSessionNACK.getValue())
- sb.append("StartSessionNACK");
- else if (frameData == FrameDataControlFrameType.EndSession.getValue())
- sb.append("EndSession");
- sb.append("</ca>");
- } else if (hdr.getFrameType() == FrameType.Consecutive ) {
- sb.append("<fsn>");
- if (frameData == 0 )
- sb.append("lastFrame");
- else
- sb.append(String.format("%02X",frameData));
- sb.append("</fsn>");
- } else if (hdr.getFrameType() == FrameType.First ) {
- int totalSize = BitConverter.intFromByteArray(hdr.getPayload(), 0);
- int numFrames = BitConverter.intFromByteArray(hdr.getPayload(), 4);
- sb.append("<total>" + totalSize + "</total><numframes>" + numFrames + "</numframes>");
- } else if (hdr.getFrameType() == FrameType.Single ) {
- sb.append("<single/>");
- }
-
- sb.append("</hdr>");
-
- return sb.toString();
- } // end-method
-
- public static boolean logTransportEvent(String preamble, String transportSpecificInfoXml, InterfaceActivityDirection msgDirection, byte buf[], int byteLength, String token) {
- return logTransportEvent(preamble, transportSpecificInfoXml, msgDirection, buf, 0, byteLength, token);
- }
-
- private static void checkB64(String x, byte[] buf, int offset, int byteLength) {
- if ((x.length() % 4) != 0) {
- NativeLogTool.logWarning(SdlTrace.SYSTEM_LOG_TAG, "b64 string length (" + x.length() + ") isn't multiple of 4: buf.length=" + buf.length + ", offset=" + offset + ", len=" + byteLength);
- } // end-if
- } // end-method
-
- public static boolean logTransportEvent(String preamble, String transportSpecificInfoXml, InterfaceActivityDirection msgDirection, byte buf[], int offset, int byteLength, String token) {
- if (DiagLevel.getLevel(Mod.tran) == DetailLevel.OFF || !token.equals(SDL_LIB_TRACE_KEY)) {
- return false;
- }
-
- StringBuilder msg = new StringBuilder();
- if (transportSpecificInfoXml != null && transportSpecificInfoXml.length() > 0) {
- msg.append(transportSpecificInfoXml);
- }
- if (preamble != null && preamble.length() > 0) {
- msg.append("<desc>");
- msg.append(preamble);
- msg.append("</desc>");
- }
- if (buf != null) {
- msg.append("<sz>");
- msg.append(byteLength);
- msg.append("</sz>");
- DetailLevel dl = DiagLevel.getLevel(Mod.tran);
- if (dl == DetailLevel.VERBOSE) {
- if (buf != null && byteLength > 0) {
- msg.append("<d>");
- String bytesInfo = Mime.base64Encode(buf, offset, byteLength);
- checkB64(bytesInfo, buf, offset, byteLength);
- msg.append(bytesInfo);
- msg.append("</d>");
- }
- }
- }
- String xml = SdlTrace.encodeTraceMessage(SdlTrace.getBaseTicsDelta(), Mod.tran, msgDirection, msg.toString());
- return writeXmlTraceMessage(xml);
- }
-
- // Package-scoped
- static long getBaseTicsDelta() {
- return System.currentTimeMillis() - getBaseTics();
- }
-
- // Package-scoped
- static long getBaseTics() {
- return baseTics;
- } // end-method
-
- public static Boolean writeMessageToSiphonServer(String info) {
- return SiphonServer.sendFormattedTraceMessage(info);
- }
-
- private static boolean writeXmlTraceMessage(String msg) {
- try {
- // Attempt to write formatted message to the Siphon
- if (false == writeMessageToSiphonServer(msg)) {
- // If writing to the Siphon fails, write to the native log
- NativeLogTool.logInfo(SdlTrace.SYSTEM_LOG_TAG, msg);
- return false;
- }
-
- ISTListener localTraceListener = m_appTraceListener;
-
- if (localTraceListener != null) {
- try {
- localTraceListener.logXmlMsg(msg, SDL_LIB_TRACE_KEY);
- } catch (Exception ex) {
- DebugTool.logError(SYSTEM_LOG_TAG,"Failure calling ISTListener: " + ex.toString(), ex);
- return false;
- }
- }
- } catch (Exception ex) {
- NativeLogTool.logError(SdlTrace.SYSTEM_LOG_TAG, "Failure writing XML trace message: " + ex.toString());
- return false;
- }
- return true;
- }
-
-
-
-
- private static String getSmartDeviceLinkTraceRoot(String dumpReason, int seqNo) {
- StringBuilder write = new StringBuilder("<SmartDeviceLinktraceroot>" + "<sequencenum>" + seqNo
- + "</sequencenum>" + "<dumpreason>" + dumpReason
- + "</dumpreason><tracelevel>");
-
- write.append("<tran>" + DiagLevel.getLevel(Mod.tran) + "</tran>");
- write.append("<proto>" + DiagLevel.getLevel(Mod.proto) + "</proto>");
- write.append("<mar>" + DiagLevel.getLevel(Mod.mar) + "</mar>");
- write.append("<rpc>" + DiagLevel.getLevel(Mod.rpc) + "</rpc>");
- write.append("<proxy>" + DiagLevel.getLevel(Mod.proxy) + "</proxy>");
- write.append("<app>" + DiagLevel.getLevel(Mod.app) + "</app>");
-
- write.append("</tracelevel>");
- write.append("</SmartDeviceLinktraceroot>");
- return write.toString();
- } // end-method
+/*
+ * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, 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 of the SmartDeviceLink Consortium, Inc. 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.
+ */
+package com.smartdevicelink.trace;
+
+import com.smartdevicelink.protocol.SdlPacket;
+import com.smartdevicelink.protocol.enums.FrameDataControlFrameType;
+import com.smartdevicelink.protocol.enums.FrameType;
+import com.smartdevicelink.protocol.enums.SessionType;
+import com.smartdevicelink.proxy.RPCMessage;
+import com.smartdevicelink.proxy.RPCRequest;
+import com.smartdevicelink.proxy.RPCResponse;
+import com.smartdevicelink.trace.enums.DetailLevel;
+import com.smartdevicelink.trace.enums.InterfaceActivityDirection;
+import com.smartdevicelink.trace.enums.Mod;
+import com.smartdevicelink.transport.SiphonServer;
+import com.smartdevicelink.util.BitConverter;
+import com.smartdevicelink.util.DebugTool;
+import com.smartdevicelink.util.NativeLogTool;
+
+/* This class handles the global TraceSettings as requested by the users either through the combination of the following
+ 1. System defaults
+ 2. Application XML config
+ 3. Programmatic requests from application itself
+
+ It is manifested in the <SmartDeviceLink>...</SmartDeviceLink> tags
+ */
+
+class SdlTraceBase {
+ private static final String SDL_LIB_TRACE_KEY = "42baba60-eb57-11df-98cf-0800200c9a66";
+
+ public static final String SYSTEM_LOG_TAG = "SdlTrace";
+
+ private static long baseTics = java.lang.System.currentTimeMillis();
+ private static boolean acceptAPITraceAdjustments = true;
+
+ protected static ISTListener m_appTraceListener = null;
+
+ ///
+ /// The PUBLIC interface to SdlTrace starts here
+ ///
+
+ public static void setAcceptAPITraceAdjustments(Boolean APITraceAdjustmentsAccepted) {
+ if (APITraceAdjustmentsAccepted != null) {
+ acceptAPITraceAdjustments = APITraceAdjustmentsAccepted;
+ }
+ }
+
+ public static boolean getAcceptAPITraceAdjustments() {
+ return acceptAPITraceAdjustments;
+ }
+
+ public static void setAppTraceListener(ISTListener listener) {
+ m_appTraceListener = listener;
+ } // end-method
+
+ public static void setAppTraceLevel(DetailLevel dt) {
+ if ( dt != null && acceptAPITraceAdjustments)
+ DiagLevel.setLevel(Mod.app, dt);
+ } // end-method
+
+ public static void setProxyTraceLevel(DetailLevel dt) {
+ if (dt != null && acceptAPITraceAdjustments)
+ DiagLevel.setLevel(Mod.proxy, dt);
+ } // end-method
+
+ public static void setRpcTraceLevel(DetailLevel dt) {
+ if (dt != null && acceptAPITraceAdjustments)
+ DiagLevel.setLevel(Mod.rpc, dt);
+ } // end-method
+
+ public static void setMarshallingTraceLevel(DetailLevel dt) {
+ if (dt != null && acceptAPITraceAdjustments)
+ DiagLevel.setLevel(Mod.mar, dt);
+ } // end-method
+
+ public static void setProtocolTraceLevel(DetailLevel dt) {
+ if (dt != null && acceptAPITraceAdjustments)
+ DiagLevel.setLevel(Mod.proto, dt);
+ } // end-method
+
+ public static void setTransportTraceLevel(DetailLevel dt) {
+ if (dt != null && acceptAPITraceAdjustments)
+ DiagLevel.setLevel(Mod.tran, dt);
+ } // end-method
+
+ private static String getPid() {
+ return "UNKNOWN";
+ }
+
+ private static String encodeTraceMessage(long timestamp, Mod module, InterfaceActivityDirection msgDirection, String msgBodyXml) {
+ StringBuilder sb = new StringBuilder("<msg><dms>");
+ sb.append(timestamp);
+ sb.append("</dms><pid>");
+ sb.append(getPid());
+ sb.append("</pid><tid>");
+ sb.append(Thread.currentThread().getId());
+ sb.append("</tid><mod>");
+ sb.append(module.toString());
+ sb.append("</mod>");
+ if (msgDirection != InterfaceActivityDirection.None) {
+ sb.append("<dir>");
+ sb.append(interfaceActivityDirectionToString(msgDirection));
+ sb.append("</dir>");
+ } // end-if
+ sb.append(msgBodyXml);
+ sb.append("</msg>");
+
+ return sb.toString();
+ } // end-method
+
+ private static String interfaceActivityDirectionToString(InterfaceActivityDirection iaDirection) {
+ String str = "";
+ switch (iaDirection) {
+ case Receive:
+ str = "rx";
+ break;
+ case Transmit:
+ str = "tx";
+ break;
+ default:
+ break;
+ } // end-switch
+ return str;
+ } // end-method
+
+ static String B64EncodeForXML(String data) {
+ return Mime.base64Encode(data);
+ // Base64 only available in 2.2, when SmartDeviceLink base is 2.2 use: return Base64.encodeToString(data.getBytes(), Base64.DEFAULT);
+ } // end-method
+
+ public static boolean logProxyEvent(String eventText, String token) {
+ if (DiagLevel.getLevel(Mod.proxy) == DetailLevel.OFF || !token.equals(SDL_LIB_TRACE_KEY)) {
+ return false;
+ }
+
+ String msg = SdlTrace.B64EncodeForXML(eventText);
+ String xml = SdlTraceBase.encodeTraceMessage(SdlTrace.getBaseTicsDelta(), Mod.proxy, InterfaceActivityDirection.None, "<d>" + msg + "</d>");
+ return writeXmlTraceMessage(xml);
+ }
+
+ public static boolean logAppEvent(String eventText) {
+ if (DiagLevel.getLevel(Mod.app) == DetailLevel.OFF) {
+ return false;
+ }
+
+ long timestamp = SdlTrace.getBaseTicsDelta();
+ String msg = SdlTrace.B64EncodeForXML(eventText);
+ String xml = SdlTraceBase.encodeTraceMessage(timestamp, Mod.app, InterfaceActivityDirection.None, "<d>" + msg + "</d>");
+ return writeXmlTraceMessage(xml);
+ }
+
+ public static boolean logRPCEvent(InterfaceActivityDirection msgDirection, RPCMessage rpcMsg, String token) {
+ DetailLevel dl = DiagLevel.getLevel(Mod.rpc);
+ if (dl == DetailLevel.OFF || !token.equals(SDL_LIB_TRACE_KEY)) {
+ return false;
+ }
+
+ long timestamp = SdlTrace.getBaseTicsDelta();
+ String xml = SdlTraceBase.encodeTraceMessage(timestamp, Mod.rpc, msgDirection, rpc2Xml(dl, rpcMsg));
+ return writeXmlTraceMessage(xml);
+ }
+
+ private static String rpc2Xml(DetailLevel dl, RPCMessage rpcMsg) {
+ StringBuilder rpcAsXml = new StringBuilder();
+ rpcAsXml.append("<op>");
+ rpcAsXml.append(rpcMsg.getFunctionName());
+ rpcAsXml.append("</op>");
+ boolean hasCorrelationID = false;
+ Integer correlationID = -1;
+ if (rpcMsg instanceof RPCRequest) {
+ hasCorrelationID = true;
+ correlationID = ((RPCRequest)rpcMsg).getCorrelationID();
+ } else if (rpcMsg instanceof RPCResponse) {
+ hasCorrelationID = true;
+ correlationID = ((RPCResponse)rpcMsg).getCorrelationID();
+ } // end-if
+ if (hasCorrelationID) {
+ rpcAsXml.append("<cid>");
+ rpcAsXml.append(correlationID);
+ rpcAsXml.append("</cid>");
+ } // end-if
+ rpcAsXml.append("<type>");
+ rpcAsXml.append(rpcMsg.getMessageType());
+ rpcAsXml.append("</type>");
+ //rpcAsXml.append(newline);
+
+ if (dl == DetailLevel.VERBOSE) {
+ OpenRPCMessage orpcmsg = new OpenRPCMessage(rpcMsg);
+ String rpcParamList = orpcmsg.msgDump();
+ String msg = SdlTrace.B64EncodeForXML(rpcParamList);
+ rpcAsXml.append("<d>");
+ rpcAsXml.append(msg);
+ rpcAsXml.append("</d>");
+ } // end-if
+ return rpcAsXml.toString();
+ } // end-method
+
+ public static boolean logMarshallingEvent(InterfaceActivityDirection msgDirection, byte[] marshalledMessage, String token) {
+ DetailLevel dl = DiagLevel.getLevel(Mod.mar);
+ if (dl == DetailLevel.OFF || !token.equals(SDL_LIB_TRACE_KEY)) {
+ return false;
+ }
+
+ long timestamp = SdlTrace.getBaseTicsDelta();
+ StringBuilder msg = new StringBuilder();
+ msg.append("<sz>");
+ msg.append(marshalledMessage.length);
+ msg.append("</sz>");
+ if (dl == DetailLevel.VERBOSE) {
+ msg.append("<d>");
+ msg.append(Mime.base64Encode(marshalledMessage));
+ // Base64 only available in 2.2, when SmartDeviceLink base is 2.2 use: msg.append(Base64.encodeToString(marshalledMessage, Base64.DEFAULT));
+ msg.append("</d>");
+ }
+ String xml = SdlTraceBase.encodeTraceMessage(timestamp, Mod.mar, msgDirection, msg.toString());
+ return writeXmlTraceMessage(xml);
+ }
+
+ public static boolean logProtocolEvent(InterfaceActivityDirection frameDirection, SdlPacket packet, int frameDataOffset, int frameDataLength, String token) {
+ DetailLevel dl = DiagLevel.getLevel(Mod.proto);
+ if (dl == DetailLevel.OFF || !token.equals(SDL_LIB_TRACE_KEY)) {
+ return false;
+ }
+
+ StringBuffer protoMsg = new StringBuffer();
+ protoMsg.append("<frame>");
+ protoMsg.append(SdlTraceBase.getProtocolFrameHeaderInfo(packet));
+ if (dl == DetailLevel.VERBOSE) {
+ if (packet.getPayload() != null && frameDataLength > 0) {
+ protoMsg.append("<d>");
+ String bytesInfo = "";
+ bytesInfo = Mime.base64Encode(packet.getPayload(), frameDataOffset, frameDataLength);
+ // Base64 only available in 2.2, when SmartDeviceLink base is 2.2 use: bytesInfo = Base64.encodeToString(frameData, frameDataOffset, frameDataLength, Base64.DEFAULT);
+ protoMsg.append(bytesInfo);
+ protoMsg.append("</d>");
+ }
+ }
+ protoMsg.append("</frame>");
+ String xml = SdlTraceBase.encodeTraceMessage(SdlTrace.getBaseTicsDelta(), Mod.proto, frameDirection, protoMsg.toString());
+ return writeXmlTraceMessage(xml);
+ }
+
+ private static String getProtocolFrameType(FrameType f) {
+ if (f == FrameType.Control)
+ return "Control";
+ else if (f == FrameType.Consecutive)
+ return "Consecutive";
+ else if (f == FrameType.First)
+ return "First";
+ else if (f == FrameType.Single)
+ return "Single";
+
+ return "Unknown";
+ } // end-method
+
+ private static String getProtocolSessionType(SessionType serviceType) {
+ String s;
+ if (serviceType == SessionType.RPC )
+ s = "rpc";
+ else if (serviceType == SessionType.BULK_DATA)
+ s = "bulk";
+ else
+ s = "Unknown";
+ return s;
+ } // end-method
+
+ private static String getProtocolFrameHeaderInfo(SdlPacket hdr) {
+ StringBuilder sb = new StringBuilder();
+ sb.append("<hdr>");
+ sb.append("<ver>");
+ sb.append(hdr.getVersion());
+ sb.append("</ver><cmp>");
+ sb.append(hdr.isEncrypted());
+ sb.append("</cmp><ft>");
+ sb.append(getProtocolFrameType(hdr.getFrameType()));
+ sb.append("</ft><st>");
+ sb.append(getProtocolSessionType(SessionType.valueOf((byte)hdr.getServiceType())));
+ sb.append("</st><sid>");
+ sb.append(hdr.getSessionId());
+ sb.append("</sid><sz>");
+ sb.append(hdr.getDataSize());
+ sb.append("</sz>");
+
+ int frameData = hdr.getFrameInfo();
+ if (hdr.getFrameType() == FrameType.Control) {
+ sb.append("<ca>");
+ if (frameData == FrameDataControlFrameType.StartSession.getValue())
+ sb.append("StartSession");
+ else if (frameData == FrameDataControlFrameType.StartSessionACK.getValue())
+ sb.append("StartSessionACK");
+ else if (frameData == FrameDataControlFrameType.StartSessionNACK.getValue())
+ sb.append("StartSessionNACK");
+ else if (frameData == FrameDataControlFrameType.EndSession.getValue())
+ sb.append("EndSession");
+ sb.append("</ca>");
+ } else if (hdr.getFrameType() == FrameType.Consecutive ) {
+ sb.append("<fsn>");
+ if (frameData == 0 )
+ sb.append("lastFrame");
+ else
+ sb.append(String.format("%02X",frameData));
+ sb.append("</fsn>");
+ } else if (hdr.getFrameType() == FrameType.First ) {
+ int totalSize = BitConverter.intFromByteArray(hdr.getPayload(), 0);
+ int numFrames = BitConverter.intFromByteArray(hdr.getPayload(), 4);
+ sb.append("<total>").append(totalSize).append("</total><numframes>").append(numFrames).append("</numframes>");
+ } else if (hdr.getFrameType() == FrameType.Single ) {
+ sb.append("<single/>");
+ }
+
+ sb.append("</hdr>");
+
+ return sb.toString();
+ } // end-method
+
+ public static boolean logTransportEvent(String preamble, String transportSpecificInfoXml, InterfaceActivityDirection msgDirection, byte buf[], int byteLength, String token) {
+ return logTransportEvent(preamble, transportSpecificInfoXml, msgDirection, buf, 0, byteLength, token);
+ }
+
+ private static void checkB64(String x, byte[] buf, int offset, int byteLength) {
+ if ((x.length() % 4) != 0) {
+ NativeLogTool.logWarning(SdlTrace.SYSTEM_LOG_TAG, "b64 string length (" + x.length() + ") isn't multiple of 4: buf.length=" + buf.length + ", offset=" + offset + ", len=" + byteLength);
+ } // end-if
+ } // end-method
+
+ public static boolean logTransportEvent(String preamble, String transportSpecificInfoXml, InterfaceActivityDirection msgDirection, byte buf[], int offset, int byteLength, String token) {
+ if (DiagLevel.getLevel(Mod.tran) == DetailLevel.OFF || !token.equals(SDL_LIB_TRACE_KEY)) {
+ return false;
+ }
+
+ StringBuilder msg = new StringBuilder();
+ if (transportSpecificInfoXml != null && transportSpecificInfoXml.length() > 0) {
+ msg.append(transportSpecificInfoXml);
+ }
+ if (preamble != null && preamble.length() > 0) {
+ msg.append("<desc>");
+ msg.append(preamble);
+ msg.append("</desc>");
+ }
+ if (buf != null) {
+ msg.append("<sz>");
+ msg.append(byteLength);
+ msg.append("</sz>");
+ DetailLevel dl = DiagLevel.getLevel(Mod.tran);
+ if (dl == DetailLevel.VERBOSE) {
+ if (buf != null && byteLength > 0) {
+ msg.append("<d>");
+ String bytesInfo = Mime.base64Encode(buf, offset, byteLength);
+ checkB64(bytesInfo, buf, offset, byteLength);
+ msg.append(bytesInfo);
+ msg.append("</d>");
+ }
+ }
+ }
+ String xml = SdlTraceBase.encodeTraceMessage(SdlTrace.getBaseTicsDelta(), Mod.tran, msgDirection, msg.toString());
+ return writeXmlTraceMessage(xml);
+ }
+
+ // Package-scoped
+ static long getBaseTicsDelta() {
+ return java.lang.System.currentTimeMillis() - getBaseTics();
+ }
+
+ // Package-scoped
+ static long getBaseTics() {
+ return baseTics;
+ } // end-method
+
+ public static Boolean writeMessageToSiphonServer(String info) {
+ return SiphonServer.sendFormattedTraceMessage(info);
+ }
+
+ private static boolean writeXmlTraceMessage(String msg) {
+ try {
+ // Attempt to write formatted message to the Siphon
+ if (false == writeMessageToSiphonServer(msg)) {
+ // If writing to the Siphon fails, write to the native log
+ NativeLogTool.logInfo(SdlTrace.SYSTEM_LOG_TAG, msg);
+ return false;
+ }
+
+ ISTListener localTraceListener = m_appTraceListener;
+
+ if (localTraceListener != null) {
+ try {
+ localTraceListener.logXmlMsg(msg, SDL_LIB_TRACE_KEY);
+ } catch (Exception ex) {
+ DebugTool.logError(SYSTEM_LOG_TAG, "Failure calling ISTListener: " + ex.toString(), ex);
+ return false;
+ }
+ }
+ } catch (Exception ex) {
+ NativeLogTool.logError(SdlTrace.SYSTEM_LOG_TAG, "Failure writing XML trace message: " + ex.toString());
+ return false;
+ }
+ return true;
+ }
+
+ static String getSmartDeviceLinkTraceRoot(String dumpReason, int seqNo) {
+ StringBuilder write = new StringBuilder("<SmartDeviceLinktraceroot>" + "<sequencenum>" + seqNo
+ + "</sequencenum>" + "<dumpreason>" + dumpReason
+ + "</dumpreason><tracelevel>");
+
+ write.append("<tran>").append(DiagLevel.getLevel(Mod.tran)).append("</tran>");
+ write.append("<proto>").append(DiagLevel.getLevel(Mod.proto)).append("</proto>");
+ write.append("<mar>").append(DiagLevel.getLevel(Mod.mar)).append("</mar>");
+ write.append("<rpc>").append(DiagLevel.getLevel(Mod.rpc)).append("</rpc>");
+ write.append("<proxy>").append(DiagLevel.getLevel(Mod.proxy)).append("</proxy>");
+ write.append("<app>").append(DiagLevel.getLevel(Mod.app)).append("</app>");
+
+ write.append("</tracelevel>");
+ write.append("</SmartDeviceLinktraceroot>");
+ return write.toString();
+ } // end-method
} // end-class \ No newline at end of file
diff --git a/base/src/main/java/com/smartdevicelink/util/FileUtls.java b/base/src/main/java/com/smartdevicelink/util/FileUtls.java
index 6c5e955eb..b9be1c761 100644
--- a/base/src/main/java/com/smartdevicelink/util/FileUtls.java
+++ b/base/src/main/java/com/smartdevicelink/util/FileUtls.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.util;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.io.ByteArrayOutputStream;
import java.io.File;
diff --git a/base/src/main/java/com/smartdevicelink/util/Version.java b/base/src/main/java/com/smartdevicelink/util/Version.java
index 497a46f9e..d25bcd6fe 100644
--- a/base/src/main/java/com/smartdevicelink/util/Version.java
+++ b/base/src/main/java/com/smartdevicelink/util/Version.java
@@ -32,7 +32,7 @@
package com.smartdevicelink.util;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.rpc.SdlMsgVersion;
diff --git a/baseAndroid/README.md b/baseAndroid/README.md
deleted file mode 100644
index 4a143e5f9..000000000
--- a/baseAndroid/README.md
+++ /dev/null
@@ -1,11 +0,0 @@
-## SmartDeviceLink BaseAndroid
-
-The Base Android folder symbolically links files used by the Android project that are in the Base folder.
-
-This folder does not need to be imported. Please refer to the installation instructions in the Android, JavaSE, or JavaEE README's.
-
-### Windows
-
-The original symbolic links were created for a Unix based operating system. If compiling with Windows the symbolic links will have to be created before compiling the SDL Android project. There is a gradle task added to the `build.gradle` file in the `sdl_android` project that contains a task called `buildWindowSymLinks`. Please note, this task and the supplied script require admin privileges and python to be installed to run. After running this task, Android Studio will recognize the new folder path as the `build.gradle` file contains the necessary conditional that will pick the correct source set to use.
-
-If you are not building the project with the supplied gradle files, you will need to point to the correct path based on the operating system in which you are building the project. \ No newline at end of file
diff --git a/baseAndroid/make_symbolic_links.py b/baseAndroid/make_symbolic_links.py
deleted file mode 100644
index 4be7cdeea..000000000
--- a/baseAndroid/make_symbolic_links.py
+++ /dev/null
@@ -1,69 +0,0 @@
-import os
-import pathlib
-from pathlib import Path
-import re
-
-
-def has_admin():
- if os.name == 'nt':
- try:
- # only windows users with admin privileges can read the C:\windows\temp
- temp = os.listdir(os.sep.join([os.environ.get('SystemRoot', 'C:\\windows'), 'temp']))
- except:
- return os.environ['USERNAME'],False
- else:
- return os.environ['USERNAME'],True
- else:
- if 'SUDO_USER' in os.environ and os.geteuid() == 0:
- return os.environ['SUDO_USER'],True
- else:
- return os.environ['USERNAME'],False
-
-
-print('Script Start')
-
-isAdmin = has_admin()
-print('Running As Admin - ', isAdmin[1])
-if not isAdmin[1]:
- print('Can\'t run without admin privileges')
- exit()
-
-pathlist = Path('src/').glob('**/*')
-# Delete the old directory
-os.system('echo y | rmdir windows /s')
-
-for path in pathlist:
- path_in_str = str(path)
- if os.path.isfile(path):
- # check if it's a link to a file or folder
- source_link_str = path_in_str
- source_link_str = '..\\base\\' + source_link_str
- # Remove the root folder for the actual link
- print(source_link_str)
-
- testDest = 'windows\\' + path_in_str
-
- directory = pathlib.Path(testDest).parent
- print(str(directory))
- prefixDir = (re.sub(r"\\+[^\\]*", r"\\..", str(directory))+'\\..\\')[8:] # 8 to remove windows/
- # Change all the directory paths into .. so that it will properly move up a folder.
-
- os.system('mkdir %s' % directory)
- os.system('icacls %s /grant Everyone:(f)' % directory)
-
- # Now we need to go through each destination directory and understand that's how many ../ we have to add
- if path_in_str.endswith('.java'):
- print('Java file link found')
-
- command = 'mklink "%s" "%s%s"' % (testDest, prefixDir, source_link_str)
- print('Performing command %s' % command)
- os.system(command)
- else:
- print('Directory link found')
- command = 'mklink /D "%s" "%s%s"' % (testDest, prefixDir, source_link_str)
- print('Performing command %s' % command)
- os.system(command)
-
-print('Script Ends')
-
-
diff --git a/baseAndroid/make_symlinks.lnk b/baseAndroid/make_symlinks.lnk
deleted file mode 100644
index 86e9d3e41..000000000
--- a/baseAndroid/make_symlinks.lnk
+++ /dev/null
Binary files differ
diff --git a/baseAndroid/run_as_admin_symlink_script.bat b/baseAndroid/run_as_admin_symlink_script.bat
deleted file mode 100644
index 439d7709f..000000000
--- a/baseAndroid/run_as_admin_symlink_script.bat
+++ /dev/null
@@ -1,4 +0,0 @@
-pushd %~dp0
-python make_symbolic_links.py
-popd
-pause \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/Dispatcher b/baseAndroid/src/main/java/com/smartdevicelink/Dispatcher
deleted file mode 120000
index 2af882be4..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/Dispatcher
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../base/src/main/java/com/smartdevicelink/Dispatcher/ \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/SdlConnection/BaseSdlSession.java b/baseAndroid/src/main/java/com/smartdevicelink/SdlConnection/BaseSdlSession.java
deleted file mode 120000
index 0bc868029..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/SdlConnection/BaseSdlSession.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/SdlConnection/BaseSdlSession.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/SdlConnection/ISdlConnectionListener.java b/baseAndroid/src/main/java/com/smartdevicelink/SdlConnection/ISdlConnectionListener.java
deleted file mode 120000
index 0e22d9dc9..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/SdlConnection/ISdlConnectionListener.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/SdlConnection/ISdlConnectionListener.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/exception b/baseAndroid/src/main/java/com/smartdevicelink/exception
deleted file mode 120000
index d5d048354..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/exception
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../base/src/main/java/com/smartdevicelink/exception/ \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/managers/BaseSdlManager.java b/baseAndroid/src/main/java/com/smartdevicelink/managers/BaseSdlManager.java
deleted file mode 120000
index bf45a3bf6..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/managers/BaseSdlManager.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/managers/BaseSdlManager.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/managers/BaseSdlManagerListener.java b/baseAndroid/src/main/java/com/smartdevicelink/managers/BaseSdlManagerListener.java
deleted file mode 120000
index 568044bfd..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/managers/BaseSdlManagerListener.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/managers/BaseSdlManagerListener.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/managers/BaseSubManager.java b/baseAndroid/src/main/java/com/smartdevicelink/managers/BaseSubManager.java
deleted file mode 120000
index f1f35fe92..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/managers/BaseSubManager.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/managers/BaseSubManager.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/managers/CompletionListener.java b/baseAndroid/src/main/java/com/smartdevicelink/managers/CompletionListener.java
deleted file mode 120000
index 1bd4fd70e..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/managers/CompletionListener.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/managers/CompletionListener.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/managers/ManagerUtility.java b/baseAndroid/src/main/java/com/smartdevicelink/managers/ManagerUtility.java
deleted file mode 120000
index 55d1ecb8b..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/managers/ManagerUtility.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/managers/ManagerUtility.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/managers/ServiceEncryptionListener.java b/baseAndroid/src/main/java/com/smartdevicelink/managers/ServiceEncryptionListener.java
deleted file mode 120000
index f35552f46..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/managers/ServiceEncryptionListener.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/managers/ServiceEncryptionListener.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/managers/StreamingStateMachine.java b/baseAndroid/src/main/java/com/smartdevicelink/managers/StreamingStateMachine.java
deleted file mode 120000
index 2d817807f..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/managers/StreamingStateMachine.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/managers/StreamingStateMachine.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/managers/audio b/baseAndroid/src/main/java/com/smartdevicelink/managers/audio
deleted file mode 120000
index 7d71d50ed..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/managers/audio
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/managers/audio/ \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/managers/file b/baseAndroid/src/main/java/com/smartdevicelink/managers/file
deleted file mode 120000
index 177a5823e..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/managers/file
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/managers/file \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/managers/lifecycle b/baseAndroid/src/main/java/com/smartdevicelink/managers/lifecycle
deleted file mode 120000
index d72cada51..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/managers/lifecycle
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/managers/lifecycle/ \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/managers/permission b/baseAndroid/src/main/java/com/smartdevicelink/managers/permission
deleted file mode 120000
index d18186971..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/managers/permission
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/managers/permission \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/managers/screen b/baseAndroid/src/main/java/com/smartdevicelink/managers/screen
deleted file mode 120000
index fbf226f8e..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/managers/screen
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/managers/screen \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/managers/video b/baseAndroid/src/main/java/com/smartdevicelink/managers/video
deleted file mode 120000
index de58416c9..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/managers/video
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/managers/video/ \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/marshal b/baseAndroid/src/main/java/com/smartdevicelink/marshal
deleted file mode 120000
index c86064e2f..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/marshal
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../base/src/main/java/com/smartdevicelink/marshal/ \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/protocol/BaseSdlPacket.java b/baseAndroid/src/main/java/com/smartdevicelink/protocol/BaseSdlPacket.java
deleted file mode 120000
index 2fec10c84..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/protocol/BaseSdlPacket.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/protocol/BaseSdlPacket.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/protocol/BinaryFrameHeader.java b/baseAndroid/src/main/java/com/smartdevicelink/protocol/BinaryFrameHeader.java
deleted file mode 120000
index c2b9f5a5d..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/protocol/BinaryFrameHeader.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/protocol/BinaryFrameHeader.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/protocol/IProtocolListener.java b/baseAndroid/src/main/java/com/smartdevicelink/protocol/IProtocolListener.java
deleted file mode 120000
index 05acb054b..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/protocol/IProtocolListener.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/protocol/IProtocolListener.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/protocol/ISdlProtocol.java b/baseAndroid/src/main/java/com/smartdevicelink/protocol/ISdlProtocol.java
deleted file mode 120000
index 37bba1630..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/protocol/ISdlProtocol.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/protocol/ISdlProtocol.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/protocol/ISecondaryTransportListener.java b/baseAndroid/src/main/java/com/smartdevicelink/protocol/ISecondaryTransportListener.java
deleted file mode 120000
index 92bbe53bf..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/protocol/ISecondaryTransportListener.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/protocol/ISecondaryTransportListener.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/protocol/ProtocolMessage.java b/baseAndroid/src/main/java/com/smartdevicelink/protocol/ProtocolMessage.java
deleted file mode 120000
index 530ee50b1..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/protocol/ProtocolMessage.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/protocol/ProtocolMessage.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/protocol/SdlPacketFactory.java b/baseAndroid/src/main/java/com/smartdevicelink/protocol/SdlPacketFactory.java
deleted file mode 120000
index aded79f74..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/protocol/SdlPacketFactory.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/protocol/SdlPacketFactory.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/protocol/SdlProtocolBase.java b/baseAndroid/src/main/java/com/smartdevicelink/protocol/SdlProtocolBase.java
deleted file mode 120000
index 12d9192e9..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/protocol/SdlProtocolBase.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/protocol/SdlProtocolBase.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/protocol/enums b/baseAndroid/src/main/java/com/smartdevicelink/protocol/enums
deleted file mode 120000
index e4adb738b..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/protocol/enums
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/protocol/enums \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/proxy/IProxyListener.java b/baseAndroid/src/main/java/com/smartdevicelink/proxy/IProxyListener.java
deleted file mode 120000
index e79a51ef6..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/proxy/IProxyListener.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/proxy/IProxyListener.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/proxy/RPCMessage.java b/baseAndroid/src/main/java/com/smartdevicelink/proxy/RPCMessage.java
deleted file mode 120000
index 97e44408d..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/proxy/RPCMessage.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/proxy/RPCMessage.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/proxy/RPCNotification.java b/baseAndroid/src/main/java/com/smartdevicelink/proxy/RPCNotification.java
deleted file mode 120000
index 8713d52e3..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/proxy/RPCNotification.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/proxy/RPCNotification.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/proxy/RPCRequest.java b/baseAndroid/src/main/java/com/smartdevicelink/proxy/RPCRequest.java
deleted file mode 120000
index c1e2f4a27..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/proxy/RPCRequest.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/proxy/RPCRequest.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/proxy/RPCResponse.java b/baseAndroid/src/main/java/com/smartdevicelink/proxy/RPCResponse.java
deleted file mode 120000
index afcfd9e15..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/proxy/RPCResponse.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/proxy/RPCResponse.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/proxy/RPCStruct.java b/baseAndroid/src/main/java/com/smartdevicelink/proxy/RPCStruct.java
deleted file mode 120000
index 683ec16a9..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/proxy/RPCStruct.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/proxy/RPCStruct.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/proxy/TTSChunkFactory.java b/baseAndroid/src/main/java/com/smartdevicelink/proxy/TTSChunkFactory.java
deleted file mode 120000
index ba944a202..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/proxy/TTSChunkFactory.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/proxy/TTSChunkFactory.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/proxy/callbacks b/baseAndroid/src/main/java/com/smartdevicelink/proxy/callbacks
deleted file mode 120000
index 74653ae9f..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/proxy/callbacks
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/proxy/callbacks/ \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/proxy/constants b/baseAndroid/src/main/java/com/smartdevicelink/proxy/constants
deleted file mode 120000
index ced1d41aa..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/proxy/constants
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/proxy/constants/ \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/IAudioStreamListener.java b/baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/IAudioStreamListener.java
deleted file mode 120000
index 02570d2f8..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/IAudioStreamListener.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../../base/src/main/java/com/smartdevicelink/proxy/interfaces/IAudioStreamListener.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/IProxyListenerALM.java b/baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/IProxyListenerALM.java
deleted file mode 120000
index cede25df1..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/IProxyListenerALM.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../../base/src/main/java/com/smartdevicelink/proxy/interfaces/IProxyListenerALM.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/IProxyListenerBase.java b/baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/IProxyListenerBase.java
deleted file mode 120000
index 32895d7fe..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/IProxyListenerBase.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../../base/src/main/java/com/smartdevicelink/proxy/interfaces/IProxyListenerBase.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/IPutFileResponseListener.java b/baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/IPutFileResponseListener.java
deleted file mode 120000
index 41112b9e7..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/IPutFileResponseListener.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../../base/src/main/java/com/smartdevicelink/proxy/interfaces/IPutFileResponseListener.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/ISdl.java b/baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/ISdl.java
deleted file mode 120000
index 9b79b4afc..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/ISdl.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../../base/src/main/java/com/smartdevicelink/proxy/interfaces/ISdl.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/ISdlServiceListener.java b/baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/ISdlServiceListener.java
deleted file mode 120000
index 87f717597..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/ISdlServiceListener.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../../base/src/main/java/com/smartdevicelink/proxy/interfaces/ISdlServiceListener.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/IVideoStreamListener.java b/baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/IVideoStreamListener.java
deleted file mode 120000
index c817900a3..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/proxy/interfaces/IVideoStreamListener.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../../base/src/main/java/com/smartdevicelink/proxy/interfaces/IVideoStreamListener.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/proxy/rpc b/baseAndroid/src/main/java/com/smartdevicelink/proxy/rpc
deleted file mode 120000
index 7f7d97664..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/proxy/rpc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/proxy/rpc \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/security b/baseAndroid/src/main/java/com/smartdevicelink/security
deleted file mode 120000
index 09e7051a4..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/security
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../base/src/main/java/com/smartdevicelink/security \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/streaming/AbstractPacketizer.java b/baseAndroid/src/main/java/com/smartdevicelink/streaming/AbstractPacketizer.java
deleted file mode 120000
index ce7fd47d9..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/streaming/AbstractPacketizer.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/streaming/AbstractPacketizer.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/streaming/IStreamListener.java b/baseAndroid/src/main/java/com/smartdevicelink/streaming/IStreamListener.java
deleted file mode 120000
index f703ac149..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/streaming/IStreamListener.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/streaming/IStreamListener.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/streaming/audio b/baseAndroid/src/main/java/com/smartdevicelink/streaming/audio
deleted file mode 120000
index b91099bd1..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/streaming/audio
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/streaming/audio/ \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/streaming/video/RTPH264Packetizer.java b/baseAndroid/src/main/java/com/smartdevicelink/streaming/video/RTPH264Packetizer.java
deleted file mode 120000
index 1eec0a104..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/streaming/video/RTPH264Packetizer.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../../base/src/main/java/com/smartdevicelink/streaming/video/RTPH264Packetizer.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/streaming/video/VideoStreamingParameters.java b/baseAndroid/src/main/java/com/smartdevicelink/streaming/video/VideoStreamingParameters.java
deleted file mode 120000
index 8b18e72b2..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/streaming/video/VideoStreamingParameters.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../../base/src/main/java/com/smartdevicelink/streaming/video/VideoStreamingParameters.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/trace/DiagLevel.java b/baseAndroid/src/main/java/com/smartdevicelink/trace/DiagLevel.java
deleted file mode 120000
index 1bc9b65d1..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/trace/DiagLevel.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/trace/DiagLevel.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/trace/ISTListener.java b/baseAndroid/src/main/java/com/smartdevicelink/trace/ISTListener.java
deleted file mode 120000
index 2ac262989..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/trace/ISTListener.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/trace/ISTListener.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/trace/Mime.java b/baseAndroid/src/main/java/com/smartdevicelink/trace/Mime.java
deleted file mode 120000
index 8dc93a328..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/trace/Mime.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/trace/Mime.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/trace/OpenRPCMessage.java b/baseAndroid/src/main/java/com/smartdevicelink/trace/OpenRPCMessage.java
deleted file mode 120000
index 8d7260eb5..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/trace/OpenRPCMessage.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/trace/OpenRPCMessage.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/trace/enums b/baseAndroid/src/main/java/com/smartdevicelink/trace/enums
deleted file mode 120000
index 6c0343907..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/trace/enums
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/trace/enums/ \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/transport/BaseTransportConfig.java b/baseAndroid/src/main/java/com/smartdevicelink/transport/BaseTransportConfig.java
deleted file mode 120000
index 92effaf36..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/transport/BaseTransportConfig.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/transport/BaseTransportConfig.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/transport/ITransportListener.java b/baseAndroid/src/main/java/com/smartdevicelink/transport/ITransportListener.java
deleted file mode 120000
index 587a7a3de..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/transport/ITransportListener.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/transport/ITransportListener.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/transport/SdlPsm.java b/baseAndroid/src/main/java/com/smartdevicelink/transport/SdlPsm.java
deleted file mode 120000
index 22d69d1cd..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/transport/SdlPsm.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/transport/SdlPsm.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/transport/SiphonServer.java b/baseAndroid/src/main/java/com/smartdevicelink/transport/SiphonServer.java
deleted file mode 120000
index b28f2965d..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/transport/SiphonServer.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/transport/SiphonServer.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/transport/TransportConstants.java b/baseAndroid/src/main/java/com/smartdevicelink/transport/TransportConstants.java
deleted file mode 120000
index 61f953de2..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/transport/TransportConstants.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/transport/TransportConstants.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/transport/TransportManagerBase.java b/baseAndroid/src/main/java/com/smartdevicelink/transport/TransportManagerBase.java
deleted file mode 120000
index f89613939..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/transport/TransportManagerBase.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/transport/TransportManagerBase.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/transport/enums b/baseAndroid/src/main/java/com/smartdevicelink/transport/enums
deleted file mode 120000
index c5b0467f6..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/transport/enums
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/transport/enums/ \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/transport/utl/BaseTransportRecord.java b/baseAndroid/src/main/java/com/smartdevicelink/transport/utl/BaseTransportRecord.java
deleted file mode 120000
index 067c6a17a..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/transport/utl/BaseTransportRecord.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../../base/src/main/java/com/smartdevicelink/transport/utl/BaseTransportRecord.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/util/BitConverter.java b/baseAndroid/src/main/java/com/smartdevicelink/util/BitConverter.java
deleted file mode 120000
index ace3985f9..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/util/BitConverter.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/util/BitConverter.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/util/ByteEnumer.java b/baseAndroid/src/main/java/com/smartdevicelink/util/ByteEnumer.java
deleted file mode 120000
index 8cc7d9ac8..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/util/ByteEnumer.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/util/ByteEnumer.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/util/CompareUtils.java b/baseAndroid/src/main/java/com/smartdevicelink/util/CompareUtils.java
deleted file mode 120000
index 9d331ba9c..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/util/CompareUtils.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/util/CompareUtils.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/util/CorrelationIdGenerator.java b/baseAndroid/src/main/java/com/smartdevicelink/util/CorrelationIdGenerator.java
deleted file mode 120000
index 4d9cfea49..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/util/CorrelationIdGenerator.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/util/CorrelationIdGenerator.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/util/DebugTool.java b/baseAndroid/src/main/java/com/smartdevicelink/util/DebugTool.java
deleted file mode 120000
index 2c9f91906..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/util/DebugTool.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/util/DebugTool.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/util/FileUtls.java b/baseAndroid/src/main/java/com/smartdevicelink/util/FileUtls.java
deleted file mode 120000
index 8eb2f22c2..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/util/FileUtls.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/util/FileUtls.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/util/IConsole.java b/baseAndroid/src/main/java/com/smartdevicelink/util/IConsole.java
deleted file mode 120000
index 2cf061029..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/util/IConsole.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/util/IConsole.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/util/NativeLogTool.java b/baseAndroid/src/main/java/com/smartdevicelink/util/NativeLogTool.java
deleted file mode 120000
index 3e1645508..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/util/NativeLogTool.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/util/NativeLogTool.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/util/SdlDataTypeConverter.java b/baseAndroid/src/main/java/com/smartdevicelink/util/SdlDataTypeConverter.java
deleted file mode 120000
index d44a2b6e0..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/util/SdlDataTypeConverter.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/util/SdlDataTypeConverter.java \ No newline at end of file
diff --git a/baseAndroid/src/main/java/com/smartdevicelink/util/Version.java b/baseAndroid/src/main/java/com/smartdevicelink/util/Version.java
deleted file mode 120000
index e21ea0440..000000000
--- a/baseAndroid/src/main/java/com/smartdevicelink/util/Version.java
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../base/src/main/java/com/smartdevicelink/util/Version.java \ No newline at end of file
diff --git a/generator/README.md b/generator/README.md
index ae3934d18..d87ec0a17 100644
--- a/generator/README.md
+++ b/generator/README.md
@@ -430,7 +430,7 @@ Where `[name]` is the value from the `"name"` attribute of `<struct>`.
### Constructor with all required parameters, based on `"mandatory"` attribute of the `<param>`
This constructor requires the import of `NonNull` annotation
```java
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
```
The constructor should include all set of `<param>` with the `"mandatory"` attribute is "true". JavaDoc should include all constructor parameters and the constructor should call all corresponding setters inside itself.
@@ -590,7 +590,7 @@ Output (javadoc comments skipped):
```java
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.TemperatureUnit;
@@ -768,7 +768,7 @@ Where `[name]` is the value from the `"name"` attribute of `<function>`.
### Constructor with all required parameters, based on `"mandatory"` attribute of the `<param>`
This constructor requires the import of `NonNull` annotation
```java
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
```
The constructor should include all set of `<param>` with the `"mandatory"` attribute is "true". JavaDoc should include all constructor parameters and the constructor should call all corresponding setters inside itself.
@@ -997,7 +997,7 @@ Output (javadoc comments skipped):
```java
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCResponse;
@@ -1039,7 +1039,7 @@ Output (javadoc comments skipped):
```java
package com.smartdevicelink.proxy.rpc;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCNotification;
diff --git a/generator/templates/base_template.java b/generator/templates/base_template.java
index 0f1d58c95..2cd4f450d 100644
--- a/generator/templates/base_template.java
+++ b/generator/templates/base_template.java
@@ -53,6 +53,7 @@ import {{i}};{{ '\n' if loop.last }}
* <th>Type</th>
* <th>Description</th>
* <th>Required</th>
+ * <th>Notes</th>
* <th>Version Available</th>
* </tr>
{%- for param in params %}
@@ -61,6 +62,7 @@ import {{i}};{{ '\n' if loop.last }}
* <td>{{param.return_type}}</td>
* <td>{%- for d in param.description %}{{d}}{%- endfor %}</td>
* <td>{%- if param.mandatory is eq true %}Y{%- else %}N{%- endif %}</td>
+ * <td>{%- for k in param.values %}{{ '{' if loop.first}}"{{k}}": {{param.values[k]}}{{ ', ' if not loop.last else '}'}}{%- endfor %}</td>
* <td>{%- if param.since is defined %}SmartDeviceLink {{param.since}}{%- endif %}</td>
* </tr>
{%- endfor %}
diff --git a/generator/templates/javadoc_return.java b/generator/templates/javadoc_return.java
index d2f4a3c54..e37a69b87 100644
--- a/generator/templates/javadoc_return.java
+++ b/generator/templates/javadoc_return.java
@@ -8,6 +8,9 @@
{%- else %}
* @return {{p.return_type}}
{%- endif %}
+ {%- if p.values is defined and p.values %}
+ * {%- for k in p.values %}{{ ' {' if loop.first}}"{{k}}": {{p.values[k]}}{{ ', ' if not loop.last else '}'}}{%- endfor %}
+ {%- endif %}
{%- if p.since is defined %}
* @since SmartDeviceLink {{p.since}}
{%- endif %} \ No newline at end of file
diff --git a/generator/templates/javadoc_template.java b/generator/templates/javadoc_template.java
index 5b5d3bc0c..93d4e7740 100644
--- a/generator/templates/javadoc_template.java
+++ b/generator/templates/javadoc_template.java
@@ -8,6 +8,9 @@
{%- else %}
* @param {{p.last}}
{%- endif %}
+ {%- if p.values is defined and p.values %}
+ * {%- for k in p.values %}{{ ' {' if loop.first}}"{{k}}": {{p.values[k]}}{{ ', ' if not loop.last else '}'}}{%- endfor %}
+ {%- endif %}
{%- if p.since is defined %}
* @since SmartDeviceLink {{p.since}}
{%- endif %} \ No newline at end of file
diff --git a/generator/transformers/common_producer.py b/generator/transformers/common_producer.py
index ceb4b3cec..ba8daf18e 100644
--- a/generator/transformers/common_producer.py
+++ b/generator/transformers/common_producer.py
@@ -5,7 +5,7 @@ Common transformation
import logging
import re
from abc import ABC
-from collections import namedtuple
+from collections import namedtuple, OrderedDict
from model.array import Array
from model.enum import Enum
@@ -79,6 +79,44 @@ class InterfaceProducerCommon(ABC):
return re.sub(r'(\s{2,}|\n|\[@TODO.+)', ' ', ''.join(d)).strip() if d else ''
@staticmethod
+ def extract_values(param):
+ p = OrderedDict()
+ if hasattr(param.param_type, 'min_size'):
+ p['array_min_size'] = param.param_type.min_size
+ if hasattr(param.param_type, 'max_size'):
+ p['array_max_size'] = param.param_type.max_size
+ if hasattr(param, 'default_value'):
+ if hasattr(param.default_value, 'name'):
+ p['default_value'] = param.default_value.name
+ else:
+ p['default_value'] = param.default_value
+ elif hasattr(param.param_type, 'default_value'):
+ if hasattr(param.param_type.default_value, 'name'):
+ p['default_value'] = param.param_type.default_value.name
+ else:
+ p['default_value'] = param.param_type.default_value
+ if hasattr(param.param_type, 'min_value'):
+ p['num_min_value'] = param.param_type.min_value
+ elif hasattr(param.param_type, 'element_type') and hasattr(param.param_type.element_type, 'min_value'):
+ p['num_min_value'] = param.param_type.element_type.min_value
+ if hasattr(param.param_type, 'max_value'):
+ p['num_max_value'] = param.param_type.max_value
+ elif hasattr(param.param_type, 'element_type') and hasattr(param.param_type.element_type, 'max_value'):
+ p['num_max_value'] = param.param_type.element_type.max_value
+ if hasattr(param.param_type, 'min_length'):
+ p['string_min_length'] = param.param_type.min_length
+ elif hasattr(param.param_type, 'element_type') and hasattr(param.param_type.element_type, 'min_length'):
+ p['string_min_length'] = param.param_type.element_type.min_length
+ if hasattr(param.param_type, 'max_length'):
+ p['string_max_length'] = param.param_type.max_length
+ elif hasattr(param.param_type, 'element_type') and hasattr(param.param_type.element_type, 'max_length'):
+ p['string_max_length'] = param.param_type.element_type.max_length
+
+ # Filter None values
+ filtered_values = {k: v for k, v in p.items() if v is not None}
+ return filtered_values
+
+ @staticmethod
def replace_sync(name):
"""
:param name: string with item name
diff --git a/generator/transformers/enums_producer.py b/generator/transformers/enums_producer.py
index a04046441..c876b3a52 100644
--- a/generator/transformers/enums_producer.py
+++ b/generator/transformers/enums_producer.py
@@ -73,7 +73,7 @@ class EnumsProducer(InterfaceProducerCommon):
return render
def extract_param(self, param: EnumElement, kind):
- d = {'origin': param.name, 'name': self.key(self.converted(param.name))}
+ d = {'origin': param.name, 'name': self.converted(param.name)}
if kind == 'custom':
d['internal'] = '"{}"'.format(param.name)
diff --git a/generator/transformers/functions_producer.py b/generator/transformers/functions_producer.py
index df8ab2936..c121de557 100644
--- a/generator/transformers/functions_producer.py
+++ b/generator/transformers/functions_producer.py
@@ -46,7 +46,7 @@ class FunctionsProducer(InterfaceProducerCommon):
if not class_name.endswith("Response"):
class_name += 'Response'
imports.add('com.smartdevicelink.proxy.rpc.enums.Result')
- imports.add('android.support.annotation.NonNull')
+ imports.add('androidx.annotation.NonNull')
elif item.message_type.name == 'request':
extends_class = self.request_class
elif item.message_type.name == 'notification':
@@ -87,9 +87,9 @@ class FunctionsProducer(InterfaceProducerCommon):
def sort_imports(self, imports: set):
sorted_imports = []
- if 'android.support.annotation.NonNull' in imports:
- sorted_imports.append('android.support.annotation.NonNull')
- imports.remove('android.support.annotation.NonNull')
+ if 'androidx.annotation.NonNull' in imports:
+ sorted_imports.append('androidx.annotation.NonNull')
+ imports.remove('androidx.annotation.NonNull')
sorted_imports.append('')
sorted_imports.append('com.smartdevicelink.protocol.enums.FunctionID')
imports.remove('com.smartdevicelink.protocol.enums.FunctionID')
@@ -119,6 +119,7 @@ class FunctionsProducer(InterfaceProducerCommon):
p['since'] = param.since
p['deprecated'] = param.deprecated
p['origin'] = param.origin
+ p['values'] = self.extract_values(param)
d = self.extract_description(param.description)
if param.name == 'success':
d = 'whether the request is successfully processed'
@@ -143,7 +144,7 @@ class FunctionsProducer(InterfaceProducerCommon):
if tr in self.struct_names:
imports.add('{}.{}'.format(self.structs_package, tr))
if param.is_mandatory:
- imports.add('android.support.annotation.NonNull')
+ imports.add('androidx.annotation.NonNull')
Params = namedtuple('Params', sorted(p))
return imports, Params(**p)
diff --git a/generator/transformers/structs_producer.py b/generator/transformers/structs_producer.py
index a1af54fe8..400e36800 100644
--- a/generator/transformers/structs_producer.py
+++ b/generator/transformers/structs_producer.py
@@ -76,9 +76,9 @@ class StructsProducer(InterfaceProducerCommon):
def sort_imports(self, imports: set):
sorted_imports = []
- if 'android.support.annotation.NonNull' in imports:
- sorted_imports.append('android.support.annotation.NonNull')
- imports.remove('android.support.annotation.NonNull')
+ if 'androidx.annotation.NonNull' in imports:
+ sorted_imports.append('androidx.annotation.NonNull')
+ imports.remove('androidx.annotation.NonNull')
sorted_imports.append('')
tmp = []
for i in imports:
@@ -105,7 +105,7 @@ class StructsProducer(InterfaceProducerCommon):
p['since'] = param.since
p['deprecated'] = param.deprecated
p['origin'] = param.origin
-
+ p['values'] = self.extract_values(param)
d = self.extract_description(param.description)
if d:
p['description'] = textwrap.wrap(d, 90)
@@ -124,7 +124,7 @@ class StructsProducer(InterfaceProducerCommon):
if tr in self.struct_names:
imports.add('{}.{}'.format(self.structs_package, tr))
if param.is_mandatory:
- imports.add('android.support.annotation.NonNull')
+ imports.add('androidx.annotation.NonNull')
Params = namedtuple('Params', sorted(p))
return imports, Params(**p)
diff --git a/hello_sdl_java/build.gradle b/hello_sdl_java/build.gradle
index b4f834b43..ce0689640 100644
--- a/hello_sdl_java/build.gradle
+++ b/hello_sdl_java/build.gradle
@@ -19,10 +19,8 @@ configurations {
}
dependencies {
extraLibs fileTree(dir: 'libs', include: ['*.jar'])
- //testCompile group: 'junit', name: 'junit', version: '4.12'
extraLibs project(path: ':sdl_java_se')
configurations.implementation.extendsFrom(configurations.extraLibs)
-
}
jar {
from {
diff --git a/javaEE/build.gradle b/javaEE/build.gradle
index 39b6f0956..c65af1324 100644
--- a/javaEE/build.gradle
+++ b/javaEE/build.gradle
@@ -27,8 +27,8 @@ configurations {
dependencies {
extraLibs fileTree(dir: 'libs', include: ['*.jar'])
- extraLibs 'org.mongodb:bson:3.10.1'
- extraLibs 'com.android.support:support-annotations:28.0.0'
+ extraLibs 'org.mongodb:bson:4.0.5'
+ extraLibs 'androidx.annotation:annotation:1.1.0'
extraLibs 'org.java-websocket:Java-WebSocket:1.3.9'
extraLibs 'com.livio.taskmaster:taskmaster:0.3.0'
configurations.api.extendsFrom(configurations.extraLibs)
diff --git a/javaSE/build.gradle b/javaSE/build.gradle
index 1f4dcc048..b056fe7a0 100644
--- a/javaSE/build.gradle
+++ b/javaSE/build.gradle
@@ -28,8 +28,8 @@ configurations {
dependencies {
extraLibs fileTree(dir: 'libs', include: ['*.jar'])
- extraLibs 'org.mongodb:bson:3.10.1'
- extraLibs 'com.android.support:support-annotations:28.0.0'
+ extraLibs 'org.mongodb:bson:4.0.5'
+ extraLibs 'androidx.annotation:annotation:1.1.0'
extraLibs 'org.java-websocket:Java-WebSocket:1.3.9'
extraLibs 'com.livio.taskmaster:taskmaster:0.3.0'
configurations.api.extendsFrom(configurations.extraLibs)
diff --git a/base/src/main/java/android/os/AsyncTask.java b/javaSE/src/main/java/android/os/AsyncTask.java
index db6b69a8e..db6b69a8e 100644
--- a/base/src/main/java/android/os/AsyncTask.java
+++ b/javaSE/src/main/java/android/os/AsyncTask.java
diff --git a/base/src/main/java/android/os/Parcel.java b/javaSE/src/main/java/android/os/Parcel.java
index b99dbc671..b99dbc671 100644
--- a/base/src/main/java/android/os/Parcel.java
+++ b/javaSE/src/main/java/android/os/Parcel.java
diff --git a/base/src/main/java/android/os/Parcelable.java b/javaSE/src/main/java/android/os/Parcelable.java
index e09a1754c..e09a1754c 100644
--- a/base/src/main/java/android/os/Parcelable.java
+++ b/javaSE/src/main/java/android/os/Parcelable.java
diff --git a/base/src/main/java/android/util/Log.java b/javaSE/src/main/java/android/util/Log.java
index 7374ff04c..7374ff04c 100644
--- a/base/src/main/java/android/util/Log.java
+++ b/javaSE/src/main/java/android/util/Log.java
diff --git a/base/src/main/java/com/livio/BSON/BsonEncoder.java b/javaSE/src/main/java/com/livio/BSON/BsonEncoder.java
index 22c47f6cb..22c47f6cb 100644
--- a/base/src/main/java/com/livio/BSON/BsonEncoder.java
+++ b/javaSE/src/main/java/com/livio/BSON/BsonEncoder.java
diff --git a/javaSE/src/main/java/com/smartdevicelink/SdlConnection/SdlSession.java b/javaSE/src/main/java/com/smartdevicelink/SdlConnection/SdlSession.java
index 98150b218..542ff6b35 100644
--- a/javaSE/src/main/java/com/smartdevicelink/SdlConnection/SdlSession.java
+++ b/javaSE/src/main/java/com/smartdevicelink/SdlConnection/SdlSession.java
@@ -33,14 +33,15 @@
package com.smartdevicelink.SdlConnection;
+import com.smartdevicelink.protocol.SdlPacket;
import com.smartdevicelink.protocol.SdlProtocol;
import com.smartdevicelink.protocol.SdlProtocolBase;
import com.smartdevicelink.protocol.enums.SessionType;
import com.smartdevicelink.proxy.interfaces.ISdlServiceListener;
import com.smartdevicelink.transport.BaseTransportConfig;
import com.smartdevicelink.util.DebugTool;
+import com.smartdevicelink.util.Version;
-import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
public class SdlSession extends BaseSdlSession {
@@ -48,7 +49,7 @@ public class SdlSession extends BaseSdlSession {
private static final String TAG = "SdlSession";
- public SdlSession(ISdlConnectionListener listener, BaseTransportConfig config) {
+ public SdlSession(ISdlSessionListener listener, BaseTransportConfig config) {
super(listener, config);
}
@@ -57,50 +58,46 @@ public class SdlSession extends BaseSdlSession {
return new SdlProtocol(this, transportConfig);
}
-
@Override
- public void onProtocolSessionStarted(SessionType sessionType,
- byte sessionID, byte version, String correlationID, int hashID, boolean isEncrypted) {
-
- DebugTool.logInfo(TAG, "Protocol session started");
+ public void onServiceStarted(SdlPacket packet, SessionType serviceType, int sessionID, Version version, boolean isEncrypted) {
+ DebugTool.logInfo(TAG, serviceType.getName() + " service started");
- this.sessionId = sessionID;
- if (sessionType.eq(SessionType.RPC)) {
- sessionHashId = hashID;
+ if (serviceType != null && serviceType.eq(SessionType.RPC) && this.sessionId == -1) {
+ this.sessionId = sessionID;
+ this.sessionListener.onSessionStarted(sessionID, version);
}
if (isEncrypted) {
- encryptedServices.addIfAbsent(sessionType);
+ encryptedServices.addIfAbsent(serviceType);
}
- this.sessionListener.onProtocolSessionStarted(sessionType, sessionID, version, correlationID, hashID, isEncrypted);
- if (serviceListeners != null && serviceListeners.containsKey(sessionType)) {
- CopyOnWriteArrayList<ISdlServiceListener> listeners = serviceListeners.get(sessionType);
+ if (serviceListeners != null && serviceListeners.containsKey(serviceType)) {
+ CopyOnWriteArrayList<ISdlServiceListener> listeners = serviceListeners.get(serviceType);
for (ISdlServiceListener listener : listeners) {
- listener.onServiceStarted(this, sessionType, isEncrypted);
+ listener.onServiceStarted(this, serviceType, isEncrypted);
}
}
-
}
@Override
- public void onProtocolSessionEnded(SessionType sessionType, byte sessionID,
- String correlationID) {
- this.sessionListener.onProtocolSessionEnded(sessionType, sessionID, correlationID);
- if (serviceListeners != null && serviceListeners.containsKey(sessionType)) {
- CopyOnWriteArrayList<ISdlServiceListener> listeners = serviceListeners.get(sessionType);
+ public void onServiceEnded(SdlPacket packet, SessionType serviceType, int sessionID) {
+
+ if (SessionType.RPC.equals(serviceType)) {
+ this.sessionListener.onSessionEnded(sessionID);
+ }
+
+ if (serviceListeners != null && serviceListeners.containsKey(serviceType)) {
+ CopyOnWriteArrayList<ISdlServiceListener> listeners = serviceListeners.get(serviceType);
for (ISdlServiceListener listener : listeners) {
- listener.onServiceEnded(this, sessionType);
+ listener.onServiceEnded(this, serviceType);
}
}
- encryptedServices.remove(sessionType);
- }
+ encryptedServices.remove(serviceType);
+ }
@Override
- public void onProtocolSessionEndedNACKed(SessionType sessionType,
- byte sessionID, String correlationID) {
- this.sessionListener.onProtocolSessionEndedNACKed(sessionType, sessionID, correlationID);
+ public void onServiceError(SdlPacket packet, SessionType sessionType, int sessionID, String error) {
if (serviceListeners != null && serviceListeners.containsKey(sessionType)) {
CopyOnWriteArrayList<ISdlServiceListener> listeners = serviceListeners.get(sessionType);
for (ISdlServiceListener listener : listeners) {
@@ -109,22 +106,4 @@ public class SdlSession extends BaseSdlSession {
}
}
-
-
-
-
- /* ***********************************************************************************************************************************************************************
- * ***************************************************************** IProtocol Listener ********************************************************************************
- *************************************************************************************************************************************************************************/
-
- public void onProtocolSessionNACKed(SessionType sessionType, byte sessionID, byte version, String correlationID, List<String> rejectedParams) {
- this.sessionListener.onProtocolSessionStartedNACKed(sessionType,
- sessionID, version, correlationID, rejectedParams);
- if (serviceListeners != null && serviceListeners.containsKey(sessionType)) {
- CopyOnWriteArrayList<ISdlServiceListener> listeners = serviceListeners.get(sessionType);
- for (ISdlServiceListener listener : listeners) {
- listener.onServiceError(this, sessionType, "Start " + sessionType.toString() + " Service NAKed");
- }
- }
- }
} \ No newline at end of file
diff --git a/javaSE/src/main/java/com/smartdevicelink/managers/SdlManager.java b/javaSE/src/main/java/com/smartdevicelink/managers/SdlManager.java
index 37c8ae14e..4dae813f6 100644
--- a/javaSE/src/main/java/com/smartdevicelink/managers/SdlManager.java
+++ b/javaSE/src/main/java/com/smartdevicelink/managers/SdlManager.java
@@ -32,7 +32,7 @@
package com.smartdevicelink.managers;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.util.Log;
import com.smartdevicelink.managers.file.FileManager;
diff --git a/javaSE/src/main/java/com/smartdevicelink/managers/file/FileManager.java b/javaSE/src/main/java/com/smartdevicelink/managers/file/FileManager.java
index e3a36d7bf..959a9ced5 100644
--- a/javaSE/src/main/java/com/smartdevicelink/managers/file/FileManager.java
+++ b/javaSE/src/main/java/com/smartdevicelink/managers/file/FileManager.java
@@ -32,7 +32,7 @@
package com.smartdevicelink.managers.file;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.managers.file.filetypes.SdlFile;
import com.smartdevicelink.proxy.interfaces.ISdl;
import com.smartdevicelink.proxy.rpc.PutFile;
diff --git a/javaSE/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlArtwork.java b/javaSE/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlArtwork.java
index fdfec6420..69bfb9238 100644
--- a/javaSE/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlArtwork.java
+++ b/javaSE/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlArtwork.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.managers.file.filetypes;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.rpc.Image;
import com.smartdevicelink.proxy.rpc.enums.FileType;
import com.smartdevicelink.proxy.rpc.enums.ImageType;
diff --git a/javaSE/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlFile.java b/javaSE/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlFile.java
index eac88d5e6..60b3f42e9 100644
--- a/javaSE/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlFile.java
+++ b/javaSE/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlFile.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.managers.file.filetypes;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.rpc.enums.FileType;
import com.smartdevicelink.proxy.rpc.enums.StaticIconName;
diff --git a/javaSE/src/main/java/com/smartdevicelink/managers/lifecycle/EncryptionLifecycleManager.java b/javaSE/src/main/java/com/smartdevicelink/managers/lifecycle/EncryptionLifecycleManager.java
index 1d5915bf4..eda411dc5 100644
--- a/javaSE/src/main/java/com/smartdevicelink/managers/lifecycle/EncryptionLifecycleManager.java
+++ b/javaSE/src/main/java/com/smartdevicelink/managers/lifecycle/EncryptionLifecycleManager.java
@@ -32,7 +32,7 @@
package com.smartdevicelink.managers.lifecycle;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.managers.ServiceEncryptionListener;
import com.smartdevicelink.proxy.interfaces.ISdl;
diff --git a/javaSE/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java b/javaSE/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java
index 4cfadf611..b7167b81c 100644
--- a/javaSE/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java
+++ b/javaSE/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java
@@ -32,8 +32,7 @@
package com.smartdevicelink.managers.lifecycle;
-import android.support.annotation.RestrictTo;
-import com.smartdevicelink.util.Log;
+import androidx.annotation.RestrictTo;
import com.smartdevicelink.SdlConnection.SdlSession;
import com.smartdevicelink.exception.SdlException;
@@ -53,7 +52,7 @@ public class LifecycleManager extends BaseLifecycleManager {
@Override
void initialize() {
super.initialize();
- this.session = new SdlSession(sdlConnectionListener, _transportConfig);
+ this.session = new SdlSession(this.sdlSessionListener, _transportConfig);
}
@Override
diff --git a/javaSE/src/main/java/com/smartdevicelink/managers/permission/PermissionManager.java b/javaSE/src/main/java/com/smartdevicelink/managers/permission/PermissionManager.java
index c580cc359..2918e0161 100644
--- a/javaSE/src/main/java/com/smartdevicelink/managers/permission/PermissionManager.java
+++ b/javaSE/src/main/java/com/smartdevicelink/managers/permission/PermissionManager.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.managers.permission;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.interfaces.ISdl;
/**
diff --git a/javaSE/src/main/java/com/smartdevicelink/managers/screen/ScreenManager.java b/javaSE/src/main/java/com/smartdevicelink/managers/screen/ScreenManager.java
index b9828f4c3..38e17d0dc 100644
--- a/javaSE/src/main/java/com/smartdevicelink/managers/screen/ScreenManager.java
+++ b/javaSE/src/main/java/com/smartdevicelink/managers/screen/ScreenManager.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.managers.screen;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.managers.file.FileManager;
import com.smartdevicelink.proxy.interfaces.ISdl;
diff --git a/javaSE/src/main/java/com/smartdevicelink/managers/screen/SoftButtonManager.java b/javaSE/src/main/java/com/smartdevicelink/managers/screen/SoftButtonManager.java
index e29c6ed49..0b95d1aa5 100644
--- a/javaSE/src/main/java/com/smartdevicelink/managers/screen/SoftButtonManager.java
+++ b/javaSE/src/main/java/com/smartdevicelink/managers/screen/SoftButtonManager.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.managers.screen;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.managers.file.FileManager;
import com.smartdevicelink.proxy.interfaces.ISdl;
diff --git a/javaSE/src/main/java/com/smartdevicelink/managers/screen/SubscribeButtonManager.java b/javaSE/src/main/java/com/smartdevicelink/managers/screen/SubscribeButtonManager.java
index c34b0775d..49d41d495 100644
--- a/javaSE/src/main/java/com/smartdevicelink/managers/screen/SubscribeButtonManager.java
+++ b/javaSE/src/main/java/com/smartdevicelink/managers/screen/SubscribeButtonManager.java
@@ -1,6 +1,6 @@
package com.smartdevicelink.managers.screen;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.proxy.interfaces.ISdl;
public class SubscribeButtonManager extends BaseSubscribeButtonManager {
diff --git a/javaSE/src/main/java/com/smartdevicelink/managers/screen/TextAndGraphicManager.java b/javaSE/src/main/java/com/smartdevicelink/managers/screen/TextAndGraphicManager.java
index 9c680446c..961e9e196 100644
--- a/javaSE/src/main/java/com/smartdevicelink/managers/screen/TextAndGraphicManager.java
+++ b/javaSE/src/main/java/com/smartdevicelink/managers/screen/TextAndGraphicManager.java
@@ -31,7 +31,7 @@
*/
package com.smartdevicelink.managers.screen;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.managers.file.FileManager;
import com.smartdevicelink.managers.file.filetypes.SdlArtwork;
import com.smartdevicelink.proxy.interfaces.ISdl;
diff --git a/javaSE/src/main/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetManager.java b/javaSE/src/main/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetManager.java
index df14bfa6f..804054373 100644
--- a/javaSE/src/main/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetManager.java
+++ b/javaSE/src/main/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetManager.java
@@ -32,7 +32,7 @@
package com.smartdevicelink.managers.screen.choiceset;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.smartdevicelink.managers.file.FileManager;
import com.smartdevicelink.proxy.interfaces.ISdl;
diff --git a/base/src/main/java/com/smartdevicelink/protocol/SdlProtocol.java b/javaSE/src/main/java/com/smartdevicelink/protocol/SdlProtocol.java
index 67ea25cc1..67ea25cc1 100644
--- a/base/src/main/java/com/smartdevicelink/protocol/SdlProtocol.java
+++ b/javaSE/src/main/java/com/smartdevicelink/protocol/SdlProtocol.java
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/SdlConnectionState.java b/javaSE/src/main/java/com/smartdevicelink/trace/SdlTrace.java
index d7c36b2c5..482b4a846 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/SdlConnectionState.java
+++ b/javaSE/src/main/java/com/smartdevicelink/trace/SdlTrace.java
@@ -29,10 +29,20 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
-package com.smartdevicelink.proxy.rpc.enums;
+package com.smartdevicelink.trace;
-@Deprecated
-public enum SdlConnectionState {
- SDL_CONNECTED,
- SDL_DISCONNECTED;
-}
+
+/* This class handles the global TraceSettings as requested by the users either through the combination of the following
+ 1. System defaults
+ 2. Application XML config
+ 3. Programmatic requests from application itself
+
+ It is manifested in the <SmartDeviceLink>...</SmartDeviceLink> tags
+ */
+
+public class SdlTrace extends SdlTraceBase{
+ private static String getPid(){
+ //Default implementation is not able to get this information
+ return "UNKNOWN";
+ }
+} // end-class \ No newline at end of file
diff --git a/base/src/main/java/com/smartdevicelink/transport/CustomTransport.java b/javaSE/src/main/java/com/smartdevicelink/transport/CustomTransport.java
index ad02f96d2..ad02f96d2 100644
--- a/base/src/main/java/com/smartdevicelink/transport/CustomTransport.java
+++ b/javaSE/src/main/java/com/smartdevicelink/transport/CustomTransport.java
diff --git a/base/src/main/java/com/smartdevicelink/transport/CustomTransportConfig.java b/javaSE/src/main/java/com/smartdevicelink/transport/CustomTransportConfig.java
index af0613aa1..af0613aa1 100644
--- a/base/src/main/java/com/smartdevicelink/transport/CustomTransportConfig.java
+++ b/javaSE/src/main/java/com/smartdevicelink/transport/CustomTransportConfig.java
diff --git a/base/src/main/java/com/smartdevicelink/transport/TransportCallback.java b/javaSE/src/main/java/com/smartdevicelink/transport/TransportCallback.java
index 551ed9d29..551ed9d29 100644
--- a/base/src/main/java/com/smartdevicelink/transport/TransportCallback.java
+++ b/javaSE/src/main/java/com/smartdevicelink/transport/TransportCallback.java
diff --git a/base/src/main/java/com/smartdevicelink/transport/TransportInterface.java b/javaSE/src/main/java/com/smartdevicelink/transport/TransportInterface.java
index 989b2df33..989b2df33 100644
--- a/base/src/main/java/com/smartdevicelink/transport/TransportInterface.java
+++ b/javaSE/src/main/java/com/smartdevicelink/transport/TransportInterface.java
diff --git a/base/src/main/java/com/smartdevicelink/transport/TransportManager.java b/javaSE/src/main/java/com/smartdevicelink/transport/TransportManager.java
index c8a07a1cc..c8a07a1cc 100644
--- a/base/src/main/java/com/smartdevicelink/transport/TransportManager.java
+++ b/javaSE/src/main/java/com/smartdevicelink/transport/TransportManager.java
diff --git a/base/src/main/java/com/smartdevicelink/transport/WebSocketServer.java b/javaSE/src/main/java/com/smartdevicelink/transport/WebSocketServer.java
index 8f5411ce0..8f5411ce0 100644
--- a/base/src/main/java/com/smartdevicelink/transport/WebSocketServer.java
+++ b/javaSE/src/main/java/com/smartdevicelink/transport/WebSocketServer.java
diff --git a/base/src/main/java/com/smartdevicelink/transport/WebSocketServerConfig.java b/javaSE/src/main/java/com/smartdevicelink/transport/WebSocketServerConfig.java
index 6add5ae71..6add5ae71 100644
--- a/base/src/main/java/com/smartdevicelink/transport/WebSocketServerConfig.java
+++ b/javaSE/src/main/java/com/smartdevicelink/transport/WebSocketServerConfig.java
diff --git a/base/src/main/java/com/smartdevicelink/transport/utl/SSLConfig.java b/javaSE/src/main/java/com/smartdevicelink/transport/utl/SSLConfig.java
index ec40dcade..d46e8aac6 100644
--- a/base/src/main/java/com/smartdevicelink/transport/utl/SSLConfig.java
+++ b/javaSE/src/main/java/com/smartdevicelink/transport/utl/SSLConfig.java
@@ -31,8 +31,8 @@
*/
package com.smartdevicelink.transport.utl;
-import android.support.annotation.IntDef;
-import android.support.annotation.NonNull;
+import androidx.annotation.IntDef;
+import androidx.annotation.NonNull;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
diff --git a/base/src/main/java/com/smartdevicelink/transport/utl/SSLWebSocketFactoryGenerator.java b/javaSE/src/main/java/com/smartdevicelink/transport/utl/SSLWebSocketFactoryGenerator.java
index 95d0ceac2..95d0ceac2 100644
--- a/base/src/main/java/com/smartdevicelink/transport/utl/SSLWebSocketFactoryGenerator.java
+++ b/javaSE/src/main/java/com/smartdevicelink/transport/utl/SSLWebSocketFactoryGenerator.java
diff --git a/base/src/main/java/org/json/JSON.java b/javaSE/src/main/java/org/json/JSON.java
index 1b32e698d..1b32e698d 100644
--- a/base/src/main/java/org/json/JSON.java
+++ b/javaSE/src/main/java/org/json/JSON.java
diff --git a/base/src/main/java/org/json/JSONArray.java b/javaSE/src/main/java/org/json/JSONArray.java
index 996f44909..996f44909 100644
--- a/base/src/main/java/org/json/JSONArray.java
+++ b/javaSE/src/main/java/org/json/JSONArray.java
diff --git a/base/src/main/java/org/json/JSONException.java b/javaSE/src/main/java/org/json/JSONException.java
index 05e1dddc9..05e1dddc9 100644
--- a/base/src/main/java/org/json/JSONException.java
+++ b/javaSE/src/main/java/org/json/JSONException.java
diff --git a/base/src/main/java/org/json/JSONObject.java b/javaSE/src/main/java/org/json/JSONObject.java
index cebe2fece..74ea973c2 100644
--- a/base/src/main/java/org/json/JSONObject.java
+++ b/javaSE/src/main/java/org/json/JSONObject.java
@@ -16,8 +16,8 @@
package org.json;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import java.util.ArrayList;
import java.util.Collection;
diff --git a/base/src/main/java/org/json/JSONStringer.java b/javaSE/src/main/java/org/json/JSONStringer.java
index dd3b2a7d8..dd3b2a7d8 100644
--- a/base/src/main/java/org/json/JSONStringer.java
+++ b/javaSE/src/main/java/org/json/JSONStringer.java
diff --git a/base/src/main/java/org/json/JSONTokener.java b/javaSE/src/main/java/org/json/JSONTokener.java
index 4bdd9ad37..4bdd9ad37 100644
--- a/base/src/main/java/org/json/JSONTokener.java
+++ b/javaSE/src/main/java/org/json/JSONTokener.java