Commit Graph

2862 Commits

Author SHA1 Message Date
Yohei Yukawa
5281b6b4c0 Add Context.getDisplayId() to avoid possible IPC
ContextImpl has an internal rule that when ContextImpl#mDisplay is
null the Context is associated with the default display.  The problem
is that, as discussed in Bug 117709581, when ContextImpl#mDisplay is
null ContextImpl#getDisplay() tries to get some non-null Display
object by making an IPC to the system server, which is redundant when
the display ID is the only thing that the caller wants to know.

By having an @hide method Context.getDisplayId(), we can ensure that
display ID can be obtained without any IPC.  This enables us to
re-submit my CL [1] that aimed to instantiate InputMethodManager (IMM)
for each display but then got reverted due to a performance regression
(Bug 117434607).

There should be no developer-observable behavior change.

 [1]: I7242e765426353672823fcc8277f20ac361930d7
      c53d78e992

Fix: 117712745
Test: atest FrameworksCoreTests:android.content.ContextTest
Test: prebuilts/checkstyle/checkstyle.py -f \
      frameworks/base/core/tests/coretests/src/android/content/ContextTest.java
Change-Id: I2534530a5ce90e2620c5039d793a6454a0a1e154
2018-10-15 07:38:25 +08:00
TreeHugger Robot
9208feacfb Merge "Adds missing RequiresPermission annotation to Context Hub APIs" 2018-10-12 23:11:33 +00:00
Shuzhen Wang
d3fd0bd791 Merge "Camera: Trivial doc update" am: e9f1e8c123 am: 9481340777
am: acca5faecf

Change-Id: Id148d8a89cb93a5590bd99006a660ed9baf7c02f
2018-10-11 14:52:35 -07:00
Shuzhen Wang
acca5faecf Merge "Camera: Trivial doc update" am: e9f1e8c123
am: 9481340777

Change-Id: I5d9c7fc848eb154e27012f1101340da2195bc423
2018-10-11 14:34:05 -07:00
Shuzhen Wang
9481340777 Merge "Camera: Trivial doc update"
am: e9f1e8c123

Change-Id: Id1a9c504a460b9f82496fbfcabb49e1c7f583dba
2018-10-11 14:21:35 -07:00
Arthur Ishiguro
f7a5bce7fb Adds missing RequiresPermission annotation to Context Hub APIs
Bug: 111365315
Test: Compile only
Change-Id: I4cf88ee0c5a1f770679ac2c0b7628de2d0562764
2018-10-11 10:16:26 -07:00
Shuzhen Wang
2b11fddb22 Camera: Trivial doc update
Change-Id: I63198c6d2cb348380e718974dd356d48137ae376
2018-10-11 09:17:34 -07: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
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
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
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
Philip P. Moltmann
fca922976a Merge "Require permission to read USB device's serial number." 2018-10-08 20:22:07 +00: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
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
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
Louis Chang
bddeea865c Merge "Support launching home activity on secondary display" 2018-10-04 07:58:37 +00:00
Kevin Chyn
811ae8b6ad Add missing BiometricManager constant
This constant is being sent from BiometricService but was not exposed
properly.

Fixes: 116823693

Test: atest BiometricManagerTest
Change-Id: I3b80b4908f440b983b4aa68eefb3a785266a4065
2018-10-03 23:24:03 -07:00
Kevin Chyn
b97e9c9350 Add @IntDef to BiometricManager
Bug: 116823693

Test: Builds
Change-Id: Ic800272991f4d4a520627c3e5ff8fdb2cf9b638d
2018-10-03 23:16:14 -07:00
Kevin Chyn
5ff2b1f158 Merge changes from topic "biometric-manager"
* changes:
  Move biometric setting observer from KeyguardUpdateMonitor to BiometricService
  Change BiometricManager#hasEnrolledBiometrics to canAuthenticate
2018-10-04 03:19:25 +00:00
Louis Chang
bd48dca2d0 Support launching home activity on secondary display
- Add a new flag indicating that the display should show
  system decorations, such as status bar, nav bar, home and IME.
- Automatically launches home activity on secondary display
  if the display support system decorations and home
  activity has multiple instances supports.
- Remove ActivityStackSupervisor#mHomeStack and move several
  home stack related methods to ActivityDisplay.

Bug: 111363427
Test: atest ActivityManagerMultiDisplayTests
      atest com.android.server.am
      Manual test on virtual display and chromecast

