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

Commit 245a76e4 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fixes NavigationBarFragment leak"

parents 35c66ff5 1b7d6105
Loading
Loading
Loading
Loading
+20 −15
Original line number Original line Diff line number Diff line
@@ -269,6 +269,17 @@ public class NavigationBarFragment extends LifecycleFragment implements Callback
        }
        }
    };
    };


    private final DeviceConfig.OnPropertiesChangedListener mOnPropertiesChangedListener =
            new DeviceConfig.OnPropertiesChangedListener() {
        @Override
        public void onPropertiesChanged(DeviceConfig.Properties properties) {
            if (properties.getKeyset().contains(NAV_BAR_HANDLE_FORCE_OPAQUE)) {
                mForceNavBarHandleOpaque = properties.getBoolean(
                        NAV_BAR_HANDLE_FORCE_OPAQUE, /* defaultValue = */ true);
            }
        }
    };

    @Inject
    @Inject
    public NavigationBarFragment(AccessibilityManagerWrapper accessibilityManagerWrapper,
    public NavigationBarFragment(AccessibilityManagerWrapper accessibilityManagerWrapper,
            DeviceProvisionedController deviceProvisionedController, MetricsLogger metricsLogger,
            DeviceProvisionedController deviceProvisionedController, MetricsLogger metricsLogger,
@@ -298,21 +309,6 @@ public class NavigationBarFragment extends LifecycleFragment implements Callback
        mDivider = divider;
        mDivider = divider;
        mRecentsOptional = recentsOptional;
        mRecentsOptional = recentsOptional;
        mHandler = mainHandler;
        mHandler = mainHandler;

        mForceNavBarHandleOpaque = DeviceConfig.getBoolean(
                DeviceConfig.NAMESPACE_SYSTEMUI,
                NAV_BAR_HANDLE_FORCE_OPAQUE,
                /* defaultValue = */ true);
        DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_SYSTEMUI, mHandler::post,
                new DeviceConfig.OnPropertiesChangedListener() {
                    @Override
                    public void onPropertiesChanged(DeviceConfig.Properties properties) {
                        if (properties.getKeyset().contains(NAV_BAR_HANDLE_FORCE_OPAQUE)) {
                            mForceNavBarHandleOpaque = properties.getBoolean(
                                    NAV_BAR_HANDLE_FORCE_OPAQUE, /* defaultValue = */ true);
                        }
                    }
                });
    }
    }


    // ----- Fragment Lifecycle Callbacks -----
    // ----- Fragment Lifecycle Callbacks -----
@@ -338,6 +334,13 @@ public class NavigationBarFragment extends LifecycleFragment implements Callback


        // Respect the latest disabled-flags.
        // Respect the latest disabled-flags.
        mCommandQueue.recomputeDisableFlags(mDisplayId, false);
        mCommandQueue.recomputeDisableFlags(mDisplayId, false);

        mForceNavBarHandleOpaque = DeviceConfig.getBoolean(
                DeviceConfig.NAMESPACE_SYSTEMUI,
                NAV_BAR_HANDLE_FORCE_OPAQUE,
                /* defaultValue = */ true);
        DeviceConfig.addOnPropertiesChangedListener(
                DeviceConfig.NAMESPACE_SYSTEMUI, mHandler::post, mOnPropertiesChangedListener);
    }
    }


    @Override
    @Override
@@ -346,6 +349,8 @@ public class NavigationBarFragment extends LifecycleFragment implements Callback
        mNavigationModeController.removeListener(this);
        mNavigationModeController.removeListener(this);
        mAccessibilityManagerWrapper.removeCallback(mAccessibilityListener);
        mAccessibilityManagerWrapper.removeCallback(mAccessibilityListener);
        mContentResolver.unregisterContentObserver(mAssistContentObserver);
        mContentResolver.unregisterContentObserver(mAssistContentObserver);

        DeviceConfig.removeOnPropertiesChangedListener(mOnPropertiesChangedListener);
    }
    }


    @Override
    @Override