Commit Graph

3751 Commits

Author SHA1 Message Date
Svetoslav
c0a979ce30 Merge "Fixing the accessibility text traversal in extend mode." into jb-mr2-dev 2013-05-14 17:39:36 +00:00
Svetoslav
abad55d860 Fixing the accessibility text traversal in extend mode.
We added APIs to allow an accessibility service to extend the
selection while moving the cursor at a given granularity such
as word, character, etc. The problem is that the traversal was
extending only the end of the selection while moving forward
and the start of the selection while moving backward. This leads
to a case in which the user cannot shrink/extend the selection
because for example instead of shrinking the end of the selection
the implementation was extending the start.

Now extending the selection moves only the selection end. This is
the same behavior as text view using a keyboard.

Tests: https://googleplex-android-review.googlesource.com/#/c/307062

bug:8839844

Change-Id: Id6965b102647df909f61301fcc8ec05458dd5881
2013-05-10 20:14:40 -07:00
Svetoslav
b3c2b21b5b Merge "Accessibility should not query for list items when data set changed." into jb-mr2-dev 2013-05-10 20:06:42 +00:00
Marco Nelissen
13bfebd6b7 Add VideoView.getAudioSessionId()
This lets apps get the audio session id of the video being played, so
they can apply effects to the audio track.
b/8767565

Change-Id: Iaa39d97d0b6fb528ed04b52d579afa58444ebcfe
2013-05-09 15:50:38 -07:00
Svetoslav
5b578daac9 Accessibility should not query for list items when data set changed.
AbsListView is backed by an adapter. After the adapter data changes
the view sets a flag that its state is dirty and requests a layout.
If an accessibility service asks for the state of a list item at
this point, it may incur an error since the views and the adapter
are not in sync.