Change-Id: I48fe245ad12965a19a6768f5dbb4e974ce94b01a
2018-10-04 00:39:29 +00:00
TreeHugger Robot
605f9fd933 Merge "Add type to DisplayViewport" 2018-10-02 21:56:56 +00:00
Siarhei Vishniakou
2eb0f8f5d0 Add type to DisplayViewport
Refactor DisplayViewport to treat internal, external, and virtual
display viewports more equally. Now stored in single array, and mLocked
contains the most up-to-date copy of these. Still enforce the
requirement that there can only be 1 internal and 1 external viewport.
We should remove this requirement in the future.

Bug: 111108021
Test: atest DisplayManagerServiceTest
Change-Id: I6fca9725f6e4180063c86f3c2bc34906ac1d0024
2018-10-02 14:19:30 -05:00
Arthur Ishiguro
8b73024b89 Merge "Adds new PendingIntent-based APIs for ContextHubManager" 2018-10-02 01:29:02 +00:00
Kevin Chyn
b7b54a6039 Move biometric setting observer from KeyguardUpdateMonitor to BiometricService
Fixes: 116872423

Test: with additional logging, do
      adb shell settings put secure face_unlock_keyguard_enabled 1 (or 0)
Test: content observer updates when user changes
Test: clients receive the current state upon registering

Change-Id: Id37381a8c263b29a0b91abb5241d74bb52364d63
2018-10-01 15:40:43 -07:00
Kevin Chyn
e741142569 Change BiometricManager#hasEnrolledBiometrics to canAuthenticate
BiometricPrompt#authenticate and BiometricManager#canAuthenticate now
use the same logic to determine if the prompt can successfully be shown.

Before Android P, apps used FingerprintManager isHwAvail && hasEnrolled
before asking users to enable biometrics for their app. With
BiometricPrompt, which abstracts away individual biometric modalities,
developers need a way to determine if they should ask users to enable
biometrics for their app. Having separate checks is a nightmare due
to the untestable combinations of multi-biometric devices. This API change
makes it much more scalable since the logic will be done in the platform.

Fixes: 116823693

Test: manual test, returns status correctly

Change-Id: Ie0ecd139c9a39100b6dbc9bd85462400cb465f08
2018-10-01 15:00:30 -07:00
Arthur Ishiguro
62a02b6356 Adds new PendingIntent-based APIs for ContextHubManager
Bug: 111365315
Test: Compile only

Change-Id: I9587b4dec0cd5d16df314311f23e3e01771acb08
2018-10-01 13:33:14 -07:00
kopriva
9d3e4dfd96 Merge "docs: bug 72929620, nonoteslas typo" into pi-dev am: 21155ef8bc
am: 3bc799f6dc

Change-Id: I98934a336c1f8c848a705e7f01a706b89ffbdf6d
2018-10-01 12:38:21 -07:00
kopriva
3bc799f6dc Merge "docs: bug 72929620, nonoteslas typo" into pi-dev
am: 21155ef8bc

Change-Id: I3db7fd7f549e0ca4fba7434cfbb6cb529ab9ca1e
2018-10-01 11:58:15 -07:00
kopriva
b9cf1a1ada docs: bug 72929620, nonoteslas typo
Test: make ds-docs

Bug: 72929620

Change-Id: Ie6e5d3b8c0770ffb4ffb58b3e484e5cf30a9126f
Exempt-From-Owner-Approval: Docs-only change
2018-09-29 14:41:05 -07:00
Michael Dooley
7e833acdaf Merge "Revert "Revert "Revert "Adding getModelState API to sound trigger"""" 2018-09-28 07:38:34 +00:00
Michael Dooley
be93d52505 Revert "Revert "Revert "Adding getModelState API to sound trigger"""
This reverts commit 7999836ee3.

Reason for revert: broke build

Change-Id: Id02636908aed26ee0ed38042da1ace0125a6d417
2018-09-28 07:30:28 +00:00
Michael Dooley
ea3e73a879 Merge "Revert "Revert "Adding getModelState API to sound trigger""" 2018-09-28 06:24:43 +00:00
Kevin Chyn
7388286797 Merge "Use generic biometric references in BiometricPrompt documentation" 2018-09-28 05:50:37 +00:00
Kevin Chyn
33250a766c Use generic biometric references in BiometricPrompt documentation
Fixes: 116821457

Test: builds
Change-Id: Ic72f48dfab9b4e252fa101377128b51a70e32155
2018-09-27 16:24:40 -07:00
Kevin Chyn
d79e24e90a Add/update plumbing for generateChallenge
Also added check in BiometricService for user preference (enable/disable
face auth for apps). If disabled, BiometricPrompt returns
ERROR_HW_UNAVAILABLE.

