# Add project specific ProGuard rules here. # By default, the flags in this file are appended to flags specified # in /Users/saki/android-sdks/tools/proguard/proguard-android.txt # You can edit the include path and order by changing the proguardFiles # directive in build.gradle. # # For more details, see # http://developer.android.com/guide/developing/tools/proguard.html # Add any project specific keep options here: # If your project uses WebView with JS, uncomment the following # and specify the fully qualified class name to the JavaScript interface # class: #-keepclassmembers class fqcn.of.javascript.interface.for.webview { # public *; #} -keepclasseswithmembernames class * { native ; *** mNativePtr; *** mNativeValue; *** mContext; } -keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; } -keep public class com.serenegiant.usb.uac.UACClient { native ; public *; protected *; private *; } -keep public class com.serenegiant.media.Encoder { native ; public *; protected *; private *; } -keep public class com.serenegiant.media.VideoEncoder { native ; public *; protected *; private *; } -keep public class com.serenegiant.media.VideoMuxer { native ; public *; protected *; private *; } -keep public class com.serenegiant.usb.uvc.Utils { native ; public *; protected *; private *; } -keep public interface com.serenegiant.camera.ICamera { *; } -keep public interface com.serenegiant.camera.ICameraControl { *; } -keep public interface com.serenegiant.camera.IFrameCallback { *; } -keep public interface com.serenegiant.usb.uvc.IButtonCallback { *; } -keep public interface com.serenegiant.usb.uvc.IStatusCallback { *; } -keep public interface com.serenegiant.usb.uvc.IUVCCamera { *; } -keep public class com.serenegiant.usb.uvc.IPipeline {*;} -dontnote com.serenegiant.usb.uvc.IPipeline -keep public class com.serenegiant.usb.uvc.ConvertPipeline { native ; public *; protected *; private *; } -keep public class com.serenegiant.usb.uvc.DistributePipeline { native ; public *; protected *; private *; } -keep public class com.serenegiant.usb.uvc.FrameCallbackPipeline { native ; public *; protected *; private *; } -keep public class com.serenegiant.usb.uvc.FrameSavePipeline { native ; public *; protected *; private *; } -keep public class com.serenegiant.usb.uvc.NativeCallbackPipeline { native ; public *; protected *; private *; } -keep public class com.serenegiant.usb.uvc.PreviewPipeline { native ; public *; protected *; private *; } -keep public class com.serenegiant.usb.uvc.SimpleBufferedPipeline { native ; public *; protected *; private *; } -keep public class com.serenegiant.usb.uvc.UVCPipeline { native ; public *; protected *; private *; } -keep public class com.serenegiant.usb.uvc.PipelineSource { native ; public *; protected *; private *; } -keep public class com.serenegiant.usb.uvc.PtsCalcPipeline { native ; public *; protected *; private *; } -keep public class com.serenegiant.camera.FuncMaxMinDef { public *; protected *; private *; } ##---------------Begin: proguard configuration for Gson ---------- # Gson uses generic type information stored in a class file when working with fields. Proguard # removes such information by default, so configure it to keep all of it. -keepattributes Signature # For using GSON @Expose annotation -keepattributes *Annotation* # Gson specific classes -keep class sun.misc.Unsafe -keep class sun.misc.Unsafe.** -dontnote sun.misc.Unsafe #-keep class com.google.gson.stream.** { *; } -keep class com.serenegiant.camera.Size -keep class com.serenegiant.camera.Size { *; } -keep public class com.serenegiant.aandusb.R -keep public class com.serenegiant.aandusb.R.** -keep public class com.serenegiant.aandusb.R.*$* -keep public class com.serenegiant.aandusb.R.$** -keep public class com.serenegiant.usb.R -keep public class com.serenegiant.usb.R.** -keep public class com.serenegiant.usb.R.*$* -keep public class com.serenegiant.usb.R.$** -keep public class com.serenegiant.uvcplugin.DeviceDetector { native ; public *; } -keep public class com.serenegiant.uvcplugin.UVCHolder { native ; public *; } -keep public class com.serenegiant.androidutils.AndroidUtils { native ; public *; }