Commit Graph

727 Commits

Author SHA1 Message Date
Neil Fuller
782a79f47a Fix reliability triggering
Fix reliability triggering in the time zone update
feature. The reliability triggering is there to
resume an update check when things go wrong. For
example, if the device is turned off after a
time zone data app is updated but before the time
zone update process has finished pulling the data
out and installing it in /data. The reliability
trigger happens when the device is idle and will
complete the work.

The idle triggering currently doesn't work as it
was implemented incorrectly.

The code has been changed to use the
JobScheduler to trigger on idle and scheduling
has been made explicit.

Unit tests run with:

make -j30 FrameworksServicesTests
adb install -r -g \
  "out/target/product/marlin/data/app/FrameworksServicesTests/FrameworksServicesTests.apk"
adb shell am instrument -e package com.android.server.timezone -w \
  com.android.frameworks.servicestests \
  "com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner"

Test: See above
Test: Manual testing: adb shell am idle-maintenance, adb logcat/adb shell dumpsys timezone
Test: PTS: run pts -m PtsTimeZoneTestCases
Bug: 65657543
Change-Id: Ibb2c537955d09a5d538c50490dae94a518522f19
Merged-In: Ibb2c537955d09a5d538c50490dae94a518522f19
(cherry picked from commit cd1a109b87)
2017-09-19 17:10:46 +01:00
Przemyslaw Szczepaniak
f9caecd124 Merge "Revert "Revert "Default 'persist.sys.timezone' property to GMT if not set on init."""
am: 82d2bd4e40

Change-Id: I8d1fe014fdc3cfd190c5ce95ec963fa8c038552c
2017-08-03 10:30:05 +00:00
Przemyslaw Szczepaniak
fbe00fa62b Revert "Revert "Default 'persist.sys.timezone' property to GMT if not set on init.""
This reverts commit 27c461ab3c.

I'm taking alternative approach, telephony code will treat "GMT" value as it would be unset. This is fine because GMT is a synthetic value that would never be set from other sources. 

Change-Id: I889a844bfd75b7730a5d967065d27de03ef3ce2f
Test: flashed device, tested manually 
Bug: 64056758
2017-08-01 11:48:03 +00:00
Neil Fuller
3e928af733 Merge "Alter condition for starting RulesManagerService"
am: a338679173

Change-Id: I442dd6a30f022f92fb3fd8a0a5cca58d4ec77208
2017-07-27 13:35:23 +00:00
Treehugger Robot
a338679173 Merge "Alter condition for starting RulesManagerService" 2017-07-27 13:25:49 +00:00
Przemyslaw Szczepaniak
7dc29d076f Merge "Revert "Default 'persist.sys.timezone' property to GMT if not set on init.""
am: 9b9e823096

Change-Id: I54b658a7911d604af79916f92c8406472e3c9ccb
2017-07-27 13:11:44 +00:00
Przemyslaw Szczepaniak
27c461ab3c Revert "Default 'persist.sys.timezone' property to GMT if not set on init."
Telephony code depends on persist.sys.timezone not being set as a signal 
to deduce a timezone from sim card information.

This reverts commit 20e020536e.

Bug: 64056758
Change-Id: I8db204bcffbdb960124b1ae0e02d53b27dd310a4
2017-07-27 10:37:55 +00:00
Neil Fuller
e0af2bb2bf Alter condition for starting RulesManagerService
Modify the condition used for starting RulesManagerService:
use mOnlyCore rather than disableNonCoreServices. mOnlyCore is
important for the secure lock screen and when mOnlyCore is true
the RulesManagerService cannot perform trust checks. Therefore,
disable the RulesManagerService when mOnlyCore == true.

disableNonCoreServices is apparently not used.

Bug: 64057583
Test: Boot device with time zone updates enabled and with a lock
pattern set.
Merged-In: Idd7cb6e11b1a91dfe7394f6c98f8fa3e0eec9dce
Change-Id: Idd7cb6e11b1a91dfe7394f6c98f8fa3e0eec9dce
2017-07-26 12:15:48 +01:00
Tianjie Xu
d04d501ce7 Merge "Fix the issue that uncrypt isn't called under quiescent mode" into oc-dev
am: f40f297546

