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

Commit ecd2b0c5 authored by Tiger Huang's avatar Tiger Huang
Browse files

Send more system bar attributes to System UI for logging

This CL sends the requested visibilities and the package name of the
focused app to System UI for logging.

Bug: 190543382
Test: atest RegisterStatusBarResultTest CommandQueueTest
            LightsOutNotifControllerTest
Change-Id: I6b3ceed1efc3075bf0c93620fe753ef2a6f79809
parent 2d8b0319
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import android.hardware.fingerprint.IUdfpsHbmListener;
import android.os.Bundle;
import android.os.ParcelFileDescriptor;
import android.service.notification.StatusBarNotification;
import android.view.InsetsState;

import com.android.internal.statusbar.StatusBarIcon;
import com.android.internal.view.AppearanceRegion;
@@ -182,7 +183,7 @@ oneway interface IStatusBar
    /**
     * Notifies System UI side of system bar attribute change on the specified display.
     *
     * @param displayId the ID of the display to notify
     * @param displayId the ID of the display to notify.
     * @param appearance the appearance of the focused window. The light top bar appearance is not
     *                   controlled here, but primaryAppearance and secondaryAppearance.
     * @param appearanceRegions a set of appearances which will be only applied in their own bounds.
@@ -191,11 +192,12 @@ oneway interface IStatusBar
     *                         stacks.
     * @param navbarColorManagedByIme {@code true} if navigation bar color is managed by IME.
     * @param behavior the behavior of the focused window.
     * @param isFullscreen whether any of status or navigation bar is requested invisible.
     * @param requestedState the collection of the requested visibilities of system insets.
     * @param packageName the package name of the focused app.
     */
    void onSystemBarAttributesChanged(int displayId, int appearance,
            in AppearanceRegion[] appearanceRegions, boolean navbarColorManagedByIme,
            int behavior, boolean isFullscreen);
            int behavior, in InsetsState requestedVisibilities, String packageName);

    /**
     * Notifies System UI to show transient bars. The transient bars are system bars, e.g., status
+12 −7
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.os.IBinder;
import android.os.Parcel;
import android.os.Parcelable;
import android.util.ArrayMap;
import android.view.InsetsState;

import com.android.internal.view.AppearanceRegion;

@@ -39,14 +40,15 @@ public final class RegisterStatusBarResult implements Parcelable {
    public final IBinder mImeToken;
    public final boolean mNavbarColorManagedByIme;
    public final int mBehavior;
    public final boolean mAppFullscreen;
    public final InsetsState mRequestedState;
    public final String mPackageName;
    public final int[] mTransientBarTypes;

    public RegisterStatusBarResult(ArrayMap<String, StatusBarIcon> icons, int disabledFlags1,
            int appearance, AppearanceRegion[] appearanceRegions, int imeWindowVis,
            int imeBackDisposition, boolean showImeSwitcher, int disabledFlags2, IBinder imeToken,
            boolean navbarColorManagedByIme, int behavior, boolean appFullscreen,
            @NonNull int[] transientBarTypes) {
            boolean navbarColorManagedByIme, int behavior, InsetsState requestedState,
            String packageName, @NonNull int[] transientBarTypes) {
        mIcons = new ArrayMap<>(icons);
        mDisabledFlags1 = disabledFlags1;
        mAppearance = appearance;
@@ -58,7 +60,8 @@ public final class RegisterStatusBarResult implements Parcelable {
        mImeToken = imeToken;
        mNavbarColorManagedByIme = navbarColorManagedByIme;
        mBehavior = behavior;
        mAppFullscreen = appFullscreen;
        mRequestedState = requestedState;
        mPackageName = packageName;
        mTransientBarTypes = transientBarTypes;
    }

@@ -80,7 +83,8 @@ public final class RegisterStatusBarResult implements Parcelable {
        dest.writeStrongBinder(mImeToken);
        dest.writeBoolean(mNavbarColorManagedByIme);
        dest.writeInt(mBehavior);
        dest.writeBoolean(mAppFullscreen);
        dest.writeTypedObject(mRequestedState, 0);
        dest.writeString(mPackageName);
        dest.writeIntArray(mTransientBarTypes);
    }

@@ -104,12 +108,13 @@ public final class RegisterStatusBarResult implements Parcelable {
                    final IBinder imeToken = source.readStrongBinder();
                    final boolean navbarColorManagedByIme = source.readBoolean();
                    final int behavior = source.readInt();
                    final boolean appFullscreen = source.readBoolean();
                    final InsetsState requestedState = source.readTypedObject(InsetsState.CREATOR);
                    final String packageName = source.readString();
                    final int[] transientBarTypes = source.createIntArray();
                    return new RegisterStatusBarResult(icons, disabledFlags1, appearance,
                            appearanceRegions, imeWindowVis, imeBackDisposition, showImeSwitcher,
                            disabledFlags2, imeToken, navbarColorManagedByIme, behavior,
                            appFullscreen, transientBarTypes);
                            requestedState, packageName, transientBarTypes);
                }

                @Override
+5 −2
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.os.Binder;
import android.os.Parcel;
import android.os.UserHandle;
import android.util.ArrayMap;
import android.view.InsetsState;

import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
@@ -59,7 +60,8 @@ public class RegisterStatusBarResultTest {
                new Binder() /* imeToken */,
                true /* navbarColorManagedByIme */,
                BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE,
                true /* appFullscreen */,
                new InsetsState() /* requestedState */,
                "test" /* packageName */,
                new int[0] /* transientBarTypes */);

        final RegisterStatusBarResult copy = clone(original);
