FATAL Exception inside RainbowSdk.instance().connection().signin() after upgrading to Android 12
My Rainbow app for Android OS was working w/o issues until I upgraded my tablet to Android 12. After it, it started crashing inside the signin() method with FATAL EXCEPTION attached below.
My app linked Rainbow SDK 1.72.0, so I then updated it to the latest 2.7.3 and got hundreds of errors that most of them were Unsolved reference, e.g., userLoginInCache, some of them that were moved to a getter/setter from a value I could solve, e.g, getUserLoginInCache(). However, I do not have any ideas how to solve connection.start(), listener.StartResponseListener.
1. Is there a way to solve the exception issue on Android12 with Rainbow 1.72.0?
2. If the SDK has to be upgraded, where can I find complete document that explains any changes on the SDK. I searched the What New section of Android SDK but could not find what is a successor of the start() method
--------- beginning of crash
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.iconvn.signalskiosk2, PID: 6093
java.lang.SecurityException: listen
at android.os.Parcel.createExceptionOrNull(Parcel.java:2437)
at android.os.Parcel.createException(Parcel.java:2421)
at android.os.Parcel.readException(Parcel.java:2404)
at android.os.Parcel.readException(Parcel.java:2346)
at com.android.internal.telephony.ITelephonyRegistry$Stub$Proxy.listenWithEventList(ITelephonyRegistry.java:1036)
at android.telephony.TelephonyRegistryManager.listenFromListener(TelephonyRegistryManager.java:250)
at android.telephony.TelephonyManager.listen(TelephonyManager.java:6798)
at com.ale.rainbow.phone.GsmPhone.listenTelephonyEvents(GsmPhone.java:349)
at com.ale.infra.manager.TelephonyMgr.lambda$initializeGSMPhone$2$com-ale-infra-manager-TelephonyMgr(TelephonyMgr.java:425)
at com.ale.infra.manager.TelephonyMgr$$ExternalSyntheticLambda7.run(Unknown Source:2)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:226)
at android.os.Looper.loop(Looper.java:313)
at android.app.ActivityThread.main(ActivityThread.java:8663)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
Caused by: android.os.RemoteException: Remote stack trace:
at com.android.internal.telephony.TelephonyPermissions.enforceCarrierPrivilege(TelephonyPermissions.java:634)
at com.android.internal.telephony.TelephonyPermissions.checkReadPhoneState(TelephonyPermissions.java:149)
at com.android.internal.telephony.TelephonyPermissions.checkCallingOrSelfReadPhoneState(TelephonyPermissions.java:94)
at com.android.server.TelephonyRegistry.checkListenerPermission(TelephonyRegistry.java:3145)
at com.android.server.TelephonyRegistry.listen(TelephonyRegistry.java:1037)
W/AudioCapabilities: Unsupported mime audio/mpeg-L1
Unsupported mime audio/mpeg-L2
W/VideoCapabilities: Unsupported mime video/mp43
W/VideoCapabilities: Unsupported mime video/wvc1
W/VideoCapabilities: Unsupported mime video/x-ms-wmv
W/AudioCapabilities: Unsupported mime audio/x-ms-wma
W/VideoCapabilities: Unsupported mime video/x-ms-wmv7
W/VideoCapabilities: Unsupported mime video/x-ms-wmv8
I/n.signalskiosk: Compiler allocated 4546KB to compile void android.view.ViewRootImpl.performTraversals()
I/Process: Sending signal. PID: 6093 SIG: 9
-
Official comment
Hello,
If you update your SDK version to the latest LTS (currently 2.7.3 but a new version 2.15.0 is coming soon)
The connection.start() method is no longer needed before calling :
RainbowSdk.instance().connection().signin(...)
As far as the breaking changes are concerned, they are listed in the What's new section of the Android SDK. However, there seems to be no information about the removal of the start() method.
Also, the current documentation on connecting to Rainbow is outdated and should not contain the previous method.
My apologies for this, it will be fixed.
Regards
Comment actions
Please sign in to leave a comment.
Comments
3 comments