Commit Graph

2856 Commits

Author SHA1 Message Date
TreeHugger Robot
169f367125 Merge "Don't convert all sounds to vibrations in vibrate mode" into oc-mr1-dev 2017-09-26 23:04:24 +00:00
Bryce Lee
d71227355e Merge "Restrict when a window receives new Configurations." into oc-mr1-dev 2017-09-26 00:12:15 +00:00
Bryce Lee
2b17afd330 Restrict when a window receives new Configurations.
It is possible that a window will relayout while it's being hidden,
but after the Configuration has changed. In this case, the window can
receive an updated Configuration incompatible with its settings.
Additionally, an Activity's window may relayout and receive a
Configuration during resume after its visibility has changed but
before the Configuration has been updated based on the current
AppWindowTokens.

This changelist addresses these issues by first only sending an
updated Configuration to the client if the associated AppWindowToken
is not requested to be hidden. In this case, the last reported
Configuration is returned instead. For the resume issue, we
address the race condition by making setting the visibility and
updating the configuration synchronized.

Fixes: 64916689
Test: go/wm-smoke
Test: place clock widget on launcher, launch landscape only activity,
      return to launcher, verify layout.

Change-Id: Ie07068be64120c2fdbe380d58af330372df6a1ab
2017-09-25 13:17:10 -07:00
Adrian Roos
73c93f02f7 Merge "FRP: Add config flag for disabling credential FRP" into oc-mr1-dev 2017-09-25 18:33:01 +00:00
Adrian Roos
2adc263ce9 FRP: Add config flag for disabling credential FRP
Bug: 65258606
Test: Verify FRP still works when not disabled
Change-Id: I78e308b6eaba73c794615b1eebdbfacb334ae72f
2017-09-25 13:32:48 +02:00
Julia Reynolds
8617e4ec9e Bump the importance of foreground service notis
Unless the user has chosen an importance.

Change-Id: Ibe82c91c6a98a75fc623784300f3f906879e8a80
Fixes: 65640487
Test: runtest systemui-notification
2017-09-22 15:05:39 +00:00
Julia Reynolds
85896573a8 Don't convert all sounds to vibrations in vibrate mode
Only those that are on the notification/ringer stream.

Change-Id: Id99c613a6de42ac8ed1d674b4c6e05067d9cf52c
Fixes: 65815310
Test: runtest systemui-notification
2017-09-22 08:35:21 -04:00
Neil Fuller
36e5c8e7ed Merge "Fix reliability triggering" into oc-mr1-dev 2017-09-20 15:36:47 +00:00
Christine Franks
1276f357d3 Merge "Handle night display state when timezone changes" into oc-mr1-dev 2017-09-20 00:23:28 +00:00
Bryce Lee
1c2a6921c0 Merge "Consider task's root activity when determining if resizable." into oc-mr1-dev 2017-09-19 23:21:54 +00:00
Bryce Lee
1533b2b2f9 Consider task's root activity when determining if resizable.
We consider an activity resizable if the root activity of the its
parent task is resizable. This changelist adds this condition to
consideration.

Change-Id: I4162ff7eb6cad3f4a3f9fdf35ccc0b0d2383ff15
Fixes: 65668913
Test: bit FrameworksServicesTests:com.android.server.am.ActivityRecordTests#testCanBeLaunchedOnDisplay
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test CtsServicesHostTestCases android.server.cts.ActivityManagerDisplayTests#testLaunchNonResizeableActivityFromSecondaryDisplaySameTask
2017-09-19 23:21:09 +00:00
Christine Franks
2ce862c3ed Handle night display state when timezone changes
Bug: 64458884
Test: runtest -c com.android.server.NightDisplayServiceTest \
frameworks-services and manually tested Hawaii and London

Change-Id: I052034a4c64eb73c42672215e8847c11e00efeb5
2017-09-19 14:37:26 -07:00
Neil Fuller
933845c480 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 16:12:57 +00:00
TreeHugger Robot
bbd01422d3 Merge "Move VR Display Policy check to after wakefulness." into oc-mr1-dev 2017-09-18 22:23:58 +00:00
Santos Cordon
21e9f2b2db Move VR Display Policy check to after wakefulness.
Being in VR was preventing sleep and doze functionalities to function.
Sleep and doze is what commonly happens when the user hits power button
and without this fix hitting the power button resulted in PowerManager
not turning off the display.

Bug: 65635259
Test: Manual.  Ensure that hitting power button while in 2D-in-VR turns
screen off on smartphones.
Test: runtest --path
frameworks/base/services/tests/servicestests/src/com/android/server/power/PowerManagerServiceTest.java

