Commit Graph

10177 Commits

Author SHA1 Message Date
TreeHugger Robot
4dba3cdf89 Merge "Refactor auto-fill" 2017-02-14 09:37:53 +00:00
Svet Ganov
782043caf8 Refactor auto-fill
* Fix a layering issue where auto-fill manager which is in view
  depended on activity which is in app

* Moved auto-fill classes to view or service based on their
  purpose and removed dependecy on the classes in view to the
  classes in service

* Push state to local auto-fill manager whether auto-fill is
  enabled to avoid making IPC for every focus transition if
  the user did not enable the feature

* Remove unnecessary offload to messages when handling calls
  to auto-fill manager service as these are made over a oneway
  interface and in general they do almost no work and typically
  we do these on the binder thread

* Removed id from data set and fill response as the provider
  can embed everything it needs to id them in the auth pending
  intent

* Enforce the auth UI to be only an activity as this will work
  with multi-window, recents, and back and also does not require
  draw on top of other app special permission

* Authentication also no longer requires passing a remotable
  callback to the auth activity but the activity handles the
  request as if called for a result

* Handling stopping of a user to clean up in-memory state as
  well as handling when a user gets unlocked as a provider may
  be non-direct boot aware

* User the correct context when creating an auto-fill manager

* Move the receiver that listens for requests to hide system
  windows to the manager service as the UI is a singleton and
  no need every per-user state to register its own

* Removed extras from dataset as the only case a provider needs
  to associate state with a dataset is for auth and the provider
  can embed this data in the auth pending intent

Test: manual and CTS

Change-Id: I4bc54c13cf779d7f6fdb3ab894637f9fac73f603
2017-02-13 21:31:37 -08:00
Sudheer Shanka
27e6931583 Ensure network connectivity on app start.
Bug: 27803922
Test: cts-tradefed run singleCommand cts-dev --module CtsHostsideNetworkTests
Change-Id: Ifd7a52924cd6bbc809c9a3f92d52fe2df09b7fe2
2017-02-13 17:17:41 -08:00
Winson Chung
12cb6628db Merge "Create a new stack for the assistant activity." 2017-02-13 20:39:52 +00:00
Selim Cinek
2698d1d1e8 Merge changes Ie3736d80,I52444f4e
* changes:
  Improved collapsed messaging notifications
  Fixed a bug where the heads-up couldn't time out
2017-02-13 20:37:48 +00:00
TreeHugger Robot
860d17d154 Merge "PendingIntent: Use rethrowFromSystemServer" 2017-02-13 18:16:29 +00:00
Geoffrey Pitsch
7c4f39b856 Merge "Updated Inline Notification Controls" 2017-02-13 17:47:33 +00:00
TreeHugger Robot
04fa542db5 Merge "Set oom adj for processes displaying app-overlays to PERCEPTIBLE_APP_ADJ" 2017-02-13 16:19:41 +00:00
Adrian Roos
7540923bda PendingIntent: Use rethrowFromSystemServer
Fixes an issue where during a crash or shutdown of system_server apps
would start getting unexpected nulls as results of PendingIntent.get...(),
causing them to crash and getting flagged by AUPT.

Change-Id: Ieec289921f125da469f83813ca3f5920b5794a31
Fixes: 34932613
Test: adb shell stop; verify that there are no crashes in logcat.
2017-02-13 14:48:57 +01:00
Shreyas Basarge
69f42ecbb6 Merge "BackupAgent#getBackupQuota() API" 2017-02-13 13:46:00 +00:00
Wale Ogunwale
d993a573d7 Set oom adj for processes displaying app-overlays to PERCEPTIBLE_APP_ADJ
For processes with a window of type TYPE_APPLICATION_OVERLAY adjust their
oom importance to PERCEPTIBLE_APP_ADJ to reduce the chance of them getting
killed by the low-memory-killer since they are displaying something that
is perceptible to the user.

Also z-order TYPE_DREAM windows above alerts windows.

Bug: 33256752
Test: cts/.../run-test CtsAppTestCases android.app.cts.AlertWindowsTests
Change-Id: I4c05a9fee6fad61399bf4d10c8647467cc596ca6
2017-02-12 16:57:24 -08:00
Winson Chung
8347163dbb Create a new stack for the assistant activity.
- Add a new stack that is not resized with multiwindow, and
  appears above the fullscreen and docked stacks, but below
  the pinned stack
- Add a method on VoiceInteractionSession to allow the assistant
  to launch activities into this new fullscreen stack.
- Also prevent any activities in the assist stack from the
  fetching of the on screen assist data.

Bug: 30999386
Test: android.server.cts.ActivityManagerAssistantStackTests

