Commit Graph

57764 Commits

Author SHA1 Message Date
Dianne Hackborn
607844efa5 Merge "Fix issue #27532364: Security Vulnerability in IIntentSender.send" into nyc-dev 2016-05-17 18:19:36 +00:00
TreeHugger Robot
4920698e17 Merge "Make some of the UID-based VPN code reusable" into nyc-dev 2016-05-17 17:30:01 +00:00
Phil Weaver
89d3ba72b7 Merge "Hide UiAutomation#destroy as test api." into nyc-dev 2016-05-17 17:27:01 +00:00
Zoltan Szatmary-Ban
690c2ea117 Merge "Introduce system API to get source of user restriction" into nyc-dev 2016-05-17 15:16:56 +00:00
Clara Bayarri
bee2648027 Merge "Remove "if it succeeds" wording from requestShowKeyboardShortcuts" into nyc-dev 2016-05-17 09:12:36 +00:00
TreeHugger Robot
b406dd20ee Merge "Fixed bugs with starting windows when displayng forcedResized activity" into nyc-dev 2016-05-17 00:51:41 +00:00
Wale Ogunwale
3b23239d6e Fixed bugs with starting windows when displayng forcedResized activity
- Added ActivityOption to mark a starting activity as a taskOverlay
activity. That is the activity will always be the top activity of the
task and doesn't cause the task to be moved to the front when it is added.
- Only set the starting window state of the ActivityRecord to shown if
window manager actually showed the starting window for the activity.
Avoids incorrectly trying to remove starting window for an activity that
didn't show any.
- When starting additional activity in a task, transfer the starting
window from the top most activity with a starting window. It is possible
the top most window does have a starting window like in the case of the
forcedResized activity.
- Only ensure visiblity of an activity we are starting in a task whose top
activity is a task overlay. They need to start in the visible-paused state
and not the resumed state which just causes extra churn in the system.
- Always add additional starting activities in a task with an overlay
activity below the overlay activity.

Bug: 28751186
Change-Id: I3624a4313ae9c406d42c67a3537f67ad685791af
2016-05-16 16:27:01 -07:00
Jorim Jaggi
23bf5462f0 Handle multi-window for inset hint
We need to incorporate task bounds when calculating the inset hint
so we don't specify something wrong to the client which we correct
immediately after.

Bug: 28697105
Change-Id: I23cec7d6cc62a4d982e0796a867e803d4cce0803
2016-05-16 23:18:14 +00:00
TreeHugger Robot
522787f39a Merge "Documented return value of getRestrictBackgroundStatus()." into nyc-dev 2016-05-16 22:17:42 +00:00
TreeHugger Robot
a423ec52ac Merge "Fix inconsistencies in DragEvent.getX/getY behavior and JavaDoc." into nyc-dev 2016-05-16 21:21:58 +00:00
Felipe Leme
c9c7be58a5 Documented return value of getRestrictBackgroundStatus().
Change-Id: I2c15a6d5e23cbc3c9b59c975196c1c04c1294471
Fixes: 28775490
2016-05-16 13:57:19 -07:00
Vladislav Kaznacheev
c244970220 Fix inconsistencies in DragEvent.getX/getY behavior and JavaDoc.
Make getX/getY return view-relative position as specified in the class
JavaDoc.

Fix obvious errors in JavaDoc for getX/getY

Bug: 28793547
Change-Id: Ic2ac646189711e7466594d4fc8326408fc0348e1
2016-05-16 12:57:15 -07:00
Phil Weaver
e6269c3f1d Hide UiAutomation#destroy as test api.
Bug: 28771617
Change-Id: Ib113883d3d12fc6a9e8c038e2c4eb1731b026b38
2016-05-16 12:55:08 -07:00
Alan Viverette
5bcf7650b4 Merge "Update docs for ColorStateList to include alpha" into nyc-dev 2016-05-16 19:30:38 +00:00
Alan Viverette
c3e5a82691 Use standalone capitalization for month labels
Bug: 28020439
Change-Id: I85169a78142a43ff2348e0b561a7aa995544a65e
2016-05-16 13:35:56 -04:00
Clara Bayarri
ab591ba4b6 Remove "if it succeeds" wording from requestShowKeyboardShortcuts
Bug: 28775576
Change-Id: Ib7bc2d78cc074c14384f5a86437c684462f1fb54
2016-05-16 17:48:16 +01:00
Alan Viverette
582dcac856 Update docs for ColorStateList to include alpha
Bug: 28760030
Change-Id: I309364002220b9896f5ddf29dabde79636a722e9
2016-05-16 12:37:55 -04:00
Yohei Yukawa
cef3337cb5 Merge "Make IMS#clearInsetOfPreviousIme() reliable." into nyc-dev 2016-05-16 15:22:21 +00:00
TreeHugger Robot
a1e4cbe211 Merge "Remove onUhandledInputEvent API." into nyc-dev 2016-05-16 15:18:20 +00:00
Clara Bayarri
ac6f034f2a Rename requestKeyboardShortcutsHelper
Per API council feedback

