Skip to content

Commit

Permalink
Fix flickering modal on Android
Browse files Browse the repository at this point in the history
The initial modal screen got animated twice, this regression was introduced in #2761.
  • Loading branch information
guyca committed Feb 27, 2018
1 parent d9f533d commit 9534fe9
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 3 deletions.
Expand Up @@ -5,6 +5,8 @@
import com.reactnativenavigation.params.ScreenParams;
import com.reactnativenavigation.views.LeftButtonOnClickListener;

import java.util.List;

public class ModalScreenLayout extends SingleScreenLayout {

public ModalScreenLayout(AppCompatActivity activity,
Expand All @@ -16,6 +18,23 @@ public ModalScreenLayout(AppCompatActivity activity,

@Override
protected void pushInitialScreen(LayoutParams lp) {
stack.pushInitialModalScreenWithAnimation(screenParams, lp);
if (screenParams.screens.isEmpty()) {
stack.pushInitialModalScreenWithAnimation(screenParams, lp);
} else {
stack.pushInitialScreen(screenParams, lp);
}
}

@Override
protected void pushAdditionalScreens(LayoutParams lp) {
List<ScreenParams> screens = screenParams.screens;
for (int i = 0, screensSize = screens.size(); i < screensSize; i++) {
ScreenParams screen = screens.get(i);
if (i == screens.size() - 1) {
stack.pushInitialModalScreenWithAnimation(screen, lp);
} else {
stack.pushInitialScreen(screen, lp);
}
}
}
}
Expand Up @@ -86,17 +86,17 @@ private void createStack(RelativeLayout parent) {
LayoutParams lp = new LayoutParams(MATCH_PARENT, MATCH_PARENT);
pushInitialScreen(lp);
pushAdditionalScreens(lp);
stack.show(NavigationType.Push);
}

protected void pushInitialScreen(LayoutParams lp) {
stack.pushInitialScreen(screenParams, lp);
}

private void pushAdditionalScreens(LayoutParams lp) {
protected void pushAdditionalScreens(LayoutParams lp) {
for (ScreenParams screen : screenParams.screens) {
stack.pushInitialScreen(screen, lp);
}
stack.show(NavigationType.Push);
}

private void sendScreenChangedEventAfterInitialPush() {
Expand Down

0 comments on commit 9534fe9

Please sign in to comment.