1# Disable the warnings of using dynamic method call in common library.
2-dontnote com.android.gallery3d.common.*
3
4# Keep all classes extended from com.android.gallery3d.common.Entry
5# Since we annotate on the fields and use reflection to create SQL
6# according to those field.
7
8-keep class * extends com.android.gallery3d.common.Entry {
9    @com.android.gallery3d.common.Entry$Column <fields>;
10}
11
12# ctors of subclasses of CameraPreference are called with Java reflection.
13-keep class * extends com.android.camera.CameraPreference {
14  <init>(...);
15}
16
17# ctors of subclasses of ActivityState are called with Java reflection.
18-keep class * extends com.android.gallery3d.app.ActivityState {
19  <init>(...);
20}
21
22-keep class com.android.camera.CameraActivity {
23  public boolean isRecording();
24  public long getAutoFocusTime();
25  public long getShutterLag();
26  public long getShutterToPictureDisplayedTime();
27  public long getPictureDisplayedToJpegCallbackTime();
28  public long getJpegCallbackFinishTime();
29  public long getCaptureStartTime();
30}
31
32-keep class com.android.camera.VideoModule {
33  public void onCancelBgTraining(...);
34  public void onProtectiveCurtainClick(...);
35}
36
37-keep class * extends android.app.Activity {
38  @com.android.camera.OnClickAttr <methods>;
39}
40
41-keep class com.android.camera.CameraHolder {
42  public static void injectMockCamera(...);
43}
44
45# Disable the warnings of using dynamic method calls in EffectsRecorder
46-dontnote com.android.camera.EffectsRecorder
47
48# Required for ActionBarSherlock
49-keep class android.support.v4.app.** { *; }
50-keep interface android.support.v4.app.** { *; }
51-keep class com.actionbarsherlock.** { *; }
52-keep interface com.actionbarsherlock.** { *; }
53-keepattributes *Annotation*
54
55# Required for JobIntentService
56-keep class androidx.core.app.CoreComponentFactory { *; }
57
58# Required for mp4parser
59-keep public class * implements com.coremedia.iso.boxes.Box
60
61#-assumenosideeffects junit.framework.Assert {
62#*;
63#}
64
65# For unit testing:
66
67# - Required for running exif tests on userdebug
68-keep class com.android.gallery3d.exif.ExifTag { *; }
69-keep class com.android.gallery3d.exif.ExifData { *; }
70-keep class com.android.gallery3d.exif.ExifInterface { *; }
71-keepclassmembers class com.android.gallery3d.exif.Util {
72  *** closeSilently(...);
73}
74
75# - Required for running blobcache tests on userdebug
76-keep class com.android.gallery3d.common.BlobCache { *; }
77
78# - Required for running glcanvas tests on userdebug
79-keep class com.android.gallery3d.ui.GLPaint { *; }
80-keep class com.android.gallery3d.ui.GLCanvas { *; }
81-keep class com.android.gallery3d.glrenderer.GLPaint { *; }
82-keep class com.android.gallery3d.glrenderer.GLCanvas { *; }
83-keep class com.android.gallery3d.ui.GLView { *; }
84-keepclassmembers class com.android.gallery3d.util.IntArray {
85  *** toArray(...);
86}
87-keep class com.android.gallery3d.util.ProfileData { *; }
88
89# - Required for running jpeg stream tests on userdebug
90-keep class com.android.gallery3d.jpegstream.JPEGOutputStream { *; }
91-keep class com.android.gallery3d.jpegstream.JPEGInputStream { *; }
92-keep class com.android.gallery3d.jpegstream.StreamUtils { *; }
93
94
95