OSDN Git Service
Pengquan Meng [Mon, 8 Oct 2018 23:58:46 +0000 (16:58 -0700)]
[automerger skipped] Merge "Add isManualNetworkSelectionAllowed api to telephonyManager" am:
0af8c5c73c am:
cc03b9b8f9
am:
bdb846f009 -s ours
Change-Id: Idcbe8d4b24c30d4f2699ce7423b1234b6391b0b0
Pengquan Meng [Mon, 8 Oct 2018 23:52:07 +0000 (16:52 -0700)]
[automerger skipped] Merge "Add isManualNetworkSelectionAllowed api to telephonyManager" am:
0af8c5c73c
am:
152d71136e -s ours
Change-Id: I279f8dd8bc474be8e0d094451cfc4346bd111984
Pengquan Meng [Mon, 8 Oct 2018 23:46:48 +0000 (16:46 -0700)]
[automerger skipped] Add isManualNetworkSelectionAllowed api to telephonyManager am:
23a405c016
am:
42626ec198 -s ours
Change-Id: I696833df240936129a2c68ddd83e9d99c51cd7ea
Pengquan Meng [Mon, 8 Oct 2018 23:32:03 +0000 (16:32 -0700)]
Merge "Add isManualNetworkSelectionAllowed api to telephonyManager" am:
0af8c5c73c
am:
cc03b9b8f9
Change-Id: Ifd61aaaf868f3aeff74e6b61ef5eaaa0cd6d4578
Pengquan Meng [Mon, 8 Oct 2018 23:26:19 +0000 (16:26 -0700)]
Merge "Add isManualNetworkSelectionAllowed api to telephonyManager"
am:
0af8c5c73c
Change-Id: Ieca9bb3e0122652fc2bc77e09c7bf0ac1a87dc4c
Pengquan Meng [Mon, 8 Oct 2018 23:22:20 +0000 (16:22 -0700)]
Add isManualNetworkSelectionAllowed api to telephonyManager
am:
23a405c016
Change-Id: I06a89be0139ba83962e7295d0078f2909071e8f5
Pengquan Meng [Mon, 8 Oct 2018 23:08:26 +0000 (16:08 -0700)]
Merge "Add isManualNetworkSelectionAllowed api to telephonyManager"
am:
0af8c5c73c
Change-Id: Ib4eeafabe49c785143cbfc48eabd039f535e11a5
TreeHugger Robot [Mon, 8 Oct 2018 22:32:56 +0000 (22:32 +0000)]
Merge "Removed forgotten log line"
Pengquan Meng [Mon, 8 Oct 2018 22:16:52 +0000 (22:16 +0000)]
Merge "Add isManualNetworkSelectionAllowed api to telephonyManager"
Shuo Qian [Mon, 8 Oct 2018 21:46:22 +0000 (14:46 -0700)]
Merge "Make isUsableSubIdValue public" am:
37064062bb am:
481f02cc65
am:
eafd95f787
Change-Id: I63e9e0cf7e08faad38c81b13a19201d5283f284d
Shuo Qian [Mon, 8 Oct 2018 21:19:14 +0000 (14:19 -0700)]
Merge "Make isUsableSubIdValue public" am:
37064062bb
am:
481f02cc65
Change-Id: Idf0af2491d8a90c052e5dddbfba5da7c9059b544
Android Build Merger (Role) [Mon, 8 Oct 2018 21:15:15 +0000 (21:15 +0000)]
Merge "Merge "statsd: Add AID mappings for iorapd" am:
34bd3dfb39 am:
543c688c3b am:
13ad78e9e7"
TreeHugger Robot [Mon, 8 Oct 2018 21:14:55 +0000 (21:14 +0000)]
Merge "Fix face icon size"
Igor Murashkin [Mon, 8 Oct 2018 21:14:11 +0000 (14:14 -0700)]
Merge "statsd: Add AID mappings for iorapd" am:
34bd3dfb39 am:
543c688c3b
am:
13ad78e9e7
Change-Id: If99bb83fbd4a9a5c533269ffc21995e0206d78a3
Shuo Qian [Mon, 8 Oct 2018 21:06:55 +0000 (14:06 -0700)]
Merge "Make isUsableSubIdValue public"
am:
37064062bb
Change-Id: I5b5bdd8ab047edfa82e0c04e48fc3ec16e3317b0
Kevin Hufnagle [Mon, 8 Oct 2018 21:03:10 +0000 (14:03 -0700)]
[automerger skipped] Merge "docs: Added callouts related to obsolete contacts data fields." into pi-dev am:
568b5df03c
am:
8f4927c91c -s ours
Change-Id: Ibe1302f1c4f949fee4e91c8915257c736bb0186e
Fabian Kozynski [Mon, 8 Oct 2018 21:02:34 +0000 (17:02 -0400)]
Removed forgotten log line
Test: no test needed
Change-Id: I4209e48b3a25b3b56254993d45fd270ff09415eb
Igor Murashkin [Mon, 8 Oct 2018 20:50:54 +0000 (13:50 -0700)]
Merge "statsd: Add AID mappings for iorapd" am:
34bd3dfb39
am:
543c688c3b
Change-Id: I7bbdf54070318e3faa962690bbf214c51682bc37
TreeHugger Robot [Mon, 8 Oct 2018 20:48:38 +0000 (20:48 +0000)]
Merge "Add synchronization to UiAutomationManager."
TreeHugger Robot [Mon, 8 Oct 2018 20:44:31 +0000 (20:44 +0000)]
Merge "Background permission is for fine and course location"
Kevin Hufnagle [Mon, 8 Oct 2018 20:42:48 +0000 (13:42 -0700)]
Merge "docs: Added callouts related to obsolete contacts data fields." into pi-dev
am:
568b5df03c
Change-Id: Ided398ed86868a0c71102911d040f7c98d6cffdb
Shuo Qian [Mon, 8 Oct 2018 20:42:00 +0000 (20:42 +0000)]
Merge "Make isUsableSubIdValue public"
Igor Murashkin [Mon, 8 Oct 2018 20:23:39 +0000 (13:23 -0700)]
Merge "statsd: Add AID mappings for iorapd"
am:
34bd3dfb39
Change-Id: I2e6145ba4bec7481c7100017df79c67806925867
Philip P. Moltmann [Mon, 8 Oct 2018 20:22:07 +0000 (20:22 +0000)]
Merge "Require permission to read USB device's serial number."
Kevin Hufnagle [Mon, 8 Oct 2018 20:20:18 +0000 (20:20 +0000)]
Merge "docs: Added callouts related to obsolete contacts data fields." into pi-dev
Treehugger Robot [Mon, 8 Oct 2018 20:12:59 +0000 (20:12 +0000)]
Merge "statsd: Add AID mappings for iorapd"
TreeHugger Robot [Mon, 8 Oct 2018 20:08:23 +0000 (20:08 +0000)]
Merge "Update swipe back gesture experiment settings"
Pengquan Meng [Wed, 3 Oct 2018 19:22:10 +0000 (12:22 -0700)]
Add isManualNetworkSelectionAllowed api to telephonyManager
Bug:
111453847
Test: build
Merged-In: Icdd60ab03fee4b2e7a08dda3c5c127a19ecac7ce
Change-Id: Icdd60ab03fee4b2e7a08dda3c5c127a19ecac7ce
Matthew Ng [Tue, 2 Oct 2018 18:31:38 +0000 (11:31 -0700)]
Update swipe back gesture experiment settings
Using Settings.Global instead of setprop.
go/navbar-experiments
Bug:
112934365
Test: manual
Change-Id: I84e7dc2f6c8eaadf101ee3bf41442b588ad70426
Lucas Dupin [Mon, 8 Oct 2018 18:45:58 +0000 (11:45 -0700)]
Fix face icon size
Change-Id: I60a3c60ee91a69c7599e025a939932a0c0c1719e
Fixes:
117402444
Test: visual
Hyunyoung Song [Mon, 8 Oct 2018 18:40:36 +0000 (18:40 +0000)]
Merge "Add mStatusBarWindowController null check on ACTION_SCREEN_OFF"
Greg Daniel [Mon, 8 Oct 2018 18:22:35 +0000 (18:22 +0000)]
Merge "Cleanup of barriers used in swapching aquiring and presenting."
Tony Wickham [Mon, 8 Oct 2018 18:18:12 +0000 (18:18 +0000)]
Merge "Move code to plugin core lib"
Tony Wickham [Mon, 8 Oct 2018 18:16:56 +0000 (18:16 +0000)]
Merge "Refactor code to PluginEnabler"
Doris Ling [Mon, 8 Oct 2018 17:24:37 +0000 (17:24 +0000)]
Merge "Change to get network history from NetworkStatsManager."
Hyunyoung Song [Mon, 8 Oct 2018 16:51:48 +0000 (09:51 -0700)]
Add mStatusBarWindowController null check on ACTION_SCREEN_OFF
Bug:
117401888
Test: Builds and manual verification
Change-Id: Id4e000588ad3dae97ed519da6d23b2c9a639cf0e
Kevin Hufnagle [Mon, 1 Oct 2018 14:04:44 +0000 (07:04 -0700)]
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
Kevin Hufnagle [Mon, 8 Oct 2018 16:34:29 +0000 (16:34 +0000)]
Merge "docs: Added callouts related to obsolete contacts data fields."
TreeHugger Robot [Mon, 8 Oct 2018 15:41:13 +0000 (15:41 +0000)]
Merge "libandroidfw: move ConfigDescription from aapt2 to libandroidfw"
Dimitry Ivanov [Mon, 8 Oct 2018 15:33:04 +0000 (08:33 -0700)]
Merge "Respect extractNativeLibs in natively bridged environments" am:
61b9b6c9eb am:
a00f278956
am:
7c154d103c
Change-Id: Ibe46c36aa545703781fbc5f56eb5e57f46ece543
Philip P. Moltmann [Mon, 8 Oct 2018 15:22:28 +0000 (15:22 +0000)]
Merge "Print document generation: Schedule new layout if current command is canceling"
Dimitry Ivanov [Mon, 8 Oct 2018 15:19:24 +0000 (08:19 -0700)]
Merge "Respect extractNativeLibs in natively bridged environments" am:
61b9b6c9eb
am:
a00f278956
Change-Id: Ia790b6fed75624cec36577cfc68d12e5a029d500
Makoto Onuki [Mon, 8 Oct 2018 15:19:23 +0000 (15:19 +0000)]
Merge "Fix getContentProviderImpl() permission issue"
Dimitry Ivanov [Mon, 8 Oct 2018 15:05:41 +0000 (08:05 -0700)]
Merge "Respect extractNativeLibs in natively bridged environments"
am:
61b9b6c9eb
Change-Id: I6072e16c1cdf9543d38ec8763931abf095bd2313
Dimitry Ivanov [Mon, 8 Oct 2018 14:50:08 +0000 (14:50 +0000)]
Merge "Respect extractNativeLibs in natively bridged environments"
Kevin Hufnagle [Mon, 1 Oct 2018 14:04:44 +0000 (07:04 -0700)]
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
MÃ¥rten Kongstad [Wed, 20 Jun 2018 06:46:41 +0000 (08:46 +0200)]
libandroidfw: move ConfigDescription from aapt2 to libandroidfw
This is to allow idmap2 to access ConfigDescription.
Test: libandroidfw_tests
Test: aapt2_tests
Change-Id: I54210bbbd8dad5903cb7100807df977efa394ad5
Olivier Gaillard [Mon, 24 Sep 2018 10:11:49 +0000 (11:11 +0100)]
Perf test to measure various mechanisms to track CPU.
Change-Id: I84cac933c62b03421632a7321a40526d9d3884cf
Test: this is a test
Eddie Hung [Mon, 8 Oct 2018 08:36:48 +0000 (01:36 -0700)]
Merge "Fix UsbDeviceManager null object reference" am:
9b1db24f6e am:
ec5dd5f1dd
am:
e419713dc8
Change-Id: Ie1c573d76c863684df360735d94796e7f0336cb6
Eddie Hung [Mon, 8 Oct 2018 08:24:08 +0000 (01:24 -0700)]
Merge "Fix UsbDeviceManager null object reference" am:
9b1db24f6e
am:
ec5dd5f1dd
Change-Id: Ib95d75c80af12db8bb617df5ce0bcc0cd6c6c028
Eddie Hung [Mon, 8 Oct 2018 08:10:46 +0000 (01:10 -0700)]
Merge "Fix UsbDeviceManager null object reference"
am:
9b1db24f6e
Change-Id: I70cb3a014eb19ee6214f4590d50e705ab4b9130f
Treehugger Robot [Mon, 8 Oct 2018 07:44:48 +0000 (07:44 +0000)]
Merge "Fix UsbDeviceManager null object reference"
SongFerng Wang [Mon, 8 Oct 2018 06:28:43 +0000 (06:28 +0000)]
Merge "add four new carrier configs for supplementary service precautions."
TreeHugger Robot [Mon, 8 Oct 2018 02:53:35 +0000 (02:53 +0000)]
Merge "Move last focused stack from global to per-display"
TreeHugger Robot [Mon, 8 Oct 2018 01:49:12 +0000 (01:49 +0000)]
Merge "Import translations. DO NOT MERGE"
TreeHugger Robot [Mon, 8 Oct 2018 00:19:19 +0000 (00:19 +0000)]
Merge "Import translations. DO NOT MERGE"
TreeHugger Robot [Mon, 8 Oct 2018 00:18:12 +0000 (00:18 +0000)]
Merge "Import translations. DO NOT MERGE"
Bill Yi [Sun, 7 Oct 2018 18:29:08 +0000 (11:29 -0700)]
Import translations. DO NOT MERGE
Change-Id: Idb9e6c118b173e74022e6496084de70b1e452124
Auto-generated-cl: translation import
TreeHugger Robot [Sun, 7 Oct 2018 17:53:25 +0000 (17:53 +0000)]
Merge "Import translations. DO NOT MERGE"
Bill Yi [Sun, 7 Oct 2018 16:31:24 +0000 (09:31 -0700)]
Import translations. DO NOT MERGE
Change-Id: I6dc612c6234521fc88f3776c01af3b24ad235768
Auto-generated-cl: translation import
Bill Yi [Sun, 7 Oct 2018 16:24:31 +0000 (09:24 -0700)]
Import translations. DO NOT MERGE
Change-Id: I388309fd47fb9307304a5d24e9127a7d6136afe5
Auto-generated-cl: translation import
Bill Yi [Sun, 7 Oct 2018 13:04:39 +0000 (06:04 -0700)]
Import translations. DO NOT MERGE
Change-Id: I2c2d6ff56abb9e2cc17bd6d9c7bd6ab0e9b6f4cf
Auto-generated-cl: translation import
Bill Yi [Sun, 7 Oct 2018 02:57:45 +0000 (19:57 -0700)]
Import translations. DO NOT MERGE
Change-Id: Ibfaca8c7e07715d1f2b4e9915258acb5f8f47681
Auto-generated-cl: translation import
TreeHugger Robot [Sat, 6 Oct 2018 20:14:06 +0000 (20:14 +0000)]
Merge "Remove SMS access for apps other than current SMS handler"
TreeHugger Robot [Sat, 6 Oct 2018 17:19:58 +0000 (17:19 +0000)]
Merge "Instantiate InputMethodManager for each display"
Wale Ogunwale [Sat, 6 Oct 2018 13:45:13 +0000 (13:45 +0000)]
Merge "Moved startHomeActivity methods from AMS to ATMS (19/n)"
Wale Ogunwale [Thu, 4 Oct 2018 18:00:47 +0000 (11:00 -0700)]
Moved startHomeActivity methods from AMS to ATMS (19/n)
Bug:
80414790
Test: Existing tests pass.
Change-Id: Ie3354304ea800777bd9ca7a83885b379776704e2
TreeHugger Robot [Sat, 6 Oct 2018 05:07:25 +0000 (05:07 +0000)]
Merge "Check for race condition between onAuthenticated and taskStackChanged"
Kevin Chyn [Sat, 6 Oct 2018 01:57:35 +0000 (18:57 -0700)]
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)
Sooraj Sasindran [Sat, 6 Oct 2018 03:41:26 +0000 (03:41 +0000)]
Merge "Rename ANAS to ANS"
TreeHugger Robot [Sat, 6 Oct 2018 02:50:45 +0000 (02:50 +0000)]
Merge "Get correct hasEnrolled for work profiles"
Kevin Chyn [Sat, 6 Oct 2018 00:32:57 +0000 (17:32 -0700)]
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
Hall Liu [Sat, 6 Oct 2018 01:32:14 +0000 (18:32 -0700)]
Merge "Wire up the stopRtt API" am:
2d82493ded am:
c7d6900e49
am:
41535c78be
Change-Id: Ia5e8888fbdff213167f031d221f301d5c4659cfc
Hall Liu [Sat, 6 Oct 2018 01:19:54 +0000 (18:19 -0700)]
Merge "Wire up the stopRtt API" am:
2d82493ded
am:
c7d6900e49
Change-Id: I76eb7a9ac0c89b962241e4787a6306ad65e37792
TreeHugger Robot [Sat, 6 Oct 2018 01:19:25 +0000 (01:19 +0000)]
Merge "pull procstats package process stats section"
Hall Liu [Sat, 6 Oct 2018 01:08:28 +0000 (18:08 -0700)]
Merge "Wire up the stopRtt API"
am:
2d82493ded
Change-Id: I720ec95129c7da6b0fbd802522f6b85f54de2f7b
Pengquan Meng [Sat, 6 Oct 2018 01:00:52 +0000 (18:00 -0700)]
[automerger skipped] Merge "Fix incorrect API comments of getSubId()" am:
66a0899785 am:
5a75425936
am:
4ddb43ddf1 -s ours
Change-Id: I8409778d15e05840f61a47cb6c6cfae8c61e8c9a
Hall Liu [Sat, 6 Oct 2018 00:49:14 +0000 (00:49 +0000)]
Merge "Wire up the stopRtt API"
Phil Weaver [Sat, 6 Oct 2018 00:48:36 +0000 (17:48 -0700)]
Add synchronization to UiAutomationManager.
The client change method needs to be called with a lock
held, and there's a one-off bug that looks like two threads
were shutting down UiAutomation simultaneously. Adding
a lock to prevent this from happening.
Bug:
111170405
Bug:
110845380
Test: A11y CTS and unit tests. I can't repro the issue, so
I can't write a test that specifically causes the problem
that this test makes pass.
Change-Id: Ia01603fcca5bcee70efd24e7af667d47d3057d61
Pengquan Meng [Sat, 6 Oct 2018 00:46:38 +0000 (17:46 -0700)]
Merge "Fix incorrect API comments of getSubId()" am:
66a0899785
am:
5a75425936
Change-Id: I85a566c0eb25c73237c31b1f89975ed898a4f829
Pengquan Meng [Sat, 6 Oct 2018 00:35:11 +0000 (17:35 -0700)]
Merge "Fix incorrect API comments of getSubId()"
am:
66a0899785
Change-Id: Ia4f100021e33aac65208eb2ef4c15ca0f1b7d5c4
Pengquan Meng [Sat, 6 Oct 2018 00:13:01 +0000 (00:13 +0000)]
Merge "Fix incorrect API comments of getSubId()"
Eugene Susla [Wed, 13 Jun 2018 23:44:31 +0000 (16:44 -0700)]
Remove SMS access for apps other than current SMS handler
Bug:
110098858
Test: atest android.telephony.cts.SmsManagerTest#testContentProviderAccessRestrictions
Change-Id: I9da992565b04ca5fa2656801fd2cfe4b196ef9b4
Artem Iglikov [Tue, 25 Sep 2018 18:56:09 +0000 (11:56 -0700)]
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
TreeHugger Robot [Fri, 5 Oct 2018 23:29:45 +0000 (23:29 +0000)]
Merge "Show padlock on AOD"
Igor Murashkin [Fri, 5 Oct 2018 23:25:21 +0000 (16:25 -0700)]
statsd: Add AID mappings for iorapd
Bug:
117295673
Change-Id: Ie0c7a7bf823159492259ac1ec6680b45784afb84
Shuo Qian [Fri, 5 Oct 2018 23:22:13 +0000 (16:22 -0700)]
Merge "Add Parcelable EmergencyNumber and APIs" am:
379ca95c89 am:
e414f5ed16
am:
ffdf4d26ec
Change-Id: I4106b0a3e519c2a89db29196edfe05a6a515125d
Chenjie Yu [Fri, 5 Oct 2018 19:03:36 +0000 (12:03 -0700)]
pull procstats package process stats section
Test: cts
BUG: b/
113075820
Change-Id: Iad37427227181ff41b3630a3c907c7bb7f3efa2b
Hyunyoung Song [Fri, 5 Oct 2018 23:18:41 +0000 (23:18 +0000)]
Merge "IconFactory should be initialized before mAdapter is created inside ResolverActivity"
Shuo Qian [Fri, 5 Oct 2018 23:08:31 +0000 (16:08 -0700)]
Merge "Add Parcelable EmergencyNumber and APIs" am:
379ca95c89
am:
e414f5ed16
Change-Id: Ic3f48cc3df90edde8c5ed1941a4e5a6f4e7ab572
Makoto Onuki [Fri, 5 Oct 2018 23:05:29 +0000 (16:05 -0700)]
Fix getContentProviderImpl() permission issue
Change-Id: Ia35a9d36a34257873edbdcaefcf85d2373f3295e
Fixes:
117332394
Test: boot, launch the contacts app to let it touch providers
TreeHugger Robot [Fri, 5 Oct 2018 23:00:21 +0000 (23:00 +0000)]
Merge "Mark android.view.inputmethod.InputMethodInfoTest as @SmallTest"
Yohei Yukawa [Fri, 5 Oct 2018 22:54:41 +0000 (15:54 -0700)]
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
1e5b10a21780e09d9f7c762edffbdee4565af52c
[2]: I8da315936caebdc8b2c16cff4e24192c06743251
90120a8b5b14d4d0830b3b5f478bb627a7ac06ea
Bug:
111364446
Fix:
115893206
Test: atest ActivityManagerMultiDisplayTests
Test: atest CtsInputMethodTestCases CtsInputMethodServiceHostTestCases
Test: atest FrameworksCoreTests:android.view.inputmethod.InputMethodManagerTest
Change-Id: I7242e765426353672823fcc8277f20ac361930d7
Shuo Qian [Fri, 5 Oct 2018 22:51:38 +0000 (15:51 -0700)]
Merge "Add Parcelable EmergencyNumber and APIs"
am:
379ca95c89
Change-Id: I03c07a695d03409e6be4f5a98f37d4191bdc5dd1
Doris Ling [Wed, 3 Oct 2018 23:25:37 +0000 (16:25 -0700)]
Change to get network history from NetworkStatsManager.
- in DataUsageController, change to use
NetworkStatsManager.querySummaryForDevice() to get network history.
- also change to use querySummaryForDevice() instead of querySummary()
in chart loader, since it returns the aggregated bucket, so we do not
need to do the extra work for summing up the usage data.
- move the mapping of network template to network type to
DataUsageController and add the mapping for wifi wildcard.
Bug:
111751694
Test: make RunSettingsLibRoboTests
Change-Id: I6523869563cd53f791fc955468e1842b4f6adba4
Shuo Qian [Fri, 5 Oct 2018 22:29:36 +0000 (22:29 +0000)]
Merge "Add Parcelable EmergencyNumber and APIs"
TreeHugger Robot [Fri, 5 Oct 2018 22:26:04 +0000 (22:26 +0000)]
Merge "QS accent color should be white"
Tony Wickham [Thu, 4 Oct 2018 17:45:42 +0000 (10:45 -0700)]
Move code to plugin core lib
This contains the core interfaces for plugin support, e.g. Plugin.java
and the associated annotations. It is reused by the shared library and
plugin interfaces in both sysui and launcher are built off of it.
Test: atest com.android.systemui.shared.plugins
Test: cd $ANDROID_BUILD_TOP/frameworks/base/packages/SystemUI/plugin_core \
&& mma -j32 && cd -
out/target/product/$TARGET_PRODUCT/obj/JAVA_LIBRARIES/PluginCoreLib_intermediates/javalib.jar
contains the created jar and is useable in launcher
Bug:
115877296
Change-Id: I82ca7398e882d6432333238e2f77a12e776f1d76
Adam He [Fri, 5 Oct 2018 21:33:06 +0000 (21:33 +0000)]
Merge "Sanitization before BatchUpdates and Transformations"
Tony Wickham [Fri, 28 Sep 2018 00:21:23 +0000 (17:21 -0700)]
Refactor code to PluginEnabler
SystemUI uses PackageManager to enable/disable plugin components.
Launcher cannot do this, so we abstract this logic into an interface;
Launcher will have a different implementation.
Test: "atest com.android.systemui.shared.plugins"
build succeeds and all tests pass
Bug:
115877296
Change-Id: Ie6f11572026dafa369c99722d63d4daa0ea44fb5