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 f1b20237bb..df833e49c4 100644 --- a/base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseLifecycleManager.java +++ b/base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseLifecycleManager.java @@ -407,7 +407,15 @@ public void onReceived(RPCMessage message) { //We have begun DebugTool.logInfo(TAG, "RAI Response"); BaseLifecycleManager.this.raiResponse = (RegisterAppInterfaceResponse) message; - SdlMsgVersion rpcVersion = ((RegisterAppInterfaceResponse) message).getSdlMsgVersion(); + if (!BaseLifecycleManager.this.raiResponse.getSuccess()) { + String info = "App registration was not successful, result = " + BaseLifecycleManager.this.raiResponse.getResultCode(); + DebugTool.logError(TAG, info); + clean(false); + onClose(info, null, SdlDisconnectedReason.SDL_REGISTRATION_ERROR); + return; + } + + SdlMsgVersion rpcVersion = BaseLifecycleManager.this.raiResponse.getSdlMsgVersion(); if (rpcVersion != null) { BaseLifecycleManager.this.rpcSpecVersion = new Version(rpcVersion.getMajorVersion(), rpcVersion.getMinorVersion(), rpcVersion.getPatchVersion()); } else {