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

Commit 727df8b8 authored by Louis Chang's avatar Louis Chang Committed by Android (Google) Code Review
Browse files

Merge "Remove dispose_task_fragment_synchronously flag" into main

parents d7120777 f905db88
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -155,17 +155,6 @@ flag {
    }
}

flag {
    namespace: "windowing_sdk"
    name: "dispose_task_fragment_synchronously"
    description: "Handle TaskFragment disposal synchronously when handling app died."
    bug: "429336735"
    is_fixed_read_only: true
    metadata {
        purpose: PURPOSE_BUGFIX
    }
}

flag {
    namespace: "windowing_sdk"
    name: "refactor_match_parent_bounds"
+8 −27
Original line number Diff line number Diff line
@@ -113,7 +113,7 @@ public class TaskFragmentOrganizerController extends ITaskFragmentOrganizerContr
     * A class to manage {@link ITaskFragmentOrganizer} and its organized
     * {@link TaskFragment TaskFragments}.
     */
    private class TaskFragmentOrganizerState implements IBinder.DeathRecipient {
    private class TaskFragmentOrganizerState {
        @NonNull
        private final ArrayList<TaskFragment> mOrganizedTaskFragments = new ArrayList<>();
        private final int mOrganizerUid;
@@ -200,13 +200,6 @@ public class TaskFragmentOrganizerController extends ITaskFragmentOrganizerContr
            registerProcessDiedHandler(pid);
        }

        @Override
        public void binderDied() {
            synchronized (mGlobalLock) {
                handleAppDied();
            }
        }

        private void handleAppDied() {
            // TODO(b/419688177): remove the debug log
            ProtoLog.d(WmProtoLogGroups.WM_DEBUG_WINDOW_TRANSITIONS_MIN,
@@ -231,18 +224,10 @@ public class TaskFragmentOrganizerController extends ITaskFragmentOrganizerContr
        }

        private void registerProcessDiedHandler(int pid) {
            if (com.android.window.flags.Flags.disposeTaskFragmentSynchronously()) {
            final WindowProcessController wpc = mAtmService.mProcessMap.getProcess(pid);
            if (wpc != null) {
                wpc.addListener(mProcessListener);
            }
            } else {
                try {
                    mOrganizer.asBinder().linkToDeath(this, 0 /*flags*/);
                } catch (RemoteException e) {
                    Slog.e(TAG, "TaskFragmentOrganizer failed to register death recipient");
                }
            }
        }

        boolean hasSavedState() {
@@ -332,15 +317,11 @@ public class TaskFragmentOrganizerController extends ITaskFragmentOrganizerContr
                // Cleanup any in-flight transactions to unblock the transition.
                mInFlightTransactions.valueAt(i).meetAlternate("disposed(" + reason + ")");
            }
            if (com.android.window.flags.Flags.disposeTaskFragmentSynchronously()) {
            final WindowProcessController wpc = mAtmService.mProcessMap.getProcess(
                    mOrganizerPid);
            if (wpc != null) {
                wpc.removeListener(mProcessListener);
            }
            } else {
                mOrganizer.asBinder().unlinkToDeath(this, 0 /* flags */);
            }
        }

        @NonNull
+0 −3
Original line number Diff line number Diff line
@@ -2370,9 +2370,6 @@ public class WindowProcessController extends ConfigurationContainer<Configuratio
    }

    void addListener(@NonNull WindowProcessController.Listener listener) {
        if (!com.android.window.flags.Flags.disposeTaskFragmentSynchronously()) {
            return;
        }
        if (mListeners == null) {
            mListeners = new ArrayList<>();
        }