Commit Graph

15561 Commits

Author SHA1 Message Date
Ian Pedowitz
3bd719b534 Merge "Revert "Revert "Remove deprecated System APIs added in Q.""" into qt-dev 2019-05-15 16:28:54 +00:00
Lei Yu
35fcd6b0e3 Merge "Use merged NetworkTemplate to query data usage" into qt-dev 2019-05-15 00:27:23 +00:00
TreeHugger Robot
aa6965983b Merge "Fixed NPE on VoiceInteractor.destroy()" into qt-dev 2019-05-14 20:27:44 +00:00
Felipe Leme
8092cdaeda Fixed NPE on VoiceInteractor.destroy()
Fixes: 131411751
Test: atest CtsVoiceInteractionTestCases # ran a few times on different devices, got no failures

Change-Id: I484db53772bf503f091f30f67ae92c8ae52d4105
2019-05-14 10:15:31 -07:00
TreeHugger Robot
3245017b87 Merge "Using ParceledListSlice to send large lists over Binder." into qt-dev 2019-05-14 16:25:28 +00:00
Suprabh Shukla
169bed7b7a Revert "Revert "Remove deprecated System APIs added in Q.""
This reverts commit 79a19effee.

Bug: 129975435
Change-Id: I113c87f8c0b7ab225e4b99ef2462ae12e199b816
2019-05-13 21:04:39 +00:00
TreeHugger Robot
2d976f9b3d Merge "Fix typo." into qt-dev 2019-05-13 19:31:34 +00:00
Lei Yu
c00a30eb8a Use merged NetworkTemplate to query data usage
This CL uses merged NetworkTemplate so that it shows correct
data for carrier which is a virtual that has multiple
subscriberId under the hood.

By doing this, this CL also adds several hidden API so settings
can query by NetworkTemplate directly.

Fixes: 120566366
Test: RunSettingsLibRoboTests
Change-Id: I8b747697933c75b48b14387adafb5ac9ca165926
2019-05-13 11:42:23 -07:00
TreeHugger Robot
895d5c546c Merge "DO NOT MERGE: Delete persisted historical app ops on package uninstall" into qt-dev 2019-05-11 00:09:22 +00:00
TreeHugger Robot
9af275a752 Merge "Clarify required/optional fields in BubbleMetadata." into qt-dev 2019-05-10 22:22:37 +00:00
TreeHugger Robot
1a91f0ddf3 Merge "Document non-effective mode return of AppOps batch fetch" into qt-dev 2019-05-10 21:25:32 +00:00
Winson
4e3b435c0e DO NOT MERGE: Delete persisted historical app ops on package uninstall
They're removed from the current state, but not the persisted state.

This adds HistoricalRegistry#clearHistoryForPackage which reads the
disk state, strips the corresponding UID/package, and re-writes
to disk.

Bug: 129796626

Test: manual test app with location access
Test: atest AppOpsServiceTest#testPackageRemovedHistoricalOps

Change-Id: I8daa2e3474b400a3789b2eaf178441c6d1578af1
2019-05-10 19:24:02 +00:00
TreeHugger Robot
04d00184cc Merge "Null check ApplicationInfo for ApplicationPackageManager#loadUnbadgedItemIcon" into qt-dev 2019-05-10 18:46:49 +00:00
Winson
6a864b55d0 Document non-effective mode return of AppOps batch fetch
The getPackagesForOps and getOpsForPackage APIs don't convert the
mode of the return ops to their effective state, which isn't obvious.

Bug: 119281847

Test: none necessary

Change-Id: I60dd26ab771e73f2893981550a71cdaa353056c2
2019-05-10 10:58:52 -07:00
Julia Tuttle
d9f4835edb Clarify required/optional fields in BubbleMetadata.
Bug: 130427148
Test: make docs, examine out/
Change-Id: I8def5c4481be881784fb656ca77917eb9834eb79
2019-05-10 13:52:03 -04:00
Beth Thibodeau
6b8db61901 Merge "Fix progress bar color in foreground notifications" into qt-dev 2019-05-10 13:05:37 +00:00
Yiwei Zhang
b137faed01 Merge "GpuStats: send a hint of activity launch to GraphicsEnvironment" into qt-dev 2019-05-09 23:45:47 +00:00
Julia Tuttle
4f1bf20ba5 Fix typo.
Bug: 130427148
Test: just renaming a variable, still compiles
Change-Id: I6a3f6a8abebf0ccde53705e5b82fd11fa2f7bd51
2019-05-09 15:33:42 +00:00
Sudheer Shanka
e707ddc188 Update behavior of setDestinationInExternalPublicDir().
Allow apps to use DownloadManager for downloading files into
known public dirs other than "Download" but don't include
them as part of Downloads collection.

