Commit Graph

10163 Commits

Author SHA1 Message Date
TreeHugger Robot
1728c04cae Merge "Instantiate InputMethodManager for each display (2nd try)" 2018-10-16 08:02:49 +00:00
TreeHugger Robot
02f2a315d7 Merge "Add Context.getDisplayId() to avoid possible IPC" 2018-10-16 00:20:52 +00:00
TreeHugger Robot
bc9ebba7e5 Merge "Suspending app can customize intercepting dialog" 2018-10-15 21:51:52 +00:00
Yohei Yukawa
4052a10f29 Instantiate InputMethodManager for each display (2nd try)
InputMethodManager has been a per-process singleton object. In order
to support behavior changes for multi-display support in Android Q,
however, InputMethodManager now needs to be per-display objects.

With this CL, context.getSystemService(InputMethodManager.class) will
start returning per-display InputMethodManager (IMM) instance.

  Why?

There are two major reasons.
 1. To support per-display focused window.
 2. To support more simplified API for multi-session IME.

Currently per-process InputMethodManager instance directly receives
callback from ViewRootImpl upon windowFocusChanged, then it keeps
track of which Window is focused by storing its root view into
InputMethodManager#mCurRootView.

This design assumes that (within the same process) at most one Window
can have window focus, which is no longer true once we start
supporting per-display focused window (Bug 111361570).

  Why we need to do this to support per-display focused window:

For traditional non multi-session IME cases (e.g. apps that use
Virtual Display APIs on phones), internal state of IMM can be easily
messed up once the system starts sending per-display
windowFocusChanged events to the same process, because IMM still
doesn't know that now each display has focused window. It is hard to
precisely predict what kind of issues we would see simply because such
a use case is most likely not expected in the original design.

  Why we need to do this for multi-session IME:

For multi-session IME scenarios, in addition to the above concern in
InputMethodManager, the current design allows at most one IME session
per process. This means that if a process X is showing Activities to 3
different displays, only one Activity can interact with the
multi-session IME at the same time. If we do not change the current
design, the only way to work around is to ask app developers to
explicitly use different processes for each Activity, which may
require a lot of work (e.g. SharedPreference is not optimized for
multi-process use cases). This would also make multi-session IME
development complicated because the IME cannot know on which display
the IME is interacting until startInputOrWindowGainedFocus() is
actually called, and needs to do all the preparation and cleanup tasks
whenever startInputOrWindowGainedFocus() is called for a different
display than it's currently interacting with.

  Alternative solutions considered:

Another possible approach is to update InputMethodManager singleton to
be able to maintain multiple mCurRootView and mServedView for each
display. This approach was abandoned because those fields and methods
are already marked as @UnsupportedAppUsage.  I concluded that touching
@UnsupportedAppUsage things would have bigger compatibility risks than
per-display instance model.

  Implementation note:

* Public APIs in IMM that take View instance as the first parameter
  will verify whether the given View and IMM are associated with the
  same display ID or not.  If there is a display ID mismatch, such an
  API call will be automatically forwarded to the correct IMM instance
  IMM with a clear warning in logcat which tells that app developers
  should use the correct IMM instance to avoid unnecessary performance
  overhead.

* As a general rule, system server process cannot trust display ID
  reported from applications.  In order to enable IMMS to verify the
  reported display ID, this CL also exposes display ID verification
  logic from WMS to other system components via WindowManagerInternal.

* isInputMethodClientFocus() in WindowManagerService (WMS) is updated
  to use top-focused-display to determine whether a given IME client
  has IME focus or not.  This is now necessary because with a recent
  change [1] each display can have focused window.  The previous logic
  to check all the displays that belong to the given pid/uid [2] no
  longer makes sense.

* Currently per-display InputMethodManager instances will not be
  garbage collected because InputMethodManager#sInstanceMap keeps
  holding strong references to them.  Freeing those instances is
  technically possible, but we need to be careful because multiple
  processes (app, system, IME) are involved and at least system
  process has a strict verification logic that lets the calling
  process crash with SecurityException.  We need to carefully
  implement such a cleanup logic to avoid random process crash due to
  race condition.  Bug 116699479 will take care of this task.

