Merge "Frameworks/base: Fix more warnings"
diff --git a/cmds/backup/backup.cpp b/cmds/backup/backup.cpp
index 03ceffa..8d9b528 100644
--- a/cmds/backup/backup.cpp
+++ b/cmds/backup/backup.cpp
@@ -75,7 +75,7 @@
                 size_t dataSize;
                 err = reader.ReadEntityHeader(&key, &dataSize);
                 if (err == 0) {
-                    printf("   entity: %s (%d bytes)\n", key.string(), dataSize);
+                    printf("   entity: %s (%zu bytes)\n", key.string(), dataSize);
                 } else {
                     printf("   Error reading entity header\n");
                 }
diff --git a/cmds/idmap/create.cpp b/cmds/idmap/create.cpp
index 28da3d6..7a501a4 100644
--- a/cmds/idmap/create.cpp
+++ b/cmds/idmap/create.cpp
@@ -78,7 +78,7 @@
         if (fstat(idmap_fd, &st) == -1) {
             return true;
         }
-        if (st.st_size < N) {
+        if (st.st_size < static_cast<off_t>(N)) {
             // file is empty or corrupt
             return true;
         }
diff --git a/include/androidfw/ResourceTypes.h b/include/androidfw/ResourceTypes.h
index f7730f2..a44975b 100644
--- a/include/androidfw/ResourceTypes.h
+++ b/include/androidfw/ResourceTypes.h
@@ -1773,9 +1773,7 @@
             const char* targetPath, const char* overlayPath,
             void** outData, size_t* outSize) const;
 
-    enum {
-        IDMAP_HEADER_SIZE_BYTES = 4 * sizeof(uint32_t) + 2 * 256,
-    };
+    static const size_t IDMAP_HEADER_SIZE_BYTES = 4 * sizeof(uint32_t) + 2 * 256;
 
     // Retrieve idmap meta-data.
     //
diff --git a/libs/storage/Android.mk b/libs/storage/Android.mk
index 7a9dd6c..fae2bf7 100644
--- a/libs/storage/Android.mk
+++ b/libs/storage/Android.mk
@@ -9,4 +9,6 @@
 
 LOCAL_MODULE:= libstorage
 
+LOCAL_CFLAGS += -Wall -Werror
+
 include $(BUILD_STATIC_LIBRARY)
diff --git a/libs/storage/IMountService.cpp b/libs/storage/IMountService.cpp
index 621de18..7ac7737 100644
--- a/libs/storage/IMountService.cpp
+++ b/libs/storage/IMountService.cpp
@@ -207,12 +207,19 @@
             ALOGD("getStorageUsers caught exception %d\n", err);
             return err;
         }
-        const int32_t numUsers = reply.readInt32();
+        int32_t numUsersI = reply.readInt32();
+        uint32_t numUsers;
+        if (numUsersI < 0) {
+            ALOGW("Number of users is negative: %d\n", numUsersI);
+            numUsers = 0;
+        } else {
+            numUsers = static_cast<uint32_t>(numUsersI);
+        }
         *users = (int32_t*)malloc(sizeof(int32_t)*numUsers);
-        for (int i = 0; i < numUsers; i++) {
+        for (size_t i = 0; i < numUsers; i++) {
             **users++ = reply.readInt32();
         }
-        return numUsers;
+        return static_cast<int32_t>(numUsers);
     }
 
     int32_t getVolumeState(const String16& mountPoint)
@@ -546,8 +553,8 @@
     }
 };
 
-IMPLEMENT_META_INTERFACE(MountService, "IMountService");
+IMPLEMENT_META_INTERFACE(MountService, "IMountService")
 
 // ----------------------------------------------------------------------
 
-};
+}
diff --git a/libs/storage/IMountServiceListener.cpp b/libs/storage/IMountServiceListener.cpp
index c98a424..11b53fd 100644
--- a/libs/storage/IMountServiceListener.cpp
+++ b/libs/storage/IMountServiceListener.cpp
@@ -34,7 +34,7 @@
             onUsbMassStorageConnectionChanged(connected);
             reply->writeNoException();
             return NO_ERROR;
-        } break;
+        }
         case TRANSACTION_onStorageStateChanged: {
             CHECK_INTERFACE(IMountServiceListener, data, reply);
             String16 path = data.readString16();
@@ -50,4 +50,4 @@
 }
 // ----------------------------------------------------------------------
 
-};
+}
diff --git a/libs/storage/IMountShutdownObserver.cpp b/libs/storage/IMountShutdownObserver.cpp
index 1a6fdee..a74a768 100644
--- a/libs/storage/IMountShutdownObserver.cpp
+++ b/libs/storage/IMountShutdownObserver.cpp
@@ -33,11 +33,11 @@
             onShutDownComplete(statusCode);
             reply->writeNoException();
             return NO_ERROR;
-        } break;
+        }
         default:
             return BBinder::onTransact(code, data, reply, flags);
     }
 }
 // ----------------------------------------------------------------------
 
-};
+}
diff --git a/libs/storage/IObbActionListener.cpp b/libs/storage/IObbActionListener.cpp
index eaa211e..9656e65 100644
--- a/libs/storage/IObbActionListener.cpp
+++ b/libs/storage/IObbActionListener.cpp
@@ -30,10 +30,11 @@
         : BpInterface<IObbActionListener>(impl)
     { }
 
-    virtual void onObbResult(const String16& filename, const int32_t nonce, const int32_t state) { }
+    virtual void onObbResult(const String16& /* filename */, const int32_t /* nonce */,
+                             const int32_t /* state */) { }
 };
 
-IMPLEMENT_META_INTERFACE(ObbActionListener, "IObbActionListener");
+IMPLEMENT_META_INTERFACE(ObbActionListener, "IObbActionListener")
 
 // ----------------------------------------------------------------------
 
@@ -49,7 +50,7 @@
             onObbResult(filename, nonce, state);
             reply->writeNoException();
             return NO_ERROR;
-        } break;
+        }
         default:
             return BBinder::onTransact(code, data, reply, flags);
     }
@@ -57,4 +58,4 @@
 
 // ----------------------------------------------------------------------
 
-};
+}