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

Commit fff9bcd0 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Add reason log for OPS killing launcher connection" into tm-qpr-dev am:...

Merge "Add reason log for OPS killing launcher connection" into tm-qpr-dev am: 1e9105e9 am: d6718c80 am: 1b6d0987

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/22202549



Change-Id: I646f15a3568f4ce041ae6b19552f615e010a73ab
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents a1a2e1f1 1b6d0987
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");
    }
}