11package com .reactnativenavigation .viewcontrollers .bottomtabs ;
22
3+ import static com .reactnativenavigation .utils .CollectionUtils .forEach ;
4+ import static com .reactnativenavigation .utils .CollectionUtils .map ;
5+ import static com .reactnativenavigation .utils .ObjectUtils .perform ;
6+
37import android .animation .Animator ;
48import android .app .Activity ;
59import android .content .res .Configuration ;
913import androidx .annotation .NonNull ;
1014import androidx .annotation .RestrictTo ;
1115import androidx .coordinatorlayout .widget .CoordinatorLayout ;
16+ import androidx .core .graphics .Insets ;
17+ import androidx .core .view .WindowInsetsCompat ;
1218
1319import com .aurelhubert .ahbottomnavigation .AHBottomNavigation ;
1420import com .aurelhubert .ahbottomnavigation .AHBottomNavigationItem ;
3440import java .util .LinkedList ;
3541import java .util .List ;
3642
37- import static com .reactnativenavigation .utils .CollectionUtils .forEach ;
38- import static com .reactnativenavigation .utils .CollectionUtils .map ;
39- import static com .reactnativenavigation .utils .ObjectUtils .perform ;
40-
4143public class BottomTabsController extends ParentController <BottomTabsLayout > implements AHBottomNavigation .OnTabSelectedListener , TabSelector {
4244
4345 private BottomTabsContainer bottomTabsContainer ;
@@ -84,6 +86,7 @@ public void setDefaultOptions(Options defaultOptions) {
8486 @ Override
8587 public BottomTabsLayout createView () {
8688 BottomTabsLayout root = new BottomTabsLayout (getActivity ());
89+
8790 this .bottomTabsContainer = createBottomTabsContainer ();
8891 this .bottomTabs = bottomTabsContainer .getBottomTabs ();
8992 Options resolveCurrentOptions = resolveCurrentOptions ();
@@ -95,6 +98,7 @@ public BottomTabsLayout createView() {
9598 bottomTabs .addItems (createTabs ());
9699 setInitialTab (resolveCurrentOptions );
97100 tabsAttacher .attach ();
101+
98102 return root ;
99103 }
100104
@@ -299,6 +303,14 @@ public Animator getPopAnimation(Options appearingOptions, Options disappearingOp
299303 return presenter .getPopAnimation (appearingOptions , disappearingOptions );
300304 }
301305
306+ @ Override
307+ protected WindowInsetsCompat onApplyWindowInsets (View view , WindowInsetsCompat insets ) {
308+ Insets sysInsets = insets .getInsets (WindowInsetsCompat .Type .systemBars ());
309+ view .setPaddingRelative (0 , 0 , 0 , sysInsets .bottom );
310+ return WindowInsetsCompat .CONSUMED ;
311+ }
312+
313+
302314 @ RestrictTo (RestrictTo .Scope .TESTS )
303315 public BottomTabs getBottomTabs () {
304316 return bottomTabs ;
0 commit comments