Change-Id: If3a14a5a423b0394926b323b97ed11b98177e43b
2017-09-18 11:38:24 -07:00
Neil Fuller
249b2e35a9 Fix a no-op uninstall being treated as a failure
Treat a stageUninstall() doing nothing as a success, not a
failure. This prevents the system retrying the uninstall
later.

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 dumpsys timezone
Test: PTS: run pts -m PtsTimeZoneTestCases
Bug: 65657176
Merged-in: Ifd205da90e848552711ac3f4207cd22ad2c2747b
Change-Id: Ifd205da90e848552711ac3f4207cd22ad2c2747b
(cherry picked from commit 8e27c9226b)
2017-09-15 12:52:18 +00:00
Julia Reynolds
4552300ef2 Trim invalid users
Change-Id: Ie7eab5c38ed7c6a58dcf2fa8c568fb576306852a
Fixes: 64725440
Test: runtest systemui-notification
2017-09-12 10:45:21 -04:00
Shubham Ajmera
727aaa36b6 Handle '&' in DexoptUtils#encodeClassLoader
For system apps, we pass '&' for CLC.
The method was treating this as a path as a result we were getting
wrong encoding for CLC.
This was causing dexopt failures for A/B OTA.

Removed the secondary dex file dexopt till we fixed it.

Bug: 65067046
Test: runtest.py -x \
  frameworks/base/services/tests/servicestests/src/com/android/server/pm/dex/DexoptUtilsTest.java
(cherry-picked from commit 557c054935)
Change-Id: I9aa440750c811676c86d8c6d0d451077d0edf5a0
2017-09-11 13:55:27 -07:00
Calin Juravle
ed54b41e3c Merge "Handle configuration splits when creating the class loader context" into oc-mr1-dev 2017-09-08 21:55:28 +00:00
Fyodor Kupolov
f6b8e4fda5 Merge "Introduced AppRestrictionsLock" into oc-mr1-dev 2017-09-07 17:30:54 +00:00
Calin Juravle
da09815e2c Handle configuration splits when creating the class loader context
Configuration splits have no dependencies which can lead to exceptions
when computing their class loader context.

In general, we do not need to compute the class loader context for apks
without code.

This CL addresses the issue by ignoring "code" paths with no actual code.

Bug: 65159159
Test: adb install-multiple config_splits
      runtest -x
services/tests/servicestests/src/com/android/server/pm/dex/DexoptUtilsTest.java

Change-Id: Ida1eb901eecba4a4266de73022f6ee4659367873
2017-09-06 23:31:53 -07:00
Fyodor Kupolov
d31cee9aae Introduced AppRestrictionsLock
It is used to serialize access to app restrictions state and reduce
contention on PM lock.

Bug: 65096648
Test: com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testApplicationRestrictions
Change-Id: I87c364e641e511f6cbe1e55f4fa3aa12c453c08f
2017-09-06 11:31:17 -07:00
Rubin Xu
2e21fba2b5 Merge "Fix resetPasswordWithToken before user unlock" into oc-mr1-dev 2017-09-06 12:12:36 +00:00
Rubin Xu
7cf4509c31 Fix resetPasswordWithToken before user unlock
1. Fix system server crash when resetPasswordWithToken is called before use
   unlock, due to DPMS enforces user is unlocked when calculating password
   sufficiency.
2. Propogate new password metric from LockSettingsService to DPMS after a
   password reset with token, and fix a bug where stale quality was used.

Bug: 64923343
Bug: 64928518
Bug: 65286643
Test: cts-tradefed run cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.ManagedProfileTest#testResetPasswordWithTokenBeforeUnlock
Test: cts-tradefed run cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testResetPasswordWithToken
Test: runtest frameworks-services -p com.android.server.locksettings
Test: cts-tradefed run cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.DeviceAdminHostSideTestApi24#testRunDeviceOwnerPasswordTest
Test: runtest frameworks-core -c android.app.admin.PasswordMetricsTest
Test: runtest frameworks-services -c com.android.server.devicepolicy.DevicePolicyManagerTest
Change-Id: Ibb3736547b3b36da4a8a67af711e08a38427aa56
2017-09-05 14:49:00 +01:00
Bryce Lee
9f6affdde2 Do not consider overlays when finding task to reuse.
An overlay should not be considered the top activity in a task when
considering a task when launching an activity. Doing so will alter
the behavior of launch modes, such as singleTop and singleTask. In
these cases, the developer has chosen such mode with the expectation
that their task will not have activities from other tasks placed on
top, which is the case for features such as locking a work profile.

This changelist addresses the issue by not considering an overlay to
be the top activity when finding a task based on ActivityRecord.