Bug: 132136431
Test: manual
Test: atest DownloadProviderTests
Test: atest cts/tests/app/src/android/app/cts/DownloadManagerTest.java
Test: atest cts/tests/app/DownloadManagerLegacyTest/src/android/app/cts/DownloadManagerLegacyTest.java
Test: atest cts/tests/app/DownloadManagerApi28Test/src/android/app/cts/DownloadManagerApi28Test.java
Change-Id: I059c0b19218e07c7813e23c6b2d414d0306434d5
2019-05-08 19:15:08 -07:00
Yiwei Zhang
e54faf5818 GpuStats: send a hint of activity launch to GraphicsEnvironment
USAP preloads the driver in usap pool, and those processes in the pool
are not bound with any applications. Previously we send GpuStats based
on the completion of driver loading. So with usap enabled, we won't be
able to receive stats for system built-in driver.

If we send the stats when all the existing stats fields are filled,
there will be tons of selinux violations, because those non app
processes are trying to send the stats as well.

So we end up sending the stats based on the hint of activity launch.

Bug: 131866357
Test: dumpsys gpu with enable/disable usap and check the selinux
Change-Id: I32fcc15aeba2f2e89ba6dd9deae2c27187d2071e
2019-05-08 18:43:11 -07:00
Beth Thibodeau
38275c3963 Fix progress bar color in foreground notifications
Progress bar color for colorized foreground notifications should be
based on the text color instead

Fixes: 111839310
Test: visual
Change-Id: I17838f8c1c29637914d4cae0aaa5b9d8db263590
2019-05-08 16:41:14 -04:00
Winson Chung
a69375ec2e Merge "Ensure we only remove messages for the same app info" into qt-dev 2019-05-08 03:52:59 +00:00
Winson Chung
6ee17428b6 Ensure we only remove messages for the same app info
Bug: 130151718
Bug: 132179354
Test: Switch between gesture nav modes, ensure that system and sysui are
      in the right state

Change-Id: I364d155292fc378af552b6ce9e6acca879224693
2019-05-07 13:32:23 -07:00
Kweku Adams
d1f4b90e28 Using ParceledListSlice to send large lists over Binder.
JobScheduler.getAllPendingJobs() and .getAllJobSnapshots() can
potentially contain enough data to exceed the Binder limit. Using a
ParceledListSlice will ensure the data can still be sent over Binder.

Bug: 70648761
Test: atest CtsJobSchedulerTestCases
Test: atest CtsBatterySavingTestCases
Change-Id: I79ea32eac56473ca996cc00312b30d0f72ce22c9
2019-05-07 12:33:43 -07:00
Winson
4160523864 Null check ApplicationInfo for ApplicationPackageManager#loadUnbadgedItemIcon
Broken by I55026af543ff71ac0d947159bc6aeb3b33f31271 which added a shortcut.
Really caused by the method not being annotated correctly so it was
non-obvious that the AppInfo could be null.

Bug: 132078158

Test: atest PackageItemInfoIconTest

Change-Id: Ifd2789a80d2dad86ba4e09b1d9220ecab5d612ec
2019-05-07 10:24:19 -07:00
Mark Renouf
1eb6476824 Merge "Adds OnBackPressedOnTaskRoot" into qt-dev 2019-05-07 16:10:12 +00:00
Mark Renouf
446251dc52 Adds OnBackPressedOnTaskRoot
This allows Bubbles to be collapsed instead of finished
when there is only one activity in the stack.

Bug: 126852149
Test: launch activity, press back
Change-Id: Iad8db0549853e3f385d54fc6b6cea5e502d37139
2019-05-07 10:00:07 -04:00
Tim Murray
d06c6d2932 Revert "Add optional reasons why permissions were denied"
This reverts commit 3623f3219e.

Reason for revert: 40% startup perf regression

Test: revert
Bug 132129453
Exempt-From-Owner-Approval: critical revert