Change-Id: I06fa703be593348db7eed68e3905929262e43a9c
2017-06-12 23:55:23 +00:00
Tianjie Xu
3a66fc41e3 Fix the issue that uncrypt isn't called under quiescent mode
OTA fails on fugu under quiescent mode because the reboot reason changes
from "recovery-update" to "recovery-update,quiescent". The new reason
isn't checked in shutdown thread so that shutdown thread doesn't call
uncrypt properly before rebooting into recovery.

Bug: 62324707
Test: Recreated and fixed the "block.map" missing failure on fugu.

Change-Id: I110653cd64dbbdc71e89ead2197bf023a7c054e8
2017-06-12 11:16:59 -07:00
Andreas Gampe
dc7f65ac64 Framework: Remove SamplingProfiler
Remove the very old and unsupported SamplingProfilerIntegration. This
CL removes the code parts.

(cherry picked from commit d52cad2cc9)

Bug: 37272346
Test: m
Test: Device boots
Change-Id: I64d77244b5816ef1f605d19530b96be38f5c1bc6
2017-06-07 20:08:44 +00:00
Andreas Gampe
5085ef71e9 Framework: Remove SamplingProfiler
Remove the very old and unsupported SamplingProfilerIntegration. This
CL removes the code parts.

Bug: 37272346
Test: m
Test: Device boots
Merged-In: I64d77244b5816ef1f605d19530b96be38f5c1bc6
Change-Id: I64d77244b5816ef1f605d19530b96be38f5c1bc6
2017-06-07 11:26:15 -07:00
TreeHugger Robot
f4abac4d8f Merge "Add WearDisplayService to the system server; add a SET_DISPLAY_OFFSET permission." into oc-dev 2017-05-26 21:49:00 +00:00
Nathan Harold
6bebfa708d Merge "[DO NOT MERGE] Do not start the IpSecService" into oc-dev
am: 72cdc9cdae

Change-Id: I7c6360ee53e929e0e03dcd1e1a767d98af94f620
2017-05-24 21:56:36 +00:00
Nathan Harold
41004ff411 [DO NOT MERGE] Do not start the IpSecService
Bug: 37688915
Test: build+boot marlin
Change-Id: I69635c832ac64104d753735a3e22f0442b0fa910
2017-05-23 18:40:29 -07:00
Keun-young Park
0bdd7ae68e Merge "Wait for keyguard draw before stopping boot animation" into oc-dev
am: ff4cc4ebb5

Change-Id: I1c1437f83387aa4974ee991502018f5b59baf248
2017-05-19 20:14:50 +00:00
Keun-young Park
4136d2d54b Wait for keyguard draw before stopping boot animation
- Add check for keyguard drawn before stopping boot animation.
  Otherwise blank screen can happen.
- Bind to keyguard service when sysui is launched to reduce waiting
  time later.
- Increase keyguard timeout to 5 secs if it is not boot completed.
  Otherwise (= normal screen on), keep the current 1 sec.
  This timeout can still lead into blank screen so use bigger timeout
  during boot-up to prevent such case.

bug: 37867510
Test: many reboots

Change-Id: Ibfdc42d295bb1d3f5b4ea316fe5aca9ab875e4be
2017-05-19 09:20:28 -07:00
Abodunrinwa Toki
41564af248 Merge "Remove redundant TextClassificationService" into oc-dev
am: 104590844e

Change-Id: Ib2881e478819eaff8910f5a0982e4f048e4bb7c1
2017-05-09 16:59:38 +00:00
Abodunrinwa Toki
3de110bbb7 Remove redundant TextClassificationService
Text classification is now being done entirely in the app's proccess.
See android.view.textclassifier.TextClassificationManager
Reverts Ic428d00f291e268211866b3fc6b7acbc3eb04e1e

Test: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest
Fixes: 36852122
Change-Id: Iffff3ab6e7d3b761576eb6bdcd5032db34b7a1b2
2017-05-09 13:51:03 +01:00
Neil Fuller
056156f616 Add (disabled) time zone update system server impl
This commit builds on top of prior API commits. It
adds code to the system server, but in a disabled way.

The system server is responsible for monitoring two
(configured) package names: one for the "updater app"
(provided by the platform) and one for the "data app"
(provided by the OEM). When either package changes
the updater app is triggered via a privileged
intent.

