Commit Graph

8196 Commits

Author SHA1 Message Date
Robert Chou
b7d3ffef37 Merge "Resolve NumberPicker display abnormal issue." am: 434e4fdfdb
am: 17c0df4aa4

Change-Id: Idd61b68dc773114fe09fcd7f8aebd1043c1a838d
2019-07-25 20:40:29 -07:00
Robert Chou
17c0df4aa4 Merge "Resolve NumberPicker display abnormal issue."
am: 434e4fdfdb

Change-Id: I1d5711167309ce1cb65ddf24bdd8e6392d83bd40
2019-07-25 20:30:37 -07:00
Mingyan Liu
6234cd9c1a Resolve NumberPicker display abnormal issue.
Bugid: https://partnerissuetracker.corp.google.com/u/0/issues/138241751
Change-Id: Id5971e59d30506b0be2c5347a1e2dd4bb8371eaa
2019-07-24 07:53:38 +00:00
Kevin Hufnagle
3eac945cb6 Merge "docs: Fixed link in setCurrentTab() description" into qt-dev
am: 2839f24e64

Change-Id: Ie058fa4312e0ee5e411ee0d0a2f0e49c5362c7c2
2019-07-22 15:23:56 -07:00
Kevin Hufnagle
2839f24e64 Merge "docs: Fixed link in setCurrentTab() description" into qt-dev 2019-07-22 22:01:49 +00:00
Nick Cook
3fd9f9aaf9 Merge "docs: Fix broken link." into qt-dev
am: 2aec022fd2

Change-Id: I7a3c62f0259757be3921b2c8f6b8a2e3d6aa0bd7
2019-07-22 10:44:42 -07:00
Nick Cook
2aec022fd2 Merge "docs: Fix broken link." into qt-dev 2019-07-22 17:24:07 +00:00
Nick Cook
4190144c27 Merge "docs: Fix broken link." into qt-dev
am: a2fe3be17d

Change-Id: I99943186126549eb9ce1269e619792e619c84bab
2019-07-19 10:16:48 -07:00
Nick Cook
42ece979a2 docs: Fix broken link.
Test: make ds-docs

Bug: 132635673
Change-Id: I9e6a493112418f7b1467d9d2926a1b2c106d4ad0
2019-07-18 21:44:50 +00:00
Nick Cook
0cbfc85ef7 docs: Fix broken link.
Test: make ds-docs

Bug: 79729313
Change-Id: I3f7b90457e9127380f2b8cbaf0f958823ba5488e
2019-07-18 20:42:25 +00:00
Kevin Hufnagle
e71346fa0a docs: Fixed link in setCurrentTab() description
Moving focus and selected tab requires focusCurrentTab(), not
setCurrentTab().

Test: make ds-docs

Bug: 137317608
Change-Id: I96f4f4c32cbf8a3dfa0aac8cfa6d6cd12e8f8259
2019-07-18 12:50:31 -07:00
Neil Fuller
8d96e17940 Merge "Switch widgets away from android.text.format.Time"
am: db31e6d07a

Change-Id: I550b2c7ac5e3e5b07eda51c190c354e5236a561e
2019-07-09 01:38:01 -07:00
Neil Fuller
db31e6d07a Merge "Switch widgets away from android.text.format.Time" 2019-07-09 08:15:10 +00:00
Mathew Inwood
13ffa87a6d Merge "Restore some greylist entries." into qt-dev
am: f76bdce6e0

Change-Id: I320e33be57b8124ff7c132a67c8981d53802f8f5
2019-06-28 07:43:43 -07:00
Mathew Inwood
3a75f264a8 Restore some greylist entries.
In Q, these APIs were either:
- removed from the greylist entirely without good reason
- Moved to the restricted greylist without any public alternative
  information added

So they are being moved back to the greylist for Q.

Test: Treehugger
Bug: 136102585
Change-Id: I5ac8b8b9b23c3789d80239cf456072cc7dfa1203
2019-06-28 10:15:37 +01:00
Sergey
d87bdf9834 Merge "Stable seek bar positioning" am: 874b481cdf
am: ffb8583a65

Change-Id: I049976100806ea78d99bad3201945ceccb0ee8c5
2019-06-27 15:40:25 -07:00
Sergey
24a89b4816 Stable seek bar positioning
Touching the thumb on the Seek bar prevents the thumb from immediately jumping to a new position and changing the progress of the Seek bar.

