Commit Graph

14686 Commits

Author SHA1 Message Date
Aleksandras Kostarevas
0457a56218 Avoid getString with resid 0 2024-01-09 23:19:33 +02:00
Aleksandras Kostarevas
b5446fb77f Fix missing methods due to proguard 2024-01-09 23:07:04 +02:00
Aleksandras Kostarevas
25e66ec447 Add ability to expand keyboard during action 2024-01-09 17:26:05 +02:00
Aleksandras Kostarevas
fd905bcabd Move UIX management to separate class 2024-01-09 14:26:54 +02:00
Aleksandras Kostarevas
adfab75086 Update text edit mode 2024-01-09 10:56:14 +02:00
Aleksandras Kostarevas
b237e49ece Add basic text edit mode 2024-01-08 20:23:54 +02:00
Aleksandras Kostarevas
7f17d66072 Add sliding cursor/deletion 2024-01-07 16:22:17 +02:00
Aleksandras Kostarevas
e2999ada34 Add undo, redo, paste actions 2024-01-07 16:20:20 +02:00
Aleksandras Kostarevas
9cccdcb79d Update input logic for actions 2024-01-07 14:29:54 +02:00
Aleksandras Kostarevas
e554745869 Add popup symbols for qwerty 2024-01-07 14:27:12 +02:00
Aleksandras Kostarevas
b75933b321 Update theming for more keys popup 2024-01-07 14:26:09 +02:00
Aleksandras Kostarevas
ebb70b9c12 Fix build, disable gesture input pending model update 2023-12-19 20:28:58 +02:00
Aleksandras Kostarevas
4e9e86d871 Implement multimodal position encoder 2023-12-19 20:02:20 +02:00
Aleksandras Kostarevas
c3018cdd86 Draw emojis in emoji menu asynchronously 2023-12-05 18:07:19 +00:00
Aleksandras Kostarevas
7075c22179 Add key embedding mixing 2023-12-04 20:09:51 +00:00
Aleksandras Kostarevas
14a846673d Fix input connection termination crash case 2023-11-28 21:17:45 +00:00
Aleksandras Kostarevas
88403fad79 Add EmojiAction 2023-11-28 19:23:51 +00:00
Aleksandras Kostarevas
4f15ff4a73 Add experimental swipe typing 2023-11-28 17:01:58 +00:00
abb128
f31db527d6 Add whisper.cpp 2023-11-25 09:13:50 +02:00
Aleksandras Kostarevas
eb5ed75227 Update 2023-11-21 20:41:14 +02:00
Aleksandras Kostarevas
001f1eb442 Disable debug flag 2023-11-21 20:33:21 +02:00
Aleksandras Kostarevas
cd3d5a284f Automatically schedule training 2023-11-21 20:26:23 +02:00
Aleksandras Kostarevas
cb2edca601 Update training hyperparameters 2023-11-21 17:07:43 +02:00
Aleksandras Kostarevas
e57c1072d8 Add training transposition and deletion 2023-11-21 17:07:29 +02:00
Aleksandras Kostarevas
80c857a4b5 Update model 2023-11-14 21:05:04 +02:00
Aleksandras Kostarevas
14fcb55565 Save LoRA-merged model after training 2023-11-14 20:40:00 +02:00
Aleksandras Kostarevas
2409eecef5 Loss/progress training callbacks 2023-11-14 18:11:00 +02:00
Aleksandras Kostarevas
b53a46b18d Move training to CoroutineWorker 2023-11-14 17:23:08 +02:00
Aleksandras Kostarevas
38b06d7909 History logging and training based on log 2023-11-14 11:43:36 +02:00
Aleksandras Kostarevas
33be6fb3ed Refactor LanguageModel invocation code 2023-11-13 16:44:52 +02:00
Aleksandras Kostarevas
0e0876f06c Revise training 2023-11-13 16:42:01 +02:00
Aleksandras Kostarevas
1d50ae9f22 Add TrainingDataGenerator 2023-11-08 16:24:10 +02:00
Aleksandras Kostarevas
ee8a81f12c Initial fine-tuning 2023-11-07 16:48:48 +02:00
Aleksandras Kostarevas
d1e54b9d3d Show user's uncorrected word as the third option 2023-11-02 23:05:21 +02:00
Aleksandras Kostarevas
8bb38c7ae3 Show visual feedback when will autocorrect 2023-11-02 17:56:56 +02:00
Aleksandras Kostarevas
b0ba33babe Update settings menu 2023-10-17 21:31:35 +03:00
Aleksandras Kostarevas
192c7fcca4 Update logic to suppress suggestions/autocorrect 2023-10-17 20:34:13 +03:00
Aleksandras Kostarevas
89a862e0fd Fix indicator tint 2023-10-17 19:50:41 +03:00
Aleksandras Kostarevas
af9cab5f2a Don't return suggestions for non-English locales 2023-10-17 19:24:51 +03:00
Aleksandras Kostarevas
21bd35237d Show indicator for transformer suggestions, lazily load model 2023-10-17 19:06:29 +03:00
Aleksandras Kostarevas
7c4531e32d Fix crashes related to too large context 2023-10-16 18:24:00 +03:00
Aleksandras Kostarevas
1d29501673 Add option to toggle transformer LM 2023-10-16 17:35:01 +03:00
Aleksandras Kostarevas
c73fe16ddc Add q8 model 2023-10-16 17:31:43 +03:00
Aleksandras Kostarevas
ec7cae6bbf Disable globe key by default 2023-10-13 21:40:06 +03:00
Aleksandras Kostarevas
92480fd460 Adjust space probability and mustNotAutocorrect 2023-10-13 18:44:38 +03:00
Aleksandras Kostarevas
334619086b Trim context and fix case for misautocorections 2023-10-13 18:32:57 +03:00
Aleksandras Kostarevas
b8539ce88a Initial batched inference using llama_batch 2023-10-10 22:34:04 +03:00
Aleksandras Kostarevas
16fdb3629d Add LanguageModel class 2023-09-28 19:42:29 +03:00
Aleksandras Kostarevas
a88bd5c820 Update melSpectrogram 2023-09-27 23:05:27 +03:00
Aleksandras Kostarevas
d089d0fe00 Disable advanced navigation item 2023-09-04 20:09:33 +03:00
Aleksandras Kostarevas
606c29a8ec Update app icon 2023-09-04 17:54:36 +03:00
Aleksandras Kostarevas
2088909f88 Add model downloader activity for voice input 2023-09-04 17:30:18 +03:00
Aleksandras Kostarevas
94c606718d Make new ThemeScreen for selecting theme 2023-09-04 16:54:19 +03:00
Aleksandras Kostarevas
dc342f33a6 Update theme picker in keyboard 2023-09-04 15:20:48 +03:00
Aleksandras Kostarevas
0a7ab52e8b Set status bar color in settings 2023-09-04 14:13:17 +03:00
Aleksandras Kostarevas
263165b596 Creatre initial updated settings menu 2023-09-01 23:57:12 +03:00
Aleksandras Kostarevas
7f656bb622 Load voice input settings instead of hardcoding 2023-09-01 08:51:42 +03:00
Aleksandras Kostarevas
af42223a0c Replace certain hardcoded strings with stringres 2023-09-01 08:08:13 +03:00
Aleksandras Kostarevas
08296ec484 Add crash reporting using ACRA 2023-08-31 22:45:11 +03:00
Aleksandras Kostarevas
d180b5646f Automatically add space for voice input action 2023-08-31 20:55:46 +03:00
Aleksandras Kostarevas
8f53297eea Make full action window clickable 2023-08-31 19:33:24 +03:00
Aleksandras Kostarevas
3acb8b5e44 Create SoundPlayer for persistent state 2023-08-31 19:15:50 +03:00
Aleksandras Kostarevas
731fbf1254 Greatly refactor Voice Input module 2023-08-31 00:20:23 +03:00
Aleksandras Kostarevas
4e3b4e5a46 Initial voice input implementation 2023-08-27 19:08:44 +03:00
Aleksandras Kostarevas
1b0dd25244 Separate actions into its own files 2023-08-26 21:31:31 +03:00
Aleksandras Kostarevas
8278de9484 Inflate inline suggestions only once 2023-08-26 20:39:55 +03:00
Aleksandras Kostarevas
d72838e659 Update dynamic themes when colors change 2023-08-26 20:26:26 +03:00
Aleksandras Kostarevas
bd0368d89f Add initial inline suggestions support 2023-08-26 20:04:56 +03:00
Aleksandras Kostarevas
9d4ea1f7c1 Move certain things into separate files 2023-08-22 23:19:57 +03:00
Aleksandras Kostarevas
05fce3bd09 Disable top suggestion icon 2023-08-22 20:40:12 +03:00
Aleksandras Kostarevas
d11025192e Move themes to separate files, save theme choice 2023-08-22 20:37:51 +03:00
Aleksandras Kostarevas
106de18b3b Recreate keyboard whenever action window is exited 2023-08-22 16:47:53 +03:00
Aleksandras Kostarevas
226fea5d46 Fix scrollability in theme switcher 2023-08-22 15:52:49 +03:00
Aleksandras Kostarevas
f91a626955 Implement Actions, create a theme switcher action window 2023-08-22 15:36:40 +03:00
Aleksandras Kostarevas
ad151d7f11 Update theme to use dynamic color scheme 2023-08-19 15:06:18 +03:00
Aleksandras Kostarevas
cccc18a1de Only suggest typed word when it's valid 2023-08-19 14:21:09 +03:00
Aleksandras Kostarevas
996f09eb9d Style text color and replace certain icons 2023-08-19 13:55:02 +03:00
Aleksandras Kostarevas
0b3af718b8 Fix key feedback 2023-08-18 16:29:49 +03:00
Aleksandras Kostarevas
5a4f42cafe Create certain drawables during runtime for theming 2023-08-18 15:55:09 +03:00
Aleksandras Kostarevas
039f9145c3 Fix broken key preview on landscape 2023-08-18 15:52:52 +03:00
Aleksandras Kostarevas
6f4a801d14 Update ActionBar 2023-08-18 11:18:24 +03:00
abb128
138d3a7886 Replace SuggestionStripView with ActionBar 2023-08-15 19:48:27 +03:00
Aleksandras Kostarevas
62ff4f47e4 Fix theme update bug 2023-08-14 17:44:08 +03:00
Aleksandras Kostarevas
d81d79ea67 Fix inset setting code 2023-08-14 16:53:33 +03:00
Aleksandras Kostarevas
948ba3c6f0 Wrap legacy input view in AndroidView and return ComposeView from onCreateInputView 2023-08-14 13:22:00 +03:00
Aleksandras Kostarevas
bd7dbd7cf8 Rename LatinIME to LatinIMELegacy and wrap it in a new Compose class 2023-08-14 12:48:12 +03:00
Aleksandras Kostarevas
9b3ed09a88 Remove InputMethodServiceCompatUtils which serves no use anymore 2023-08-14 11:11:02 +03:00
Aleksandras Kostarevas
8431e57eab Fix some light resources 2023-08-14 10:57:18 +03:00
Aleksandras Kostarevas
7285bc2506 Remove ICS and Holo themes. Remove most png keyboard resources, replacing with xml shapes and colors 2023-08-14 10:57:05 +03:00
abb128
434f8b6b27 Initial working build of fork 2023-07-06 21:57:49 +03:00
Cole Faust
91cb9a6acf Fix errorprone warnings that should be errors
This commit is part of a large scale change to fix errorprone
errors that have been downgraded to warnings in the android
source tree, so that they can be promoted to errors again.
The full list of changes include the following, but not all
will be present in any one individual commit:

