Commit Graph

86360 Commits

Author SHA1 Message Date
Peiyong Lin
cfa8a02831 Merge "[SurfaceControl] Add setColorTransform API." 2018-10-09 21:35:15 +00:00
kopriva
c997fc62e0 Merge "docs: fixing errors found with lint check" into pi-dev am: 8c7d2142f6
am: 4d12f4c42b

Change-Id: I96a6dab05b6d4ea40950fe2ddc0948adf1b4e48f
2018-10-09 13:29:04 -07:00
kopriva
4d12f4c42b Merge "docs: fixing errors found with lint check" into pi-dev
am: 8c7d2142f6

Change-Id: Ief137b64e798b4b5bb6be5e6d25a35e08037abe5
2018-10-09 13:18:06 -07:00
TreeHugger Robot
8c7d2142f6 Merge "docs: fixing errors found with lint check" into pi-dev 2018-10-09 20:04:29 +00:00
sqian
241c69b1ce Merge "Add Call Redirection Default Application in Settings" am: b7c0727c15 am: 936791f536
am: 846b2d1920

Change-Id: Ib86bc25d77275a814752bad4f0d2800182ab150b
2018-10-09 12:00:01 -07:00
sqian
846b2d1920 Merge "Add Call Redirection Default Application in Settings" am: b7c0727c15
am: 936791f536

Change-Id: Ibf6554de156ec0e4d7fa9dc46eb8eee216857188
2018-10-09 11:47:46 -07:00
sqian
936791f536 Merge "Add Call Redirection Default Application in Settings"
am: b7c0727c15

Change-Id: Iae885868a4e985822eac0e4134b16224ee8237f6
2018-10-09 11:36:25 -07:00
Treehugger Robot
b7c0727c15 Merge "Add Call Redirection Default Application in Settings" 2018-10-09 18:06:05 +00:00
Kevin Chyn
167aa777b0 Merge changes I02a3c932,I04b6f64d
* changes:
  Add protected BiometricPrompt API to allow default title
  Add setActiveUser to BiometricManager/Service
2018-10-09 18:04:17 +00:00
kopriva
a1a7848f83 docs: fixing errors found with lint check
This covers directories through /app.

removed unused import in KeyguardManager.java

Test: make ds-docs

Bug: 117494359

Change-Id: Ie2536676ae8d3ab9349aa43dc3e3248b618dd143
Exempt-From-Owner-Approval: Docs-only change
2018-10-09 10:27:35 -07:00
Peiyong Lin
52bb6b436f [SurfaceControl] Add setColorTransform API.
Previously we have added methods to manipulate color transform for each
surface, this patch exposes this API to Java code land for WindowManager or
display service to set the color transform.

BUG: 111562338
Test: Build, flash and boot.
Change-Id: I0388eed5d72b043820786264f060cde2bd7a6aea
2018-10-09 10:25:52 -07:00
TreeHugger Robot
421f1a152c Merge "CalendarTracker tracks all calendars" 2018-10-09 16:25:22 +00:00
Philip P. Moltmann
ae15e11ddd Merge "Deprecate Intent based installation/uninstallation" 2018-10-09 16:15:50 +00:00
Philip P. Moltmann
60678a0777 Merge "Do not allow to revert setForceSafeLabel" 2018-10-09 16:14:42 +00:00
kopriva
c7d26d48ce Merge "docs: bug 37128155, broken link" into pi-dev am: 415e35525f
am: cc5deaf7d5

Change-Id: I41b0ec4bc5fb9d9c3ace80a0d21d3f4d1ea6d29f
2018-10-08 23:37:48 -07:00
kopriva
cc5deaf7d5 Merge "docs: bug 37128155, broken link" into pi-dev
am: 415e35525f

Change-Id: I2ef8a7bcb904734d5d7073e57c7a2bdc1334fe2c
2018-10-08 23:28:36 -07:00
TreeHugger Robot
415e35525f Merge "docs: bug 37128155, broken link" into pi-dev 2018-10-09 05:47:20 +00:00
Kevin Chyn
3a0187194a Add protected BiometricPrompt API to allow default title
ConfirmDeviceCredentials sometimes shows up without a title. Since CC
is now using BiometricPrompt, we need at least a private API that allows
the client to have the dialog show a default title.

Bug: 111461540

Test: Manual test with modified BiometricPromptDemo, to launch CC with
      empty string

Change-Id: I02a3c9327635c04f201f76754f7c0e1135e5ff36
2018-10-08 20:38:00 -07:00
Howard Ro
bb67362281 Merge "MetricsLogger writes to both event log and statsd" 2018-10-09 03:18:09 +00:00
kopriva
dae6ec0db7 Merge "docs: fixing 'mange' instead of 'manage'" into pi-dev am: 14aa42cfda
am: 57adb99451

