Commit Graph

6591 Commits

Author SHA1 Message Date
Dan Zhang
ea493e4c77 Merge "Fix the reference leak on RemoteCallbackList"
am: be30d27a8a

Change-Id: Ibf79be3f125ab58c8048c15f3f6f3a3e693295e7
2019-07-31 22:19:30 -07:00
Dan Zhang
be30d27a8a Merge "Fix the reference leak on RemoteCallbackList" 2019-08-01 05:03:03 +00:00
Josh Gao
cdca6b559c Merge changes I9350ec13,I809d9191,I235f727d,I1930f3ba
am: a0c949d5de

Change-Id: I1633d9eae6f162e338990766e62e3aa3873df606
2019-07-31 21:46:23 -07:00
Josh Gao
75f730abaf SharedMemory: use fdsan to protect our fd.
Bug: http://b/138422309
Test: booted, saw the GraphicsStatsService fd misacquisition
Change-Id: I9350ec13e523e1bf86797a1231769d890f277008
2019-07-31 15:19:11 -07:00
Josh Gao
9fdb8f9910 Revert "Revert "SharedMemory: break Cleaner reference cycle.""
This commit was reverted in Q because it broke things, but we want it in
master.

This reverts commit c36d0765a25d4701980738dc3e2053f19eb3d6b8.

Change-Id: I809d9191eee4909d265d2864ebd523f262f6bb61
Test: treehugger
2019-07-31 15:19:11 -07:00
Adam Seaton
9428f73436 Revert "SharedMemory: break Cleaner reference cycle."
Bug: 138422309

This reverts commit 390d9e6a18.

Reason for revert: crashes documented in b/138422309

Change-Id: I235f727d0fe87c09f6f05dddcae7759bab64dfd8
Merged-In: I235f727d0fe87c09f6f05dddcae7759bab64dfd8
(cherry picked from commit b16411f83a)
2019-07-31 15:19:11 -07:00
Josh Gao
a4a7c1a0a5 Merge "SharedMemory: clear file descriptor when explicitly closed."
am: e33db449d8

Change-Id: I699605f2c6c7f0e24f9646d692b45c71dd88fc91
2019-07-26 15:08:05 -07:00
Josh Gao
a7641806dd SharedMemory: clear file descriptor when explicitly closed.
We run the Cleaner in close, but after the fix in commit 6ca916a6, this
no longer clears the value stored in the FileDescriptor, which means
that subsequent operations on an explicitly closed SharedMemory will
operate on a bogus fd number. Clearing the FileDescriptor value in close
is sufficient, because Cleaner.clean is idempotent, and the only other
case where it executes is when the FileDescriptor is phantom reachable,
which means no one can access it to get its integer value.

Bug: http://b/138392115
Bug: http://b/138323667
Test: treehugger
Change-Id: I8bdb4c745466532a0712976416184c53fcf0dbf6
2019-07-25 14:07:56 -07:00
Josh Gao
e9c55ddce1 Merge "SharedMemory: break Cleaner reference cycle."
am: 5783a79cfc

Change-Id: I732fac88ccee02e49506dd40a7204e5210648b10
2019-07-24 22:08:03 -07:00
Josh Gao
6ca916a657 SharedMemory: break Cleaner reference cycle.
Previously, the Cleaner we create to close the ashmem file descriptor
used a thunk that held a strong reference to the FileDescriptor we
wanted to clean up, which prevented the Cleaner from ever running.

Break the cycle by storing the integer value of the file descriptor
instead.

Bug: http://b/138323667
Test: treehugger
Change-Id: I613a7d035892032f9567d59acb04672957c96011
2019-07-24 15:40:57 -07:00
Tao Bao
eca7403bcf Merge "Add a new API applyPayloadFd() of UpdateEngine"
am: f4b0318d6f

Change-Id: I771090d681ca565392a9aaeb8ecd60026b572ae3
2019-07-13 09:39:32 -07:00
Tao Bao
f4b0318d6f Merge "Add a new API applyPayloadFd() of UpdateEngine" 2019-07-13 16:29:49 +00:00
Treehugger Robot
f0d921c41a Merge "Replace HashMap with ArrayMap for services" 2019-07-11 20:41:31 +00:00
Kyeongkab.Nam
bcc56339bb Add a new API applyPayloadFd() of UpdateEngine
Due to the restriction of Treble, update_engine cannot access to OTA
packages located on non-core domain area.
(e.g. /data/vendor/upgrade/xxx.zip)
To solve such problem, update_engine needs to accept a file descriptor
(FD) of OTA package file instead of its URI. Accordingly, UpdateEngine
also needs to add a new interface of applyPayload which accepts FD.

