Previously, TextInputTimePickerView used the default numeric IME, which
could result in cases where the digits displayed in the text fields were
native, but the IME showed ASCII digits resulting in a mix.
Now we use setImeHintLocales to hint that we need a localized IME.
Change-Id: Ic4041dcc65a31bd00741c6d96d8cbc5dac9d77c8
Fixes: 63650251
Test: Manual (tested under en-US and ar-BH locales)
by:
1. Restricting 'moving hide' -- where we hide the toolbar if the
toolbar is moving.
2. Hide the toolbar when transitioning to 'select all' -- where the
toolbar is refreshed.
Bug: 32910217
Bug: 30418276
Test: bit FrameworksCoreTests:android.widget.TextViewActivityTest
bit CtsWidgetTestCases:android.widget.cts.TextViewTest
Change-Id: I1f44ee765d74bbcf08e6e7cd635f76d1e8f6305b
This allows us to reset mCheckedItemCount to 0 to match the clearing
of check states.
Bug: 63559021
Fixes: 63559021
Test: Added test to AbsListViewTest.
Change-Id: I47a0fbc25448addf75a3f7e5a282bb98360200dd
If the locale puts the AM/PM before the hour and minute in time
formatting, make sure TimePicker respects that by putting the AM/PM
above the hour and minute in landscape mode, where the AM/PM used to
always appear below the hour and minute.
Two sets of locales are affected. All of them put the AM/PM before
the hour and minute, but the first set also defaults to 12-hour, so
the change is most visible in these: Ewe, Chinese (both Simplified
and Traditional, including Cantonese), Korean, and Tamil. The second
set, Hungarian, Japanese, Myanmar, Sinhala, and Turkish, would only
see the difference if the time picker is forced into 12-hour mode.
Test: manual (tested en-US, ar-EG, ta-IN, zh-Hans-CN, ko-KR)
Change-Id: Ic5840d46d81a004294bda4644df02c721152686b
Fixes: 63352170
Previously, the code that decided where the AM/PM indicator should
end up relative to the hours and minutes assumed that the locale was
LTR. Now it works correctly for RTL locales too.
Bug: 62846484
Test: manual (tested adding an alarm under ar-EG, en-US, and ta-IN, all of which are 12-hour)
Change-Id: I748baff01e2b3398747a2f8c074edbd16322bdf9
A long-standing bug in RelativeLayout meant that items inside a
RelativeLayout with layout centering (layout_centerHorizontal)
and WRAP_CONTENT would cause the surrounding RelativeLayout to be
sized incorrectly, resulting in bad layouts overall (the RelativeLayout
could end up much too large, pushing other layouts out of view). This
artifact was visible in TimePicker in landscape mode, but worked
around in the O release by forcing LTR on the parent layout of the
RelativeLayout.
The problem was that the case of center/wrap would end up positioning
the view on the left of the layout, instead of the RTL-friendly right
side. The fix is to do the correct thing in RTL mode (position relative
to the right side of the layout instead).
Bug: 63003526 TimePicker RTL issue
Bug: 62846484 TimePicker layout is broken in RTL landscape mode
Test: manual (run Clock app in RTL and non-RTL modes and observe layout behavior in
both portrait and landscape modes).
Change-Id: I9033857a39f422e3d6fb6e4d313d1739ae3f5c63
The index on where to add a child view was not being saved when writing
to a Parcel. This causes the index to default to 0 and resulted in views
always being added as the first view.
Now, persist this value to the Parcel and restore it.
Test: booted up on Nexus 6P, created notification with RemoteView, added
two views and verified views added in correct order.
Bug: 63177271
Change-Id: I94384e348b8a5168efe0601f382cdd2db6791fdb
Test: bit CtsViewTestCases:android.view.textclassifier.cts.TextClassificationManagerTest
bit FrameworksCoreTests:android.widget.TextViewActivityTest
bit FrameworksCoreTests:android.widget.TextViewActivityMoutseTest
Bug: 62745625
Change-Id: I360250a5c2a92d09c8d8f559b51c74f490f70c2c
Removing the recently-added APIs to adjust the title for
the popup window, and moving setting the title to
preparePopup(), which is guaranteed to have a context.
(The bug is a crash because we didn't have a context.)
Apps wishing to specify their own title can still do so
in the LayoutParams without bothering with the get/set.
Bug: 62675086
Test: With TalkBack running, navigate to Settings->
Network & Internet. Select the more options button and
double-tap to select it. It now announces "Popup Window".
Change-Id: I9735ace42c24ef4977d3f4d5150f768d44aff351
Fixes: 62444792
Test: manual verification with app that uses it the string
Test: CtsAutoFillServiceTestCases pass
Change-Id: Ic859a7a80ab25f6e240a308715b7c50708c497f3
Since CONTEXT_RESTRICTED is not a default flag of createPackageContext,
we can't rely on it for preventing unexpected font injections.
To protect developers and existing apps from a risk of font injection,
stop loading font from other package's resouce unless the developer
explicitly set CONTEXT_IGNORE_SECURITY.
Bug: 62813533
Bug: 62879353
Test: Manually done
Merged-In: I4442ddc48dadb5c968b444be86038b602074d301
Change-Id: I4442ddc48dadb5c968b444be86038b602074d301
(cherry picked from commit 6d6cd68660)
While a negative height is pretty silly, crashing apps on
the new version of android makes them sad.
Test: Existing CTS passes.
Bug: 62434804
Change-Id: I5fc3fc50fb6ccfa9e96f38ded4fb8e338f263f09
Since CONTEXT_RESTRICTED is not a default flag of createPackageContext,
we can't rely on it for preventing unexpected font injections.
To protect developers and existing apps from a risk of font injection,
stop loading font from other package's resouce unless the developer
explicitly set CONTEXT_IGNORE_SECURITY.
Bug: 62813533
Bug: 62879353
Test: Manually done
Change-Id: I4442ddc48dadb5c968b444be86038b602074d301
Also changed ArrayAdapter to use it, when set.
Fixes: 37518906
Test: cts-tradefed run commandAndExit cts-dev -m CtsWidgetTestCases -t android.widget.cts.BaseAdapterTest
Test: cts-tradefed run commandAndExit cts-dev -m CtsWidgetTestCases -t android.widget.cts.ArrayAdapterTest
Test: m update-api
Change-Id: I5e883555b0fb9d084b57b9239595bf0632fc41af
This CL enables TextView to trigger
HapticFeedbackConstants.TEXT_HANDLE_MOVE on devices that explicitly
enable this feature with resource overlay. This CL should have no
behavior change and no performance impact by default.
Since the use case of HapticFeedbackConstants.TEXT_HANDLE_MOVE is
when the user is manually moving the text insertion/selection handle
on the touch screen, it is intentional that text handle move
triggered by hardware keyboard, mouse, TextView APIs, IME APIs, and
any other internal API calls do not trigger the haptic feedback
even if the feature is enabled with resource overlay.
Bug: 62454887
Test: Manually done as follows.
* Not triggered on cursor move by mouse
* Not triggered on cursor move by hardware keyboard
* Not triggered on cursor move by IME
* Triggered on cursor move by touch screen
Change-Id: I5e78aafb065378ca88ba39ec507b121c8baa3631
When switching back to the Radial Time Picker with an
IME visible, make sure to hide it.
Test: Set time from Settings. Switch to TextInputTimePicker.
Enter text so IME appears. Switch back to RadialTimePicker
IME should be hidden again.
Change-Id: Ia0ed149d74333b2f643d50a324172b64aa5e223b
Also updates documentation for RemoteViews clone to reflect the ISE;
however, the implementation is still incorrect and the method should be
deprecated and replaced with a copy constructor.
Bug: 62576297
Test: make -j32
Change-Id: I72dea99fa45a838d22eb54190a0f26a15e8ba766
Adding a default title and a hidden API to customize
the title.
Bug: 30177642
Test: With TalkBack running, navigate to Settings->
Network & Internet. Select the more options button and
double-tap to select it. It now announces "Popup Window".
Change-Id: I38591a25be0fe1d5bf57c9edee29f09c92e258ea
This CL will be reverted once it merges into the next release branch
to re-introduce the proposed APIs.
This CL also makes the following code changes to preserve API
compatibility:
-- It keeps the recently added RemoteViews.clone() synchronized logic
intact, but moves it inside the method to avoid changing the API
signature.
-- It reverts the RttCall.read() behavior to the oc-dev logic, since
we can't throw IOException until we get an API level bump. (The
original logic returned null instead of throwing.)
Test: builds, boots
Bug: 62427252, 62431886, 62427329
Bug: 62468911, 62431162, 62428935, 62429096
Bug: 37290820, 37359238, 36886243
Bug: 30143923, 35761231, 62192626, 29829689
Change-Id: I83d723f598cb0ee1fe198e65debd86ef7fd0420c
Test: bit CtsWidgetTestCases:android.widget.cts.TextViewTest
bit CtsWidgetTestCases:android.widget.cts.EditTextTest
Bug: 62271937
Change-Id: Ib3447281f3bd1abc811a25fc55ad55e34e155bbb
Because cloning wasn't synchronized, the notification
could become a non-root temporarily which in turn could
lead to a crash.
1. We're now properly synchronizing the cloning, such that
this can't happen anymore
2. We're now only cloning the old statusbar notification lightly
instead of heavily to avoid this altogether
Test: manual, update decoratedcustomview notifications really fast
Change-Id: Ia6525eec64ad9a26956ca2198e20198f55b2173c
Fixes: 62181033