Change-Id: I477a610e0602e464847c1a1ccb13b21644ee1ae8
2018-10-08 19:30:00 -07:00
kopriva
57adb99451 Merge "docs: fixing 'mange' instead of 'manage'" into pi-dev
am: 14aa42cfda

Change-Id: Id461e2430301c62be5ee76f5046370069cb1a34c
2018-10-08 19:14:44 -07:00
Philip P. Moltmann
20dd431f20 Do not allow to revert setForceSafeLabel
Test: Built
Bug: 116798569
Change-Id: I3f26d4466c84d3decb1c4962fb45e900ba35f68e
2018-10-08 16:56:49 -07:00
sqian
97b6b00255 Add Call Redirection Default Application in Settings
Bug: 64959558
Test: compile
Change-Id: Iddac4d5b202db5a88aa82fd9ea4df89544b94b71
2018-10-08 16:38:41 -07:00
kopriva
82c591b78b docs: fixing 'mange' instead of 'manage'
Test: make ds-docs

Bug: 117449040

Change-Id: I282a2e960bbf722bf3a72dd932e3bf685abb74e5
Exempt-From-Owner-Approval: Docs-only change
2018-10-08 15:57:00 -07:00
Kevin Hufnagle
8f4927c91c Merge "docs: Added callouts related to obsolete contacts data fields." into pi-dev
am: 568b5df03c

Change-Id: Ided398ed86868a0c71102911d040f7c98d6cffdb
2018-10-08 13:42:48 -07:00
Philip P. Moltmann
fca922976a Merge "Require permission to read USB device's serial number." 2018-10-08 20:22:07 +00:00
Kevin Hufnagle
568b5df03c Merge "docs: Added callouts related to obsolete contacts data fields." into pi-dev 2018-10-08 20:20:18 +00:00
Kevin Hufnagle
18b799e475 docs: Added callouts related to obsolete contacts data fields.
Also added callouts for fields that no longer sort results based on
contacts frequency.

Bug: 116422556

Test: make ds-docs -j32

Change-Id: I738e08bd4686e30b875fa37123ecebb4a5e179d3
Merged-In: Iddcd0b41b6ad991423a5ced78522a9ab2ad831a1
2018-10-08 09:40:51 -07:00
Philip P. Moltmann
fe460100e7 Deprecate Intent based installation/uninstallation
The android.content.pm.PackageInstaller install + uninstall APIs are
fully functional. No need to try to keep the intent based APIs
feature compatible.

In the future we will be able to restrict app targeting old targetSDK
levels from using the intent-based API. Even further in the future we
can radically simplify the package installer app.

Fixes: 116616700
Test: Built
Change-Id: Ia225d70fbee3fa31a3c1de388dcb05ff1063dccd
2018-10-08 09:03:21 -07:00
Kevin Hufnagle
94b9e05f76 docs: Added callouts related to obsolete contacts data fields.
Also added callouts for fields that no longer sort results based on
contacts frequency.

Test: make ds-docs -j32

Bug: 116422556
Change-Id: Iddcd0b41b6ad991423a5ced78522a9ab2ad831a1
Original-Change-Id: I738e08bd4686e30b875fa37123ecebb4a5e179d3
2018-10-08 07:45:08 -07:00
Kevin Chyn
bf830a370d Add setActiveUser to BiometricManager/Service
On devices with multiple biometrics, ConfirmCredentials can
potentially ask the user to authenticate using more than one
biometric. This is a wrapper that sets the active user for
all modalities.

Bug: 111461540

Test: With work profile set up, CC has same behavior as
      device running P.
      1) With one lock disabled, use modified BiometricPromptDemo
         to authenticate using CC in the work version of the app
      2) Go to normal version of the app, authenticating
         using BP (not CC) works with non-work biometric

Change-Id: I04b6f64d3fe373269366c243f406d897cb6fd83a
2018-10-07 16:03:48 -07:00
TreeHugger Robot
10efed0b49 Merge "Remove SMS access for apps other than current SMS handler" 2018-10-06 20:14:06 +00:00
TreeHugger Robot
ce10f9b15f Merge "Instantiate InputMethodManager for each display" 2018-10-06 17:19:58 +00:00
Wale Ogunwale
2f6c71d781 Merge "Moved startHomeActivity methods from AMS to ATMS (19/n)" 2018-10-06 13:45:13 +00:00
Wale Ogunwale
214f348ebb Moved startHomeActivity methods from AMS to ATMS (19/n)
Bug: 80414790
Test: Existing tests pass.
Change-Id: Ie3354304ea800777bd9ca7a83885b379776704e2
2018-10-05 23:32:49 -07:00
TreeHugger Robot
3121ea3039 Merge "Get correct hasEnrolled for work profiles" 2018-10-06 02:50:45 +00:00
Kevin Chyn
75dbb83fc2 Get correct hasEnrolled for work profiles
The check within BiometricService is done from system server process
so we need to pass in the actual userId.