Test: Manual update
Bug: 130209137
Change-Id: Ic924445c4abf27fd7dc111c74b972ac7ff9ffa6b
2019-07-09 11:21:57 +09:00
Steven Moreland
e17de65051 AIDL it! IServiceManager
Bug: 135768100
Test: boot
Change-Id: I7f8b5d07d4937804e8b0838936f8984ca7d08efa
(cherry picked from commit 7b152971e4)
2019-07-09 01:54:41 +00:00
Mathew Inwood
13ffa87a6d Merge "Restore some greylist entries." into qt-dev
am: f76bdce6e0

Change-Id: I320e33be57b8124ff7c132a67c8981d53802f8f5
2019-06-28 07:43:43 -07:00
TreeHugger Robot
f76bdce6e0 Merge "Restore some greylist entries." into qt-dev 2019-06-28 12:02:43 +00:00
Mathew Inwood
3a75f264a8 Restore some greylist entries.
In Q, these APIs were either:
- removed from the greylist entirely without good reason
- Moved to the restricted greylist without any public alternative
  information added

So they are being moved back to the greylist for Q.

Test: Treehugger
Bug: 136102585
Change-Id: I5ac8b8b9b23c3789d80239cf456072cc7dfa1203
2019-06-28 10:15:37 +01:00
Tim Joines
35bc777130 Merge "Disable USAP by default on devices" into qt-dev
am: 6c3bbf9e93

Change-Id: I8195f09066a4288da76a10f5e52d44763034c3af
2019-06-27 09:17:06 -07:00
Tim Joines
6c3bbf9e93 Merge "Disable USAP by default on devices" into qt-dev 2019-06-27 16:01:43 +00:00
Lorenzo Colitti
cf545aa02a Merge "Transfer ownership of NetworkStatsFactory to NetworkStatsService." am: bd94f0afd2
am: 92292f556b

Change-Id: If897c9c95fc8571949183c45a99a5c28cb032ebb
2019-06-27 01:31:46 -07:00
Lorenzo Colitti
8b577139ae Transfer ownership of NetworkStatsFactory to NetworkStatsService.
NetworkStatsService is the only consumer of the data coming from
NetworkStatsFactory, but the factory itself is instantiated and
owned by NetworkManagementService.

Move it into NetworkStatsService instead.

Test: atest FrameworksNetTests
Change-Id: I52df1e545c646927952579da22845a12d1d7563b
2019-06-26 19:29:51 +09:00
Tim Joines
341817e169 Disable USAP by default on devices
Test: manual, usap process missing on boot
Bug: 136003445
Change-Id: I991b24d2a386c0969bc27f9aecd6b8748b80085a
2019-06-25 09:21:45 -07:00
Daniel Rosenberg
810274ed2d Merge "Make RescueParty call vold directly" into qt-dev
am: 2618371aa5

Change-Id: I68af684fa3f8be2cc8d9518eee5bd9dbc1b118cb
2019-06-24 15:00:57 -07:00
Steven Moreland
df99ad0cf9 Merge changes Ic2e27f56,Ie19e0995 am: 95f507f80d
am: 6245e7efe6

Change-Id: Ic44dfe2b3defa6f60bee6062c049ff189223cb50
2019-06-24 14:46:25 -07:00
Daniel Rosenberg
d078d8b15c Make RescueParty call vold directly
This changes RescueParty to call vold over binder directly for
Checkpointing related calls. It turns out that if the system is in a bad
enough state, the other method would not work, as some of the services
required would not be running.

Bug: 135558798
Test: setprop persist.sys.enable_rescue 1
      setprop debug.crash_system 1 or setprop debug.crash_sysui 1
      vdc checkpoint startCheckpoint 3
      stop
      start
      Device should go through the rescueparty flow, and reboot.
      Repeat without checkpoint. Device should prompt reboot.

