Commit Graph

10643 Commits

Author SHA1 Message Date
TreeHugger Robot
29c70437b3 Merge "Add new facility to find out when a PendingIntent is canceled." into oc-dev 2017-04-13 20:01:32 +00:00
Dianne Hackborn
f66adfd1cd Add new facility to find out when a PendingIntent is canceled.
This is just an internal API in the platform, not (yet?) available
in the SDK.  But it will be useful for system services that want to
clean up state if a pending intent that has been registered with them
is canceled (either explicitly by the app, through the app being
uninstalled, etc).

Also improve the activity manager's dump of pending intents to
organize them by package, making it much easier to read (now that
we have so many active pending intents these days).

Test: ran and booted.  no CTS, since no API.

Change-Id: Iad029cfedcd77e87357eca7da1b6ae94451dd981
2017-04-13 11:04:30 -07:00
Julia Reynolds
184b86da38 Allow notification channels to be silent.
This better accomodates those apps that play their own sounds.
Since most apps don't play their own sounds, update the documentation
on notificationchannel to add guidance about when they should add a
sound.

Fixes: 37237013
Test: runtest systemui-notification
Change-Id: If00b15b1b44da66d24dacb2895e9a6c0a06d1890
2017-04-13 11:03:57 -04:00
TreeHugger Robot
bb14fb9acb Merge "Add hidden API startActivityForResultAsUser" into oc-dev 2017-04-13 12:13:03 +00:00
TreeHugger Robot
a402d6dd2f Merge "Add autofill feature API" into oc-dev 2017-04-12 21:17:33 +00:00
Dianne Hackborn
ad6ab44e15 Merge "Add API to get a uid's current importance." into oc-dev 2017-04-12 21:11:46 +00:00
Charles He
9f074e2224 Merge "Disallow direct-boot aware activities to bypass work lock" into oc-dev 2017-04-12 18:25:49 +00:00
Dianne Hackborn
0a0a63c8b1 Merge "Add new "work queue" feature to JobScheduler." into oc-dev 2017-04-12 17:55:56 +00:00
Dianne Hackborn
83249ec4f1 Add API to get a uid's current importance.
This is kind-of useful to go along with monitoring
uid importance changes.

Test: none yet

Change-Id: Ic0f8418955d17ea21d06f49dcd9641bc5f32387b
2017-04-12 10:54:31 -07: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
Charles He
e7c5ced211 Disallow direct-boot aware activities to bypass work lock
Effectively reverting 89927b3cd9, which
allowed direct-boot aware activities in the work profile to show before
the profile was unlocked. This causes problems with key eviction
introduced in O. Specifically, many system activities (e.g.
ChooserActivity, activities in Settings, etc.) are marked direct-boot
aware, and therefore can be started while the work profile is locked
with key evicted. Currently they either bypass the keyguard when they
should not, or simply crash due to profile still being locked.

In the future, we need to create a new mechanism to allow activities
such as video calls, alarm clocks, etc. to bypass the work keyguard. It
probably involves checking for something like FLAG_SHOW_WHEN_LOCKED.

Bug: 36961785
Bug: 35708183
Bug: 30296144
Test: manual, by following the steps in the bugs quoted
Test: runtest -c com.android.server.am.ActivityManagerServiceTest frameworks-services
Change-Id: I5ccaaf963f3dd96e4abb785a10aa258b15363178
2017-04-12 17:35:07 +01:00
Pavel Grafov
a9a2bbc647 Merge "Improve javadocs for SecurityLog class." into oc-dev 2017-04-12 12:33:52 +00:00
Tony Mak
96d26fe3c5 Add hidden API startActivityForResultAsUser
Bug: 37197930

Test: runtest -x cts/tests/app/src/android/app/cts/FragmentReceiveResultTest.java
      This verified existing startActivity* public APIs are still working
Test: The new hidden API is used/verified by the CLs under the same topic.

Change-Id: I2aca2823ecf26dc8a9318b3783b6041796c02582
2017-04-12 09:44:37 +01:00
Dianne Hackborn
7da13d7c3e Add new "work queue" feature to JobScheduler.
This gives semantics similar to the start command
queue of services.

The implementation is currently lacking in URI permission
grant handling of the work intents; that will be coming
in a follow-up change.

