Commit Graph

95600 Commits

Author SHA1 Message Date
wilsonshih
e7903ea985 Support show KeyguardPresentation on all public displays.
Support show keyguard presentation on all public displays when Keyguard
is show.
Modify API ActivityTaskManager#setLockScreenShown, extends to multi-displayIds.

bug: 111955725
Test: Manual test with chromecast.
Test: atest SystemUITests
Test: atest ActivityManagerMultiDisplayTests
Test: atest ActivityManagerDisplayKeyguardTests
Change-Id: I9967e1b1adcb796593332b46853a10101e206013
2018-11-06 14:27:21 +08:00
Cody Northrop
e4ae7ea03e Merge "Add GLES specific setting for layers" 2018-11-04 17:00:46 +00:00
Dieter Hsu
3ee2bd7d21 Merge "Improve TouchDelegate Accessibility: Explore by Touch handle hover events" 2018-11-03 22:30:13 +00:00
Jeff Sharkey
e4d87cb722 Merge "First pass at APIs for contributing new media." 2018-11-03 19:42:58 +00:00
Jeff Sharkey
c8e4924b57 First pass at APIs for contributing new media.
MediaStore has long suffered from race conditions around creation
of new media.  For example, if developers write raw files before
inserting the MediaStore item, an in-progress media scan might pick
up the file before they could insert it.  Conversely, if developers
insert the item before writing the files, backup apps get confused
about the file not existing yet.

In addition, the new storage model in Q means that apps can't write
raw files directly to disk, so they need to insert the MediaStore
item first.

To solve this collection of issues, this CL introduces first-class
APIs for contribution of new "pending" media, which includes hiding
the pending media until explicitly published.  Apps can safely
resume pending sessions if they crash and restart, which is useful
when the media item is coming from a flaky network.  Apps can also
publish progress information about pending media, such as when a
panorama is taking several seconds to process.

Bug: 115377970
Test: atest MediaProviderTests
Test: atest cts/tests/tests/provider/src/android/provider/cts/MediaStore*
Change-Id: I6adee3c4ad1fb9db94906dd1293caaa1a09c6da0
2018-11-03 12:03:07 -06:00
Mihai Popa
33e8c93551 Merge "Make text handle drawables public" 2018-11-03 13:51:15 +00:00
Lifu Tang
05dfae98d6 Adds wrapper method to convert string ops to ints
Bug: 117677214
Test: compile and flash
Change-Id: I7de3d3829aa99473b415b40bbfe4078d5b5ed3b7
2018-11-03 00:32:38 -07:00
TreeHugger Robot
548107d94f Merge "Add reminder comment for updating CTS test" 2018-11-03 05:03:22 +00:00
Svetoslav Ganov
c7d89b4bc2 Merge "Revert "Adjust default app op behavior based on feature state"" 2018-11-03 05:01:47 +00:00
Svetoslav Ganov
0b9af26dba Revert "Adjust default app op behavior based on feature state"
This reverts commit 7d6dbb2b0b.

This change causes a subtle deadlock. Will upload a correct patch in a bit.

Change-Id: I8cb14000943338fb8c2c9049c2d85a4ce8cf6fcd
2018-11-03 04:50:48 +00:00
Svetoslav Ganov
79eba743ca Merge "Historical app op APIs - initial check in." 2018-11-03 04:49:45 +00:00
Kevin Chyn
a60c07ac58 Add reminder comment for updating CTS test
Bug: 117346645

Test: Builds
Change-Id: I0193e11e57039b1a3e80c99acc491ea19c4ffeed
2018-11-02 19:58:01 -07:00
TreeHugger Robot
36a8b7dda0 Merge "System Alerts show follow dark theme" 2018-11-02 22:32:39 +00:00
Kweku Adams
53de12ef0d Merge "Slight improvements to ArraySet." 2018-11-02 22:28:48 +00:00
Svet Ganov
ad0a49bc42 Historical app op APIs - initial check in.
This change adds new APIs for querying historical app ops
for a time period in the past. Since app ops are performed
quite often in some cases keeping track of every app op is
prohibitively inefficient. Therefore, we are exposing
aggregated counts for past ops.