BadAnnotationImplementation
BadShiftAmount
BanJNDI
BoxedPrimitiveEquality
ComparableType
ComplexBooleanConstant
CollectionToArraySafeParameter
ConditionalExpressionNumericPromotion
DangerousLiteralNull
DoubleBraceInitialization
DurationFrom
DurationTemporalUnit
EmptyTopLevelDeclaration
EqualsNull
EqualsReference
FormatString
FromTemporalAccessor
GetClassOnAnnotation
GetClassOnClass
HashtableContains
IdentityBinaryExpression
IdentityHashMapBoxing
InstantTemporalUnit
InvalidTimeZoneID
InvalidZoneId
IsInstanceIncompatibleType
JUnitParameterMethodNotFound
LockOnBoxedPrimitive
MathRoundIntLong
MislabeledAndroidString
MisusedDayOfYear
MissingSuperCall
MisusedWeekYear
ModifyingCollectionWithItself
NoCanIgnoreReturnValueOnClasses
NonRuntimeAnnotation
NullableOnContainingClass
NullTernary
OverridesJavaxInjectableMethod
ParcelableCreator
PeriodFrom
PreconditionsInvalidPlaceholder
ProtoBuilderReturnValueIgnored
ProtoFieldNullComparison
RandomModInteger
RectIntersectReturnValueIgnored
ReturnValueIgnored
SelfAssignment
SelfComparison
SelfEquals
SizeGreaterThanOrEqualsZero
StringBuilderInitWithChar
TreeToString
TryFailThrowable
UnnecessaryCheckNotNull
UnusedCollectionModifiedInPlace
XorPower