Change-Id: I22ab7629b5f758cf1e66d7d1c26648af6bc887c9
2017-02-12 14:52:15 -08:00
Jeff Sharkey
72ec448307 Switch RecoverableSE over to using RemoteAction.
Now that RemoteAction supports PendingIntent, we should be using it
instead of rolling our own fields.  Continue offering legacy
constructor for some existing unit tests.

Create a notification channel for each remote app that throws at a
client app.  All apps targeting O must now use channels, which give
the user better control over notifications.

Mention in docs that strings should be localized.

Test: builds
Bug: 33749182, 35012253, 34676491
Change-Id: Ic57e32025bc6caf784d3746d9f97f6595b0edb69
2017-02-12 03:21:39 -07:00
Geoffrey Pitsch
df44b606f3 Updated Inline Notification Controls
Removed old xml resources, strings, dimens, etc
Different behavior when sent from the default channel.
Display how many notification categories are used by the app.
Group label when channel is associated with group.
Add package icon.
Fix tap-away-to-save behavior

Test: runtest systemui
Change-Id: Ib41a536a5c4e7c7747a2453eddc3b4b4b99ffa7a
2017-02-10 13:24:54 -05:00
Shreyas Basarge
b6e73c9670 BackupAgent#getBackupQuota() API
This cl adds a getBackupQuota() method
to the BackupAgent abstract class. This
can be used by the agent to determine
how much data it can back up.

Ref: https://docs.google.com/document/d/18MnfwkDfKNtXQBPRmL8vpVgfLgSWJsDja1Nm1QV5hOw/edit#heading=h.unncio2r7de2

Bug: 33750400

Test: GTS test at ag/1850525

Change-Id: I2eb5c0066c99732ec84cae9211f3a1edaad2baf1
2017-02-10 18:11:40 +00:00
Julia Reynolds
71b60b86e3 Merge "Let apps link to noti settings and vice versa." 2017-02-10 16:05:10 +00:00
Stefano Tommasini
afcea28827 Merge "Add instrumentation for BackupManager during restore." 2017-02-10 15:46:06 +00:00
Stefanot
f4e237c685 Add instrumentation for BackupManager during restore.
This CL adds more instumentation to
backup/restore operation in the BackupManager. For more details please
point to:
https://docs.google.com/document/d/1sUboR28LjkT1wRXOwVOV3tLo0qisiCvzxIGmzCVEjbI/edit#
This first Cl introduces 3 events that we sent to the monitor.
The base cl is ag/1835775

Test: TODO

BUG: 34873525
Change-Id: I127fe739a7522078eecce2ae689a4607203a98da
2017-02-10 13:52:02 +00:00
Stefano Tommasini
7a1c94cc89 Merge "Add monitoring to backup in BackupManager." 2017-02-10 12:52:32 +00:00
Stefanot
b1f573dca3 Add monitoring to backup in BackupManager.
This is the first CL of many that will add instumentation to
backup/restore operation in the BackupManager. For more details please
point to:
https://docs.google.com/document/d/1sUboR28LjkT1wRXOwVOV3tLo0qisiCvzxIGmzCVEjbI/edit#
This first Cl introduces 3 events that we sent to the monitor.

Test: ag/1858962 (same topic)

BUG: 34873525

Change-Id: I6c338b6fd9f4d7c8670dac201897250b6b170677
2017-02-10 11:03:08 +00:00
Chad Brubaker
b09ac24c3c Merge "Add permission for instant apps creating foreground services" 2017-02-09 21:33:19 +00:00
Julia Reynolds
2619b5e663 Let apps link to noti settings and vice versa.
Test: manual
Change-Id: I3536099fdea1c7a8ddbe38b223fc99b9fef9197a
2017-02-09 10:09:24 -05:00
Peeyush Agarwal
651ea36f5a Merge "Extend MenuItem to allow modifier keys for shortcut" 2017-02-09 11:17:25 +00:00
Selim Cinek
64aed1a21b Improved collapsed messaging notifications
Previously the messaging layout was working on a fixed
Height, which didn't scale well as we were now using it
also in the collapsed version.
For big text notifications, the view would be
clipped ugly, since we were using a fixed number of
lines. Instead we're now calculating this dynamically.

Fixes: 35126759
Test: runtest systemui
Change-Id: Ie3736d807d7a162ee51ad65794bf2f1cfb2248be
2017-02-08 15:00:17 -08:00
TreeHugger Robot
dc8912b2bd Merge "Delay changing state of added fragments until all executed." 2017-02-08 21:32:44 +00:00
Julia Reynolds
74856c4a61 Retrieving groups shouldn't have side effects
Test: runtest systemui-notification, viewing settings
Change-Id: Ib43fe6ad2af4763b633ad1690f69d17533915dbb
2017-02-08 20:35:14 +00:00
Julia Reynolds
49f38bb487 Merge "Don't let apps permanently delete channels." 2017-02-08 19:50:49 +00:00
George Mount
a42f8e41ee Delay changing state of added fragments until all executed.
Bug 34963118

