Commit Graph

2496 Commits

Author SHA1 Message Date
Aurimas Liutikas
e1bb600fc7 Merge "Remove legacy style metalava suppression" 2020-11-16 17:40:07 +00:00
Aurimas Liutikas
bdd6c53abb Merge "Suppress all hidden abstract methods in constructable classes." 2020-11-13 02:56:37 +00:00
Aurimas Liutikas
d23189b998 Suppress all hidden abstract methods in constructable classes.
Having a hidden abstract method for a class that can be extended
means that public implementors cannot implement these hidden methods
posing a risk that custom implementations will not have required
abstract methods resulting in an exception.

Bug: 151134792
Test: make update-api
Change-Id: I758d12465fabc671be19bedeeceb16885de23c87
Merged-In: I758d12465fabc671be19bedeeceb16885de23c87
Exempt-From-Owner-Approval: large scale suppression of existing issues,
    no-op in terms of behavior
2020-11-13 02:56:20 +00:00
Aurimas Liutikas
46a165215b Remove legacy style metalava suppression
@SuppressLint("Doclava125") is a legacy way of suppressing
RequiresPermission check. Updating to the new style of suppression
so metalava no longer has to support the legacy mode.

sed -i "s/@SuppressLint(\"Doclava125/@SuppressLint(\"RequiresPermission/" \
core/java/android/app/admin/DevicePolicyManager.java \
core/java/android/hardware/hdmi/HdmiControlManager.java \
core/java/android/hardware/location/ContextHubManager.java \
core/java/android/hardware/usb/UsbDeviceConnection.java \
core/java/android/net/TrafficStats.java \
core/java/android/os/RecoverySystem.java \
core/java/android/os/storage/StorageManager.java \
core/java/android/service/persistentdata/PersistentDataBlockManager.java \
location/java/android/location/LocationManager.java \
media/java/android/media/AudioManager.java \
telecomm/java/android/telecom/TelecomManager.java \
telephony/java/android/telephony/CarrierConfigManager.java \
telephony/java/android/telephony/TelephonyManager.java \
wifi/java/android/net/wifi/RttManager.java \
wifi/java/android/net/wifi/WifiScanner.java

Test: make
Exempt-From-Owner-Approval: No-op change
Merged-In: I6d5df95cfca2950ea86872d2f0afc1ba828841dc
Change-Id: I6d5df95cfca2950ea86872d2f0afc1ba828841dc
2020-11-12 18:30:12 -08:00
Malcolm Chen
2d594b71a5 Restructure CarrierMessagingServiceWrapper with better interfaces.
- CarrierMessagingServiceWrapper is now a final class with only
APIs of direct actions on messaging.
- The original abstract parts of the class are now interfaces:
interface CarrierMessagingServiceConnectionCallback
and Runnable callback.
- CarrierMessagingCallbackWrapper is renamed to
CarrierMessagingCallback

Bug: 172087216
Test: build and manual
Change-Id: I1760623543b929a51ce26dc7dcc5f8ebe7fd9732
Merged-In: I1760623543b929a51ce26dc7dcc5f8ebe7fd9732
2020-11-09 21:54:09 -08:00
Mathew Inwood
5d123b6775 Add maxTargetSdk restriction to unused APIs.
These are APIs that have @UnsupportedAppUsage but for which we don't
have any evidence of them currently being used, so should be safe to
remove from the unsupported list.

Bug: 170729553
Test: Treehugger
Merged-In: I626caf7c1fe46c5ab1f39c2895b42a34319f771a
Change-Id: I54e5ecd11e76ca1de3c5893e3a98b0108e735413
2020-11-04 09:45:53 +00:00
Anton Hansson
d2d4637685 Merge "Remove @TestApi from @SystemApi symbols" 2020-10-20 13:45:13 +00:00
Anton Hansson
dd7d52f963 Remove @TestApi from @SystemApi symbols
I ran these commands:
    cd frameworks/base
    grep -rl '@TestApi' --include '*.java' | xargs perl -i -p0e \
        's/\@SystemApi[\s\n]+(\@\w+[\s\n]+)?\@TestApi/\@SystemApi\1/gs'
    grep -rl '@TestApi' --include '*.java' | xargs perl -i -p0e \
        's/\@TestApi[\s\n]+(\@\w+[\s\n]+)?\@SystemApi/\1\@SystemApi/gs'