See https://errorprone.info/bugpatterns for more
information on the checks.

Bug: 253827323
Test: m RUN_ERROR_PRONE=true javac-check
Change-Id: I454a105ae82484a2d19aff1808e8d9dd55ba64f4
2022-10-17 11:01:42 -07:00
Treehugger Robot
370d41de92 Merge "Fix array-related errorprone warnings" 2022-08-24 00:40:18 +00:00
Cole Faust
7ad99e3431 Fix array-related errorprone warnings
The ArrayEquals, ArrayHashCode, ArrayToString, and
ArraysAsListPrimitiveArray errorprone findings were
demoted from errors to warnings. Fix existing
occurrences of them so they can be made errors again.

Bug: 242630963
Test: RUN_ERROR_PRONE=true m javac-check
Change-Id: I689397a7196277de3fd301836e72f7555e2036cb
2022-08-15 18:54:02 -07:00
Wilson Wu
0d93961d85 Remove unused method for dictionarypack
Remove the showDictionaryAvailableNotification
method since there is no module use it.

Bug: 209479751
Test: presubmit
Change-Id: I4c88b4a2d0cb36761d9102ce35260f93303625d9
2022-02-23 15:35:18 +08:00
Lais Andrade
97a3132c95 Remove flag to ignore user settings from haptic feedback
The keyboard key-press haptic feedback should follow the user
settings for "Touch feedback".