Also to make sure that the performance regression (Bug 117434607) we
observed after my initial attempt [3] no longer exists, here are the
benchmark results with and without this CL.

  testExpandNotificationsLatency on taimen-userdebug
    without this CL:
      results=[55, 46, 61, 67, 50, 48, 57, 50, 55, 63]
      min:46.0, max:67.0, avg:55.2, median:55.0, std_dev:6.539
    with this CL:
      results=[45, 55, 58, 57, 47, 60, 59, 60, 56, 53]
      min:45.0, max:60.0, avg:55.0, median:56.5, std_dev:4.980

 [1]: I776cabaeaf41ff4240f504fb1430d3e40892023d
      1e5b10a217
 [2]: I8da315936caebdc8b2c16cff4e24192c06743251
      90120a8b5b
 [3]: I7242e765426353672823fcc8277f20ac361930d7
      c53d78e992

Bug: 111364446
Fix: 115893206
Test: atest ActivityManagerMultiDisplayTests
Test: atest CtsInputMethodTestCases CtsInputMethodServiceHostTestCases
Test: atest FrameworksCoreTests:android.view.inputmethod.InputMethodManagerTest
Test: No perf regression in LatencyTests#testExpandNotificationsLatency()
Change-Id: I78ad7cccb9586474c83f7e2f90c0bcabb221c47b
2018-10-15 15:35:55 +08:00
Yohei Yukawa
5281b6b4c0 Add Context.getDisplayId() to avoid possible IPC
ContextImpl has an internal rule that when ContextImpl#mDisplay is
null the Context is associated with the default display.  The problem
is that, as discussed in Bug 117709581, when ContextImpl#mDisplay is
null ContextImpl#getDisplay() tries to get some non-null Display
object by making an IPC to the system server, which is redundant when
the display ID is the only thing that the caller wants to know.

By having an @hide method Context.getDisplayId(), we can ensure that
display ID can be obtained without any IPC.  This enables us to
re-submit my CL [1] that aimed to instantiate InputMethodManager (IMM)
for each display but then got reverted due to a performance regression
(Bug 117434607).

There should be no developer-observable behavior change.

 [1]: I7242e765426353672823fcc8277f20ac361930d7
      c53d78e992

Fix: 117712745
Test: atest FrameworksCoreTests:android.content.ContextTest
Test: prebuilts/checkstyle/checkstyle.py -f \
      frameworks/base/core/tests/coretests/src/android/content/ContextTest.java
Change-Id: I2534530a5ce90e2620c5039d793a6454a0a1e154
2018-10-15 07:38:25 +08:00
Tobias Thierer
0d0dd506ac Merge "Remove unused imports of libcore.io.Libcore." am: 2a520365da am: abe7a32c67
am: 320e38309b

Change-Id: I2f8069235c4e8c298b0e092928a23d15cbe30520
2018-10-12 19:24:25 -07:00
Tobias Thierer
320e38309b Merge "Remove unused imports of libcore.io.Libcore." am: 2a520365da
am: abe7a32c67

Change-Id: I57d7d317f5827a54346e287db3f6f2d625e0aebc
2018-10-12 19:13:38 -07:00
Tobias Thierer
abe7a32c67 Merge "Remove unused imports of libcore.io.Libcore."
am: 2a520365da

Change-Id: I79c4679d483e0e8ea2e434237bd61d75f129da0f
2018-10-12 18:59:21 -07:00
Treehugger Robot
2a520365da Merge "Remove unused imports of libcore.io.Libcore." 2018-10-13 00:47:45 +00:00
Suprabh Shukla
389cb6f54a Suspending app can customize intercepting dialog
The suspending app has more context about why a particular app was
suspended by the user, but we do not want to delegate the interception
of the suspended activity out of the system.
Hence allowing it further customizations to the dialog to make
it clearer.

Test: atest com.android.server.pm.SuspendDialogInfoTest \
com.android.server.pm.SuspendPackagesTest \
com.android.server.pm.PackageUserStateTest \
com.android.server.pm.PackageManagerSettingsTests \
com.android.server.am.ActivityStartInterceptorTest

atest GtsSuspendAppsPermissionTestCases GtsSuspendAppsTestCases

Bug: 112486945
Bug: 113150060
Change-Id: If9f4d14587a2b75bb572e7984a90e300a2c72d16
2018-10-12 16:02:53 -07:00
Marcin Oczeretko
4427272533 LooperStats - track time to message dispatch
Test: UT and manual
atest .../LooperStatsTest.java
Verified that adb shell cmd looper_stats dump produces data
with dispatch delay

Bug: 113651685

Change-Id: I44550f8c5d71848932733bd02016aa65ce7b75b3
2018-10-12 13:17:01 +01:00
TreeHugger Robot
3d7133ed71 Merge "Allow all system configs in /product" 2018-10-12 10:55:26 +00:00
David Brazdil
158703a0c5 Merge changes Icd51c4c7,I836ecb94 am: 3590eb09ef am: b03f3c8ba2
am: 12e585e745

