Merge "Add callbacks to StatusBarStateController" into qt-r1-dev
This commit is contained in:
@@ -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) {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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}
|
||||
*/
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user