|
|
|
|
1
|
package com.reactnativenavigation.presentation;
|
1
|
package com.reactnativenavigation.presentation;
|
2
|
|
2
|
|
3
|
-import android.support.annotation.Nullable;
|
|
|
4
|
import android.view.ViewGroup;
|
3
|
import android.view.ViewGroup;
|
5
|
|
4
|
|
6
|
import com.reactnativenavigation.utils.CommandListener;
|
5
|
import com.reactnativenavigation.utils.CommandListener;
|
|
|
|
|
11
|
public class OverlayManager {
|
10
|
public class OverlayManager {
|
12
|
private final HashMap<String, ViewController> overlayRegistry = new HashMap<>();
|
11
|
private final HashMap<String, ViewController> overlayRegistry = new HashMap<>();
|
13
|
|
12
|
|
14
|
- public void show(@Nullable ViewGroup root, ViewController overlay, CommandListener listener) {
|
|
|
15
|
- if (root == null) {
|
|
|
16
|
- listener.onError("Can't show Overlay before setRoot is called. This will be resolved in #3899");
|
|
|
17
|
- return;
|
|
|
18
|
- }
|
|
|
|
|
13
|
+ public void show(ViewGroup overlaysContainer, ViewController overlay, CommandListener listener) {
|
19
|
overlayRegistry.put(overlay.getId(), overlay);
|
14
|
overlayRegistry.put(overlay.getId(), overlay);
|
20
|
overlay.setOnAppearedListener(() -> listener.onSuccess(overlay.getId()));
|
15
|
overlay.setOnAppearedListener(() -> listener.onSuccess(overlay.getId()));
|
21
|
- root.addView(overlay.getView());
|
|
|
|
|
16
|
+ overlaysContainer.addView(overlay.getView());
|
22
|
}
|
17
|
}
|
23
|
|
18
|
|
24
|
public void dismiss(String componentId, CommandListener listener) {
|
19
|
public void dismiss(String componentId, CommandListener listener) {
|