[SB Refactor] Add an annotation for the visibility states.
Also updates the starting visibility state values to HIDDEN for mobile and wifi. Bug: 238425913 Test: manual: Verified icons still work Test: StatusBarIconViewTest Change-Id: Icd9c2b14f46a148acc2113ac1e20f85924f19e75
This commit is contained in:
@@ -22,6 +22,7 @@ import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.animation.ValueAnimator;
|
||||
import android.annotation.IntDef;
|
||||
import android.app.ActivityManager;
|
||||
import android.app.Notification;
|
||||
import android.content.Context;
|
||||
@@ -36,7 +37,6 @@ import android.graphics.Paint;
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.graphics.drawable.Icon;
|
||||
import android.os.Parcelable;
|
||||
import android.os.Trace;
|
||||
import android.os.UserHandle;
|
||||
import android.service.notification.StatusBarNotification;
|
||||
@@ -60,6 +60,8 @@ import com.android.systemui.statusbar.notification.NotificationIconDozeHelper;
|
||||
import com.android.systemui.statusbar.notification.NotificationUtils;
|
||||
import com.android.systemui.util.drawable.DrawableSize;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.text.NumberFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -87,6 +89,10 @@ public class StatusBarIconView extends AnimatedImageView implements StatusIconDi
|
||||
public static final int STATE_DOT = 1;
|
||||
public static final int STATE_HIDDEN = 2;
|
||||
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
@IntDef({STATE_ICON, STATE_DOT, STATE_HIDDEN})
|
||||
public @interface VisibleState { }
|
||||
|
||||
private static final String TAG = "StatusBarIconView";
|
||||
private static final Property<StatusBarIconView, Float> ICON_APPEAR_AMOUNT
|
||||
= new FloatProperty<StatusBarIconView>("iconAppearAmount") {
|
||||
@@ -134,6 +140,7 @@ public class StatusBarIconView extends AnimatedImageView implements StatusIconDi
|
||||
private final Paint mDotPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
private float mDotRadius;
|
||||
private int mStaticDotRadius;
|
||||
@StatusBarIconView.VisibleState
|
||||
private int mVisibleState = STATE_ICON;
|
||||
private float mIconAppearAmount = 1.0f;
|
||||
private ObjectAnimator mIconAppearAnimator;
|
||||
@@ -744,11 +751,12 @@ public class StatusBarIconView extends AnimatedImageView implements StatusIconDi
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVisibleState(int state) {
|
||||
public void setVisibleState(@StatusBarIconView.VisibleState int state) {
|
||||
setVisibleState(state, true /* animate */, null /* endRunnable */);
|
||||
}
|
||||
|
||||
public void setVisibleState(int state, boolean animate) {
|
||||
@Override
|
||||
public void setVisibleState(@StatusBarIconView.VisibleState int state, boolean animate) {
|
||||
setVisibleState(state, animate, null);
|
||||
}
|
||||
|
||||
@@ -860,6 +868,7 @@ public class StatusBarIconView extends AnimatedImageView implements StatusIconDi
|
||||
return mIconAppearAmount;
|
||||
}
|
||||
|
||||
@StatusBarIconView.VisibleState
|
||||
public int getVisibleState() {
|
||||
return mVisibleState;
|
||||
}
|
||||
|
||||
@@ -59,7 +59,8 @@ public class StatusBarMobileView extends FrameLayout implements DarkReceiver,
|
||||
private ImageView mOut;
|
||||
private ImageView mMobile, mMobileType, mMobileRoaming;
|
||||
private View mMobileRoamingSpace;
|
||||
private int mVisibleState = -1;
|
||||
@StatusBarIconView.VisibleState
|
||||
private int mVisibleState = STATE_HIDDEN;
|
||||
private DualToneHandler mDualToneHandler;
|
||||
private boolean mForceHidden;
|
||||
|
||||
@@ -271,7 +272,7 @@ public class StatusBarMobileView extends FrameLayout implements DarkReceiver,
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVisibleState(int state, boolean animate) {
|
||||
public void setVisibleState(@StatusBarIconView.VisibleState int state, boolean animate) {
|
||||
if (state == mVisibleState) {
|
||||
return;
|
||||
}
|
||||
@@ -312,6 +313,7 @@ public class StatusBarMobileView extends FrameLayout implements DarkReceiver,
|
||||
}
|
||||
|
||||
@Override
|
||||
@StatusBarIconView.VisibleState
|
||||
public int getVisibleState() {
|
||||
return mVisibleState;
|
||||
}
|
||||
|
||||
@@ -55,7 +55,8 @@ public class StatusBarWifiView extends BaseStatusBarWifiView implements DarkRece
|
||||
private View mAirplaneSpacer;
|
||||
private WifiIconState mState;
|
||||
private String mSlot;
|
||||
private int mVisibleState = -1;
|
||||
@StatusBarIconView.VisibleState
|
||||
private int mVisibleState = STATE_HIDDEN;
|
||||
|
||||
public static StatusBarWifiView fromContext(Context context, String slot) {
|
||||
LayoutInflater inflater = LayoutInflater.from(context);
|
||||
@@ -107,7 +108,7 @@ public class StatusBarWifiView extends BaseStatusBarWifiView implements DarkRece
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVisibleState(int state, boolean animate) {
|
||||
public void setVisibleState(@StatusBarIconView.VisibleState int state, boolean animate) {
|
||||
if (state == mVisibleState) {
|
||||
return;
|
||||
}
|
||||
@@ -131,6 +132,7 @@ public class StatusBarWifiView extends BaseStatusBarWifiView implements DarkRece
|
||||
}
|
||||
|
||||
@Override
|
||||
@StatusBarIconView.VisibleState
|
||||
public int getVisibleState() {
|
||||
return mVisibleState;
|
||||
}
|
||||
|
||||
@@ -22,14 +22,24 @@ public interface StatusIconDisplayable extends DarkReceiver {
|
||||
String getSlot();
|
||||
void setStaticDrawableColor(int color);
|
||||
void setDecorColor(int color);
|
||||
default void setVisibleState(int state) {
|
||||
|
||||
/** Sets the visible state that this displayable should be. */
|
||||
default void setVisibleState(@StatusBarIconView.VisibleState int state) {
|
||||
setVisibleState(state, false);
|
||||
}
|
||||
void setVisibleState(int state, boolean animate);
|
||||
|
||||
/**
|
||||
* Sets the visible state that this displayable should be, and whether the change should
|
||||
* animate.
|
||||
*/
|
||||
void setVisibleState(@StatusBarIconView.VisibleState int state, boolean animate);
|
||||
|
||||
/** Returns the current visible state of this displayable. */
|
||||
@StatusBarIconView.VisibleState
|
||||
int getVisibleState();
|
||||
|
||||
boolean isIconVisible();
|
||||
default boolean isIconBlocked() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import com.android.systemui.R
|
||||
import com.android.systemui.statusbar.BaseStatusBarWifiView
|
||||
import com.android.systemui.statusbar.StatusBarIconView
|
||||
import com.android.systemui.statusbar.StatusBarIconView.STATE_ICON
|
||||
import com.android.systemui.statusbar.phone.StatusBarLocation
|
||||
import com.android.systemui.statusbar.pipeline.wifi.ui.binder.WifiViewBinder
|
||||
@@ -52,10 +53,11 @@ class ModernStatusBarWifiView(
|
||||
// TODO(b/238425913)
|
||||
}
|
||||
|
||||
override fun setVisibleState(state: Int, animate: Boolean) {
|
||||
override fun setVisibleState(@StatusBarIconView.VisibleState state: Int, animate: Boolean) {
|
||||
// TODO(b/238425913)
|
||||
}
|
||||
|
||||
@StatusBarIconView.VisibleState
|
||||
override fun getVisibleState(): Int {
|
||||
// TODO(b/238425913)
|
||||
return STATE_ICON
|
||||
|
||||
Reference in New Issue
Block a user