Bug: 171179806
Test: m checkapi
Change-Id: I772790b783b0a8730b8bf680c9e569a886b8d789
Merged-In: I772790b783b0a8730b8bf680c9e569a886b8d789
2020-10-19 16:41:01 +01:00
Xin Li
986e6eeddf Merge ab/6749736 in stage.
Bug: 167233921
Merged-In: Iecef31f7bf10ad97b7e0075cf302ae94e248474a
Change-Id: I9e9c873bc2e05a0cfe3af0bf74725500f3f108db
2020-10-10 20:38:57 -07:00
Jeff Sharkey
a8cec413b6 Update language to comply with Android's inclusive language guidance
See https://source.android.com/setup/contribute/respectful-code for reference

Test: none
Bug: 168334533
Exempt-From-Owner-Approval: docs updates
Change-Id: I245b8d9cac722da76ea67983738a3cbb9deb68df
2020-09-14 10:00:07 -06:00
Jeff Sharkey
705f6bec2d Update language to comply with Android's inclusive language guidance
See https://source.android.com/setup/contribute/respectful-code for reference

Test: none
Bug: 168334533
Exempt-From-Owner-Approval: docs updates
Change-Id: I53003332717baf57dc088b2f6b969cdb1863f65e
2020-09-14 09:59:01 -06:00
Xin Li
628590d7ec Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)
Bug: 166295507
Merged-In: I3d92a6de21a938f6b352ec26dc23420c0fe02b27
Change-Id: Ifdb80563ef042738778ebb8a7581a97c4e3d96e2
2020-08-31 21:21:38 -07:00
lpeter
2736db57ff Update language to comply with Android's inclusive language guidance
See https://source.android.com/setup/contribute/respectful-code for reference

Bug: 162536543
Test: Build pass and boot
Change-Id: I0a46d4366948addad629142157c361c7133179af
2020-08-20 18:00:49 +08:00
Ahaan Ugale
5085f4bbf1 Merge "Do not replace the authenticated dataset for pinned inline suggestion" into rvc-dev am: 913b610e53
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12001033

Change-Id: Ia62ed8b1f9a1d3af9973588005192bd642a69c99
2020-06-29 23:59:02 +00:00
Feng Cao
32cfac9ed7 Do not replace the authenticated dataset for pinned inline suggestion
* For the case where the pinned inline suggestion triggers an
  pending intent through the auth flow, and it returns a dataset
  to be autofilled, previously we would replace the existing
  dataset with the returned dataset. However, this is causing
  several potential issues:
  1. if the returned dataset doesn't contain inline presentation
     the the pinned icon will not show again
  2. if the returned dataset contains inline presentation but not
     the pending intent, then the pinned icon will show up again
     but tapping on it will not launch the pending intent
  3. if the returned dataset contains the inline presentaion and
     the pending intent, then when we "autofill" it, it'll fire
     the pending intent directly as opposed to filling in the
     value
* We fix the issue by not replacing the old dataset if the dataset
  is a pinned inline suggestion.
* One caveat of the approach is that: a dataset can potentially
  have multiple fields, and it's possible that some of the fields'
  has inline presentation and some don't. It's also possible that
  some of the fields' inline presentation is pinned and some isn't.
  So the concept of whether a Dataset is pinned or not is
  ill-defined. Here we say a dataset is pinned if any of the field
  has a pinned inline presentation in the dataset. It's not ideal
  but hopefully it is sufficient for most of the cases.
* An alternative approach is to have the autofill provider telling
  whether they want to replace the old dataset or not, through
  a new field in the returned Bundle. But that requres an API change
  so is infeasible at this time.

Test: atest android.autofillservice.cts.inline
Test: atest android.autofillservice.cts.augmented
Test: atest android.autofillservice.cts.LoginActivityTest
Test: atest android.autofillservice.cts.AuthenticationTest
Bug: 159367101

Change-Id: I6d162aeb88a4655989c1aa315df8304c0980ac60
2020-06-25 17:39:13 -07:00
TreeHugger Robot
29c7295caf Merge "Release remove inline suggestion views when session destroyed" into rvc-dev am: 6e3a4d7625
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11972118

