1 # Keep classes and methods that have the @UsedForTesting annotation 2 -keep @com.android.inputmethod.annotations.UsedForTesting class * 3 -keepclassmembers class * { 4 @com.android.inputmethod.annotations.UsedForTesting *; 5 } 6 7 # Keep classes and methods that have the @ExternallyReferenced annotation 8 -keep @com.android.inputmethod.annotations.ExternallyReferenced class * 9 -keepclassmembers class * { 10 @com.android.inputmethod.annotations.ExternallyReferenced *; 11 } 12 13 # Keep native methods 14 -keepclassmembers class * { 15 native <methods>; 16 } 17 18 # Keep classes that are used as a parameter type of methods that are also marked as keep 19 # to preserve changing those methods' signature. 20 -keep class com.android.inputmethod.latin.AssetFileAddress 21 -keep class com.android.inputmethod.latin.Dictionary 22 -keep class com.android.inputmethod.latin.NgramContext 23 -keep class com.android.inputmethod.latin.makedict.ProbabilityInfo 24 -keep class com.android.inputmethod.latin.utils.LanguageModelParam 25 26 # TODO: remove once used in code. 27 -keep class com.android.inputmethod.keyboard.KeyboardLayout { *; } 28 29