Features: - 200+ features for everyday users, developers, writers, creators - 11 specialized engines (Prediction, Swipe, Autocorrect, Code, Writer, etc.) - 50+ user preferences with DataStore - 9 database entities with Room - ML Kit integration for language detection & translation - 10 built-in themes (Light, Dark, Material You, Nord, Monokai, etc.) - Full gesture system with 13 types - Voice input, haptic feedback, sound effects - Context-aware (terminal, code, writing modes) - Privacy-first with incognito mode - Comprehensive documentation Architecture: - Clean Architecture with MVVM - Kotlin coroutines & Flow - Room database - InputMethodService implementation - Production-ready backend (~3,500 lines) Missing: UI implementation (KeyboardView, Settings screens) Next: Build UI layer to make keyboard visible Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
36 lines
1.1 KiB
Prolog
36 lines
1.1 KiB
Prolog
# OmniKey ProGuard Rules
|
|
|
|
# Keep InputMethodService
|
|
-keep public class * extends android.inputmethodservice.InputMethodService
|
|
|
|
# Keep Room
|
|
-keep class * extends androidx.room.RoomDatabase
|
|
-keep @androidx.room.Entity class *
|
|
-dontwarn androidx.room.paging.**
|
|
|
|
# Keep ML Kit models
|
|
-keep class com.google.mlkit.** { *; }
|
|
-dontwarn com.google.mlkit.**
|
|
|
|
# Keep Gson
|
|
-keepattributes Signature
|
|
-keepattributes *Annotation*
|
|
-dontwarn sun.misc.**
|
|
-keep class com.google.gson.** { *; }
|
|
-keep class * implements com.google.gson.TypeAdapter
|
|
-keep class * implements com.google.gson.TypeAdapterFactory
|
|
-keep class * implements com.google.gson.JsonSerializer
|
|
-keep class * implements com.google.gson.JsonDeserializer
|
|
|
|
# Keep data classes
|
|
-keep class com.omnkey.keyboard.core.model.** { *; }
|
|
|
|
# Keep coroutines
|
|
-keepnames class kotlinx.coroutines.internal.MainDispatcherFactory {}
|
|
-keepnames class kotlinx.coroutines.CoroutineExceptionHandler {}
|
|
-dontwarn kotlinx.coroutines.**
|
|
|
|
# Keep service methods
|
|
-keepclassmembers class com.omnkey.keyboard.service.OmniKeyService {
|
|
public <methods>;
|
|
}
|