import com.android.systemui.plugins.annotations.DependsOn;
import com.android.systemui.plugins.annotations.ProvidesInterface;
-import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener;
/**
* performance regressions.
*/
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) {}
}
}
import android.animation.ValueAnimator;
import android.text.format.DateFormat;
import android.util.FloatProperty;
+import android.view.View;
import android.view.animation.Interpolator;
import com.android.internal.annotations.GuardedBy;
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.
*/
private boolean mIsDozing;
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}
*/
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
* in a certain order
*/
import com.android.systemui.statusbar.policy.UserInfoControllerImpl;
import com.android.systemui.statusbar.policy.UserSwitcherController;
import com.android.systemui.statusbar.policy.ZenModeController;
-import com.android.systemui.tuner.TunerService;
import com.android.systemui.util.InjectionInflationController;
import com.android.systemui.volume.VolumeComponent;
checkBarModes();
mAutoHideController.touchAutoHide();
}
+ mStatusBarStateController.setSystemUiVisibility(mSystemUiVisibility);
}
mLightBarController.onSystemUiVisibilityChanged(fullscreenStackVis, dockedStackVis,
mask, fullscreenStackBounds, dockedStackBounds, sbModeChanged, mStatusBarMode,
}
private void setPulsing(boolean pulsing) {
+ mStatusBarStateController.setPulsing(pulsing);
mStatusBarKeyguardViewManager.setPulsing(pulsing);
mKeyguardViewMediator.setPulsing(pulsing);
mNotificationPanel.setPulsing(pulsing);