Commit Graph

10436 Commits

Author SHA1 Message Date
Charles Chen
b661dcbda6 Merge "Enable to listen to WindowContext's config changes" into sc-dev 2021-03-22 12:28:02 +00:00
Jeff Sharkey
a57db58f24 Surface "neverForLocation" through public API.
Since developers can declare the "neverForLocation" flag in their
manifest as public API, we should also offer a way to inspect the
value that we parsed from the manifest.  We do this by surfacing it
through the existing PackageInfo.requestedPermissionsFlags field.

This also means we can remove the PackageManagerInternal API, since
interested parties can now check PackageInfo directly.

Fix a potential security issue by only accepting flags from manifest
when the application is targeting a modern enough SDK.

Bug: 181812281
Test: atest CtsContentTestCases:PackageManagerTest
Test: atest FrameworksServicesTests:PackageParserTest
Test: atest com.android.server.pm.parsing
Change-Id: I877768c06ee15281f3334794034f4af563e74569
2021-03-19 17:51:16 -06:00
Charles Chen
0783811428 Enable to listen to WindowContext's config changes
This CL overrides registerComponentCallbacks for
WindowContext. Users can use below code snippet
to listen to Configuration changes.
```
Context windowContext = context.createWindowContext(
        display, ...);
windowContext.registerComponentCallbacks(
        new ComponentCallbacks() {
            @Override
            public void onConfigurationChanged(
                    Configuration newConfig) {
                    // Do Something
                }
        });
```

Bug: 181134729
Test: atest WindowContextTests
Test: atest ComponentCallbacksControllerTest

Change-Id: Iff46607bae3c942a96b64dcc97708f3a8c33f23a
2021-03-19 21:56:35 +08:00
Jeff Sharkey
d8a9a21a84 Merge "Add flags to <uses-permission> manifest tags." into sc-dev 2021-03-19 00:06:12 +00:00
Tiger Huang
1c7a274367 Merge "Let insets can still be controlled if its window bounds is moved" into sc-dev 2021-03-18 15:27:57 +00:00
TreeHugger Robot
043d71394c Merge "Add TEST_NETWORK_SERVICE to module API" into sc-dev 2021-03-18 10:33:54 +00:00
Remi NGUYEN VAN
d31b35212c Add TEST_NETWORK_SERVICE to module API
TestNetworkManager is being unbundled; the TEST_NETWORK_SERVICE constant
is necessary for the module to register the manager with
registerContextAwareService.

Bug: 171540887
Test: m
Change-Id: I0690251ddfcdaa8a34830e110b75869a370de389
2021-03-18 00:27:51 +00:00
kholoud mohamed
23c36dbe21 Exposed some testAPIs in ActivityManager
- Added the following testAPIs to replace the usage
of adb shell commands in tests:
* stopUser and ACTION_USER_STOPPED
* waitForBroadcastIdle

- Changed the documentation for switchUser to correctly
reflect that it accepts CREATE_USERS

Test: verfied that tests can access the APIs
Bug: 181030374
Change-Id: I92b92471a18cf97a118d3f1946d6e06c277a76f1
2021-03-17 21:08:02 +00:00
Winson Chiu
a0ac8d3a31 Merge changes I8d5a10c3,I3d629722,I35072d6e,I6cc270fb,I19b88fb5, ... into sc-dev
* changes:
  Remove app links caller BROWSABLE requirement
  Fix DomainVerificationShell user/allowed bugs
  Remove pending/restored domain state when attaching
  Check user ID for domain verification setters
  Expose error codes for domain verification setters
  Move domain state ints to DomainVerificationInfo
  Migrate approved/denied domain states and add tests
2021-03-17 20:03:45 +00:00
Thierry Strudel
491112e291 Merge "rename power_stats service to powerstats" into sc-dev 2021-03-17 18:25:59 +00:00
Jeff Sharkey
ea48e8e8b0 Add flags to <uses-permission> manifest tags.
As part of an upcoming feature, developers will need the ability to
clearly communicate that they'll never use a permission derive the
physical location of the device, regardless of ACCESS_FINE_LOCATION
and/or ACCESS_COARSE_LOCATION being granted.  The first use of this
is the BLUETOOTH permission, but developers may need to communicate
this for other permissions such as READ_PHONE_STATE, etc.

This change begins parsing this developer declaration as one of
multiple "usesPermissionFlags", which are then stored in a new
ParsedUsesPermission object.  To minimize refactoring, we continue
to offer this data through the older String-based APIs.

Bug: 181812281
Test: atest FrameworksServicesTests:PackageParserTest
Test: atest com.android.server.pm.parsing
Test: atest -p core/java/android/content/pm \
            core/java/com/android/internal/content \
            services/core/java/com/android/server/pm \
            services/tests/servicestests/src/com/android/server/pm
