Update the framework to:
1 - Allow creating RemoteViews with a mapping from size to layouts
2 - Use the closes sized layout in any given situation
3 - Allow the launher to specify the current size when inflating a
remote views
Bug: 179025145
Test: atest android.widget.cts.RemoteViewsSizeMapTest
Change-Id: Icf98d01bd0cf8b48c47555a1af6acb498b46b1a4
Bug: 178807038
Modify ScrollView and HorizontalScrollView to support
stretch overscroll.
Test: I18820794f2511ff4b7df1c5c6a9d7a2d5fafeaa0
Change-Id: I1370b702ce7331269744033c6acb61b84519c853
Temporarily use an offset RenderEffect for the stretch overscroll.
This makes it possible to visually validate the effect and start
writing CTS tests to ensure it is functioning.
Bug: 178807038
Test: Iab32812bfa626ae6932f52c1a9af78069b5dc6ac
Change-Id: I5b0da0e669d36f4149cd58b4b3aff149a1fa7e14
Bug: 178807038
EdgeEffect adds getDistance() to allow the developer to
determine how much of the pull was consumed by the EdgeEffect.
onPullDistance() is similar to onPull() except that it returns
the consumed pull distance.
A new constructor was added to allow EdgeEffect attributes to
apply to Views.
Test: I7f6d6153c1a5bc714ad1935ae0c78907e6839547
Change-Id: Ie29b081cb34af0219287bd1702fea8d273a78d74
Puts Toast style/animation changes behind a FeatureFlag
Toasts can be added via Toast APIs OR legacy apps can add the
window directly. Because toast windows can be added directly by legacy
apps, DisplayPolicy.java requires that toast windows are removed
after TOAST_WINDOW_TIMEOUT. This also means Toast windows added via
the Toast APIs are subject to this timeout. Therefore, this CL also
increases the timeout by 600ms to account for SystemUI's in/out
toast animations.
Bug: 169587378
Test: atest ToastUITest
Test: manual, rotate device while toast is showing
Change-Id: Ib17655c253f4ec4f7018cc5f7939b88a50ea5014
Merged-In: Ib17655c253f4ec4f7018cc5f7939b88a50ea5014
Bug: 178807038
This adds the edgeEffectType property and
type attribute. These will be used to
enable stretchy edge effect for overscroll.
Merged-In: I16f20b36d9a15c08e0a37f98572ef9c9f8fbc88f
Test: new CTS test for setting/retrieving the effect type.
Test: Ic363f71d241649d15faa86434516457e62b261f4
Change-Id: I16f20b36d9a15c08e0a37f98572ef9c9f8fbc88f
This adds a new method to ClipDescription to allow callers to
determine if the associated ClipData is styled text, without
accessing the ClipData directly.
This information is used by editors such as TextView or WebView
when they show a selection toolbar, in order to determine if a
"Paste as plain text" option should be shown. Currently, ClipData
must be accessed in order to do this, so a clipboard access
occurs whenever text is selected.
Avoiding these clipboard accesses is desirable because a user-visible
message may in future be shown whenever ClipData is accessed
(see b/167676460), which may cause user confusion.
Bug: 167660455
Test: new tests added to ClipDescriptionTest in CTS
Change-Id: I48bea4d11a68b198d60016b364a3cfa0b0bf277e
This change adds @RemoteView and @RemotableViewMethod to the relevant
views we'd like to enable. New APIs have been added to set Icons in
CompooundButton and Switch.
onCheckedChange support will be added in a follow-up CL.
CompoundButton.setChecked and RadioGroup.check aren't directly remotable
since RemoteViews will need to control those calls directly to ensure
that any onCheckedChange listeners aren't triggered by RemoteViews
actions.
Bug: 179245670
Test: manual, atest
Change-Id: I85e2aee62cf39ed008d9c9c1fece813293841fbd
* changes:
New setters extracting values from complex unit dimensions.
Refactoring the reflection actions to prepare for a third one.
New setters extracting values from resources for RemoteViews.
The format, attribute and method names are analogous to the existing
APIs in TextClock.
Bug: 177997338
Test: Manual: wrote a local app that uses time zones from XML and
RemoteViews.setString, including with null/invalid values
Change-Id: Ic40c1c6846e923475b7c26e5ec2912786e046c96
Bug: 177997338
Test: manual - wrote app to use runtime apis
Change-Id: I05b3ebb19598a4f1d605f9ba62005aaab733666d
Merged-In: I05b3ebb19598a4f1d605f9ba62005aaab733666d
These new setters allow defining configuration dependent values at
runtime (to some extend) in a way that is currently not possible.
See go/widgets-configuration-setters for details
Bug: 178591376
Test: atest android.widget.cts.RemoteViewsTest
Change-Id: I5a1582b4fa7f70ad8d922c72f773fe254ef2f9ff
This creates a base class to resolve the method and split the part
determining the value for the parameter.
Bug: 178591376
Test: atest android.widget.cts.RemoteViewsTest
Change-Id: I95b6e6bc56d4c1968fefe4976de03cedfdb9b6a4
These new setters allow defining configuration dependent values at
runtime (to some extend) in a way that is currently not possible.
See go/widgets-configuration-setters for details
Bug: 178591376
Test: atest android.widget.cts.RemoteViewsTest
Change-Id: I31c24e6e7bb67df7896f8117a9999f0c1edb8e1a
- Change to trigger full content spell check when calling InputConnection#performSpellCheck.
- When calling InputConnection#performSpellCheck, forces to do spell check even user is editing the word.
Bug: 177947314
Test: atest CtsInputMethodTestCases:SpellCheckerTest
Test: Manually test the add to dictionary case with Gboard
Change-Id: I4f7c2e638e517fe91776ef0a285ee20e4cdc9a92
Followup to I5a5e73e1dec776665f28a7e2eb091b555198001b.
internalImeOptions field should be parcelable.
Fix: 157870379
Test: Manually using steps in bug
Change-Id: I12b442b8b2d8cf83aa4cc789133b42251ad2c191
Problem: When dismissing the selection by clicking the TextView,
invalidateActionModeAsync is called to ask text classifier to
generate a new smart action for the selected text. It is not necessary
because the selection is going to be dismissed.
Cause:
To update the smart action chip when a user adjusts the selection
span by dragging the selection handle, we call showFloatingToolbar()
when we get an ACTION_UP event. The problem is that we also get
an ACTION_UP event when user dismisses the seletion by clicking
the textview. In that case, we don't need to update the smart action
chip or show the floating toolbar.
Solution:
Only call ShowFloatingToolbar() when we get an ACTION_UP and also
the user is modifying the selection/insertion curosr.
Test: Added a test in TextViewIntegrationTest.
Test: Manual. Input a long phone number. Change the selection span to
select fewer digits. Click "Call" and check the prefilled number.
Test: Manual. Drag the insertion curosr(w EditText), floating toolbar is
reshown when lifting the finger.
Fixes: 169042542
Change-Id: Ic398a8521d99218b14689fe0668adc22e6b143c5
The initial APIs for auto translation flow. The implementation of
sending request and dealing spans will on the follow up changes.
Bug: 172969740
Test: manual build pass. Use a sample app to call api get expected
result.
Change-Id: Ief45190026e6205ff18366c1aaba8f424a4df00c
Fixes an issue with the growRectTo computation where if the
difference between the current and target size wasn't an even
number, the resulting rect would not actually have the correct
size.
Also, asserts using the thumb bounds, rather than the view
bounds in case the thumb is not perfectly centered within the
view due to rounding errors on odd densities.
Fixes: 173872859
Test: atest AbsSeekBarTest
Change-Id: Ib2b81a91ba8feeb6743a4e4a588d6116d231eb8d
* changes:
Improve RemoteViews to simplify notification view hierarchy.
Fully custom view notifications now receive minimal decoration when targeting S.
Before this CL, the TextView magnifier was shown when selecting text,
but only when a selection handle was explicitly grabbed. This CL also enables
the magnifier when selection is performed by dragging after long press.
Bug: 119819194
Change-Id: I9546023723ef9ff84dbc6ca4c8fe5642c66a0146
Test: manual testing
Add API to set IME will temporarily consumes the input, for
this case, the cursor will be invisible in the app.
Bug: 175362887
Test: atest FrameworksCoreTests:TextViewTest
Test: atest CtsWidgetTestCases:TextViewTest
Change-Id: Ic04cacfd73f1f4cb254bb16caf6b04c00c91a318