# Keep classes and methods that have the @UsedForTesting annotation -keep @com.android.inputmethod.annotations.UsedForTesting class * -keepclassmembers class * { @com.android.inputmethod.annotations.UsedForTesting *; } # Keep classes and methods that have the @ExternallyReferenced annotation -keep @com.android.inputmethod.annotations.ExternallyReferenced class * -keepclassmembers class * { @com.android.inputmethod.annotations.ExternallyReferenced *; } # Keep native methods -keepclassmembers class * { native ; } # Keep classes that are used as a parameter type of methods that are also marked as keep # to preserve changing those methods' signature. -keep class com.android.inputmethod.latin.AssetFileAddress -keep class com.android.inputmethod.latin.Dictionary -keep class com.android.inputmethod.latin.NgramContext -keep class com.android.inputmethod.latin.makedict.ProbabilityInfo -keep class com.android.inputmethod.latin.utils.LanguageModelParam # TODO: remove once used in code. -keep class com.android.inputmethod.keyboard.KeyboardLayout { *; }