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

Commit 9d4ae5da authored by Felix Stern's avatar Felix Stern
Browse files

fix the NPE problem due to add null InsetsControlTarget object to map .

We may add null  InsetsControlTarget object to map when call the
onPostLayout method in InsetsSourceProvider java file.

Test: OEM monkey test
Flag: EXEMPT bugfix
Bug: 385565551
(cherry picked from https://android-review.googlesource.com/q/commit:d45a6eb0f3345d1af8bd9a271cdfb60ce29fd7b7)

Change-Id: I8be582c42c6ba7524a3d6edc0a36aa4856e10e71
parent ee1835d1
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -101,7 +101,8 @@ final class ImeInsetsSourceProvider extends InsetsSourceProvider {
            // isLeashReadyForDispatching (used to dispatch the leash of the control) is
            // depending on mGivenInsetsReady. Therefore, triggering notifyControlChanged here
            // again, so that the control with leash can be eventually dispatched
            if (!mGivenInsetsReady && isServerVisible() && !givenInsetsPending) {
            if (!mGivenInsetsReady && isServerVisible() && !givenInsetsPending
                    && mControlTarget != null) {
                mGivenInsetsReady = true;
                ImeTracker.forLogging().onProgress(mStatsToken,
                        ImeTracker.PHASE_WM_POST_LAYOUT_NOTIFY_CONTROLS_CHANGED);
+1 −1
Original line number Diff line number Diff line
@@ -384,7 +384,7 @@ class InsetsSourceProvider {
        }
        final boolean serverVisibleChanged = mServerVisible != isServerVisible;
        setServerVisible(isServerVisible);
        if (mControl != null) {
        if (mControl != null && mControlTarget != null) {
            final boolean positionChanged = updateInsetsControlPosition(windowState);
            if (!(positionChanged || mHasPendingPosition)
                    // The insets hint would be updated while changing the position. Here updates it
+1 −1
Original line number Diff line number Diff line
@@ -371,7 +371,7 @@ class InsetsStateController {
        array.add(provider);
    }

    void notifyControlChanged(InsetsControlTarget target, InsetsSourceProvider provider) {
    void notifyControlChanged(@NonNull InsetsControlTarget target, InsetsSourceProvider provider) {
        addToPendingControlMaps(target, provider);
        notifyPendingInsetsControlChanged();
    }