Change-Id: Iea1d860438282cc334f179f57eb9a8302500080e
2020-06-24 05:37:58 +00:00
TreeHugger Robot
6e3a4d7625 Merge "Release remove inline suggestion views when session destroyed" into rvc-dev 2020-06-24 05:31:34 +00:00
Feng Cao
17ca1ee84e Release remove inline suggestion views when session destroyed
* Attach to each inline suggestion remote view the user id
  and session id, which together identify a session. Then when
  the session is destroyed, we release all the remote views
  associated with the it.
* Worst scenario is that the IME is still showing the UI when
  the remote view is released due to session destroy, in which
  case the suggestion will disappear from the IME window. But
  we also make sure we send an empty response to IME before
  releasing the views, so it should be bad. Plus when a session
  is destroyed, interacting with the suggestion UI doesn't do
  anything, so it's not very helpful to show them.
* Also add a dump method to the InlineSuggestionRenderService
  to help with debugging

Test: atest android.autofillservice.cts.inline
Bug: 154683107

Change-Id: I488fd9d9af08d0df3ffd3c851f96c567d07eed5a
2020-06-23 19:17:42 -07:00
TreeHugger Robot
7bbfde8105 Merge "Add information about requestAddControl" into rvc-dev am: c139a0071a
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11973250

Change-Id: I7233d74250ce5c8ddf3d0abc95329d09578d1d52
2020-06-23 22:36:25 +00:00
Fabian Kozynski
e134edc497 Add information about requestAddControl
Add possible conditions under which SystemUI may not prompt the user to
add a control.

Test: no test
Fixes: 159728016
Change-Id: I143e50cc15397d85b4212d9fb29d64df7c2de80c
2020-06-23 15:48:10 -04:00
TreeHugger Robot
19ccb788ca Merge "Add try-catch for the augmented autofill UI to avoid crashing" into rvc-dev am: c5c35fc376
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11863064

Change-Id: I4645c45fdc687e6918c9c4cd9ab5a90be4d1959a
2020-06-18 16:36:34 +00:00
TreeHugger Robot
c5c35fc376 Merge "Add try-catch for the augmented autofill UI to avoid crashing" into rvc-dev 2020-06-18 16:36:10 +00:00
TreeHugger Robot
a54af2ac7d Merge "Controls API - Update template docs" into rvc-dev am: e1ed6dcf57
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11898402

Change-Id: I5e2fb272c013e69438f9e6e1368de51fc41125fe
2020-06-18 15:10:31 +00:00
TreeHugger Robot
0f8c23b4f2 Merge "Callback the surface package after the views are drawn locally" into rvc-dev am: cf5f65cbe3
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11607123

Change-Id: Iebda003f603bcfc10184c106cccab39c0c490baf
2020-06-18 14:59:29 +00:00
Wei Sheng Shih
8577b21235 Merge "Force relayout when wallpaper engine become visible." into rvc-dev am: ec30716a6b
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11863063

Change-Id: I6f2857712f9700be6d00699110bcb7dfae6a65d0
2020-06-18 14:52:54 +00:00
TreeHugger Robot
9d098aaaf1 Merge "Fix a bug to not complete the augmented autofill request when fill window is shown" into rvc-dev am: 79f38179de
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11876607

Change-Id: If65cba02b7d6c42d0764de05b7ab293de6fcf78e
2020-06-18 14:39:19 +00:00
TreeHugger Robot
e1ed6dcf57 Merge "Controls API - Update template docs" into rvc-dev 2020-06-18 14:33:24 +00:00
Matt Pietal
68943be01d Controls API - Update template docs
Add more clarity around which control template to select.

Fixes: 150630500
Test: manual
Change-Id: I215e485e1cf81aae7e2c6c8b469945069136aad8
2020-06-18 08:03:44 -04:00
TreeHugger Robot
cf5f65cbe3 Merge "Callback the surface package after the views are drawn locally" into rvc-dev 2020-06-18 11:03:17 +00:00
Wei Sheng Shih
ec30716a6b Merge "Force relayout when wallpaper engine become visible." into rvc-dev 2020-06-18 08:21:58 +00:00
Feng Cao
ffd9affb74 Callback the surface package after the views are drawn locally
* SurfaceControlViewHost#setView() method will post a task to the
  main thread to draw the view. We want to callback the surface
  package to the remote process after the view is drawn and ready
  to be shown, to avoid the flicker when the remote process attaches
  it to their window when it's not drawn.