Change-Id: I33a47fa7425807ab0edebcd9f4a83443cbbf0ac5
2018-10-11 09:44:21 -07:00
David Brazdil
12e585e745 Merge changes Icd51c4c7,I836ecb94 am: 3590eb09ef
am: b03f3c8ba2

Change-Id: I8cbd96fc305e8356addbe4211275296c3ce0be43
2018-10-11 09:24:53 -07:00
David Brazdil
b03f3c8ba2 Merge changes Icd51c4c7,I836ecb94
am: 3590eb09ef

Change-Id: I70530ca7b04026b4ec436cf235a2b35c63689189
2018-10-11 09:14:20 -07:00
David Brazdil
3590eb09ef Merge changes Icd51c4c7,I836ecb94
* changes:
  Add entries to hidden api greylist
  Add method to hidden api greylist
2018-10-11 15:35:58 +00:00
TreeHugger Robot
018f47a2b0 Merge "Revert "Instantiate InputMethodManager for each display"" 2018-10-11 15:23:34 +00:00
Yohei Yukawa
1df32c5e5c Revert "Instantiate InputMethodManager for each display"
This reverts commit c53d78e992.

Reason for revert:
Caused performance regression in
LatencyTests#testExpandNotificationsLatency.

Fix: 117434607
Bug: 111364446
Bug: 115893206
Test: atest google/perf/app-transition/sysui-latency-test-trace
Change-Id: If0d7a1b8f6d126d5a7c384ec4c2ff44260b8c35f
2018-10-11 11:52:02 +00:00
David Brazdil
a8d554380d Add entries to hidden api greylist
Bug: 115387204
Test: m appcompat
Change-Id: Icd51c4c7d446ea72211804fbb050f4fee742db17
2018-10-11 12:50:40 +01:00
Yangster
1db2e8e4b4 Merge "Phone service state change atom." am: 419fc89b52 am: 16e3399902
am: 8f842fae06

Change-Id: Ibc518a29d8a31b3001aa6569ee370c45ce302f7c
2018-10-10 22:06:25 -07:00
Yangster
8f842fae06 Merge "Phone service state change atom." am: 419fc89b52
am: 16e3399902

Change-Id: Ifbff53d3b113c527975b5509289600f734dcca7b
2018-10-10 15:53:35 -07:00
Yangster
16e3399902 Merge "Phone service state change atom."
am: 419fc89b52

Change-Id: Iae02f9eee2616affb810c54f1af62693d29b5822
2018-10-10 15:24:17 -07:00
Lucas Dupin
3d95175dd5 Hook up wake-lock-screen with plugin structure
Wake-lock-screen gesture now receives signals from
the pluggable sensor pipeline.

Bug: 111414690
Test: manual
Change-Id: I9433d7310fcb9dd9b08a4fedf7d2a8e8779fe386
2018-10-10 13:08:28 -07:00
Yangster
4ccebeadc7 Phone service state change atom.
Background: BatteryStatsService tracks the phone scanning time metric. In Q,
we are migrating the dumpsys-based collection to the new infra. This CL is to
instrument the new logging mechanism.

Test: statsd test
FIX: b/116748990

Change-Id: I3cf5e0026bfc6f594c5f7b524f14b3a43b702afb
2018-10-10 19:45:10 +00:00
Tobias Thierer
30ff7a093e Remove unused imports of libcore.io.Libcore.
Test: Treehugger
Bug: 115503977
Bug: 117548625
Change-Id: I122fa68ddc2bd531f627dcac00834b47249bd56e
2018-10-10 15:49:51 +00:00
TreeHugger Robot
bcca0c0770 Merge "Using application context in static instance of LatencyTracker to avoid context leak" 2018-10-10 00:01:24 +00:00
Sunny Goyal
86914c2a04 Using application context in static instance of LatencyTracker
to avoid context leak

Test: Verified on device
Bug: 117515648
Change-Id: If5ad93f9ab41c9bea32030fb46fc605f3a193cfd
2018-10-09 15:26:34 -07:00
Howard Ro
bb67362281 Merge "MetricsLogger writes to both event log and statsd" 2018-10-09 03:18:09 +00:00
Dimitry Ivanov
a60c94aab9 Merge "Respect extractNativeLibs in natively bridged environments" am: 61b9b6c9eb am: a00f278956
am: 7c154d103c

