Commit Graph

61946 Commits

Author SHA1 Message Date
Yohei Yukawa
9194f344b9 Merge "Ensure IC#finishComposingText() is called on the correct Handler." into nyc-dev 2016-03-28 06:47:50 +00:00
Yohei Yukawa
aaa38c9f1a Ensure IC#finishComposingText() is called on the correct Handler.
This attempts to reland previously reverted CLs [1][2] due to an
unexpected regression (Bug 27824691).

The Bug 27868748 we want to address by this CL is that currently
InputConnection#finishComposingText() can be called on the root view's
Handler no matter what Handler is associated with
ControlledInputConnectionWrapper.  Actually the root cause of
Bug 6789252 is the same, but there we worked around it by not calling
InputConnection#finishComposingText() in certain situations [3].
With this CL we should be able to logically revert that workaround.

This CL also removes redundant IMM#mServedInputConnection.  This is safe
because the following two fields have the same lifetime.
 - InputMethodManager#mServedInputConnection
 - InputMethodManager#mServedInputConnectionWrapper
We do not need to maintain both of them.  This also allows us to use a
strong refecente in IInputConnectionWrapper#mInputConnection instead of
a WeakReference.  To understand why this is safe, we need to understand
how things previously worked, which is as follows:

  1. InputMethodManager#mServedInputConnection becomes non-null.
    -> IInputConnectionWrapper#mInputConnection.get() is guaranteed to
       be alive.
  2. InputMethodManager#mServedInputConnection becomes null or another
     object.
    -> IInputConnectionWrapper#mInputConnection.get() may not be alive.

Since we know exactly when InputMethodManager#mServedInputConnection is
updated, in theory we do not need to use WeakReference here, and
with this CL we do not use WeakReference anymore.  Actually the initial
commit [1] accidentally removed the last strong reference to the active
InputConnection and WeakReference could be null at any time, which was
what we observed in Bug 27824691.

  [1]: I1181e067aa5bedbdf0c7ec1bcec479257aea511c
       afb6558c8f
  [2]: Ibe94f115e607a198d12ecd3d4e4f91a7d9469c98
       16e2c7b59a
  [3]: I66f51da1299532793ef8fa700f35b0811670f235
       4e5184f929

Bug: 27868748
Change-Id: If2a03bc84d318775fd4a197fa43acde086eda442
2016-03-27 23:46:04 -07:00
Keisuke Kuroyanagi
1e632ba426 Merge "Improve selection handle behavior for bidi text." into nyc-dev 2016-03-28 06:06:02 +00:00
Jeff Sharkey
4d9b6e4f57 Merge "Include "invisible" volumes in new storage API." into nyc-dev 2016-03-28 05:18:40 +00:00
Andrii Kulian
47869bd446 Merge "Update ActivityInfo#WindowLayout apis (1/3)" into nyc-dev 2016-03-28 00:25:01 +00:00
Andrii Kulian
2e751b8c77 Update ActivityInfo#WindowLayout apis (1/3)
Adds documentation, renames Layout to WindowLayout and
splits #minimalSize to #minimalWidth and #minimalHeight.

Bug: 27528326
Change-Id: Idb440cb081a14ccdc83309284e906454633c4504
2016-03-27 15:35:33 -07:00
Jeff Sharkey
c02bfae73e Include "invisible" volumes in new storage API.
The purpose of the new StorageVolume API is to grant access to
volumes that aren't typically "visible" to a developer, so include
them in the returned results.

Also return the real mounted state instead of augmenting based on
the caller's storage permissions.  Clean up API naming slightly and
return as List.

Bug: 27615770
Change-Id: Ida921a4b91e5af81e418e76f672d9108f45a9781
2016-03-27 15:06:57 -06:00
Jeff Sharkey
c9a40cd844 Add methods to probe current storage state.
Bug: 27811575
Change-Id: I2586fe3ec4d5c98c5b956f4b4a4cec425c81b0b1
2016-03-27 12:10:38 -06:00
Jeff Sharkey
bd91e2f3f6 Update PRE_BOOT_COMPLETED for FBE.
Now that CE data isn't available until after a user is unlocked, we
need to delay the PRE_BOOT_COMPLETED broadcasts.  This is done by
adding a new RUNNING_UNLOCKING user state to the UserController
lifecycle.

We now track the last fingerprint a user was logged in under, and we
dispatch PRE_BOOT receivers when that fingerprint changes.  To work
around battery pull issues, we only persist the updated fingerprint
once all PRE_BOOT receivers have finished.  This is less granular
than the original solution, but it's still correct.  We only consider
a user as "logged in" once it transitions into the RUNNING_UNLOCKED
state.

