jiti-meet/react/features
Paweł Domas f8294fb312 android: add ConnectionService
* feat(Android): implement ConnectionService

Adds basic integration with Android's ConnectionService by implementing
the outgoing call scenario.

* ref(callkit): rename _SET_CALLKIT_SUBSCRIPTIONS

* ref(callkit): move feature to call-integration directory

* feat(ConnectionService): synchronize video state

* ref(AudioMode): use ConnectionService on API >= 26

Not ready yet - few details left mentioned in the FIXMEs

* feat(ConnectionService): add debug logs

Adds logs to trace the calls.

* fix(ConnectionService): leaking ConnectionImpl instances

Turns out there is no callback fired back from the JavaScript side after
the disconnect or abort event is sent from the native. The connection
must be marked as disconnected and removed immediately.

* feat(ConnectionService): handle onCreateOutgoingConnectionFailed

* ref(ConnectionService): merge classes and move to the sdk package

* feat(CallIntegration): show Alert if outgoing call fails

* fix(ConnectionService): alternatively get call UUID from the account

Some Android flavours (or versions ?) do copy over extras to
the onCreateOutgoingConnectionFailed callback. But the call UUID is also
set as the PhoneAccount's label, so eventually it should be available
there.

* ref(ConnectionService): use call UUID as PhoneAccount ID.

The extra is not reliable on some custom Android flavours. It also makes
sense to use unique id for the account instead of the URL given that
it's created on the per call basis.

* fix(ConnectionService): abort the call when hold is requested

Turns out Android P can sometimes request HOLD even though there's no
HOLD capability added to the connection (what!?), so just abort the call
in that case.

* fix(ConnectionService): unregister account on call failure

Unregister the PhoneAccount onCreateOutgoingConnectionFailed. That's
before the ConnectionImpl instance is created which is normally
responsible for doing that.

* fix(AudioModeModule): make package private and run on the audio thread

* address other review comments
2019-01-31 17:20:53 +01:00
..
always-on-top ref(always-on-top): trigger toolbar hide timeout after update 2018-11-21 08:08:45 -08:00
analytics fix(initAnalytics): Add catch. 2019-01-07 19:48:48 +00:00
app android: add ConnectionService 2019-01-31 17:20:53 +01:00
audio-level-indicator ref: move all prop type declaration to flow 2018-11-07 17:38:10 +01:00
authentication [RN] Make feature dialogs branded: authentication 2018-12-18 13:21:48 +01:00
base fix(local-recording): allow config override to enable (#3615) 2019-01-29 08:22:50 -08:00
calendar-sync fix(calendar): Remove logs with invalid calendar items. 2019-01-15 17:00:23 +01:00
chat Chat render improbement 2019-01-15 13:38:26 +01:00
conference [RN] Add display name to on-stage participant 2019-01-28 18:34:12 +01:00
connection-indicator ref: move all prop type declaration to flow 2018-11-07 17:38:10 +01:00
connection-stats ref: move all prop type declaration to flow 2018-11-07 17:38:10 +01:00
deep-linking Fixes some lint warnings. 2019-01-11 15:11:17 +01:00
desktop-picker ref(desktop-picker): derive desired types when props change 2018-11-21 08:08:45 -08:00
device-selection ref(device-selection): update preview tracks on component update 2018-11-21 08:08:45 -08:00
display-name Remove default value from openDisplayNamePrompt action 2019-01-16 11:03:29 +01:00
dropbox ref(dropbox): Consistency for the naming around the app key. 2018-09-27 01:42:59 -05:00
etherpad feat(new-toolbars): initial implementation 2018-03-27 00:54:30 -05:00
feedback rn: add some cleanup tasks when a conference ends / changes 2019-01-16 11:00:37 +01:00
filmstrip Remote video menu post-PR improvements 2019-01-09 12:13:30 +01:00
google-api [RN] Make feature dialogs branded: recording 2018-12-18 13:21:48 +01:00
invite [RN] Fix InviteButton translation 2019-01-10 16:31:03 +01:00
keyboard-shortcuts ref: move all prop type declaration to flow 2018-11-07 17:38:10 +01:00
large-video ref(large-video): use componentDidUpdate to change background image 2018-11-21 08:08:44 -08:00
local-recording fix(local-recording): allow config override to enable (#3615) 2019-01-29 08:22:50 -08:00
mobile android: add ConnectionService 2019-01-31 17:20:53 +01:00
notifications [RN] Remove mobile notifications 2018-10-02 20:47:41 +02:00
overlay ref: move all prop type declaration to flow 2018-11-07 17:38:10 +01:00
presence-status ref: move all prop type declaration to flow 2018-11-07 17:38:10 +01:00
recent-list feat(welcome-page): Redesign. (#3559) 2018-10-22 13:49:18 -05:00
recording rn: fix showing Dropbox controls when recording 2019-01-29 15:39:20 +01:00
remote-control ref: move all prop type declaration to flow 2018-11-07 17:38:10 +01:00
remote-video-menu Adds specific class name to kick button. 2019-01-10 12:02:55 -06:00
room-lock [RN] Make feature dialogs branded: room-lock 2018-12-18 13:21:48 +01:00
settings [RN] Add an abstraction layer to Modal 2019-01-12 15:51:50 +01:00
share-room Adds dial in default number and pin to the text for calendar/share. (#3421) 2018-09-07 17:48:58 -05:00
shared-video feat(new-toolbars): initial implementation 2018-03-27 00:54:30 -05:00
speaker-stats ref(speaker-stats): begin polling for stats after mount 2018-11-21 08:08:45 -08:00
subtitles fix(subtitles): fix typo that was blowing away subtitles on update 2018-09-11 11:08:15 -07:00
toolbox ios: enable recording in dev mode 2019-01-29 15:39:20 +01:00
transcribing Fix eslint/jsdoc warnings (doc change only!) 2018-11-08 15:52:34 +01:00
unsupported-browser ref: move all prop type declaration to flow 2018-11-07 17:38:10 +01:00
video-layout ref(hangup): clean up some UI state on hangup 2019-01-02 09:54:05 -08:00
video-quality ref: move all prop type declaration to flow 2018-11-07 17:38:10 +01:00
videosipgw feat(recording): frontend logic can support live streaming and recording (#2952) 2018-05-16 07:00:16 -07:00
welcome ref(local-video): merge styles at render 2018-11-30 08:42:44 +00:00