# proguard configuration file for NaoLocationService
# configuration : for external delevery, with obfuscation and removal of some AIDL entry points
# created by Jac / 2010-10-20
#------------------------------------------------------------------------------

-printseeds
-overloadaggressively
-dontusemixedcaseclassnames
-printmapping build/outputs/mapping/mapping_external.txt
# You can specify any path and filename.
-printconfiguration full-r8-config.txt

# Keep all service connection classes and methods
#keep all com.polestar.naosdk.api not only com.polestar.naosdk.api.external
#(interface in api must be not obfuscated to work with jni/cpp interface)
-keep public class com.polestar.naosdk.api.**{
     native <methods>;
	 public static final <fields>;
	 final <fields>;
	 public <methods>;
}
-keep class com.polestar.naosdk.api.*$CppProxy{
     native <methods>;
	 <methods>;
	 private final long nativeRef;
}

-keep public class com.polestar.naosdk.gatt.**{
     native <methods>;
	 public static final <fields>;
	 final <fields>;
	 public <methods>;
}
-keep class com.polestar.naosdk.gatt.*$CppProxy{
     native <methods>;
	 <methods>;
	 private final long nativeRef;
}

-keep public class com.polestar.naosdk.fota.**{
     native <methods>;
	 public static final <fields>;
	 final <fields>;
	 public <methods>;
}
-keep class com.polestar.naosdk.fota.*$CppProxy{
     native <methods>;
	 <methods>;
	 private final long nativeRef;
}

# Keep all service connection classes and methods
-keep public class com.polestar.naosdk.managers.NaoServiceManager{
	 public <methods>;
}

-keep public class com.polestar.naosdk.managers.NaoContext{
	 public <methods>;
}

-keep public class com.polestar.naosdk.controllers.AndroidGeofencingService{

	 public <methods>;
}

-keep public class com.polestar.models.GeofenceTransition{

	 public <methods>;
}

-keep public class com.polestar.models.RegisterGeofenceGPSReceiver{

	 public <methods>;
}

-keep public class com.polestar.models.BootCompleteReceiver{

	 public <methods>;
}

-keep public class com.polestar.helpers.Log{
	 public <methods>;
}

# Keep the AssetCopier utility class
-keep public class com.polestar.helpers.AssetCopier {
    public final <fields>;
    public <methods>;
}

-keep public class com.polestar.helpers.HttpHelper{
	 public <methods>;
	 public <fields>;
}

-keep public class com.polestar.helpers.PrefHelper{
	 public <methods>;
	 public <fields>;
}

-keep public class com.polestar.helpers.ServiceHelper{
	 public <methods>;
	 public <fields>;
}

-keep class com.squareup.okhttp3.** {
    <fields>;
    <methods>;
}

-dontwarn android.net.**

-keep class com.android.internal.http.** {
    <fields>;
    <methods>;
}

-keep class android.net.** {
     <fields>;
     <methods>;
 }

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

-keepattributes Exceptions, Signature, InnerClasses, EnclosingMethod