When starting a process, track if the user was "unlocked" when
started, so that we only spin up unaware providers in processes
started before user unlock.

Add generic IProgressListener to communicate PRE_BOOT progress and
strings up to lock screen.  For now, LockSettingsService just blocks
until finished, but it could display these strings in the future.

Bug: 27220885
Change-Id: I349439776b885acd32f6a578d8951ffd95640be2
2016-03-27 10:56:48 -06:00
Chad Brubaker
e4c5c161dd Merge "Add handleTrustStorageUpdate" into nyc-dev 2016-03-26 16:36:31 +00:00
Jorim Jaggi
a04c532a09 Merge changes from topic 'recents_transition' into nyc-dev
* changes:
  Implement transition for docking task in recents #6
  Implement transition for docking task in recents #5
  Implement transition for docking task in recents #4
  Implement transition for docking task in recents #3
  Implement transition for docking task in recents #2
  Implement transition for docking task in recents #1
  Show a scrim activity if task is not resizable
2016-03-25 22:22:05 +00:00
Jorim Jaggi
c69bd2246f Implement transition for docking task in recents #6
- Use a future to provide the app thumbnail so the app can restart
in parallel when recents draws the bitmap (extremely expensive).
- Don't call startRecents from AM when recents is already running - this
messes up the transition information.
- Make sure to put the task into resizing mode if it needs to be restored
from the disk.
- Some minor fixes for the transition animation spec.
- Add NO_MOVE_ANIMATION to recents flags to prevent wallpaper
flickering.

Bug: 27607141
Change-Id: I7d0c75b88775ab467927b8cf94303ddb60222e7f
2016-03-25 15:13:36 -07:00
Edward Cunningham
d0ee17d926 Merge "DO NOT MERGE Revert "Revert "DO NOT MERGE Extend the DownloadManager.addCompletedDownload() method to support origin details.""" into nyc-dev 2016-03-25 22:01:07 +00:00
Jorim Jaggi
787e9dd6c8 Implement transition for docking task in recents #5
- Move task along a curved path.

Bug: 27607141
Change-Id: I945071de55efed0d327b68045e48fea6989adf63
2016-03-25 14:53:19 -07:00
Chad Brubaker
bf9a82a643 Add handleTrustStorageUpdate
This pruns all the stored trusted issuers so that changes to the system
or user CA store are detected. Currently this is only exposed as a
TestApi, but it can be hooked up to the trusted storage change event
in a future commit.

Bug: 27526668
Change-Id: Ic426254babab9a3177c968bc05b45e95eaac1fdd
2016-03-25 14:48:44 -07:00
Jorim Jaggi
192086eb8a Implement transition for docking task in recents #1
- When the docking transition is happening, defer updating
the bounds of the home stack until the transition is done.
This is to preserve the scrim which is drawn in the recents
activity.
- Use the PROLONG_AT_START infrastructure to hide the task
in recents when starting the app transition.
- When recents finally get resized at the end of the transition,
reset it's draw state so we don't move the old surface around,
and the new surface gets drawn at the new position, to avoid
flickering.
- Remove hack around not layouting docked divider if it's not
visible, it's not needed anymore and resulted in a wrong
initial position.
- Fix animation selection for docked stack divider.
- Make sure win.moved() always gets called.

Bug: 27607141
Change-Id: I76c35f09461f044a90e2c88335008284b5839cc0
2016-03-25 14:27:58 -07:00
Jorim Jaggi
2adba07d75 Show a scrim activity if task is not resizable
Add a callback to TaskStackChangeListener which gets fired when the system
might need to inform the user that a specific app might not work in
multi-window.

Use that callback in SysUI to show a translucent activity which scrims the
activity behind to inform that it might not be resizable.

Debounce the information to once per multi-window session, to not make it
annoying.

Introduce launchTaskId to start an activity in an existing task, and protect
that with START_TASKS_FROM_RECENTS permission.

Bug: 27327287
Bug: 27431869
Change-Id: I89e8d653872ab01ba3c1e252b426e5481da0e6ca
2016-03-25 14:23:41 -07:00
Jorim Jaggi
c39c7b0ce2 Add shadow during resizing in docked mode
Bug: 27738239
Change-Id: I48c45bd97c2aa7f3d7bbb5b1ba650fbe408bd0bf
2016-03-25 14:04:25 -07:00
Edward Cunningham
abb2c5af8e DO NOT MERGE Revert "Revert "DO NOT MERGE Extend the DownloadManager.addCompletedDownload() method to support origin details.""
This reverts commit c6f5738d3c.