Test: atest android.permission.cts.AppOpsTest

bug:111061782

Change-Id: I59bbf906d62cd6dcd751f2e8089242dcecd55a6c
2018-11-02 13:00:07 -07:00
TreeHugger Robot
9aab89bd58 Merge "ResetListener in StorageManagerService" 2018-11-02 18:23:49 +00:00
TreeHugger Robot
8a7fb85282 Merge "Add a missing sync to RemoteCallbackList dump" 2018-11-02 18:10:23 +00:00
TreeHugger Robot
1b2a677360 Merge "Refactor model listing / selection code to support other types of model" 2018-11-02 16:08:41 +00:00
David Brazdil
d68ee776be Merge "Remove non-SDK API toast" am: 13c2382d4f am: 6a35521032
am: c62139b488

Change-Id: Ie2a51568cf0630e0634548121b713f1778f1ff84
2018-11-02 06:30:04 -07:00
Beverly Tai
b9bfae6401 Merge "Use consolidated zen policy for dnd" 2018-11-02 13:21:06 +00:00
David Brazdil
c62139b488 Merge "Remove non-SDK API toast" am: 13c2382d4f
am: 6a35521032

Change-Id: Idd0496cf57b2b58a95a0377d969f7a0589f904a7
2018-11-02 06:17:10 -07:00
Mihai Popa
6315a322b2 Make text handle drawables public
The CL adds public setters and getters for the drawables used
for the insertion and selection handles of a TextView.

Bug: 117521469
Bug: 79404656
Test: atest CtsWidgetTestCases:android.widget.cts.TextViewTest
Change-Id: I261559b5c1abe21fd8508ab72f24a5696899a074
2018-11-02 11:54:43 +00:00
Tony Mak
ba22842144 Refactor model listing / selection code to support other types of model
Currently, listModelFiles and findBestModelFile methods only support annotator model.
But we want to extend them to support other models as well, like langID and actions.

Thus, introducing ModelFileManager, which provides listModelFiles and
findBestModelFile. ModelFileManager takes a Supplier<List<ModelFile>> to list model files.
For different types of model, we just need to provide a different supplier to the ModelFileManager.

There should be no behavior change.

Test: atest frameworks/base/core/tests/coretests/src/android/view/textclassifier/ModelFileManagerTest.java
Test: atest frameworks/base/core/tests/coretests/src/android/view/textclassifier/TextClassificationManagerTest.java

Change-Id: I4fc3fd1c9246383ee5d906792bb14b96dbf0a79f
2018-11-02 11:19:44 +00:00
David Brazdil
13c2382d4f Merge "Remove non-SDK API toast" 2018-11-02 10:17:28 +00:00
TreeHugger Robot
a17b785a64 Merge "Performs null checks in NanoApp class" 2018-11-02 03:43:02 +00:00
Risan
aec0ee73d7 ResetListener in StorageManagerService
Bug: 110380403
Test: Manual test in ARC++, prototyped a way that reset reaches ARC++
service.
Change-Id: Icc7dcc8b5c726ed9f61226569227c4d47f44b386
2018-11-02 03:42:15 +00:00
Dieter Hsu
fa1b8dec6f Improve TouchDelegate Accessibility: Explore by Touch handle hover events
- Add TouchDelegate#onHoverEvent

Bug: 35702820
Test: Install TestBack with flag FLAG_REQUEST_TOUCH_EXPLORATION_MODE
      enabled. In Settings APP, enable TestBack then touch/hover into
      most left side of SwitchBar in the same subactivity to confirm
      Switch delegated and hover enter event exist
Test: manually test with sample app in issue #7. Touch button delegate
      and hover move over text view to confirm text get a11y focused.