Change-Id: I19dc33e6a71c9254b4096154f4089c059fe408dd
2019-05-07 07:10:30 +00:00
TreeHugger Robot
772c69bdd3 Merge "Remove (old) STOPSHIP" into qt-dev 2019-05-06 16:56:28 +00:00
Leland Miller
5df2e3e7ec Merge changes from topic "permissions" into qt-dev
* changes:
  Add calling package parameter to IRcs methods
  Use injected instance of RcsControllerCall
  Create new RcsMessageQueryResultParcelable
  Create new RcsParticipantQueryResultParcelable
  Create new RcsThreadQueryResultParcelable
2019-05-06 16:35:06 +00:00
TreeHugger Robot
dd82c4513b Merge "Add optional reasons why permissions were denied" into qt-dev 2019-05-06 06:21:23 +00:00
Philip P. Moltmann
3623f3219e Add optional reasons why permissions were denied
Currently only for the ContextImpl.enforcePermission code paths and only
when 'secure debug_package_permission_check' is set.

This feature is disabled on user-builds.

Test: Enabled permission checking for my app and
      - checked runtime permision denial
      - permission denial because app is instant
Bug: 111075456
Change-Id: Ib85777db69ee490608e9dac32a3b97971c0ba215
2019-05-05 21:05:13 -07:00
TreeHugger Robot
165ac85b33 Merge "Remove separate recent app tracking" into qt-dev 2019-05-04 14:30:29 +00:00
Julia Tuttle
28fb1a9430 Clarify FLAG_BUBBLE semantics.
Bug: 129995314
Test: no code changes
Change-Id: I10b01a4e060217a793a39468e9d2788654ef3446
2019-05-03 18:08:35 -04:00
Julia Reynolds
8bd8fdf506 Remove separate recent app tracking
Just use UsageStats

Test: atest
Bug: 131641848
Change-Id: I40c0f3dd3a2b67ed1f52062b3cbadec6bed0f189
2019-05-03 20:50:07 +00:00
TreeHugger Robot
23d047ab15 Merge "Reenable CursorAnchorInfo API with ActivityView" into qt-dev 2019-05-03 17:07:35 +00:00
TreeHugger Robot
b5112587de Merge "Inject session id on all AutofillIds kept in the service." into qt-dev 2019-05-03 02:17:37 +00:00
Adam He
43c0699042 ContentCaptureManager is notified when FLAG_SECURE is set dynamically on
windows.

Fixes: 130377514
Test: # manual verification
Change-Id: I18126de8284a0c95ff61107031ffff941ca26be7
2019-05-02 16:22:50 -07:00
Winson Chung
d2ff5562a4 Merge "Preemptively clear buffer reference if snapshot is unused" into qt-dev 2019-05-02 23:01:42 +00:00
Winson Chung
67b090243d Preemptively clear buffer reference if snapshot is unused
- Normally this will be picked up in the next GC, but there is no reason
  to wait

Bug: 129295298
Test: Manual
Change-Id: I945336e86d0980f926586cfba6327c8c6c142ce8
2019-05-02 14:00:51 -07:00
TreeHugger Robot
501152f974 Merge "Avoid unnecessary badging" into qt-dev 2019-05-02 16:59:19 +00:00
Yohei Yukawa
b4f328a2f3 Reenable CursorAnchorInfo API with ActivityView
With my previous CL [1], CursorAnchorInfo API was globally disabled
for cross-display scenario including ActivityView scenario.

This CL slightly relaxes the above condition so that IMEs can rely on
CursorAnchorInfo APIs again to interact with apps running inside
ActivityView.

The basic idea here is keeping reporting relevant information from
ActivityView to InputMethodManagerService (IMMS) so that IMMS can take
the display hierarchy because of ActivityView into account.  As long
as IMMS has the up-to-date hierarchical information, IMMS can tell
InputMethodManager (IMM) running in the IME client process about the
missing coordinate transformation information from the virtual display
space to the outer display space where the IME is actually shown.

Note that there was a similar fix for AccessibilityService that keeps
reporting ActivityView location to WindowManagerService (WMS) [2].
Ideally we should be able to share the logic, but to do so we need to
introduce a generalized callback mechanism into WMS so that IMMS can
be notified when a cetain coordinate transform matrix has changed.
For Q, this CL implements IMMS's own mechanism to keep track of
ActivityView hierarchy instead of introducing a direct dependency from
WMS to IMMS.

For R+, most likely we may want to reconsider how ActivityView should
be implemented.

