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

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

Merge "Fix potential NPE when removing TaskOrganizerController" into rvc-dev am: b556cb72

Change-Id: If3ec675ffc54d2e6f942d6064ad3e5921e7575da
parents fd4160e8 b556cb72
Loading
Loading
Loading
Loading
+17 −4
Original line number Diff line number Diff line
@@ -78,9 +78,11 @@ class TaskOrganizerController extends ITaskOrganizerController.Stub {
            synchronized (mGlobalLock) {
                final TaskOrganizerState state = mTaskOrganizerStates.remove(
                        mTaskOrganizer.asBinder());
                if (state != null) {
                    state.dispose();
                }
            }
        }
    };

    private class TaskOrganizerState {
@@ -222,10 +224,21 @@ class TaskOrganizerController extends ITaskOrganizerController.Stub {

    @Override
    public void unregisterTaskOrganizer(ITaskOrganizer organizer) {
        enforceStackPermission("unregisterTaskOrganizer()");
        final long origId = Binder.clearCallingIdentity();
        try {
            synchronized (mGlobalLock) {
                final TaskOrganizerState state = mTaskOrganizerStates.remove(organizer.asBinder());
                if (state == null) {
                    return;
                }
                state.unlinkDeath();
                state.dispose();
            }
        } finally {
            Binder.restoreCallingIdentity(origId);
        }
    }

    ITaskOrganizer getTaskOrganizer(int windowingMode) {
        final IBinder organizer =