Adding binder tracking support in tests
- Whitelist specific binder calls when handling touch during swipe up
gestures
- Only track binding for touch handling and certain launcher lifecycle
changes for now
Bug: 140246642
Change-Id: I6ba30280dd17da358662870f8719ae851536ad8b
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index a2db411..4f8b20e 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -116,6 +116,7 @@
import com.android.launcher3.states.InternalStateHandler;
import com.android.launcher3.states.RotationHelper;
import com.android.launcher3.touch.ItemClickHandler;
+import com.android.launcher3.uioverrides.DejankBinderTracker;
import com.android.launcher3.uioverrides.UiFactory;
import com.android.launcher3.uioverrides.plugins.PluginManagerWrapper;
import com.android.launcher3.userevent.nano.LauncherLogProto;
@@ -309,6 +310,7 @@
@Override
protected void onCreate(Bundle savedInstanceState) {
+ DejankBinderTracker.allowBinderTrackingInTests();
RaceConditionTracker.onEvent(ON_CREATE_EVT, ENTER);
if (DEBUG_STRICT_MODE) {
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
@@ -430,6 +432,7 @@
}
}
});
+ DejankBinderTracker.disallowBinderTrackingInTests();
}
protected LauncherOverlayManager getDefaultOverlay() {
@@ -941,6 +944,7 @@
@Override
protected void onStart() {
+ DejankBinderTracker.allowBinderTrackingInTests();
RaceConditionTracker.onEvent(ON_START_EVT, ENTER);
super.onStart();
if (!mDeferOverlayCallbacks) {
@@ -949,6 +953,7 @@
mAppWidgetHost.setListenIfResumed(true);
RaceConditionTracker.onEvent(ON_START_EVT, EXIT);
+ DejankBinderTracker.disallowBinderTrackingInTests();
}
private void handleDeferredResume() {
@@ -1043,6 +1048,7 @@
@Override
protected void onResume() {
+ DejankBinderTracker.allowBinderTrackingInTests();
RaceConditionTracker.onEvent(ON_RESUME_EVT, ENTER);
TraceHelper.beginSection("ON_RESUME");
super.onResume();
@@ -1068,6 +1074,7 @@
TraceHelper.endSection("ON_RESUME");
RaceConditionTracker.onEvent(ON_RESUME_EVT, EXIT);
+ DejankBinderTracker.disallowBinderTrackingInTests();
}
@Override