Commit Graph

5929 Commits

Author SHA1 Message Date
Andreas Gampe
4f655de3de Merge "Frameworks/base: Refactor TextView initialization" into nyc-dev 2016-03-01 18:38:09 +00:00
Jeff Sharkey
de2dabbad6 Skip boot prompt for both native and emulated FBE.
Bug: 27412530
Change-Id: I53d39392ccab54cb79cf6cc1e51923ad7b5a3b0c
2016-02-29 17:12:34 -07:00
Andreas Gampe
ddc1397eba Frameworks/base: Refactor TextView initialization
To allow static initialization of a number of View classes based
on TextView, refactor the initialization of the font cache to be
explicit from the zygote.

Bug: 27265238
Change-Id: I1b71086d3f49d8b3e72eea2bf8359351d25fc0fd
2016-02-29 11:13:01 -08:00
Jeff Sharkey
f8880561e6 When system server goes down, crash apps more.
Similar to first patch, but now using new "rethrowFromSystemServer()"
method which internally translates DeadObjectException into
DeadSystemException.  New logic over in Log.printlns() now
suppresses the DeadSystemException stack traces, since they're
misleading and just added pressure to the precious log buffer space.

Add some extra RuntimeInit checks to suppress logging-about-logging
when the system server is dead.

Bug: 27364859
Change-Id: I05316b3e8e42416b30a56a76c09cd3113a018123
2016-02-27 17:17:01 -07:00
Adam Lesinski
09c09fd345 Merge "BatteryStats: Fix issue where network traffic accounting might be lost" into nyc-dev 2016-02-27 00:15:11 +00:00
Muyuan Li
94ce94e960 Allows components to register shortcut key.
The registered shortcut will be called from PhoneWindowManager,
before dispatching

Change-Id: If26128939b45a639c8895719a7a23ca433f39fd9
(cherry picked from commit 4da863c5a8872dcabb179a978a2b2157d9081679)
2016-02-26 22:30:34 +00:00
Adam Lesinski
6cca414de2 BatteryStats: Fix issue where network traffic accounting might be lost
Both bytes transmitted and received must be 0 if we are to short circuit and
ignore the UID's network delta.

Change-Id: Ia69f605c7d5954b8f2c3671bab596dc9925f1d02
2016-02-25 18:24:28 -08:00
Mitchell Wills
ebc106cb71 Merge "Modify WakeupMessage to only send the message if not canceled" into mm-wireless-dev
am: 9505e0ac3f

* commit '9505e0ac3f6bef7ad850f3b6fc9ec576b65b1e55':
  Modify WakeupMessage to only send the message if not canceled
2016-02-26 00:20:00 +00:00
Roozbeh Pournader
e1df1ba087 Merge "Make system locale persistent." into nyc-dev 2016-02-25 23:42:36 +00:00
Phil Weaver
8ca583b29f Merge "Accessibility to toggle multiwindow mode" into nyc-dev 2016-02-25 23:16:52 +00:00
Phil Weaver
315c34e7d6 Accessibility to toggle multiwindow mode
Encapsulating the logic to toggle multiwindow mode from recents,
and plumbing it through to accessibility global actions. Sending
accessibility events when windows bounds change. Exposing the
dock divider window type to accessibility services.

Bug: 27250995
Change-Id: Ib7491f1f853dc7f01bf5c5a4ac1f914f55d0608a
2016-02-25 15:13:11 -08:00
Seigo Nonaka
bd5cbdd638 Make system locale persistent.
Configuration values are not persistent.
To make system locale persistent, use Settings.System entry.

During start up, the configuration is filled from Settings.
When the system locale is changed by Settings, the locale list in
configuration is copied to Settings value.

Bug: 26732134
Change-Id: If57e13cc4179ff6299c71b4ab030f9d856748dea
2016-02-25 15:34:23 +09:00
Mitchell Wills
634c1f9d0d Modify WakeupMessage to only send the message if not canceled
Change-Id: I9ca6d3726fe25c706b644bf61119837a7cbe6db1
2016-02-24 20:17:39 -08:00
Yohei Yukawa
b3fdffbb48 Merge changes Iaf179d60,I315cf372,I21d3c5cc into nyc-dev
* changes:
  Use LocaleList for implicitly enabled subtypes.
  Add a utility method to filter locales.
  Mechanical refactoring in InputMethodUtilsTest.
