Move <uses-sdk /> to a differnt XML

Basically Android Studio does want targetSdkVersion to be specified in
build.gradle rather than AndroidManifest.xml.  To make both make build
and Android Studio build happy, this CL splits <uses-sdk /> from the
main AndroidManifest.xml to a different file and let them merged in
make build.

There should be no behavior change.

Bug: 110741422
Test: Manually verified that there is no difference in
      AndroidManifest.xml in the APK.
Change-Id: Ib673bca5a31b2f95329c9310a127ec0701bd8fdc
diff --git a/java/Android.mk b/java/Android.mk
index a07c50d..875aad4 100644
--- a/java/Android.mk
+++ b/java/Android.mk
@@ -23,6 +23,10 @@
 
 LOCAL_CERTIFICATE := shared
 
+LOCAL_FULL_LIBS_MANIFEST_FILES := \
+    $(LOCAL_PATH)/AndroidManifest.xml \
+    $(LOCAL_PATH)/AndroidManifest_SdkVersion.xml
+
 LOCAL_JNI_SHARED_LIBRARIES := libjni_latinime
 
 LOCAL_STATIC_JAVA_LIBRARIES := \
diff --git a/java/AndroidManifest.xml b/java/AndroidManifest.xml
index dedece5..e3931db 100644
--- a/java/AndroidManifest.xml
+++ b/java/AndroidManifest.xml
@@ -18,8 +18,6 @@
         coreApp="true"
         package="com.android.inputmethod.latin">
 
-    <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23" />
-
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
     <uses-permission android:name="android.permission.GET_ACCOUNTS" />
diff --git a/java/AndroidManifest_SdkVersion.xml b/java/AndroidManifest_SdkVersion.xml
new file mode 100644
index 0000000..3dfeede
--- /dev/null
+++ b/java/AndroidManifest_SdkVersion.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2018 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+        package="com.android.inputmethod.latin">
+    <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23" />
+</manifest>
diff --git a/tests/Android.mk b/tests/Android.mk
index 7c0bb4f..23b0a93 100644
--- a/tests/Android.mk
+++ b/tests/Android.mk
@@ -19,6 +19,10 @@
 LOCAL_MODULE_TAGS := tests
 LOCAL_CERTIFICATE := shared
 
+LOCAL_FULL_LIBS_MANIFEST_FILES := \
+    $(LOCAL_PATH)/AndroidManifest.xml \
+    $(LOCAL_PATH)/AndroidManifest_SdkVersion.xml
+
 # Do not compress dictionary files to mmap dict data runtime
 LOCAL_AAPT_FLAGS += -0 .dict
 # Do not compress test data file
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
index c7a9e13..93464f2 100644
--- a/tests/AndroidManifest.xml
+++ b/tests/AndroidManifest.xml
@@ -17,8 +17,6 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.android.inputmethod.latin.tests">
 
-    <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="21" />
-
     <uses-permission android:name="android.permission.READ_CONTACTS" />
 
     <application android:label="@string/app_name"
diff --git a/tests/AndroidManifest_SdkVersion.xml b/tests/AndroidManifest_SdkVersion.xml
new file mode 100644
index 0000000..5d3268c
--- /dev/null
+++ b/tests/AndroidManifest_SdkVersion.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2018 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.inputmethod.latin.tests">
+    <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="21" />
+</manifest>