Commit Graph

5658 Commits

Author SHA1 Message Date
Nandana Dutt
47c5ecc50a Remove obsolete methods from DumpstateListener implementations
Note that with the new Bugreporting API, SystemServer is the only
expected DumpstateListener implementation. Once we fully migrate Shell
app, we can remove the implementation in BugreportService as well.

BUG: 128980174
Test: bugreport from power menu, observe progress bar

Change-Id: I40d654a70bd9ceb3a29f8a0113b85616100f4ee9
Merged-In: I40d654a70bd9ceb3a29f8a0113b85616100f4ee9
2019-08-06 17:43:11 +00:00
Dan Zhang
be30d27a8a Merge "Fix the reference leak on RemoteCallbackList" 2019-08-01 05:03:03 +00: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
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
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
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
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
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
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
Xin Li
c76d117d2a DO NOT MERGE - Merge pi-platform-release (PPRL.190505.001) into stage-aosp-master
Bug: 132622481
Change-Id: I7ba1a9999b3a9bac8031dd086fa2632e45404f32
2019-05-15 11:31:45 -07:00
Kyeongkab.Nam
d40b5cecfe Fix the reference leak on RemoteCallbackList
In case that register is invoked consecutively with same callback,
reference leack could be happened since unlinkToDeath for all
callbacks is not being called.

Test: call register multiple times with same callback and unregister
callback same times. confirm the global reference table information.

Change-Id: I7dbf108ea87b3ee7ce1e1a0ff75e05e8c4478f67
2019-05-14 15:53:18 +09:00
Abhijeet Kaur
7bb14d873c Merge "Use dev/null instead of tmp file"
am: 2bd4dd2339

Change-Id: I2914c8189f6693c855e6fa02aec4c6ce3b6f190f
2019-05-02 06:25:15 -07:00
Treehugger Robot
2bd4dd2339 Merge "Use dev/null instead of tmp file" 2019-05-02 13:04:39 +00:00
Lorenzo Colitti
57646109fd Merge "Make DNS cache lifecycle management explicit"
am: a6d5664819

Change-Id: Ie97fe453c89476915f3b362b6486c7d4608da2a9
2019-04-25 17:38:23 -07:00
Lorenzo Colitti
a6d5664819 Merge "Make DNS cache lifecycle management explicit" 2019-04-26 00:23:22 +00:00
Rubin Xu
39c2091c88 Merge "Remove unused methods from INetworkManagementService"
am: 5d2c5d5dc2

Change-Id: Ie37c9c751830d209d40772bd2d410a9c550236cd
2019-04-24 07:43:27 -07:00
Treehugger Robot
5d2c5d5dc2 Merge "Remove unused methods from INetworkManagementService" 2019-04-24 14:29:39 +00:00
Luke Huang
a24d5d8f8b Make DNS cache lifecycle management explicit
1. ConnectivityService calls netd binder to create/destroy network directly.
2. Call dnsresolver binder to create/destroy cache after create/destroy network.
3. Remove unused network create/destroy methods in NetworkManagementService.

Bug: 129453995
Test: atest FrameworksNetTests
Change-Id: I15660d27f735e33d621d4af8972cdf115bf76dfa
2019-04-22 17:43:37 +08:00
Yiwei Zhang
18e97c3db5 Merge changes from topic "GameDriver3"
am: 5d832d2988

Change-Id: If2449acb0eef75ad81d913ab8fc07ae927f2ab8e
2019-04-19 14:38:53 -07:00
Treehugger Robot
5d832d2988 Merge changes from topic "GameDriver3"
* changes:
  Game Driver: process sphal libraries in GPU service
  Game Driver: Add a Settings.Global property for sphal libraries
  [Game Driver] Add global whitelist option.
  [GPU Service] Move blacklists process to GPU service.
  Split blacklist from versioned blacklists.
  Game Driver: clean up GraphicsEnvironment
  [GPU Service] Implement GPU service.
2019-04-19 20:47:35 +00:00
Dan Willemsen
c2975a3850 Merge "Expose android.os.Build.VERSION.ACTIVE_CODENAMES to CTS"
am: 644792c7d6

Change-Id: I659115cec0db8ccae778e1b842a08bb04c63e10f
2019-04-19 12:56:42 -07:00
Yiwei Zhang
b1eeb0cd9d Game Driver: process sphal libraries in GPU service
This change adds the sphal libraries text file parsing to the GPU
service. As the result, when the Game Driver apk is updated, the sphal
library list will be read out to the GAME_DRIVER_SPHAL_LIBRARIES
settings global property to be used in the graphics environment to
extend the current linker namespace.

Bug: 124448366
Test: Build, flash and boot. Install the apk to verify settings global.