Change-Id: I0abea81ea2fee4d391e2ee448710c5f0180f7533
2018-11-02 11:28:42 +08:00
TreeHugger Robot
c0f94f4189 Merge "Grant split permission from config" 2018-11-02 01:10:46 +00:00
Kenny Root
8b0a22dbad Merge changes from topic "usb-adb-separation"
* changes:
  Update USB tests for ADB split
  Move AdbDebuggingManager to AdbService
  AdbService: move source of truth for enabled
  Add empty AdbHandler
  Add systemReady call for AdbService
  Add function to query ADB state
  Register USB as an ADB transport type
  Add ADB transport skeleton
  Add empty AdbManagerInternal for system server
  Add empty AdbService to SystemServer
  Move ADB debugging manager to core
  Rename to AdbDebuggingManager
  Move UsbDebuggingManager to new package
2018-11-02 00:43:05 +00:00
Kweku Adams
65b5ee346d Slight improvements to ArraySet.
1. There are cases where valueAt could return null even though the given
index was out of bounds. I've added a check for that in the code.
2. The default implementation of Collection.removeIf() uses the
iterator(). This change avoids that since the iterator is an inefficient
way to access the array contents.

Benchmark tests. Note that these times are in nanoseconds:

Before:

INSTRUMENTATION_STATUS: removeIf_Small_Base_mean=163679
INSTRUMENTATION_STATUS: removeIf_Small_Base_median=158215
INSTRUMENTATION_STATUS: removeIf_Small_Base_min=129564
INSTRUMENTATION_STATUS: removeIf_Small_Base_standardDeviation=24779
INSTRUMENTATION_STATUS_CODE: -1
.INSTRUMENTATION_STATUS: valueAt_OutOfBounds_Negative_mean=5645195
INSTRUMENTATION_STATUS: valueAt_OutOfBounds_Negative_median=5584964
INSTRUMENTATION_STATUS: valueAt_OutOfBounds_Negative_min=5448560
INSTRUMENTATION_STATUS: valueAt_OutOfBounds_Negative_standardDeviation=206915
INSTRUMENTATION_STATUS_CODE: -1
.INSTRUMENTATION_STATUS: removeIf_Large_RemoveHalf_mean=1316514
INSTRUMENTATION_STATUS: removeIf_Large_RemoveHalf_median=1282442
INSTRUMENTATION_STATUS: removeIf_Large_RemoveHalf_min=1216533
INSTRUMENTATION_STATUS: removeIf_Large_RemoveHalf_standardDeviation=109087
INSTRUMENTATION_STATUS_CODE: -1
.INSTRUMENTATION_STATUS: removeIf_Large_Base_mean=571712
INSTRUMENTATION_STATUS: removeIf_Large_Base_median=566500
INSTRUMENTATION_STATUS: removeIf_Large_Base_min=535726
INSTRUMENTATION_STATUS: removeIf_Large_Base_standardDeviation=26374
INSTRUMENTATION_STATUS_CODE: -1
.INSTRUMENTATION_STATUS: valueAt_OutOfBounds_EdgeCase_mean=946
INSTRUMENTATION_STATUS: valueAt_OutOfBounds_EdgeCase_median=896
INSTRUMENTATION_STATUS: valueAt_OutOfBounds_EdgeCase_min=841
INSTRUMENTATION_STATUS: valueAt_OutOfBounds_EdgeCase_standardDeviation=106
INSTRUMENTATION_STATUS_CODE: -1
.INSTRUMENTATION_STATUS: removeIf_Large_RemoveAll_mean=2196954
INSTRUMENTATION_STATUS: removeIf_Large_RemoveAll_median=2163910
INSTRUMENTATION_STATUS: removeIf_Large_RemoveAll_min=2136283
INSTRUMENTATION_STATUS: removeIf_Large_RemoveAll_standardDeviation=91149
INSTRUMENTATION_STATUS_CODE: -1
.INSTRUMENTATION_STATUS: removeIf_Small_RemoveHalf_mean=356644
INSTRUMENTATION_STATUS: removeIf_Small_RemoveHalf_median=350376
INSTRUMENTATION_STATUS: removeIf_Small_RemoveHalf_min=337067
INSTRUMENTATION_STATUS: removeIf_Small_RemoveHalf_standardDeviation=17354
INSTRUMENTATION_STATUS_CODE: -1
.INSTRUMENTATION_STATUS: removeIf_Large_RemoveNothing_mean=1044645
INSTRUMENTATION_STATUS: removeIf_Large_RemoveNothing_median=1040981
INSTRUMENTATION_STATUS: removeIf_Large_RemoveNothing_min=1010144
INSTRUMENTATION_STATUS: removeIf_Large_RemoveNothing_standardDeviation=35016
INSTRUMENTATION_STATUS_CODE: -1
.INSTRUMENTATION_STATUS: removeIf_Small_RemoveAll_mean=507561
INSTRUMENTATION_STATUS: removeIf_Small_RemoveAll_median=503419
INSTRUMENTATION_STATUS: removeIf_Small_RemoveAll_min=471564
INSTRUMENTATION_STATUS: removeIf_Small_RemoveAll_standardDeviation=33141
INSTRUMENTATION_STATUS_CODE: -1
.INSTRUMENTATION_STATUS: removeIf_Small_RemoveNothing_mean=300889
INSTRUMENTATION_STATUS: removeIf_Small_RemoveNothing_median=295486
INSTRUMENTATION_STATUS: removeIf_Small_RemoveNothing_min=282948
INSTRUMENTATION_STATUS: removeIf_Small_RemoveNothing_standardDeviation=19869
INSTRUMENTATION_STATUS_CODE: -1
.INSTRUMENTATION_STATUS: valueAt_InBounds_mean=644
INSTRUMENTATION_STATUS: valueAt_InBounds_median=584
INSTRUMENTATION_STATUS: valueAt_InBounds_min=528
INSTRUMENTATION_STATUS: valueAt_InBounds_standardDeviation=141
INSTRUMENTATION_STATUS_CODE: -1

