-
Notifications
You must be signed in to change notification settings - Fork 68
/
Copy pathproguard-rules-consumer-common.pro
148 lines (144 loc) · 4.62 KB
/
proguard-rules-consumer-common.pro
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
## Keep Companion classes and class.Companion member of all classes that can be used in our API to
# allow calling realmObjectCompanionOrThrow and realmObjectCompanionOrNull on the classes
-keep class io.realm.kotlin.types.RealmInstant$Companion
-keepclassmembers class io.realm.kotlin.types.RealmInstant {
io.realm.kotlin.types.RealmInstant$Companion Companion;
}
-keep class org.mongodb.kbson.BsonObjectId$Companion
-keepclassmembers class org.mongodb.kbson.BsonObjectId {
org.mongodb.kbson.BsonObjectId$Companion Companion;
}
-keep class io.realm.kotlin.dynamic.DynamicRealmObject$Companion, io.realm.kotlin.dynamic.DynamicMutableRealmObject$Companion
-keepclassmembers class io.realm.kotlin.dynamic.DynamicRealmObject, io.realm.kotlin.dynamic.DynamicMutableRealmObject {
**$Companion Companion;
}
-keep,allowobfuscation class ** implements io.realm.kotlin.types.BaseRealmObject
-keep class ** implements io.realm.kotlin.internal.RealmObjectCompanion
-keepclassmembers class ** implements io.realm.kotlin.types.BaseRealmObject {
**$Companion Companion;
}
## Preserve all native method names and the names of their classes.
-keepclasseswithmembernames,includedescriptorclasses class * {
native <methods>;
}
## Preserve all classes that are looked up from native code
# Notification callback
-keep class io.realm.kotlin.internal.interop.NotificationCallback {
*;
}
# Utils to convert core errors into Kotlin exceptions
-keep class io.realm.kotlin.internal.interop.CoreErrorConverter {
*;
}
-keep class io.realm.kotlin.internal.interop.JVMScheduler {
*;
}
# Interop, sync-specific classes
-keep class io.realm.kotlin.internal.interop.sync.NetworkTransport {
# TODO OPTIMIZE Only keep actually required symbols
*;
}
-keep class io.realm.kotlin.internal.interop.sync.Response {
# TODO OPTIMIZE Only keep actually required symbols
*;
}
-keep class io.realm.kotlin.internal.interop.LongPointerWrapper {
# TODO OPTIMIZE Only keep actually required symbols
*;
}
-keep class io.realm.kotlin.internal.interop.sync.AppError {
# TODO OPTIMIZE Only keep actually required symbols
*;
}
-keep class io.realm.kotlin.internal.interop.sync.CoreConnectionState {
# TODO OPTIMIZE Only keep actually required symbols
*;
}
-keep class io.realm.kotlin.internal.interop.sync.SyncError {
# TODO OPTIMIZE Only keep actually required symbols
*;
}
-keep class io.realm.kotlin.internal.interop.LogCallback {
# TODO OPTIMIZE Only keep actually required symbols
*;
}
-keep class io.realm.kotlin.internal.interop.SyncErrorCallback {
# TODO OPTIMIZE Only keep actually required symbols
*;
}
-keep class io.realm.kotlin.internal.interop.sync.JVMSyncSessionTransferCompletionCallback {
*;
}
-keep class io.realm.kotlin.internal.interop.sync.ResponseCallback {
*;
}
-keep class io.realm.kotlin.internal.interop.sync.ResponseCallbackImpl {
*;
}
-keep class io.realm.kotlin.internal.interop.AppCallback {
*;
}
-keep class io.realm.kotlin.internal.interop.CompactOnLaunchCallback {
*;
}
-keep class io.realm.kotlin.internal.interop.MigrationCallback {
*;
}
-keep class io.realm.kotlin.internal.interop.DataInitializationCallback {
*;
}
-keep class io.realm.kotlin.internal.interop.SubscriptionSetCallback {
*;
}
-keep class io.realm.kotlin.internal.interop.SyncBeforeClientResetHandler {
*;
}
-keep class io.realm.kotlin.internal.interop.SyncAfterClientResetHandler {
*;
}
-keep class io.realm.kotlin.internal.interop.AsyncOpenCallback {
*;
}
-keep class io.realm.kotlin.internal.interop.NativePointer {
*;
}
-keep class io.realm.kotlin.internal.interop.ProgressCallback {
*;
}
-keep class io.realm.kotlin.internal.interop.sync.ApiKeyWrapper {
*;
}
-keep class io.realm.kotlin.internal.interop.ConnectionStateChangeCallback {
*;
}
-keep class io.realm.kotlin.internal.interop.SyncThreadObserver {
*;
}
-keep class io.realm.kotlin.internal.interop.sync.CoreCompensatingWriteInfo {
*;
}
# Preserve Function<X> methods as they back various functional interfaces called from JNI
-keep class kotlin.jvm.functions.Function* {
*;
}
-keep class kotlin.Unit {
*;
}
# Platform networking callback
-keep class io.realm.kotlin.internal.interop.sync.WebSocketTransport {
*;
}
-keep class io.realm.kotlin.internal.interop.sync.CancellableTimer {
*;
}
-keep class io.realm.kotlin.internal.interop.sync.WebSocketClient {
*;
}
-keep class io.realm.kotlin.internal.interop.sync.WebSocketObserver {
*;
}
# Un-comment for debugging
#-printconfiguration /tmp/full-r8-config.txt
#-keepattributes LineNumberTable,SourceFile
#-printusage /tmp/removed_entries.txt
#-printseeds /tmp/kept_entries.txt