Merge "Fix makefile include for support-v4" into oc-dev am: 49496305fa
am: eee8680939

Change-Id: I173a593c8cd71e6cfdb47c6d9aadf8d99dc6c323
diff --git a/jni/Android.mk b/jni/Android.mk
index 857fca2..32c7163 100644
--- a/jni/Android.mk
+++ b/jni/Android.mk
@@ -3,6 +3,7 @@
 include $(CLEAR_VARS)
 
 LOCAL_CFLAGS += -DEGL_EGLEXT_PROTOTYPES -Wno-unused-parameter
+LOCAL_CFLAGS += -Wall -Wextra
 
 LOCAL_SRC_FILES := jni_egl_fence.cpp
 
@@ -45,6 +46,7 @@
                    filters/kmeans.cc
 
 LOCAL_CFLAGS    += -ffast-math -O3 -funroll-loops -Wno-unused-parameter
+LOCAL_CFLAGS += -Wall -Wextra
 LOCAL_LDLIBS := -llog -ljnigraphics
 LOCAL_ARM_MODE := arm
 
diff --git a/jni/filters/filters.h b/jni/filters/filters.h
index 6856a26..e203963 100644
--- a/jni/filters/filters.h
+++ b/jni/filters/filters.h
@@ -35,7 +35,7 @@
 
 #define LOG(msg...) __android_log_print(ANDROID_LOG_VERBOSE, "NativeFilters", msg)
 
-#define JNIFUNCF(cls, name, vars...) Java_com_android_gallery3d_filtershow_filters_ ## cls ## _ ## name(JNIEnv* env, jobject obj, vars)
+#define JNIFUNCF(cls, name, vars...) Java_com_android_gallery3d_filtershow_filters_ ## cls ## _ ## name(JNIEnv* env, jobject obj_unused __unused, vars)
 
 #define RED i
 #define GREEN (i+1)
diff --git a/jni/filters/fx.c b/jni/filters/fx.c
index c3c9cbd..4d4cda1 100644
--- a/jni/filters/fx.c
+++ b/jni/filters/fx.c
@@ -29,8 +29,8 @@
     return (int)frbg ;
 }
 