Change-Id: I2ccda05cf416653d311151591f91ae55a729e05b
2021-03-16 14:29:59 -06:00
Winson
1122021b0c Remove app links caller BROWSABLE requirement
Does not require BROWSABLE category on the caller side anymore to apply
app links logic. However, it is now enforced on the receiver side, such
that all IntentFilter matches must contain BROWSABLE to be considered
approved for a domain.

Bug: 181890795

Change-Id: I8d5a10c3b8cc2370a4a69d4abe9ee74b1964f19e
2021-03-16 11:41:48 -07:00
Winson
173ef94284 Expose error codes for domain verification setters
Removes the InvalidDomainSetException and exposes the reasons as API
error codes. Implementers can check for a non-0 error code to tell if
the failure is meant to indicate a cancelled request.

Bug: 180991102

Test: atest com.android.server.pm.test.verify.domain
Test: atest DomainVerificationManagerApiTest

Change-Id: I19b88fb582fc7f633497d036a0590350ec463f3e
2021-03-16 11:41:44 -07:00
Benjamin Franz
0b3f22b216 Merge "Create per-app treatment for overriding minimum aspect ratio" into sc-dev 2021-03-16 15:51:43 +00:00
Tiger Huang
7faf533fb3 Let insets can still be controlled if its window bounds is moved
Insets source window can be moved by the display area policy so that
the window would not on the edge of the display. This makes the window
cannot provide insets to the display frame. The default animation uses
the display frame to compute insets, so the moved types cannot be
animated properly.

This CL adds an insets hint to InsetsSourceControl. It is the insets
computed from its owning window bounds. With the insets hint, the insets
animation can be played regardless of the display frame.

This CL also fixes an issue that the insets animation would be played in
the wrong direction by the fixed-rotation window.

Bug: 175775686
Fix: 181939099
Fix: 163018915
Test: atest ImeInsetsSourceConsumerTest InsetsAnimationControlImplTest
            InsetsControllerTest InsetsSourceConsumerTest
            DisplayImeControllerTest
      WindowInsetsTests (manual)
Change-Id: Ic6a8a215bd9b3a3b1af18e425dabe803c9be323e
2021-03-16 23:33:31 +08:00
Benjamin Franz
c4a55ff629 Create per-app treatment for overriding minimum aspect ratio
We define three change ids in this change:
OVERRIDE_MIN_ASPECT_RATIO
OVERRIDE_MIN_ASPECT_RATIO_MEDIUM
OVERRIDE_MIN_ASPECT_RATIO_LARGE

Depending on which change ids are enabled, we override the minimum
aspect ratio of a given app to the value corresponding to the treatment.

Bug: 174042980
Test: atest WmTests:SizeCompatTests
Change-Id: I2db2a3acbd051b651b7ab0dc4c51c38a0276430b
2021-03-16 09:50:16 +00:00
Guojing Yuan
ac40826ea9 Merge "Update javadoc for Intent.ACTION_VIEW_PERMISSION_USAGE" into sc-dev 2021-03-16 03:32:45 +00:00
Winson
f9e1c30239 Move domain state ints to DomainVerificationInfo
Hides the internal values and exposes a smaller set of defined values
for each specific case the domain verification agent might be
interested in.

These values are only for the public API output and all other classes
should continue to use the internal DomainVerificationState.

Bug: 181100856

Test: atest com.android.server.pm.test.verify.domain

Change-Id: I2b16d14bbf3a70e4c2e3f4b358af8671aed71490
2021-03-15 15:24:03 -07:00
Winson
0c4110e099 Migrate approved/denied domain states and add tests
Allows shell configured values to persist across package updates and
validates the behavior with new unit tests.

Also fixes a bug with failing to recalculate hasAutoVerifyDomains
during an update.

Bug: 180535047

Test: atest DomainVerificationPackageTest

Change-Id: I793171491c8373ad67a38b5a02a57f46e4d5828a
2021-03-15 15:24:03 -07:00
Kevin Han
2e810b5d1e Merge "Add intent for going to "Unused apps"" into sc-dev 2021-03-15 18:51:19 +00:00
Corina Grigoras
9f2095305b Merge "Expose create uri as user as system api." into sc-dev 2021-03-15 17:27:34 +00:00
Oli Lan
fe4a8f58fb Merge "Add text classification results to clip description and clip data." into sc-dev 2021-03-15 17:26:35 +00:00
Aaron Huang
e29f0a55d8 Merge changes from topic "pacproxy-service" am: 16f50075b1 am: 688ae36dcb am: ce43593e5e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1553959

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If6d34753e8bf9201e16121b8f3c6c83aa6358986
2021-03-15 12:56:09 +00:00
Aaron Huang
16f50075b1 Merge changes from topic "pacproxy-service"
* changes:
  Make PacProxyService be a system service
  Revert^2 "Refactor setCurrentProxyScriptUrl to a void method"
