277235 Commits

Author SHA1 Message Date
Jeremy Joslin
c02fd4ea78 Use the new BIND_NETWORK_RECOMMENDATION_SERVICE.
Declare that the system uses the new
BIND_NETWORK_RECOMMENDATION_SERVICE permission.

Test: Built & ran
BUG: 33897544
Change-Id: I43424642a631f58da3a065f8221e351180f4f221
Merged-In: I41c7550adf0d1f81ed9a12068ba569e6a57f3b42
2017-01-04 11:46:06 -08:00
Treehugger Robot
944b017031 Merge "Expose RecommendationRequest.Builder as SystemApi." 2017-01-04 19:42:17 +00:00
Marie Janssen
c77074300b Merge "Bluetooth: don't output dumpsys info twice" 2017-01-04 19:07:18 +00:00
Marie Janssen
f5ec538f27 Bluetooth: don't output dumpsys info twice
Dumpsys info was printed in the "Application Services" section as well
as the bluetooth_manager section.  Add an argument to print so it prints
from here, and doesn't in the other section.

Test: run a bugreport, check in "APP SERVICES" section
Bug: 29356402
Change-Id: I8adedaeac54c9a538c581459654dbdf96361e046
2017-01-04 11:06:27 -08:00
Joe LaPenna
010e8b0dc8 Expose RecommendationRequest.Builder as SystemApi.
In order to test our recommender, we need to be able to create
network recommendation requests.

Test: make update-api
Change-Id: I68df0d3e684bcdb90709a34478d2aa669ee23547
Merged-In: I68df0d3e684bcdb90709a34478d2aa669ee23547
2017-01-04 10:15:52 -08:00
Treehugger Robot
c7c899bbe2 Merge "Fix NullPointerException in MediaPlayer" 2017-01-04 17:23:07 +00:00
Neil Fuller
01c003a2eb Switch ConfigUpdater to the new version of timezone updater code
This switches to the updater2 version that uses a different bundle
format and more thought given to versioning. The new version also
inspects some of the files in the bundle to make sure they are
valid.

Test: Manual testing
Bug: 31008728
Change-Id: I4e68ebd11dd86caa31ec520528c938f8c29eae4a
2017-01-04 16:16:21 +00:00
Treehugger Robot
871beedc6d Merge "New permission - BIND_NETWORK_RECOMMENDATION_SERVICE." 2017-01-04 15:24:30 +00:00
Treehugger Robot
75ba827a4e Merge "Set isConnected, isBound, implCreated on server-side LocalSockets" 2017-01-04 12:26:49 +00:00
Neil Fuller
b08c7bc0bd Set isConnected, isBound, implCreated on server-side LocalSockets
Previously LocalServerSocket.accept() would return a LocalSocket
instance with isConnected, isBound and implCreated set to false.
[implCreated determines whether impl.create() needs to called].

A socket created via accept() in this way is implicitly bound
and connected. impl.create() does not need to be called because
impl.accept(LocalSocketImpl s) is called instead and has the same
effect (s.fd and s.mFdCreatedInternally set correctly).

This change modifies the behavior so that the flags are now all
set to true in this case and isBound() and isConnected() will
now return the correct answer.

Attempts to call bind() and connect() will still throw
IOException as before, but with a different exception message.

Correctly setting implCreated in LocalSocket means that
LocalSocketImpl.create() will no longer be called for accept()
created sockets and no longer needs to treat the "fd != null"
case as a no-op: we can now assert that there must be no fd set
when create() is called as we will no longer call it with sockets
created using accept().

Bug: https://code.google.com/p/android/issues/detail?id=35942
Test: Device boot
Test: vogar --mode app_process cts/tests/tests/net/src/android/net/cts/LocalServerSocketTest.java
Test: vogar --mode app_process cts/tests/tests/net/src/android/net/cts/LocalSocketTest.java
Change-Id: I3ac55439412e84501ae7c5ae6c9976e03b2d6fc5
2017-01-04 10:33:18 +00:00
Ivan Podogov
f33a71d017 Merge "HID Device role API fixes" 2017-01-04 10:32:41 +00:00
qinzhichao
30d4a498c4 Fix NullPointerException in MediaPlayer
Issue detail:
https://code.google.com/p/android/issues/detail?id=231417

setSubtitleAnchor() is a synchronized method and has checked
mSubtitleController. So checking for null pointer is not
needed in scanInternalSubtitleTracks() method.