Change-Id: Ibe46c36aa545703781fbc5f56eb5e57f46ece543
2018-10-08 08:33:04 -07:00
Dimitry Ivanov
7c154d103c Merge "Respect extractNativeLibs in natively bridged environments" am: 61b9b6c9eb
am: a00f278956

Change-Id: Ia790b6fed75624cec36577cfc68d12e5a029d500
2018-10-08 08:19:24 -07:00
Dimitry Ivanov
a00f278956 Merge "Respect extractNativeLibs in natively bridged environments"
am: 61b9b6c9eb

Change-Id: I6072e16c1cdf9543d38ec8763931abf095bd2313
2018-10-08 08:05:41 -07:00
Dimitry Ivanov
61b9b6c9eb Merge "Respect extractNativeLibs in natively bridged environments" 2018-10-08 14:50:08 +00:00
TreeHugger Robot
ce10f9b15f Merge "Instantiate InputMethodManager for each display" 2018-10-06 17:19:58 +00:00
Yohei Yukawa
c53d78e992 Instantiate InputMethodManager for each display
InputMethodManager has been a per-process singleton object. In order
to support behavior changes for multi-display support in Android Q,
however, InputMethodManager now needs to be per-display objects.

With this CL, context.getSystemService(InputMethodManager.class) will
start returning per-display InputMethodManager (IMM) instance.

  Why?

There are two major reasons.
 1. To support per-display focused window.
 2. To support more simplified API for multi-session IME.

Currently per-process InputMethodManager instance directly receives
callback from ViewRootImpl upon windowFocusChanged, then it keeps
track of which Window is focused by storing its root view into
InputMethodManager#mCurRootView.

This design assumes that (within the same process) at most one Window
can have window focus, which is no longer true once we start
supporting per-display focused window (Bug 111361570).

  Why we need to do this to support per-display focused window:

For traditional non multi-session IME cases (e.g. apps that use
Virtual Display APIs on phones), internal state of IMM can be easily
messed up once the system starts sending per-display
windowFocusChanged events to the same process, because IMM still
doesn't know that now each display has focused window. It is hard to
precisely predict what kind of issues we would see simply because such
a use case is most likely not expected in the original design.

  Why we need to do this for multi-session IME:

For multi-session IME scenarios, in addition to the above concern in
InputMethodManager, the current design allows at most one IME session
per process. This means that if a process X is showing Activities to 3
different displays, only one Activity can interact with the
multi-session IME at the same time. If we do not change the current
design, the only way to work around is to ask app developers to
explicitly use different processes for each Activity, which may
require a lot of work (e.g. SharedPreference is not optimized for
multi-process use cases). This would also make multi-session IME
development complicated because the IME cannot know on which display
the IME is interacting until startInputOrWindowGainedFocus() is
actually called, and needs to do all the preparation and cleanup tasks
whenever startInputOrWindowGainedFocus() is called for a different
display than it's currently interacting with.

  Alternative solutions considered:

Another possible approach is to update InputMethodManager singleton to
be able to maintain multiple mCurRootView and mServedView for each
display. This approach was abandoned because those fields and methods
are already marked as @UnsupportedAppUsage.  I concluded that touching
@UnsupportedAppUsage things would have bigger compatibility risks than
per-display instance model.

  Implementation note:

* Public APIs in IMM that take View instance as the first parameter
  will verify whether the given View and IMM are associated with the
  same display ID or not.  If there is a display ID mismatch, such an
  API call will be automatically forwarded to the correct IMM instance
  IMM with a clear warning in logcat which tells that app developers
  should use the correct IMM instance to avoid unnecessary performance
  overhead.

* As a general rule, system server process cannot trust display ID
  reported from applications.  In order to enable IMMS to verify the
  reported display ID, this CL also exposes display ID verification
  logic from WMS to other system components via WindowManagerInternal.

* isInputMethodClientFocus() in WindowManagerService (WMS) is updated
  to use top-focused-display to determine whether a given IME client
  has IME focus or not.  This is now necessary because with a recent
  change [1] each display can have focused window.  The previous logic
  to check all the displays that belong to the given pid/uid [2] no
  longer makes sense.

* Currently per-display InputMethodManager instances will not be
  garbage collected because InputMethodManager#sInstanceMap keeps
  holding strong references to them.  Freeing those instances is
  technically possible, but we need to be careful because multiple
  processes (app, system, IME) are involved and at least system
  process has a strict verification logic that lets the calling
  process crash with SecurityException.  We need to carefully
  implement such a cleanup logic to avoid random process crash due to
  race condition.  Bug 116699479 will take care of this task.

 [1]: I776cabaeaf41ff4240f504fb1430d3e40892023d
      1e5b10a217
 [2]: I8da315936caebdc8b2c16cff4e24192c06743251
      90120a8b5b