The updater is then required to communicate with the
data app and report back to the system server.

Unit tests are included for the major components.

To run:
make -j30 FrameworksServicesTests
adb install -r -g "out/target/product/angler/data/app/FrameworksServicesTests/FrameworksServicesTests.apk"
adb shell am instrument -e package com.android.server.timezone -w com.android.frameworks.servicestests \
    "com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner"

This contains a cherry-pick / conflict resolution of
commit 68f666693a after an automerger skip.
(cherry picked from commit 68f666693a)

Test: See above.
Bug: 31008728
Merged-In: I8f82cdcc2b574778a7e0d0184270f305b69ee17b
Change-Id: I8f82cdcc2b574778a7e0d0184270f305b69ee17b
2017-05-05 17:09:58 +01:00
Neil Fuller
68f666693a Add (disabled) time zone update system server impl
This commit builds on top of prior API commits. It
adds code to the system server, but in a disabled way.

The system server is responsible for monitoring two
(configured) package names: one for the "updater app"
(provided by the platform) and one for the "data app"
(provided by the OEM). When either package changes
the updater app is triggered via a privileged
intent.

The updater is then required to communicate with the
data app and report back to the system server.

Unit tests are included for the major components.

To run:
make -j30 FrameworksServicesTests
adb install -r -g "out/target/product/angler/data/app/FrameworksServicesTests/FrameworksServicesTests.apk"
adb shell am instrument -e package com.android.server.timezone -w com.android.frameworks.servicestests \
    "com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner"

Test: See above.
Bug: 31008728
Merged-In: I8f82cdcc2b574778a7e0d0184270f305b69ee17b
Change-Id: I8f82cdcc2b574778a7e0d0184270f305b69ee17b
2017-05-04 19:46:47 +01:00
Julius D'souza
b9a71dfd38 Add WearDisplayService to the system server;
add a SET_DISPLAY_OFFSET permission.

Merged-In: I253766553a507e2ada7d631501d8d32d863a823f

Bug: 36515029
Test: No build failure; SystemServer loads as usual.
Change-Id: I253766553a507e2ada7d631501d8d32d863a823f
(cherry picked from commit 069f46ca34)
2017-05-01 13:14:56 -07:00
Eugene Susla
0d3dd12fa0 Move CompanionDeviceManagerService to a place of its own
Fixes: 37473452
Test: Ensure companion devi9ce functionality still works
Change-Id: I89624217373b3e77296c71f9429387d99d15e236
2017-04-18 12:00:11 -07:00
Andrew Scull
e52a1bfede Merge "Service for OEM lock management." into oc-dev 2017-04-14 11:31:06 +00:00
TreeHugger Robot
a402d6dd2f Merge "Add autofill feature API" into oc-dev 2017-04-12 21:17:33 +00:00
Svet Ganov
43574b03e5 Add autofill feature API
We now have a software feature for autofill which can be used
by partners to disable it on low-end devices or form factors
for which autofill doesn't make sense.

bug:35956220

Test: manual (requires a custom build)

Change-Id: I6c06462ed9ca3ae93331700dce38a8c08dfd0722
2017-04-12 09:53:38 -07:00
Conrad Chen
307bec8572 Merge "TIF: add TvInputManager methods to notify apps" into oc-dev 2017-04-12 00:25:37 +00:00
Conrad Chen
558acf96db TIF: add TvInputManager methods to notify apps
Adds TvInputManager methods to notify apps with protected broadcasts
for:
1. Disabling browsable state of preview and watch next programs.
2. Adding preview programs to watch next programs.

Test: build and verify manually to check if notifications are
      broadcasted.
Bug: 35881266

Change-Id: I20fd5b63f42b2c74277315bbbd251b71c649e5c1
2017-04-11 12:03:04 -07:00
Joel Fernandes
2d314e15c9 Set android.display thread to top-app cpusets and schedtune group
android.display being in the foreground cpuset group is an issue. As
seen on M/S, during heavily CPU load it is not given core 3 even though
it might be free and causes jank. This patch adds the thread to the
top-app group to ensure it is placed on all cores during scheduling
decisions.