Change-Id: I8b11d68075cc291e9557d524bc87b54d17b370e4
2019-06-24 13:23:27 -07:00
Steven Moreland
f54791b388 Remove references to setPermissionController.
This method isn't implemented/used/etc..

Bug: 135768100
Test: TH
Change-Id: Ic2e27f5685cc16562815fcaf1226bc7789f8d882
2019-06-21 18:51:07 -07:00
Steven Moreland
3feab1b474 ServiceManagerNative: delete unused methods
This class is never instantiated (and should be deleted in the future),
doesn't need to inherit from anything, and only has one method that is
used (to get an instance of BpServiceManager defined here). Deleting
unused code, and we can delete the class once apps stop linking against
it.

Bug: 135768100
Test: TH
Change-Id: Ie19e099551b10599a4b7bab29b35d78d66cd3442
2019-06-21 18:28:55 -07:00
Robert Benea
360b2c4434 Replace HashMap with ArrayMap for services
The number of services is pretty limited (100ish), use the more
memory efficient Map.

Test: tested on android go
Merged-In: I092c6816afba77fde4195c68a211804d4a561b77
Change-Id: I092c6816afba77fde4195c68a211804d4a561b77
2019-06-20 23:27:59 +00:00
Yiwei Zhang
5e7b959fd6 Merge "Game Driver: Process sphal libraries in GraphicsEnvironment" into qt-dev
am: c0c88c6ed3

Change-Id: Ie4622fc2bffd73d6be9d2c3aba3bf5ac30e7c0e7
2019-06-13 19:15:01 -07:00
TreeHugger Robot
c0c88c6ed3 Merge "Game Driver: Process sphal libraries in GraphicsEnvironment" into qt-dev 2019-06-14 01:36:32 +00:00
Yiwei Zhang
3625e21cbc Merge "Game Driver: add support to apply prerelease driver for all apps" into qt-dev
am: 45315597ff

Change-Id: I0579e94650f81720eb5309996ec5a4ff0a309d42
2019-06-13 16:53:18 -07:00
Yiwei Zhang
e3490fce00 Game Driver: Process sphal libraries in GraphicsEnvironment
Previously, there's only one Game Driver existed in the system, so we process
sphal libraries in GPU service to save the launch time for loading Game Driver.
Now we need to support a separate prerelease driver, so we have to move the
processing back to app launch time.

Bug: 134881329
Test: Manual test with prerelease driver and Settings UI.
Change-Id: Ic1bb412a6a026c68f55243c906bd56fe1fee44c3
2019-06-13 14:40:56 -07:00
Yiwei Zhang
e92cac2b6e Merge "Game Driver: Add support for prerelease channel" into qt-dev
am: ba3f191bd5

Change-Id: I43d18ab2eeb588454b1c0752630bf1a0ee82d372
2019-06-13 08:46:41 -07:00
Yiwei Zhang
ff9a4ee1c1 Game Driver: add support to apply prerelease driver for all apps
Bug: 134881329
Test: Manual test with prerelease driver and Settings UI.
Change-Id: I5f198b0845e9e6431066d44ef623f62e1f5c588a
2019-06-12 18:17:14 -07:00
Yiwei Zhang
5d0d4c6af2 Game Driver: Add support for prerelease channel
Bug: 134881329
Test: Manual test with prerelease driver.
Change-Id: I4865bbf0126df9c470aa7f1c163910eb58fb1a8b
2019-06-12 18:08:08 -07:00
Christian Wailes
63af175cf3 Merge "Removes unused code from the SystemServer/Zygote classes." into qt-dev
am: 7983bfb3e6

Change-Id: Icd72a60403a1cec0db1dc72251ab241c7aa60d41
2019-06-12 13:06:29 -07:00
Chris Wailes
bed1976f85 Removes unused code from the SystemServer/Zygote classes.
This patch partially reversts ag/6991475 and ag/7161709.  These changes
are no longer needed due to a change in the graphics driver strategy for
Q.

In addition, the preloading of the graphics driver in the USAPs need to
be removed to avoid causing a memory regression on devices with graphics
driver preloading in the Zygote disabled.

