Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1cf8c653 authored by Vinit Nayak's avatar Vinit Nayak
Browse files

Add reason log for OPS killing launcher connection

Bug: 266716173
Change-Id: Ic5125a60dd4543f21426efbc48afe682f2b9cee9
parent b1a1dc4d
Loading
Loading
Loading
Loading
+11 −8
Original line number Diff line number Diff line
@@ -140,7 +140,8 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
    private final Handler mHandler;
    private final Lazy<NavigationBarController> mNavBarControllerLazy;
    private final NotificationShadeWindowController mStatusBarWinController;
    private final Runnable mConnectionRunnable = this::internalConnectToCurrentUser;
    private final Runnable mConnectionRunnable = () ->
            internalConnectToCurrentUser("runnable: startConnectionToCurrentUser");
    private final ComponentName mRecentsComponentName;
    private final List<OverviewProxyListener> mConnectionCallbacks = new ArrayList<>();
    private final Intent mQuickStepIntent;
@@ -406,7 +407,7 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
                // 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);
                disconnectFromLauncherService();
                disconnectFromLauncherService("Lost connection to launcher service");
                retryConnectionWithBackoff();
                return;
            }
@@ -501,7 +502,7 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
                @Override
                public void onUserChanged(int newUser, @NonNull Context userContext) {
                    mConnectionBackoffAttempts = 0;
                    internalConnectToCurrentUser();
                    internalConnectToCurrentUser("User changed");
                }
            };

@@ -716,12 +717,12 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
        if (mHandler.getLooper() != Looper.myLooper()) {
            mHandler.post(mConnectionRunnable);
        } else {
            internalConnectToCurrentUser();
            internalConnectToCurrentUser("startConnectionToCurrentUser");
        }
    }

    private void internalConnectToCurrentUser() {
        disconnectFromLauncherService();
    private void internalConnectToCurrentUser(String reason) {
        disconnectFromLauncherService(reason);

        // If user has not setup yet or already connected, do not try to connect
        if (!isEnabled()) {
@@ -783,7 +784,9 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
        return mOverviewProxy;
    }

    private void disconnectFromLauncherService() {
    private void disconnectFromLauncherService(String disconnectReason) {
        Log.d(TAG_OPS, "disconnectFromLauncherService bound?: " + mBound +
                " currentProxy: " + mOverviewProxy + " disconnectReason: " + disconnectReason);
        if (mBound) {
            // Always unbind the service (ie. if called through onNullBinding or onBindingDied)
            mContext.unbindService(mOverviewServiceConnection);
@@ -1047,6 +1050,6 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
        mContext.unregisterReceiver(mLauncherStateChangedReceiver);
        mIsEnabled = false;
        mHandler.removeCallbacks(mConnectionRunnable);
        disconnectFromLauncherService();
        disconnectFromLauncherService("Shutdown for test");
    }
}