Fields Summary |
---|
private boolean | mBatteryCharging |
private boolean | mKeyguardUserSwitcherShowing |
private boolean | mBatteryListening |
private android.widget.TextView | mCarrierLabel |
private android.view.View | mSystemIconsSuperContainer |
private MultiUserSwitch | mMultiUserSwitch |
private android.widget.ImageView | mMultiUserAvatar |
private android.widget.TextView | mBatteryLevel |
private com.android.systemui.statusbar.policy.BatteryController | mBatteryController |
private com.android.systemui.statusbar.policy.KeyguardUserSwitcher | mKeyguardUserSwitcher |
private int | mSystemIconsSwitcherHiddenExpandedMargin |
private android.view.animation.Interpolator | mFastOutSlowInInterpolator |
Methods Summary |
---|
private void | animateNextLayoutChange()
final int systemIconsCurrentX = mSystemIconsSuperContainer.getLeft();
final boolean userSwitcherVisible = mMultiUserSwitch.getParent() == this;
getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
@Override
public boolean onPreDraw() {
getViewTreeObserver().removeOnPreDrawListener(this);
boolean userSwitcherHiding = userSwitcherVisible
&& mMultiUserSwitch.getParent() != KeyguardStatusBarView.this;
mSystemIconsSuperContainer.setX(systemIconsCurrentX);
mSystemIconsSuperContainer.animate()
.translationX(0)
.setDuration(400)
.setStartDelay(userSwitcherHiding ? 300 : 0)
.setInterpolator(mFastOutSlowInInterpolator)
.start();
if (userSwitcherHiding) {
getOverlay().add(mMultiUserSwitch);
mMultiUserSwitch.animate()
.alpha(0f)
.setDuration(300)
.setStartDelay(0)
.setInterpolator(PhoneStatusBar.ALPHA_OUT)
.withEndAction(new Runnable() {
@Override
public void run() {
mMultiUserSwitch.setAlpha(1f);
getOverlay().remove(mMultiUserSwitch);
}
})
.start();
} else {
mMultiUserSwitch.setAlpha(0f);
mMultiUserSwitch.animate()
.alpha(1f)
.setDuration(300)
.setStartDelay(200)
.setInterpolator(PhoneStatusBar.ALPHA_IN);
}
return true;
}
});
|
public boolean | hasOverlappingRendering()
return false;
|
private void | loadDimens()
mSystemIconsSwitcherHiddenExpandedMargin = getResources().getDimensionPixelSize(
R.dimen.system_icons_switcher_hidden_expanded_margin);
|
public void | onBatteryLevelChanged(int level, boolean pluggedIn, boolean charging)
String percentage = NumberFormat.getPercentInstance().format((double) level / 100.0);
mBatteryLevel.setText(percentage);
boolean changed = mBatteryCharging != charging;
mBatteryCharging = charging;
if (changed) {
updateVisibilities();
}
|
protected void | onConfigurationChanged(android.content.res.Configuration newConfig)
super.onConfigurationChanged(newConfig);
// Respect font size setting.
mCarrierLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX,
getResources().getDimensionPixelSize(
com.android.internal.R.dimen.text_size_small_material));
mBatteryLevel.setTextSize(TypedValue.COMPLEX_UNIT_PX,
getResources().getDimensionPixelSize(R.dimen.battery_level_text_size));
|
protected void | onFinishInflate()
super.onFinishInflate();
mSystemIconsSuperContainer = findViewById(R.id.system_icons_super_container);
mMultiUserSwitch = (MultiUserSwitch) findViewById(R.id.multi_user_switch);
mMultiUserAvatar = (ImageView) findViewById(R.id.multi_user_avatar);
mBatteryLevel = (TextView) findViewById(R.id.battery_level);
mCarrierLabel = (TextView) findViewById(R.id.keyguard_carrier_text);
loadDimens();
mFastOutSlowInInterpolator = AnimationUtils.loadInterpolator(getContext(),
android.R.interpolator.fast_out_slow_in);
updateUserSwitcher();
|
public void | onPowerSaveChanged()
// could not care less
|
public void | setBatteryController(com.android.systemui.statusbar.policy.BatteryController batteryController)
mBatteryController = batteryController;
((BatteryMeterView) findViewById(R.id.battery)).setBatteryController(batteryController);
|
public void | setKeyguardUserSwitcher(com.android.systemui.statusbar.policy.KeyguardUserSwitcher keyguardUserSwitcher)
mKeyguardUserSwitcher = keyguardUserSwitcher;
mMultiUserSwitch.setKeyguardUserSwitcher(keyguardUserSwitcher);
updateUserSwitcher();
|
public void | setKeyguardUserSwitcherShowing(boolean showing, boolean animate)
mKeyguardUserSwitcherShowing = showing;
if (animate) {
animateNextLayoutChange();
}
updateVisibilities();
updateSystemIconsLayoutParams();
|
public void | setListening(boolean listening)
if (listening == mBatteryListening) {
return;
}
mBatteryListening = listening;
if (mBatteryListening) {
mBatteryController.addStateChangedCallback(this);
} else {
mBatteryController.removeStateChangedCallback(this);
}
|
public void | setUserInfoController(com.android.systemui.statusbar.policy.UserInfoController userInfoController)
userInfoController.addListener(new UserInfoController.OnUserInfoChangedListener() {
@Override
public void onUserInfoChanged(String name, Drawable picture) {
mMultiUserAvatar.setImageDrawable(picture);
}
});
|
public void | setVisibility(int visibility)
super.setVisibility(visibility);
if (visibility != View.VISIBLE) {
mSystemIconsSuperContainer.animate().cancel();
mMultiUserSwitch.animate().cancel();
mMultiUserSwitch.setAlpha(1f);
}
|
private void | updateSystemIconsLayoutParams()
RelativeLayout.LayoutParams lp =
(LayoutParams) mSystemIconsSuperContainer.getLayoutParams();
int marginEnd = mKeyguardUserSwitcherShowing ? mSystemIconsSwitcherHiddenExpandedMargin : 0;
if (marginEnd != lp.getMarginEnd()) {
lp.setMarginEnd(marginEnd);
mSystemIconsSuperContainer.setLayoutParams(lp);
}
|
private void | updateUserSwitcher()
boolean keyguardSwitcherAvailable = mKeyguardUserSwitcher != null;
mMultiUserSwitch.setClickable(keyguardSwitcherAvailable);
mMultiUserSwitch.setFocusable(keyguardSwitcherAvailable);
mMultiUserSwitch.setKeyguardMode(keyguardSwitcherAvailable);
|
private void | updateVisibilities()
if (mMultiUserSwitch.getParent() != this && !mKeyguardUserSwitcherShowing) {
if (mMultiUserSwitch.getParent() != null) {
getOverlay().remove(mMultiUserSwitch);
}
addView(mMultiUserSwitch, 0);
} else if (mMultiUserSwitch.getParent() == this && mKeyguardUserSwitcherShowing) {
removeView(mMultiUserSwitch);
}
mBatteryLevel.setVisibility(mBatteryCharging ? View.VISIBLE : View.GONE);
|