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

Commit 42b3dc76 authored by Dave Mankoff's avatar Dave Mankoff Committed by Android (Google) Code Review
Browse files

Merge "Add cleanup method to FalsingManager to prevent memory leaks."

parents ffe20eaa b32ba47f
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();
}
+4 −0
Original line number Diff line number Diff line
@@ -239,4 +239,8 @@ public class FalsingManagerFake implements FalsingManager {
    public void dump(PrintWriter pw) {

    }

    @Override
    public 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();
+6 −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;
                }
            }
@@ -290,4 +291,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
@@ -324,6 +324,11 @@ public class BrightLineFalsingManager implements FalsingManager {
    public void dump(PrintWriter printWriter) {
    }

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

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