Doing this required a couple of changes:
- new API to set per-thread cpusets
- changes to DisplayManagerService to set the thread to top-app group
- changes to SystemServer to set the policy toward the end, as doing it
  during start of the DisplayManagerService was in issue (issue being
  SystemServer calls setSystemProcess.. -> setProcessGroup which overrides
  the group settings for threads in the system server process, including
  android.display)

Bug: 36631902
Test: Boot and make sure android.display thread is in the top-app group

Change-Id: Icc394ea0ffcf159d11728ad38de114234a29d20f
Signed-off-by: Joel Fernandes <joelaf@google.com>
(cherry picked from commit 474d311cb0)
2017-04-06 21:19:25 +00:00
Nathan Harold
a8a74e25dd Fix Log Traces for IpSecService
Bug: 36920223
Test: boot and see full log
Change-Id: I1ac53f172094082c53b53a950058c862d257b7e5
(cherry picked from commit d3e3f1593a523d488c76be2494d94a399e52dc9d)
2017-04-05 11:21:25 -07:00
Wei Wang
75ed75c3d7 SystemServer: fix StartIpSecService trace and log
Bug: 36920223
Test: boot and see log
Change-Id: I9b88564ac7eef6998af465b977fa66c7d0787cf2
(cherry picked from commit 90f4c0907e8f746f0f840e76057f84ec20adf46d)
2017-04-05 11:21:25 -07:00
Nathan Harold
cbb58ecc86 Add a Skeleton IpSecService
-Add IpSecService with the necessary glue to connect to netd
-Add code to retrieve IpSecService from System Server

Bug: 30984788
Test: b/34812052, b/34811227
Change-Id: I4cdcb643421141202f77a0e2f87a37012de0cd92
(cherry picked from commit 28084d89ec)
2017-04-05 10:23:27 -07:00
TreeHugger Robot
2ac9698271 Merge "Reorganize font enumeration API." into oc-dev 2017-04-04 16:49:56 +00:00
Seigo Nonaka
ff55115121 Reorganize font enumeration API.
This CL cleans up APIs around font variation settings.
- Remove FontConfig and FontManager public API.
- Remove FontManagerService from system service.
- Extract inner class FontConfig.Axis as top-level class FontVariationAxis.
  This is used by Typeface.Builder public API to create new Typeface.
- Introduce and expose FontVariationAxis utility functions from/to string.
- Throws if the invalid font variation settings is passed.

Test: android.text.cts.FontVariationAxisTest passes
Test: android.graphics.cts.TypefaceTest passes
Test: android.graphics.cts.PaintTest passes
Change-Id: I9ccafe7a53935960566243e2856e166878ca59ae
2017-04-03 13:55:07 -07:00
Andrew Scull
3b8b46f3a4 Service for OEM lock management.
The new service separates OEM lock management from the implementation.
Currently, a user restriction (DISALLOW_OEM_UNLOCK) and the persistent
data block have been used to implement OEM lock management. In future,
other implemention will be used e.g. a secure element.

The new API also allows for a signature to be passed when changing
whether the device is allowed to be OEM unlocked by the carrier which
can be used for cryptographic protection of the flag.

Bug: 34766843
Test: gts-tradefed run gts -m GtsOemLockServiceTestCases -t com.google.android.oemlock.gts.OemLockServiceTest
Test: cts-tradefed run cts -m CtsPermission2TestCases -t android.permission2.cts.PrivappPermissionsTest
Change-Id: I01660d7605d297f273d43436ca03d64ff611b6cf
2017-04-03 19:10:59 +01:00
Nathan Harold
4fdc7d5ddd Merge commit 'ce073d70bedc' into stage-aosp-master
Change-Id: I319034a5b77de5cf71de0e110bb17819fb907f1b
2017-03-29 16:04:31 -07:00
Nathan Harold
1afbef40c6 Add a Skeleton IpSecService
-Add IpSecService with the necessary glue to connect to netd
-Add code to retrieve IpSecService from System Server

Bug: 34811227
Test: Service boots (and dumpsys works), more via b/34811227
Merged-In: I4cdcb643421141202f77a0e2f87a37012de0cd92
Change-Id: I4cdcb643421141202f77a0e2f87a37012de0cd92
2017-03-29 11:31:27 -07:00
Adam Lesinski
a82b62678a Themes: Apply themes to system_server safely
Creates a new UI Context for UI based operations.
This UI Context is wired up the same way a normal app
Context would be, and is subject to change when overlays
are enabled/disabled.

