Commit Graph

8165 Commits

Author SHA1 Message Date
Kevin Hufnagle
b358694739 docs: Added content desc in ImageView example.
The example ImageView at the beginning of the class description now
includes a content description attribute. Also updated the links in
the first paragraph where code fonts aren't necessary.

Test: make ds-docs -j32

Bug: 138856073
Change-Id: I33a75dc31d68289d955979d2fe8afe2ae3d4770e
2019-08-14 18:29:55 -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
2aec022fd2 Merge "docs: Fix broken link." into qt-dev 2019-07-22 17:24:07 +00: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
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
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
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
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
TreeHugger Robot
e53837182c Merge "Record textAppearance information for TextView." into qt-dev 2019-06-07 22:35:55 +00: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
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
TreeHugger Robot
0c7e69bdb6 Merge "[Magnifier-86] Fix deadlock causing ANR" into qt-dev 2019-05-24 17:03:21 +00: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
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
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
028b649f71 Merge "Revert "Revert "Removing deprecated APIs added to Q""" into qt-dev 2019-05-15 16:28:54 +00: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
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
Suprabh Shukla
f6ed8afa40 RESTRICT AUTOMERGE Removing deprecated APIs added to Q
Test: Builds, boots

Bug: 129975435
Change-Id: If083957effedf7987b200c366f65d6863b99bca1
2019-05-01 14:04:37 -07:00
Nader Jawad
531db61ac1 Added BlendMode equivalent APIs to replace deprecated PorterDuff
variants

Updated various framework Views to have equivalent BlendMode APIs
to replace the deprecated PorterDuff equivalents.
Updated InspectableProperty annotations to refer to the same
xml attributes as the original tintmode APIs

Bug: 126726419
Test: Added CTS tests to verify new BlendMode APIs
Change-Id: Id9ab36d3d4d29f351250723e9d13d49bc6062c83
Merged-In: Id9ab36d3d4d29f351250723e9d13d49bc6062c83
2019-04-17 21:11:39 +00:00
Tony Mak
0bf14e4804 Merge "Split TextClassifierEvent into multiple subclasses" into qt-dev 2019-04-17 10:05:20 +00:00
Abodunrinwa Toki
6d06337157 Split TextClassifierEvent into multiple subclasses
As per the suggestion from API council, we now have a subclass for event
of each category.

Bug: 129344540

Test: atest frameworks/base/core/tests/coretests/src/android/view/textclassifier/
Test: atest cts/tests/tests/view/src/android/view/textclassifier/cts/
Test: atest frameworks/base/packages/ExtServices/tests/src/android/ext/services/notification/SmartActionsHelperTest.java

Change-Id: Ic43b33c2176447c40e64bd0e410e906d5fb9c4cc
2019-04-16 13:22:25 +01:00
Felipe Leme
ef1c0b36ab DO NOT MERGE - Removed ContentCapture support from standard SDK toolkit.
Test: atest CtsContentCaptureServiceTestCases
Test: m update-api
Test: make ds-docs

Fixes: 129982633

Change-Id: I5a0fa4231d0222638830c1abd8015d9f2635996a
2019-04-15 09:36:25 -07:00
Ryan Mitchell
9f6f9ca935 Fix RelativeLayout checking of resource ids greater than 0x80
For splits with package id 0x80 and higher, the resource ids are
negative. RelativeLayout builds a dependency graph to indicate in which
order the layout height and width need to be processed. Since the ids
are less than 0, RelativeLayout is incorrectly assuming the layouts are
not order dependent.

Bug: 72869300
Test: manual
Change-Id: I98f58f11733c2976fc5c1b4152949cf80660f657
2019-04-11 16:55:37 -07:00
Hans Boehm
886705338b Merge "Clarify hasSelection description" am: 6bd5cf2bcc am: 0e63b9ce98
am: 8331efe0af

Change-Id: Idb4ac0cdc786ff080a998ad48fe54e803d58cc4d
2019-03-28 15:59:20 -07:00
TreeHugger Robot
9f230d5e16 Merge "Instead of duplicating test config, use imports." 2019-03-27 09:42:47 +00:00
Hans Boehm
fd7a3cf9ce Clarify hasSelection description
It's unintuitive that hasSelection() can return false, while
getSelectionStart() and getSelectionEnd() return meaningful non -1
values.

Test: TreeHugger

Change-Id: Iea2157f4b3b2c13c74547ba31eb4131496f939cc
2019-03-20 17:18:18 -07:00
Aurimas Liutikas
efab4dfa45 Instead of duplicating test config, use imports.
TEST_MAPPING allows sharing test configs, use that
to avoid duplication.

