Merge "resolve merge conflicts of 803c05281620fdb74af6d4b6dd8febe5ac079e1d to qt-dev-plus-aosp" into qt-dev-plus-aosp
diff --git a/core/jni/android_util_jar_StrictJarFile.cpp b/core/jni/android_util_jar_StrictJarFile.cpp
index a26707e..e33da91 100644
--- a/core/jni/android_util_jar_StrictJarFile.cpp
+++ b/core/jni/android_util_jar_StrictJarFile.cpp
@@ -100,16 +100,8 @@
   }
 
   IterationHandle* handle = new IterationHandle();
-  int32_t error = 0;
-  if (prefixChars.size() == 0) {
-    error = StartIteration(reinterpret_cast<ZipArchiveHandle>(nativeHandle),
-                           handle->CookieAddress(), NULL, NULL);
-  } else {
-    ZipString entry_name(prefixChars.c_str());
-    error = StartIteration(reinterpret_cast<ZipArchiveHandle>(nativeHandle),
-                           handle->CookieAddress(), &entry_name, NULL);
-  }
-
+  int32_t error = StartIteration(reinterpret_cast<ZipArchiveHandle>(nativeHandle),
+                                 handle->CookieAddress(), prefixChars.c_str(), "");
   if (error) {
     throwIoException(env, error);
     return static_cast<jlong>(-1);
diff --git a/libs/androidfw/ApkAssets.cpp b/libs/androidfw/ApkAssets.cpp
index fc3fee7..61e3230 100644
--- a/libs/androidfw/ApkAssets.cpp
+++ b/libs/androidfw/ApkAssets.cpp
@@ -211,9 +211,8 @@
     root_path_full += '/';
   }
 
-  ::ZipString prefix(root_path_full.c_str());
   void* cookie;
-  if (::StartIteration(zip_handle_.get(), &cookie, &prefix, nullptr) != 0) {
+  if (::StartIteration(zip_handle_.get(), &cookie, root_path_full, "") != 0) {
     return false;
   }
 
diff --git a/libs/androidfw/ZipFileRO.cpp b/libs/androidfw/ZipFileRO.cpp
index 44614c1..ee5f778 100644
--- a/libs/androidfw/ZipFileRO.cpp
+++ b/libs/androidfw/ZipFileRO.cpp
@@ -149,11 +149,8 @@
 bool ZipFileRO::startIteration(void** cookie, const char* prefix, const char* suffix)
 {
     _ZipEntryRO* ze = new _ZipEntryRO;
-    ZipString pe(prefix ? prefix : "");
-    ZipString se(suffix ? suffix : "");
     int32_t error = StartIteration(mHandle, &(ze->cookie),
-                                   prefix ? &pe : NULL,
-                                   suffix ? &se : NULL);
+                                   prefix ? prefix : "", suffix ? suffix : "");
     if (error) {
         ALOGW("Could not start iteration over %s: %s", mFileName != NULL ? mFileName : "<null>",
                 ErrorCodeString(error));
diff --git a/telephony/java/com/android/internal/telephony/GsmAlphabet.java b/telephony/java/com/android/internal/telephony/GsmAlphabet.java
index a774cdc..5c076f5 100644
--- a/telephony/java/com/android/internal/telephony/GsmAlphabet.java
+++ b/telephony/java/com/android/internal/telephony/GsmAlphabet.java
@@ -1516,7 +1516,7 @@
             }
         }
 
-        sCharsToShiftTables = new SparseIntArray[numTables];
+        sCharsToShiftTables = new SparseIntArray[numShiftTables];
         for (int i = 0; i < numShiftTables; i++) {
             String shiftTable = sLanguageShiftTables[i];
 
diff --git a/tools/aapt/Android.bp b/tools/aapt/Android.bp
index f367397..a594e5b 100644
--- a/tools/aapt/Android.bp
+++ b/tools/aapt/Android.bp
@@ -71,8 +71,6 @@
     cflags: [
         "-Wno-format-y2k",
         "-DSTATIC_ANDROIDFW_FOR_TOOLS",
-        // Allow implicit fallthroughs in AaptAssets.cpp until they are fixed.
-        "-Wno-error=implicit-fallthrough",
     ],
 
     srcs: [