2016-02-25 02:57:51 +00:00
Yohei Yukawa
e985c240e3 Use LocaleList for implicitly enabled subtypes.
There are two major changes in this CL:

  1. Now IMMS resets its internal state whenever the system locale list
     is changed, rather than just checking the primary system locale.
  2. For software keyboard subtypes,
     InputMethodUtils#getImplicitlyApplicableSubtypesLocked() now takes
     the entire system locale list into account when determining what
     subtypes should be enabled by default when the user does not
     explicitly enable one or more subtypes.

Bug: 27129703
Change-Id: Iaf179d60c12b9a98b4f097e2449471c4184e049b
2016-02-24 18:27:04 -08:00
Yohei Yukawa
102ff0726d Add a utility method to filter locales.
This is a preparation CL to take secondary system locales into
account in InputMethodUtils#getImplicitlyApplicableSubtypesLocked().

Suppose the following situation:

  available subtypes:
    en-US, en-IN, and en-GB, fr, fr-CA, fr-CH, fr (QWERTZ)
  system locales:
    en-GB, en-US, fr-MC

Basically we want to have at most one subtype for each language appears
in system locales.  Hence the goal of this utility method is to filter
the above available subtypes into en-GB and fr.  In other word, we do
not want to enable both en-GB and en-US subtypes in this scenario.

This CL introduces LocaleUtils#filterByLanguage() for this purpose, with
some unit tests.  Note that that method is not used in production yet.

Bug: 27129703
Change-Id: I315cf3722a06e00bdbfac284c4949578da8fe78d
2016-02-24 18:25:16 -08:00
Daniel Sandler
ab0037c8a0 Merge "N-release temporary platlogo." into nyc-dev 2016-02-25 02:05:55 +00:00
Dan Sandler
bbcf8b6567 N-release temporary platlogo.
What are we going to do 13 releases from now, I wonder?

Bug: 27315386
Change-Id: I65814f9cd686b3bac537565166b2a5d09a9b8f2b
2016-02-25 02:04:51 +00:00
Chong Zhang
f8fb6d1261 Merge "Make sure background drawable callback is cleared during resizing" into nyc-dev 2016-02-25 00:38:19 +00:00
Chong Zhang
0df63d5d57 Make sure background drawable callback is cleared during resizing
bug: 27297724
Change-Id: I8ee3d0e093f94a7fc293f64949abbb612e0b2aa4
2016-02-24 15:39:53 -08:00
Jorim Jaggi
0ffd49cbe0 Always consume bottom insets when navigation bar is force shown
When an app requests SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION but we
force show the navigation bar, we need to treat for the app like
there is no virtual navigation bar on the device. Because if you
combine it with FLAG_HIDE_NAVIGATION, you'd expect the navigation
bar gets hidden but it doesn't, so there could be content that
overlaps with the navigation bar.

Bug: 27157904
Change-Id: I088e02eae2e723c35e9cb4873de6b1325458533b
2016-02-24 18:15:17 +00:00
Jorim Jaggi
ffd049027f Fix wrong measurement in DecorView
Bug: 27215338
Change-Id: I512df9b23788daf485b020a2199a55a7c6ab6311
2016-02-24 00:31:23 +00:00
Mihai Niță
86ee2c0235 Merge "Removed warning icons and use friendlier locale names" into nyc-dev 2016-02-23 21:37:05 +00:00
Joe Onorato
e1acd636d4 Make getBatteryUptimeLocked protected so it can be mocked.
Also fix test names.

Change-Id: I43477e61c22cd36735214951c45c52b39095e1b5
2016-02-23 13:28:03 -08:00
Mihai Nita
502141d50b Removed warning icons and use friendlier locale names
* Removed warning icons in locale list (b/26710677)
* Use getDisplayNameWithDialect() instead of getDisplayName()
  for the locale names (b/27066642)
* Set proper locale for the language labels (b/27130516)
* Fixed build warning in LocaleHelper (b/27148053)