Test: atest --test-mapping frameworks/base/core/java/android/widget
Change-Id: I441f36fabcc26bc8198ab49eebc433932b344ae7
2019-03-20 15:39:23 -07:00
TreeHugger Robot
100bb0e692 Merge "[Magnifier-80] Make API getters relative to window" 2019-03-20 18:20:36 +00:00
TreeHugger Robot
fe31bc77ec Merge "Start running small widget test for widget changes." 2019-03-20 16:35:31 +00:00
Mihai Popa
ef456970fe [Magnifier-80] Make API getters relative to window
The CL updates Magnifier#getPosition() and Magnifier#getSourcePosition()
to return coordinates relative to the main application window, rather
than relative to the surface backing it. Working with window relative
coordinates is the better approach for public APIs. The CL also makes
View#getLocationInSurface public. Magnifier CTS tests still need it,
when testing MAX_IN_SURFACE behavior.

Bug: 124012182
Test: atest CtsWidgetTestCases:android.widget.cts.MagnifierTest
Change-Id: I684f27aa466e0390c7801b616331f4682784c423
2019-03-20 16:08:46 +00:00
Aurimas Liutikas
d33a7ce8d4 Start running small widget test for widget changes.
Test: None
Change-Id: I94fb55df43bfbeda1549ef5827c55e224eb0e1b5
2019-03-19 09:29:37 -07:00
Ashley Rose
73abdd3c59 Rename @EnumEntry and @FlagEntry
Test: atest CtsViewInspectorAnnotationProcessorTestCases
Bug: 127531820
Exempt-From-Owner-Approval: Annotation-only change
Change-Id: Id293e2b2ac9cf7bf2aaeb28645471ea227bb587b
2019-03-18 16:05:55 -04:00
Matvei Malkov
7177265e9c Revert deletion and deprecate few PopupWindow methods
After method rename procedure b/126354063 we discovered that
androidx-platform-dev already depends on that methods added during fixit
week, so revert deletion of these methods and deprecate them.

Bug: b/126354063
Test: PopupWindowTests
Change-Id: I17b985542ffd661358059740bdf620e1bfb5b550
2019-03-14 16:16:38 +00:00
TreeHugger Robot
8edccc5d60 Merge "Addressing API review comments for AutoCompleteTextView Bug: 126376225 Test: Ran android.widget.cts.AutoCompleteTextViewTest" 2019-03-13 19:10:42 +00:00
Ralston Da Silva
f954e23bab Addressing API review comments for AutoCompleteTextView
Bug: 126376225
Test: Ran android.widget.cts.AutoCompleteTextViewTest

Change-Id: I3c665debb29a82075a39ddaef493dea288f0507c
2019-03-12 16:22:59 -07:00
Matvei Malkov
25c9ac3f5b Rename methods for PopupWindow
This CL renames 4 methods for PopupWindow based on API council
suggestions. Also remove unused import in order to `repo upload`

Bug: b/126354063
Test: All ListPopupWindow, MenuPopup and PopupWindow passed
Change-Id: I5db93b1c18a7a3dc9033cb9c5bbe89107ac22024
2019-03-12 17:12:44 +00:00
Ashley Rose
a0fda08403 Merge "Custom inspection companion for RelativeLayout" 2019-03-12 16:57:10 +00:00
Xin Li
3e112d56a4 DO NOT MERGE - Merge PPRL.190305.001 into master
Bug: 127812889
Change-Id: I7c5ada5c5afe38848be733616cbb1568440ab1c5
2019-03-12 00:17:37 -07:00
Clara Bayarri
596a6edd0f Fix Annotations
API Council feedback

Bug: 126700367
Bug: 121324653
Test: none
Change-Id: I8263f60a0fa75a6261d174d33de20c675a2a608e
2019-03-11 14:10:44 +00:00
cnx421
27004a3362 Merge "fix 'int android.view.View.getHeight()' on a null object reference" am: 4add708b91 am: 6a5d589a50
am: 3069e2ba6f

Change-Id: I9ba21d8d6aee9424ffad3fbe2072ef78e3b54455
2019-03-09 04:13:43 -08:00
Ashley Rose
621c0af44b Custom inspection companion for RelativeLayout
Test: atest StaticInspectionCompanionProviderTest
Bug: 126913705
Change-Id: I2f4d5ccf38b77af9d1a4c21318475baec44e9a1c
2019-03-08 18:29:14 -05:00
cnx421
6a5d589a50 Merge "fix 'int android.view.View.getHeight()' on a null object reference"
am: 4add708b91

Change-Id: I3aa9c2da09a1447f79edb6a228f88cdc731bd605
2019-03-08 06:38:44 -08:00
Treehugger Robot
4add708b91 Merge "fix 'int android.view.View.getHeight()' on a null object reference" 2019-03-08 00:19:39 +00:00