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

Commit 648c2950 authored by Robert Snoeberger's avatar Robert Snoeberger
Browse files

Help prevent OOM while running SystemUI tests on cuttlefish.

Don't setup (choose) a FalsingManager implementation every time that
DeviceConfig.OnPropertiesChangedListener fires.

Bug: 139860714
Test: run `atest frameworks/base/packages/SystemUI/tests/` on cuttlefish, verify no OOM
Change-Id: I80408c4f9097f74b8170e7be478229b4538ef0a5
parent 55a6847a
Loading
Loading
Loading
Loading
+6 −1
Original line number Original line Diff line number Diff line
@@ -52,16 +52,17 @@ public class FalsingManagerProxy implements FalsingManager {


    private FalsingManager mInternalFalsingManager;
    private FalsingManager mInternalFalsingManager;
    private final Handler mMainHandler;
    private final Handler mMainHandler;
    private boolean mBrightlineEnabled;


    @Inject
    @Inject
    FalsingManagerProxy(Context context, PluginManager pluginManager,
    FalsingManagerProxy(Context context, PluginManager pluginManager,
            @Named(MAIN_HANDLER_NAME) Handler handler) {
            @Named(MAIN_HANDLER_NAME) Handler handler) {
        mMainHandler = handler;
        mMainHandler = handler;
        setupFalsingManager(context);
        DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_SYSTEMUI,
        DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_SYSTEMUI,
                command -> mMainHandler.post(command),
                command -> mMainHandler.post(command),
                properties -> onDeviceConfigPropertiesChanged(context, properties.getNamespace())
                properties -> onDeviceConfigPropertiesChanged(context, properties.getNamespace())
        );
        );
        setupFalsingManager(context);
        final PluginListener<FalsingPlugin> mPluginListener = new PluginListener<FalsingPlugin>() {
        final PluginListener<FalsingPlugin> mPluginListener = new PluginListener<FalsingPlugin>() {
            public void onPluginConnected(FalsingPlugin plugin, Context context) {
            public void onPluginConnected(FalsingPlugin plugin, Context context) {
                FalsingManager pluginFalsingManager = plugin.getFalsingManager(context);
                FalsingManager pluginFalsingManager = plugin.getFalsingManager(context);
@@ -94,6 +95,10 @@ public class FalsingManagerProxy implements FalsingManager {
    public void setupFalsingManager(Context context) {
    public void setupFalsingManager(Context context) {
        boolean brightlineEnabled = DeviceConfig.getBoolean(
        boolean brightlineEnabled = DeviceConfig.getBoolean(
                DeviceConfig.NAMESPACE_SYSTEMUI, BRIGHTLINE_FALSING_MANAGER_ENABLED, true);
                DeviceConfig.NAMESPACE_SYSTEMUI, BRIGHTLINE_FALSING_MANAGER_ENABLED, true);
        if (brightlineEnabled == mBrightlineEnabled && mInternalFalsingManager != null) {
            return;
        }
        mBrightlineEnabled = brightlineEnabled;


        if (mInternalFalsingManager != null) {
        if (mInternalFalsingManager != null) {
            mInternalFalsingManager.cleanup();
            mInternalFalsingManager.cleanup();