| Commit message (Expand) | Author | Files | Lines |
2025-01-11 | Support Direct Boot mode |  Amin Bandali | 25 | -30/+854 |
2025-01-11 | Use new app icon |  Amin Bandali | 21 | -2/+31 |
2025-01-11 | Set pref_show_setup_wizard_icon's defaultValue to true |  Amin Bandali | 1 | -0/+1 |
2025-01-11 | Rename to Kelar Keyboard (org.kelar.inputmethod.latin) |  Amin Bandali | 1138 | -3288/+3269 |
2025-01-11 | Initial successful standalone build |  Amin Bandali | 38 | -24/+1109 |
2025-01-08 | Explicitly keep default constructor in rules without members•••R8 implicitly keeps the default constructor when no member rules are specified. Future versions of R8 will require apps to explicitly keep the default constructors that are required for the build to work.
This conservatively changes all keep rules that currently keep the default constructor to explicitly keep the default constructor.
Future work will attempt to tighten up the rules that do not require the default constructor to be kept.
Bug: 373579455
Test: existing
Change-Id: Idbadcd81d516f851cc9bfa1333d76f1036803291
|  Christoffer Adamsen | 1 | -7/+28 |
2024-12-11 | Fix crash: NPE in SuggestionStripView in LatinIME•••The first parameter in `GestureDetector.OnGestureListener#onScroll` might be null, which indicates an incomplete event stream or error state. https://developer.android.com/reference/android/view/GestureDetector.OnGestureListener#onScroll(android.view.MotionEvent,%20android.view.MotionEvent,%20float,%20float)
Bug: 383053077
Change-Id: I6e49ae353beafb6585184fa729041570991f240c
|  Ziqi Chen | 1 | -0/+3 |
2024-11-26 | Fix bug: AOSP keyboard is shown incompletely in Android V landscape mode•••Root cause: The AOSP keyboard uses `DisplayMetrics#widthPixels` to calculate the keyboard width and draw keys. Since Android 15’s edge-to-edge enforcement, this property now returns the full screen width, including window insets. This results in an incorrectly large key width calculation.
Fix: Subtract window insets including system bar and display cutout from the width.
Change-Id: Iea01ba749a48145cf5b484dc22a570874b1b7ca4
Test: use `m LatinIME` to install the AOSP keyboard and test landscape mode manually
Bug: 377594757
|  Ziqi Chen | 5 | -9/+28 |
2024-10-07 | Fully qualify @attr reference to android.R field•••Currently, Metalava has some special handling of '@attr ref R.<field>`
references to make sure that they are fully qualified, i.e.
`@attr ref android.R.<field>`. That special handling complicates
Metalava and is blocking some flagged API work so will be removed.
Before that can be done, the existing incorrect documentation needs to
be cleaned up.
This change cleans up those cases in this repo.
Bug: 371997321
Test: Run `m offline-sdk-docs` before and after to make sure that
there are no differences.
Flag: DOCS_ONLY
Change-Id: Ic3d959fd8e95ac4524be5feb93feae3a08389370
|  Paul Duffin | 7 | -99/+99 |
2024-10-03 | Use jni_libs to install shared library dependency•••`jni_libs` is more specific than `required`, and allows Soong to be more
restrictive when creating the dependency edge from the java_binary to
the cc_library.
Bug: 370110572
Test: m installclean && m dicttool_aosp
Test: verified that libjni_latinime gets installed in
out/host/linux-x86/lib64
Change-Id: I49bde551c65e344c566decffc7f447fc4813f70b
|  Spandan Das | 1 | -1/+1 |
2024-06-19 | LatinIME: Fix Implicit PendingIntent Vulnerability•••* checkTimeAndMaybeSetupUpdateAlarm method created an Implicit PendingIntent vulnerability, which may cause security threats in the form of denial-of-service, private data theft, and privilege escalation.
* PendingIntents are Intents delegated to another app to be delivered at some future time. Creating an implicit intent wrapped under a PendingIntent is a security vulnerability that might lead to denial-of-service, private data theft, and privilege escalation.
* We've used FLAG_IMMUTABLE (added in SDK 23) to create PendingIntents for SDK > 23, This prevents apps that receive the PendingIntent from filling in unpopulated properties & Ensures that PendingIntent is only delivered to trusted components.
Test: m
Change-Id: I68a1f3f2d81138e42092cc201d36e5d29853a86e
Signed-off-by: techyminati <sinha.aryan03@gmail.com>
|  techyminati | 1 | -1/+7 |
2024-06-06 | Removed a few slurs from German word list.•••Bug: 342214572.
Test: Flashed on device.
Change-Id: Ice09a7ad54167e68cd2dc892692fc49a0afbabc1
|  Ruihao Huang | 1 | -0/+0 |
2024-06-03 | Use the global default cpp_std.•••Bug: http://b/344590580
Change-Id: Icf1f9f5559596097e156aa9f1673a438741379b3
|  Elliott Hughes | 2 | -4/+3 |
2024-05-09 | Update the imports to androidx.test.filters.*•••Bug: 316941721
Test: mmma .
Change-Id: I131993b35a6e350c9237f9d8422c3a274988bbfb
|  Fangqiu Su | 1 | -3/+0 |
2024-04-18 | Update the imports to androidx.test.filters.*•••Bug: 316941721
Test: mmma .
Change-Id: I05a7d05dc8d0acb9baecf46357757ad2453f6dbc
|  Fangqiu Su | 140 | -143/+174 |
2024-01-10 | Baseline NewApi issues•••NewApi is a lint check that you don't call framework methods that were
introduced in versions later than your min_sdk_version. We want to
make this an error, so we're baselineing all existing issues.
This cl was generated automatically, by taking all the NewApi issues
from the reference baselines, and all the non-NewApi issues from the
existing checked in baselines.
Bug: 268261262
Test: Presubmits
Change-Id: If1b1214da673fec9f1e8bede86d5780a6b5f347b
|  Cole Faust | 1 | -13/+22 |
2023-12-20 | List baseline_filename on modules that are implititly using it•••lintable modules currently pick up files named "lint-baseline.xml" to use as the
lint baseline implicitly. This is confusing because you could end up using the
baseline files in more modules than intended. Lint also has a feature where it
requests you remove unnecessary findings from the baseline file, so something
could be necessary for one module, but unnecessary for another that accidentally
picked up the baseline.
We're removing the implicit detection of the baseline file, which requires
all modules using it to list the baseline file explicitly.
Bug: 272769514
Test: Presubmits
Change-Id: Ib640f0642fbb12b96309ce518a505376dda01cb4
|  Cole Faust | 1 | -0/+3 |
2023-11-15 | dicttoolkit: pin cpp_std to gnu++17•••This project doesn't build with gnu++20 and prevents AOSP default to be
upgraded to a newer standard. Once the build failure is fixed here, this
change can be reverted.
Bug: 311052584
Test: m checkbuild
Change-Id: If2d19c1b6d970703a1dbf7685588a4a4be5a53c1
|  Tomasz Wasilczyk | 1 | -0/+1 |
2023-08-23 | Fix erroneous LXX theme text color mappings•••keyTextInactivatedColor and functionalTextColor were wrongly
assigned, eventhough correct definitions already exist.
Change-Id: I06694447ee22fb609267aa2256a36a2585ad6b3f
|  Georg Veichtlbauer | 1 | -2/+2 |
2023-03-19 | Remove unused variables•••Since some variables with module LatinIME are defined but not used,
when compiled with build combination "sdk_pc_x86_64-userdebug" and
build command "mmm packages/inputmethods/LatinIME", the following
code lines will be reported that "variable 'XXX' set but not used".
(should be similar for all the other build combinations)
Repeated 10 times for each:
terminal_position_lookup_table.cpp:74:9 removedEntryCount
terminal_position_lookup_table.cpp:85:9 removedEntryCount
proximity_info_state_utils.cpp:493:9 tempTime
trie_map.cpp:56:9 unusedRegionSize
suggestion_results.cpp:100:9 index
Repeated 80+ times:
proximity_info_utils.h:75:25 proximityChar
With this patch we are removing some of the unused variables and
putting the C++ 17 attribute [[maybe_unused]] to the others which
are used for logging. Then all the related build warnings have been
eliminated.
Test: mmm packages/inputmethods/LatinIME, presubmit check.
Change-Id: Ia66766322d6ae8a010b1cb55cc22993fbc6d012c
Signed-off-by: Jing Mike <jingyangliu@eswincomputing.com>
|  Jing Mike | 6 | -11/+3 |
2023-03-09 | Baseline NewApi issues•••NewApi was recently updated to support linting methods in
the system, module_lib, and system_server sdks, and was
demoted to a warning due to the new issues it finds.
Baseline all the new issues that NewApi can be made an error
again.
These cls were generated automatically by a script that
copied the NewApi issues from the reference baselines.
Bug: 268261262
Test: m lint-check
Change-Id: I99bb901018da30f39cf799ac6c939863266cee34
|  Cole Faust | 1 | -32/+12 |
2023-03-09 | Add required flag to receivers in LatinIME•••Android T allows apps to declare a runtime receiver as not exported
by invoking registerReceiver with a new RECEIVER_NOT_EXPORTED flag;
receivers registered with this flag will only receive broadcasts from
the platform and the app itself. However to ensure developers can
properly protect their receivers, all apps targeting U
and registering a receiver for non-system broadcasts must
specify either the exported or not exported flag when invoking
registerReceiver; if one of these flags is not provided, the
platform will throw a SecurityException. This commit updates
the dictionary receivers with the RECEIVER_NOT_EXPORTED flag since
these are only sent from the local app. The HIDE_SOFT_INPUT
receiver is flagged with the RECEIVER_EXPORTED flag since it
can be sent by any app with the corresponding permission.
Bug: 234659204
Test: Build
Change-Id: I2b9a1360e0eb1c1965c07cc71dca9f11eb153517
|  Michael Groover | 1 | -4/+19 |
2022-12-12 | Update preparers to align across everything•••Carry the exact same options.
Test: presubmit
Bug: 261855411
Change-Id: Ic48ffa4fec4ebf2027525476bf346abce3f0a1b0
|  Julien Desprez | 1 | -1/+1 |
2022-10-17 | 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
|  Cole Faust | 6 | -6/+7 |
2022-09-21 | Declaring package visibility needs for LatinIME•••Bug: 179783492
Bug: 179783499
Bug: 216823971
Test: atest LatinIMETests
Change-Id: I309ffefe261049a5d3abce8e16829cd66f9123dc
|  Rhed Jao | 1 | -1/+9 |
2022-08-15 | 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
|  Cole Faust | 1 | -1/+3 |
2022-08-10 | Make DownloadOverMeteredDialog not exported•••The DownloadOverMeteredDialog is exported which may
allow a app to prompt this dialog to ask the user to
download dictionary.
Since the app can control the download dictionary size
and may show an incorrect size for user to make security
concern. Make the activity not exported for apps to launch.
Bug: 236688064
Test: Manual test as follow steps:
1. lunch aosp_bramble-userdebug and flash
2. Verify the AOSP keyboard work properly
3. Launch the PoC test app
4. Verify the DownloadOverMeteredDialog cannot be launched
Change-Id: I9be92ba2813e7aaad0ef10555f585c5c8a25361f
|  Wilson Wu | 1 | -1/+1 |
2022-04-21 | EditTextVariations: create a IME focusable overlay for test•••Bug: 228766370
Test: manual by using EditorTextVariations tool
1) make and install EditTextVariations
2) Enable "Settings > Display over other apps" for
EditTextVariations
3) Launch EditTextVariations from all apps
4) Menu -> Show IME focuable overlay
5) Go to home screen by gesture or pressing home key
6) Launch any app (e.g. Chrome) and tap the editor
7) Expect IME can show up
Change-Id: Ib4b72e0a277d8b2fb78837bed5d2e9cccd819a07
|  Ming-Shin Lu | 3 | -1/+64 |
2022-02-23 | Remove unused method for dictionarypack•••Remove the showDictionaryAvailableNotification
method since there is no module use it.
Bug: 209479751
Test: presubmit
Change-Id: I4c88b4a2d0cb36761d9102ce35260f93303625d9
|  Wilson Wu | 1 | -54/+0 |
2022-02-10 | Update OWNERS file•••Fix: 218752122
Test: presubmit
Change-Id: Ia4948d81f3f13518428375d635154c58c7fe9628
|  Yohei Yukawa | 1 | -6/+2 |
2022-01-26 | Add Notification Permission for T•••From T, apps need POST_NOTIFICATION permission
to send the notification.
-. Add the permission into Manifest.
-. Request runtime permission when it's needed.
Bug: 209479751
Test: Manual test as following steps:
1. Open EditTextVariations at T device.
2. Tap direct reply to send notification.
3. Verify the permission dialog show up.
4. Send the notification if permission granted.
Change-Id: Iadae00f635ee556d1d1de9abbb9da0498b4070f1
|  Wilson Wu | 2 | -1/+41 |
2022-01-17 | 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
|  Lais Andrade | 1 | -2/+1 |
2022-01-12 | 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
|  Ming-Shin Lu | 1 | -19/+37 |
2021-12-08 | add post_notification permission to manifest•••so the package can send notifications on T+
Bug: 194833441
Change-Id: Iafb56ebd788f1dcd98320dc6c250ca8f585fcab3
|  Steve Elliott | 1 | -0/+1 |
2021-06-18 | 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
|  Ming-Shin Lu | 1 | -1/+2 |
2021-06-15 | 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 360052f3044eee612af1cbfcd1f2e202096e3541)
|  Yohei Yukawa | 4 | -7/+7 |
2021-06-14 | 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: I4bf7588c62fb77bf78d4afcb665e9bfbbef53966
|  Yohei Yukawa | 4 | -7/+7 |
2021-06-10 | Make direct-reply notification as HUN in EditTextVariations•••Also, set the content intent to launch an editorActivity as the message
notifiation when tapping the notification.
Bug: 190057993
Test: make EditTextVariations, manual test by using EditTextVariations
app to simulate the issue step.
Change-Id: I1a4463dc44031eaebb286ad2a289870e97a1c475
|  Ming-Shin Lu | 3 | -1/+43 |
2021-05-28 | 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
|  Ming-Shin Lu | 1 | -1/+2 |