Change-Id: Ibb330f44c3910b3fc124ee8c718a508cdf3b32b4
2016-03-25 20:56:31 +00:00
Felipe Leme
771d0c2be4 Merge "Refactored NetworkManagerService to support Data Saver." into nyc-dev 2016-03-25 20:39:59 +00:00
Felipe Leme
65be3025fd Refactored NetworkManagerService to support Data Saver.
Netd provides 2 bandwidth control rules to restrict which uids can use
metered networks:

- bw_penalty_box is a blacklist-based firewall chain used to determine
  which uids do not have access to metered interfaces.

- bw_happy_box is whitelist-based firewall chain used to determine which
  uids have access to metered interfaces.

Currently, both NetworkManagerService (NMS) and
NetworkPolicyManagerService (NPMS) uses just the bw_penalty_box rule,
which makes turning Data Saver mode on / off too slow (since NPMS needs
to build the bw_penalty_box on demand); this CL adds support for both
rules on NMS, although NPMS doesn't take advantage of it yet (it will be
refactored in a separate CL).

BUG: 27127112
BUG: 26685616
Change-Id: Ib954574f7c86269fc9b4cf8ce4ba72ba5878c23d
2016-03-25 12:33:47 -07:00
Makoto Onuki
619f4682a3 Merge "Fix potential crash loop" into nyc-dev 2016-03-25 18:55:33 +00:00
Griff Hazen
b63188de43 Merge "Detect ranchu as emulator" into nyc-dev 2016-03-25 18:05:47 +00:00
Muyuan Li
3eca3cd334 Merge "Refactor enableAccessibility to AccessibilityManagerService" into nyc-dev 2016-03-25 18:03:36 +00:00
Makoto Onuki
c5475d42a4 Fix potential crash loop
Bug 27548047

Change-Id: I10648ccb2fd17464e18308846b910efa129ce126
2016-03-25 10:55:21 -07:00
Philip P. Moltmann
ebf397625e Merge "Change hasCustomPrintIcon and setStatus as requested by API council." into nyc-dev 2016-03-25 16:50:36 +00:00
Griff Hazen
d3c454db29 Detect ranchu as emulator
Bug: 27780791

Change-Id: I23e5511acfba22260714874baf5e9380480b22bf
2016-03-25 09:35:20 -07:00
George Mount
68b296fce1 Merge "Start seeked animators without waiting for start delay." into nyc-dev 2016-03-25 14:10:01 +00:00
Alan Viverette
69a3345ed5 Merge "Clean up popup window positioning" into nyc-dev 2016-03-25 13:22:49 +00:00
Paul Jensen
f21b4dc1d6 Move ApfFilter from ConnectivityService to IpManager
There's a few advantages to having ApfFilter in IpManager:
1. If things go wrong, crashing a particular transport is less bad then
   crashing ConnectivityService.  We also don't want to use
   ConnectivityService as a dumping ground for transport-specific logic.
2. This makes implementing WifiManager.MulticastLock a lot simpler and
   safer because enabling/disabling it doesn't have to go through the
   NetworkAgent, which could risk various races (e.g. installing a filter
   into the wrong WiFi network).
3. IpManager is the ultimate source for LinkProperties for a particular
   transport and since ApfFilter uses the LinkProperties it's better to
   have it closely paired with the IpManager. Likewise, ApfFilter needs
   to know the APF capabilities of the transport, so having it in
   the transport avoids having to parcel this information through the
   NetworkAgent.

Bug: 26238573
Change-Id: I99b85f2b64972f0e7572170ec5d1926081aa3429
2016-03-25 07:46:07 -04:00
Winson Chung
941a1f81b0 Merge "Don’t scale task thumbnails." into nyc-dev 2016-03-25 03:51:09 +00:00
Winson
217009356e Don’t scale task thumbnails.
- Changing task view thumbnail layout.  In portrait, scale the thumbnail
  to width for portrait screenshots, and apply the same scale to 
  landscape screenshots.  In landscape, scale screenshots up to 1:1, and
  tweak the app transition to clip the sides instead of scaling.
  In both orientations, fill with the background color in the remaining
  space.
- Moving some resources related to the title bar to be calculated 
  programmatically so that we can have different header bar sizes which 
  completely overlap the action bar in the screenshot in each 
  orientation.
- Constraining the task stack width in landscape to portrait