After:

INSTRUMENTATION_STATUS: removeIf_Small_Base_mean=143926
INSTRUMENTATION_STATUS: removeIf_Small_Base_median=145985
INSTRUMENTATION_STATUS: removeIf_Small_Base_min=125700
INSTRUMENTATION_STATUS: removeIf_Small_Base_standardDeviation=11112
INSTRUMENTATION_STATUS_CODE: -1
.INSTRUMENTATION_STATUS: valueAt_OutOfBounds_Negative_mean=5173581
INSTRUMENTATION_STATUS: valueAt_OutOfBounds_Negative_median=5168995
INSTRUMENTATION_STATUS: valueAt_OutOfBounds_Negative_min=5108405
INSTRUMENTATION_STATUS: valueAt_OutOfBounds_Negative_standardDeviation=45739
INSTRUMENTATION_STATUS_CODE: -1
.INSTRUMENTATION_STATUS: removeIf_Large_RemoveHalf_mean=695812
INSTRUMENTATION_STATUS: removeIf_Large_RemoveHalf_median=690070
INSTRUMENTATION_STATUS: removeIf_Large_RemoveHalf_min=679793
INSTRUMENTATION_STATUS: removeIf_Large_RemoveHalf_standardDeviation=17959
INSTRUMENTATION_STATUS_CODE: -1
.INSTRUMENTATION_STATUS: removeIf_Large_Base_mean=591815
INSTRUMENTATION_STATUS: removeIf_Large_Base_median=588499
INSTRUMENTATION_STATUS: removeIf_Large_Base_min=573707
INSTRUMENTATION_STATUS: removeIf_Large_Base_standardDeviation=14348
INSTRUMENTATION_STATUS_CODE: -1
.INSTRUMENTATION_STATUS: valueAt_OutOfBounds_EdgeCase_mean=4010666
INSTRUMENTATION_STATUS: valueAt_OutOfBounds_EdgeCase_median=4017245
INSTRUMENTATION_STATUS: valueAt_OutOfBounds_EdgeCase_min=3970170
INSTRUMENTATION_STATUS: valueAt_OutOfBounds_EdgeCase_standardDeviation=28577
INSTRUMENTATION_STATUS_CODE: -1
.INSTRUMENTATION_STATUS: removeIf_Large_RemoveAll_mean=734297
INSTRUMENTATION_STATUS: removeIf_Large_RemoveAll_median=732576
INSTRUMENTATION_STATUS: removeIf_Large_RemoveAll_min=720065
INSTRUMENTATION_STATUS: removeIf_Large_RemoveAll_standardDeviation=14906
INSTRUMENTATION_STATUS_CODE: -1
.INSTRUMENTATION_STATUS: removeIf_Small_RemoveHalf_mean=195026
INSTRUMENTATION_STATUS: removeIf_Small_RemoveHalf_median=194430
INSTRUMENTATION_STATUS: removeIf_Small_RemoveHalf_min=190400
INSTRUMENTATION_STATUS: removeIf_Small_RemoveHalf_standardDeviation=4012
INSTRUMENTATION_STATUS_CODE: -1
.INSTRUMENTATION_STATUS: removeIf_Large_RemoveNothing_mean=772914
INSTRUMENTATION_STATUS: removeIf_Large_RemoveNothing_median=785834
INSTRUMENTATION_STATUS: removeIf_Large_RemoveNothing_min=737947
INSTRUMENTATION_STATUS: removeIf_Large_RemoveNothing_standardDeviation=23808
INSTRUMENTATION_STATUS_CODE: -1
.INSTRUMENTATION_STATUS: removeIf_Small_RemoveAll_mean=194325
INSTRUMENTATION_STATUS: removeIf_Small_RemoveAll_median=196492
INSTRUMENTATION_STATUS: removeIf_Small_RemoveAll_min=186998
INSTRUMENTATION_STATUS: removeIf_Small_RemoveAll_standardDeviation=5091
INSTRUMENTATION_STATUS_CODE: -1
.INSTRUMENTATION_STATUS: removeIf_Small_RemoveNothing_mean=187122
INSTRUMENTATION_STATUS: removeIf_Small_RemoveNothing_median=187292
INSTRUMENTATION_STATUS: removeIf_Small_RemoveNothing_min=182272
INSTRUMENTATION_STATUS: removeIf_Small_RemoveNothing_standardDeviation=4902
INSTRUMENTATION_STATUS_CODE: -1
.INSTRUMENTATION_STATUS: valueAt_InBounds_mean=918
INSTRUMENTATION_STATUS: valueAt_InBounds_median=919
INSTRUMENTATION_STATUS: valueAt_InBounds_min=801
INSTRUMENTATION_STATUS: valueAt_InBounds_standardDeviation=80
INSTRUMENTATION_STATUS_CODE: -1

