Commit Graph

388309 Commits

Author SHA1 Message Date
Bill Yi
44f7570f84 Import translations. DO NOT MERGE
Change-Id: Idb9e6c118b173e74022e6496084de70b1e452124
Auto-generated-cl: translation import
2018-10-07 11:29:08 -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
fc3f6546b0 Merge "Check for race condition between onAuthenticated and taskStackChanged" 2018-10-06 05:07:25 +00:00
Kevin Chyn
c79856b460 Check for race condition between onAuthenticated and taskStackChanged
Bug: 111461540

Test: no more logs like the ones below

Change-Id: I784ecc71df1028bac8e0203156f79157f0509636
FingerprintService: onAuthenticated(owner=com.android.settings, id=-1049244503
FingerprintService: Stopping background authentication, top: com.example.android.biometric currentClient: com.android.settings
FingerprintService: client com.android.settings is no longer authenticating
FingerprintService: Done with client: com.android.settings
FingerprintService: handleError(client=null, error = 5)
2018-10-05 20:41:50 -07:00
Sooraj Sasindran
e9bcb328bd Merge "Rename ANAS to ANS" 2018-10-06 03:41:26 +00: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
Hall Liu
50600fcc61 Merge "Wire up the stopRtt API" am: 2d82493ded am: c7d6900e49
am: 41535c78be

Change-Id: Ia5e8888fbdff213167f031d221f301d5c4659cfc
2018-10-05 18:32:14 -07:00
Hall Liu
41535c78be Merge "Wire up the stopRtt API" am: 2d82493ded
am: c7d6900e49

Change-Id: I76eb7a9ac0c89b962241e4787a6306ad65e37792
2018-10-05 18:19:54 -07:00
TreeHugger Robot
0ccb5a9705 Merge "pull procstats package process stats section" 2018-10-06 01:19:25 +00:00
Hall Liu
c7d6900e49 Merge "Wire up the stopRtt API"
am: 2d82493ded

Change-Id: I720ec95129c7da6b0fbd802522f6b85f54de2f7b
2018-10-05 18:08:28 -07:00
Pengquan Meng
80e0e4e54d [automerger skipped] Merge "Fix incorrect API comments of getSubId()" am: 66a0899785 am: 5a75425936
am: 4ddb43ddf1  -s ours

Change-Id: I8409778d15e05840f61a47cb6c6cfae8c61e8c9a
2018-10-05 18:00:52 -07:00
Hall Liu
2d82493ded Merge "Wire up the stopRtt API" 2018-10-06 00:49:14 +00:00
Pengquan Meng
4ddb43ddf1 Merge "Fix incorrect API comments of getSubId()" am: 66a0899785
am: 5a75425936

Change-Id: I85a566c0eb25c73237c31b1f89975ed898a4f829
2018-10-05 17:46:38 -07:00
Pengquan Meng
5a75425936 Merge "Fix incorrect API comments of getSubId()"
am: 66a0899785

Change-Id: Ia4f100021e33aac65208eb2ef4c15ca0f1b7d5c4
2018-10-05 17:35:11 -07:00
Pengquan Meng
66a0899785 Merge "Fix incorrect API comments of getSubId()" 2018-10-06 00:13:01 +00: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
Artem Iglikov
c474bfd0cd Fix PowerManagerService handling of work chains.
When a wakelock with specific set of flags is requested
PowerManagerService crashes with NPE because
applyWakeLockFlagsOnAcquireLocked does not handle work chains and
requires UID set directly on the work source instead of the work chain.

This fixes the behavior by handling the work chains as well as
introducing additional emptiness checks.

There may be multiple work chains in a work source, and only the first
one is used. I don't know the details of this method, but it looks like
it's a reasonable decision.

Bug: 113868145
Test: atest FrameworksCoreTests:PowerManagerTest

Change-Id: Idbfa1d0cd32ddc021caf6443138688d3f8b7c946
2018-10-05 16:40:48 -07:00
TreeHugger Robot
a5f160fd6e Merge "Show padlock on AOD" 2018-10-05 23:29:45 +00:00
Shuo Qian
bc905712fc Merge "Add Parcelable EmergencyNumber and APIs" am: 379ca95c89 am: e414f5ed16
am: ffdf4d26ec

Change-Id: I4106b0a3e519c2a89db29196edfe05a6a515125d
2018-10-05 16:22:13 -07:00
Chenjie Yu
b52779e710 pull procstats package process stats section
Test: cts
BUG: b/113075820
Change-Id: Iad37427227181ff41b3630a3c907c7bb7f3efa2b
2018-10-05 23:21:51 +00:00
Hyunyoung Song
45c8719e80 Merge "IconFactory should be initialized before mAdapter is created inside ResolverActivity" 2018-10-05 23:18:41 +00:00
Shuo Qian
ffdf4d26ec Merge "Add Parcelable EmergencyNumber and APIs" am: 379ca95c89
am: e414f5ed16

Change-Id: Ic3f48cc3df90edde8c5ed1941a4e5a6f4e7ab572
2018-10-05 16:08:31 -07:00
TreeHugger Robot
61f6e0acb7 Merge "Mark android.view.inputmethod.InputMethodInfoTest as @SmallTest" 2018-10-05 23:00:21 +00: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
Shuo Qian
e414f5ed16 Merge "Add Parcelable EmergencyNumber and APIs"
am: 379ca95c89

Change-Id: I03c07a695d03409e6be4f5a98f37d4191bdc5dd1
2018-10-05 15:51:38 -07:00
Shuo Qian
379ca95c89 Merge "Add Parcelable EmergencyNumber and APIs" 2018-10-05 22:29:36 +00:00
TreeHugger Robot
59568d14be Merge "QS accent color should be white" 2018-10-05 22:26:04 +00:00
Adam He
072d2ff064 Merge "Sanitization before BatchUpdates and Transformations" 2018-10-05 21:33:06 +00:00
Pengquan Meng
4e2678d184 Fix incorrect API comments of getSubId()
getSubid() return the SubscriptionManager#getDefaultSubscriptionId()
when TelephonyManager created without the subId.

Bug: 111453847
Test: Build
Merged-In: I8e38ef43b5f23bbedc4d584df78c12f250b88fcc
Change-Id: I8e38ef43b5f23bbedc4d584df78c12f250b88fcc
2018-10-05 14:25:52 -07:00
Pengquan Meng
030a248749 Merge "Fix incorrect API comments of getSubId()" 2018-10-05 21:20:41 +00:00
Tyler Gunn
de3dd49761 Merge "Add finer grained call fail reasons." am: 5d0d0edc22 am: 46f1dfdf2d
am: 62077422bb

Change-Id: Iacefb95808a99bd3a9a2f59f3201e6d8b73498a5
2018-10-05 14:17:44 -07:00
TreeHugger Robot
519c523d91 Merge "Fix DozeConfigurationTest" 2018-10-05 21:08:21 +00:00
Hyunyoung Song
16b7af4062 IconFactory should be initialized before mAdapter is created inside ResolverActivity
Bug: 113032889
Test: builds
Change-Id: I9906ee7ec8be64f0a82634796a7e2f3bcbd01800
2018-10-05 14:02:21 -07:00
Tyler Gunn
62077422bb Merge "Add finer grained call fail reasons." am: 5d0d0edc22
am: 46f1dfdf2d

Change-Id: Ifca132fd271c311937f60bb6501d9d1f6de796bd
2018-10-05 14:01:31 -07:00
Tyler Gunn
46f1dfdf2d Merge "Add finer grained call fail reasons."
am: 5d0d0edc22

Change-Id: I06cda0a862459e0c805039f7cc6f1b70337f40de
2018-10-05 13:49:31 -07:00
Tyler Gunn
5d0d0edc22 Merge "Add finer grained call fail reasons." 2018-10-05 20:35:55 +00:00
Lucas Dupin
7bf2de4028 QS accent color should be white
Bug: 115644750
Test: visual
Change-Id: I893b350ad2aef40ccac87581eb2c1a0c86d323db
2018-10-05 13:01:45 -07:00
Yan Yan
01b46f8ffd Merge changes I10c01f2b,Ie05bc535 am: 277d42a035 am: 47a589c945
am: 73d9c32aaa

Change-Id: I074056f861332835adaed32ad7d43ed36667ffa3
2018-10-05 12:35:56 -07:00
Lucas Dupin
117365db66 Show padlock on AOD
Bug: 111405682
Test: manual
Change-Id: I1e41cc332d676d977447327b75737795713f3040
2018-10-05 12:35:35 -07:00
Howard Chen
b8027a44b8 Merge "Refine frameworks/base/services/tests/runtest.py" am: 8bbf0181f6 am: 10623937df
am: 5d0f45932a

Change-Id: I12492934128e5217b01593b200d34a67f448a19c
2018-10-05 12:28:43 -07:00
Igor Murashkin
6d231690b9 Merge changes into stage-aosp-master am: fc32974de5
am: 32d675e990

Change-Id: I89aab101881f2b1d835c8c8814336e714fa9ab17
2018-10-05 12:17:40 -07:00
Yan Yan
73d9c32aaa Merge changes I10c01f2b,Ie05bc535 am: 277d42a035
am: 47a589c945

Change-Id: I5501ba7eb04493b5de84feaeadb53b57de89e8d2
2018-10-05 12:13:20 -07:00
Igor Murashkin
dc90c9830d Merge changes into stage-aosp-master am: 8758b9462e
am: 86ece5d372

Change-Id: Ib857b990a0938889b134228d78a32398a72be102
2018-10-05 12:12:17 -07:00
Howard Chen
5d0f45932a Merge "Refine frameworks/base/services/tests/runtest.py" am: 8bbf0181f6
am: 10623937df

Change-Id: Ie2f304039e1a2230e0f33dffc79f04529dd56180
2018-10-05 12:07:38 -07:00
Igor Murashkin
5fa865fef6 Merge "statsd: Add missing AIDs to UidMap" am: 4593c78168 am: df28b82042
am: 9485d2610f

Change-Id: Id5c86477ab2460139d64f5ea7fecd33cc2331128
2018-10-05 11:58:10 -07:00
Igor Murashkin
32d675e990 Merge changes into stage-aosp-master
am: fc32974de5

Change-Id: I2aac3fb3b6fa638e9c0cc871a02216ed498df98d
2018-10-05 11:57:18 -07:00