2021-03-15 11:49:45 +00:00
Aaron Huang
5d31a15d84 Make PacProxyService be a system service
PacProxyInstaller class is running a thread all the time and is
listening to intent ACTION_PAC_REFRESH so it would be better to
make it be a system service with a manager class PacProxyManager
which is obtained with getSystemService(PacProxyManager.class).
Besides, rename PacProxyInstaller to PacProxyService will
be easier to know it's the service for PacProxyManager.

ConnectivityService is going to be a mainline module and it
needs constructor of PacProxyService to be SystemApi.
However, in current design, it needs to pass a handler and
an int arguments to the constructor which would be difficult
to maintain if just expose the constructor directly.

So, define a listener for the event that the current PAC
proxy has been installed so that the handler and the int
arguments can be removed from the constructor.

Bug: 177035719
Test: FrameworksNetTests
Change-Id: I2abff75ec59a17628ef006aad348c53fadbed076
2021-03-15 14:40:58 +08:00
Yi-an Chen
27328673c0 Merge "Add the intent for showing permission history" into sc-dev 2021-03-13 01:09:34 +00:00
Guojing Yuan
0cdc55bc8b Update javadoc for Intent.ACTION_VIEW_PERMISSION_USAGE
BUG: 182204957

Test: N/A
Change-Id: I70f0dd7dffaa14730ebc96c0e9c7f82bbe36bb9f
2021-03-12 21:02:15 +00:00
TreeHugger Robot
f26cbdfa76 Merge "Deprecate PowerWhitelistManager." into sc-dev 2021-03-12 20:59:15 +00:00
Alex Buynytskyy
3a88d55f0f Merge "DL lifecycle: handle slow DL binding." into sc-dev 2021-03-12 20:20:06 +00:00
Yi-an Chen
c064bc738f Add the intent for showing permission history
Bug: 176902658

Test: Manually tested with Sargo DVT
Change-Id: I43f8c29c6b7c696c37c8bf7af5ddc710b9230c08
2021-03-12 20:06:32 +00:00
TreeHugger Robot
3bc6fbcd6a Merge "Expose DOMAIN_VERIFICATION_SERVICE" into sc-dev 2021-03-12 19:03:58 +00:00
Thierry Strudel
22fc755399 rename power_stats service to powerstats
Tests: adb shell incident -b > incident_report.proto
Tests: dumpsys powerstats
Tests: atest FrameworksServicesTests:PowerStatsServiceTest
Bug: 159813106
Signed-off-by: Thierry Strudel <tstrudel@google.com>
Change-Id: I22d41bece3db8cd62d07885f19ed0c07e9039e09
2021-03-12 18:52:30 +00:00
Varun Shah
4ec1e1f05d Deprecate PowerWhitelistManager.
Replace all constants and methods to reference the newly added
PowerExemptionManager.

Also keep Context#POWER_EXEMPTION_SERVICE hidden to discourage use of
getSystemService(String). It is still a TestApi for CTS purposes.

Bug: 180503057
Test: atest PowerExemptionManager
Test: atest PowerWhitelistManager
Change-Id: I52c24b79acf7a9ec9fce138d4cb0818b5480e2a0
2021-03-12 09:19:49 -08:00
Corina
3fcaa5218c Expose create uri as user as system api.
Bug: 179659160
Test: atest ContentProviderTest
Change-Id: I86edc2d4fa0911366a91170819140b274f5d6480
2021-03-12 16:43:35 +00:00
Chad Brubaker
13227f7a6f Merge "Support subattribution for manifest receivers" into sc-dev 2021-03-12 06:30:28 +00:00
paulhu
97c860113a Expose Intent#ACTION_CLEAR_DNS_CACHE
DnsManager will broadcast ACTION_CLEAR_DNS_CACHE intent to clear
dns cache when network have changed. But DnsManager is in the
Connectivity mainline module which can not use non-formal API.
Thus, expose Intent#ACTION_CLEAR_DNS_CACHE as module lib API for
mainline module.

Bug: 182370679
Test: m update-api
Merged-In: I30b1b146dcae82926be7bdb8b343635a01eabefe