This includes a first step of adjusting/fixing locking
within JobSchedulerService.  The JobServiceContext class
has a bunch of stuff it does that assumes it doesn't need
locking because it schedules the work on a handler.  However,
to be able to correctly implement the work finish flow (that
takes care of stopping the job when there is no more work),
we can't dispatch these asynchronously so need to get rid of
that and just do explicit locking.

The switch to explicit locking is half-way there (again the
remaining part will be a follow-on CL).  Right now we have
the locking, but still also the handler.  But it turns out
there were a number of things we were doing without a lock
held where we actually should have been holding a lock, so
this is better anyway.

Test: new tests added

Change-Id: Iebd098046209b28e60fd2f4d855d7f91cd3a8b03
2017-04-11 13:57:15 -07:00
Julia Reynolds
73ed76bc6f Allow companion device mgrs channel access
- Callbacks when channels and groups are modified
- Allow them to read and update channels and groups

Test: runtest systemui-notification
Change-Id: Ie4d02bd4583f71f9faf27603bcc59a1ec0eeaf46
2017-04-11 19:08:59 +00:00
Adam Lesinski
fa7b34395c Merge "Make sure system UI context has the same LoadedApk as system context" into oc-dev 2017-04-11 18:30:00 +00:00
TreeHugger Robot
971fe468a4 Merge "Revert "Revert "Handle case when snapshot dimensions don't match""" into oc-dev 2017-04-11 18:16:00 +00:00
Pavel Grafov
73f747ba25 Improve javadocs for SecurityLog class.
Test: checked rendering in Intellij Idea quick doc tooltip.
Bug: 34213443
Change-Id: I108df5af5a9aa05d701f2db6e2b57280f9f134b8
2017-04-11 16:05:25 +01:00
Jorim Jaggi
30d64f3a93 Revert "Revert "Handle case when snapshot dimensions don't match""
This reverts commit ba53d8ae41.

Also fixes that we always had a size mismatch.

Test: TaskSnapshotSurfaceTest
Test: Open app in different orientation than snapshot, make sure
looks ok.

Bug: 36991071
Change-Id: If572b68fd72cec7679984fdff0be5905caba69f4
Fixes: 36703868
2017-04-10 18:10:44 -07:00
Adam Lesinski
6f1a917134 Make sure system UI context has the same LoadedApk as system context
When the system Application object is created, it should be shared by
both system and system UI context.

Bug: 37111478
Test: - Open settings
Test: - adb shell am crash com.android.settings
Test: - with crash dialog open, press volume keys
Test: - observe no crash
Change-Id: I2b4656680d25fe61fee69c01ee10522aac4e2942
2017-04-10 16:35:19 -07:00
Andrii Kulian
c2ec7bf965 Merge "Fix activity move between displays" into oc-dev 2017-04-10 19:20:37 +00:00
Bryce Lee
9c80a16c45 Merge "Update decor LayoutParams when window is already added." into oc-dev 2017-04-10 14:22:53 +00:00
TreeHugger Robot
51785edbe9 Merge "Restore session on new window after app kill" into oc-dev 2017-04-08 02:35:35 +00:00
Andrii Kulian
72790bade5 Merge "Use feature instead of hidden config for multi-display" into oc-dev 2017-04-08 01:51:29 +00:00
Andrii Kulian
51c1b67022 Fix activity move between displays
1. ActivityConfigCallback might not have been registered
because DecorView was not yet attached to window and ViewRootImpl
was not available. In this CL the callback is set as soon as a
DecorView is attached to window.
2. When private display was removed from system, its stacks were
moved to bottom in AM but moved to top in WM.
3. When reparenting stack visibility of activities should be updated
before reparenting in WM, because otherwise WM will be resizing
windows that should no longer visible and reporting it to clients.

Bug: 34164473
Test: android.server.cts.ActivityManagerDisplayTests
Test: #testOnMovedToDisplayCallback
Test: #testContentDestroyOnDisplayRemoved
Change-Id: I6ccc27d873d0d60d7650659fb25cbfcaaeb0fd07
2017-04-07 18:39:32 -07:00
Philip P. Moltmann
eab62baabf Restore session on new window after app kill
Also:
- Give the session an integer ID as the activityToken is not stable over
  restarts of the activity