Bug: 111461540

Test: With normal profile and FP enrolled, with work profile and no
      FP enrolled, launching BiometricPromptDemo for work profile
      and attempting to start authentication shows "none enrolled" message.

Change-Id: I45a1136d2b33bc7c594a3401e2a087103fb839f3
2018-10-05 19:17:28 -07:00
Eugene Susla
9351985f7a Remove SMS access for apps other than current SMS handler
Bug: 110098858
Test: atest android.telephony.cts.SmsManagerTest#testContentProviderAccessRestrictions
Change-Id: I9da992565b04ca5fa2656801fd2cfe4b196ef9b4
2018-10-05 16:51:13 -07:00
Yohei Yukawa
c53d78e992 Instantiate InputMethodManager for each display
InputMethodManager has been a per-process singleton object. In order
to support behavior changes for multi-display support in Android Q,
however, InputMethodManager now needs to be per-display objects.

With this CL, context.getSystemService(InputMethodManager.class) will
start returning per-display InputMethodManager (IMM) instance.

  Why?

There are two major reasons.
 1. To support per-display focused window.
 2. To support more simplified API for multi-session IME.

Currently per-process InputMethodManager instance directly receives
callback from ViewRootImpl upon windowFocusChanged, then it keeps
track of which Window is focused by storing its root view into
InputMethodManager#mCurRootView.

This design assumes that (within the same process) at most one Window
can have window focus, which is no longer true once we start
supporting per-display focused window (Bug 111361570).

  Why we need to do this to support per-display focused window:

For traditional non multi-session IME cases (e.g. apps that use
Virtual Display APIs on phones), internal state of IMM can be easily
messed up once the system starts sending per-display
windowFocusChanged events to the same process, because IMM still
doesn't know that now each display has focused window. It is hard to
precisely predict what kind of issues we would see simply because such
a use case is most likely not expected in the original design.

  Why we need to do this for multi-session IME:

For multi-session IME scenarios, in addition to the above concern in
InputMethodManager, the current design allows at most one IME session
per process. This means that if a process X is showing Activities to 3
different displays, only one Activity can interact with the
multi-session IME at the same time. If we do not change the current
design, the only way to work around is to ask app developers to
explicitly use different processes for each Activity, which may
require a lot of work (e.g. SharedPreference is not optimized for
multi-process use cases). This would also make multi-session IME
development complicated because the IME cannot know on which display
the IME is interacting until startInputOrWindowGainedFocus() is
actually called, and needs to do all the preparation and cleanup tasks
whenever startInputOrWindowGainedFocus() is called for a different
display than it's currently interacting with.

  Alternative solutions considered:

Another possible approach is to update InputMethodManager singleton to
be able to maintain multiple mCurRootView and mServedView for each
display. This approach was abandoned because those fields and methods
are already marked as @UnsupportedAppUsage.  I concluded that touching
@UnsupportedAppUsage things would have bigger compatibility risks than
per-display instance model.

  Implementation note:

* Public APIs in IMM that take View instance as the first parameter
  will verify whether the given View and IMM are associated with the
  same display ID or not.  If there is a display ID mismatch, such an
  API call will be automatically forwarded to the correct IMM instance
  IMM with a clear warning in logcat which tells that app developers
  should use the correct IMM instance to avoid unnecessary performance
  overhead.

* As a general rule, system server process cannot trust display ID
  reported from applications.  In order to enable IMMS to verify the
  reported display ID, this CL also exposes display ID verification
  logic from WMS to other system components via WindowManagerInternal.

* isInputMethodClientFocus() in WindowManagerService (WMS) is updated
  to use top-focused-display to determine whether a given IME client
  has IME focus or not.  This is now necessary because with a recent
  change [1] each display can have focused window.  The previous logic
  to check all the displays that belong to the given pid/uid [2] no
  longer makes sense.

* Currently per-display InputMethodManager instances will not be
  garbage collected because InputMethodManager#sInstanceMap keeps
  holding strong references to them.  Freeing those instances is
  technically possible, but we need to be careful because multiple
  processes (app, system, IME) are involved and at least system
  process has a strict verification logic that lets the calling
  process crash with SecurityException.  We need to carefully
  implement such a cleanup logic to avoid random process crash due to
  race condition.  Bug 116699479 will take care of this task.

 [1]: I776cabaeaf41ff4240f504fb1430d3e40892023d
      1e5b10a217
 [2]: I8da315936caebdc8b2c16cff4e24192c06743251
      90120a8b5b