Test: Place your finger on the seek bar thumb so that your finger touches the thumb. Take your finger away. Seek bar should not change progress and thumb's position.
Place your finger on the seek bar thumb so that your finger touches the thumb. Seek bar should not change progress and thumb's position. Then, without lifting your finger from the screen, move your finger towards the maximum or minimum value. Seek bar thumb should follow your finger while maintaining its position relative to your finger.

Change-Id: Ia72d247662ad5b8dd66d0b0578098b9a2b6060cd
2019-06-21 16:20:27 +04:00
Neil Fuller
0bab7fa512 Switch widgets away from android.text.format.Time
android.text.format.Time is limited to 32-bit seconds from the
beginning of the Unix epoch and so classes that use it are limited
to 1901 - 2038. Switching to java.time avoids this issue.

Manual Testing:

AnalogClock is deprecated and not used anywhere so difficult to
test.

DateTimeView is used in the status bar. Behavior was verified with
current date/time and also Europe/London around 2019-03-31 01:00
(skip forward) and around 2019-10-27 02:00 (fall back). The time picker
in settings uses android.icu.util.Calendar which favored the later time
if there are two local times with the same display time (e.g. the
fall back case). The "repeat" case was tested with "date @1572137900"
to set the clock to "the first" 01:58, then waiting 2 minutes to
ensure that the 01:59 -> 01:00 transition occurs correctly.

Bug: 16550209
Test: build / boot / treehugger
Test: See above
Change-Id: Ibadad3041a2e54fe12d347960bf1e0f3ebe10c01
2019-06-18 15:29:41 +01:00
Mihai Popa
8cb39cbec2 Merge "[Magnifier-87] Fix deadlock causing ANR" into qt-dev
am: 9550c185f9

Change-Id: I5aa641b8ed1a13605f6311d10a06f964ede29522
2019-06-18 02:22:45 -07:00
Mihai Popa
e42215ea70 [Magnifier-87] Fix deadlock causing ANR
Before this CL, the magnifier could deadlock when the following
happened:
1. the renderer is asked to draw (and a frame callback is provided)
2. a #dismiss() happens on the UI thread. This acquires mDestroyLock
(previously line 309)
3. InternalPopupWindow#destroy() is called, and this calls
mRenderer.destroy(). This attempts to destroy the renderer on the UI
thread, however the UI thread will wait until the pending frame callback
corresponding to step 1 is executed on the render thread.
4. The frame callback starts executing on the render thread, and tries
to acquire mDestroyLock (previously line 1093). However, this is held by
the UI thread, so a deadlock happens.

This CL completely removes mDestroyLock, relying on the existing
synchronization between the UI and render threads described in step 3.

Bug: 134584742
Test: manual testing
Change-Id: Ia4c75b5b997e0ed94d5a3814dd4507a8fffa124d
2019-06-17 11:59:20 +00:00
Qasid Ahmad Sadiq
41f0326426 Merge "Disabled items shouldn't also be marked as unactionable." into qt-dev
am: 0963cc2418

Change-Id: Icd80b77ff7e7b7d6cadecb914609e90fab2b9a8e
2019-06-12 13:26:41 -07:00
TreeHugger Robot
0963cc2418 Merge "Disabled items shouldn't also be marked as unactionable." into qt-dev 2019-06-12 20:10:31 +00:00
Qasid Ahmad Sadiq
08de63ea45 Disabled items shouldn't also be marked as unactionable.
Something can be clickable and disabled. Returning early here prevents that state to be reflected in ListView items.
The reported bug was happening because the items were disabled, but they weren't being reported as clickable.
Talkback doesn't read "disabled" for disabled items unless they are also actionable in certain ways.
Test: CTSAccessibility*, CTS AbsListViewTest, CTS ListViewTest, tried UI with sample app.
Fix: 131281972

Change-Id: Ic9b8c995398151f084d194e272ce082ec345e517
2019-06-11 18:58:21 -07:00
Adam Powell
a5eec588e8 Merge "Gesture exclusion for seekbar thumbs/edit handles" into qt-dev
am: 2b2d6f58c1

Change-Id: Iff04c752c71fbc3106df698394e2da8db2783d47
2019-06-11 13:42:02 -07:00
Adam Powell
8624121b27 Gesture exclusion for seekbar thumbs/edit handles
Track gesture exclusion rects for seekbars and EditText selection and
cursor handles.