-void JNIFUNCF(ImageFilterFx, nativeApplyFilter, jobject bitmap, jint width, jint height,
-        jobject lutbitmap, jint lutwidth, jint lutheight,
+void JNIFUNCF(ImageFilterFx, nativeApplyFilter, jobject bitmap, jint width __unused,
+        jint height __unused, jobject lutbitmap, jint lutwidth, jint lutheight,
         jint start, jint end)
 {
     char* destination = 0;
diff --git a/jni/filters/geometry.c b/jni/filters/geometry.c
index b01e5e0..8537549 100644
--- a/jni/filters/geometry.c
+++ b/jni/filters/geometry.c
@@ -19,7 +19,8 @@
 
 #include "filters.h"
 
-static __inline__ void flipVertical(char * source, int srcWidth, int srcHeight, char * destination, int dstWidth, int dstHeight){
+static __inline__ void flipVertical(char * source, int srcWidth, int srcHeight, char * destination,
+        int dstWidth __unused, int dstHeight __unused) {
     //Vertical
     size_t cpy_bytes = sizeof(char) * 4;
     int width = cpy_bytes * srcWidth;
@@ -33,7 +34,8 @@
     }
 }
 
-static __inline__ void flipHorizontal(char * source, int srcWidth, int srcHeight, char * destination, int dstWidth, int dstHeight){
+static __inline__ void flipHorizontal(char * source, int srcWidth, int srcHeight,
+        char * destination, int dstWidth __unused, int dstHeight __unused) {
     //Horizontal
     size_t cpy_bytes = sizeof(char) * 4;
     int width = cpy_bytes * srcWidth;
@@ -72,11 +74,11 @@
 }
 
 //90 CCW (opposite of what's used in UI?)
-static __inline__ void rotate90(char * source, int srcWidth, int srcHeight, char * destination, int dstWidth, int dstHeight){
+static __inline__ void rotate90(char * source, int srcWidth, int srcHeight, char * destination,
+        int dstWidth __unused, int dstHeight __unused) {
     size_t cpy_bytes = sizeof(char) * 4;
     int width = cpy_bytes * srcWidth;
     int length = srcHeight;
-    int total = length * width;
     for (size_t j = 0; j < length * cpy_bytes; j+= cpy_bytes){
         for (int i = 0; i < width; i+=cpy_bytes){
             int column_disp = (width - cpy_bytes - i) * length;
@@ -120,7 +122,6 @@
     if ((srcWidth > dstWidth + offsetWidth) || (srcHeight > dstHeight + offsetHeight)){
         return;
     }
-    int i = 0;
     int j = 0;
     for (j = offsetHeight; j < offsetHeight + dstHeight; j++){
         memcpy(destination + (j - offsetHeight) * new_row_width, source + j * row_width + offsetWidth * cpy_bytes, cpy_bytes * dstWidth );
@@ -143,7 +144,6 @@
 void JNIFUNCF(ImageFilterGeometry, nativeApplyFilterRotate, jobject src, jint srcWidth, jint srcHeight, jobject dst, jint dstWidth, jint dstHeight, jint rotate) {
     char* destination = 0;
     char* source = 0;
-    int len = dstWidth * dstHeight * 4;
     AndroidBitmap_lockPixels(env, src, (void**) &source);
     AndroidBitmap_lockPixels(env, dst, (void**) &destination);
     rotate_fun(rotate, source, srcWidth, srcHeight, destination, dstWidth, dstHeight);
@@ -154,7 +154,6 @@
 void JNIFUNCF(ImageFilterGeometry, nativeApplyFilterCrop, jobject src, jint srcWidth, jint srcHeight, jobject dst, jint dstWidth, jint dstHeight, jint offsetWidth, jint offsetHeight) {
     char* destination = 0;
     char* source = 0;
-    int len = dstWidth * dstHeight * 4;
     AndroidBitmap_lockPixels(env, src, (void**) &source);
     AndroidBitmap_lockPixels(env, dst, (void**) &destination);
     crop(source, srcWidth, srcHeight, destination, dstWidth, dstHeight, offsetWidth, offsetHeight);
@@ -162,7 +161,9 @@
     AndroidBitmap_unlockPixels(env, src);
 }
 
-void JNIFUNCF(ImageFilterGeometry, nativeApplyFilterStraighten, jobject src, jint srcWidth, jint srcHeight, jobject dst, jint dstWidth, jint dstHeight, jfloat straightenAngle) {
+void JNIFUNCF(ImageFilterGeometry, nativeApplyFilterStraighten, jobject src, jint srcWidth __unused,
+        jint srcHeight __unused, jobject dst, jint dstWidth, jint dstHeight,
+        jfloat straightenAngle __unused) {
     char* destination = 0;
     char* source = 0;
     int len = dstWidth * dstHeight * 4;
@@ -171,11 +172,8 @@
     // TODO: implement straighten
     int i = 0;
     for (; i < len; i += 4) {
-        int r = source[RED];
-        int g = source[GREEN];
-        int b = source[BLUE];
         destination[RED] = 128;
-        destination[GREEN] = g;
+        destination[GREEN] = source[GREEN];
         destination[BLUE] = 128;
     }
     AndroidBitmap_unlockPixels(env, dst);
diff --git a/jni/filters/redEyeMath.c b/jni/filters/redEyeMath.c
index 9a16d60..7bc558c 100644
--- a/jni/filters/redEyeMath.c
+++ b/jni/filters/redEyeMath.c
@@ -32,8 +32,8 @@
     return ((r * 100 / (max + 2) > 160) & (max < 80));
 }
 
-void findPossible(unsigned char *src, unsigned char *mask, int iw, int ih,
-        short *rect) {
+void findPossible(unsigned char *src, unsigned char *mask, int iw,
+        int ih __unused, short *rect) {
     int recX = rect[0], recY = rect[1], recW = rect[2], recH = rect[3];
     int y, x;
 
@@ -53,7 +53,7 @@
     }
 }
 
-void findReds(unsigned char *src, unsigned char *mask, int iw, int ih,
+void findReds(unsigned char *src, unsigned char *mask, int iw, int ih __unused,
         short *rect) {
     int recX = rect[0], recY = rect[1], recW = rect[2], recH = rect[3];
     int y, x;
@@ -70,8 +70,8 @@
     }
 }
 
-void dialateMaskIfRed(unsigned char *src, int iw, int ih, unsigned char *mask,
-        unsigned char *out, short *rect) {
+void dialateMaskIfRed(unsigned char *src, int iw, int ih __unused,
+        unsigned char *mask, unsigned char *out, short *rect) {
     int recX = rect[0], recY = rect[1], recW = rect[2], recH = rect[3];
     int y, x;
 
@@ -113,7 +113,6 @@
     int recX = rect[0], recY = rect[1], recW = rect[2], recH = rect[3];
     unsigned char *mask1 = (unsigned char *) malloc(recW * recH);
     unsigned char *mask2 = (unsigned char *)malloc(recW*recH);
-    int QUE_LEN = 100;
     int y, x, i;
 
     rect[0] = MAX(rect[0],0);
diff --git a/jni/filters/saturated.c b/jni/filters/saturated.c
index 1bc0cc5..f5cf767 100644
--- a/jni/filters/saturated.c
+++ b/jni/filters/saturated.c
@@ -36,7 +36,6 @@
         int r = destination[RED];
         int g = destination[GREEN];
         int b = destination[BLUE];
-        int t = (r + g) / 2;
         R = r;
         G = g;
         B = b;
diff --git a/jni/filters/vibrance.c b/jni/filters/vibrance.c
index cb5c536..feef7bc 100644
--- a/jni/filters/vibrance.c
+++ b/jni/filters/vibrance.c
@@ -45,7 +45,6 @@
         Rt = Rf * MS;
         Gt = Gf * MS;
         Bt = Bf * MS;
-        int t = (r + g) / 2;
         R = r;
         G = g;
         B = b;
diff --git a/jni/jni_egl_fence.cpp b/jni/jni_egl_fence.cpp
index cf15e2f..0f696fc 100644
--- a/jni/jni_egl_fence.cpp
+++ b/jni/jni_egl_fence.cpp
@@ -38,7 +38,7 @@
 bool IsEglKHRFenceSyncSupported() {
   if (!initialized) {
     EGLDisplay display = eglGetCurrentDisplay();
-    const char* eglExtensions = eglQueryString(eglGetCurrentDisplay(), EGL_EXTENSIONS);
+    const char* eglExtensions = eglQueryString(display, EGL_EXTENSIONS);
     if (eglExtensions && strstr(eglExtensions, "EGL_KHR_fence_sync")) {
       FuncEglCreateSyncKHR = (TypeEglCreateSyncKHR) eglGetProcAddress("eglCreateSyncKHR");
       FuncEglClientWaitSyncKHR = (TypeEglClientWaitSyncKHR) eglGetProcAddress("eglClientWaitSyncKHR");
@@ -54,8 +54,8 @@
 }
 
 void
-Java_com_android_gallery3d_photoeditor_FilterStack_nativeEglSetFenceAndWait(JNIEnv* env,
-                                                                          jobject thiz) {
+Java_com_android_gallery3d_photoeditor_FilterStack_nativeEglSetFenceAndWait(
+        JNIEnv* env __unused, jobject thiz __unused) {
   if (!IsEglKHRFenceSyncSupported()) return;
   EGLDisplay display = eglGetCurrentDisplay();
 
diff --git a/jni_jpegstream/Android.mk b/jni_jpegstream/Android.mk
index b13d4fb..f3a631d 100644
--- a/jni_jpegstream/Android.mk
+++ b/jni_jpegstream/Android.mk
@@ -17,6 +17,7 @@
 LOCAL_ARM_MODE := arm
 
 LOCAL_CFLAGS    += -ffast-math -O3 -funroll-loops
+LOCAL_CFLAGS += -Wall -Wextra
 LOCAL_LDLIBS := -llog
 
 LOCAL_CPP_EXTENSION := .cpp
diff --git a/jni_jpegstream/src/jerr_hook.cpp b/jni_jpegstream/src/jerr_hook.cpp
index f8f864f..c8491cc 100644
--- a/jni_jpegstream/src/jerr_hook.cpp
+++ b/jni_jpegstream/src/jerr_hook.cpp
@@ -34,7 +34,6 @@
  * to logcat's error log.
  */
 void ErrOutput(j_common_ptr cinfo) {
-    ErrManager* mgr = reinterpret_cast<ErrManager*>(cinfo->err);
     char buf[JMSG_LENGTH_MAX];
     (*cinfo->err->format_message) (cinfo, buf);
     buf[JMSG_LENGTH_MAX - 1] = '\0';  // Force null terminator
diff --git a/jni_jpegstream/src/jpeg_hook.cpp b/jni_jpegstream/src/jpeg_hook.cpp
index cca54e4..db04c18 100644
--- a/jni_jpegstream/src/jpeg_hook.cpp
+++ b/jni_jpegstream/src/jpeg_hook.cpp
@@ -121,7 +121,7 @@
         return;
     }
     SourceManager *src = reinterpret_cast<SourceManager*>(cinfo->src);
-    if (src->mgr.bytes_in_buffer >= num_bytes) {
+    if (src->mgr.bytes_in_buffer >= (size_t)num_bytes) {
         src->mgr.bytes_in_buffer -= num_bytes;
         src->mgr.next_input_byte += num_bytes;
     } else {
@@ -149,7 +149,7 @@
     }
 }
 
-void Mgr_term_source_fcn(j_decompress_ptr cinfo) {
+void Mgr_term_source_fcn(j_decompress_ptr cinfo __unused) {
     //noop
 }
 
diff --git a/jni_jpegstream/src/jpeg_reader.cpp b/jni_jpegstream/src/jpeg_reader.cpp
index 4726b64..9662152 100644
--- a/jni_jpegstream/src/jpeg_reader.cpp
+++ b/jni_jpegstream/src/jpeg_reader.cpp
@@ -215,7 +215,6 @@
     // Do endianness and alpha for output format
     if (mFormat == Jpeg_Config::FORMAT_RGBA) {
         // Set alphas to 255
-        uint8_t* end = buf + len - 1;
         for (int i = len - 1; i >= 0; i -= 4) {
             buf[i] = 255;
             buf[i - 1] = *--iter;
@@ -224,7 +223,6 @@
         }
     } else if (mFormat == Jpeg_Config::FORMAT_ABGR) {
         // Reverse endianness and set alphas to 255
-        uint8_t* end = buf + len - 1;
         int r, g, b;
         for (int i = len - 1; i >= 0; i -= 4) {
             b = *--iter;
diff --git a/jni_jpegstream/src/jpegstream.cpp b/jni_jpegstream/src/jpegstream.cpp
index 3b9a683..afff64c 100644
--- a/jni_jpegstream/src/jpegstream.cpp
+++ b/jni_jpegstream/src/jpegstream.cpp
@@ -323,7 +323,7 @@
     return JNI_TRUE;
 }
 
-jint JNI_OnLoad(JavaVM* vm, void* reserved) {
+jint JNI_OnLoad(JavaVM* vm, void* reserved __unused) {
     JNIEnv* env;
     if (vm->GetEnv(reinterpret_cast<void**>(&env), JNI_VERSION_1_6) != JNI_OK) {
         LOGE("Error: GetEnv failed in JNI_OnLoad");
diff --git a/res/values-b+sr+Latn/filtershow_strings.xml b/res/values-b+sr+Latn/filtershow_strings.xml
index c6f84ea..da90f06 100644
--- a/res/values-b+sr+Latn/filtershow_strings.xml
+++ b/res/values-b+sr+Latn/filtershow_strings.xml
@@ -44,13 +44,13 @@
     <string name="save_and_processing" msgid="6371565035837463194">"Obrađivanje slike u punoj rezoluciji..."</string>
     <string name="exit" msgid="242642957038770113">"Izađi"</string>
     <string name="history" msgid="455767361472692409">"Istorija"</string>
-    <string name="reset" msgid="9013181350779592937">"Ponovo postavi"</string>
+    <string name="reset" msgid="9013181350779592937">"Resetuj"</string>
     <!-- no translation found for history_original (150973253194312841) -->
     <skip />
     <string name="imageState" msgid="8632586742752891968">"Primenjeni efekti"</string>
     <string name="compare_original" msgid="8140838959007796977">"Uporedi"</string>
     <string name="apply_effect" msgid="1218288221200568947">"Primeni"</string>
-    <string name="reset_effect" msgid="7712605581024929564">"Ponovo postavi"</string>
+    <string name="reset_effect" msgid="7712605581024929564">"Resetuj"</string>
     <string name="aspect" msgid="4025244950820813059">"Razmera"</string>
     <string name="aspect1to1_effect" msgid="1159104543795779123">"1:1"</string>
     <string name="aspect4to3_effect" msgid="7968067847241223578">"4:3"</string>
@@ -59,7 +59,7 @@
     <string name="aspect5to7_effect" msgid="5122395569059384741">"5:7"</string>
     <string name="aspect7to5_effect" msgid="5780001758108328143">"7:5"</string>
     <string name="aspect9to16_effect" msgid="7740468012919660728">"16:9"</string>
-    <string name="aspectNone_effect" msgid="6263330561046574134">"Nijedno"</string>
+    <string name="aspectNone_effect" msgid="6263330561046574134">"Ništa"</string>
     <!-- no translation found for aspectOriginal_effect (5678516555493036594) -->
     <skip />
     <string name="Fixed" msgid="8017376448916924565">"Fiksno"</string>
@@ -88,7 +88,7 @@
     <string name="rotate" msgid="2796802553793795371">"Rotiraj"</string>
     <string name="mirror" msgid="5482518108154883096">"Ogledalo"</string>
     <string name="negative" msgid="6998313764388022201">"Negativ"</string>
-    <string name="none" msgid="6633966646410296520">"Nijedno"</string>
+    <string name="none" msgid="6633966646410296520">"Ništa"</string>
     <string name="edge" msgid="7036064886242147551">"Ivice"</string>
     <string name="kmeans" msgid="2080952022674981541">"Posterizuj"</string>
     <string name="downsample" msgid="3552938534146980104">"Smanji"</string>
diff --git a/res/values-sr/filtershow_strings.xml b/res/values-sr/filtershow_strings.xml
index d06b7b8..922509c 100644
--- a/res/values-sr/filtershow_strings.xml
+++ b/res/values-sr/filtershow_strings.xml
@@ -44,13 +44,13 @@
     <string name="save_and_processing" msgid="6371565035837463194">"Обрађивање слике у пуној резолуцији..."</string>
     <string name="exit" msgid="242642957038770113">"Изађи"</string>
     <string name="history" msgid="455767361472692409">"Историја"</string>
-    <string name="reset" msgid="9013181350779592937">"Поново постави"</string>
+    <string name="reset" msgid="9013181350779592937">"Ресетуј"</string>
     <!-- no translation found for history_original (150973253194312841) -->
     <skip />
     <string name="imageState" msgid="8632586742752891968">"Примењени ефекти"</string>
     <string name="compare_original" msgid="8140838959007796977">"Упореди"</string>
     <string name="apply_effect" msgid="1218288221200568947">"Примени"</string>
-    <string name="reset_effect" msgid="7712605581024929564">"Поново постави"</string>
+    <string name="reset_effect" msgid="7712605581024929564">"Ресетуј"</string>
     <string name="aspect" msgid="4025244950820813059">"Размера"</string>
     <string name="aspect1to1_effect" msgid="1159104543795779123">"1:1"</string>
     <string name="aspect4to3_effect" msgid="7968067847241223578">"4:3"</string>
@@ -59,7 +59,7 @@
     <string name="aspect5to7_effect" msgid="5122395569059384741">"5:7"</string>
     <string name="aspect7to5_effect" msgid="5780001758108328143">"7:5"</string>
     <string name="aspect9to16_effect" msgid="7740468012919660728">"16:9"</string>
-    <string name="aspectNone_effect" msgid="6263330561046574134">"Ниједно"</string>
+    <string name="aspectNone_effect" msgid="6263330561046574134">"Ништа"</string>
     <!-- no translation found for aspectOriginal_effect (5678516555493036594) -->
     <skip />
     <string name="Fixed" msgid="8017376448916924565">"Фиксно"</string>
@@ -88,7 +88,7 @@
     <string name="rotate" msgid="2796802553793795371">"Ротирај"</string>
     <string name="mirror" msgid="5482518108154883096">"Огледало"</string>
     <string name="negative" msgid="6998313764388022201">"Негатив"</string>
-    <string name="none" msgid="6633966646410296520">"Ниједно"</string>
+    <string name="none" msgid="6633966646410296520">"Ништа"</string>
     <string name="edge" msgid="7036064886242147551">"Ивице"</string>
     <string name="kmeans" msgid="2080952022674981541">"Постеризуј"</string>
     <string name="downsample" msgid="3552938534146980104">"Смањи"</string>