Phone doesn't recognize xinput controller
XInput is a part of the DirectX 9 (and up), originally made for Xbox 360. It is rarely supported by Android devices.

DInput is an acronym for DirectInput, part of DirectX 8.1 and lower, originally made for Windows, and embedded. Since it's part of Windows' (or PC's) standard control API, most Android devices supports it natively.

That's why your controller works in DInput mode but not XInput.