Change-Id: Ifb4007a1fe7269e0a2857fe7badc8642342b1449
Merged-In: Ifb4007a1fe7269e0a2857fe7badc8642342b1449
2019-04-19 12:35:03 -07:00
Dan Willemsen
644792c7d6 Merge "Expose android.os.Build.VERSION.ACTIVE_CODENAMES to CTS" 2019-04-19 19:30:50 +00:00
Peiyong Lin
db98f35743 [Game Driver] Add global whitelist option.
Allow a '*' at the beginning of the whitelist file to mean whitelist
everything.

BUG: 120869311
Test: Build, flash and boot. Verify with apk
Change-Id: Ia1b772f545a04acb7f5b4ccbe5489e43ecddb9d2
Merged-In: Ia1b772f545a04acb7f5b4ccbe5489e43ecddb9d2
2019-04-19 10:49:03 -07:00
Peiyong Lin
8287771adc [GPU Service] Move blacklists process to GPU service.
Instead of re-process blacklists proto everytime, we move the processing to GPU
Service, and add SettingsObserver to observe the change of
Settings.Global.GAME_DRIVER_BLACKLISTS such that we only re-process the
blacklists when needed.

As a result, we will have GAME_DRIVER_BLACKLISTS which is used to accept a list
of blacklist from the server, one for each game driver version that needs to
have blacklist, and GAME_DRIVER_BLACKLIST will only contain a list of
blacklisted application package names for the current version of game driver on
the device, separated by comma.

BUG: 120869311
Test: Build, flash and boot. Use adb shell settings put command to verify.
Change-Id: Ic49800cd0b5b82ddbbdf9907d603243415d5bd3b
Merged-In: Ic49800cd0b5b82ddbbdf9907d603243415d5bd3b
2019-04-19 10:48:07 -07:00
Yiwei Zhang
351e9a6bf2 Merge changes from topic "GameDriver2"
am: a88226283d

Change-Id: I632eae432db8490ae78d32b245717a6ab0861f8a
2019-04-18 17:25:47 -07:00
Dan Willemsen
cac5c61e24 Expose android.os.Build.VERSION.ACTIVE_CODENAMES to CTS
So that CTS can handle more than one active codename.

Bug: 130764058
Test: atest CtsOsTestCases:android.os.cts.BuildTest#testBuildConstants
Change-Id: I671e28308723ee9e79ded01f12330e4efdbbbe17
2019-04-18 14:06:54 -07:00
Abhijeet Kaur
006a6bb2d0 Use dev/null instead of tmp file
Use dev/null fd (instead of using fd from temporary file) when
screenshot fd is passed as null, as file deletion does not need
to be handled for dev/null.

Test: Take interactive bugreport (which does not need screenshot)
manually using shell (which calls bugreport API)

Change-Id: I1719899e6cf3bffe1a96849691c051ff4f3a05ec
2019-04-18 15:26:37 +01:00
Yiwei Zhang
b421e0c796 Game Driver: clean up GraphicsEnvironment
Bug: 123529932
Test: Build, flash and boot. Verify by installing game driver apk
Change-Id: Id73605125410a2b4054d9179227022e177d20af2
Merged-In: Id73605125410a2b4054d9179227022e177d20af2
2019-04-17 22:57:54 -07:00
Peiyong Lin
c95354bc9c [GPU Service] Implement GPU service.
GPU Service is used to monitor all GPU and graphics driver related features.
This patch implements GPU service into System Server, and implements
functionality to extract the whitelist out of game driver package when the
package is upgraded or removed. This will move the whitelist processing off
critical path when app launches.

BUG: 123290424
Test: Build, flash and boot. Verify by upgrading game driver apk.
Change-Id: I563a138bfe0c4c1bb17ed28dab5d6a8df244021d
Merged-In: I563a138bfe0c4c1bb17ed28dab5d6a8df244021d
2019-04-17 20:18:09 -07:00
Yiwei Zhang
c4db14e72d Game Driver: rename GUP to Game Driver
Bug: 119221883
Test: Build, flash, boot and make RunSettingsRoboTests
Change-Id: I39724917b516b4871c6b1b1f0d30aa0f793942a4
Merged-In: I39724917b516b4871c6b1b1f0d30aa0f793942a4
2019-04-17 19:54:52 -07:00
Peiyong Lin
ac74bc8f45 [Game Driver] Add blacklist mechanism.
When a blacklist is set, we must not use driver package for those applications
on the blacklist.

BUG: 120869311
Test: Build, flash, boot. Verify with command line.
Change-Id: I1c9f10a3086007038c328a20346ffadeff1861ae
Merged-In: I1c9f10a3086007038c328a20346ffadeff1861ae
2019-04-17 16:22:33 -07:00
Yiwei Zhang
79c5356a07 GUP: Add a global property for genreal preference
This change also fixes typos and adds some missing comments