Bug: 28775576
Change-Id: I1c4f98d7ec0d848f0c387aaedf8a0ed80628c64e
2016-05-16 14:15:14 +01:00
Narayan Kamath
8995b00ce8 LoadedApk: Avoid unnecessary work when mIncludeCode == false.
We don't need to set up JIT profiles and register usage etc when
the package context we're trying to construct doesn't request code.

This will correct accounting for packages which are only used for
resources.

bug: 28519185
Change-Id: I849675efa76c8100ae937de478b52254babe384c
2016-05-16 10:39:08 +00:00
Abodunrinwa Toki
376f9f4bd6 Merge "Ensure that ViewGroup.getChildVisibleRect(...) is recursive." into nyc-dev 2016-05-16 09:37:56 +00:00
Martijn Coenen
9a32929def Merge "Address API review comments." into nyc-dev 2016-05-16 09:18:36 +00:00
Yohei Yukawa
833bdcedce Make IMS#clearInsetOfPreviousIme() reliable.
This is a follow-up to my previous CL [1] for Bug 15922840 so that we
can clear the following variables in a more reliable way.
 - PhoneWindowManager#mLastInputMethodWindow
 - PhoneWindowManager#mLastInputMethodTargetWindow

The idea behind CL [2] is that when InputMethodManagerService (IMMS) is
switching from an IME to another IME, IMMS can send a signal to
WindowManagerService (WMS) to remember the current IME's inset so that
the system can continue using it to reduce jank until the new inset is
specified by the next IME.  As summarized in Bug 28781358, however, if
the next IME does not show the window after the IME switch, WMS (or
PhoneWindowManager to be precise) keeps using the previous IME's inset
unexpectedly until the new IME shows its window.  All we have seen in
Bug 15922840 and Bug 26663589 fall into this category.

The idea of this CL is just adding a hidden API to InputMethodManager so
that InputMethodService#clearInsetOfPreviousIme() can surely terminate
the IME transition state managed in PhoneWindowManager, rather than
relying on a hack of calling SoftInputWindow#show() and
SoftInputWindow#hide(), which actually does not work for Bug 26663589.

 [1]: Ib04967f39b2529251e4835c42e9f99dba2cf43f2
      2977eb7b6c
 [2]: I5723f627ce323b0d12bd7b93f5b35fc4d342b50c
      792faa2c16

Note that addressing all the corner cases in [2] still requires lots of
non-trivial change.  Hence this CL focuses only on Bug 26663589 (and
the case we handled in Bug 15922840).

Bug: 26663589
Change-Id: Ib567daa009c1139858dccadcfc6a04465ebecf36
2016-05-15 20:05:56 -07:00
Dianne Hackborn
0c4e6a8da3 Fix issue #27532364: Security Vulnerability in IIntentSender.send
We need to make IIntentSender oneway...  but when the system is
calling that for itself, it needs to be able to return a result code.

Solution: instead of directly calling the interface, we have a new
IPC through the activity manager.  If the thing being used is the
activity manager impl, it can do the synchronous send and return
the result directly in place.  If not, you only get asynchronous
sending and thus never a failure result back (too bad for you!).

Change-Id: I4096e5b00063e8dba66230585a2dfe67e35e8092
2016-05-13 17:37:08 -07:00
Svetoslav Ganov
b35301e421 Merge "Make settings cahches generation mechanism robust." into nyc-dev 2016-05-13 22:22:32 +00:00
Svetoslav Ganov
04df738bcb Make settings cahches generation mechanism robust.
Settings is using a MemoryIntArray to communicate the settings table
version enabling apps to have up-to-date local caches. However, ashmem
allows an arbitrary process with a handle to the fd (even in read only
mode) to unpin the memory which can then be garbage collected. Here we
make this mechanism fault tolerant against bad apps unpinning the ashmem
region. First, we no longer unpin the ashmem on the client side and if
the ashmem region is purged and cannot be pinned we recreate it and
hook up again with the local app caches. The change also adds a test
that clients can only read while owner can read/write.

