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

Commit be9d20af authored by Bill Lin's avatar Bill Lin
Browse files

NotificationPanelView observe weird gradient in Landscape mode

QSContainerImpl did not gone backgroundGradient in Landscape after
enable again.
This gradient showing improperly make the Visual bad.
We add pocliy in disable() to make sure bkgGradient visibility sync the
state of orientation change.

Test: atest SystemUITests
      Manual test, send notify in landscape reply->back->looks good
Bug: b/109852519
Change-Id: Ia368787d277d44062b6c95aed46848ac51509b5e
parent 1ed497ce
Loading
Loading
Loading
Loading
+13 −11
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.systemui.qs;

import static android.app.StatusBarManager.DISABLE2_QUICK_SETTINGS;
import static android.content.res.Configuration.ORIENTATION_LANDSCAPE;

import android.content.Context;
import android.content.res.Configuration;
@@ -77,16 +78,7 @@ public class QSContainerImpl extends FrameLayout {
    @Override
    protected void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);

        // Hide the backgrounds when in landscape mode.
        if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
            mBackgroundGradient.setVisibility(View.INVISIBLE);
            mStatusBarBackground.setVisibility(View.INVISIBLE);
        } else {
            mBackgroundGradient.setVisibility(View.VISIBLE);
            mStatusBarBackground.setVisibility(View.VISIBLE);
        }

        setBackgroundGradientVisibility(newConfig);
        updateResources();
        mSizePoint.set(0, 0); // Will be retrieved on next measure pass.
    }
@@ -128,7 +120,7 @@ public class QSContainerImpl extends FrameLayout {
        final boolean disabled = (state2 & DISABLE2_QUICK_SETTINGS) != 0;
        if (disabled == mQsDisabled) return;
        mQsDisabled = disabled;
        mBackgroundGradient.setVisibility(mQsDisabled ? View.GONE : View.VISIBLE);
        setBackgroundGradientVisibility(getResources().getConfiguration());
        mBackground.setVisibility(mQsDisabled ? View.GONE : View.VISIBLE);
    }

@@ -168,6 +160,16 @@ public class QSContainerImpl extends FrameLayout {
                + mHeader.getHeight();
    }

    private void setBackgroundGradientVisibility(Configuration newConfig) {
        if (newConfig.orientation == ORIENTATION_LANDSCAPE) {
            mBackgroundGradient.setVisibility(View.INVISIBLE);
            mStatusBarBackground.setVisibility(View.INVISIBLE);
        } else {
            mBackgroundGradient.setVisibility(mQsDisabled ? View.INVISIBLE : View.VISIBLE);
            mStatusBarBackground.setVisibility(View.VISIBLE);
        }
    }

    public void setExpansion(float expansion) {
        mQsExpansion = expansion;
        updateExpansion();