Merge "Fix sysui crashlooping"
This commit is contained in:
@@ -32,6 +32,7 @@ import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.nano.MetricsProto;
|
||||
import com.android.keyguard.KeyguardStatusView;
|
||||
@@ -236,13 +237,8 @@ public class QuickStatusBarHeader extends BaseStatusBarHeader implements
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onAttachedToWindow() {
|
||||
super.onAttachedToWindow();
|
||||
mHost.getUserInfoController().addCallback(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDetachedFromWindow() {
|
||||
@VisibleForTesting
|
||||
public void onDetachedFromWindow() {
|
||||
setListening(false);
|
||||
mHost.getUserInfoController().removeCallback(this);
|
||||
mHost.getNetworkController().removeEmergencyListener(this);
|
||||
@@ -375,7 +371,7 @@ public class QuickStatusBarHeader extends BaseStatusBarHeader implements
|
||||
}
|
||||
|
||||
public void setUserInfoController(UserInfoController userInfoController) {
|
||||
// Don't care
|
||||
userInfoController.addCallback(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -21,8 +21,10 @@ import android.os.Handler;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
|
||||
import com.android.systemui.FragmentTestCase;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.statusbar.phone.PhoneStatusBar;
|
||||
import com.android.systemui.statusbar.phone.QSTileHost;
|
||||
import com.android.systemui.statusbar.phone.QuickStatusBarHeader;
|
||||
import com.android.systemui.statusbar.phone.StatusBarIconController;
|
||||
import com.android.systemui.statusbar.policy.BatteryController;
|
||||
import com.android.systemui.statusbar.policy.BluetoothController;
|
||||
@@ -86,6 +88,10 @@ public class QSFragmentTest extends FragmentTestCase {
|
||||
qs.setListening(false);
|
||||
waitForIdleSync(h);
|
||||
|
||||
// Manually push header through detach so it can handle standard cleanup it does on
|
||||
// removed from window.
|
||||
((QuickStatusBarHeader) qs.getView().findViewById(R.id.header)).onDetachedFromWindow();
|
||||
|
||||
host.destroy();
|
||||
// Ensure the tuner cleans up its persistent listeners.
|
||||
TunerService.get(mContext).destroy();
|
||||
|
||||
Reference in New Issue
Block a user