Bug: 111364446
Fix: 115893206
Test: atest ActivityManagerMultiDisplayTests
Test: atest CtsInputMethodTestCases CtsInputMethodServiceHostTestCases
Test: atest FrameworksCoreTests:android.view.inputmethod.InputMethodManagerTest
Change-Id: I7242e765426353672823fcc8277f20ac361930d7
2018-10-05 15:54:41 -07:00
Beverly
cf0fbcec21 CalendarTracker tracks all calendars
Now CalendarTracker will track the events of all calendars
that the current user syncs events for and has ownership
contributor or higher.

Test: runtest -x /extra/master/frameworks/base/services/tests/uiservicestests/src/com/android/server/notification/ZenModeConfigTest.java
Change-Id: I898fc603c3247e6e3c560837e9eefd0a1e0dac3c
Fixes: 113368047
2018-10-05 14:55:12 -04:00
Leo Hsu
77c2e6736a Merge changes from topics "remove_feature_flag_emergency", "faster_emergency_feature_flag" into pi-dev
* changes:
  RESTRICT AUTOMERGE: Removes feature flag for faster emergency call.
  Add new metrics in power menu
  Add feature flag in Settings.
2018-10-05 01:06:42 +00:00
Kevin Chyn
8d46f7d24c Merge "Add missing BiometricManager constant" 2018-10-05 00:43:11 +00:00
TreeHugger Robot
715b8d6ded Merge "Add @IntDef to BiometricManager" 2018-10-05 00:41:31 +00:00
Andrew Solovay
d10e384d6c resolve merge conflicts of a3e34fe9fe to pi-dev-plus-aosp
Bug: None
Test: Eyeballed (comment-only change).
Change-Id: Ia644cde66376b2bddeb27bb2a147b3266037aa2c
Exempt-From-Owner-Approval: Docs-only change
Merged-In: Ia06e1fffd814671289a1caebd5962aedc18a28d7
2018-10-04 22:50:39 +00:00
kopriva
ee2eda11e6 docs: bug 37128155, broken link
Test: make ds-docs

Bug: 37128155

Change-Id: I39e432b6000b9c32ef62bc10f2d8ad343b9305f9
Exempt-From-Owner-Approval: Docs-only change
2018-10-04 14:47:12 -07:00
Andrew Solovay
a3e34fe9fe Merge "docs: Replacing {#link with {@link" into pi-dev 2018-10-04 20:06:59 +00:00
Andrew Solovay
a44f2c075b docs: Replacing {#link with {@link
Several java files had the typo {#link (for cross-references to other
Javadocs) instead of the proper {@link format. This was confusing the
new doc publish tool (Mivi) since that's the format used for {# Django
comments #}.

Fixed a couple of links that had other errors (which prevented building
once the {# -> {@ was done) and other typos.

Replaced throughout the frameworks/base project; I'll need a separate CL
for the AndroidX fixes.

Staged to:

go/dac-stage/reference/android/app/Instrumentation.html
go/dac-stage/reference/android/bluetooth/BluetoothAdapter.html
go/dac-stage/reference/android/bluetooth/BluetoothDevice.html
go/dac-stage/reference/android/bluetooth/BluetoothServerSocket.html
go/dac-stage/reference/android/inputmethodservice/InputMethodService.html
go/dac-stage/reference/android/view/KeyCharacterMap.html
go/dac-stage/reference/android/view/KeyEvent.html
go/dac-stage/reference/android/media/AudioManager.html
go/dac-stage/reference/android/net/wifi/WifiConfiguration.html

(Other files were not in the public Javadocs.)

Bug: 111925950
Test: make ds-docs
Exempt-From-Owner-Approval: Docs-only change
Change-Id: Ia06e1fffd814671289a1caebd5962aedc18a28d7
Merged-In: Ia06e1fffd814671289a1caebd5962aedc18a28d7
2018-10-04 18:20:51 +00:00
Andrew Solovay
b577f20c23 Merge "cherry-pick from pi-dev docs: Replacing {#link with {@link" 2018-10-04 18:17:23 +00:00
Andrew Solovay
5c05dedda1 cherry-pick from pi-dev docs: Replacing {#link with {@link
Several java files had the typo {#link (for cross-references to other
Javadocs) instead of the proper {@link format. This was confusing the
new doc publish tool (Mivi) since that's the format used for {# Django
comments #}.

Fixed a couple of links that had other errors (which prevented building
once the {# -> {@ was done) and other typos.

Replaced throughout the frameworks/base project; I'll need a separate CL
for the AndroidX fixes.

(Other files were not in the public Javadocs.)

Bug: 111925950
Test: make ds-docs
Change-Id: Ia06e1fffd814671289a1caebd5962aedc18a28d7
Original Change-Id: Ia06e1fffd814671289a1caebd5962aedc18a28d7
Exempt-From-Owner-Approval: Docs-only change
2018-10-04 18:17:05 +00:00
Neda Topoljanac
746a795b0f Merge "Add DevicePolicyManager constants for enterprise WiFi Provisioning with certificates" 2018-10-04 16:44:56 +00:00