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

am: c81f05a7b3

Change-Id: Ib4e32adb4711de7a6fa00f588410e6aa8555f761
This commit is contained in:
Beverly Tai
2019-06-07 14:33:34 -07:00
committed by android-build-merger
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.ProvidesInterface;
import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener;
/**
@@ -94,5 +93,15 @@ public interface StatusBarStateController {
* 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) {}
}
}

View File

@@ -20,6 +20,7 @@ import android.animation.ObjectAnimator;
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;
@@ -76,6 +77,16 @@ public class StatusBarStateControllerImpl implements SysuiStatusBarStateControll
private int mHistoryIndex = 0;
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.
*/
@@ -292,6 +303,30 @@ public class StatusBarStateControllerImpl implements SysuiStatusBarStateControll
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}
*/

View File

@@ -110,6 +110,16 @@ public interface SysuiStatusBarStateController extends StatusBarStateController
*/
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

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.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;
@@ -2134,6 +2133,7 @@ public class StatusBar extends SystemUI implements DemoMode,
checkBarModes();
mAutoHideController.touchAutoHide();
}
mStatusBarStateController.setSystemUiVisibility(mSystemUiVisibility);
}
mLightBarController.onSystemUiVisibilityChanged(fullscreenStackVis, dockedStackVis,
mask, fullscreenStackBounds, dockedStackBounds, sbModeChanged, mStatusBarMode,
@@ -3971,6 +3971,7 @@ public class StatusBar extends SystemUI implements DemoMode,
}
private void setPulsing(boolean pulsing) {
mStatusBarStateController.setPulsing(pulsing);
mStatusBarKeyguardViewManager.setPulsing(pulsing);
mKeyguardViewMediator.setPulsing(pulsing);
mNotificationPanel.setPulsing(pulsing);