In general files in LatinIME project should be Apache 2 license
(unless some exceptional note is there). This is not limited to Java
source files.
Hence moving MODULE_LICENSE_APACHE2 [1] to the project top directory
would make much more sense to avoid possible confusions.
NOTICE file is a bit complicated because it also needs to be copied
into the system image. Since the actual build rule for LatinIME.apk
is placed as java/Android.bp, and
notice: "../NOTICE"
is something that is not supported / recommended, this CL just copies
NOTICE file from java/NOTICE to the top level directory.
Note also that NOTICE for LatinIME has a special notation [2].
[1]: Originally added in the following CL for Bug 2548782
If50b2e9e9cc4b4876b0d047fc9f34e2d537a6da4
443c360d0a
[2]: Originally added in the following CL for Bug 7285172
Ib4f4e433850d3f58e0a7cef205be4dc59c7f28c4
49d301e9ad
Test: Locally verified as follows:
lunch aosp_taimen-userdebug
make -j
cat $OUT/obj/NOTICE_FILES/src/system/app/LatinIME/LatinIME.apk.txt
Change-Id: I0ca84c46125de7f86f9e26906e107ac9ad7af177
With this CL, targetSdkVersion and minSdkVersion will be bumped as
follows:
targetSdkVersion: 23 -> 28
minSdkVersion: 14 -> 21
As far as we know, there should be no user-visible behavior change on
supported OS versions.
Fix: 119489995
Test: manually verified that LatinIME still is functional
Change-Id: I68f1545778b0c8b44c6850f22f3f5ca25bdb6de0
This logically reverts my previous CL [1], which moved <uses-sdk />
from AndroidManifest.xml to AndroidManifest_SdkVersion.xml, which was
later accidentally removed during Android.bp migration [2].
Since gradle support in LatinIME is still experimental and not used in
official build, it is OK to keep it broken for a while. A more
important problem right now is letting LatinIME target API 28.
As the first step to let LatinIME target SDK 28, <uses-sdk> will be
revived in AndroidManifest.xml
[1]: Ib673bca5a31b2f95329c9310a127ec0701bd8fdc
9cd42f39eb
[2]: Ib8867d3b74f09fc1d9f95adc9a49a81ac0f7f054
22ebec6e2e
Bug: 110741422
Bug: 119489995
Test: manually verified that LatinIME still is functional
Change-Id: I8b04caa56fe2431c07e076fb6f97c560d5da8838
See build/soong/README.md for more information.
Test: cd packages/inputmethods/LatinIME; mma
Change-Id: Ib8867d3b74f09fc1d9f95adc9a49a81ac0f7f054
Merged-In: Ib8867d3b74f09fc1d9f95adc9a49a81ac0f7f054
make build uses 'shared' cert in build/make/target/product/security/.
If LatinIME APK built with AndroidStudio doesn't use the same signing
cert, then you cannot install the APK into AOSP image, which is not
convenient.
With this CL, AndroidStudio build also uses the same signing cert.
Note that shared.keystore was built as follows.
$ openssl pkcs8 -inform DER -nocrypt \
-in build/make/target/product/security/shared.pk8 \
-out shared.pem
$ openssl pkcs12 -export \
-in build/make/target/product/security/shared.x509.pem \
-inkey shared.pem -out shared.p12 \
-password pass:android -name AndroidDebugKey
$ keytool -importkeystore -deststorepass android \
-destkeystore shared.keystore -srckeystore shared.p12 \
-srcstoretype PKCS12 -srcstorepass android
Fix: 110741422
Test: made sure that the APK built with Android Studio can be
installed to an AOSP build
Change-Id: I471a87e190b15ff02bb06849e4660ed7898897a5
This should be the most convenient way for both make build and Android
Studio build to share the same version code.
Bug: 110741422
Test: tapas LatinIME LatinIMETests arm64 userdebug && make -j
Change-Id: I35f850c392553b2640a4c3c7398441ac28e90eca
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
PersonalDictionaryLookup has never been used. Usually proguard can
remove this class but it also makes it difficult to run unit tests.
We should just remove this unused class.
Bug: 111164993
Test: compile
Test: No new test failure
Change-Id: I732db94cb3aac4ed9c6b5954679b896334a12a9c
This layout file was copied from Settings app but in LatinIME it has
never been used. Also, android:onClick attributes in that layout file
are pointing to non-existing method in LatinIME, which causes lint
warnings.
Since tihs files has never been used in LatinIME, there should be no
user-visible behavior change.
Bug: 110757803
Test: tapas LatinIME && make -j
Change-Id: Ib51744979df333ac432aefc54ef7d0f413cf6161
This is a preparation to deprecate frameworks/opt/inputmethodcommon
repository.
Currently repository 'inputmethodcommon' is used only from LatinIME.
Having such a repository only for one project is overkill. Also, to
add gradle build support to LatinIME project, it would be much easier
LatinIME didn't have such a dependency.
This CL mechanically copies files in 'inputmethodcommon' repository to
'LatinIME' repository. In theory there should be no behavior change.
Bug: 110741521
Test: tapas LatinIME && make -j
Change-Id: I3fabb038be9a944dcd9ef79ffcc89800a5f0bf5a
This CL a logical revert of a previous CL [1], which separated Java
files into common ones and overridable ones. Now that that overriding
concept is no longer used, there is no need to keep having separate
directory structure.
[1]: Ic734bd4d20aa050c688a3158b1a382ae0ac18991
fb74ab15c1
Fix: 79323502
Test: make -j aosp_taimen-userdebug && make -j
Test: tapas LatinIME && make -j
Change-Id: I2090bc25d18e6d4f24e91c2cbfe832755cbb4e8f