Signed-off-by: qinzhichao <qinzhichao@xiaomi.com>
2017-01-04 14:51:33 +08:00
Treehugger Robot
6c5cc261f8 Merge "Add checked exceptions to HwBinder transact." 2017-01-04 04:58:38 +00:00
Treehugger Robot
63270f2b96 Merge "Add a mechanism for configuring the A2DP Source codecs" 2017-01-04 03:35:42 +00:00
Pavlin Radoslavov
44a4ef0aa9 Add a mechanism for configuring the A2DP Source codecs
* Added a new class BluetoothCodecConfig that contains codec-related
  configuration or capabilities: codec type, priority, sample rate,
  bits per sample, channel mode, and codec specific fields.

* Extended the Bluetooth A2DP AIDL interface to get/set the current
  codec configuration

* Added new call handleBluetoothA2dpDeviceConfigChange() to the Media
  Framework that is called when there are changes in the
  Bluetooth A2DP device configuration - e.g., the A2DP codec is changed.

Test: A2DP streaming to headsets, TestPlans/71390
Bug: 30958229
Change-Id: I9a82716cbc2a5efbe77352a031ac80c88f6a2459
2017-01-03 17:52:52 -08:00
Steven Moreland
e62b1f32f3 Add checked exceptions to HwBinder transact.
Bug: 33673120
Test: hidl_test_java
Merged-In: I7b62eb6b066fc24c44ef7e46aaa2a3208c053d11

Change-Id: I7b62eb6b066fc24c44ef7e46aaa2a3208c053d11
2017-01-04 01:13:16 +00:00
Robert Sesek
89cc5205b3 Synchronize access to WebViewZygote.
The onWebViewProviderChanged callback can be entered from a binder thread,
rather than the system_server main thread. This could lead to races when
managing the webview_zygote.

Test: m
Test: Turn on Multiprocess WebView, install a new WebView provider, then
      instantiate a new WebView. The new WebView should load (note that
      this is racy so may require multiple attempts to test).

Bug: 21643067
Change-Id: I28512906c38e073d4e3d39a2f2b30dcbb50c85ff
2017-01-03 19:31:44 -05:00
Ivan Podogov
dd87cd3bb6 HID Device role API fixes
This change makes HIDD API more like the other ones, i.e.
supporting multiple devices, and implements missing methods.

While the underlying implementation may still only support a
single device at a time, the "device" parameter can still be
useful for checking if the application is trying to send the
data to a correct device.

Test: make
Change-Id: I55fe04c0762a96fcddd6c6678e790361d648111a
2017-01-03 22:36:30 +00:00
Jeremy Joslin
b9a61979cc New permission - BIND_NETWORK_RECOMMENDATION_SERVICE.
Used to protect exported network recommendation services.

Test: Built & ran
BUG:33897544
Change-Id: Icfc566275a8d832449f6358e576784199ab0f7b2
Merged-In: I4f163fb965be6a25201bc3ba5e0032e7652c8f20
2017-01-03 14:19:51 -08:00
Jeff Sharkey
f8720b95be Merge "Offer to measure disk stats using quotas." 2017-01-03 19:08:08 +00:00
Robert Greenwalt
43ced5941e Merge "Add IMEI_NOT_ACCEPTED disconnect cause" 2017-01-03 17:26:59 +00:00
Jeff Sharkey
5eb3eb58ac Offer to measure disk stats using quotas.
Now we're getting somewhere!  This CL starts measuring disk usage
using quotactl(), which is almost instant and has much lower impact
on flash memory lifetime.

We now grant the per-app cache GID to every launched app, and the
ContextImpl logic that creates cache directories matches the logic
down in installd.

Test: builds, boots, quota stats match manual stats
Bug: 27948817
Change-Id: Ie269a2958ce0e1c17cb74dbfecc791a5c12922cf
2017-01-03 10:22:39 -07:00
Treehugger Robot
fce04dc0be Merge "QS: Fix QuickQS visibility at non-first page" 2017-01-03 15:54:21 +00:00
dongwan0605.kim
03c9afadab QS: Fix QuickQS visibility at non-first page
When user collapsed QSPanel at non-first page, QuickQS always remained
View.Visible. When user canceled collapsing, QQS remained clickable
although invisible to user(alpha = 0).
QQS must be non-clickable when user cancels collapsing at non-first page.

Test: QSPanel > 2nd page > Cancel collapsing while collapse QSPanel
      > Verify invisible QQS is non-clickable

