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

Commit f0fb6e1b 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." into qt-dev

parents 5958b7c7 73d48ab9
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);
    }