#for mp4parser
-keep class * implements com.coremedia.iso.boxes.Box { *; }
-dontwarn com.coremedia.iso.boxes.**
-dontwarn com.googlecode.mp4parser.authoring.tracks.mjpeg.**
-dontwarn com.googlecode.mp4parser.authoring.tracks.ttml.**

#for JNI
-keepclasseswithmembernames class * {
    native <methods>;
}

#for isdkcore
-keepnames class com.moxtra.isdk.core.MxBinderSdkCoreWrapper
-keep public class com.moxtra.isdk.core.MxBinderSdkCoreWrapper {
    public void onResponse(java.lang.String,java.lang.String);
    public long[] onGetRecurrenceEvents(java.lang.String,long,java.lang.String,java.lang.String,long,long,boolean);
    public java.lang.String GetDBPassFromKeyChain(java.lang.String);
    public boolean SetDBPassToKeyChain(java.lang.String,java.lang.String);
    public boolean RemoveDBPassFromKeyChain(java.lang.String);
    public java.lang.String GetFileDescriptor(java.lang.String,java.lang.String,java.lang.String);
}

# will be accessed from isdk native
-keep class com.moxtra.isdk.BinderSdkConfig {
    *;
}

-keep class com.moxtra.isdk.BinderSdkProxyConfig {
    *;
}

-keep class com.moxtra.isdk.BinderSdkCertConfig {
    *;
}

-keep class com.moxtra.isdk.network.JniUiThreadUtil {
    *;
}

-keep class com.moxtra.isdk.network.JniUiTimer {
    *;
}

-keep class com.moxtra.isdk.network.JniCacheUtil {
    *;
}


#webrtc
-keep class org.webrtc.** {
    *;
}

-keep class com.moxtra.webrtc.** {
    *;
}

#for audio
-keep class com.moxtra.audio.**{
    *;
}

-keep class com.moxtra.util.** {
    *;
}

-keep class com.moxtra.mxtracer.** {
    *;
}

#For DS
-keep class com.moxtra.mxds.** {
    *;
}

-keep class com.google.protobuf.** {
    *;
}

-keep class com.googlecode.protobuf.** {
    *;
}

-keep class com.unitt.** {
    *;
}

#for audio
-keep class com.moxtra.audio.** {
    public protected *;
}

#for video
-keep class com.moxtra.mxvideo.**{
    *;
}

#for ds
-keep class com.moxtra.mxds.**{
    *;
}

-keep class com.moxtra.meetsdk.RenderViewGroup { *; }

#for tp
-keep class com.moxtra.mxtp.** {
    *;
}

#-keep class **.R{
#    *;
#}
#
#-keep class **.R$*{
#    *;
#}

-keepattributes EnclosingMethod
-keepattributes *Annotation*, Exceptions, Signature, Deprecated, SourceFile, SourceDir, LineNumberTable, LocalVariableTable, LocalVariableTypeTable, Synthetic, EnclosingMethod, RuntimeVisibleAnnotations, RuntimeInvisibleAnnotations, RuntimeVisibleParameterAnnotations, RuntimeInvisibleParameterAnnotations, AnnotationDefault, InnerClasses
-dontwarn java.awt.**

# android-pdf-viewer
-keep class com.shockwave.pdfium.PdfPasswordException {
    public *;
}