Now if an accessibility service queries for a list item when the
data set is changed and the item views are dirty, we pretend the
children do not exist. After the layout happens, we notify the
accessibility layer that the screen content changed so it can
refetch the views if desired (this notification mechanism is
already in place in AbsListView#handleDataChanged()).

bug:8433433

Change-Id: I4287a0ac2ef6bb33f1f988d5ddad973556c305ca
2013-05-08 14:23:38 -07:00
Scott Main
b40c1fdaee add docs for new attributes, including account restriction for restricted profiles
Change-Id: I737ea55bfa58562b1b384e52626e95b479759376
2013-04-25 19:05:55 -07:00
Svetoslav
4c78306617 Merge "Fixing bugs exposed when moving accessibility CTS tests to UiAutomation." into jb-mr2-dev 2013-04-24 01:05:38 +00:00
Svetoslav
db7da0eb8b Fixing bugs exposed when moving accessibility CTS tests to UiAutomation.
1. UiAutomation#executeAndWaitForEvent method was invoking the passed
   runnable while holding the lock which may lead to a deadlock. For
   example: a runnable that calls getActivity() gets us into a state
   like this.

2. UI automation services did not get all capabilities such a
   service can have. Now a UI test service gets all of them.

3. When UiAutomation was exiting for event fired as a result of a
   performed action, it was checking whether the received evnet time
   is strictly before the time of executing the command that should
   fire the event. However, if the execution is fast enough, i.e.
   less than one millisecond, then the event time and the execution
   time are the same. This was leading to a missed signal in rare
   cases.

4. AccessibilityNodeInfoCache was not clearing the relevant state
   for accessibility focus clearing event.

5. Accessibility text traversal in TextView was partially using text
   and partially content description - broken. Now we are using the
   text since for text view and content desc for other views. In other
   words, we are using the most precise text we have.

6. AccessibilityManagerService was not granting capabilities of a
   UiAutomation service - plainly wrong.

CTS change:https://googleplex-android-review.googlesource.com/#/c/300693/

bug:8695422
bug:8657560

Change-Id: I9afc5c3c69eb51f1c01930959232f44681b15e86
2013-04-23 17:44:00 -07:00
Philip Milne
3c647d23e5 Fix for bug 8578258.
The fix in:

https://googleplex-android-review.googlesource.com/#/c/300346/

worked but the constant used had an extra trailing zero - which was confusing
and put a 1 in the 'flag' space of the measurement spec.

The intended number was:

0x00800000

Unfortunately, this intended constant doesn't fix this bug.

The constant submitted in this fix is:

0x00010000

which is outside the 'flag' space of measurement specs and appears to steer clear of overflow
problems in the scenario of this bug.

As suggested in the submission above, it would be preferable to rework of the RTL code to avoid
the use of such a constant as it seems very unlikely indeed that any choice of integer can
avoid problems in all cases.

Change-Id: I0c6744257ef2aebe8dbc8c041a447f9b90ee4b84
2013-04-23 15:28:18 -07:00
Philip Milne
a7b2625d43 Merge "Fix for bug 8578258: GridLayout is forcing wrong width to TextView widgets" into jb-mr2-dev 2013-04-22 22:26:21 +00:00
Philip Milne
ca2e9e1122 Fix for bug 8578258: GridLayout is forcing wrong width to TextView widgets
GridLayout is working as intended here. The bug is appears to be in RelativeLayout
(and possibly LinearLayout).

The value of RelativeLayout.DEFAULT_WIDTH = Integer.MAX_VALUE/2 is 0x3FFFFFFF has bits
set in the range that is used to flag certain conditions and states by the layout system.

In View we have:

MEASURED_SIZE_MASK = 0x00ffffff
MEASURED_STATE_MASK = 0xff000000;
MEASURED_STATE_TOO_SMALL = 0x01000000

This change fixes this bug, though it looks as if that a safer solution would be to not introduce
this constant and code path in the first place - as RelativeLayout's measurement algorithm operates
in the LTR case without it.

Change-Id: I01c51ae854620f08dd63047594486a3464c86f3a
2013-04-22 12:58:55 -07:00
Chet Haase
339ac85483 Merge "Fix quickReject logic to account for setClipChildren() setting" into jb-mr2-dev 2013-04-20 21:02:21 +00:00
Chet Haase
dd671599be Fix quickReject logic to account for setClipChildren() setting
The rendering code optimizes by rejecting drawing operations that
lie outside of the bounds of their views. This works in most
situations, but breaks down when containers have called
setClipChildren(false), because we reject drawing that is outside
of that container, but which should be drawn anyway.

Fix is to pass in the value of that flag to the DisplayList drawing
routines which take that flag into account when deciding whether
to quickReject any particular operation.

Issue #8659277 animation clipping

Change-Id: Ief568e4db01b533a97b3c5ea5ad777c03c0eea71
2013-04-19 15:36:37 -07:00
Philip Milne
68711f9363 Merge "Revert "Simple MVC based binding mechanism for android controls."" into jb-mr2-dev 2013-04-19 17:53:24 +00:00
Philip Milne
ab104ba6d4 Revert "Simple MVC based binding mechanism for android controls."
Fix for bug 8656899 API REVIEW:
	android.util.PropertyValueModel/ValueModel,
	android.widget.ValueEditor etc

Revert the change that added this API to remove it outright.

This reverts commit 989709a973

Change-Id: I9018cd8dadb1b1a54ad8749c816bd02bb7e7a38b
2013-04-18 21:09:00 -07:00
Svetoslav Ganov
d1f765c009 Merge "Fix restoration of virtual accessibility focus in ListView." into jb-mr2-dev 2013-04-19 02:17:02 +00:00
Adam Cohen
be8bc8392e Merge "DO NOT MERGE Stripping some new widget API that is yet unused" into jb-mr2-dev 2013-04-17 21:03:43 +00:00
Adam Cohen
33f3aab220 DO NOT MERGE Stripping some new widget API that is yet unused
Change-Id: I7a7156f30aa9105461908f66426950d13eb01408
2013-04-17 13:48:45 -07:00
Philip Milne
61527436b7 Merge "Fix for bug 8272673: GridLayout in battery details is cut off." into jb-mr2-dev 2013-04-17 00:56:55 +00:00
Philip Milne
e0b85cd706 Fix for bug 8272673: GridLayout in battery details is cut off.
Change-Id: Iabcc2d2c486162cf88990eb1a25aca2e7558a57c
2013-04-16 16:33:44 -07:00
Fabrice Di Meglio
3a1f1e5bea Fix bug #8629386 FastScroller is on the wrong side when switching to Hebrew in a RTL enabled app
- in AbsListView, force setScrollbarPosition() when RTL properties change
- in FastScroller, invalidate the correct rectangle when in RTL mode and in STATE_EXIT

Change-Id: Ie9fe4f826e179eb993e443d10e171b9dda3b6f3f
2013-04-16 15:40:18 -07:00
Alan Viverette
11f796ed46 Fix restoration of virtual accessibility focus in ListView.
BUG: 8630013
Change-Id: Ifb7281cc4e8537b8c26040abd2abb25663ac3d21
2013-04-16 14:32:17 -07:00
Chet Haase
0a41431d69 Merge "API and doc cleanup, plus small animation/UI features" into jb-mr2-dev 2013-04-12 22:18:24 +00:00
Chet Haase
430742f090 API and doc cleanup, plus small animation/UI features
Adding features which round out the animation APIs (missing
getters, etc.). Also fix doc typos.

Issue #8350510 Add APIs needed for future animation capabilities

Change-Id: I063736848ba26e6d6c809b15fc3a103c74222f46
2013-04-12 13:44:22 -07:00
Raph Levien
6c0724010f Merge "Fix for bug 8500202: Right-to-left text not showing in list view" into jb-mr2-dev 2013-04-12 20:08:33 +00:00
Raph Levien
f5cf6c9d44 Fix for bug 8500202: Right-to-left text not showing in list view
In single line mode, changing the text from LTR to RTL (or vice versa)
affects the alignment, which in turn means that bringTextIntoView is
needed to update the scrolling. A registerForPredraw should be done to
make this happen, but it was missing. This patch tests explicitly for
direction changes in this case, and schedules a predraw if so.

Change-Id: I16e0e23141c244dc8adc00ea8306dfe4c9bf487d
2013-04-12 11:42:25 -07:00
Adam Powell
72d574cbe0 Permit null adapters in Spinners
Bug 8538144

Change-Id: I83f0ae78ce15f46827fb721cd0df1972b7d9d198
2013-04-10 11:27:08 -07:00
Adam Powell
bd1dd0d51a Fix a monkey bug with AbsListView data set observers
Several conditions can cause an AbsListView's data set observer to be
removed and nulled out. If for some reason the view receives duplicate
onDetachedFromWindow events this could cause AbsListView to attempt to
unregister a null observer. Skip this unregister process if this
happens.

Bug 7088152

Change-Id: Ib0c630d1ee598640512023e4ef158f01e3ed474d
2013-04-09 17:46:15 -07:00
Michael Wright
b482a001f1 Fix off by one in ListView's upward focus traversal
Bug: 7985315
Change-Id: Ic67c8e346d6b51a5cfb05cc7d0c2b145b591b2db
2013-04-08 14:40:12 -07:00
Nick Kralevich
8e181c56b3 Merge "AppSecurityPermissions: minor UI changes" into jb-mr2-dev 2013-04-08 20:08:59 +00:00
Romain Guy
76d59a3b7b Always take padding and margins into account
Bug #8565842

Change-Id: I8ee398b5c36b3011950265eb7e22cc8338f1aeee
2013-04-08 12:56:15 -07:00
Nick Kralevich
98cbcf1b50 AppSecurityPermissions: minor UI changes
1) Make the box with the permission really go away when a
permission is revoked, not just invisible.
2) Change the order of the buttons, making the negative
button the "revoke" button, and the positive button "ok".