Bug: 111364446
Fix: 115893206
Test: atest ActivityManagerMultiDisplayTests
Test: atest CtsInputMethodTestCases CtsInputMethodServiceHostTestCases
Test: atest FrameworksCoreTests:android.view.inputmethod.InputMethodManagerTest
Change-Id: I7242e765426353672823fcc8277f20ac361930d7
2018-10-05 15:54:41 -07:00
Hyunyoung Song
16b7af4062 IconFactory should be initialized before mAdapter is created inside ResolverActivity
Bug: 113032889
Test: builds
Change-Id: I9906ee7ec8be64f0a82634796a7e2f3bcbd01800
2018-10-05 14:02:21 -07:00
dimitry
6e44c30f05 Respect extractNativeLibs in natively bridged environments
The extractNativeLibs property was ignored by the package installer
for environments with native bridge. This is not neccessary since
native bridge implementations are required to support
open-directly-from-apk feature and in this respect are not different
from environments without native bridge.

Bug: http://b/116854266
Test: cts-tradefed run singleCommand cts --skip-preconditions -m CtsJniTestCases
Change-Id: I9ea7397183d7ebe2c00e461b95d188b15b51eca2
2018-10-04 16:43:36 +02:00
Chenjie Yu
e388e27e19 Merge "pull PowerProfile into statsd" 2018-10-03 23:28:10 +00:00
Howard Ro
ef89d730c4 MetricsLogger writes to both event log and statsd
For the intermediate period, MetricsLogger logs to both event buffer in
logd as well as stastd socket.

Bug: 110537511
Test: statsd, statsd_test
Change-Id: Ie349b1d202e07c585ab5b085141865f20d1f57cd
2018-10-03 12:49:10 -07:00
Chenjie Yu
ab53020345 pull PowerProfile into statsd
pull constants from PowerProfile into statsd for power model
calculations. The data is mostly from power_profile.xml

power_profile {
  power_profile_proto {
    cpu_suspend: 5.734
    cpu_idle: 1.389
    cpu_active: 18.76
    wifi_controller_idle: 2.0
    wifi_controller_rx: 107.0
    wifi_controller_tx: 371.0
    wifi_controller_operating_voltage: 3700.0
    bluetooth_controller_idle: 0.01
    bluetooth_controller_rx: 8.0
    bluetooth_controller_tx: 7.0
    bluetooth_controller_operating_voltage: 3300.0
    modem_controller_idle: 105.0
    modem_controller_rx: 175.0
    modem_controller_tx: 176.0
    modem_controller_tx: 216.0
    modem_controller_tx: 300.0
    modem_controller_tx: 427.0
    modem_controller_tx: 604.0
    modem_controller_operating_voltage: 3700.0
    gps_signal_quality_based: 49.0
    gps_signal_quality_based: 11.0
    gps_operating_voltage: 3700.0
    screen_on: 178.708
    screen_full: 240.79
    audio: 75.6
    video: 50.93
    flashlight: 298.498
    camera: 1152.292
    battery_capacity: 3450.0
    cpu_cluster {
      cores: 2
      speed: 307200
      speed: 384000
      speed: 460800
      speed: 537600
      speed: 614400
      speed: 691200
      speed: 768000
      speed: 844800
      speed: 902600
      speed: 979200
      speed: 1056000
      speed: 1132800
      speed: 1209600
      speed: 1286400
      speed: 1363200
      speed: 1440000
      speed: 1516800
      speed: 1593600
      core_power: 11.272
      core_power: 14.842
      core_power: 18.497
      core_power: 22.518
      core_power: 25.967
      core_power: 31.694
      core_power: 37.673
      core_power: 42.859
      core_power: 46.872
      core_power: 57.92
      core_power: 67.561
      core_power: 76.303
      core_power: 87.613
      core_power: 97.045
      core_power: 109.544
      core_power: 122.054
      core_power: 136.345
      core_power: 154.435
    }
    cpu_cluster {
      id: 1
      cores: 2
      speed: 307200
      speed: 384000
      speed: 460800
      speed: 537600
      speed: 614400
      speed: 691200
      speed: 748800
      speed: 825600
      speed: 902400
      speed: 979200
      speed: 1056000
      speed: 1132800
      speed: 1209600
      speed: 1286400
      speed: 1363200
      speed: 1440000
      speed: 1516800
      speed: 1593600
      speed: 1670400
      speed: 1747200
      speed: 1824000
      speed: 1900800
      speed: 1977600
      speed: 2054400
      speed: 2150400
      core_power: 7.055
      core_power: 11.483
      core_power: 14.979
      core_power: 19.642
      core_power: 23.167
      core_power: 27.479
      core_power: 31.632
      core_power: 39.192
      core_power: 47.817
      core_power: 55.659
      core_power: 64.908
      core_power: 73.824
      core_power: 85.299
      core_power: 96.036
      core_power: 109.233
      core_power: 118.56
      core_power: 132.959
      core_power: 143.692
      core_power: 161.378
      core_power: 180.616
      core_power: 193.897
      core_power: 214.361
      core_power: 238.338
      core_power: 265.759
      core_power: 297.918
    }
  }
}

