am d9d94f40: Merge "Make FormatUtils use ByteArrayView."

* commit 'd9d94f40c7ce44a71a2d9245ac2f3f1ccb887f80':
  Make FormatUtils use ByteArrayView.
diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/dictionary_structure_with_buffer_policy_factory.cpp b/native/jni/src/suggest/policyimpl/dictionary/structure/dictionary_structure_with_buffer_policy_factory.cpp
index e4ea3da..9fa93ef 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/structure/dictionary_structure_with_buffer_policy_factory.cpp
+++ b/native/jni/src/suggest/policyimpl/dictionary/structure/dictionary_structure_with_buffer_policy_factory.cpp
@@ -111,8 +111,7 @@
         return nullptr;
     }
     const FormatUtils::FORMAT_VERSION formatVersion = FormatUtils::detectFormatVersion(
-            mmappedBuffer->getReadOnlyByteArrayView().data(),
-            mmappedBuffer->getReadOnlyByteArrayView().size());
+            mmappedBuffer->getReadOnlyByteArrayView());
     switch (formatVersion) {
         case FormatUtils::VERSION_2:
             AKLOGE("Given path is a directory but the format is version 2. path: %s", path);
@@ -174,8 +173,7 @@
     if (!mmappedBuffer) {
         return nullptr;
     }
-    switch (FormatUtils::detectFormatVersion(mmappedBuffer->getReadOnlyByteArrayView().data(),
-            mmappedBuffer->getReadOnlyByteArrayView().size())) {
+    switch (FormatUtils::detectFormatVersion(mmappedBuffer->getReadOnlyByteArrayView())) {
         case FormatUtils::VERSION_2:
             return DictionaryStructureWithBufferPolicy::StructurePolicyPtr(
                     new PatriciaTriePolicy(std::move(mmappedBuffer)));
diff --git a/native/jni/src/suggest/policyimpl/dictionary/utils/format_utils.cpp b/native/jni/src/suggest/policyimpl/dictionary/utils/format_utils.cpp
index 1916ea5..e6e7167 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/utils/format_utils.cpp
+++ b/native/jni/src/suggest/policyimpl/dictionary/utils/format_utils.cpp
@@ -23,7 +23,7 @@
 const uint32_t FormatUtils::MAGIC_NUMBER = 0x9BC13AFE;
 
 // Magic number (4 bytes), version (2 bytes), flags (2 bytes), header size (4 bytes) = 12
-const int FormatUtils::DICTIONARY_MINIMUM_SIZE = 12;
+const size_t FormatUtils::DICTIONARY_MINIMUM_SIZE = 12;
 
 /* static */ FormatUtils::FORMAT_VERSION FormatUtils::getFormatVersion(const int formatVersion) {
     switch (formatVersion) {
@@ -40,14 +40,14 @@
     }
 }
 /* static */ FormatUtils::FORMAT_VERSION FormatUtils::detectFormatVersion(
-        const uint8_t *const dict, const int dictSize) {
+        const ReadOnlyByteArrayView dictBuffer) {
     // The magic number is stored big-endian.
     // If the dictionary is less than 4 bytes, we can't even read the magic number, so we don't
     // understand this format.
-    if (dictSize < DICTIONARY_MINIMUM_SIZE) {
+    if (dictBuffer.size() < DICTIONARY_MINIMUM_SIZE) {
         return UNKNOWN_VERSION;
     }
-    const uint32_t magicNumber = ByteArrayUtils::readUint32(dict, 0);
+    const uint32_t magicNumber = ByteArrayUtils::readUint32(dictBuffer.data(), 0);
     switch (magicNumber) {
         case MAGIC_NUMBER:
             // The layout of the header is as follows:
@@ -58,7 +58,7 @@
             // Conceptually this converts the hardcoded value of the bytes in the file into
             // the symbolic value we use in the code. But we want the constants to be the
             // same so we use them for both here.
-            return getFormatVersion(ByteArrayUtils::readUint16(dict, 4));
+            return getFormatVersion(ByteArrayUtils::readUint16(dictBuffer.data(), 4));
         default:
             return UNKNOWN_VERSION;
     }
diff --git a/native/jni/src/suggest/policyimpl/dictionary/utils/format_utils.h b/native/jni/src/suggest/policyimpl/dictionary/utils/format_utils.h
index 55ad579..51ad987 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/utils/format_utils.h
+++ b/native/jni/src/suggest/policyimpl/dictionary/utils/format_utils.h
@@ -20,6 +20,7 @@
 #include <cstdint>
 
 #include "defines.h"
+#include "utils/byte_array_view.h"
 
 namespace latinime {
 
@@ -42,12 +43,12 @@
     static const uint32_t MAGIC_NUMBER;
 
     static FORMAT_VERSION getFormatVersion(const int formatVersion);
-    static FORMAT_VERSION detectFormatVersion(const uint8_t *const dict, const int dictSize);
+    static FORMAT_VERSION detectFormatVersion(const ReadOnlyByteArrayView dictBuffer);
 
  private:
     DISALLOW_IMPLICIT_CONSTRUCTORS(FormatUtils);
 
-    static const int DICTIONARY_MINIMUM_SIZE;
+    static const size_t DICTIONARY_MINIMUM_SIZE;
 };
 } // namespace latinime
 #endif /* LATINIME_FORMAT_UTILS_H */