Add setTextAsync method to TextView
This CL adds a setTextAsync method to the TextView class. This method allows the text to be maniputed on a background thread and set the result on main thread with Runnable. Bug: 289250881 Test: Manual by checking Notification and Widget Texts. Change-Id: I3d74f2de2503318441c868bb931a2bc447c03517
This commit is contained in:
@@ -6938,11 +6938,25 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
|
||||
* parameters used to create the PrecomputedText mismatches
|
||||
* with this TextView.
|
||||
*/
|
||||
@android.view.RemotableViewMethod
|
||||
@android.view.RemotableViewMethod(asyncImpl = "setTextAsync")
|
||||
public final void setText(CharSequence text) {
|
||||
setText(text, mBufferType);
|
||||
}
|
||||
|
||||
/**
|
||||
* RemotableViewMethod's asyncImpl of {@link #setText(CharSequence)}.
|
||||
* This should be called on a background thread, and returns a Runnable which is then must be
|
||||
* called on the main thread to complete the operation and set text.
|
||||
* @param text text to be displayed
|
||||
* @return Runnable that sets text; must be called on the main thread by the caller of this
|
||||
* method to complete the operation
|
||||
* @hide
|
||||
*/
|
||||
@NonNull
|
||||
public Runnable setTextAsync(@Nullable CharSequence text) {
|
||||
return () -> setText(text);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the text to be displayed but retains the cursor position. Same as
|
||||
* {@link #setText(CharSequence)} except that the cursor position (if any) is retained in the
|
||||
|
||||
Reference in New Issue
Block a user