I've created a custom dialer, based on following example: https://github.com/Abror96/CustomPhoneDialer. It works perfectly, and I'm able to put it as my default dialer. Everything works smoothly, incoming/outgoing calls. Untill I have missed calls while phone is off. On poweron, it notifies of it and simply stalls on first incoming missed call and reboots after a while. It seems I'm lacking something. Only putting back the old dialer as default helps to fix the case I did some investigation through logcat, and I think I found something:
NotificationManager: com.android.server.telecom: notify(1, Notification(channel=TelecomMissedCalls pri=0 contentView=null vibrate=null sound=null defaults=0x4 flags=0x11 color=0xff2a56c6 vis=PRIVATE publicVersion=Notification(channel=null pri=0 contentView=null vibrate=null sound=null defaults=0x0 flags=0x10 color=0xff2a56c6 vis=PRIVATE)))
NotificationService: enqueueNotificationInternal: pkg=com.android.server.telecom id=1 notification=Notification(channel=TelecomMissedCalls pri=0 contentView=null vibrate=null sound=null defaults=0x4 flags=0x11 color=0xff2a56c6 vis=PRIVATE publicVersion=Notification(channel=null pri=0 contentView=null vibrate=null sound=null defaults=0x0 flags=0x10 color=0xff2a56c6 vis=PRIVATE))
Watchdog: at com.android.server.telecom.TelecomServiceImpl$1.getCallState(TelecomServiceImpl.java:811)
TelecomManager: RemoteException attempting to get the default dialer package name.
After this a huge stacktrace with also:
TelecomManager: Error calling ITelecomService#getCallCapablePhoneAccounts(false)
TelecomManager: android.os.DeadObjectException
TelecomManager: at android.os.BinderProxy.transactNative(Native Method)
TelecomManager: at android.os.BinderProxy.transact(Binder.java:766)
TelecomManager: at com.android.internal.telecom.ITelecomService$Stub$Proxy.getCallCapablePhoneAccounts(ITelecomService.java:796)
again with a stacktrace after. So I think I might be lacking some implementation. However, I have no clue wath to implement still. If I look at api documentation and code samples, nowhere it's mentionened something NEEDs to be done for missed calls. There is an action "ACTION_SHOW_MISSED_CALLS_NOTIFICATION" which informs a package of missed calls, but that's only a local broadcast. So nothing necessary. Can someone shed a light on what's going on?
Thanks!