summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/SystemServer.java
Commit message (Collapse)AuthorAgeFilesLines
* LiveDisplay: don't start services if phone is encryptedHenrique Silva2020-04-231-6/+8
| | | | Change-Id: I7d4347fa7dcf3b2d768cb3903aa5c89de373647b
* Introduce LiveDisplay from LineageHenrique Silva2020-04-231-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | All credits to LineageOS and related authors on: https://github.com/LineageOS/android_lineage-sdk Included fwb commit: commit 5ef7a9bb0996cc0c141d054514744ceaa93ba036 Author: Dan Pasanen <dan.pasanen@gmail.com> Date: Tue Feb 20 07:51:43 2018 -0600 NightDisplayController: report unavailable if livedisplay feature is present Change-Id: Id677e76d452ced2e62373337d63593c7b85f2fba Syberia: forward port to 10 squashed with: lineage-sdk: ServiceType.GPS -> ServiceType.LOCATION lineage-sdk: Update DisplayTransformManager class path Signed-off-by: Henrique Silva <jhenrique09.mcz@hotmail.com> Change-Id: I35bf801aca2e31f30e9d1a0488648f93eab84492
* Revert "base: Screen Stabilization [1/2]"Ali B2020-04-171-6/+0
| | | | | | This reverts commit 05481f20e5adebb1add47e97b649009217f1ea09. Change-Id: I577a7da184bcbb3b2eb21d9f7b5acbb543d3dc83
* base: Screen Stabilization [1/2]Rituj Beniwal2020-03-291-0/+6
| | | | | | | * New Settings menu integrated into QS itself(long click) * Thanks to SuperDroidBond for keeping this alive till Pie Change-Id: Ibccb8d78d79938f42241ea3690ea66c3aace89ea
* Start BiometricService even if no hardware is presentAlessandro Astone2020-03-071-6/+4
| | | | | | | | * BiometricService already has support for authenticate() to fallback to CDC. This allows BiometricPrompt to ask for credentials when no biometric hardware is present, rather then doing nothing. Change-Id: Ib69b913a9e9a6d4d76de5d2ee9e618a3dfd6e5bd
* Merge tag 'android-10.0.0_r31' into q10.0Ali B2020-03-071-0/+2
|\ | | | | | | | | | | | | | | Android 10.0.0 release 31 * tag 'android-10.0.0_r31': (327 commits) Change-Id: I0a4f55f3b919dc96db5651b0958a33e58b8784d5
| * Fixes usage of WallpaperManager to make it optional.Felipe Leme2019-11-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As the main javadoc states: "An app can check whether wallpapers are supported for the current user, by calling {@link #isWallpaperSupported()}, and whether setting of wallpapers is allowed, by calling {@link #isSetWallpaperAllowed()}." Test: manual verification on automotive Test: atest CtsAppTestCases:android.app.cts.WallpaperManagerTest # on automotive Bug: 138939803 Bug: 132111956 Change-Id: I88946f92ff54e556d289c41c28e22da3a4b8c8b8 Merged-In: I88946f92ff54e556d289c41c28e22da3a4b8c8b8 (cherry picked from commit 34a861add16eed6ef2f487b3d40017d5ad70c2a6)
* | Allow tuning of heaptargetutilizationDavid Sehr2019-12-211-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | Remove a pair of explicit sets of this value. This allows ART to tune this parameter to improve GC responsiveness and memory usage. Tuning this parameter is a key area of work for OEM-requested high-memory device configurations. Bug: 145823510 Test: boot and run with various configurations of the flag. Change-Id: I19680ff5fa1ebf9dfd4a3f71533d03510f4da414 Merged-In: I19680ff5fa1ebf9dfd4a3f71533d03510f4da414 (cherry picked from commit b2910d3b6ff282194a4fa4e6c6818c4325168a4f)
* | pocket: introduce pocket bridgeChris Lahaye2019-12-141-0/+8
| | | | | | | | | | | | | | | | | | | | | | This service communicates pocket state to the pocket judge kernel driver. It maintains the pocket state by binding to the pocket service. Ticket: NOUGAT-49 Change-Id: Iee77f767f23d3f77a0d1d871f9305f3b3c6d6630 Signed-off-by: Chris Lahaye <dev@chrislahaye.com> Signed-off-by: Alex Naidis <alex.naidis@linux.com>
* | pocket: introduce pocket judgeCarlo Savignano2019-12-141-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Judge if device is in pocket. * Notify clients callbacks when pocked state changes. * Start listening when device becomes not interactive. * Stop listening when device becomes interactive and is NOT in pocket. Ticket: NOUGAT-9. Change-Id: Ifcf59c172f55cce95a72411820723696ef2dd9ae Signed-off-by: Carlo Savignano <carlosavignano@aospa.co> Signed-off-by: Alex Naidis <alex.naidis@linux.com> Signed-off-by: TheStrix <parthbhatia98@gmail.com>
* | [1/3] base: add support for adb over networkmaxwen2019-12-131-0/+30
| | | | | | | | Change-Id: If8354c92a03da501c683638cc69097d287d74816
* | Smart Pixels: Switch to registered receiverAdin Kwok2019-12-131-0/+3
|/ | | | | | | | | | | | | | | | Switching to a registered receiver allows to properly handle updates on enabling of battery saver mode and switching of users. Also only update screen filter with burn-in protection when the device is in an interactive state. Test: Service starts after rebooting with it enabled Service starts on battery saver mode (user toggle) Service starts on battery saver mode (auto-enabled) Service re-adjusts on user switch to current user settings Filter updates after selected timeout Change-Id: Iced17fd5cc49e0163754bf75782f8465b54e859b
* Don't start intelligence services that are not provided by the OEM.Felipe Leme2019-08-091-12/+22
| | | | | | | | | | | Bug: 135218095 Test: adb shell service check content_suggestions Test: adb shell service check app_prediction Test: atest CtsContentSuggestionsTestCases CtsAppPredictionServiceTestCases # on Automotive Merged-In: I07f9873a7ad0c6dd1c1a0d6a0e5e05681bfc67fc Change-Id: I07f9873a7ad0c6dd1c1a0d6a0e5e05681bfc67fc
* [DO NOT MERGE] Don't drop restricted permissions on upgradeSvet Ganov2019-07-271-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | Restricted permissions cannot be held until whitelisted. In a P -> Q upgrade we grandfather all restricted permissions. However, the whitelisting code runs after the internal update of permission happens for the first time resulting in a revocation of the restricted permissions we were about to grandfather. The fix is to not deal with restricted permission when updating the permissions state until the permission controller has run the grandfathering logic and once the latter happens we do run the permission update logic again to properly handle the restricted permissions. Bug: 138263882 Test: atest CtsPermissionTestCases atest CtsPermission2TestCases atest CtsAppSecurityHostTestCases:android.appsecurity.cts.PermissionsHostTest P -> Q upgrade preserves grandfathered restricted permissions P -> Bad Q build -> Q fixes up broken fixed restricted permissions Change-Id: Iaef80426bf50181df93d1380af1d0855340def8e
* Merge "Call ActivityManagerService.enterSafeMode" into qt-devTreeHugger Robot2019-06-301-0/+4
|\
| * Call ActivityManagerService.enterSafeModePatrick Baumann2019-06-281-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the accidental removal (change ID Ibe849f56f5fe8af1415dc6c85b484d0edca518ec) of a call to ActivityManagerService.enterSafeMode, ensuring that when the rest of the device is in safe mode, ActivityManagerService and PackageManagerService are made aware of it and properly filter app launches. Fixes: 129781631 Test: manual; safe mode correctly blocks 3p apps Change-Id: Ie2caf6d2fd74b241927a245393fb31658201962f
* | Pause watchdog triggering on the main thread during package scanZimuzo2019-06-141-2/+7
|/ | | | | | | | | | | | | | | Similar to I3876c41e6d0e41d044a5b1d5e57f894c7fb4fb0e and I69067fbbb8be4e421918c18b67269044fab51b3e where we pause the watchdog because dexopting and moving A/B artifacts can take a while, here scanning packages can take a long time depending on the number of apps installed on the device. Bug: 135103243 Test: Manually tested by adding an artificial sleep in PackageManagerService#main and verified that watchdog was not triggered Change-Id: Ia5b2b5741194a33f7cd09e79c0904696ce546026 Merged-In: Ia5b2b5741194a33f7cd09e79c0904696ce546026
* Pause watchdog triggering on the main thread during OtaDexoptServiceZimuzo2019-05-311-0/+2
| | | | | | | | | | | | Similar to I3876c41e6d0e41d044a5b1d5e57f894c7fb4fb0e where we pause the watchdog because dexopting can take a while, here moving A/B artificats can take a long time. Bug: 134062700 Test: Manually tested by adding an artificial sleep in OtaDexoptService#main and verified that watchdog was not triggered Change-Id: I69067fbbb8be4e421918c18b67269044fab51b3e
* Merge "Force system ApplicationInfo update and notify DisplayManager" into ↵TreeHugger Robot2019-05-201-0/+7
|\ | | | | | | qt-dev
| * Force system ApplicationInfo update and notify DisplayManagerWinson2019-05-061-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | Propagates any changes to the display config made inside any framework overlay. Notably any display cutout adjustments. Partial revert of ag/I844de9e09eb1464ae112e1b480d21cf662a026e0 with the OMS method moved into AMS. Bug: 130444380 Test: manual test with simulated cutout on blueline device Change-Id: Ifa24954352fa5e92816baa8d669b9abedc4f4ab8
* | Removing emulator check for starting BluetoothServiceHayden Gomes2019-05-141-6/+1
| | | | | | | | | | | | | | | | | | | | This check was intended to be removed once we had the ability to add the Bluetooth systemFeature check. Removing it now so emulator can enable bluetooth Bug: 132627197 Test: Built and ran emulator locally to confirm BTService running Change-Id: I3e0606e0e4154299e65e5f62d8a1720922d796ad
* | Merge "Allow pausing Watchdog on the current thread" into qt-devZimuzo Ezeozue2019-05-141-0/+3
|\ \
| * | Allow pausing Watchdog on the current threadZimuzo2019-05-101-0/+3
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we start the watchdog early during boot, we may have some false positives where the watchdog thinks a thread is blocked but it is just running a long task. This cl enables us pause the watchdog triggering for the current thread and resume the triggering after the long running task. An alternative would be pausing for a specified duration without an explicit resume but that may be difficult to find an upper bound for tasks across all devices. For now the primary long running task is dexopting which happens on the main thread during boot. We pause the watchdog triggering on the main thread and resume afterwards. Test: Verified with logs that pausing the Watchdog pauses triggering and resuming resumes triggering Bug: 132076426 Change-Id: I3876c41e6d0e41d044a5b1d5e57f894c7fb4fb0e
* | Merge "Bump several device admin notifications to high priority" into qt-devRubin Xu2019-05-131-0/+1
|\ \
| * | Bump several device admin notifications to high priorityRubin Xu2019-05-091-0/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following device admin related events now generate interruptive notifications: 1. Admin-triggered remote bug report collections (requires user action) 2. Remote work profile wipe - post wipe notification 3. The enabling of Network logging 4. Admin remotely installs/removes an APK 5. Work profile needs unlocking after boot Test: manual Change-Id: If5a51123c05b15e544a31ac7ec6b42ec831a1ccc Fix: 130623009 Fix: 120770584 Fix: 118810015
* | Merge "Start THM outside of the frp block" into qt-devWilliam Hester2019-05-101-4/+4
|\ \
| * | Start THM outside of the frp blockWilliam Hester2019-05-071-4/+4
| |/ | | | | | | | | | | | | | | | | | | | | | | | | Starting TestHarnessModeService outside of the FRP block will allow OEMs to provide their own implementation of PersistentDataBlockManagerInternal in LocalServices, which will allow them to satisfy all CTS requirements even without supporting Factory Reset Protection. Bug: 131439285 Test: make && adb shell cmd testharness enable Change-Id: If3ea192a22105716cab1dbed832f8c20b51058b7 (cherry picked from commit 87ac4ea4a586457f84a9534526486ace4152b635)
* / Revert "Populate active apexes cache in a background thread"Mohammad Samiul Islam2019-05-081-7/+0
|/ | | | | | | | | This reverts commit 97fc6d9c29dd08f75f4f7d82d17d9f422ec44147. Reason for revert: b/132236259 Change-Id: I5270140580ebad16a9dc1db6b2e5f9faa977f54a Bug: 132236259
* Populate active apexes cache in a background threadNikita Ioffe2019-04-301-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Split populateActivePackagesCacheIfNeeded into populateApexFilesCache and parseApexFiles. * populateApexFilesCache does an IPC to apexd , while parseApexFiles does the heavy lifting of parsing apex files and extracting signature; * Split is required because during PackageManagerService boot-sequence we need to know list of apex packages, and in order to get that information we don't need to parse apex files. * Both populateApexFilesCache and parseApexFiles are enquened to run in ApexManagers own HandlerThread so that they don't block other tasks in system servers boot sequence. * Changed ApexManager to use CountDownLatches instead of locks to synchronize between thread, as they are more modern and easier to use. Also did some perf testing on blueline by running atest google/perf/boottime/boottime-test: Without https://googleplex-android-review.git.corp.google.com/q/Ic7e5e14ed2d02d3685fd39bb70bc9423ae78f18e: SystemServerTiming_StartPackageManagerService_avg: 2767.2 With what is currently in qt-dev: SystemServerTiming_StartPackageManagerService_avg: 3728.4444444444443 Without splitting into populateApexFilesCache and parseApexFiles: SystemServerTiming_StartPackageManagerService_avg: 3247.5 This change: SystemServerTiming_StartPackageManagerService_avg: 2894.7 Test: device boots Test: atest CtsStagedInstallHostTestCases Bug: 131611765 Change-Id: I980700cd785c22d7f1ace294bb5456056d68baaa
* Start Watchdog early during bootZimuzo2019-04-251-10/+13
| | | | | | | | | | | | | | | | | | | The system server can deadlock without making progress during early boot. If this happens without crashing, no rollback mechanisms will be triggered because there's no crash. With this change, if the system server deadlocks early during boot, the Watchdog will crash the system server, frequent enough crashes (4 in 4 mins) will trigger the native watchdog and cause apexd to rollback any staged mainline updates. Bug: 129597207 Test: Boots fine and logs indicate threads and monitors are registered properly. Also adding an artificial sleep to the PackageManagerService during boot crashes the system_server. At the moment, this is not detected by the native watchdog because the default_timeout of 60 seconds before crashing the system_server never triggers the native watchdog crash frequency threshold. Will fix in later cl. Change-Id: I956a263e96d17d55bc512a5eab905cd2a14a7abb
* Merge "DO NOT MERGE: disable iorap in q" into qt-devTim Murray2019-04-181-6/+0
|\
| * DO NOT MERGE: disable iorap in qTim Murray2019-04-171-7/+0
| | | | | | | | | | | | | | | | | | iorap is not shipping in Q. Test: boots, works bug 72170747 Change-Id: Iabc63f880df24781fa9c6e0f4532a8f37c8d89d5
* | Grant clipboard access to the Augmented Autofill service.Felipe Leme2019-04-121-6/+5
|/ | | | | | | Test: atest CtsAutoFillServiceTestCases:android.autofillservice.cts.augmented.ClipboardAccessTest Fixes: 130166067 Change-Id: I5d55a5921bb961565d6e9cb535927df80c67f79b
* Merge "Restricted permission mechanism - framework" into qt-devSvetoslav Ganov2019-04-081-1/+8
|\
| * Restricted permission mechanism - frameworkSvet Ganov2019-04-071-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds a mechanism for restricting permissions (only runtime for now), so that an app cannot hold the permission if it is not white listed. The whitelisting can happen at install or at any later point. There are three whitelists: system: OS managed with default grants and role holders being on it; upgrade: only OS puts on this list apps when upgrading from a pre to post restriction permission database version and OS and installer on record can remove; installer: only the installer on record can add and remove (and the system of course). Added a permission policy service that sits on top of permissions and app ops and is responsible to sync between permissions and app ops when there is an interdependecy in any direction. Added versioning to the runtime permissions database to allow operations that need to be done once on upgrade such as adding all permissions held by apps pre upgrade to the upgrade whitelist if the new permisison version inctroduces a new restricted permission. The upgrade logic is in the permission controller and we will eventually put the default grants there. NOTE: This change is reacting to a VP feedback for how we would handle SMS/CallLog restriction as we pivoted from role based approach to roles for things the user would understand plus whitelist for everything else. This would also help us roll out softly the storage permisison as there is too much churm coming from developer feedback. Exempt-From-Owner-Approval: trivial change due to APi adjustment Test: atest CtsAppSecurityHostTestCases:android.appsecurity.cts.PermissionsHostTest Test: atest CtsPermissionTestCases Test: atest CtsPermission2TestCases Test: atest RoleManagerTestCases bug:124769181 Change-Id: Ic48e3c728387ecf02f89d517ba1fe785ab9c75fd
* | Add system captions manager serviceRobert Berry2019-04-071-1/+18
|/ | | | | | | | | | | | | | This service connects to a remote system captions manager service. This service is responsible for enabling system captions when the user requests them. As the system binds to it, this service will be persistent. Cherry pick from ag/6761232 Bug: 128925852 Test: Manual. I created an implementation of the service. Merged-In: Iafde1bb68f4754d8167624f47c6833d43c0ec336 Change-Id: Iafde1bb68f4754d8167624f47c6833d43c0ec336
* Merge "Cleanup SystemReady in the network stack" am: e0ef7ce4f7 am: 4b130e8567Chalard Jean2019-04-011-0/+5
|\ | | | | | | | | | | am: aafb4b0576 Change-Id: I0e57236ede9dd176cd30ea034d05205776662c91
| * Cleanup SystemReady in the network stackChalard Jean2019-04-011-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The system server (in SystemServer.java) defines the boot sequence, during which an event called SystemReady happens. This corresponds to a time when critical system services that are depended upon by other components in the system server are ready to handle requests from their dependencies. Some system services are listening to this event to defer initializations that depend on the critical services. Because the network stack is only started after SystemReady, there is no way any NetworkMonitor may be started before SystemReady. Remove the associated mechanism. Fix: 129376083 Test: FrameworksNetTests Change-Id: I071eeb10d0b7c4f71af6653d322c7b442b2cc7ee
* | API review followup: DynamicAndroidClientPo-Chien Hsueh2019-03-211-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some API changes per API reivew: - Move DynamicAndroidClient and ~Manager to android.os.image. - Rename them to DynamicSystemClient and ~Manager. - Rename permission MANAGE_DYNAMIC_ANDROID to MANAGE_DYNAMIC_SYSTEM - Corresponding changes in the installation service. - Corresponding changes in privapp-permissions-platform.xml. - Add missing annotations. - Change setOnStatusChangedListener's parameters order. - Improve documentations. - Re-generate api/system-current.txt. Bug: 126613281 Test: adb shell am Change-Id: Ia920e9ccf6de1dbbd38c52910cb72cb81b9b5b32
* | Merge "Don't start AttentionService if not configured"Alex Salo2019-03-201-4/+12
|\ \
| * | Don't start AttentionService if not configuredAlex Salo2019-03-181-4/+12
| | | | | | | | | | | | | | | | | | | | | Bug: 126472143, 111939367 Test: manually Change-Id: Iffbda6c38a3aca88599bc544c079cc8b6e39f2ff
* | | Merge "Move the IpMemoryStore to the network stack." am: 93bf5ef495 am: ↵Xiao Ma2019-03-191-9/+0
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | 5db1518bfa am: 3176d57308 Change-Id: I243056012d2f099d96a33657c0eb63a5b66a2cfe
| * | Move the IpMemoryStore to the network stack.Chalard Jean2019-03-181-9/+0
| | | | | | | | | | | | | | | Test: atest FrameworksNetTests Change-Id: Ic5bd6ff54b09a6fa92b6863f240a5b053011acb6
* | | Merge "Initialize the NetworkStack before WiFi" am: 6d0186de88 am: b07d868c53Remi NGUYEN VAN2019-03-141-0/+8
|\| | | |/ |/| | | | | | | am: 991b27b67b Change-Id: Ia92b6a8b9c2d23b5ea496fa0eca74de3292abd90
| * Initialize the NetworkStack before WiFiRemi NGUYEN VAN2019-03-151-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The NetworkStack needs to be marked as start requested before any client can use it from the system server, so it knows to queue requests until it actually comes up. This fixes a bug introduced in commit: I93315ad31925bd436e21d1eabb21d5967e6aae60 where a client trying to use the network stack in the system server before ActivityManager.systemReady() could block and eventually timeout, resulting in a null INetworkStackConnector. Test: booted, WiFi working Bug: 128620654 Change-Id: Ieca2657373eba78195b387fb266fa0424fce8ada
* | Merge "Move NetworkStack start to AM.systemReady" am: f9cca7dcc2 am: 1091513f93Remi NGUYEN VAN2019-03-111-8/+8
|\| | | | | | | | | | | am: 8f2af18c51 Change-Id: Ibdeef12797eb06fd67dc132e2f3e5a6ad06b38a1
| * Merge "Move NetworkStack start to AM.systemReady"Remi NGUYEN VAN2019-03-121-8/+8
| |\
| | * Move NetworkStack start to AM.systemReadyRemi NGUYEN VAN2019-03-121-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In practice the NetworkStack was not started after ActivityManager#systemReady, since ActivityManager was only scheduling the start (mPendingStarts). Requesting the start too early causes issues for the PackageManager to install updates/rollbacks. Test: flashed AOSP and internal builds, WiFi working Bug: 128331883 Change-Id: I93315ad31925bd436e21d1eabb21d5967e6aae60
| * | Remove calls to VMRuntime methods that are no-ops.Nicolas Geoffray2019-03-051-13/+0
| |/ | | | | | | | | | | | | | | Test: m (Cherry-picked from: 5735cc7a116598eb9eb635857605394f67ef005e) Change-Id: If2e6afe21f6efcb141f3a4428ff9154b68f08a1d Merged-In: Ibe849f56f5fe8af1415dc6c85b484d0edca518ec
| * Remove ConnectivityManager and its usages from NetworkStatsService.Varun Anand2019-03-011-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NSS needed it for getting VpnInfo[], NetworkState[] and activeLinkProperties which it used to query via ConnectivityManager. For VpnInfo[], this was racy as NSS may ignore intermediate changes to a VPN's underlying networks. See http://b/123961098 for more context. It may also lead to deadlocks b/w ConnectivityService and NetworkStatsService. See http://b/126245192 for more info. This change will ensure that NSS is never contending on any of ConnectivityService locks. Bug: 123961098 Bug: 126245192 Bug: 120145746 Test: atest FrameworksNetTests Change-Id: Id1da446b54d95ee68ed14079107b1a10318bcf8b Merged-In: I57e117bb4e9efe491b19d6b5a479f2d58d1c58e6