Bug: 111548037
Bug: 111461540

Test: BiometricPromptDemo works

Change-Id: I94ef7fca693af9d5501f87035efbde47a47a0642
2018-09-26 11:43:05 -07:00
TreeHugger Robot
48f2fad424 Merge "Recycle PooledLambda in CameraDeviceImpl.CameraDeviceCallbacks" 2018-09-25 15:17:40 +00:00
Yohei Yukawa
bfcf9a8321 Recycle PooledLambda in CameraDeviceImpl.CameraDeviceCallbacks
PooledRunnable has a nice optional method recycleOnUse(), which can be
used if the Runnable is guaranteed to be executed at most once.

By calling this method, PooledRunnable instance will be auto-recycled
into the internal object pool once it's executed.

Test: presubmit
Change-Id: I6ff341be5d0abddba8134489950be0b7c1affcbb
2018-09-22 13:36:47 -07:00
Kevin Chyn
69183e5ac3 Check AppOps in BiometricService
Fixes: 116340012

Test: manual
Change-Id: Id8e3ec341c4d20dfd77bdb4c554d0f99cbf84aa5
2018-09-21 17:19:20 -07:00
Kevin Chyn
05c21508fd 3/n: Add BiometricManager, hasEnrolledBiometrics()
Fixes: 112570477

Test: BiometricPromptDemo works
Test: Able to get/use BiometricManager
Test: Tested with enrolled and non-enrolled biometrics

Change-Id: I26231894eccc87c42b5b3007aa0b7c6f09830452
2018-09-21 17:08:49 -07:00
Michael Dooley
7999836ee3 Revert "Revert "Adding getModelState API to sound trigger""
This reverts commit 81f71f1c27.

Reason for revert: undoing rollback

Change-Id: Ifddfd0c730f03e93788d662a392d538564ce210b
2018-09-21 12:13:01 +00:00
Kevin Chyn
352adfec61 2/n: Rename BiometricPromptService to BiometricService
This is in preparation for BiometricManager. Each Manager should have its
own Service.

Bug: 112570477

Test: BiometricPromptDemo works
Change-Id: Ibbbd499a0fd5a2050b329ee038776c6c9f49cdb2
2018-09-20 23:51:40 -07:00
Kevin Chyn
c31c757852 Merge changes from topic "face-dialog"
* changes:
  3/n: Add FaceDialogView and "confirmation" plumbing
  2/n: Refactor common code from FingerprintDialogView
  1/n: Rename FingerprintDialogView to BiometricDialogView
2018-09-21 04:34:59 +00:00
Kevin Chyn
6cf54e8190 3/n: Add FaceDialogView and "confirmation" plumbing
This change adds plumbing from <Biometric>Service to SystemUI for requiring
user confirmation (or not). This change also fixes some layout bugs
that were hard to notice.

Bug: 111461540
Fixes: 113130114
Fixes: 116135579

Test: With confirmation, crypto operation does not work until token
      is added to Keystore
Test: Without confirmation, crypto operation works when biometric is
      authenticated
Test: BiometricPromptDemo works, UI elements are all correct
Test: Talkback messages are correct

Change-Id: I2c05577699a29c09777cae4db6c7334c1e6bc179
2018-09-20 17:53:10 -07:00
kopriva
b7b399ed76 Merge "docs: fixing several minor documentation bugs" into pi-dev am: 82b0d17b39
am: f6b27fbff0

Change-Id: I14f98e023001c75719ab8b891db6abf3f0fd4564
2018-09-20 17:12:29 -07:00
kopriva
f6b27fbff0 Merge "docs: fixing several minor documentation bugs" into pi-dev
am: 82b0d17b39

Change-Id: Ieb1447c0d7cda629338de8d6e03f46670d8ed0b0
2018-09-20 16:55:47 -07:00
kopriva
f07a46058c docs: fixing several minor documentation bugs
Test: make ds-docs

Bug: 36949243
Bug: 116169695
Bug: 37001248
Bug: 37044885
Bug: 37053166

Change-Id: I844a8978518cd7214bf9d068d602902dfa7e8246
Exempt-From-Owner-Approval: Docs-only change
2018-09-20 11:20:27 -07:00
TreeHugger Robot
e1c0511176 Merge "Remove manager dependency from biometric services" 2018-09-18 23:15:00 +00:00