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

Commit c3d3e0ea authored by Tiger Huang's avatar Tiger Huang Committed by Android (Google) Code Review
Browse files

Merge "Send more system bar attributes to System UI for logging" into sc-v2-dev

parents 82015d86 ecd2b0c5
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