This patch introduces between ConnectivityManager and
ConnectivityService a mechanism for propagating back to clients
informative errors in the form of error codes and associated custom
runtime exceptions.
Without error code, the service can only throw a limited number of
different exceptions over Binder. Furthermore the throw site stack
traces are always loss. Although for individual instances of a throw,
the error message can be inspected, aggregations of stack traces from
app crashes sanitize error messages and only leaves the stack traces.
This makes debugging dificult for some service calls such as
requestNetwork that can have a variety of failure modes.
In this patch only one failure mode is codified. More can be added later
at a light cost by: 1) defining an error code, 2) defining an
associated exception, 3) mapping the code to the exception. This patch
can serves as a template for doing so.
Test: $ runtest frameworks-net,
#testNetworkRequestMaximum() detects the new exception type.
Bug: 36556809, 36701874
Change-Id: I611fd7915575c9e418f7149fcdc8a879d2a3716d
This change will automatically save the Bluetooth On setting when
the user chooses to backup the phone settings into the cloud. This
setting is restored by the Setup Wizard (SUW) when configuring the
phone and this change will enable or disable the Bluetooth based
on this restored setting.
Bug: 35657817
Test: Manual test with Sailfish
Change-Id: Ie4518593af63f96f8c363f98941ca5260a3ec4bb
Provides an interface for application to send Set Idle
and Get Idle commands to remote HID Device. Support for these
two commands was missing from existing code, so existing code
design is reused to add support for these two commands.
Without this support following mandatory PTS test cases for HID 1.0
cannot be passed, TC_HOS_HID_BV_05/06.
Test: Executed PTS tests TC_HOS_HID_BV_05/06 and confirmed if they can
pass
Bug: 34344715
Change-Id: I548362cc328498920b2dae740f1a76b2cc2d6a67
The MIN and MAX values need to be swapped else
the parameter check in setInterval would always
fail
Bug: 37579882
Change-Id: I48538c2a61be88caaf04abd94074b3d9eb6dde96
Move Bluetooth battery stats tracking to AppScanStats for a more
unified tracking system.
Bug: 37720787
Test: cts-tradefed run cts-dev -m CtsIncidentHostTestCases -t com.android.server.cts.BatteryStatsValidationTest#testBleScans
Perform BLE scan and check battery stats
Change-Id: Ie6c682374e6e258c291d3a11eede649c7747ef40
This patch simplifies argument validation in NsdManager public api and
regroup duplicated validation into common methods.
This makes stack traces more actionable as now specific errors will
cause the api to throw exception from specific methods, whereas before
IllegalArgumentException would be thrown from inside the same api method
for different reasons.
This patch also includes a couple of other small cleanups.
Test: $ runtest -x frameworks/base/tests/net/../NsdManagerTest.java
Bug: 37013369
Change-Id: Iaad13e13976e9bf8f508d7188f823f8184ac414b
Restores previous behaviour where GATT callbacks are invoked on the
binder thread and not the calling process main looper thread.
This fixes performance regressions as well as some
NetworkOnMainThreadException's for some applications.
Bug: 37544152
Bug: 37871717
Test: Covered by prior API tests.
Change-Id: Id8ab705dd4d7f00030e6ac29e056dde5180670e9
(cherry picked from commit 6bdc550e27)
This commit builds on top of prior API commits. It
adds code to the system server, but in a disabled way.
The system server is responsible for monitoring two
(configured) package names: one for the "updater app"
(provided by the platform) and one for the "data app"
(provided by the OEM). When either package changes
the updater app is triggered via a privileged
intent.
The updater is then required to communicate with the
data app and report back to the system server.
Unit tests are included for the major components.
To run:
make -j30 FrameworksServicesTests
adb install -r -g "out/target/product/angler/data/app/FrameworksServicesTests/FrameworksServicesTests.apk"
adb shell am instrument -e package com.android.server.timezone -w com.android.frameworks.servicestests \
"com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner"
Test: See above.
Bug: 31008728
Merged-In: I8f82cdcc2b574778a7e0d0184270f305b69ee17b
Change-Id: I8f82cdcc2b574778a7e0d0184270f305b69ee17b
This class forms the contract between the updater app
(the app provided by and triggered by the system)
and the data app (the app provided by the OEM to
provide time zone data).
Bug: 31008728
Test: make only, just constants
Change-Id: I687b75954e132884aec962fcf8955f3f38a00b2f
Time zone update API classes. Currently hidden but they
will go on to be unhidden in future.
This forms the basis of client and system server code to
support time zone updates.
Tests can be run with:
make -j30 FrameworksCoreTests
adb install out/target/product/angler/data/app/FrameworksCoreTests/FrameworksCoreTests.apk
adb shell am instrument -e package android.app.timezone \
-w com.android.frameworks.coretests \
"com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner"
Bug: 31008728
Test: See above.
Merged-In: I668bc8ac0cb78f3d4d9a4b7ad6ac1534b88af833
Change-Id: Icde574f8974152617a1f7ac9fa225bd5011dcce1
Symptom: If inputmethod handle an KeyEvent time out ,
Did not finish this event correctly , eventually lead to app ANR
Root Cause: without seq number when obtainMessage MSG_TIMEOUT_INPUT_EVENT
Solution: add seq parameter
Test: Input
Test: InputMethod
Fixes: 37648930
Change-Id: I3a2b964b34aa57267bd777305200a2bfdc66f65c
Merged-In: I3a2b964b34aa57267bd777305200a2bfdc66f65c
Signed-off-by: gaoshang <gaoshang@xiaomi.com>
Read and report the error_code & cause_code from last_install.
Bug: 36866437
Test: mma & observe the sysui event in logcat -b events
Change-Id: I5357861fc758e14ed3235bfc8cc76d7561ccea58
This patch adds test coverage for NsdManager#registerService() and
NsdManager#unregisterService(). This test shows a potential defect in
the api: if unregisterService() fails, the associated listener is always
unregistered from NsdManager. If the service initially registered is
still registered, this potentially make it impossible to unregister.
Test: added new unit test
Bug: 37013369, 33298084
Change-Id: Ia089b6d2f2a349907a8b29d9a3acd7f59e177887