Commit Graph

6053 Commits

Author SHA1 Message Date
Jorim Jaggi
958f00f396 Do not clear INSCREEN and INSET_DECOR for resolver
Since we switched this activity to draw the system bar backgrounds,
and clearing these flags leads to that we don't get the insets
communicated, we need to remove the clearing of the flags.

Bug: 27914346
Change-Id: I72114ac7cec40933fa45891b3d1441bd30f883d4
2016-04-02 01:18:24 +00:00
Makoto Onuki
b1a684c646 Merge "ShortcutManager: implement backup & restore" into nyc-dev 2016-04-01 23:18:43 +00:00
Toni Barzic
1c2db8992f Merge "Teach keyguard about PASSWORD_QUALITY_MANAGED" into nyc-dev 2016-04-01 22:28:57 +00:00
Chong Zhang
fbe10f175f Merge "Avoid extra relaunch when rotating side-by-side apps" into nyc-dev 2016-04-01 21:56:45 +00:00
Makoto Onuki
2e210c4d0f ShortcutManager: implement backup & restore
Also:
- Fix cross profile pinning.  Now ShortcutLauncher correctly keeps
track of target package user IDs.

- Add performance stats for package manager calls and show them on
dumpsys.

Bug 27548047

Change-Id: I2472980b2955b6c70947aaaa9b76f75d0616db6e
2016-04-01 14:06:56 -07:00
Chong Zhang
167bbfac24 Avoid extra relaunch when rotating side-by-side apps
Update configuration with WM first and check if the stacks need to be
resized due to the update. If so, let activity manager resize the stacks
inline, instead of letting WM schedule another pass of resizeStack. This
way the configuration will be updated to the latest before ensureActivity-
ConfigurationLocked, and we don't need another relaunch there.

bug: 27834014

Change-Id: Ib761a96cada0c3247b0480f18370670c593159da
2016-04-01 13:58:41 -07:00
Philip P. Moltmann
4f05eb194c Merge "Make sure PrintDocumentInfo is always sane." into nyc-dev 2016-04-01 16:49:31 +00:00
Wei Wang
3054d01032 Merge "Add death monitor to AsyncChannel Server." into nyc-dev 2016-03-31 23:13:35 +00:00
Wei Wang
19c4883c85 Add death monitor to AsyncChannel Server.
Bug:27878941
Change-Id: Ia6d12b49979b47434db7969372d6c02f799bc7d4
2016-03-31 15:49:36 -07:00
Ruben Brunk
8f7e3815e7 Merge "Grant default permissions to preinstalled VrListenerServices." into nyc-dev 2016-03-31 21:57:04 +00:00
Alan Viverette
f0f919f19a Merge "Improve handling of AlertDialog padding between title and content" into nyc-dev 2016-03-31 21:03:20 +00:00
Philip P. Moltmann
4723f36d3e Make sure PrintDocumentInfo is always sane.
Change-Id: I73cf554d42dc33b7a1f6577088ec53b447f14c8c
2016-03-31 10:26:25 -07:00
Adam Lesinski
ac4dfec1c6 Merge "BatteryStats: Add ble scans to checkin data and start global ble scan timer" into nyc-dev 2016-03-31 02:58:26 +00:00
Adam Lesinski
d9b99be587 BatteryStats: Add ble scans to checkin data and start global ble scan timer
Bug:27930206
Change-Id: Ieb81eddeb0ac54ad93615f3abdc18cbcab19a729
2016-03-30 18:58:27 -07:00
Ruben Brunk
98576cf949 Grant default permissions to preinstalled VrListenerServices.
- While explicitly bound, the package for a single pre-installed
  VrListenerService will be granted permission to access
  notification policy, be bound as a notification listener service,
  and draw system overlays.

