#-optimizationpasses 5 # ここはコメントアウトのまま
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
# 本来これでLog.d,vの引数も削除されるはずだが、proguardのバグのため、エラーになるv4.10もダメ TODO: later
#-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*,!code/simplification/cast
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*,!code/allocation/variable,!code/simplification/cast

-libraryjars ../ABVJE_UI_Android/libs/commons-codec.jar
-libraryjars ../ABVJE_UI_Android/libs/guava-r09.jar
-libraryjars ../ABVJE_UI_Android/libs/java_websocket.jar
-libraryjars ../ABVJE_UI_Android/libs/sqlcipher.jar
-libraryjars ../ABVJE_UI_Android/libs/zip4j_1.2.9.jar
-libraryjars ../ABVJE_UI_Android/libs/jsr305-1.3.9.jar
-libraryjars ../ABVJE_UI_Android/libs/org.eclipse.paho.client.mqttv3.jar
-libraryjars ../ABVJE_UI_Android/libs/simple-side-drawer2.jar

-keepclassmembers class * {
  @com.google.api.client.util.Key <fields>;
}

-keepattributes Signature,RuntimeVisibleAnnotations,AnnotationDefault,*Annotation*

-dontwarn sun.misc.Unsafe

# ここをコメントアウトすれば、obfuscateされる FIXME: later MuPDF絡みでエラー
-dontobfuscate
-dontwarn com.google.common.collect.MinMaxPriorityQueue

-keepclasseswithmembers public class * {
    public static void main(java.lang.String[]);
}

-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService
-keep class ** extends jp.agentec.adf.net.http.HttpParameterObject {
	boolean is*();
	*** get*();
}
-keep class jp.agentec.abook.abv.bl.acms.client.parameters.** {
	boolean is*();
	*** get*();
}

-keepclasseswithmembernames class * {
    native <methods>;
}

-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet);
}

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

-keepclassmembers class * extends android.app.Activity {
   public void *(android.view.View);
}

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

-keep class * implements android.os.Parcelable {
  public static final android.os.Parcelable$Creator *;
}

-keepclassmembers class fqcn.of.javascript.interface.for.webview {
   public *;
}

# リリースビルド時にLog.d()/v()の呼び出しを自動的に削除する(但し引数はそのまま残る)
-assumenosideeffects class android.util.Log {
public static int d(...);
public static int v(...);
}
# リリースビルド時にresetStreams()を自動的に削除する
-assumenosideeffects class org.jssec.android.log.outputredirection.OutputRedirectApplication {
private void resetStreams(...);
}

-allowaccessmodification

-keep public class com.google.vending.licensing.ILicensingService
-keep public class com.android.vending.licensing.ILicensingService

# keep setters in Views so that animations can still work.
# see http://proguard.sourceforge.net/manual/examples.html#beans
-keepclassmembers public class * extends android.view.View {
   void set*(***);
   *** get*();
}

-keepclassmembers class **.R$* {
    public static <fields>;
}

-dontwarn android.support.**

-keep public class net.sqlcipher.** {
    *;
}

-keep public class net.sqlcipher.database.** {
    *;
}
