You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I encountered a problem in self managed mode, on some Lenovo devices if you call setup like you should and you receive or start a call, you will be encountered with this error:
Remote stack trace:
at com.android.server.telecom.TelecomServiceImpl.enforceTelecomFeature(TelecomServiceImpl.java:2449)
at com.android.server.telecom.TelecomServiceImpl.enforcePhoneAccountModificationForPackage(TelecomServiceImpl.java:2409)
at com.android.server.telecom.TelecomServiceImpl.-$$Nest$menforcePhoneAccountModificationForPackage(Unknown Source:0)
at com.android.server.telecom.TelecomServiceImpl$1.registerPhoneAccount(TelecomServiceImpl.java:564)
at com.android.internal.telecom.ITelecomService$Stub.onTransact(ITelecomService.java:857)
This usually means that a phone account couldn't register successfully or the device doesn't support this functionality.
From what i've read, calling RNCallKeep.setup() should be enough to set up your app for calls, but i tried to explicitly register a phone account, without success. I come to the conclusion that there are some devices that are simply not supporting phone account.
Now i made a workaround for devices that are encountering this specific issue and i wanted to check it programatically, but i noticed something unusual.
When calling RNCallKeep.checkPhoneAccountEnabled, this method is called:
If the app is in self managed mode, this method automatically returns true, without checking if the app has a phone account.
Why is this the case? Shouldn't be better to remove that if statement and let the last return statement handle this logic? For my use case i had to remove it, i am curious what was the need for that early return.
Do self managed apps always have the possibility to register a phone account? From my experiences there are some devices, especially Lenovo tablets, where it is simply impossible to do (registerPhoneAccount not allowed on non-voice capable device).
If the config_voice_capable is simply set to false in some device, that device won't support phone accounts.
The text was updated successfully, but these errors were encountered:
Description
I encountered a problem in self managed mode, on some Lenovo devices if you call setup like you should and you receive or start a call, you will be encountered with this error:
This usually means that a phone account couldn't register successfully or the device doesn't support this functionality.
From what i've read, calling RNCallKeep.setup() should be enough to set up your app for calls, but i tried to explicitly register a phone account, without success. I come to the conclusion that there are some devices that are simply not supporting phone account.
Now i made a workaround for devices that are encountering this specific issue and i wanted to check it programatically, but i noticed something unusual.
When calling
RNCallKeep.checkPhoneAccountEnabled
, this method is called:If the app is in self managed mode, this method automatically returns true, without checking if the app has a phone account.
Why is this the case? Shouldn't be better to remove that if statement and let the last return statement handle this logic? For my use case i had to remove it, i am curious what was the need for that early return.
Do self managed apps always have the possibility to register a phone account? From my experiences there are some devices, especially Lenovo tablets, where it is simply impossible to do (registerPhoneAccount not allowed on non-voice capable device).
If the
config_voice_capable
is simply set to false in some device, that device won't support phone accounts.The text was updated successfully, but these errors were encountered: