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-keep class com.android.camera.CameraActivity {
18  public boolean isRecording();
19  public long getAutoFocusTime();
20  public long getShutterLag();
21  public long getShutterToPictureDisplayedTime();
22  public long getPictureDisplayedToJpegCallbackTime();
23  public long getJpegCallbackFinishTime();
24  public long getCaptureStartTime();
25}
26
27-keep class com.android.camera.VideoModule {
28  public void onCancelBgTraining(...);
29  public void onProtectiveCurtainClick(...);
30}
31
32-keep class * extends android.app.Activity {
33  @com.android.camera.OnClickAttr <methods>;
34}
35
36-keep class com.android.camera.CameraHolder {
37  public static void injectMockCamera(...);
38}
39
40# Disable the warnings of using dynamic method calls in EffectsRecorder
41-dontnote com.android.camera.EffectsRecorder
42
43# Required for ActionBarSherlock
44-keep class android.support.v4.app.** { *; }
45-keep interface android.support.v4.app.** { *; }
46-keep class com.actionbarsherlock.** { *; }
47-keep interface com.actionbarsherlock.** { *; }
48-keepattributes *Annotation*
49
50# Required for mp4parser
51-keep public class * implements com.coremedia.iso.boxes.Box
52
53#-assumenosideeffects junit.framework.Assert {
54#*;
55#}
56
57# For unit testing:
58
59# - Required for running exif tests on userdebug
60-keep class com.android.gallery3d.exif.ExifTag { *; }
61-keep class com.android.gallery3d.exif.ExifData { *; }
62-keep class com.android.gallery3d.exif.ExifInterface { *; }
63-keepclassmembers class com.android.gallery3d.exif.Util {
64  *** closeSilently(...);
65}
66
67# - Required for running blobcache tests on userdebug
68-keep class com.android.gallery3d.common.BlobCache { *; }
69
70# - Required for running glcanvas tests on userdebug
71-keep class com.android.gallery3d.ui.GLPaint { *; }
72-keep class com.android.gallery3d.ui.GLCanvas { *; }
73-keep class com.android.gallery3d.glrenderer.GLPaint { *; }
74-keep class com.android.gallery3d.glrenderer.GLCanvas { *; }
75-keep class com.android.gallery3d.ui.GLView { *; }
76-keepclassmembers class com.android.gallery3d.util.IntArray {
77  *** toArray(...);
78}
79-keep class com.android.gallery3d.util.ProfileData { *; }
80
81# - Required for running jpeg stream tests on userdebug
82-keep class com.android.gallery3d.jpegstream.JPEGOutputStream { *; }
83-keep class com.android.gallery3d.jpegstream.JPEGInputStream { *; }
84-keep class com.android.gallery3d.jpegstream.StreamUtils { *; }
85
86
87# TODO: remove or rename android.util.Pools.java from our source.
88-dontwarn android.util.Pools*
89