bug:28764789

Change-Id: I1ef79b4b21e976124b268c9126a55d614157059b
2016-05-13 15:14:14 -07:00
Andrew Solovay
f975b74c0c docs: Updates to multi-window and related docs. am: 4d93a21980 am: 8263d6c0a3 am: c88130c572
am: d29c26073e

* commit 'd29c26073e97e4c6e7825641cf6e76720df395e3':
  docs: Updates to multi-window and related docs.

Change-Id: Ic4be60debb41d074d717bfb0989125299428831a
2016-05-13 22:08:17 +00:00
Andrew Solovay
d29c26073e docs: Updates to multi-window and related docs. am: 4d93a21980 am: 8263d6c0a3
am: c88130c572

* commit 'c88130c5724227b3ba7ef0b5ef4476fedabca650':
  docs: Updates to multi-window and related docs.

Change-Id: I308c988e3a93737a478f9f2445b512e86f218643
2016-05-13 22:03:15 +00:00
TreeHugger Robot
a6c0cc0992 Merge "Add Fragment#onAttachFragment for parent fragments" into nyc-dev 2016-05-13 21:53:42 +00:00
Adam Powell
e30299f990 Add Fragment#onAttachFragment for parent fragments
Framework edition

Add a matching onAttachFragment method to Fragment to match the
fragment host version.

Bug 28760393

Change-Id: I5f50b3446449cae7110da6b4e468ee80f413e1e5
2016-05-13 13:38:45 -07:00
Andrew Solovay
4d93a21980 docs: Updates to multi-window and related docs.
Clarified behavior when activity is resized or put in fullscreen
mode, per b/28580007 . Also (per email from o-o) removed misleading
statement about when onStop() might or might not be called.

Both changes can go live now (multiwindow update applies to DP1 & 2,
and onStop() clarification applies to all versions of API), so I'll
submit as soon as this is approved.

See first comment for doc stage location.

bug: 28580007
Change-Id: Ib008f24e5796ec7810b67c91e512e679680d4afd
2016-05-13 13:33:55 -07:00
Wei Wang
02bc008607 Properly handle registration timeout in BLE.
Bug:25384098
Change-Id: I7877f6368c4982fcd91e68810c4da0ab7b5fc6b7
2016-05-13 18:32:15 +00:00
Abodunrinwa Toki
cb66406d33 Ensure that ViewGroup.getChildVisibleRect(...) is recursive.
This change fixes the issue where
getChildVisibleRect(View, Rect, Point, boolean) call isn't recursive.
The method was introduced in I49550ed4082bcbdcfe4643b962b50f3308092525

Bug: 28514727
Change-Id: Ib6b0fb67ca6c700b44f645319c23b1213a2742d4
2016-05-13 19:26:03 +01:00
TreeHugger Robot
fec0d188c1 Merge "Don't show new-window item in Downloads per Gabe." into nyc-dev 2016-05-13 17:26:46 +00:00
TreeHugger Robot
25018d41f4 Merge "Fixed connectivity state in some power saving scenarios." into nyc-dev 2016-05-13 17:14:13 +00:00
Robin Lee
4d03abcd49 Make some of the UID-based VPN code reusable
By changing some member refs into arguments and having one of the
functions create the UID range instead of adding to mVpnUsers.

This will be useful for other layers of UID filtering like having
UIDs explicitly blocked from the VPN.

Deleted one broken line of code that cleared the status intent when
a restricted profile is removed. Other than that, this commit shouldn't
change any behaviour. If it does, that's a bug.

Bug: 26694104
Change-Id: Ieb656835d3282a8ba63cc3f12a80bfae166bcf44
2016-05-13 16:03:11 +00:00
Andrii Kulian
4ef107bb7a Merge "Close leaked windows when trying to preserve main one" into nyc-dev 2016-05-13 03:24:34 +00:00
TreeHugger Robot
d5c94d1af3 Merge "Partial fix for jumping freeform windows" into nyc-dev 2016-05-13 01:21:12 +00:00
TreeHugger Robot
33d0ff9959 Merge "ContentValues: improve documentation" into nyc-dev 2016-05-13 01:12:52 +00:00
Vladislav Kaznacheev
cb4bbd7af8 Partial fix for jumping freeform windows
Currently every focus change causes a freeform window to jump
for a few frames. The size of the jump is equal to the difference
in inset size (which is derived directly from the window elevation).

This problem goes away for most real use cases if the insets are
not allowed to decrease.

