diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSDetail.java b/packages/SystemUI/src/com/android/systemui/qs/QSDetail.java index 697db5fabcd83..10514a7f0c7fd 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSDetail.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSDetail.java @@ -287,11 +287,17 @@ public class QSDetail extends LinearLayout { mScanState = state; final Animatable anim = (Animatable) mQsDetailHeaderProgress.getDrawable(); if (state) { - mQsDetailHeaderProgress.animate().alpha(1f); - anim.start(); + mQsDetailHeaderProgress.animate().cancel(); + mQsDetailHeaderProgress.animate() + .alpha(1) + .withEndAction(anim::start) + .start(); } else { - mQsDetailHeaderProgress.animate().alpha(0f); - anim.stop(); + mQsDetailHeaderProgress.animate().cancel(); + mQsDetailHeaderProgress.animate() + .alpha(0f) + .withEndAction(anim::stop) + .start(); } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java index cb8c39dad30a0..136cf216f6530 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java @@ -328,9 +328,6 @@ public class WifiTile extends QSTileImpl { filterUnreachableAPs(); updateItems(); - if (accessPoints != null && accessPoints.size() > 0) { - fireScanStateChanged(false); - } } /** Filter unreachable APs from mAccessPoints */ @@ -378,6 +375,12 @@ public class WifiTile extends QSTileImpl { private void updateItems() { if (mItems == null) return; + if ((mAccessPoints != null && mAccessPoints.length > 0) + || !mSignalCallback.mInfo.enabled) { + fireScanStateChanged(false); + } else { + fireScanStateChanged(true); + } // Wi-Fi is off if (!mSignalCallback.mInfo.enabled) {