Merge "Add cleanup method to FalsingManager to prevent memory leaks." into qt-dev
am: f0fb6e1b29
Change-Id: I685932b655a204abe41d69921ef16d399e873b56
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user