@@ -79,7 +81,8 @@ public class RegisterStatusBarResultTest {
        assertThat(copy.mImeToken).isSameInstanceAs(original.mImeToken);
        assertThat(copy.mNavbarColorManagedByIme).isEqualTo(original.mNavbarColorManagedByIme);
        assertThat(copy.mBehavior).isEqualTo(original.mBehavior);
        assertThat(copy.mAppFullscreen).isEqualTo(original.mAppFullscreen);
        assertThat(copy.mRequestedState).isEqualTo(original.mRequestedState);
        assertThat(copy.mPackageName).isEqualTo(original.mPackageName);
        assertThat(copy.mTransientBarTypes).isEqualTo(original.mTransientBarTypes);
    }

+2 −1
Original line number Diff line number Diff line
@@ -92,6 +92,7 @@ import android.view.Display;
import android.view.Gravity;
import android.view.HapticFeedbackConstants;
import android.view.IWindowManager;
import android.view.InsetsState;
import android.view.InsetsState.InternalInsetsType;
import android.view.KeyEvent;
import android.view.LayoutInflater;
@@ -954,7 +955,7 @@ public class NavigationBar implements View.OnAttachStateChangeListener,
    @Override
    public void onSystemBarAttributesChanged(int displayId, @Appearance int appearance,
            AppearanceRegion[] appearanceRegions, boolean navbarColorManagedByIme,
            @Behavior int behavior, boolean isFullscreen) {
            @Behavior int behavior, InsetsState requestedState, String packageName) {
        if (displayId != mDisplayId) {
            return;
        }
+2 −1
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_I

import android.inputmethodservice.InputMethodService;
import android.os.IBinder;
import android.view.InsetsState;

import com.android.internal.view.AppearanceRegion;
import com.android.systemui.model.SysUiState;
@@ -108,7 +109,7 @@ public class TaskbarDelegate implements CommandQueue.Callbacks {
    @Override
    public void onSystemBarAttributesChanged(int displayId, int appearance,
            AppearanceRegion[] appearanceRegions, boolean navbarColorManagedByIme, int behavior,
            boolean isFullscreen) {
            InsetsState requestedState, String packageName) {
        mOverviewProxyService.onSystemBarAttributesChanged(displayId, behavior);
    }
}
Loading