From reading Android source code, I get to know that when APP creates Activity/Window, in order to receive input events (key/touch) it will create sockpair and pass socket server to WindowManagerService, then registered to InputManagerService dispatcher. My question is why sockpair is used here, but not binder. Binder is the primary choice of Android IPC.