Bug: 26710677
Bug: 27066642
Bug: 27130516
Bug: 27148053
Change-Id: I149a3675262b286c8b740d2ad5b02f4df31316ec
2016-02-23 13:24:27 -08:00
Joe Onorato
abded113bd Add unit tests for BatteryStatsImpl.
- Add a Clocks interface to wrap SystemClock.uptimeMillis and
  SystemClock.elapsedRealtime.
- Make the inner classes static so they can be created independently,
  which meant passing explicit pointers to the BatteryStatsImpl and
  the Uid objects in a lot of places.
- Make several fields protected so they can be accessed by the tests (they are
  still @hidden)
- Add a test suite for the battery stats.
- Add the tests

Change-Id: I4e45afedc64f7050985c28a7eb4f5c1ddbaa63fa
2016-02-23 12:44:22 -08:00
Lorenzo Colitti
2a452d48d5 Merge "Add a unit test for MessageUtils." into mm-wireless-dev
am: 6f027b4f06

* commit '6f027b4f0651837877e0f291bbf121436dfe3958':
  Add a unit test for MessageUtils.
2016-02-23 07:49:06 +00:00
Yohei Yukawa
05c25f8a3a Unify windowGainedFocus() and startInput().
This is a safe refactoring that changes nothing.

In order to improve the keyboard dismissal lags [1][2], we have used
IMMS#windowGainedFocus() as a combined event to do startInput() in
certain situations.

To make the intent of those CLs clear, this CL renames
IMMS#windowGainedFocus() to IMMS#startInputOrWindowGainedFocus().  Note
that these are @hide internal IPC protocols.  Hence this change is never
observable to application developers.

 [1] I8494cbd6e19e2ab6db03f2463d9906680dda058b
     a82ba54b0b
 [2] Icb58bef75ef4bf9979f3e2ba88cea20db2e2c3fb
     7663d80f6b

Bug: 25373872
Change-Id: I56934f18e30d90fcdf77bcbb0c35a92a5feb1b82
2016-02-22 12:41:17 -08:00
Svet Ganov
9cea80cddd No overlay when permissions shown - framework
bug:26973205

Change-Id: I88395e47649191bb7db6dd8723c49e741ef4f1e4
2016-02-20 17:41:47 +00:00
Lorenzo Colitti
f979012c9b Add a unit test for MessageUtils.
Also fix a couple of issues in the code:

1. Check that fields are static before attempting to read them.
   Currently, if a non-static field's name starts with one of the
   specified constant prefixes (by default, "CMD_" and "EVENT_")
   we'd get an NPE.
2. Only read final fields.

Change-Id: I0e07c4c27a66180cbaf7f2b1c235daafc080863b
2016-02-20 23:24:25 +09:00
Selim Cinek
24ffe236b1 Merge "Media notifications now properly respect font size changes" into nyc-dev 2016-02-19 23:04:15 +00:00
Jorim Jaggi
42625d1bc7 New behavior for docked stack when going home
- We keep the docked stack visible when home task is visible even
though it's not resizable.
- We introduce the a new concept called "minimizing" the docked stack,
which happens when going home. In this state, the docked stack is
clipped of almost completely.
- To achieve that, we introduce TaskStackBoundsAdjustController,
which adjusts the bounds of the docked stack when minimized. Also,
migrate the IME handling to this new class.
- We also need to inform SysUI that it is now minimized so it can
remove the drag affordance on the divider, and also make it a bit
smaller.
- When we detect an app transition, we check whether the home stack
gets visible/invisible. We then start an animation which runs in
sync with the normal app transition. For that we introduce
DockedStackDividerController.animate(), which performs the animation.

Bug: 27137961
Change-Id: I8623bc73cc6872bf28c5b1b8d5795974576811b2
2016-02-19 12:11:11 -08:00
Selim Cinek
d2feb63aaf Media notifications now properly respect font size changes
Bug: 24866646
Change-Id: I6e38aea518bee1b933fdc8efd460e95eaaaed3b0
2016-02-19 11:54:41 -08:00
Mitchell Wills
019fb9f4e4 Merge "DO NOT MERGE Add a new WakeupMessage class" into mm-wireless-dev 2016-02-19 05:33:36 +00:00
Lorenzo Colitti
a2a9ab947f Add a MessageUtils class to convert int constants to strings.
am: d2457a3ee3

* commit 'd2457a3ee39ea55ed8e302bd93feede793cb5055':
  Add a MessageUtils class to convert int constants to strings.
2016-02-19 05:01:56 +00:00
Yohei Yukawa
116d872d9c Merge "Introduce InputConnection#getHandler()." into nyc-dev 2016-02-19 02:36:50 +00:00
Lorenzo Colitti
e9ae977322 DO NOT MERGE Add a new WakeupMessage class
This is useful when using the new AlarmManager direct callback
interface to wake up the system and request that an object whose
API consists of messages (such as a StateMachine) perform some
action.

In this situation, using AlarmManager.onAlarmListener by itself
will wake up the system to send the message, but does not
guarantee that the system will be awake until the target object
has processed it. This is because as soon as the onAlarmListener
sends the message and returns, the system is free to go to sleep
again.

Bug: 20157436
Bug: 25823676
Cherry-picked WakeupMessage.java from 9d3aadb247
Change-Id: Idff20029d287f26347441a2523b7fb20eda6a8b0
2016-02-18 18:02:14 -08:00
Lorenzo Colitti
d2457a3ee3 Add a MessageUtils class to convert int constants to strings.
This class uses reflection to find accessible static integer
members in a specified list of classes and returns a SparseArray
mapping the integers to their names. This will allow us to
replace various 400-line switch statements with a simple
array access.

Change-Id: I3607e6389a423cde0bd83270c00b3c863ae1bb29
2016-02-19 10:26:55 +09:00
Adam Powell
cff479e2ee Merge "Restore auto-launch behavior for ACTION_CHOOSER with a single choice" into nyc-dev 2016-02-18 23:13:39 +00:00
Andreas Gampe
a2cc0c2ca2 Merge "Frameworks/base: Use Log.printlns in RuntimeInit" into nyc-dev 2016-02-18 22:26:13 +00:00
Andreas Gampe
d888beb9bf Frameworks/base: Use Log.printlns in RuntimeInit
Make printlns in Log public-@hide so it can be used.

Print uncaught exceptions that will terminate the process in
RuntimeInit using printlns, so that long exception traces are not
being truncated.

Bug: 27245306
Change-Id: Ib24635f0ebdd80bd125e367302cab6a78e6a210a
2016-02-18 14:01:41 -08:00
Chong Zhang
d3fd96c208 Use background drawable from the client
And set the drawable's callback to null during drag-resizing, since
we use multi-threaded renderer, will do not want to schedule draws
to the ViewRootImpl's thread.

bug: 26729953
Change-Id: I6e5f94a5a6ba15edc2d391dd11d8fee3c657d337
(cherry picked from commit 1cc95075e8)
2016-02-18 21:20:11 +00:00
Adam Powell
f5afdb09a6 Restore auto-launch behavior for ACTION_CHOOSER with a single choice
For the initial release of Marshmallow auto-launching was suppressed
for ChooserActivity if there was only a single choice in order to let
the user confirm what would be launched. In practice, many apps use
ACTION_CHOOSER when they should probably use implicit intents, but
still others have use cases where setting a default doesn't make sense
and the user should still be able to make a choice when one is
available.

As the user confirmation didn't buy much in terms of developer API
expectations (ACTION_CHOOSER being a forced choice) and it adds
speedbumps to existing apps in the ecosystem, revert this change.

Bug 27243827

Change-Id: Id8fd5385d5b1f459e80b0096efe7e2944264739a
2016-02-18 12:43:47 -08:00
Erik Kline
bc163f07ee Add Protocol.BASE_ETHERNET
am: ca4c61aa9f

* commit 'ca4c61aa9f7396a167202ea83f4d02f7f62ba482':
  Add Protocol.BASE_ETHERNET
2016-02-18 18:19:06 +00:00
Erik Kline
ca4c61aa9f Add Protocol.BASE_ETHERNET
Change-Id: I4e51370c0b53d9902eea8aae409f9f7cffaf28ad
2016-02-18 18:15:52 +09:00
Yohei Yukawa
c2393ac3bf Fix bugs in logic to find a default selectd IME.
With this CL, InputMethodManagerService#resetDefaultImeLocked()
picks up the default selected IME with the same logic to find the
default enabled IMEs [1].  It should make sense because the default
selected IME should be one of the default enabled IMEs.  The previous
code is problematic because it does not check whether the IME is enabled
or not.  There was a chance that unusable IME could be picked up.

