437002d
ConnectionService: handle disconnected state correctly
Click to expand commit body
onDisconnect() will only be called when the user manually requests a
disconnect. When the call is disconnected by the rtp connection itself,
the call won't be cleaned up and the system will be stuck in an in-call
state. Handle this correctly by moving the clean-up code to a close()
function, and calling that function instead when we disconnect.
Note that we cannot call the cleanup routine destroy() from the
onStateChanged() function, because it seems that this triggers a
deadlock somewhere down the line, probably in the calling
account-related telephony code. Doing a close() function mirrors what is
done in the default TelephonyConnection implementation for RIL-based
calls.
* Fix a few potential errors due to the use of newer APIs (minSDK is
still only 24)
* Fix one remaining case of raw usage of generic types.
Peter Cai
created
788818f
ConnectionService: Dialer UI integration for incoming calls
Click to expand commit body
For incoming calls, we fall back to the built-in call UI if the
microphone permission is not granted. The reason is that if the Dialer
UI is displayed over keyguard, then the user may not even be able to see
the notification that we show in order for them to grant the permission.
Having a small annoyance for the first incoming call is better than
having the in-call UI hang.
Peter Cai
created
b218b57
ConnectionService: fix unchecked type assignments
Peter Cai
created
7731a86
catch security exception when importing backup
Daniel Gultsch
created
e02dee8
Bad number can also cause IllegalArgumentException
bb1e1a8
Close socks5 connection when done sending data
Click to expand commit body
Sometimes even in Conversations-to-Conversations I see symptoms like receiver
says 99% done, sender says 100% done, hangs like that and then file transfer
fails.
I was having this issue fairly reliably between my emulator and my test device.
Adding this close caused the transfer to succeed 100% of the time. I'm not sure
why the receiver didn't read all the data properly without the close, but this
fixes it.
* jabber-iq-gateway2:
Improve example hinting
Move GONE/VISIBLE to the controller instead of the model
Show identity category gateway even without jabber:iq:gateway prompt
Sort gateways
Switch to AndroidX LinearLayoutManager
Parse phone numbers using local settings before asking gateway
Try all gateway translations options
Change input type based on gateway type
Load gateways into UI
Use a RecyclerView for list of gateway options
Fetch jabber:iq:gateway prompt
Send jabber:iq:gateway if we're responding to that and fetch translated
response as the JID. Otherwise use JID escaping if supported.
Otherwise fall back to the dumb ancient % escaping.
49cbe74
Use a RecyclerView for list of gateway options
Click to expand commit body
If there are no gateways in the current account's roster, just show the
old "Jabber ID" label. Otherwise show a list of toggle buttons. These
buttons show the type of their gateway and change the JID input to
not autocomplete and to show a hint matching the jabber:id:gateway
prompt.
This is just UI, submit behaviour is unchanged. List is not yet populated by
this code.