Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit ae2ddbcf authored by Linnan Li's avatar Linnan Li Committed by Justin Ghan
Browse files

Fix handwriting trigger fail even isAutoHandwritingEnabled is true



Currently, our focusedView only records the View for which the
isAutoHandwritingEnabled method returns true. If
isAutoHandwritingEnabled returns false when the View gains focus, we
will not record it as focusedView. Unfortunately, if the View then
calls setAutoHandwritingEnabled with true, the focus will not change.
If we attempt to execute Handwriting at this point, it will not
succeed because the View already has focus and the focus request will
not change, thus preventing the initiation of Handwriting. Ideally, we
should notify the HandwritingInitiator of the focus information again
when setAutoHandwritingEnabled is called. However, we currently allow
developers to override the isAutoHandwritingEnabled method, which
makes it difficult to monitor changes to this value.

Here, we attempt to modify focusedView to record the view that actually
has the current focus, even if isAutoHandwritingEnabled still returns
false. When searching for the best candidate View, we will then check
the value of isAutoHandwritingEnabled and make corresponding decisions
to fix this issue.

Bug: 361256391
Test: atest StylusHandwritingTest
Flag: com.android.text.flags.handwriting_track_disabled

Signed-off-by: default avatarLinnan Li <lilinnan@xiaomi.corp-partner.google.com>
(cherry picked from https://partner-android-review.googlesource.com/q/commit:417d6317b06c3fbe9959f05984318b1ad01c117a)
Merged-In: I82ff9936ce8dc51a997d4e73e772e3eced300475
Change-Id: I82ff9936ce8dc51a997d4e73e772e3eced300475
parent ac2b4f52
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment