Commit Graph

7421 Commits

Author SHA1 Message Date
TreeHugger Robot
d8502d0513 Merge "Zygote: Restore GL preload" 2017-02-10 00:36:45 +00:00
Andreas Gampe
a5b0ca3f89 Merge "Framework: Clean up RuntimeInit/ZygoteInit/WrapperInit" 2017-02-09 23:17:17 +00:00
Jesse Hall
ba0370eef3 Zygote: Restore GL preload
Preloading GLES drivers in Zygote was removed previously since it is
incompatible with updatable drivers. That caused some app startup
latency and system memory use regressions. This change re-adds GLES
driver preloading, but only on devices that don't support driver
updates.

Bug: 34611670
Bug: 35052548
Test: boot angler, systrace of Calculator app startup
Change-Id: Ibdc6b3c0ba4473574722641d4bfad4b375f908a3
2017-02-09 14:47:59 -08:00
Andreas Gampe
76d4fc8451 Framework: Clean up RuntimeInit/ZygoteInit/WrapperInit
Move methods where they belong.

(cherry picked from commit 4e66db8d0c)

Test: m
Test: Device boots
Change-Id: I805c6493078e960ff5b70d84dd93d2da6c7aa797
2017-02-09 13:16:34 -08:00
Paul Duffin
6cd440c574 Merge "Partial Revert "Replace com.android.internal.util.Predicate with java.util.function.Predicate"" am: 621ebe692f am: a2c92b0b88 am: c1a93884dc
am: 8faed45024

Change-Id: I9d047f2e7bd8dfb14bf7b1f8c82ce6721e105198
2017-02-09 20:02:25 +00:00
Paul Duffin
8faed45024 Merge "Partial Revert "Replace com.android.internal.util.Predicate with java.util.function.Predicate"" am: 621ebe692f am: a2c92b0b88
am: c1a93884dc

Change-Id: Icce543cd86f83bff8c2e80bf7ef492d22c9cf2dc
2017-02-09 19:37:26 +00:00
Paul Duffin
c1a93884dc Merge "Partial Revert "Replace com.android.internal.util.Predicate with java.util.function.Predicate"" am: 621ebe692f
am: a2c92b0b88

Change-Id: I605588603280ff0b4ebc1088c6c1f1c933c1e657
2017-02-09 19:32:58 +00:00
Yohei Yukawa
efdb428959 Merge "Eliminate out-of-sync IMM#mFullscreenMode error" 2017-02-09 16:55:04 +00:00
Paul Duffin
57e490cf8c Partial Revert "Replace com.android.internal.util.Predicate with java.util.function.Predicate"
This partially reverts commit 3e5fbca0c5.

Bug: 35187548
Bug: 30188076
Bug: 35089332
Test: make checkbuild
Change-Id: I7ab4279aab604e3d56003b0a59867948aebabd28
2017-02-09 14:52:43 +00:00
Peeyush Agarwal
651ea36f5a Merge "Extend MenuItem to allow modifier keys for shortcut" 2017-02-09 11:17:25 +00:00
TreeHugger Robot
6c0e600257 Merge "Fix ImeSubtypeListItem ordering" 2017-02-09 08:25:36 +00:00
Yohei Yukawa
a0e468ac33 Merge "Avoid sync IPCs from TSMS to SpellCheckerService" 2017-02-09 05:11:04 +00:00
Tadashi G. Takaoka
61dd99b674 Fix ImeSubtypeListItem ordering
The previous CL (I47f902cc8f) fixed ImeSubtypeListItem.compareTo() is
compliant to Comparable#compareTo(T) (Bug 34255739) and introduced the
following order of comparing ImeSubtypeListItem fields.

  1. ImeSubtypeListItem#mImeName
  2. ImeSubtypeListItem#mSubtypeName
  3. ImeSubtypeListItem#mIsSystemLocale
  4. ImeSubtypeListItem#mIsSystemLanguage

But it didn't keep the previous ordering (Bug 34821121).  This CL
fixes the order of comparing ImeSubtypeListItem fields as compatible
as ones before I47f902cc8f.

  1. ImeSubtypeListItem#mImeName
  2. ImeSubtypeListItem#mIsSystemLocale
  3. ImeSubtypeListItem#mIsSystemLanguage
  4. ImeSubtypeListItem#mSubtypeName

Bug: 34255739
Fixes: 34821121
Test: Install FramewroksCoreTests.apk and run
      InputMethodSubtypeSwitchingControllerTest and verify all tests passed.
Change-Id: I813403fd29c5c52a3ca375174ec4b95e4b5433f2
2017-02-09 12:30:03 +09:00
Yohei Yukawa
2bc66171cc Eliminate out-of-sync IMM#mFullscreenMode error
As explained in the commit message of my previous CL [1], we have
had a design issue in how to notify the full-screen mode change
from the IME to InputMethodManager running in the target application.

Histrically we have done this by using hooking the following IPC
from the IME to the target application.

  InputConnection#reportFullscreenMode()

However, since we also want InputConnection to be deactivated in some
situations such as the when the target application is no longer
focused. In other words, InputConnection is not a reliable way to
notify something.

As a result, we have suffered from many stale state issues.
Bug 21455064 and Bug 28157836 are such examples.  In Android N, we
introduced yet another hack to work around those issues, but it is
really time to fix the protocol design instead.

The new strategy is to rely on internal IPCs provided by
InputMethodManager to deliver such critical notifications from one
process to the other. This is actually more natural because our goal
is to make sure that InputMethodManager#isFullscreenMode() always
returns the latest value as long as the caller is the focused
application.

For backword compatibility, applications that are monitoring
this callback should continue working, as InputMethodManager emulates
the previous behavior.  However, as updated in JavaDoc, IMEs are no
longer allowed to invoke InputConnection#reportFullscreenMode(),
which should be OK because even on previous releases IMEs should rely on
InputMethodService#updateFullscreenMode() instead.

 [1]: Iba184245a01a3b340f006bc4e415d304de3c2696
      1544def0fa

Fixes: 28406127
Test: Make sure Bug 21455064 is still fixed.
       1. Input some words in extract mode.
       2. Select a word.
       3. Perform copy.
       4. Select a word.
       5. Rotate the device.
       6. Try to select a word.
       7. Make sure he word is selected and action mode starts.
Test: Make sure Bug 28157836 is still fixed.
       1. Rotate device to landscape mode.
       2. Tap on EditText and start full screen extracted mode.
       3. Rotate device to portrait mode.
       4. Long press to start action mode.
       5. Make sure Action mode gets started.
Test: `adb shell dumpsys input_method` to make sure that fullscreen
      state is synchronized across the app, IMMS, and the IME.
Change-Id: If23e7c7c265ab3dfb48c2fb6fdb361b17d22c594
2017-02-09 00:51:18 +00:00
TreeHugger Robot
4127c138e1 Merge "FloatingToolbar: Support for menu groups." 2017-02-08 20:19:52 +00:00
Paul Duffin
c02f6bb64b Merge "Replace com.android.internal.util.Predicate with java.util.function.Predicate" am: 78a20be77a am: 9e99b9ee45
am: 9250814fd2

Change-Id: Ifd924bdb62102657bf0c6d4b07ab919cf0f96c0c
2017-02-08 20:18:34 +00:00
Yohei Yukawa
7fa65eef20 Avoid sync IPCs from TSMS to SpellCheckerService
Currently, TextServicesManagerServices uses an AIDL interface called
ISpellCheckerService when binding to a spell-checking service.
However, this interface uses synchronous (blocking) binder calls
rather than asynchronous (oneway) calls.  As a result, there are
situations where the system process has made a blocking binder call
into untrusted application code from its main looper thread.

As general policy, the system process must never allow its looper
threads to block on application code.

This CL addresses the above issue by converting ISpellCheckerService
into oneway interface, which instead takes a result receiver
ISpellCheckerServiceCallback so that spell-checking services can
return results asynchronously.

Note that the above protocol issue was also the root cause of
Bug 5471520.  Hence we can also logically revert the previous CL [1]
for Bug 5471520.

 [1]: Iedf2c2cdd8d4834545d06d72ade3ce211b104b1d
      4e713f1441

Test: Ran `adb shell dumpsys textservices` to check the
      "Spell Checker Bind Groups:" section in the following three
      steps.
      1. Before apps start requesting spell checker sessions.
      2. While apps are owning active spell checker sessions.
      3. After all the apps that owned spell checker sessions are
         gone.
      Made sure that spell checker service is not running when
      there is not spell checker bind group.
Bug: 7254002
Change-Id: I92e7aa40dc9ea14f67d355f0bfa15325b775d27b
2017-02-08 11:54:05 -08:00
Paul Duffin
9250814fd2 Merge "Replace com.android.internal.util.Predicate with java.util.function.Predicate" am: 78a20be77a
am: 9e99b9ee45

Change-Id: I289950cff0cdc6b5ad301936c7b55eadee5fd0f8
2017-02-08 18:30:17 +00:00
Paul Duffin
78a20be77a Merge "Replace com.android.internal.util.Predicate with java.util.function.Predicate" 2017-02-08 18:06:08 +00:00
Abodunrinwa Toki
5fedfb8d46 FloatingToolbar: Support for menu groups.
1. Menu groups are now separated by dividers
2. Update to menu item spacing as specified in new UX mocks
3. TextView-Editor now passes the "assist" menu as a group
4. "Share" menu reordered after "Cut/Copy/Paste" as per UX mocks update.

Test: Manual tests.
Bug: 34777048
Bug: 34777833
Change-Id: I3d435d8a38e5b146a54706f12dbf3ff629c504bf
2017-02-08 16:55:26 +00:00
Rubin Xu
b94a914c9e Merge "Small tweaks in LockSettingsService" 2017-02-08 16:04:27 +00:00
Paul Duffin
ca4964ccbe Replace com.android.internal.util.Predicate with java.util.function.Predicate
Bug: 35089332
Bug: 30188076
Test: make checkbuild
Change-Id: I0a5b4bf520fc39b59d8d790b01e9cff0d54e6d21
2017-02-08 11:55:39 +00:00
Paul Duffin
80f42edfc7 Merge "Fix problem with JavaDoc" am: 8f33fcdc4b am: 4929aafc1d am: 290274df0d
am: d0a937e84b

Change-Id: Ic0e67021a5423b48bcf7d6ec8b903321d855e3aa
2017-02-08 11:43:36 +00:00
Paul Duffin
d0a937e84b Merge "Fix problem with JavaDoc" am: 8f33fcdc4b am: 4929aafc1d
am: 290274df0d

Change-Id: I4e9ef88d6aa6c69a35b6b995ebf0b90214aef79d
2017-02-08 11:39:15 +00:00
Paul Duffin
290274df0d Merge "Fix problem with JavaDoc" am: 8f33fcdc4b
am: 4929aafc1d

Change-Id: I08c9f20c34a2952105854d107b442884dba220b1
2017-02-08 11:35:19 +00:00
Paul Duffin
b5c09b5487 Fix problem with JavaDoc
Test: make checkbuild
Change-Id: Ia321e0a57ff63aa62adee16d611c063a22807176
2017-02-08 09:16:18 +00:00
Yohei Yukawa
3bcef52d7c Merge "Propagate StartInputReason to attachNewInputLocked" 2017-02-08 07:29:30 +00:00
Ian Pedowitz
4561f90194 Merge "Logging and partial fix for BatteryStats lock contention" 2017-02-08 02:02:17 +00:00
Hakan Seyalioglu
afa21fac6a Merge "Use default icons while disambig sheet is loading" 2017-02-08 00:44:45 +00:00
Amith Yamasani
d2450862f4 Logging and partial fix for BatteryStats lock contention
Don't try to grab the write lock while holding BatteryStats lock.