There should be no behavior change in this CL if ActivityView is not
involved.

 [1]: Ie2f7a5117cff3a13ad5c5806fd4b3abef7569549
      3d2cc0fffd
 [2]: I38da5b84a11890bf0f4a57eb9d5b7e71bdcc16a9
      d8ec938609

Fix: 115693908
Test: atest CtsWindowManagerDeviceTestCases:ActivityViewTest#testInputMethod
Change-Id: Id0411a80456182111bb5b681c6d1230b58e7ec2e
2019-05-02 08:41:27 -07:00
Leon Scroggins
6e5efabcfd Merge "Pass ColorSpace along with HardwareBuffers" into qt-dev 2019-05-02 15:15:02 +00:00
Tiger Huang
d8ec938609 Refine getTransformationMatrix for windows in a re-parented display
Currently, the translation of the transformation matrix computed by
WindowState.getTransformationMatrix is related to its own display.
However, if the display has been re-parented, the translation might
be misplaced to the visual result. This CL makes it return the global
transformation matrix.

Bug: 129098348
Test: atest WindowStateTests
Change-Id: I38da5b84a11890bf0f4a57eb9d5b7e71bdcc16a9
2019-05-02 12:53:55 +08:00
TreeHugger Robot
8189440785 Merge "Elevate standby bucket on first foreground service start" into qt-dev 2019-05-02 01:55:12 +00:00
Felipe Leme
785777bb05 Inject session id on all AutofillIds kept in the service.
Android Q introduce the FLAG_DELAY_SAVE, which allows the autofill service to delay the SAVE UI by
keeping the session open. But this approach introduces a new problem, as fields from different
activities could have the same AutofillId.

Test: atest MultiScreenLoginTest#testSaveBothFieldsCustomDescription_sameIds
Test: atest AutofillIdTest
Test: atest CtsAutoFillServiceTestCases # sanity check

Fixes: 113593220

Change-Id: Ibd187f5c58c150f820972fcab6d88217294ffe2d
2019-05-01 18:10:00 -07:00
Ian Pedowitz
8b3b7771c1 Merge "Revert "RESTRICT AUTOMERGE Remove deprecated System APIs added in Q."" into qt-dev 2019-05-02 00:59:09 +00:00
Ian Pedowitz
79a19effee Revert "RESTRICT AUTOMERGE Remove deprecated System APIs added in Q."
This reverts commit 02014297fd.

Reason for revert: QT SDK Finalization. Will be merged again on/after May 13th

Bug: 129975435
Change-Id: Ia054b193a982dee669630555974d2d7831fe2b50
2019-05-02 00:54:39 +00:00
Ian Pedowitz
3f38719b74 Merge "RESTRICT AUTOMERGE Remove deprecated System APIs added in Q." into qt-dev 2019-05-02 00:53:29 +00:00
Leland Miller
4137a85cd9 Use injected instance of RcsControllerCall
Instead of static methods, create an instance of RcsControllerCall that
holds a reference to the Context and inject it where it is used.

This will be used in a follow up commit that will require the calling
package name be passed when calling IRcs methods.

This change will allow passing a calling package name to an
RcsServiceCall or an RcsServiceCallWithNoReturn, so uses of the call
method might look something like:

```
mRcsControllerCall.call((iRcs, callingPackage) ->
        iRcs.getFileTransferContentUri(mId, callingPackage));
```

Alternatives to storing the context here would have been:

1. To store the context everywhere the RcsControllerCall is injected and
   get the calling package name at each RcsControllerCall call

2. To store the calling package name everywhere that the
   RcsControllerCall instance is injected

Compared to solution 1, the implemented solution avoids repeating the
logic of retrieving the calling package.

Compared to solution 2, the implemented solution does not introduce any
complexity. In addition, the individual classes do not care about the
calling package name outside of the need to pass it to an IRcs method.
In the future, the implemented solution may also provide a useful point
to provide logic involving calls and the context (or other injected
dependencies). Though this future concern is not alone enough to justify
the solution, since the solution adds no additional complexity against
other solutions, it seems like a nice benefit.

Note, to avoid polluting this commit, a follow-up issue (b/128029441)
has been created to adjust the name of RcsControllerCall to reflect that
an instance of RcsControllerCall does not represent a single call to
RcsController.

Bug: 123699565
Test: Existing tests pass
Change-Id: Ib0f55f14397e5eb1e5a55864094c0be0c4e37c06
Merged-In: Ib0f55f14397e5eb1e5a55864094c0be0c4e37c06
2019-05-01 13:37:03 -07:00