Bug: 185351540
Test: manual
Change-Id: I718d3bf15b1ef841a869a898038d0eca1eca78f0
2022-01-17 19:16:47 +00:00
Ming-Shin Lu
6c752d8eca Using IME context to inflate layout from S_V2
With CL[1],[2] to migrate InputMethodService as the subclass of the new
introduced class WindowProviderService in S_V2, IME context resources
can be managed by associating the window container of IME window when
its display/window configuration changed.

So we can get rid of createDisplayContext logic from S_V2 with gated
by SDK version and refining the method of get IME context with
documentation to make it clear.

[1]: Ie565e30ed5dd3f2cfe27355a6dded76dc3adc14b
[2]: I64a1614f32d097785915f6105b1813a929e0fe32

Bug: 213118079
Bug: 133825283
Test: manual with below steps
 1) adb install -r EditTextVariations.apk
 2) tapas LatinIME
 3) make
 4) adb install -r out/target/product/generic/system/app/LatinIME/\
        LatinIME.apk
 5) adb shell ime enable com.android.inputmethod.latin/.LatinIME
 6) adb shell ime set com.android.inputmethod.latin/.LatinIME
 5) Enable screen auto-rotation
 7) Launch EditTextVariations from launcher's shortcut
 8) Tap the first EditText field to show IME
 9) Rotate the device to the landscape mode
 10) Expect the IME should not be shrunk

