Merge "Add callbacks to StatusBarStateController" into qt-r1-dev

This commit is contained in:
Beverly Tai
2019-06-07 21:25:55 +00:00
committed by Android (Google) Code Review
4 changed files with 57 additions and 2 deletions

View File

@@ -18,7 +18,6 @@ package com.android.systemui.plugins.statusbar;
import com.android.systemui.plugins.annotations.DependsOn; import com.android.systemui.plugins.annotations.DependsOn;
import com.android.systemui.plugins.annotations.ProvidesInterface; import com.android.systemui.plugins.annotations.ProvidesInterface;
import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener;
/** /**
@@ -94,5 +93,15 @@ public interface StatusBarStateController {
* performance regressions. * performance regressions.
*/ */
default void onDozeAmountChanged(float linear, float eased) {} default void onDozeAmountChanged(float linear, float eased) {}
/**
* Callback to be notified when the sysui visibility changes
*/
default void onSystemUiVisibilityChanged(int visibility) {}
/**
* Callback to be notified when the pulsing state changes
*/
default void onPulsingChanged(boolean pulsing) {}
} }
} }

View File

@@ -20,6 +20,7 @@ import android.animation.ObjectAnimator;
import android.animation.ValueAnimator; import android.animation.ValueAnimator;
import android.text.format.DateFormat; import android.text.format.DateFormat;
import android.util.FloatProperty; import android.util.FloatProperty;
import android.view.View;
import android.view.animation.Interpolator; import android.view.animation.Interpolator;
import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.GuardedBy;
@@ -76,6 +77,16 @@ public class StatusBarStateControllerImpl implements SysuiStatusBarStateControll
private int mHistoryIndex = 0; private int mHistoryIndex = 0;
private HistoricalState[] mHistoricalRecords = new HistoricalState[HISTORY_SIZE]; private HistoricalState[] mHistoricalRecords = new HistoricalState[HISTORY_SIZE];
/**
* Current SystemUiVisibility
*/
private int mSystemUiVisibility = View.SYSTEM_UI_FLAG_VISIBLE;
/**
* If the device is currently pulsing (AOD2).
*/
private boolean mPulsing;
/** /**
* If the device is currently dozing or not. * If the device is currently dozing or not.
*/ */
@@ -292,6 +303,30 @@ public class StatusBarStateControllerImpl implements SysuiStatusBarStateControll
return mKeyguardRequested; return mKeyguardRequested;
} }
@Override
public void setSystemUiVisibility(int visibility) {
if (mSystemUiVisibility != visibility) {
mSystemUiVisibility = visibility;
synchronized (mListeners) {
for (RankedListener rl : new ArrayList<>(mListeners)) {
rl.mListener.onSystemUiVisibilityChanged(mSystemUiVisibility);
}
}
}
}
@Override
public void setPulsing(boolean pulsing) {
if (mPulsing != pulsing) {
mPulsing = pulsing;
synchronized (mListeners) {
for (RankedListener rl : new ArrayList<>(mListeners)) {
rl.mListener.onPulsingChanged(pulsing);
}
}
}
}
/** /**
* Returns String readable state of status bar from {@link StatusBarState} * Returns String readable state of status bar from {@link StatusBarState}
*/ */

View File

@@ -110,6 +110,16 @@ public interface SysuiStatusBarStateController extends StatusBarStateController
*/ */
boolean isKeyguardRequested(); boolean isKeyguardRequested();
/**
* Set systemui visibility
*/
void setSystemUiVisibility(int visibility);
/**
* Set pulsing
*/
void setPulsing(boolean visibility);
/** /**
* Listener with rankings SbStateListenerRank that have dependencies so must be updated * Listener with rankings SbStateListenerRank that have dependencies so must be updated
* in a certain order * in a certain order

View File

@@ -227,7 +227,6 @@ import com.android.systemui.statusbar.policy.UserInfoController;
import com.android.systemui.statusbar.policy.UserInfoControllerImpl; import com.android.systemui.statusbar.policy.UserInfoControllerImpl;
import com.android.systemui.statusbar.policy.UserSwitcherController; import com.android.systemui.statusbar.policy.UserSwitcherController;
import com.android.systemui.statusbar.policy.ZenModeController; import com.android.systemui.statusbar.policy.ZenModeController;
import com.android.systemui.tuner.TunerService;
import com.android.systemui.util.InjectionInflationController; import com.android.systemui.util.InjectionInflationController;
import com.android.systemui.volume.VolumeComponent; import com.android.systemui.volume.VolumeComponent;
@@ -2134,6 +2133,7 @@ public class StatusBar extends SystemUI implements DemoMode,
checkBarModes(); checkBarModes();
mAutoHideController.touchAutoHide(); mAutoHideController.touchAutoHide();
} }
mStatusBarStateController.setSystemUiVisibility(mSystemUiVisibility);
} }
mLightBarController.onSystemUiVisibilityChanged(fullscreenStackVis, dockedStackVis, mLightBarController.onSystemUiVisibilityChanged(fullscreenStackVis, dockedStackVis,
mask, fullscreenStackBounds, dockedStackBounds, sbModeChanged, mStatusBarMode, mask, fullscreenStackBounds, dockedStackBounds, sbModeChanged, mStatusBarMode,
@@ -3971,6 +3971,7 @@ public class StatusBar extends SystemUI implements DemoMode,
} }
private void setPulsing(boolean pulsing) { private void setPulsing(boolean pulsing) {
mStatusBarStateController.setPulsing(pulsing);
mStatusBarKeyguardViewManager.setPulsing(pulsing); mStatusBarKeyguardViewManager.setPulsing(pulsing);
mKeyguardViewMediator.setPulsing(pulsing); mKeyguardViewMediator.setPulsing(pulsing);
mNotificationPanel.setPulsing(pulsing); mNotificationPanel.setPulsing(pulsing);