Bug: 133845668
Bug: 129338678
Test: cts/manual
Change-Id: I029d8ba465459f8ecaa14ee8ad0f5f4139b24e65
2019-06-10 20:24:20 +00:00
Aurimas Liutikas
0e85874ef5 Merge "Record textAppearance information for TextView." into qt-dev
am: e53837182c

Change-Id: I9c6ba6e4cd9c13030cc31c16b05cfdf2f4a25c1d
2019-06-07 15:51:36 -07:00
TreeHugger Robot
e53837182c Merge "Record textAppearance information for TextView." into qt-dev 2019-06-07 22:35:55 +00:00
Sunny Goyal
7cf40fc0fe Merge "Resetting widget cache when some configurations change" into qt-dev
am: 5cb8996742

Change-Id: I8f3b1ab541a0398191c1110dc1f8d6d1fb7786e5
2019-06-07 11:37:32 -07:00
Sunny Goyal
758e88bd44 Resetting widget cache when some configurations change
Sometimes widget providers hardcode colors in their remoteViews
by loading them from resources. On UI mode change, this can lead to
inconsistent UI if some widgets use a different configuration
than others.

Test: Verified with calendar widget on device
Bug: 133064045
Change-Id: If47a6b1973f55b7590f5d4116813d6a332951697
2019-06-06 17:02:55 -07:00
Torne (Richard Coles)
0f0173f9e1 Merge "Clarify problems with Linkify.MAP_ADDRESSES." into qt-dev
am: a0d66cf3f6

Change-Id: I10e7f3f8d14d15e3dbc5fd6f97bafc7442c91bb4
2019-06-06 10:59:15 -07:00
Aurimas Liutikas
9504459279 Record textAppearance information for TextView.
Test: Added in CTS
Bug: 133773670
Change-Id: I1d66a75ef7aca11f577fe54b7ef393565a64da79
2019-06-05 15:49:20 -07:00
Torne (Richard Coles)
aa68ab8288 Clarify problems with Linkify.MAP_ADDRESSES.
Update the documentation for WebView.findAddress, as well as the related
functionality in Linkify and TextView, to clarify why the method is
deprecated, why it should not be used, and that it can cause unexpected
exceptions to be thrown from several places on older OS versions.

Fixes: 24676033
Test: m offline-sdk-docs
Change-Id: I45d82b9a4c9cf62d9566898dd21cd2139ad98f37
2019-06-04 14:14:05 -04:00
Bin Chen
f752a6a86b Merge "[Magnifier-86] Fix deadlock causing ANR" into qt-dev
am: 0c7e69bdb6

Change-Id: Ib71dc3887e7501aa6a3abc71f0d23d2c6f5a32c5
2019-05-24 10:53:45 -07:00
TreeHugger Robot
0c7e69bdb6 Merge "[Magnifier-86] Fix deadlock causing ANR" into qt-dev 2019-05-24 17:03:21 +00:00
Mihai Popa
b82fd2d7d3 Merge "[Magnifier-84] Improve PixelCopy failures handling" into qt-dev
am: 612f71b1df

Change-Id: Id5b3d1a582d7119b2a967e6759d0e8e939ff20c8
2019-05-24 09:32:04 -07:00
Bin Chen
c8beb5c0f0 [Magnifier-86] Fix deadlock causing ANR
"main" prio=5 tid=1 Blocked
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x74aeca00 self=0x7021814c00
  | sysTid=27953 nice=-10 cgrp=default sched=0/0 handle=0x70a85ff548
  | state=S schedstat=( 31382082536 9164116362 28130 ) utm=2661 stm=477 core=0 HZ=100
  | stack=0x7ff7a52000-0x7ff7a54000 stackSize=8MB
  | held mutexes=
  at android.widget.Magnifier$InternalPopupWindow.destroy(Magnifier.java:607)
  - waiting to lock <0x0ef5c351> (a java.lang.Object) held by thread 13
  at android.widget.Magnifier.dismiss(Magnifier.java:191)
  - locked <0x01cd07b6> (a java.lang.Object)

 "hwuiTask1" prio=5 tid=13 Blocked
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12f815d8 self=0x70000e7800
  | sysTid=28075 nice=-2 cgrp=default sched=0/0 handle=0x70046ba4f0
  | state=S schedstat=( 138800095 85604746 532 ) utm=10 stm=3 core=1 HZ=100
  | stack=0x70045bf000-0x70045c1000 stackSize=1009KB
  | held mutexes=
  at android.widget.Magnifier$InternalPopupWindow.lambda$doDraw$0(Magnifier.java:663)
  - waiting to lock <0x01cd07b6> (a java.lang.Object) held by thread 1
  - locked <0x0ef5c351> (a java.lang.Object)
  at android.widget.-$$Lambda$Magnifier$InternalPopupWindow$vZThyvjDQhg2J1GAeOWCNqy2iiw.onFrameDraw(lambda:-1)