When popping multiple transactions, all added fragments
should wait until all transactions are executed before
moving their states to the final state.

This CL brings back the behavior of executing all operations
first before changing the state of added fragments. This means
that intermediate fragments won't be created when popping.

Test: I11da5229bc7104ddc683e1d7d8d929c9db3f5686
Change-Id: I472860cfe94a33db42e9a1d3727213ab5d5075e7
2017-02-08 11:26:09 -08:00
Daniel Nishi
9fa0a5c478 Merge "Fix a bug where the last used times could be wrong." 2017-02-08 17:32:36 +00:00
Julia Reynolds
0ebe2d1b0d Merge changes from topics 'proto', 'lights'
* changes:
  Dump notification records to proto
  Highlight selected channel on launching settings.
  Let developers choose a light color for channels
2017-02-08 13:34:28 +00:00
Daniel Nishi
baa381119c Fix a bug where the last used times could be wrong.
If a newer UsageStats came along, it would wipe away
the older UsageStats' last used times because it was
newer and, therefore, a source of truth. This is an
improper assumption, however. The newer UsageStat
may cover a timeframe which does not even have a last
use and, thus, destroys valid data.

Bug: 34857041
Test: FrameworksCoreTest
Change-Id: I5111b0d5a184a31a0a8fbdf12984cc7ef90ccd6e
2017-02-07 16:47:57 -08:00
Chad Brubaker
97b383f5a5 Add permission for instant apps creating foreground services
Foreground services could potentially be abused to get around the
lifecycle requirements of Instant Apps, so limit that behavior with a
perission that will need to be granted by the installer.

Test: Manually verified
Change-Id: Ia162077971e914960ebdb8293a33faa8038ed850
2017-02-07 15:35:20 -08:00
Selim Gurun
38d07a18bb Merge "Fix WebView crashes" 2017-02-07 21:29:00 +00:00
Winson Chung
cd161864a3 Merge changes I3ef361bd,I89a5184c
* changes:
  Refactor PiP logic in preparation for expanded state.
  Modifying RemoteAction callback to PendingIntent.
2017-02-07 21:18:15 +00:00
Julia Reynolds
5355e8593a Don't let apps permanently delete channels.
Test: manual
Change-Id: Ia2582e3b4213f0b77579af2ff94f79b08e5d1a91
2017-02-07 15:46:10 -05:00
Julia Reynolds
529e3329e6 Let developers choose a light color for channels
Test: runtest systemui-notification & cts
Change-Id: Ibfab57924d0a9093af23191ebdd68ce1c0da6eca
2017-02-07 15:46:09 -05:00
Adam Lesinski
0e61883f5d Fix WebView crashes
Use the sharedLibraryFiles from ApplicationInfo, which is
what WebView patches.

Bug:34761805
Test: None
Change-Id: I5a496e8e017842a3fa30b956edf1b16c9459c5f0
2017-02-07 11:43:45 -08:00
Felipe Leme
fb0f360222 Merge "Refined session management so Save can be automatically called." 2017-02-07 17:50:29 +00:00
Peeyush Agarwal
e631e32a1a Extend MenuItem to allow modifier keys for shortcut
Before this, CTRL was the default modifier for MenuItem shortcuts.
Now, It's possible to specify the modifier in XML or via MenuItem
methods.
The modifier list includes META, CTRL, ALT, SHIFT, SYM and FUNCTION.

WIP on support library implementation

Bug: 32165848
Test: Run the tests using following commands:
> cts-tradefed run cts-dev -m CtsViewTestCases -t
>   android.view.cts.MenuTest#testPerformShortcut
> cts-tradefed run cts-dev -m CtsViewTestCases -t
>   android.view.cts.MenuInflaterTest#testInflateShortcutModifiersFromXml

Change-Id: I7db4607d4657451934761914efe4c250de109653
2017-02-07 17:01:26 +00:00
Winson Chung
9c2a686757 Modifying RemoteAction callback to PendingIntent.
Test: android.server.cts.ActivityManagerPinnedStackTests
Bug: 34864798
Change-Id: I89a5184c2f067722cb1f5f962bbb8cbb91529092
2017-02-07 08:26:24 -08:00
Esteban Talavera
84e706fb9b Merge "Unhide getLockTaskPackages" 2017-02-07 15:04:48 +00:00
Rubin Xu
f810cc9a5b Merge "Fix uri permission grant on remote bug report uri" 2017-02-07 14:40:17 +00:00
Esteban Talavera
bfb666da53 Unhide getLockTaskPackages
getLockTaskPackages is currently hidden, and can only be
called by a device or profile owner, which doesn't make
much sense. Unhidding it to be consistent with the rest
of the DevicePolicyManager APIs that have a getter for
each setter.

