Fix lint warnings in LatinIME JNI code

This CL addresses compiler warnings when building libjni_latinime.so
with NDK from Android Studio.

There should be no behavior change.

Bug: 110741422
Bug: 110757803
Test: tapas LatinIME LatinIMETests arm64 userdebug && make -j
Change-Id: Icc711dd46511a167b1fd90028552def5b2f9941f
diff --git a/native/jni/Android.mk b/native/jni/Android.mk
index 893a60d..b9fc414 100644
--- a/native/jni/Android.mk
+++ b/native/jni/Android.mk
@@ -29,7 +29,7 @@
 
 LOCAL_CFLAGS += -Werror -Wall -Wextra -Weffc++ -Wformat=2 -Wcast-qual -Wcast-align \
     -Wwrite-strings -Wfloat-equal -Wpointer-arith -Winit-self -Wredundant-decls \
-    -Woverloaded-virtual -Wsign-promo -Wno-system-headers
+    -Woverloaded-virtual -Wsign-promo -Wno-system-headers -Wno-format-nonliteral
 
 # To suppress compiler warnings for unused variables/functions used for debug features etc.
 LOCAL_CFLAGS += -Wno-unused-parameter -Wno-unused-function
diff --git a/native/jni/src/defines.h b/native/jni/src/defines.h
index 10b930e..1531b6c 100644
--- a/native/jni/src/defines.h
+++ b/native/jni/src/defines.h
@@ -17,6 +17,8 @@
 #ifndef LATINIME_DEFINES_H
 #define LATINIME_DEFINES_H
 
+#include <cstdint>
+
 #ifdef __GNUC__
 #define AK_FORCE_INLINE __attribute__((always_inline)) __inline__
 #else // __GNUC__
@@ -51,7 +53,7 @@
     int si = 0;
     int di = 0;
     while (si < sourceSize && di < destLimit && 0 != source[si]) {
-        const int codePoint = source[si++];
+        const uint32_t codePoint = static_cast<uint32_t>(source[si++]);
         if (codePoint < 0x7F) { // One byte
             dest[di++] = codePoint;
         } else if (codePoint < 0x7FF) { // Two bytes