Change-Id: If2cc1c5bdb257a9c0af653fa7157cf781a90bf1d
2022-01-12 11:50:28 +08:00
Ming-Shin Lu
6ae09365a5 Fix Keyboard Theme update when device orientation changed
As CL[1] introduces diplayContext to address
IME service context's Resources / DisplayMetrics update when
switching IME window to another display after onConfigurationChange.

In LatinIME#onInitializeInterface, we only update keyboard theme context
and displayContent when the displayId is changed, but overlooked even
the displayId is the same, the display context's resource configuration
might changed like the device orientation changd.

It leads getDefaultKeyboardHeight will get wrong config_max_keyboard_height
fraction value when rotating to landcape because the context resources
didn't get updated.

Add a check to update keyboard theme context when the current display
configuation is changed accordingly.

[1]: I0ed6a079af1ed90c75fee1d36d5ce3ef3c41f8ed

Fix: 186507147
Test: manual as issue steps
    1) Turn on auto-rotate
    2) Open Settings
    3) Rotating the device to landscape mode
    4) Tap “Search settings", verify if the soft-keyboard shown and the
       size is expected.
Change-Id: I288a31baf04fa2e63d6b4a14ad81b401cb36ece5
Merged-In: I288a31baf04fa2e63d6b4a14ad81b401cb36ece5
2021-06-18 02:16:19 +00:00
Yohei Yukawa
07ce283acd Bump targetSdkVersion to "30"
With this CL, versionCode, targetSdkVersion and minSdkVersion will be
bumped/set as follows:

       versionCode: 28 -> 30
  targetSdkVersion: 28 -> 30
     minSdkVersion: 21

As far as we know, there should be no user-visible behavior change on
supported OS versions.

Fix: 189558760
Test: manually verified that LatinIME still is functional
Change-Id: I3a7deb452960b370f5290f3d1bac9c79fe935303
Merged-In: I4bf7588c62fb77bf78d4afcb665e9bfbbef53966
(cherry picked from commit 360052f304)
2021-06-15 11:13:09 -07:00
Pedro Loureiro
b47de75af3 Add lint baseline to address NewApi errors
We are enabling a new lint check where the min sdk != compile sdk.
It has produced a lot of errors and adding the baseline file(s)
allows us to continue work without introducing more problems.

Bug: 150847901

Test: m lint-check
Change-Id: Ic37bd8c531af7e68c939ce9c05614c37e6699b03
2021-04-12 10:48:26 +00:00
Bob Badour
f3d9532a32 [LSC] Add LOCAL_LICENSE_KINDS to packages/inputmethods/LatinIME
Added SPDX-license-identifier-Apache-2.0 to:
  Android.bp
  common/Android.bp
  java/Android.bp
  native/dicttoolkit/Android.bp
  native/jni/Android.bp
  tests/Android.bp
  tools/EditTextVariations/Android.bp
  tools/dicttool/Android.bp
  tools/make-keyboard-text/Android.bp

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all

Exempt-From-Owner-Approval: janitorial work
Change-Id: I440008bffac5c97a2497970af377a9d03262b6d8
2021-02-17 09:46:27 -08:00