Perf test command:
mmma -j ./frameworks/base/apct-tests/perftests/core/;
adb install -r $OUT/data/app/CorePerfTests/CorePerfTests.apk;
adb shell cmd package compile -m speed -f com.android.perftests.core;
adb shell am instrument -w -e class android.util.ArraySetPerfTest com.android.perftests.core/android.support.test.runner.AndroidJUnitRunner

Bug: 118339123
Bug: 117846754
Test: atest android.util.cts.ArraySetTest
and benchmark tests (see above)
Change-Id: Ic4b10fd2bbc7a745ca4e4029ca4829847812fabe
2018-11-01 17:39:35 -07:00
Kevin Chyn
838df2502f Merge "Update LockPatternUtils for consistency" 2018-11-02 00:37:24 +00:00
TreeHugger Robot
005489c07e Merge "Adding screen recording function." 2018-11-01 23:14:14 +00:00
Wei Wang
356a75ad94 Add a missing sync to RemoteCallbackList dump
Test: Build and boot
Change-Id: Icda7aa10569c0946bbbf0ed08d04b4d21c53b7aa
2018-11-01 16:07:38 -07:00
Eugene Susla
8394092808 Merge "Revert sms appops to their original defaults" 2018-11-01 22:32:55 +00:00
TreeHugger Robot
eb651edabf Merge "Add controller APIs for RoleManager." 2018-11-01 22:22:45 +00:00
Chris Craik
ce58754645 Merge "Add 'profileable' application manifest tag" 2018-11-01 21:28:58 +00:00
Jeff Sharkey
e80ef951cb Merge "APIs for reviewing, listing volumes, hashes." 2018-11-01 20:25:21 +00:00
Cody Northrop
0fa1d220dc Add GLES specific setting for layers
This allows loading layers for GLES and Vulkan at the
same time by adding a GLES specific setting:

  GPU_DEBUG_LAYERS_GLES