Bug: 22855417
Change-Id: I568d5d9c032e0926e47c8ef4b46e3910b6bdf766
2016-03-30 18:48:54 -07:00
Philip P. Moltmann
740a5f023e Merge "Add the print service recommendation service" into nyc-dev 2016-03-31 01:33:17 +00:00
Andrii Kulian
ac94586714 Merge "Refactor usages of Picture In Picture and Multi Window (1/4)" into nyc-dev 2016-03-31 00:57:42 +00:00
Alan Viverette
d6bfb82dc8 Improve handling of AlertDialog padding between title and content
Very slight improvements all-around. There is now greater separation
between the list's top edge and the title and less separation between
the list's bottom edge and the buttons.

Bug: 27535708
Change-Id: Ia0d0dfa5ea6d34597104885dd2c773144dcf446e
2016-03-30 20:56:30 -04:00
Mihai Niță
aeaa8d6256 Merge "Ignore stopwords in the Arabic locale sort" into nyc-dev 2016-03-31 00:53:42 +00:00
Toni Barzic
79675b326c Teach keyguard about PASSWORD_QUALITY_MANAGED
PASSWORD_QUALITY_MANAGED should have password security mode,
rather than None.

BUG=27923581

Change-Id: I6b2aeee0a79a37a868d7d30117c77f73495892ad
2016-03-30 17:23:50 -07:00
Philip P. Moltmann
9dcb86a48d Add the print service recommendation service
This service connects through the print manager to the print spooler:

PrintSpooler.AddPrintersActivity <-> PrintManager <-> PrintManagerService <-> UserState <-> RemotePrintServiceRecommendationService <-> PrintRecommendationService <-> PrintRecommendationServiceImpl

Hence there is a lot of mindless plumming.

The actual changes are only in the AddPrintersActivity which is extended
to show another list of services: The recommended services.

The PrintServiceRecommendationService is based on the experimenal print
service stubs provider. This provider was contributed the Android by
Mopria. As this services uses Android own network discovery service most
code from the experimental provider goes away. In fact the only logic
left over is the selections of mdns-txt fields to look at and the
printer vendor configuration.

This relies on the Android MDNS to get fixed (Bug: 27696905). This also
does not deal with how to update the recommendation service.

Bug: 24533249
Change-Id: I6edc6e25fc08a50d478b61c71bb8ea158b08624c
2016-03-30 17:21:07 -07:00
Mihai Nita
4de75e9fa2 Ignore stopwords in the Arabic locale sort
Bug: 26277596
Change-Id: I7cf36d67313de8ee89d12b0289a15bccb9dd9ecc
2016-03-30 15:57:43 -07:00
Yohei Yukawa
f6f0f5fbe9 Merge "Add IC#closeConnection()." into nyc-dev 2016-03-30 21:55:31 +00:00
Tenghui Zhu
620a84c76a Merge "LUTInterpolator needs to have 2 frame at minimal" into nyc-dev 2016-03-30 20:30:06 +00:00
Yohei Yukawa
9f9afe526d Add IC#closeConnection().
It turns out that BaseInputConnection has still depended on a private
API named BaseInputConnection#reportFinish(), which was introduced
4 years ago to work around a UI freeze due to an unbalanced batch edit
count [1].  Note that such an unbalanced batch edit count cannot always
be avoidable.  It can easily occur in the following situations.
 - The current IME crashed during batch edit.
 - The user changed the View focus during batch edit.
 - The current IME called IMM#switchToNextInputMethod() during batch
   edit.

The remaining problem is that #reportFinish() is still an internal API
and only subclasses of BaseInputConnection can implement it, and IMM
calls it when and only when the current InputConnection is
BaseInputConnection or its subclass.  InputConnectionWrapper and any
other InputConnection implementations will never receive such a callback
to clean up InputConnection#{begin, end}BatchEdit(), which is considered
to be a major contributor to UI freeze.

To address the above issue, we unhide BaseInputConnection#reportFinish()
as InputConnection#closeConnection() so that application developers can
receive an appropriate callback to clean up internal state including
unfinished batch edit.

  [1] I5525d776916f0c42d5e6d4a4282aed590d7f0e9a
      9d69ecbf61