Bug: 119221883
Test: Build, flash and boot, verify with prototype
Change-Id: Ida976c4fb3d4af5ffc1d9b977f00fa9c7239a434
Merged-In: Ida976c4fb3d4af5ffc1d9b977f00fa9c7239a434
2019-04-17 15:54:48 -07:00
Peiyong Lin
a0bd6fd610 Merge changes from topic "GameDriver"
am: e10cb9bd1c

Change-Id: I4627c998da042bfab14769455c874aae2e19b91c
2019-04-17 14:02:56 -07:00
Peiyong Lin
7d1d0c4f63 [GUP] Hard code the name of the whitelist file.
am: be09eef818

Change-Id: Ib63d6d818600961a5cba4ed2c2d33d654bd1c849
2019-04-17 13:55:43 -07:00
Peiyong Lin
4ce7aa1729 Add global property to store opt-in application package name.
am: e23f59aa5a

Change-Id: I2dcd31f5110a5f65cb52a501b2dcfc5b3de75c83
2019-04-17 13:47:55 -07:00
Peiyong Lin
7808ff2cd8 [GraphicsEnvironment] Add whitelist support.
am: 443894f8bb

Change-Id: I9353ed28aa66dbc845012bc99fd789a970e6ea09
2019-04-17 13:38:48 -07:00
Yiwei Zhang
a35e865b97 GUP: Update global property for the new dev opt
We updated the development opt in mechanism for GUP. Now we have
GUP_DEV_OPT_IN_APPS for applications selected to use GUP and
GUP_DEV_OPT_OUT_APPS for applications selected not to use GUP.

Bug: 119221883
Test: Build, flash and boot, verify with prototype
Change-Id: I52869ecf9e411a8dbdc1146f00c82023ba41bebf
Merged-In: I52869ecf9e411a8dbdc1146f00c82023ba41bebf
2019-04-17 00:17:53 -07:00
Peiyong Lin
8eeb14e639 Rename updatable graphics driver to Game Update Package.
We have rebranded this project to Game Update Package, and GUP for short.

BUG: 119221883
Test: Build, flash and boot. Verify by going to developer options.
Change-Id: If284bd3e0b29cb025833be29fa33179011c151d7
Merged-In: If284bd3e0b29cb025833be29fa33179011c151d7
2019-04-16 23:06:24 -07:00
Peiyong Lin
be09eef818 [GUP] Hard code the name of the whitelist file.
Allowing customized whitelist filename could result in inconsistency and
fragmentations in toolings.

BUG: 120870520
Test: Build, flash and boot
Change-Id: Ibe9337b358b6a67600048f1661d73574d7bea607
Merged-In: Ibe9337b358b6a67600048f1661d73574d7bea607
2019-04-16 18:35:17 -07:00
Peiyong Lin
e23f59aa5a Add global property to store opt-in application package name.
We provide a way in developer option to opt-in an application to use updated
graphics driver. To make sure we set up the graphics environment correctly, we
need to access the package name of the selected application. This patch
introduces a global property to store the package name.

BUG: 119221883
Test: Build, flash and boot, verify with prototype
Change-Id: I49dfcccf387169c072fb9345f7a50c00fcdb0737
Merged-In: I49dfcccf387169c072fb9345f7a50c00fcdb0737
2019-04-16 18:35:17 -07:00
Peiyong Lin
443894f8bb [GraphicsEnvironment] Add whitelist support.
This patch adds the ability to load whitelist from updatable graphcis driver
apk. Typically a whitelist is part of the graphics driver apk, and the name is
set by overwriting ro.gfx.driver.whitelist.0

BUG: 117241379
Test: Build, flash and boot, whitelist an app and verify.
Change-Id: Ie36ca0173a90a8e48acaca2979ab64bbf92eeaed
Merged-In: Ie36ca0173a90a8e48acaca2979ab64bbf92eeaed
2019-04-16 18:33:43 -07:00
Abhijeet Kaur
22fd8708f3 Merge "Notify the caller about I/O error"
am: 2f206c6270

Change-Id: I59b43aa3c092ee577833da5dc110953d4b21154d
2019-04-16 05:10:31 -07:00
Abhijeet Kaur
0af10e33f3 Notify the caller about I/O error
Call onError for caller of BugreportManager.start() if any io error
occurs during runtime.

Test: Tested manually by throwing IO exception in the code when
bugreport is being generated, onError of the callback successfully
called.
Change-Id: I9033d85d392b926041fc26a86806a370752d062d
2019-04-16 11:34:21 +01:00