Fixes: 64839155
Test: bit FrameworksServicesTests:com.android.server.am.ActivityStackTests#testFindTaskWithOverlay
Change-Id: I2684baf6929e5af321404e2eef597f456ff87ee8
2017-09-04 22:32:26 -07:00
Winson Chung
ab76bbc211 Ensure that PiP mode changed callback if animation is interrupted
- If a PiP enter animation callback is interrupted, the activity is never
  actually put into PiP mode, and will never receive
  onPictureInPictureModeChanged(false) even if enterPictureInPictureMode()
  returns true due to the change being deduped (it was never in that mode).
  In this specific case, force a callback to be made to the app so that it
  has a signal that it is no longer in PiP mode.

Bug: 63749396
Test: bit FrameworksServicesTests:com.android.server.wm.BoundsAnimationControllerTests
Test: android.server.cts.ActivityManagerPinnedStackTests
Test: #testEnterPipInterruptedCallbacks

Change-Id: I301c70e4fb0f2175dd6d7b5feae065b41df2878d
2017-08-31 18:49:25 +00:00
Bryce Lee
02584a23b3 Merge "Remove activity from stopping activities once resumed." into oc-mr1-dev 2017-08-29 17:13:58 +00:00
TreeHugger Robot
b6cf707632 Merge "Don't autogrant permissions on managed profiles" into oc-mr1-dev 2017-08-28 15:00:48 +00:00
TreeHugger Robot
b952c7557e Merge "Test for writing and loading reduced resolution task snapshots" into oc-mr1-dev 2017-08-24 18:38:07 +00:00
Julia Reynolds
5aa13a4dfb Don't autogrant permissions on managed profiles
These services run on the parent profile and act on
both. Also cean up approval lists on user removal.

Test: manual, runtest systemui-notification
Bug: 64073967
Change-Id: If3d2b36d57e98358bcaf80e7a8885ee7d25c2a4b
2017-08-24 14:33:01 -04:00
Matthew Ng
3531dd064b Test for writing and loading reduced resolution task snapshots
Added a test to write and load only low resolution task snapshots if the
snapshot's flag of reducedResolution is set to true. Then verify only
the low resolution bitmap is saved and not the full sized. This is for
the change ag/2579729.

Test: runtest frameworks-services -c
com.android.server.wm.TaskSnapshotPersisterLoaderTest
Bug: 63940837
Change-Id: I685046bdac0cddb9e24271152c91e7912c595e7f
2017-08-23 16:49:29 -07:00
TreeHugger Robot
ee580764ad Merge "Use all certs for computing package signing sha256" into oc-mr1-dev 2017-08-23 22:51:41 +00:00
Svetoslav Ganov
cdd685c075 Use all certs for computing package signing sha256
In several places we compute the sha256 of the app's signing certificate
(instant cookie storage, backup account permission grants, static shared
lib matching). It is possible that an app is singed with multiple certs
which unfortunately can appear in a random order. We were using only the
first certificate to compute the hash which may be problematic for apps
signed with multiple certs which are later reordered. If an app update's
certs are reordered for cookie storage the app would not be able to
access the cookie, for account grants the app would not get the grant,
and for shared libs the app would fail to install due to a missing lib.

Test: all cookie CTS tests pass
      all static shared lib CTS tests pass
      added test that cookie data not lost on sha256 computation change
      added test that lib install works when specifying
      multiple certs

bug:64270295

Change-Id: Ib6b55f25da735ff5c2762faf6e9b5888e749041d
2017-08-23 11:47:27 -07:00
David Stevens
bc06e43c49 Merge "Fix activity manager timeout during shutdown" into oc-mr1-dev 2017-08-23 01:58:36 +00:00
David Stevens
18abd0ef7e Fix activity manager timeout during shutdown
Flip the return value for ActivityStack.goToSleepIfPossible from true if
something needs to be done to true if the stack successfully went to
sleep. An incorrect check in ActivityStack.checkReadyForSleep was
causing ActivityStackSupervisor to sometimes not get notified when a
stack finished stopping during shutdown. Also, no-delay calls to
ActivityStackSupervisor#checkReadyForSleepLocked would fail to put
activities to sleep.

BUG: 64756886
Test: go/run-boottest
Change-Id: Icec590ed9a0e0f035881b7eb03a280787dcfced1
2017-08-22 16:08:36 -07:00
TreeHugger Robot
a743c01d00 Merge "Solve AppBackupUtils.signaturesMatch() policies" into oc-mr1-dev 2017-08-22 19:12:17 +00:00
Bernardo Rufino
cbcc34e4da Solve AppBackupUtils.signaturesMatch() policies
Now we reject unsigned apps, either source or target. Also
added javadoc.

Bug: 37977154
Test: runtest -p com.android.server.backup frameworks-services
Change-Id: I44df43d5322ae64d97f8b19c20db508033301f91
2017-08-22 15:54:04 +01:00
TreeHugger Robot
626b8c371b Merge "Use top fullscreen window to inherit SystemUI flags" into oc-mr1-dev 2017-08-21 16:21:52 +00:00
Jorim Jaggi
87fdbcbecb Use top fullscreen window to inherit SystemUI flags
The top fullscreen window of an app token is the one we use for
determining SystemUI flags normally. Thus, when showing the
snapshot, we need to inherit the flags from the same window.

