Previous changes statically included legacy-android-test in preparation
for removing android.test.* and junit.* classes from the android.jar.
Unfortunately, that lead to duplicate classes between APKs and the
bootclasspath which caused build problems (Proguard) and also runtime
problems (when targeting and running on older releases).
Switching from statically including the classes to using the runtime
libraries cannot be done in one step because legacy-android-test is
statically included in libraries which are used in many APKs and so
removing it from those libraries requires that all APKs be updated at
once. Doing that atomically across dozens of projects is not practical.
This change modifies APKS that statically include the
legacy-android-test library indirectly.
* If the APK manifest uses the android.test.runner library then the APK
is modified to stop statically including legacy-android-test and
instead build against android.test.base/mock/runner libraries instead.
* Otherwise, the APK statically includes legacy-android-test.
Also, any libraries that statically include are modified to stop
statically including it and if it has source dependencies on the classes
is changed to build against the android.test.base/mock/runner libraries.
The following change descriptions were generated automatically and so
may be a little repetitive. They are provided to give the reviewer
enough information to check the comments match what has actually been
changed and check the reasoning behind the changes.
* tests/Android.mk
Replaced 'legacy-android-test' with 'android.test.runner.stubs' in
LOCAL_JAVA_LIBRARIES because LatinIMETests's source depends on its
classes. The classes do not need to be statically included because
the classes will be provided by the runtime, either from the
default bootclasspath or from the android.test.runner library that
LatinIMETests specifies in its manifest.
Bug: 30188076
Test: make checkbuild
Change-Id: I3c70889b35d402626f79c986771b9c2ea8823b8a
Remove dependencies on android.test.mock.sdk as it is a duplicate of
android.test.mock.stubs and will be removed.
The following change descriptions were generated automatically and so
may be a little repetitive. They are provided to give the reviewer
enough information to check the comments match what has actually been
changed and check the reasoning behind the changes.
* tests/Android.mk
Replaced 'android.test.mock.sdk' with 'android.test.mock.stubs' in
LOCAL_JAVA_LIBRARIES because android.test.mock.sdk has been
deprecated.
Bug: 30188076
Test: make checkbuild
Change-Id: I50a306c3bb80a9d7cdf2d19744734f304abf3bd1
A previous change added legacy-android-test as a static dependency to
all packages that build against the current, test_current or
system_current and failed to compile when the junit and android.test
classes were removed from the API. Unfortunately, those changes did not
take into account that some of those packages target earlier API
versions and so will always have the classes available at runtime.
This change replaces those static dependencies with dynamic dependencies
for any package that targets an earlier API version. The file changes
were made automatically by a tool that constructed and then analyzed a
full dependency graph of all the Android Java modules. The individual
changes were checked manually to ensure that the changes matched the
intent. The affected modules were built against an API with the junit
and android.test classes removed. Any issues found during this process
resulted in either the tool being updated to address the issue or a
separate change being made to fix an existing problem with the build. A
sample of the affected packages were run to ensure that they worked as
expected at runtime; no issues were found during testing.
The following change descriptions were generated automatically and so
may be a little repetitive. They are provided to give the reviewer
enough information to check the comments match what has actually been
changed and check the reasoning behind the changes.
* tests/Android.mk
Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
because LatinIMETests's manifest file (AndroidManifest.xml) targets
API level 21 and dynamically includes the android.test.runner
library at runtime so there is no point in statically including the
classes.
Added 'android.test.mock.sdk' and 'legacy-android-test' to
LOCAL_JAVA_LIBRARIES because module LatinIMETests builds against
'LOCAL_SDK_VERSION := current' and uses classes from packages
android.test and android.test.mock (possibly indirectly) so will no
longer compile once they are removed from the API.
Dependency 'android.test.mock.sdk' is used instead of
'android.test.mock' because module LatinIMETests builds against the
API not internal jars and so should use libraries that build
against the API not internal jars.
A future change will replace the dependency on
'legacy-android-test', which builds against the internal jars with
a dependency on 'android.legacy.test' which will build against the
API.
Bug: 30188076
Test: make checkbuild and ran a sample of tests
Change-Id: Icab8a4c4801536f112e29dfd2dc66be8b90b811d
In preparation for removing junit and android.test classes from
the Android API this change adds explicit dependencies on junit
and/or legacy-android-test to ensure that modules will compile
properly once it is removed.
Care was taken to ensure that any targets that depended,
directly or indirectly, on android-support-test did not also
depend on junit or hamcrest as they conflict with the versions
embedded within android-support-test.
Bug: 30188076
Test: make checkbuild
Change-Id: Icf844999082db141cffcb099aa4004afc7a7c749
Merged-In: I743f9e20e1e60836ceba9b9051fa17835deba3a2
This build has been compiled against API 23
This build is approved to go out with the M OTA, but may NOT be released
to the public until the Play Store has enabled API level 23 apps
Version: 4.1.2300x.build_id
1. Replaces the personalization is on information with the suggest
contacts.
2. Enables "Use Contacts" only if the app has permission to read
contacts.
3. Disables the contacts dictionary in the Facilitator.
4. Do not register/read the contacts in the contact observer.
Bug: 22236416
Change-Id: I9674e13d0d0f4a2014c5024fde0178de684c07e7
Confusingly, specifying a null Locale object to the constructor
of SuggestionSpan does not necessarily mean that
SuggestionSpan#getLocale() returns null. The constructor in
question also receives Context object, and Context's locale can
be used as a fallback locale to initialize locale of
SuggestionSpan.
With this CL, LatinIME always specify non-null Locale object
when instantiating SuggestionSpan object. It basically
corresponds to the active main dictionary, but can be
Locale#ROOT when one locale is not determined for some reasons.
BUG: 20435013
Change-Id: I2c152466410327300e7dba4d7ed9a22f57c17c4f
This allows us to:
1. Rank contacts and only add the top N names to the keyboard LM.
2. Avoid adding duplicate names.
Note: The affinity calcualuation is limited by the fact that some apps
currently do not update the TIMES_CONTACTED counter. To better handle
this case, the new measure also takes into account whether or not a
name is in the visible contacts group.
Bug: 20053274
Change-Id: I2741cb8958667d4a294aba8c437a45cec4b42dc7
The raw strings would be sent to personal LM for decoding.
Earlier lowercased strings were being used with the purpose
of isValid checks (spelling does not consider casing for spell
checking calls). But for showing these in suggestion, we need the
raw strings.
Note: PersonalDictionaryLookup#getWordsForLocale is used to feed
the personal LM in PersonalLanguageModelHelper.
Bug:20152986
Change-Id: I9d796fa57bf2073036bf11d86b143ff205a6199c
This declares to the platform and tools that this app does not use
cleartext network traffic. The platform and tools will be blocking
(on best effort basis) attempts to use such traffic by this app.
For example, attempts to use HTTP (rather than HTTPS) will be blocked.
Bug: 19215516
Change-Id: I4c933a214457025797e077b72d8daf8a0c876923
Also move the class to the parent package, since it's no longer tied to the
spell checking service.
Bug 19966848.
Bug 20036810.
Change-Id: I35014d212fd87281eb90def03ee92e6872dcd63e
We're waiting 10 minutes for tests to run, and half of that time is spent in
depreacted code related to migration of Delight2 dictionary files.
LatinIME will never migrate another Delight2 dictionary file again, so we can
delete this code.
Change-Id: I05c7d8429e8d9a26139456763c77997340fea8c2
BinaryDictionaryTests runs all tests 3 times for 3 format verisons.
Cut that number down by 33% to speed things up.
Change-Id: I8a2f78017fa30f46b5873dcf6a5f478f57af2ebd
Fixes bug where empty previous ngram context not at the
beginning of a sentence incorrectly returned the
beginning-of-sentence marker.
Bug: 19612336
Change-Id: I5ddf3408e20dcedf70487b85c983cd3fc12550e7
- Show the opt-in text
- Show the account picker if user presses 'enable sync'. Previously
we disabled the sync pref which was confusing.
- Remove the debug tags from some prefs; and improve messaging overall
General rules;
- sync is turned ON : user checks 'enable sync' pref AND
accepts the opt-in AND chooses an account
- sync is turned OFF: when user signs out
Demo link
https://drive.google.com/a/google.com/file/d/0B9tNQOWdRuiWSUdVVE5rVDJudlk/view?usp=sharing
Change-Id: I2e7933796b15e47005ba9970a8c1294416ef31a0
Currently, the Delight3DictionaryFacilitator sets a boolean flag when the top
suggestion score exceeds the auto-correction threshold. This flag is used to
trigger auto-correction of the typed word. Also, the existing logic assumes
that if allowsToBeAutoCorrected then the word is invalid, which is no longer
true after we stopped using whitelists.
Bug 19518376.
Change-Id: Ifa7f6a09c07d25ac68c6cf3aec91f358bd88689f
There should be 1 executor each for static and dynamic language models.
This prevents too many dynamic LM updates from running in parallel,
competing for resources.
Change-Id: I8ec439e0ea2d92fba275bc20a0b8c9193346a0c1
When committing a span after a revert, the offset logic was such that it
split a surrogate unicode pair used to express an emoji.
Checking the last character of the span lets us avoid this problem.
Fix for bug 19255233.
Change-Id: I07d18d9002b5075f7925319dd05962011656c311
implementation DictionaryFacilitatorImpl.java and add a java-overridable
factory DictionaryFacilitatorProvider.java used to create a
DictionaryFacilitator.
Change-Id: Id4a58ae31feaa4d12a048a772c8d76ff82fdee45
Bug 17743363: Preliminary subtypes should be removed from F-release
This reverts commit 45c917e238.
Change-Id: I5e91a7fd0efdc16e140a91fab6300bd8ba9cd6c7
Attempt to use dictionary facilitor without invoking
preference manager. Instead use account from settings only when
things are being reset/changed. Discussion forked from ag/591663
Overall, the idea here is to maintain an account information
inside dictionary groups. Reset the dictionary groups if
account changes (the way we do for locale). Since only user
history dictionary is currently affected, the check to reset user
history dictionary also includes the check to verify the account.
For other things remain the same.
SettingsValues holds the current account (and is updated if prefs change
due to change in account settings). The updated settings are then
propagated to dictionary facilitator via LatinIME#loadSettings.
Bug:18104749,18469539
Change-Id: I553e776e7ea125d0fb7a1fe70a4c7eb0b2277fb8
Add API to ExpandableBinaryDictionary to dump content
from a given dictionary. We use this for dumping data
for sync process.
Refactored UserHistoryDictionaryTests to scrap out the util
methods for testing. These utility methods would be used
for testing sync + user dictionary code in LatinIMEGoogleTests
Bug:18106539
Change-Id: I357f9192ea1bd69a526d0b620c25616a2e8e9d5b
Once the translation strings are updated, the uni test starts
failing. Then this CL should be reverted.
Change-Id: I884663feaa53998a98dd0e488ae8e3e6d0ad4ffd