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

Commit c1ee5ff9 authored by Dave Mankoff's avatar Dave Mankoff Committed by android-build-merger
Browse files

Merge "Add cleanup method to FalsingManager to prevent memory leaks." into qt-dev

am: f0fb6e1b

Change-Id: I685932b655a204abe41d69921ef16d399e873b56
parents 121bafc5 f0fb6e1b
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -30,7 +30,7 @@ import java.io.PrintWriter;
 */
@ProvidesInterface(version = FalsingManager.VERSION)
public interface FalsingManager {
    int VERSION = 1;
    int VERSION = 2;

    void onSucccessfulUnlock();

@@ -103,4 +103,6 @@ public interface FalsingManager {
    void onTouchEvent(MotionEvent ev, int width, int height);

    void dump(PrintWriter pw);

    void cleanup();
}
+9 −0
Original line number Diff line number Diff line
@@ -168,6 +168,7 @@ public class FalsingManagerImpl implements FalsingManager {
                    .append("enabled=").append(isEnabled() ? 1 : 0)
                    .append(" mScreenOn=").append(mScreenOn ? 1 : 0)
                    .append(" mState=").append(StatusBarState.toShortString(mState))
                    .append(" mShowingAod=").append(mShowingAod ? 1 : 0)
                    .toString()
            );
        }
@@ -550,6 +551,14 @@ public class FalsingManagerImpl implements FalsingManager {
        pw.println();
    }

    @Override
    public void cleanup() {
        mSensorManager.unregisterListener(mSensorEventListener);
        mContext.getContentResolver().unregisterContentObserver(mSettingsObserver);
        Dependency.get(StatusBarStateController.class).removeCallback(mStatusBarStateListener);
        KeyguardUpdateMonitor.getInstance(mContext).removeCallback(mKeyguardUpdateCallback);
    }

    public Uri reportRejectedTouch() {
        if (mDataCollector.isEnabled()) {
            return mDataCollector.reportRejectedTouch();
+9 −0
Original line number Diff line number Diff line
@@ -65,6 +65,7 @@ public class FalsingManagerProxy implements FalsingManager {
            public void onPluginConnected(FalsingPlugin plugin, Context context) {
                FalsingManager pluginFalsingManager = plugin.getFalsingManager(context);
                if (pluginFalsingManager != null) {
                    mInternalFalsingManager.cleanup();
                    mInternalFalsingManager = pluginFalsingManager;
                }
            }
@@ -92,6 +93,9 @@ public class FalsingManagerProxy implements FalsingManager {
    public void setupFalsingManager(Context context) {
        boolean brightlineEnabled = DeviceConfig.getBoolean(
                DeviceConfig.NAMESPACE_SYSTEMUI, BRIGHTLINE_FALSING_MANAGER_ENABLED, true);
        if (mInternalFalsingManager != null) {
            mInternalFalsingManager.cleanup();
        }
        if (!brightlineEnabled) {
            mInternalFalsingManager = new FalsingManagerImpl(context);
        } else {
@@ -290,4 +294,9 @@ public class FalsingManagerProxy implements FalsingManager {
    public void dump(PrintWriter pw) {
        mInternalFalsingManager.dump(pw);
    }

    @Override
    public void cleanup() {
        mInternalFalsingManager.cleanup();
    }
}
+5 −0
Original line number Diff line number Diff line
@@ -309,6 +309,11 @@ public class BrightLineFalsingManager implements FalsingManager {
    public void dump(PrintWriter printWriter) {
    }

    @Override
    public void cleanup() {
        unregisterSensors();
    }

    static void logDebug(String msg) {
        logDebug(msg, null);
    }