Change-Id: I4c1f195a3faec8e89bb073443f6345f4faddf781
2017-01-03 06:47:17 +00:00
Yohann Roussel
b1453a95ca Fix LOCAL_SDK_VERSION of 3 multidex apks
Test: Install the apks on KitKat device
Change-Id: I2e7d7cd4406cdc59bc81cff280c96bb616af012c
2017-01-02 21:53:04 +01:00
Treehugger Robot
9156ccdbb4 Merge "LocalSocketImpl.cpp: Set O_CLOEXEC on received FDs" 2017-01-01 22:28:37 +00:00
Marie Janssen
9cc7ebe7d9 Merge "Bluetooth: track enabling in dumpsys" 2016-12-29 19:32:36 +00:00
Treehugger Robot
8a74d0440c Merge changes from topic 'HID-Client'
* changes:
  Rename the Bluetooth profile classes for HID Device role.
  Bluetooth: Add support for HID Device Role
2016-12-29 19:29:17 +00:00
Marie Janssen
5980456040 Bluetooth: track enabling in dumpsys
Move basic state dumpsys to here from AdapterService.

Track which apps are enabling and disabling Bluetooth, including BLE
apps, and show the apps in the dumpsys logs.

Test: start phone and enable/disable, take bug report
Bug: 33692282
Change-Id: I6ea62ebdcfd7873d0be1bb5c5c520bbce3737a40
2016-12-29 19:22:14 +00:00
Ivan Podogov
0afe190af5 Rename the Bluetooth profile classes for HID Device role.
We already have BluetoothInputDevice class, so adding something
called BluetoothHidDevice seems confusing. On the other hand,
the new class is designed to connect to HID Host devices, so
naming it BluetoothInputHost makes sense and goes in line with
the existing BluetoothInputDevice.

The same goes for the new constant HID_DEVICE that is just as
confusing to have together with the INPUT_DEVICE one.

This CL also renames the "connection state changed" broadcast
(for the same reasons), declares it as an SDK constant, and also
adds some javadoc to it.

Note that BluetoothHidDeviceApp* classes remained unchanged, as
those correspond to the app that implements the Device (and
connects to the Host).

Test: make
Change-Id: I5075ca5b97db3c1dd403c2e9660eecc7380cffe2
2016-12-29 14:30:40 +00:00
Hemant Gupta
e88fd4b594 Bluetooth: Add support for HID Device Role
This patch adds the HID Device Role support in Bluetooth framework.
Also AIDL and callback related files for HID Device role are added
to provide interface for third party applications to communicate with
HID Device Service.

Change-Id: Id03a362b7bcfa2e76056fa0197eaac12ce49b5a2
2016-12-29 14:29:53 +00:00
Ivan Podogov
895e2d7a40 Merge "In permission review mode, always request user's consent to toggle BT." 2016-12-29 10:18:11 +00:00
Martijn Coenen
7705363166 Merge "Add (un)linkToDeath support to HwBinder." 2016-12-29 08:07:45 +00:00
Martijn Coenen
727f7bf84f Add (un)linkToDeath support to HwBinder.
This is mostly copied over from binder's existing
death recipient support. The implementation keeps
a list of registered recipients, both for being
able to map a native recipient back to the corresponding
Java recipient, as well as being able to unregister
recipients correctly.

Test: mma, hidl_test_java
Bug: 31632518
Change-Id: Id313fd248be6925056c4ade8298fe5fb04e007cc
2016-12-29 04:22:30 +00:00
ashutoshj
fba752e64c Merge "Change the name of the contexthub service." 2016-12-29 01:29:41 +00:00
Adrian Roos
302efd6125 Merge "QS - Fix race condition in accessibility" 2016-12-28 23:29:59 +00:00
Ashutosh Joshi
835da289fa Change the name of the contexthub service.
Change the name used by the contexthub service. Specifically, this
change switches from using the "ContexthubService.CONTEXTHUB_SERVICE"
constant to using the "Context.CONTEXTHUB_SERVICE" constant- which is in
line with the other Android services.

Merged-In: I18ae73ed0fda2f938e3233670dc52b5692d321ae
Test: GTS tests pass.

Change-Id: I18ae73ed0fda2f938e3233670dc52b5692d321ae
2016-12-28 13:57:27 -08:00
Treehugger Robot
c26aa87a2b Merge "Cleanup the evaluateBinding() method." 2016-12-28 19:52:42 +00:00
Jeremy Joslin
e3d260d4e9 Cleanup the evaluateBinding() method.
Small refactor to remove 1 level of nesting.