Test: atest android.autofillservice.cts.inline
Bug: 157515522

Change-Id: Ia75baaf9d6a4770a783dfc75ebb01b4b6e62e180
2020-06-17 23:57:11 -07:00
lpeter
d0bd08b4b9 Add try-catch for the augmented autofill UI to avoid crashing
It is hard to reproduce this issue, it would better add try-catch
for the augmented autofill UI as regular autofill UI did.

Bug: 149744098
Test: atest CtsAutoFillServiceTestCases
Change-Id: I808ac48476ef96b8944e762dd5c41413da3a2c2e
2020-06-17 14:06:08 +08:00
wilsonshih
5cac2a0279 Force relayout when wallpaper engine become visible.
After 9118c9b the surface can be destroy after the window state become
invisible, since WallpaperService copy the surface from WMS and it is
not implement with ViewRootImpl, WallpaperService#Engine should call
relayout to get new surface when client need to redraw it.

Bug: 158955956
Test: verify the wallpaper can show by launch LiveWallpaperChange with
live wallpaper and push/pull it from recents several times.
Test: atest WallpaperServiceTest ImageWallpaperTest

Change-Id: I79f97df61696eea325183e9b9057cbb10ce8cc66
2020-06-16 12:00:24 +08:00
Feng Cao
5d6243e47a Fix a bug to not complete the augmented autofill request when fill window is shown
* The bug was introduced in ag/11784240 causing the existing CTS test to
  fail: android.autofillservice.cts.augmented.AugmentedLoginActivityTest
  #testCancellationSignalCalled_retriggerAugmentedAutofill
* Basically when the dropdown fill window is displayed, we should not mark
  the augmented autofill request as complete

Test: atest android.autofillservice.cts.augmented
Test: atest android.autofillservice.cts.inline
Bug: 158864213
Bug: 158038231

Change-Id: Ifb75189c1ba3183c99516bfb9a7053524f4bbddc
2020-06-15 20:23:17 -07:00
TreeHugger Robot
df58dcf081 Merge "Controls UI - Tap for NO_TEMPLATE" into rvc-dev am: d6fb5e2151
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11850954

Change-Id: I13e5ed74ac82b79a7b72511b55c02cb6ad4c6573
2020-06-12 17:22:24 +00:00
Matt Pietal
733d637879 Controls UI - Tap for NO_TEMPLATE
Allow single taps as well as long press to launch the detail panel
when no template is specified.

Fixes: 158773087
Test: ControlsMockApp, any default type
Change-Id: I4d5451f6a5968d8dd223eb5b10d931ad60aad951
2020-06-12 11:59:57 -04:00
TreeHugger Robot
b205b806f1 Merge "Send empty inline response to IME if augmented autofill returns no suggestion" into rvc-dev am: b9aeb6ca22
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11784240

Change-Id: I9f4359377b1ab3866e8fc530a5dc67020e5363a2
2020-06-10 21:59:48 +00:00
TreeHugger Robot
b9aeb6ca22 Merge "Send empty inline response to IME if augmented autofill returns no suggestion" into rvc-dev 2020-06-10 21:56:03 +00:00
TreeHugger Robot
6f629d1629 Merge "pulled atom for Do Not Disturb configuration" into rvc-dev am: 5599ca731f
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11494623

Change-Id: Ia2a6641039579516452b2b200b6fbab809e4d885
2020-06-10 02:48:38 +00:00
Chris Wren
9316569062 pulled atom for Do Not Disturb configuration
Bug: 154254547
Test: atest ZenModeHelperTest ZenModeConfigTest ZenPoicyTest
Change-Id: Ibfcf0f8034b049b1ec790d243e8cb06d71224063
2020-06-09 20:17:10 -04:00
Feng Cao
1e0e1238e0 Send empty inline response to IME if augmented autofill returns no suggestion
* The augmented autofill may dynamically request an autofill request
  which will "invalidate" the old suggestions. In case the new request
  doesn't return any suggestions, we need to make sure the old
  suggestions are removed from the IME.
