Introduce InputMethodInfoSafeList With this CL we start using InputMethodInfoSafeList to transfer List<InputMethodInfo> over Binder IPC so that we do not need to worry about TransactionTooLargeException any more. The new behavior is fully flag-guarded. This should enable us to remove our past workarounds [1][2] in the future. [1]: Ibb2940fcc02f3b3b51ba6bbe127d646fd7de7c45 f06569561fe1c6e898debf8bb9f37331a9f87323 [2]: I51703563414192ee778f30ab57390da1c1a5ded5 eed1008252d8e2e9411c0813cc43ad4bf0fbd624 Note on backport: This change was initially added with a flag guard, but for backporting, the flag guard is removed and change is directly applied. Bug: 339761278 Bug: 449416164 Bug: 449181366 Bug: 449393786 Bug: 449227003 Test: atest FrameworksInputMethodSystemServerTests:InputMethodInfoSafeListTest (cherry picked from commit 93d66878027908c4986ef27aeb4338557bd25f3d) Cherrypick-From: https://googleplex-android-review.googlesource.com/q/commit:342d0771f6f8cbca4152d101b5bd671b88fd7213 Merged-In: I0a7667070fcdf17d34b248a5988c38064588718a Change-Id: I0a7667070fcdf17d34b248a5988c38064588718a