Bug: 34614754
Test: cts-tradefed run cts-dev --module DevicePolicyManager --test com.android.cts.devicepolicy.DeviceOwnerTest#testLockTask_affiliatedSecondaryUser
Test: cts-tradefed run cts-dev --module DevicePolicyManager --test com.android.cts.devicepolicy.DeviceOwnerTest#testLockTask_unaffiliatedUser
Test: Test:  cts-tradefed run cts-dev --module DevicePolicyManager --test com.android.cts.devicepolicy.DeviceOwnerTest#testLockTask_deviceOwnerUser
Change-Id: I6e03c2f47c0f9e7a635e798a1bf7f131a8e37c65
2017-02-07 12:01:20 +00:00
Rubin Xu
7226c7dc9f Fix uri permission grant on remote bug report uri
System server is no longer allowed to grant uri permission directly. As a result
we use grantUriPermissionFromIntent() to grant permission from the shell UID,
who is the owner of the bug report content.

Also fix a security bug where the broadcast to notify user consent of remote
bug report mismatches the <protected-broadcast> definition, causing it to be
sendable by anyone.

Bug: 34159108
Test: manual - Install TestDPC and request bugreport, try accept and decline
      once the report is ready (Bullhead).

Change-Id: I66e3f2a16d4547549f09d3c96d52aed2330caedf
2017-02-07 11:30:20 +00:00
Felipe Leme
bab851c7c9 Refined session management so Save can be automatically called.
This is yet another big refactoring:

- AutoFillManager keeps track of its current AutoFillSession.
- Views call AFM.startSession(View) when they can trigger autofill.
  (virtual views can call it as well). At this point, the manager
  sets an AutoFillSession, gets the activity token, and passes it to
  the service.
- Subsequent calls to AFM.start() will be ignored since the session
  is set.
- When the Activity is gone, it calls AFM.finishSession().
- Simlilarly, virtual views could call it as well.
- Added getAutoFillValue() to View.
- Removed AFM.updateAutoFillInput(childId): virtual views should now
  call startSession(childId) to start a session, and use the
  VirtualViewListener callbacks for updates.
- Change AutoFillValue to use String (which is immutable) instead of
  CharSequence for text values.
- Check if view is enabled before auto-filling.
- Removed 'cmd autofill fill' since it would require the appCallback
- Automatically dismiss the snack bar after 30s
- Moved the "don't change autofill value when autofilling" Inception
  logic into the service side.
- Etc...

BUG: 34819567
BUG: 33269702
BUG: 31001899

Test: manual verification
Test: CtsAutoFillServiceTestCases passes

Change-Id: I5fad928d4d666701302049d142026a1efa7291cd
2017-02-06 18:22:03 -08:00
Casey Burkhardt
edb54686c2 Merge "Initial implementation of Nav Bar Accessibility Button" 2017-02-07 00:14:49 +00:00
Eugene Susla
444eb97c0c Merge "CompanionDeviceManager" 2017-02-06 22:19:54 +00:00
TreeHugger Robot
fbffd434df Merge "Adding text input mode to TimePicker." 2017-02-06 21:35:26 +00:00
Casey Burkhardt
048c2bc19a Initial implementation of Nav Bar Accessibility Button
This allows an AccessibilityService to set a flag in its
AccessibilityServiceInfo that triggers the navigation bar to show an
Accessibility Button and observe callbacks when the button is clicked
or there are changes in the visibility of the navigation bar.

Test: Manual (Created a sample AccessibilityService) + CTS
Bug:29231271
Change-Id: I03d653d85bc37df28ed71d8bba94b7c75fe56e43
2017-02-06 12:56:08 -08:00
Eugene Susla
6ed45d8cd3 CompanionDeviceManager
This introduces an API for apps that support companion devices to provide a
more streamlined flow for pairing and setting up the device

Bug: 30932767
Test: Using a toy app, invoke the newly introduced API (CompanionDeviceManager),
 and go through the flow. Ensure filtering works, and device is returned to
 the calling app. Ensure the calling app can pair to the selected device.
Change-Id: I0aeb653afd65e4adead13ea9c7248ec20971b04a
2017-02-06 12:50:55 -08:00