* See the scenario in https://b.corp.google.com/issues/158038231#comment14

Test: manual
Test: atest android.autofillservice.cts.inline
Bug: 157515522
Bug: 158038231

Change-Id: If85592395ad918197566a5ca556fba8ccc971071
2020-06-07 16:17:40 -07:00
Matt Pietal
3c731d4928 Merge "Controls UI - Handle 'not found' better" into rvc-dev am: 8761fbb501
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11738038

Change-Id: I97687ddc6194d0e76313e6935cfec9920f4492ce
2020-06-04 23:32:59 +00:00
Matt Pietal
370db8771d Controls UI - Handle 'not found' better
Show a more informative error to the user on touch/long press about
how to handle this situation. Properly animate status changes.

Fixes: 154737944
Test: TYPE_DISPLAY in mock app simulates not found error
Change-Id: I15ce2d2621ea29c97936f9d9022d917637693288
2020-06-04 17:20:42 -04:00
TreeHugger Robot
5c14c53394 Merge "Fix a bug to handle the touch ACTION_DOWN properly when inline suggestion view is obscured" into rvc-dev am: 931c0ce463
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11712623

Change-Id: I2f5d69c14649e80c870d43f731badd7442d8dffb
2020-06-03 17:44:17 +00:00
Feng Cao
2db11209c6 Fix a bug to handle the touch ACTION_DOWN properly when inline suggestion view is obscured
* if the user taps quickly such that there is only ACTION_DOWN and
  ACTION_UP, without ACTION_MOVE, it'd be possible that the
  isSecure check is not  respected. This patch fixes that case.

Test: atest android.autofillservice.cts.inline
Bug: 157772682
Bug: 158038231

Change-Id: Icd21bf2f88259673bb9b20e46e63672648495eac
2020-06-02 22:08:11 -07:00
Zimuzo Ezeozue
d371efcfb2 Merge "Support apps sharing file:// URIs with the camera API" into rvc-dev am: efbc3f2d5e
Original change: undetermined

Change-Id: I82ce2d45bc194420d34866483b5b1af06f27563c
2020-06-02 10:49:53 +00:00
Zimuzo Ezeozue
efbc3f2d5e Merge "Support apps sharing file:// URIs with the camera API" into rvc-dev 2020-06-02 10:45:33 +00:00
Zim
c7496a3a62 Support apps sharing file:// URIs with the camera API
The camera API, MediaStore.ACTION_IMAGE_CAPTURE requires apps to pass
a content:// URI with write permissions to the camera. Unfortunately,
apps haven't been doing this and we only started hitting problems in R
for two reasons:
1. The FileUriExposedException that should crash apps when they try to
share file:// URIs acroos binder is skipped. This is because, the
image_capture intent is passed across binder as a field in a
ChooserActivity Intent and the child intents are not checked for
file URI exposed
2. Prior to R, when camera gets a file:// URI, camera issues a file
open(2) in its process. This open(2) succeeds because the camera had
write_external_storage permission which gave it write access to all
files on external storage

Now, camera targets R and (2) fails because camera does not have write
access to files owned by other apps. To workaround, we do the
following in the apps process when it targets < R:
a. When we detect a file:// URI for the camera in an Intent, we create
the file on disk if it is not already created.
b. Scan the file to insert it in the database and retrieve a
content:// URI
c. Replace the file:// URI with the content URI in the image_capture
intent

This works because, the system will ensure the camera is granted write
access to the content URI.

Test: Manual
Bug: 156336269
Change-Id: I4849ff5e806a8207650ff7534846c36ecdc6d3c0
2020-06-01 20:33:52 +01:00
Yara Hassan
6dd5caab66 Add finish() method to DataShare Read and Write Adapters am: dc699fb8ce
Change-Id: I747217a8f7808a9dec4d5fb03daeeaec0bc107a8
2020-05-29 23:50:57 +00:00
Yara Hassan
dc699fb8ce Add finish() method to DataShare Read and Write Adapters
The finish() method is used to clear hard references after
the data copy has ended. This fixes a bug where the references are cleared before onError() is attempted to be called.

Test: CTS tests in followup CL
Bug: 157136368
Fixes: 157136368
Change-Id: If924fe388762831af90579e6b00bdf223230e203
2020-05-29 14:35:13 -07:00