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

Commit bda41b51 authored by Heemin Seog's avatar Heemin Seog Committed by Automerger Merge Worker
Browse files

Merge "Ensure notif panel behavior in immersive mode" into rvc-qpr-dev am: 7c6a4eee

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12642386

Change-Id: I63312ced8839331be56ff96a93716ba24a73fba0
parents ea71e7b9 7c6a4eee
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -25,7 +25,8 @@
    <ViewStub android:id="@+id/notification_panel_stub"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:layout="@layout/notification_panel_container"/>
              android:layout="@layout/notification_panel_container"
              android:layout_marginBottom="@dimen/car_bottom_navigation_bar_height"/>

    <ViewStub android:id="@+id/keyguard_stub"
              android:layout_width="match_parent"
+6 −0
Original line number Diff line number Diff line
@@ -194,6 +194,12 @@
    <dimen name="car_navigation_bar_width">760dp</dimen>
    <dimen name="car_left_navigation_bar_width">96dp</dimen>
    <dimen name="car_right_navigation_bar_width">96dp</dimen>
    <!-- In order to change the height of the bottom nav bar, overlay navigation_bar_height in
         frameworks/base/core/res/res instead. -->
    <dimen name="car_bottom_navigation_bar_height">@*android:dimen/navigation_bar_height</dimen>
    <!-- In order to change the height of the top nav bar, overlay status_bar_height in
         frameworks/base/core/res/res instead. -->
    <dimen name="car_top_navigation_bar_height">@*android:dimen/status_bar_height</dimen>

    <dimen name="car_user_switcher_container_height">420dp</dimen>
    <!-- This must be the negative of car_user_switcher_container_height for the animation. -->
+2 −2
Original line number Diff line number Diff line
@@ -170,7 +170,7 @@ public class SystemBarConfigs {
                    new SystemBarConfigBuilder()
                            .setSide(TOP)
                            .setGirth(mResources.getDimensionPixelSize(
                                    com.android.internal.R.dimen.status_bar_height))
                                    R.dimen.car_top_navigation_bar_height))
                            .setBarType(mResources.getInteger(R.integer.config_topSystemBarType))
                            .setZOrder(mResources.getInteger(R.integer.config_topSystemBarZOrder))
                            .setHideForKeyboard(mResources.getBoolean(
@@ -184,7 +184,7 @@ public class SystemBarConfigs {
                    new SystemBarConfigBuilder()
                            .setSide(BOTTOM)
                            .setGirth(mResources.getDimensionPixelSize(
                                    com.android.internal.R.dimen.navigation_bar_height))
                                    R.dimen.car_bottom_navigation_bar_height))
                            .setBarType(mResources.getInteger(R.integer.config_bottomSystemBarType))
                            .setZOrder(
                                    mResources.getInteger(R.integer.config_bottomSystemBarZOrder))
+22 −3
Original line number Diff line number Diff line
@@ -16,8 +16,6 @@

package com.android.systemui.car.notification;

import static android.view.WindowInsets.Type.navigationBars;

import android.app.ActivityManager;
import android.car.Car;
import android.car.drivingstate.CarUxRestrictionsManager;
@@ -25,6 +23,8 @@ import android.content.Context;
import android.content.res.Resources;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.inputmethodservice.InputMethodService;
import android.os.IBinder;
import android.os.RemoteException;
import android.util.Log;
import android.view.GestureDetector;
@@ -82,6 +82,7 @@ public class NotificationPanelViewController extends OverlayPanelViewController
    private final StatusBarStateController mStatusBarStateController;
    private final boolean mEnableHeadsUpNotificationWhenNotificationShadeOpen;
    private final NotificationVisibilityLogger mNotificationVisibilityLogger;
    private final int mNavBarHeight;

    private float mInitialBackgroundAlpha;
    private float mBackgroundAlphaDiff;
@@ -138,7 +139,10 @@ public class NotificationPanelViewController extends OverlayPanelViewController
        mStatusBarStateController = statusBarStateController;
        mNotificationVisibilityLogger = notificationVisibilityLogger;

        mNavBarHeight = mResources.getDimensionPixelSize(R.dimen.car_bottom_navigation_bar_height);

        mCommandQueue.addCallback(this);

        // Notification background setup.
        mInitialBackgroundAlpha = (float) mResources.getInteger(
                R.integer.config_initialNotificationBackgroundAlpha) / 100;
@@ -179,6 +183,21 @@ public class NotificationPanelViewController extends OverlayPanelViewController
        }
    }

    @Override
    public void setImeWindowStatus(int displayId, IBinder token, int vis, int backDisposition,
            boolean showImeSwitcher) {
        if (mContext.getDisplayId() != displayId) {
            return;
        }
        boolean isKeyboardVisible = (vis & InputMethodService.IME_VISIBLE) != 0;
        int bottomMargin = isKeyboardVisible ? 0 : mNavBarHeight;
        ViewGroup container = (ViewGroup) getLayout();
        ViewGroup.MarginLayoutParams params =
                (ViewGroup.MarginLayoutParams) container.getLayoutParams();
        params.setMargins(params.leftMargin, params.topMargin, params.rightMargin, bottomMargin);
        container.setLayoutParams(params);
    }

    // OverlayViewController

    @Override
@@ -204,7 +223,7 @@ public class NotificationPanelViewController extends OverlayPanelViewController

    @Override
    protected int getInsetTypesToFit() {
        return navigationBars();
        return 0;
    }

    @Override