Android - Custom Meeting UI - Second call shows no video

Description
When using a Custom Meeting UI, the second call made doesn’t show the video.

Which Mobile Client SDK version?
Android - v5.5.1.1319

To Reproduce(If applicable)
This can be easily reproduced in the example2 sample app, with some small modifications

First fill in your appropriate credentials. Then:

In MainActivity.onZoomSDKInitializeResult, in the “else” block, add the following lines:

		final MeetingSettingsHelper meetingSettingsHelper = ZoomSDK.getInstance().getMeetingSettingsHelper();
		meetingSettingsHelper.setCustomizedMeetingUIEnabled(true);

Then in that same file, just after the call to “startMeetingWithParams” add the following:

	if (ret == MeetingError.MEETING_ERROR_SUCCESS) {
		Intent intent = new Intent(this, MyMeetingActivity.class);
		startActivity(intent);
	}

That’s it for code changes. Then run the app and do the following:

  1. Start a call and connect. This works.
  2. Leave the call from within the app:
    a. Tap the screen
    b. Tap the “Leave” button
    c. Tap “Leave Meeting”.
  3. When this completes, start another call. This shows the incorrect behavior. On an emulator, it shows the frozen image of the last frame of the previous call. On my physical device, it just shows black.

Smartphone (please complete the following information):
Various Android devices and emulators

Hi @eddie.sullivan, thanks for the post.

I have not been able to reproduce this, because the app runs into a lot of issues before I can join the meeting after enabling custom UI mode. This is because the app in the example2 module is not meant to be run with custom UI mode enabled. This app is instead showcasing how to embed the default UI within your own UI.

There is a full implementation of a custom meeting UI in the sample module. I would definitely recommend checking out and running that app if you are interested in looking into a custom meeting UI. You can enable custom UI through the Settings button.

Thanks!

Thanks for the reply.
Our goal is to use the standard Zoom UI, but to add programmatic minimization to it, and some other minor changes. So we were hoping we could implement our UI by deriving a class from MeetingActivity.
Are you saying that’s unsupported? It would be unfortunate to have to reproduce the entire UI from scratch.
Thanks.
-Eddie

Hi @eddie.sullivan,

If you are looking to use the standard Zoom UI, you should not enable custom UI mode. Enabling custom UI means that the SDK will not display any UI in your app, making your meeting UI’s appearance 100% dependent on your own implementation.

In order to programmatically minimize the meeting window, you can call showMiniMeetingWindow.

Can you please elaborate on what other minor changes you are looking to implement? The default meeting UI does allow for limited customization, so the feasibility of this depends entirely on what sort of changes you are looking to make.

Thanks!

Hi.
In another thread on this forum, you confirmed that showMiniMeetingWindow does nothing, and that the only way to achieve programmatic minimization was to use a custom UI.

Here is that previous thread: ZoomUIService.showMiniMeetingWindow returns false and does nothing - #4 by jon.lieblich

Do you have any update on when we can expect a fix for that?

As far as other changes, they are pretty minimal and can almost certainly be achieved without a full Custom UI.

One thing that would be nice but not essential is to only show the minimized video view over the running app, and not requiring the OVERLAY permission from the system – that permission is considered dangerous and some Android phones don’t allow it.
Thanks.
-Eddie

Hi @eddie.sullivan,

Sorry if it was not clear in the other thread, but the showMiniMeetingWindow method not working is a bug that will be fixed in the next release of the Android SDK. Under normal circumstances, this should work to minimize the meeting UI when using the SDK’s default UI mode. I do not have an exact release date for the version that will contain a fix for this just yet, but be sure to keep an eye on our changelog for the most up-to-date information on the latest releases. :slightly_smiling_face:

As far as other changes, they are pretty minimal and can almost certainly be achieved without a full Custom UI.

That’s great! Please let me know if you have any specific questions on whether or not something is possible in the default UI.

One thing that would be nice but not essential is to only show the minimized video view over the running app, and not requiring the OVERLAY permission from the system – that permission is considered dangerous and some Android phones don’t allow it.

We absolutely understand the security concerns around an end user granting this permission to an app. Unfortunately, due to the nature of the minimization feature in the SDK, adding support for a non-overlay version of the minimized meeting would likely mean we would have to develop a separate mini meeting window UI that functions independently of the current feature. Such a feature would require a nontrivial amount of design, planning, development, and testing on our end. Because of the resources required to add this to the SDK, we would need to see a pretty significant demand for such a feature from the developer community in order to proceed with adding it. That isn’t to say we will never be able to add support for this, just that it doesn’t seem likely in the immediate- or medium-term future.

Thanks!