






-keepclassmembers,allowshrinking,allowobfuscation class br.com.moip.mpos.api.MoipOrderAPI {
    void MoipMpos();
}

-keepclassmembers,allowoptimization,allowobfuscation class br.com.moip.mpos.api.PlugPagPaymentAPI {
    <init>();
}

-keepclassmembers,allowoptimization,allowobfuscation class br.com.moip.mpos.api.PlugPagPinpadConfigureAPI {
    <init>();
}

-keepclassmembers,allowshrinking,allowobfuscation class br.com.moip.mpos.logging.SegmentLog {
    void MoipMpos();
}

-keepclassmembers,allowoptimization,allowobfuscation class br.com.moip.mpos.setup.PinpadManager {
    <init>();
}

-keep,allowshrinking,allowobfuscation class br.com.uol.pagseguro.libswitch.comm.init

-keepclassmembers,allowoptimization,allowobfuscation class br.com.uol.pagseguro.libswitch.comm.init {
    <init>();
}

-keepclassmembers,allowoptimization,allowobfuscation class br.com.uol.pagseguro.libswitch.comm.MoipMpos {
    <init>();
}

-keepclassmembers,allowoptimization,allowobfuscation class br.com.uol.pagseguro.libswitch.comm.isPinpadConnected {
    <init>();
}

-keep,allowshrinking,allowobfuscation class br.com.uol.pagseguro.libswitch.comm.searchPairedPinpads

-keepclassmembers,allowoptimization,allowobfuscation class br.com.uol.pagseguro.libswitch.comm.BuildConfig {
    <init>();
}

-keepclassmembers,allowoptimization,allowobfuscation class br.com.uol.pagseguro.libswitch.comm.MoipService {
    <init>();
}

-keepclassmembers,allowoptimization,allowobfuscation class br.com.uol.pagseguro.libswitch.comm.charge {
    <init>();
}

-keepclassmembers,allowoptimization,allowobfuscation class br.com.uol.pagseguro.libswitch.comm.values {
    <init>();
}

-keepclassmembers,allowoptimization,allowobfuscation class br.com.uol.pagseguro.libswitch.comm.valueOf {
    <init>();
}

-keepclassmembers,allowoptimization,allowobfuscation class br.com.uol.pagseguro.libswitch.comm.MoipMpos$Environment {
    <init>();
}

-keepclassmembers,allowoptimization,allowobfuscation class br.com.uol.pagseguro.libswitch.comm.setAuthentication {
    <init>();
}

-keepclassmembers,allowoptimization,allowobfuscation class br.com.uol.pagseguro.libswitch.comm.initialize {
    <init>();
}

-keepclassmembers,allowoptimization,allowobfuscation class br.com.uol.pagseguro.libswitch.comm.production {
    <init>();
}

-keep,allowshrinking,allowobfuscation class br.com.uol.pagseguro.libswitch.comm.isSandbox

-keepclassmembers,allowoptimization,allowobfuscation class br.com.uol.pagseguro.libswitch.comm.sandbox {
    <init>();
}

-keepclassmembers,allowoptimization,allowobfuscation class br.com.uol.pagseguro.libswitch.comm.saveSoftDescriptor {
    <init>();
}

-keepclassmembers,allowoptimization,allowobfuscation class br.com.uol.pagseguro.libswitch.comm.hasExternalId {
    <init>();
}

-keep,allowshrinking,allowobfuscation class br.com.uol.pagseguro.plugpag.ChangeConnectionMetric$3

-keepclassmembers,allowoptimization,allowobfuscation class br.com.uol.pagseguro.plugpag.isPinpadConnected {
    <init>();
}

-keep,allowshrinking,allowobfuscation class br.com.uol.pagseguro.plugpag.UpdateTimeMetric$4

-keepclassmembers,allowoptimization,allowobfuscation class br.com.uol.pagseguro.plugpag.authentication.PlugPagAuthenticationResponse {
    <init>();
}

-keep,allowshrinking,allowobfuscation class br.com.uol.pagseguro.plugpag.datainput.OptionsListAdapter$isPinpadConnected

-keepclassmembers,allowoptimization,allowobfuscation class br.com.uol.pagseguro.plugpag.datainput.PlugPagDataInputFragment$3 {
    <init>();
}

-keep,allowshrinking,allowobfuscation class br.com.uol.pagseguro.plugpag.datainput.PlugPagDataInputFragment$MoipMpos

-keepclasseswithmembers,includedescriptorclasses,allowshrinking class !com.guardsquare.dexguard.runtime.** {
    native <methods>;
}

-keepclassmembers !abstract class !com.google.ads.** extends android.view.View {
    public <init>(android.content.Context);
    public <init>(android.content.Context,android.util.AttributeSet);
    public <init>(android.content.Context,android.util.AttributeSet,int);
    public void set*(...);
}

-keepclassmembers !abstract class * {
    public <init>(android.content.Context,android.util.AttributeSet);
    public <init>(android.content.Context,android.util.AttributeSet,int);
}

# Keep onClick handlers for Views and MenuItems as defined in resource xml files.
-keepclassmembers class * extends android.content.Context {
    public void *(android.view.View);
    public *** *(android.view.MenuItem);
}

# Enumerations.
-keepclassmembers enum  * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

-keep public enum  br.com.moip.mpos.** {
    <fields>;    <methods>;
}

-keep class br.com.moip.mpos.api.client.** {
    <fields>;    <methods>;
}

-keep class br.com.moip.mpos.api.model.** {
    <fields>;    <methods>;
}

# #########################
# #        PLUGPAG       ##
# #########################
# Keep all public constructors of all public classes, but still obfuscate+optimize their content.
# This is necessary because optimization removes constructors which are called through XML.
-keepclasseswithmembers class br.com.uol.pagseguro.** {
    public <init>(android.content.Context,android.util.AttributeSet,int);
    public <init>(android.content.Context,android.util.AttributeSet);
    public <init>(android.content.Context);
}

# Keep all methods native libraries: libPlugPag.so, libbase.so, libswitch.so
-keepclasseswithmembers,includedescriptorclasses,allowshrinking class br.com.uol.pagseguro.** {
    native <methods>;
}

-keep public class br.com.uol.pagseguro.plugpag.** {
    <fields>;    <methods>;
}

-keep public class br.com.uol.pagseguro.util.** {
    <fields>;    <methods>;
}

-keep public class br.com.uol.pagseguro.libswitch.** {
    <fields>;    <methods>;
}