Test: build, run.
Change-Id: Ic46a65036b207ff73fefced914e0928de2f2b500
Merged-In: I38836ca9d18c5fcd3c6edf5931b58de3b08614ee
2016-12-28 10:18:55 -08:00
Ivan Podogov
afababd4d8 In permission review mode, always request user's consent to toggle BT.
Bug: 33155221
Test: Manual: flash the watch, check that the consent UI was
      displayed in both apps (the one with CompileSDK=21 and
      TargetSDK=21, and the one with CompileSDK=25 and
      TargetSDK=25).
Change-Id: Ic1ed987bbaf282892a2aef354a8ca0add2c829ba
2016-12-28 11:18:21 +00:00
Treehugger Robot
1471ad3ea7 Merge "Send RECOMMEND_NETWORKS action when binding to provider." 2016-12-28 02:36:23 +00:00
Joe LaPenna
9bc5effad5 Send RECOMMEND_NETWORKS action when binding to provider.
Some services use action to disambiguate which binder to return in
onBind.

Test: built && installed && bound.
BUG: 33905890
Change-Id: I83ae41b472c597661b93f5467b64b258e9056f5f
Merged-In: I83ae41b472c597661b93f5467b64b258e9056f5f
2016-12-27 14:56:54 -08:00
Jorim Jaggi
8760e60da5 Merge "Fix window transformation related issue" 2016-12-27 16:08:44 +00:00
dooyoung.hwang
1b0066230e QS - Fix race condition in accessibility
When users try to open panel, initialization of accessibility is called
in Main Thread by this callstack.

at android.view.ViewGroup.buildOrderedChildList
at android.view.View.populateAccessibilityNodeInfoDrawingOrderInParent
at android.view.View.onInitializeAccessibilityNodeInfoInternal
at android.view.View.onInitializeAccessibilityNodeInfo
at android.view.View.createAccessibilityNodeInfoInternal
at android.view.View.createAccessibilityNodeInfo
at android.view.accessibility.AccessibilityRecord.setSource
...
at android.view.View.setFlags
at android.view.View.setVisibility
at com.android.systemui.qs.QSContainer.updateQsState
at com.android.systemui.qs.QSContainer.setExpanded
at com.android.systemui.statusbar.phone.NotificationPanelView.updateQsState

And another initialization is tried in QSTileHost Thread by this callstack.

at android.view.ViewGroup.buildOrderedChildList
at android.view.View.populateAccessibilityNodeInfoDrawingOrderInParent
at android.view.View.onInitializeAccessibilityNodeInfoInternal
at android.view.ViewGroup.onInitializeAccessibilityNodeInfoInternal
at android.view.View.onInitializeAccessibilityNodeInfo
at android.view.View.createAccessibilityNodeInfoInternal
at android.view.View.createAccessibilityNodeInfo
at android.view.accessibility.AccessibilityRecord.setSource
...
at android.view.View.announceForAccessibility
at com.android.systemui.qs.QSPanel.onAnnouncementRequested
at com.android.systemui.qs.QSTile.handleStateChanged

This race condition can cause crashes, because the same ArrayList
(mPreSortedChildren or mTempArrayList in ViewGroup) is modified by two
different thread.

Test : manual

Change-Id: I9e0ad1fef4be7dc378463c06d10854e0e4c5b3d6
2016-12-26 00:20:43 +00:00
Treehugger Robot
4ce798f45f Merge "Add simplified_network_settings_bool to CarrierConfig." 2016-12-22 21:29:56 +00:00
Treehugger Robot
380697ca79 Merge "HwBinder: fail gracefully for device w/o hwbinder" 2016-12-22 20:41:01 +00:00
Joe LaPenna
5e0164e16c Add simplified_network_settings_bool to CarrierConfig.
Some carriers want to further simplify network settings based on a
variety of wifi or cellular related bundles. Expose a config a
carrier might set to allow SysUi, Settings and platform to adjust.

BUG: 33111931
Test: runtest carrierconfig-unit
Change-Id: I35a7ef15bbba23cf9e0380432fc001804c7e1804
Merged-In: I35a7ef15bbba23cf9e0380432fc001804c7e1804
2016-12-22 11:53:10 -08:00
Alex Klyubin
933ea68aca Merge "Make users of MtpServer fill in DeviceInfo field values" 2016-12-22 17:06:06 +00:00
Treehugger Robot
5e055b6a18 Merge "Fix failing WifiNetworkScoreCacheTest." 2016-12-22 03:11:58 +00:00
Sundeep Ghuman
0a5b3e2fe9 Fix failing WifiNetworkScoreCacheTest.
There was a NPE thrown by an unintialized mock.

Bug: 33818187
Test: Android unit tests
Change-Id: I478885dcebaf41f93488a6a12bb83652ad462be5
2016-12-21 16:44:46 -08:00