- Verify that session is only accessed by one UID
- stabilize AccessibilityViewIds over activity lifecycle at least for
  the IDs we can do that. This required to split the ID namespace in
  "per-app" and "per-activity" views. Only the later ones can be
  restored.
- Do not end session when app is killed (as it can be restarted)

Bug: 35484143
Fixes: 36392498
Test: cts-tradefed run cts-dev -m CtsAutoFillServiceTestCases --test=android.autofillservice.cts.SessionLifecycleTest
      cts-tradefed run cts-dev -m CtsAutoFillServiceTestCases
Change-Id: I229acc1b3ce35fb57262da7d7466b5d4328b49d4
2017-04-08 00:48:55 +00:00
TreeHugger Robot
6f36255adc Merge "Do not make strong reference to Resources." into oc-dev 2017-04-07 23:57:29 +00:00
Andrii Kulian
1981f5fd17 Use feature instead of hidden config for multi-display
Using a feature will allow app developers to find out if a
particular device supports running activities on secondary
screens before using the APIs.

Bug: 36776777
Test: android.server.cts.ActivityManagerDisplayTests
Change-Id: I7121bdb782cac9df70121e9df5cbf3fcb76f4a93
2017-04-07 16:23:12 -07:00
Bryce Lee
4b51b3232a Update decor LayoutParams when window is already added.
These values can change for themes that are dependent on the size,
such as the DialogWhenLarge theme. In this case, different layouts
are loaded that could depend on updated LayoutParams.

This CL identifies the case when the layoutparams change and informs
the activity.

Change-Id: Icde8d94cc089ca0c02a15120a860533ef540c850
Fixes: 31643268
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test CtsServicesHostTestCases android.server.cts.ActivityManagerAppConfigurationTests#testDialogWhenLargeSplitSmall
2017-04-07 15:11:12 -07:00
Bryce Lee
fea79005bd Do not make strong reference to Resources.
This CL removes the strong reference added for mapping display ids
and Resources to Displays. Instead, the key pair is now the display
id and ResourcesKey, and the mapping is pruned when key is
invalidated.

Change-Id: If91368171212b28c40e03c15fb39c72412a44811
Fixes: 36625868
Test: make -j32 cts; cts-tradefed; run cts --module CtsAppTestCases --test android.app.cts.DisplayTest#testRotation
2017-04-07 22:06:52 +00:00
Andrii Kulian
4eab3cb11a Merge "Add hidden API to check support of Multi-Display" into oc-dev 2017-04-07 20:22:58 +00:00
Wale Ogunwale
2f2e3f8ad5 Merge "Revert "Do not make strong reference to Resources."" into oc-dev 2017-04-07 19:06:55 +00:00
Bryce Lee
4eb4f05ea9 Revert "Do not make strong reference to Resources."
This reverts commit 2d2315a66d.

Reason for revert: possible cause for b/37156733

Change-Id: I02d468449f0632d1281ab5ad2a381e7e36a5b0ea
2017-04-07 18:44:26 +00:00
Andrii Kulian
597f390681 Add hidden API to check support of Multi-Display
Added ActivityManager#supportsMultiDisplay() to check if system
supports running activities on secondary displays.

Bug: 36776777
Test: android.server.cts.ActivityManagerDisplayTests
Test: #testMultiDisplayDisabled
Change-Id: I18f98f2f6a9e865ad8dc63a470210190536d3271
2017-04-07 11:08:55 -07:00
TreeHugger Robot
5393a0e2d9 Merge changes If96c0146,I0d68ad60 into oc-dev
* changes:
  Improved accessibility behavior of the notification shelf
  Fixed a bug where the indeterminate progressbar janky
2017-04-07 15:59:17 +00:00
Bryce Lee
13acf25cfd Merge "Check component before notifying activity is visible." into oc-dev 2017-04-07 14:58:18 +00:00
TreeHugger Robot
327c0b9f88 Merge "Do not make strong reference to Resources." into oc-dev 2017-04-07 06:21:00 +00:00
Bryce Lee
2d2315a66d Do not make strong reference to Resources.
This CL removes the strong reference added for mapping display ids
and Resources to Displays. Instead, the key pair is now the display
id and ResourcesKey, and the mapping is pruned when key is
invalidated.