Bug: 27504677
Change-Id: Ic9b6fdde6dd728d9f2d20a8b89c05b3a350edfbf
2016-03-24 20:03:02 -07:00
Dianne Hackborn
966f1c9348 Merge "Fix issue #25817435: Batterystats missing UIDs for secondary users" into nyc-dev 2016-03-25 01:50:33 +00:00
Sergei Vasilinetc
4ce5653555 Merge "Clean up setLayerType and setLayerPaint" into nyc-dev 2016-03-25 01:42:50 +00:00
Svetoslav Ganov
d61a57fdd0 Merge "Guard against a NPE when using ParceledSliceList" into nyc-dev 2016-03-25 01:33:38 +00:00
Ruben Brunk
41f02e5d50 Merge "Allow current VrListenerService to read thermal info." into nyc-dev 2016-03-25 01:08:18 +00:00
Svetoslav Ganov
b2c2e452e5 Guard against a NPE when using ParceledSliceList
bug:27558595

Change-Id: Idaa3b37d1d3bbb10b93e08ef1976758fde0b0ce3
2016-03-24 18:01:22 -07:00
Dianne Hackborn
9cfba35020 Fix issue #25817435: Batterystats missing UIDs for secondary users
Change-Id: I9ad907571f04b5825d234758347659544a4de6ab
2016-03-24 17:31:28 -07:00
Philip P. Moltmann
d74d1e5491 Change hasCustomPrintIcon and setStatus as requested by API council.
Bonus: null advanced keys produced a exception deep in the print
       spooler. Hence prevent null keys on the surface from now on.

Bug: 27716355
Change-Id: I3c064956f4e670cd7091437ade06605aa8d797b0
2016-03-24 16:53:36 -07:00
George Mount
907c177b04 Start seeked animators without waiting for start delay.
Bug 24872727

Change-Id: I954efd7113565f9b8f9a569f57960b8d91620758
2016-03-24 16:29:03 -07:00
sergeyv
342a7e6a7c Clean up setLayerType and setLayerPaint
bug:21755299
Change-Id: I8f0953ccfc3d743abdecc8ec228ed3e1b6718c3c
2016-03-24 16:06:46 -07:00
Felipe Leme
657c2fa5c6 Merge "Removed obsolete @NonNull." into nyc-dev 2016-03-24 22:14:38 +00:00
Alan Viverette
6acf2f909b Clean up popup window positioning
- Only move the popup above the anchor when necessary
- Adjust the y position when displaying the popup above the anchor
  rather than changing the popup gravity
- Reduce popup height if it's still too large after repositioning

Bug: 27819843
Change-Id: I1ecc235816a61b9431568a34d3116e286e092c11
2016-03-24 17:11:37 -04:00
Sharvil Nanavati
32dd848436 Merge "Add a NetworkTemplate matcher for ConnectivityManager#TYPE_PROXY." into nyc-dev 2016-03-24 20:17:45 +00:00
Alex Klyubin
e60d72f49a Merge "Ignore signature stripping protection for preinstalled APKs." into nyc-dev 2016-03-24 19:46:44 +00:00
Alex Klyubin
9b59bc459b Ignore signature stripping protection for preinstalled APKs.
The current build process may currently strip APK Signature Scheme v2
signatures from prebuilt APKs to be installed on the system or vendor
partitions. However, it leaves intact the signature scheme rollback
protections introduced by APK Signature Scheme v2. Due to a bug, when
the system extracts signer certificates from preinstalled APKs, it
encounters the rollback protection and aborts the extraction process.
This manifests itself as some preinstalled packages not appearing as
installed.

This change makes the system ignore signature scheme rollback
protections when extracting certificates from preinstalled APKs. This
is fine because the process of extracting certificates from
preinstalled APKs does not care about validity/integrity of signatures
and the APKs. It only cares about extracting signer certificates.

Bug: 27829513
Change-Id: I3bed463e776b057e93a0fce915db4014946be1f9
2016-03-24 12:02:20 -07:00
Alan Viverette
4a2f9857c2 Merge "Ensure correct width and height are used during popup positioning" into nyc-dev 2016-03-24 18:33:57 +00:00
Robin Lee
363e70dd00 Merge "Declare provider.Settings intent for VPN fragment" into nyc-dev 2016-03-24 18:32:52 +00:00
Joe LaPenna
23c63dd65f Merge "Allow setting doze timeouts based on system feature" into nyc-dev 2016-03-24 18:18:26 +00:00
Alan Viverette
f50df4362a Ensure correct width and height are used during popup positioning
Passes the width and height into findDropDownPosition() rather than
relying on global state. Ensures that an update is forced if any
aspects of the LayoutParams are changed during drop down position
computetion. Cleans up method and argument naming.

Bug: 27819843
Change-Id: Id85e2a0e81e0ea6a754dadf7c1d1c2493a5979b0
2016-03-24 14:08:24 -04:00