Bug: 134526352
Test: Treehugger
Change-Id: I570037866d1ae90794c711622e6045ebbffa5b9c
Merged-In: I570037866d1ae90794c711622e6045ebbffa5b9c
(cherry picked from commit fcd68fd74b)
2019-06-11 16:34:40 -07:00
Alexey Kuzmin
16c9004e14 Merge "Link to death of external vibrations" into qt-dev
am: 192b61833d

Change-Id: I48d2e57e9e9a0e6f75981a0d33d4c3c38c2b6cbe
2019-06-11 11:31:23 -07:00
Alexey Kuzmin
133815450b Link to death of external vibrations
Bug: 133200481
Test: manual
Change-Id: I6a76b926d60a79fd450a2f7eaf9609243ac0aaf7
2019-06-11 15:06:59 +01:00
Andreas Gampe
2d651ebe25 Merge "Frameworks: Slightly refactor Parcel code" am: 9d519d808f
am: 308b11e264

Change-Id: Ia7de39803f1f7aacb6fbb9c16ce6f0ca163faf65
2019-06-05 20:38:59 -07:00
Sudheer Shanka
7c4f12a9a3 Merge "Fix Environment.isExternalStorageLegacy() impl." into qt-dev
am: c703d04fbb

Change-Id: Id3d37b5e1fb02009a647c851194bd14614f86b44
2019-06-05 20:17:13 -07:00
Sudheer Shanka
c703d04fbb Merge "Fix Environment.isExternalStorageLegacy() impl." into qt-dev 2019-06-06 01:32:03 +00:00
Michael Wright
2a0fe26b6c Merge "Uncanonicalize URIs when searching for audio-coupled haptics." into qt-dev
am: eeffe0c9dd

Change-Id: If35ea6e4c2864f83f22a50f02b14cc62747157d1
2019-06-05 04:51:19 -07:00
Sudheer Shanka
572fdfd18f Fix Environment.isExternalStorageLegacy() impl.
Earlier, this API only used to consider op_legacy_storage
appop to decide whether an app will get legacy storage view
or not but there are few other factors it needs to consider
like whether the app has WRITE_MEDIA_STORAGE permission or
whether app was allowed to be an installer in which case it
will get legacy access.

Bug: 132760141
Test: atest cts/hostsidetests/appsecurity/src/android/appsecurity/cts/ExternalStorageHostTest.java
Change-Id: I227a171bf40e43e135e1a6dbc819cfad21d91520
2019-06-04 16:46:57 -07:00
Michael Wright
8b1f3c970c Uncanonicalize URIs when searching for audio-coupled haptics.
It's possible that the Ringtone URIs will be pre-canonicalized, which
don't maintain equality when compared to uncanonicalized URIs. In order
to handle this case, we just need to uncanonicalize both URIs before
comparing.

Fixes: 134394754
Test: manual, verified audio-coupled haptics works again on B1C1
Change-Id: I2e216db1013d5bc0db0a1622e0670853663f0db8
2019-06-04 15:26:25 +01:00
Christopher Ferris
62a1a7d833 Merge "Avoid using usap when wrap property set." into qt-dev
am: cbd4908c9f

Change-Id: I0df94d8321e32aa2f1711af5c97446df8e6548f2
2019-05-31 19:15:02 -07:00
Christopher Ferris
6db1108ddc Avoid using usap when wrap property set.
Bug: 133515802

Test: Verified that malloc debug can be enabled on a USAP enabled device.

(cherry picked from commit 86bd25d5ed)

Change-Id: I5f25030ce8e667d175712796c0950f38baa2532d
Merged-In: I5f25030ce8e667d175712796c0950f38baa2532d
2019-05-31 12:46:42 -07:00
Andreas Gampe
4c0df5c727 Frameworks: Slightly refactor Parcel code
Decrease the amount of code covered by a lock in Parcel. This allows
fetching multiple classes in parallel, with the slight downside that
these classes might be the same.

Reduces contention samples for this method in profiling by two thirds.

Test: m
Test: manual profiling
Change-Id: I96415659f6625df25800c60dd3bee1094255fcc3
2019-05-30 14:42:10 -07:00
Michael Groover
b8dc8384d6 Merge "Update Build#SERIAL docs to reflect device ID restrictions" into qt-dev
am: daf8086aa0

Change-Id: I8bd70254ac6b461062761665db9cef30f97636e1
2019-05-29 21:26:33 -07:00