Bug: 133396461
Test: atest CtsWidgetTestCases:android.widget.cts.MagnifierTest
Change-Id: Idf0373ab0d5033d56da0f6f45d7d953f7e796813
Merged-In: Idf0373ab0d5033d56da0f6f45d7d953f7e796813
2019-05-23 10:18:02 +00:00
Mihai Popa
30b1fe3dd0 [Magnifier-84] Improve PixelCopy failures handling
The CL adds PixelCopy failure handling in Magnifier. Previously, if the
content copy failed, the Magnifier would still render the shadow,
therefore displaying an empty rectangle shadow frame. The CL fixes this,
avoiding displaying anything if the PixelCopy request fails.

Test: atest CtsWidgetTestCases:android.widget.cts.MagnifierTest
Bug: 132136368
Change-Id: I66715c56770380afafa5af5a3ee976bcaaa5ba1e
(cherry picked from commit 3aa46b2dd0)
Merged-In: I66715c56770380afafa5af5a3ee976bcaaa5ba1e
2019-05-22 11:09:27 +00:00
Bin Chen
c204db8421 Fix deadlock which causing ANR
"main" prio=5 tid=1 Blocked
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x74aeca00 self=0x7021814c00
  | sysTid=27953 nice=-10 cgrp=default sched=0/0 handle=0x70a85ff548
  | state=S schedstat=( 31382082536 9164116362 28130 ) utm=2661 stm=477 core=0 HZ=100
  | stack=0x7ff7a52000-0x7ff7a54000 stackSize=8MB
  | held mutexes=
  at android.widget.Magnifier$InternalPopupWindow.destroy(Magnifier.java:607)
  - waiting to lock <0x0ef5c351> (a java.lang.Object) held by thread 13
  at android.widget.Magnifier.dismiss(Magnifier.java:191)
  - locked <0x01cd07b6> (a java.lang.Object)

 "hwuiTask1" prio=5 tid=13 Blocked
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12f815d8 self=0x70000e7800
  | sysTid=28075 nice=-2 cgrp=default sched=0/0 handle=0x70046ba4f0
  | state=S schedstat=( 138800095 85604746 532 ) utm=10 stm=3 core=1 HZ=100
  | stack=0x70045bf000-0x70045c1000 stackSize=1009KB
  | held mutexes=
  at android.widget.Magnifier$InternalPopupWindow.lambda$doDraw$0(Magnifier.java:663)
  - waiting to lock <0x01cd07b6> (a java.lang.Object) held by thread 1
  - locked <0x0ef5c351> (a java.lang.Object)
  at android.widget.-$$Lambda$Magnifier$InternalPopupWindow$vZThyvjDQhg2J1GAeOWCNqy2iiw.onFrameDraw(lambda:-1)

Change-Id: Idf0373ab0d5033d56da0f6f45d7d953f7e796813
Merged-In: Idf0373ab0d5033d56da0f6f45d7d953f7e796813
Signed-off-by: Bin Chen <chenbin@vivo.com>
2019-05-22 10:16:32 +00:00
Felka Chang
01fc17e00a Merge "Fix sysui's security issue of cross-user copy/paste" into qt-dev
am: 743288a029

Change-Id: I7e67f0f6f4372b62bfac875ab6ebdcfb43aef3c7
2019-05-21 21:40:49 -07:00
Felka Chang
33f56060d5 Fix sysui's security issue of cross-user copy/paste
Background:
The applications with the granted INTERNAL_SYSTEM_WINDOW and
INTERACT_ACROSS_USERS_FULL means that it could show the same
window for all of users. i.e. to use user 0 presents all of
UI things to all of users.

INTERNAL_SYSTEM_WINDOW usually comes with INTERACT_ACROSS_USERS_FULL
because it will serve all of users to know the information that
comes from framework and system server.

