| # 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 <methods>; |
| } |
| |
| # 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 { *; } |
| |