Bug: 24688781
Bug: 25332806
Change-Id: I234309c5880c9fe0b299b8bd0f8862796d4dda0d
2016-03-30 12:03:51 -07:00
Teng-Hui Zhu
a5dcc6c25d LUTInterpolator needs to have 2 frame at minimal
Otherwise, it could be having invalid data, here NAN.
Fix:27343522

Change-Id: I5bb17f04c62f268ec633675015ef589be2413338
2016-03-30 11:36:35 -07:00
Andrii Kulian
933076d805 Refactor usages of Picture In Picture and Multi Window (1/4)
Bug: 27365860
Change-Id: I1590e430a12ceb84cb83da295e0bf7e4378fea96
2016-03-29 18:39:45 -07:00
Winson Chung
fe1886f8b8 Merge changes Ie59ed72c,Ie763a2a6,I7f830e5c,Ife637438 into nyc-dev
* changes:
  Should not update initial state at all on resize.
  Adding logging to track down bitmap issues.
  Moving the background to the window.
  Adding clear-all button.
2016-03-30 01:15:21 +00:00
Winson
e8a4eff9d9 Moving the background to the window.
- Make sure to remove the background from the DecorView while
resizing, so we don't draw it twice.

Bug: 27869246
Change-Id: I7f830e5c825749fdf2b5bbda7af92239702b70ad
2016-03-29 17:58:54 -07:00
Oren Blasberg
d86fd61cd8 Merge "Call the onDismiss listener in submenus." into nyc-dev 2016-03-29 21:34:46 +00:00
Oren Blasberg
4348688ed3 Call the onDismiss listener in submenus.
For StandardMenuPopup, if user opens a submenu, the ondismiss listener is no
longer called. Instead, it is called when the submenu (which is now open in
the top level menu's place) is dismissed.

Bug: 27877103

Change-Id: I069388fd173142620c667fa8d1cb21e88d5266fe
2016-03-29 13:31:56 -07:00
Alan Viverette
f25ea2fece Merge "Use default implementation for onForwardingStopped() in action menu" into nyc-dev 2016-03-29 18:25:32 +00:00
Chris Tate
09d83b032e Merge "Clean up a couple of bugs about transport init staging" into nyc-dev 2016-03-29 18:18:12 +00:00
Alan Viverette
736a85f166 Use default implementation for onForwardingStopped() in action menu
Otherwise we never exit forwarding if the popup has already been
dismissed.

Bug: 27886370
Change-Id: I3a7a51c18c15e12e2e9ef4cac853b87eb46d36de
2016-03-29 13:13:17 -04:00
Nicolas Prévot
82b1a68ed4 Merge "Update cross-profile intent resolver." into nyc-dev 2016-03-29 13:25:48 +00:00
Christopher Tate
d5f70b7483 Clean up a couple of bugs about transport init staging
Using the right names for things typically works better.

Bug 27794697

Change-Id: Ic8c3c2c978536545bd669c1c12aad9ee6783f38a
2016-03-28 17:57:51 -07:00
Jorim Jaggi
e5638a6f75 Fix nav bar consuming
- Cache shouldAlwaysConsumeNavbar so it doesn't get reset when
insets == null
- Remove logic with frame comparison when determining whether to
consume nav bar. Not sure how that ever worked.
- Make sure shouldAlwaysConsumeNavBar survives when consuming
insets.

Bug: 27157904
Change-Id: I35f209ab27cc12240038da7efa9e79c95f70c6ce
2016-03-28 21:58:30 +00:00
Joe Onorato
0caf007b3f Merge "Refactor ProcessStats." into nyc-dev 2016-03-28 20:52:39 +00:00
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
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
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
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
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
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
Joe Onorato
4eb64fdbcf Refactor ProcessStats.
- Pull most of the inner classes out into their own files.
- Move everything to a new android.app.procstats package.
- Move all of the code that was manipulating the big list
  of longs to use the new SparseMappingTable class rather
  than doing everything by hand. The logic is unchanged.
- Add a sequence number check to SparseMappingTable so
  when the big list of longs and the individual tables are
  reset, which happens somewhat independently, we can
  assert when one of them doesn't get reset.
2016-03-24 15:55:31 -07:00