Add some debugging to see if cpu stats gathering is causing a
delay in some cases.

Bug: 34961340
Test: Manual
Change-Id: I8c7d1abb239abd81a07171cd65be1fbfdbca5fdb
2017-02-07 16:00:32 -08:00
Winson Chung
cd161864a3 Merge changes I3ef361bd,I89a5184c
* changes:
  Refactor PiP logic in preparation for expanded state.
  Modifying RemoteAction callback to PendingIntent.
2017-02-07 21:18:15 +00:00
Hakan Seyalioglu
23f3465f62 Use default icons while disambig sheet is loading
bug: 34254941
Test: manual testing and check coretests pass
Change-Id: I8cae7ee98628ef3d69fddd6374bcbf91d8a1873c
2017-02-07 11:49:37 -08:00
Makoto Onuki
f34f9736a9 Merge "Fix PSS/USS Average in procstats" 2017-02-07 17:11:45 +00:00
Peeyush Agarwal
e631e32a1a Extend MenuItem to allow modifier keys for shortcut
Before this, CTRL was the default modifier for MenuItem shortcuts.
Now, It's possible to specify the modifier in XML or via MenuItem
methods.
The modifier list includes META, CTRL, ALT, SHIFT, SYM and FUNCTION.

WIP on support library implementation

Bug: 32165848
Test: Run the tests using following commands:
> cts-tradefed run cts-dev -m CtsViewTestCases -t
>   android.view.cts.MenuTest#testPerformShortcut
> cts-tradefed run cts-dev -m CtsViewTestCases -t
>   android.view.cts.MenuInflaterTest#testInflateShortcutModifiersFromXml

Change-Id: I7db4607d4657451934761914efe4c250de109653
2017-02-07 17:01:26 +00:00
Paul Duffin
3e5fbca0c5 Replace com.android.internal.util.Predicate with java.util.function.Predicate
Bug: 35089332
Bug: 30188076
Test: make checkbuild
Merged-In: I0a5b4bf520fc39b59d8d790b01e9cff0d54e6d21
Change-Id: I58e4e35e7b7315033d893748f7c79e1ba6732f39
2017-02-07 16:57:54 +00:00
Winson Chung
2a82fe587b Refactor PiP logic in preparation for expanded state.
- #1: Move logic for handling IME size changes into SysUI, and only rely
      on PinnedStackController to provide bounds when first entering
      PiP and on rotation
- #2: Doing #1 allows us to move PipMotionHelper to SysUI completely, which
      lets us aggregate the animation calls out of PipTouchHandler
- #3: Add proper callbacks to the listeners when the movement bounds
      changed from config change, ime change, or aspect ratio change. This
      allows SysUI to calculate the associated movement bounds for the
      expanded state, and we can then remove the corresponding WM call.
      It also means that SysUI is the only thing that needs to know about
      the expanded state.
- #4: Fix issue where TV was getting the default bounds, not taking the
      aspect ratio when the PiP was entered into account.  Doing #3
      allows us to report the right bounds.
- #5: Remove dead code related to edge snapping/minimizing now that they
      are on by default and associated tuner setting, and controller
      callbacks

Test: android.server.cts.ActivityManagerPinnedStackTests (all existing tests pass)

Change-Id: I3ef361bdf8d44094b4c0a11c70ba4db7d697fdec
Signed-off-by: Winson Chung <winsonc@google.com>
2017-02-07 08:26:36 -08:00
Yohei Yukawa
87ca8406d4 Propagate StartInputReason to attachNewInputLocked
As a preaparation to work on Bug 35079353, this CL makes it clear that
IMS#startInput()/IMS#restartInput() can be also be triggered by
IMMS#onSessionCreated().