Change-Id: I60d767b52de7bbf769f6761f5a3301dd7aff6ddf
Fixes: 36625868
Test: make -j32 cts; cts-tradefed; run cts --module CtsAppTestCases --test android.app.cts.DisplayTest#testRotation
2017-04-06 21:32:31 -07:00
Jason Monk
e7ac324c71 Merge "Revert "Handle case when snapshot dimensions don't match"" into oc-dev 2017-04-06 19:51:12 +00:00
Jason Monk
ba53d8ae41 Revert "Handle case when snapshot dimensions don't match"
This reverts commit aea6b74e17.
Bug: 36991071
Bug: 36703868
Change-Id: Ie71992144e78a6580bfce17dfdf20396af80eacd
2017-04-06 18:30:11 +00:00
Bryce Lee
4a19438955 Check component before notifying activity is visible.
ActivityStackSupervisor tracks WaitResults which are waiting for an
Activity to become visible. This is used exclusively by
ActivityStarter to wait for an Activity to be brought to the
foreground before returning. However, there are some cases where
other Activities will report a visible state in between. Without a
qualifier, these would cause the ActivityStarter's WaitResult to be
fulfilled and the wrong information would be returned.

This changelist specifies a component the WaitResult should be
triggered on.

Change-Id: I7c356a8d153ddc24603acc55749e9992f9000c3f
Fixes: 36860122
Test: cts-tradefed run cts -m CtsServicesHostTestCases -t  android.server.cts.ActivityManagerAmStartOptionsTests#testDashW_Direct
2017-04-06 10:11:58 -07:00
TreeHugger Robot
e7ec7ec634 Merge "Bind with the correct action" into oc-dev 2017-04-06 16:35:37 +00:00
Julia Reynolds
0ff1b458ac Merge "Show a link to app settings in notification guts." into oc-dev 2017-04-06 15:55:36 +00:00
Julia Reynolds
9a8f641801 Merge "Remove unneeded methods" into oc-dev 2017-04-06 15:13:13 +00:00
Philip P. Moltmann
b42d133c8b Overlay a highlight over autofilled views
Also clear this overlay once the data changes. Some views call
notifyValueUpdated even if the value did not change. Hence remeber the
data that was autofilled and check if the data really changed.

Make the autofilledDrawable publicly accessible so that virtual views
can use the same UI.

As the activity is not aware that the views were autofilled the state
has to be explicitly persisted over activity lifecycle events as part
of the view. The lifecyle does not work yet as the AutofillIds are not
stable over activity lifecycle events.

Fixes: 34946006
Test: Autofilled and changed all supported views.
      cts-tradefed run cts-dev -m CtsUiRenderingTestCases
Change-Id: I58b105bb221f1b6466dd136dfe5062d3babb5aa8
2017-04-06 03:57:54 +00:00
TreeHugger Robot
05b8b4135a Merge "Improvements on ViewNodes received on partitioned requests:" into oc-dev 2017-04-06 02:26:37 +00:00
Nathan Harold
b077f6abd3 Merge changes from topic 'ipsec-svc-pick' into oc-dev
* changes:
  Fix Log Traces for IpSecService
  SystemServer: fix StartIpSecService trace and log
  Add Initial IPsec APIs to IpSecService
  IpSecManager and IpSecTransform API Cleanup
  Change reserveSecurityParameterIndex() to take a remoteAddress
  Add a Skeleton IpSecService
2017-04-06 01:34:37 +00:00
TreeHugger Robot
fade53591b Merge "Save FragmentManagerNonConfig during onSaveInstanceState()" into oc-dev 2017-04-06 01:13:13 +00:00
Felipe Leme
cde040ae95 Improvements on ViewNodes received on partitioned requests:
- Fixed focus
- Added autofillValue for nodes previously autofilled

BUG: 35707731

Test: existing CtsAutoFillServiceTestCases pass
Test: more tests on PartitionedActivityTest

Change-Id: If4390d002d44c82e3de0339a634041f3998e804e
2017-04-05 17:49:13 -07:00
TreeHugger Robot
1b2bedcd76 Merge "Change getFragments() to return a List." into oc-dev 2017-04-06 00:13:26 +00:00