Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 60033fc0 authored by Jason Monk's avatar Jason Monk
Browse files

Fix status bar visibility initialization

Make sure it starts up to everything showing and that the StatusBar
calculates the bar mades after it is attached.

There is still a bug where the behind scrim is showing during SUW,
but this fixes many of the issues besides that case.

Test: visual
Change-Id: I93314c607e374c97d5c06f936ef8b7e07e057648
Bug: 36407135
parent a56d9a18
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -82,6 +82,8 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue
        mSystemIconArea = mStatusBar.findViewById(R.id.system_icon_area);
        mSignalClusterView = reinflateSignalCluster(mStatusBar);
        Dependency.get(DarkIconDispatcher.class).addDarkReceiver(mSignalClusterView);
        // Default to showing until we know otherwise.
        showSystemIconArea(false);
    }

    @Override
@@ -119,6 +121,8 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue
                    .removeView(mNotificationIconAreaInner);
        }
        notificationIconArea.addView(mNotificationIconAreaInner);
        // Default to showing until we know otherwise.
        showNotificationIconArea(false);
    }

    @Override
+5 −2
Original line number Diff line number Diff line
@@ -993,16 +993,19 @@ public class StatusBar extends SystemUI implements DemoMode,
        Dependency.get(DarkIconDispatcher.class).addDarkReceiver(mNotificationIconAreaController);
        FragmentHostManager.get(mStatusBarWindow)
                .addTagListener(CollapsedStatusBarFragment.TAG, (tag, fragment) -> {
                    CollapsedStatusBarFragment statusBarFragment = (CollapsedStatusBarFragment) fragment;
                    CollapsedStatusBarFragment statusBarFragment =
                            (CollapsedStatusBarFragment) fragment;
                    statusBarFragment.initNotificationIconArea(mNotificationIconAreaController);
                    mStatusBarView = (PhoneStatusBarView) fragment.getView();
                    mStatusBarView.setBar(this);
                    mStatusBarView.setPanel(mNotificationPanel);
                    mStatusBarView.setScrimController(mScrimController);
                    setAreThereNotifications();
                    checkBarModes();
                }).getFragmentManager()
                .beginTransaction()
                .replace(R.id.status_bar_container, new CollapsedStatusBarFragment(), CollapsedStatusBarFragment.TAG)
                .replace(R.id.status_bar_container, new CollapsedStatusBarFragment(),
                        CollapsedStatusBarFragment.TAG)
                .commit();
        Dependency.get(StatusBarIconController.class).addIconGroup(
                new IconManager((ViewGroup) mKeyguardStatusBar.findViewById(R.id.statusIcons)));
+2 −1
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ package com.android.systemui.statusbar.phone;

import static org.junit.Assert.assertEquals;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.atLeast;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

@@ -104,6 +105,6 @@ public class CollapsedStatusBarFragmentTest extends SysuiBaseFragmentTest {

        fragment.disable(0, 0, false);

        Mockito.verify(mNotificationAreaInner).setVisibility(eq(View.VISIBLE));
        Mockito.verify(mNotificationAreaInner, atLeast(1)).setVisibility(eq(View.VISIBLE));
    }
}