By doing this, we can now assume that each
IMS#startInput()/IMS#restartInput() event has always one corresponding
StartInputReason. In a subsequent CL, we will pass this to the IME
process (and to the app process) for further traceability.

Test: no behavior change.
Bug: 35079353
Change-Id: I604e35b023d27b77126cd70fe068dc6b5edc2611
2017-02-07 00:13:14 -08:00
Makoto Onuki
34a6e84456 Fix PSS/USS Average in procstats
It was broken in I4bf6ac8d, meaning it was broken for the whole NYC.

Test: cts-tradefed run cts --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -l DEBUG -m CtsDumpsysHostTestCases -t android.dumpsys.cts.ProcessStatsDumpsysTest
Bug 34228624

Change-Id: I0f6c984e6902e688f00442cbc8b999b397a25aaf
2017-02-06 17:32:29 -08:00
Ying Wai (Daniel) Fan
df6a737108 Prevent division-by-zero error when calculating battery capacity. am: 415f8b32e8
am: 63f3dbae3c

Change-Id: I1c97aa2e4c0bbc84c547e4ce3ff98b77c5bba3f4
2017-02-06 23:02:08 +00:00
Ying Wai (Daniel) Fan
63f3dbae3c Prevent division-by-zero error when calculating battery capacity.
am: 415f8b32e8

Change-Id: I1337db6391a9511df52560e8edb8a09260e27c5f
2017-02-06 22:57:23 +00:00
Eugene Susla
444eb97c0c Merge "CompanionDeviceManager" 2017-02-06 22:19:54 +00:00
TreeHugger Robot
fbffd434df Merge "Adding text input mode to TimePicker." 2017-02-06 21:35:26 +00:00
TreeHugger Robot
cd1d343ffd Merge "StatusBar: Clean up buzzBeepBlinked and friends" 2017-02-06 21:17:03 +00:00
Eugene Susla
6ed45d8cd3 CompanionDeviceManager
This introduces an API for apps that support companion devices to provide a
more streamlined flow for pairing and setting up the device

Bug: 30932767
Test: Using a toy app, invoke the newly introduced API (CompanionDeviceManager),
 and go through the flow. Ensure filtering works, and device is returned to
 the calling app. Ensure the calling app can pair to the selected device.
Change-Id: I0aeb653afd65e4adead13ea9c7248ec20971b04a
2017-02-06 12:50:55 -08:00
Aurimas Liutikas
ab14d825c3 Adding text input mode to TimePicker.
Test: Tests will have a follow up CL.
Bug:30044800

Change-Id: I71a0fba97026da76251768016edf1b159617abb9
2017-02-06 11:29:38 -08:00
Ying Wai (Daniel) Fan
415f8b32e8 Prevent division-by-zero error when calculating battery capacity.
Bug: 34255953
Change-Id: Ie072cd5dc26faf17e8ab46ea0795750396f087c2
Fixes: 34255953
Test: formula change CL. No existing unit tests found.
2017-02-06 18:20:40 +00:00
Alan Viverette
177f37367e Revert "Implicitly cast views obtained via View.findView methods"
This reverts commit 06c2fffdaa.

Reason for revert: Java 8 doesn't support this magic.

Change-Id: Iaa41f4e4d0072b9a97cff9cd3788403d4ab79d13
2017-02-03 17:08:47 -05:00
Selim Cinek
4f3463290b Merge "Increased the collapsed size of messaging notifications" 2017-02-02 23:59:08 +00:00
Paul Lawrence
46e48b9aa4 resolve merge conflicts of fde0a41065 to master
Test: Make sure builds, boots
Change-Id: Idf86dc5d888c09e8a65ada51fc2f32aae6d5570d
2017-02-02 13:28:45 -08:00
Hakan Seyalioglu
531def93f0 DO NOT MERGE - Check exported status in chooser
am: e3286c3145

Change-Id: I55a6e9ed942a4542dcdf497e297654b666d88fb0
2017-02-02 20:16:23 +00:00