For this reason, only UI should be using this new Context.
All other operations should be using the original system Context
so that changing themes don't impact the regular operations of
system_server.

Also added some sanity checks at key places where we show UI
(ShutdownThread, BaseErrorDialog).

Bug: 36059431
Test: $ adb shell am crash com.android.settings
Test: Observe crash and power off dialogs are blue with PixelTheme
Change-Id: I87227ee2e0be1e72dcde8f482b37725cb687260b
2017-03-28 17:31:00 -07:00
TreeHugger Robot
5e01870015 Merge "Unbind from service on app killed and dedup association requests" 2017-03-27 18:43:37 +00:00
Eugene Susla
a38fbf63fd Unbind from service on app killed and dedup association requests
1. Listen to calling package binder death stopping the scanning on that.
2. Don't restart scanning when a request with the same values was made.

Bug: 30932767
Test: 1.:
  - Using a test app start scanning and kill the app.
  - In debug mode ensure that DeviceDiscoveryService#stopScan gets triggered
2.:
  - Start scanning and rotate the device while device chooser is visible
  - Ensure no visible loss of state is happening
Change-Id: If126a2c963da90172a956fbd88e6b3dcd7ac8b01
2017-03-24 14:03:17 -07:00
TreeHugger Robot
b202b5c35c Merge "Forward package removed broadcast to KeyChainService" 2017-03-23 21:37:00 +00:00
Robin Lee
139354905d Forward package removed broadcast to KeyChainService
Test: Cts Verifier > Security > KeyChain Test
Test: Manually uninstall and reinstalling Chrome
Bug: 35968281
Change-Id: I1692f7042f081d1a743e0e64ea24fe1dbe63192d
2017-03-23 15:36:16 +00:00
Przemyslaw Szczepaniak
bc7875144f Merge "Default 'persist.sys.timezone' property to GMT if not set on init." am: 302b7a7075 am: 2f5a9febf4
am: 0276998354

Change-Id: I31eb2810b3cbc8a9ce5bf7c23ab821d68c8edbcc
2017-03-23 14:35:30 +00:00
Przemyslaw Szczepaniak
0276998354 Merge "Default 'persist.sys.timezone' property to GMT if not set on init." am: 302b7a7075
am: 2f5a9febf4

Change-Id: I43c05ca3f139fce4e08c7c40cc3823821341d176
2017-03-23 14:29:17 +00:00
Przemyslaw Szczepaniak
2f5a9febf4 Merge "Default 'persist.sys.timezone' property to GMT if not set on init."
am: 302b7a7075

Change-Id: I3eba21ec64878deda2d3465fcac96384241f27aa
2017-03-23 14:23:53 +00:00
Przemyslaw Szczepaniak
20e020536e Default 'persist.sys.timezone' property to GMT if not set on init.
Test: make, flashall -w and tested persist.sys.timezone value
Bug: 36488101
Change-Id: I6d0dab1e247dd7c303153bbe0e997581e36a973d
2017-03-22 18:02:30 +00:00
Jason Monk
361915c727 Move global actions to sysui and add plugin interface
- Move default global actions ui to sysui
 - Add fallback legacy interface in case sysui breaks
 - Switch to fallback if sysui dies or isn't responding

Test: Long-press power
Change-Id: I943522611de5dbbee61e66c67cf3a56379091e97
2017-03-22 09:41:34 -04:00
Eugene Susla
9f29617d58 Merge "Add system feature for Companion Device Manager" 2017-03-21 23:58:35 +00:00
Calvin On
9a74e5daf0 resolve merge conflicts of 94a93087c6 to master
Change-Id: Ib2e97ef56b78e4492e1f8392ee294cb293941320
2017-03-21 13:46:35 -07:00
Calvin On
94a93087c6 Remove the now-empty WearBluetoothService from SystemServer am: 3bcc688bce
am: 9a80c1799c

Change-Id: I5d6bff145f0f77b75184dd9e794130ff70509b58
2017-03-21 20:28:22 +00:00