Test: Open event in Calendar, go home, reopen Calendar app,
observe no status bar icon color change.
Test: go/wm-smoke

Change-Id: I96678000339617c8fc51e72c0f6e2e167f542491
Fixes: 62871307
2017-08-21 15:33:20 +02:00
Bryce Lee
29a649da5f Remove activity from stopping activities once resumed.
Previously we were waiting for the activity to become visible before
removing from this list. This can lead to a race condition where the
activity is resumed and the stopping activities are cleaned up. If
the activity has not become visible, the resumed activity will be
stopped.

This CL addresses the issue by removing the activity from the
stopping activities list once resume has completed.

Change-Id: Ic33906327e538920961e60064a6ae976864509be
Fixes: 63804822
Test: bit FrameworksServicesTests:com.android.server.am.ActivityStackSupervisorTests#testStoppingActivityRemovedWhenResumed
2017-08-18 13:52:31 -07:00
TreeHugger Robot
54ff7e7582 Merge changes I36636687,I4c45f787 into oc-mr1-dev
* changes:
  Doc updates
  Translate default channel on locale change
2017-08-17 15:54:52 +00:00
Sudheer Shanka
1c18b56520 Merge "Fix and enable ConnOnActivityStartTest." into oc-mr1-dev 2017-08-17 04:49:04 +00:00
Sudheer Shanka
734b0b7163 Fix and enable ConnOnActivityStartTest.
- Set parole duration to 0 so that it won't affect app standby test.
- Use a bound service to send commands to test app instead of broadcasts.
- Remove code to install/delete test app as it will be done as part of tests
  initialization.

Bug: 38432755
Test: forrest --extra_args='--class com.android.server.net.ConnOnActivityStartTest' \
      test FrameworksServicesTests
Change-Id: Ic6cd574a60c4449195f2c8cd4e04b9cb47f225c8
Merged-In: Ic6cd574a60c4449195f2c8cd4e04b9cb47f225c8
2017-08-16 19:11:22 -07:00
David Stevens
341cd735cb Merge "DO NOT MERGE Let external activities run when the primary display is off" into oc-mr1-dev 2017-08-16 23:15:05 +00:00
TreeHugger Robot
d87e79aae6 Merge "Optionally append managed service approvals" into oc-mr1-dev 2017-08-15 21:22:21 +00:00
TreeHugger Robot
3d141421f8 Merge "Improved WallpaperService.Engine tests" into oc-mr1-dev 2017-08-15 20:24:27 +00:00
David Stevens
f62360cafa DO NOT MERGE Let external activities run when the primary display is off
- Make activity sleep state independent of power manager wakefulness
  state. The state is now entirely dependent on sleep tokens (and the
  voice interactor).
- Make sleep tokens operate on a per-display basis (and convert the
  keyguard to a sleep token).
- Make ActivityStackSupervisor acquire/release sleep tokens for
  non-default displays when the displays are turned on/off.
- Make WindowManagerService.okToDisplay operate on a per-display basis.

Bug: 34280365
Test: android.server.cts.ActivityManagerDisplayTests
Test: #testExternalDisplayActivityTurnPrimaryOff
Test: #testLaunchExternalDisplayActivityWhilePrimaryOff
Test: #testExternalDisplayToggleState
Change-Id: I92086d7006a67b4b4f320c9bb3aa606954f85012
(cherry picked from commit 9440dc87a6)
2017-08-15 18:57:48 +00:00
Julia Reynolds
fa206a4d12 Optionally append managed service approvals
If the backup comes from a pre O device, don't wipe
preexisting managed service grants (which were introduced
in O).

Test: runtest systemui-notification
Change-Id: Ie569972dc0d076718a3a9c59e1ebd942c5bfa987
Fixes: 64232609
2017-08-15 14:57:09 -04:00
Julia Reynolds
816797abb9 Translate default channel on locale change
Change-Id: I4c45f7879d0c68e866b5d55a4fbb2402f62159a2
Fixes: 64025105
Test: runtest systemui-notification
2017-08-15 14:57:09 -04:00
Lucas Dupin
416fe954e9 Improved WallpaperService.Engine tests
Using final variables when possible, also testing if
overlaping invalidation requests will be posted to
the handler.

Bug: 63585249
Test: runtest -x services/tests/servicestests/src/com/android/server/wallpaper/WallpaperServiceTests.java
Change-Id: I01cdbdfd5313e55d7a58c77f705aea0f6f817518
2017-08-15 10:19:48 -07:00