Bug: 113353350
Test: manual test on statsd
Change-Id: I1edd4db255c0440ddbff1d40e1515caaccbc73f8
2018-10-03 10:39:49 -07:00
Nandana Dutt
23626416d0 Merge "Bugreport: Fix SystemUI service from being dumped twice 1/2" am: 99c685b0e8
am: ab618e00b2

Change-Id: I066978bd0150c885f60ced73bdb118038b5c15cf
2018-10-03 09:11:53 -07:00
Nandana Dutt
ab618e00b2 Merge "Bugreport: Fix SystemUI service from being dumped twice 1/2"
am: 99c685b0e8

Change-Id: I5d93f3a8bfc1385e629e06848f672b14a2885e6f
2018-10-03 08:54:46 -07:00
Marcin Oczeretko
5a082f6da1 Make BinderCallsStats ignore invalid sampling interval
System Server crashes with ArithmeticException if sampling
interval is set to 0.

Test: Manual
Change-Id: Ia8f5437f5c1cdc68bed607147049abd70ed7af33
2018-10-02 16:17:43 +01:00
Vishnu Nair
5ed09e844b Bugreport: Fix SystemUI service from being dumped twice 1/2
Bug: 110490179
Fix: 110490179

Test: Manual test dumpsys activity
  adb shell dumpsys activity service all-platform-non-critical
  adb shell dumpsys activity service all-platform
  adb shell dumpsys activity service
  Take bugreport and check contents

Test: atest FrameworksCoreTests:DumpUtilsTest

Change-Id: I9173d3fa0cc3aaf42e3ab03e7e2892cf4188b13b
Merged-In: I9173d3fa0cc3aaf42e3ab03e7e2892cf4188b13b
(cherry picked from commit c69cd4480e)
2018-10-02 10:10:41 +01:00
Hung-ying Tyan
38cd31ce4d Allow all system configs in /product
Bug: 115848786
Bug: 110072687
Bug: 80053945
Test: boot Pixel 2 with GSI as system
Change-Id: Ie5baf7d857d765b7cb3def722be4d30e30c2d6a2
2018-10-02 09:09:09 +00:00
Tej Singh
e7726dc4af Add DiskIo to Statsd
Adds diskio information to statsd. The puller queries the
proc/uid_io/stats file to get cumulative counts since boot.

Bug: b/116331466

Test: unit test
Test: manually verified that the puller and "cat /proc/uid_io/stats"
returned almost identical output when executed at the same time

Change-Id: Iac446f8dd879ab6bf859eed6e779cc16fdee6c5b
2018-10-01 23:36:04 -07:00
Lucas Dupin
493cb6d5cb Merge "Renaming gesture" 2018-09-28 22:00:56 +00:00
Sudheer Shanka
3bc4ab482b Merge "Bind mount pkg specific dirs in the zygote child namespaces." 2018-09-28 20:34:02 +00:00
Lucas Dupin
13b0cb9890 Renaming gesture
Bug: 111414690
Test: make
Change-Id: I9d2a6507a942c56fe5b626d8dce46321ff70014b
2018-09-28 09:27:46 -07:00
Michael Dooley
7e833acdaf Merge "Revert "Revert "Revert "Adding getModelState API to sound trigger"""" 2018-09-28 07:38:34 +00:00
Michael Dooley
be93d52505 Revert "Revert "Revert "Adding getModelState API to sound trigger"""
This reverts commit 7999836ee3.

Reason for revert: broke build

Change-Id: Id02636908aed26ee0ed38042da1ace0125a6d417
2018-09-28 07:30:28 +00:00