This CL also fixes the same problem to Bug 17347871 that only language
part of the locale is taken into account.

  [1] See the following series of CLs.
    - part 1: I831502db502f4073c9c2f50ce7705a4e45e2e1e3
              ed20f8d750ef0b6347448265a14ef2a2c7e1af5c
    - part 2: Ife93d909fb8a24471c425c903e2b7048826e17a3
              745e7bca8a622ffdf0d0a8e8e2485eab98182ede
    - part 3: I6571d464a46453934f0a8f5e79018a67a9a3c845
              d0dbd81fe2cd34c9a83e2f5217374d3e1a79f950
    - part 4: I871ccda787eb0f1099ba3574356c1da4b33681f3
              b21220efae

Bug: 27197621
Change-Id: Ia0f52c1fb9f5a68230284a1ec4829a2337b60bdd
2016-02-18 00:30:45 -08:00
Arunesh Mishra
3fff7f5634 SoundTriggerHelper changes for GenericSoundModels.
- Refactoring SoundTriggerHelper to handle generic sound models.
     - Ability to store multiple models, callback and state information.
     - Separate out initialization to be done per voice model, per any model
     and per generic model.
 - Minor change to the API exposed -- removing the Handler from the
   createSoundTriggerDetector call.
 - Added callback processing for onRecognitionEvent().
 - Added logic for stopAll().
 - Changes to the SoundTriggerTestApp to start/stop recognition.
     - Multiple models (3).
     - Ability to start/stop/load/unload individual models.

Bug: 22860713
Bug: 27222043
Change-Id: Ie5d811babb956bead653fb560a43f1e549ed11bd
2016-02-17 14:24:03 -08:00
Yohei Yukawa
93dfc03ba6 Merge "Add Copy-On-Write mode to InputMethodSettings." into nyc-dev 2016-02-17 17:11:54 +00:00
Yohei Yukawa
68645a638a Add Copy-On-Write mode to InputMethodSettings.
This is a preparation for File-Based Encryption (FBE) support in IMMS.

In order to support File-Based Encryption (FBE), IMMS needs to reset
its internal state exactly when the device is unlocked by user first
time. This is important because IMMS would recognize only
encryption-aware input method services until the the device is unlocked
by the current user.

Even if we reset the internal state when the device is unlocked by the
current user, there are still two tricky points.

 1. Except for the initial boot, IMMS uses Secure Settings to determine
    what IMEs are enabled and what IME is currently selected.  These
    persistent state may not be suitable for the situation where the
    device is not unlocked yet, because some of IMEs referenced there
    may or may not be encryption-aware.  Depending on the situations,
    we may need to enable at least one encryption-aware IME to ensure
    that the user is able to type password to unlock the device, even if
    such an IME is not Settings.Secure.ENABLED_INPUT_METHODS.  We have
    to be careful when doing this because we don't want non
    pre-installed IMEs to be enabled until the user approves it.
 2. IMMS tends to save its internal state into Secure Settings.
    However, because of the point 1, we may need to automatically enable
    a certain IME to make sure the user is able to type even when the
    device is not unlocked yet.  We don't want such a temporary state
    to be persistent in Secure Settings.

The basic idea of this CL is to implement Copy-On-Write (COW) mode in
InputMethodSettings so that we can later discard any changes made before
the device is unlocked.  As the initial step, we start using this COW
mode until the the ActivityManager becomes ready.  With this change we
can revert a previous commit [1] for Bug 6685037, where forward-locked
encrypted apks need to be taken care of an early boot phase.

  [1] Ifb311f85154beadd4787ec73669bedfdf1f5172d
      4c0e7152e7

Bug: 26279466
Change-Id: I9c6f9bb3d51174198e5f73588637f87ea0d90e11
2016-02-17 07:54:20 -08:00
Makoto Onuki
dafec11e69 Merge "Don't allow deactivating DAs when the user is not unlocked" into nyc-dev 2016-02-16 20:47:10 +00:00