Change-Id: I30b1b146dcae82926be7bdb8b343635a01eabefe
2021-03-12 05:21:08 +00:00
Rhed Jao
56d4c21816 Merge "Apply packages visibility to ContentResolver#getSyncAdapterTypes" into sc-dev 2021-03-12 03:54:39 +00:00
Paul Hu
e1ca2891e5 Merge "Expose Intent#ACTION_CLEAR_DNS_CACHE" into sc-dev 2021-03-12 03:29:34 +00:00
TreeHugger Robot
e1396848ae Merge "Move fs-verity check into DexMetadataHelper" into sc-dev 2021-03-12 00:54:27 +00:00
Alex Buynytskyy
7e06d712d2 DL lifecycle: handle slow DL binding.
Bug: 182214420
Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest PackageManagerServiceTest ChecksumsTest
Change-Id: I5959e01177ab702de1f754f4ba433004925ce98b
2021-03-11 16:35:35 -08:00
Zhen Zhang
ae8a171027 Add intent for going to "Unused apps"
Create a new intent for launching the unused apps UI page from
outside permission controller module.

Bug: 181172051
Test: Built successfully
Change-Id: I3f601425659a88f20683c0a1b1ab318f2b4e5ecf
2021-03-11 15:41:53 -08:00
Winson
d2b6cf2c6f Expose DOMAIN_VERIFICATION_SERVICE
With the getUserState public API, the constant should also be exposed
so that apps that wish to use that mechanism can access it.

Bug: 180955393

Test: builds

Change-Id: I98aa9a63eefc0480ddbf3107b91f76f0a2791f6b
2021-03-11 15:21:52 -08:00
TreeHugger Robot
2d29c77b01 Merge "Introduce PowerExemptionManager." into sc-dev 2021-03-11 21:49:25 +00:00
Chad Brubaker
4c5abc8137 Support subattribution for manifest receivers
This CL adds support for subattribution when sendBroadcast(Intent,
String) is used with an appop permission. This adds the new
android:attributionTag attribute to manifest receivers.

Fixes: 182313296
Test: atest AttributionTest
Change-Id: Ib315f95678204bc03e7ac354c54afbd64db403e8
2021-03-11 20:06:37 +00:00
paulhu
06caf5d5b6 Expose Intent#ACTION_CLEAR_DNS_CACHE
DnsManager will broadcast ACTION_CLEAR_DNS_CACHE intent to clear
dns cache when network have changed. But DnsManager is in the
Connectivity mainline module which can not use non-formal API.
Thus, expose Intent#ACTION_CLEAR_DNS_CACHE as module lib API for
mainline module.

Bug: 182370679
Test: m update-api
Change-Id: I30b1b146dcae82926be7bdb8b343635a01eabefe
2021-03-11 13:51:47 +08:00
Varun Shah
69f79be0db Introduce PowerExemptionManager.
This is essentially identical to PowerWhitelistManager which will be
deprecated due to the use of non-inclusive language.

Bug: 180503057
Test: atest PowerExemptionTest
BYPASS_INCLUSIVE_LANGUAGE_REASON=Existing public API.
Change-Id: Ie6ff50118330e22b59a547c81952a31a5f5b54d8
2021-03-11 03:05:09 +00:00
Victor Hsieh
c3dac2edb0 Move fs-verity check into DexMetadataHelper
Bug: 180414192
Test: CtsDexMetadataHostTestCases (with pm.dexopt.dm.require_fsverity
      true/false)
Change-Id: I91924fc92afd53bf7a276fa9ee62a7ce82d4e6b1
2021-03-10 17:47:39 -08:00
Oli Lan
7e568c9177 Add text classification results to clip description and clip data.
With this change, text classification is performed on text in clip
data when it is set as the primary clip, if it is below a certain
length.

This allows information about which entities (e.g. URLs, addresses)
are present in the text to be added to the ClipDescription.

With toast notifications being added when an app accesses clipboard,
this change will allow apps to tell if clipboard contains information
they are interested in before they access the clip data. This will
allow unnecessary clipboard accesses to be avoided.

If entities are detected in the clip data, the results of classification
are added to the ClipData so that users of this API do not then need
to repeat text classification themselves in order to locate the
entities.

Bug: 180577441
Test: new CTS tests added to ClipDescriptionTest
Change-Id: I334db4805b8b72e0e00c721fe6efe64ec0661a8a
2021-03-10 18:00:30 +00:00
tomnatan
7b22b447da Per-app configuration for force non-resizable
We're defining a new compat framework change id that indicates whether a
given app should be force non-resizable.

Bug: 181136395
Test: atest WmTests:SizeCompatTests
Change-Id: Ibd91bc8fe3da57f17e32fa8efaf98c51fe4dd677
2021-03-10 17:03:57 +00:00
Michael Groover
c717ef5964 Merge "Report UnsafeIntentLaunchViolation for Intents parsed from URIs" into sc-dev 2021-03-10 01:06:03 +00:00