which mirrors the existing setting:

  GPU_DEBUG_LAYERS

The Vulkan and GLES loaders now scan distinct layer
lists, correcting an issue that would prevent Vulkan
from loading when it failed to find GLES layers.

Bug: 110883880
Test: Load a GLES layer when running ANGLE with Vulkan backend
Test: cts-tradefed run singleCommand cts -m CtsGpuToolsHostTestCases
Change-Id: I370be4ce6fdde9e95989eb1f274add8b5790263e
2018-11-01 14:15:44 -06:00
Arthur Ishiguro
926c73479b Performs null checks in NanoApp class
Bug: 37274672
Test: Compile only
Change-Id: I5a82edd2f7a99a05c26c72b09872e964dbffd935
2018-11-01 13:14:17 -07:00
Beth Thibodeau
5898ac47b2 Adding screen recording function.
Screen recording can be launched via long press on screenshot in
the global actions menu if the local feature flag is enabled.
Otherwise, long press on screenshot will also trigger a screenshot.

Demo videos: https://drive.google.com/open?id=1oJzfzJb8aGXSUqn4CZ_Yn7qWmJ2dvRd5

Test: manual
Change-Id: I373d38ad86291ff6f26f7dca3195001bd8f5ee16
Bug: 111395687
Bug: 118826991
2018-11-01 15:56:39 -04:00
TreeHugger Robot
c1513cd4d4 Merge "Adds ContextHubIntentEvent class" 2018-11-01 19:45:42 +00:00
Dmitry Dementyev
16c8b72999 Merge "Document AccountManager method failures for locked user." 2018-11-01 18:23:37 +00:00
Arthur Ishiguro
a95fe31562 Adds ContextHubIntentEvent class
Helper class to parse Intent events.

Bug: 117612105
Test: Compile and flash, verify Intent events can be parsed
      using the class
Change-Id: I1267a1ce0cbbfd56ff9abb059ccc0117f060b7ff
2018-11-01 10:09:45 -07:00
Jeff Sharkey
0fc74ab226 APIs for reviewing, listing volumes, hashes.
As part of creating a "default gallery" app in Q, we need to define
the expected contract of how recently captured media can be reviewed
by the user.  Mirrored off the existing CAPTURE intents.

The Q storage work will start calculating SHA-1 hashes for each
media item to identify them in a stable way.

API to list all available volume names on the device, which includes
all attached shared storage devices, like SD cards.

Clean up all Uri creation to use Uri.Builder to ensure that incoming
volumeName values are escaped correctly.

Bug: 111268862
Test: atest cts/tests/tests/provider/src/android/provider/cts/MediaStore*
Change-Id: Ib7e5bf814b407f4d611767d2a5d26ccfe6d8d034
2018-11-01 11:07:55 -06:00
TreeHugger Robot
ae3c76df23 Merge "Each displays can have individual app transition." 2018-11-01 17:03:19 +00:00
Sunny Goyal
2daf457f4b Merge "Adding shared element transitions support in AppWidgets" 2018-11-01 16:19:12 +00:00
Zimuzo
cc2932fd81 Grant split permission from config
Instead of defining split permissions in Java file, we now move them to XML allowing us define vendor specific split permissions.

Test: Activity recognition is split correctly and auto granted when below split targetSdk.
Bug: 111411340
Change-Id: Ia5b3f47b73c9feea924373268a4eee142f555091
2018-11-01 16:08:27 +00:00
Olivier Gaillard
33c7610814 Merge "Add @CriticalNative to a few Binder methods." 2018-11-01 16:05:10 +00:00
TreeHugger Robot
bf4deb273b Merge "Make transitions Scene.getCurrentScene() public" 2018-11-01 14:34:08 +00:00
Risan
7c8506d6c7 Merge "Add a more flexible queryRecentDocuments" am: 627441218d am: a366edd78d
am: 729067376c

Change-Id: Ie1652bc9dfb413fe22962ee66024acd0d44ed127
2018-11-01 07:02:42 -07:00