Bug: 28318973
Bug: 22668382
Change-Id: I77ca440a7d9c89cc4d45e6667bf37da94a5c8a9a
2016-05-12 23:56:32 +00:00
Steve Pomeroy
c240b607f7 Fix documentation bug in SQLiteDatabase
The documentation incorrectly states that, "[insertWithOnConflict
returns] the primary key of the existing row if the input param
'conflictAlgorithm' = CONFLICT_IGNORE". Unfortunately, SQLite does
not provide such functionality.

Close: https://code.google.com/p/android/issues/detail?id=13045

Signed-off-by: Steve Pomeroy <steve@staticfree.info>

(cherry picked from commit 8fc3144fa5)

Change-Id: I89e56428e612d667259744e2bc3df124e5a2aa0e
2016-05-12 16:53:10 -07:00
Steve Pomeroy
b31b1cc5ff ContentValues: improve documentation
Correct and clarify the documentation for ContentValues.

Signed-off-by: Steve Pomeroy <steve@staticfree.info>

(cherry picked from commit 1276b5f29e)

Change-Id: Id6f4e93dcca64dd41daeb4066d804ff173f4747b
2016-05-12 16:51:52 -07:00
Yigit Boyar
4c6eeb67a2 Merge "Respect add focusables flags" into nyc-dev 2016-05-12 23:19:22 +00:00
Yigit Boyar
4c6e983000 Respect add focusables flags
This CL fixes 2 bugs in View's addFocusables implementations.

1) addFocusables(list, dir) method was always returning focusables in
touch mode even if the device is not in touch mode.

2) addFocusables(list, dir, mode) was not respecting the provided mod.

Bug: 28745577
Change-Id: I9b9e5af27f8f5b1bb3cc601584fdad7c73e54a5d
2016-05-12 15:11:13 -07:00
Jesse Hall
7f0708390b Merge "Move Vulkan layer path setup to ApplicationLoaders" into nyc-dev 2016-05-12 21:13:26 +00:00
Adrian Roos
11c8f5315b Merge "DPM control for remote input when locked" into nyc-dev 2016-05-12 20:52:26 +00:00
Andrii Kulian
eac0ea5cdf Close leaked windows when trying to preserve main one
When app has several windows and activity is relaunched + we try to preserve
main window - other windows just stayed around until removed by timeout or
replaced by app. There was a problem when one of the windows registered
broadcast receiver and set its own timer to remove it. In this case all
receivers were removed by framework because windows were considered leaked
and apps' timer caused crash when trying to remove registered receiver.

This CL removes all windows expect the main one, which we're trying to
preserve in this case.

Bug: 28337135
Change-Id: Ib8790cc8c61801f11d871ba3803bb0ebc3d3be01
2016-05-12 13:37:05 -07:00
Felipe Leme
781ba14af2 Fixed connectivity state in some power saving scenarios.
NetworkPolicyManagerService (NPMS) manages 4 type of network restriction
when apps are running on background:

- Data Saver Mode (data usage restriction on metered-networks)
- Battery Saver Mode (power restriction on all networks)
- Doze Mode (power restriction on all networks)
- App Idle (power restriction on all networks)

These restrictions affects 2 parts of the system:

- Internal framework state on NPMS which is propagated to other internal
  classes.
- External firewall rules (managed by netd).

Although each of the power-related restrictions have their own external firewall
rules, internally apps are whitelisted to them through the same
whitelist, and the current code is only updating the internal state (and
notifying the internal listeners) when Battery Saver Mode is on.

As a consequence of this problem, there are scenarios where an app
correctly does not have internet access (because the firewall rules are
properly set), but the NetworkInfo state returns the wrong state (like
CONNECTED / CONNECTED).

This CL fixes this problem by splitting the power-related logic from
updateRulesForRestrictBackgroundLocked() into its own
method (updateRulesForPowerRestrictionsLocked()), and making sure such
method is called whenever the firewall rules are updated.

Externally to this change, the CTS tests were also improved to verify
the apps get the proper connection state; it can be verified by running:

cts-tradefed run commandAndExit cts -m CtsHostsideNetworkTests \
    -t com.android.cts.net.HostsideRestrictBackgroundNetworkTests

BUG: 28521946
Change-Id: Id5187eb7a59c549ef30e2b17627ae2d734afa789
2016-05-12 12:33:23 -07:00
Tingting Wang
752129929f Merge "Rename CONTACT_METADATA_SYNC GService Flag." into nyc-dev 2016-05-12 17:11:44 +00:00