Merge "Disconnect from overview service if process dies prior to connecting" into qt-dev
This commit is contained in:
@@ -354,17 +354,22 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
|
|||||||
private final ServiceConnection mOverviewServiceConnection = new ServiceConnection() {
|
private final ServiceConnection mOverviewServiceConnection = new ServiceConnection() {
|
||||||
@Override
|
@Override
|
||||||
public void onServiceConnected(ComponentName name, IBinder service) {
|
public void onServiceConnected(ComponentName name, IBinder service) {
|
||||||
mHandler.removeCallbacks(mDeferredConnectionCallback);
|
|
||||||
mCurrentBoundedUserId = mDeviceProvisionedController.getCurrentUser();
|
|
||||||
mConnectionBackoffAttempts = 0;
|
mConnectionBackoffAttempts = 0;
|
||||||
mOverviewProxy = IOverviewProxy.Stub.asInterface(service);
|
mHandler.removeCallbacks(mDeferredConnectionCallback);
|
||||||
// Listen for launcher's death
|
|
||||||
try {
|
try {
|
||||||
service.linkToDeath(mOverviewServiceDeathRcpt, 0);
|
service.linkToDeath(mOverviewServiceDeathRcpt, 0);
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
|
// Failed to link to death (process may have died between binding and connecting),
|
||||||
|
// just unbind the service for now and retry again
|
||||||
Log.e(TAG_OPS, "Lost connection to launcher service", e);
|
Log.e(TAG_OPS, "Lost connection to launcher service", e);
|
||||||
|
disconnectFromLauncherService();
|
||||||
|
retryConnectionWithBackoff();
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mCurrentBoundedUserId = mDeviceProvisionedController.getCurrentUser();
|
||||||
|
mOverviewProxy = IOverviewProxy.Stub.asInterface(service);
|
||||||
|
|
||||||
Bundle params = new Bundle();
|
Bundle params = new Bundle();
|
||||||
params.putBinder(KEY_EXTRA_SYSUI_PROXY, mSysUiProxy.asBinder());
|
params.putBinder(KEY_EXTRA_SYSUI_PROXY, mSysUiProxy.asBinder());
|
||||||
params.putFloat(KEY_EXTRA_WINDOW_CORNER_RADIUS, mWindowCornerRadius);
|
params.putFloat(KEY_EXTRA_WINDOW_CORNER_RADIUS, mWindowCornerRadius);
|
||||||
@@ -550,7 +555,6 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
|
|||||||
mHandler.post(()-> {
|
mHandler.post(()-> {
|
||||||
StatusBar bar = SysUiServiceProvider.getComponent(mContext, StatusBar.class);
|
StatusBar bar = SysUiServiceProvider.getComponent(mContext, StatusBar.class);
|
||||||
if (bar != null) {
|
if (bar != null) {
|
||||||
System.out.println("MERONG dispatchNotificationPanelTouchEvent");
|
|
||||||
mStatusBarGestureDownEvent.setAction(MotionEvent.ACTION_CANCEL);
|
mStatusBarGestureDownEvent.setAction(MotionEvent.ACTION_CANCEL);
|
||||||
bar.dispatchNotificationsPanelTouchEvent(mStatusBarGestureDownEvent);
|
bar.dispatchNotificationsPanelTouchEvent(mStatusBarGestureDownEvent);
|
||||||
mStatusBarGestureDownEvent.recycle();
|
mStatusBarGestureDownEvent.recycle();
|
||||||
|
|||||||
Reference in New Issue
Block a user