Change-Id: I73694583cbd014d3820f8df6c6b770caae299499
2013-04-08 10:02:08 -07:00
Nick Kralevich
a56b78dcd1 fix build
Change-Id: I7f3b8a4df84630f40f5a3f19434df86b6287fb75
2013-04-07 11:13:16 -07:00
Nick Kralevich
ddfbe00b66 AppSecurityPermissions: add support for revoking permissions
Add UI support for revoking optional permissions. When the user
taps on an optional permission, two new boxes will appear:

  [Cancel] | [Revoke]

Selecting [Revoke] will revoke the permission from the app.

The [Cancel] / [Revoke] options are only shown for apps which support
optional permissions.

Bug: 8332307
Change-Id: I27e374773747737e3a6d7f48ea1448a0178e3393
2013-04-05 18:42:03 -07:00
kmccormick
e10b600d5d am 984f94ee: am f29ca256: am 57b73b4a: am 72da7af6: am b461a13f: Merge "Doc update: unterminated code tags" into jb-mr1.1-docs
* commit '984f94ee4c4ef0196d9b2c149d0a42f20b72bebf':
  Doc update: unterminated code tags
2013-04-03 18:06:40 -07:00
kmccormick
984f94ee4c am f29ca256: am 57b73b4a: am 72da7af6: am b461a13f: Merge "Doc update: unterminated code tags" into jb-mr1.1-docs
* commit 'f29ca256a4340a3d550d2c4a39a2e6a29a3ce850':
  Doc update: unterminated code tags