Solution:
Because SystemUI never restarts after the user changing,
ClipboardService can't tell if the callingUid has the the same userId
with the current user or not.  The solution is to use the permission
check. Especially, INTERACT_ACROSS_USERS_FULL and
INTERNAL_SYSTEM_WINDOW. To check INTERACT_ACROSS_USERS_FULL by using
ActivityManagerInternal.handleIncomingUser.

Caution:
The application with INTERNAL_SYSTEM_WINDOW usually use user 0
to show the window. But, the current user is user 10, WindowManager
know the focus windows is belong to user 0 rather user 10. That's
why user 10 can't copy the the text from systemui directly reply to
the other applications.

Readability:
ClipboardService use callingUid everywhere but actaully it is not
appropriated to fix this kind of bug. This patch refactor the naming
to produce two name. i.e. intendingUid and intentdingUserId that are
validated by ActivityManagerInternal.handleIncomingUser.

Test: manual test
Test: atest android.widget.cts.TextViewTest
Test: atest CtsTextTestCases
Test: atest CtsContentTestCases

Bug: 123232892
Bug: 117768051
Change-Id: Ie3daecd1e8fc2f7fdf37baeb5979da9f2e0b3937
2019-05-21 14:16:59 +08:00
Lucas Dupin
60e01d99a8 Merge "Refresh should always update the field" into qt-dev
am: ae61369c0d

Change-Id: I1cc3170916480ee2722f12ee1c5c2f75ad2db5c5
2019-05-20 15:58:37 -07:00
Lucas Dupin
01c783823b Refresh should always update the field
Otherwise it's hard to keep track of things happening or not, since
the request would be postponed, leading to bugs elsewhere.

Test: Wait for time to pass on lock screen
Test: Enter/leave AOD
Fixes: 132955195
Change-Id: I54f806f9dd2d1cf4acac420bab08d4579f867a5f
2019-05-20 11:29:45 -07:00
Ian Pedowitz
164aa62fb2 Merge "Revert "Revert "Removing deprecated APIs added to Q""" into qt-dev
am: 028b649f71

Change-Id: Ifa06fa782c807fe282f38b028f33dbb481c0ddcc
2019-05-15 13:42:34 -07:00
Ian Pedowitz
028b649f71 Merge "Revert "Revert "Removing deprecated APIs added to Q""" into qt-dev 2019-05-15 16:28:54 +00:00
Ryan Mitchell
edf745d255 Merge "Fix RelativeLayout rules" into qt-dev
am: a04e6a22ea

Change-Id: I9d662f1faf113ab25cafddc909f0e569c1796651
2019-05-12 20:50:42 -07:00
Ian Pedowitz
cece8d3bd5 Revert "Revert "Removing deprecated APIs added to Q""
This reverts commit 1600c5a615.

Reason for revert: Rolling forward for Q-Finalization

Bug: 129975435
Change-Id: I1ffb8162cb5e6f386fd3c417fabfd4298ef86ffd
2019-05-12 19:46:31 +00:00
Ryan Mitchell
400bc93c71 Fix RelativeLayout rules
A previous change restricted rules that are added to the rule dependency
graph to resource ids rather than just integers greater that zero.
Restore the previous behavior and also allow for negative resource ids
to work as expected.

Bug: 132447676
Test: loaded maps and view looks as expected
Change-Id: I88d86c77c696d1e494a743fdd2e398283383c64e
2019-05-10 17:48:58 -07:00
Ian Pedowitz
78f0efd3f3 Merge "Revert "RESTRICT AUTOMERGE Removing deprecated APIs added to Q"" into qt-dev
am: 4acb8f46bc

Change-Id: Ideea53935ba743127298aaaa2b5a993be2679038
2019-05-02 15:02:55 -07:00
Ian Pedowitz
a17eabdc62 Merge changes from topic "QT-SDK-Finalization" into qt-dev
am: 917936172f

Change-Id: Ia7d0a4971a702966968abb59685dd1a13dff03ec
2019-05-02 14:14:57 -07:00
Ian Pedowitz
1600c5a615 Revert "RESTRICT AUTOMERGE Removing deprecated APIs added to Q"
This reverts commit f6ed8afa40.

Reason for revert: QT SDK Finalization. Will be merged again on/after May 13th

Bug: 129975435
Change-Id: If94098b7cc9cf75cf9782d2b70e01881f9c40430
2019-05-02 00:56:02 +00:00