2013-04-03 18:03:00 -07:00
kmccormick
f29ca256a4 am 57b73b4a: am 72da7af6: am b461a13f: Merge "Doc update: unterminated code tags" into jb-mr1.1-docs
* commit '57b73b4a1d6ea84ae42c407ecb258829ab8dfa2c':
  Doc update: unterminated code tags
2013-04-03 18:00:11 -07:00
kmccormick
43d5abbf03 Doc update: unterminated code tags
"Bug: 7250069"

Change-Id: I4c3eca8eacad6d0aced9f38788726ba95b914d5d
2013-04-03 17:43:44 -07:00
Jeff Sharkey
a14acd20b8 Warn when exposing file:// Uris beyond a process.
Check for file:// Uris inside Intents, ClipData, Notifications and
RemoteViews when StrictMode option is enabled.

Also introduces Intent.prepareToLeaveProcess() to uniformly handle
Intents about to leave an app process.

Bug: 8529070
Change-Id: I8efb43877cbc5f21eb029fc6492b3ee1415059ef
2013-04-03 11:45:44 -07:00
Nick Kralevich
4b2548815d Merge "AppSecurityPermissions: Add isGranted to isDisplayablePermission" into jb-mr2-dev 2013-03-27 16:20:26 +00:00
Fabrice Di Meglio
0072f64939 Fix bug #8480245 ViewGroup layout margins can be wrong in RTL mode
- fix resolution of MarginLayoutParams
- update related RelativeLayout code

Change-Id: I261f127a8897f60d316fed2a73e6e76020e542cc
2013-03-26 17:27:33 -07:00
Nick Kralevich
7a8c135177 AppSecurityPermissions: Add isGranted to isDisplayablePermission
Modify isDisplayablePermission to display a permission if the
app update will grant a new optional permission to the app.

Change-Id: Ic647826b0c48f9f7ec8e4f69b90197211f83278d
2013-03-26 17:18:32 -07:00
Fabrice Di Meglio
04c710ad9d Merge "Fix bug #8200928 ExpandableListView should be RTL-aware" into jb-mr2-dev 2013-03-26 00:27:22 +00:00
Nick Kralevich
a5043ed7ea AppSecurityPermissions: Modify isDisplayablePermission
Add optional permission support to isDisplayablePermission.

A permission is displayable if it's required, or was previously
granted to the app.

Currently, this change is a no-op. The package parser code
does not currently honor <uses-permission android:required="false"> in
the application's manifest, and assumes a permission is always required.

This change sets the ground for future optional permissions work.

Change-Id: I2ec4a49adbfab9980e116ed43354f16bdeaa301d
2013-03-25 14:28:30 -07:00
Nick Kralevich
d6182f993d Remove dead code.
This code is never called.

Change-Id: I2ed3fee93004e967bfb2a3080106c3950bf43ce2
2013-03-25 11:43:19 -07:00
Nick Kralevich
10ac1d125a AppSecurityPermissions: minor code cleanup
Convert more instance variables to private.
Delete some dead code.
Simplify some code.

Change-Id: Iedd55857138b71b2915b9886128adfcd9e4b3c57
2013-03-24 15:49:33 -07:00
Fabrice Di Meglio
f4efad0551 Fix bug #8200928 ExpandableListView should be RTL-aware
- add indicatorStart/indicatorEnd and childIndicatorStart/childIndicatorEnd properties

Change-Id: I1ee67e47798bbcb31670cc9afde3ccac68338d94
2013-03-22 13:46:08 -07:00
Fabrice Di Meglio
36fb0166a3 Merge "Fix bug #8200928 ExpandableListView should be RTL-aware" into jb-mr2-dev 2013-03-22 01:20:15 +00:00
Adam Powell
2a93911b87 Fix a stability regression in ListView arrow scrolling
The earlier patch 3cf7b3c59 introduced a stability regression. Perform
the appropriate bounds checking alongside the fix it implements.

Bug 8264185

Change-Id: I943d6c05bacdd777f89243fdac97788b16639dc6
2013-03-21 17:08:38 -07:00
Fabrice Di Meglio
605c5af9c8 Fix bug #8200928 ExpandableListView should be RTL-aware
- draw the group and child indicator at the correct position when in RTL mode

Change-Id: Ib346ae59f17c129fc59b76cd7fcc36fbdb86e499
2013-03-21 16:10:13 -07:00