Commit Graph

73724 Commits

Author SHA1 Message Date
Hugo Benichi
2ccba0e0e1 Light refactors to packet wakeup events.
This patch uses the recently added MacAddress class in WakeupEvent and
WakeupStats for replacing the byte array representation of dest mac
addresses in packet wakeup events.

Bug: 28806131
Test: runtest frameworks-net
Merged-In: I5a3c76498a4b720f0d9308a65b5dd4b32377d0d1

(partial cherry pick from 884970e0ba)

Change-Id: I878d51d4cc53c6d9a2cc3c55faa15b86156afbd7
2017-11-22 10:09:09 +09:00
Treehugger Robot
06e314f6cc Merge "Adding "Mobile data" and "Data usage" button in mobile settings." 2017-11-21 00:35:42 +00:00
Philip P. Moltmann
7e37d48b0a Make SharedPreferences check with higher precision
When two processes modify shared preferences we use the timestamp to
figure out if the file was changes underneath. Do this with the highest
precision available (instead of sec) as before.

It would be possible to make the check more reliable by writing a unique
id to the shared pref file, but this would make this check much more
expensive in the common case that nothing changed. Considering that this
has not been a problem and we don't officially give any guarantee for
this sounds like a good middle-ground.

(cherry picked from commit ffe74357ae)

Merged-In: I04c96b6a946618d5599c26410c88d7cd654d31fb
Change-Id: I04c96b6a946618d5599c26410c88d7cd654d31fb
Test: SharedPreferencesTest
Fixes: 62949739
2017-11-20 10:01:08 -08:00
Treehugger Robot
913f396c11 Merge "Fix typo" 2017-11-17 18:47:43 +00:00
Calin Juravle
b0e6508a5b Merge "Workaround to get passed the broken install flow" 2017-11-17 02:36:29 +00:00
Jakub Pawlowski
7a2c66359a Merge "Add getProfileParentId (1/2)" 2017-11-17 01:33:31 +00:00
Jeff Sharkey
5f44aa798b Workaround to get passed the broken install flow
For fresh installs the PM does not set the app uid before invoking
dexopt; so we would always get a bogus GID.

This is a temporary workaround which fixes the GID of newly
installed apps to an arbitrary UNKNOWN gid.

Test: adb install
Bug: 64548938
Bug: 69331247

(cherry picked from commit a73e165c2e)

Change-Id: I6438ec8cfca88df813e166f9ef5821e62faf524a
2017-11-17 00:17:21 +00:00
Hansong Zhang
ceb84db837 Bluetooth HID Device API docs and helper
* Add a builder for BluetoothHidDeviceAppQosSettings
* Add documentation for BluetoothHidDeviceAppSdpSettings
and BluetoothHidDeviceAppQosSettings
* Fix the behavior of and BluetoothHidDeviceAppSdpSettings.equals()
and BluetoothHidDeviceAppQosSettings.equals()

Bug: 63384609
Test: test with HID device apps
Change-Id: I933f4ec3034e1f704ddd614e48b76d27fda8b6ff
2017-11-15 17:20:52 -08:00
Jakub Pawlowski
0f1f5b7953 Add getProfileParentId (1/2)
Bluetooth service needs to natively access id of parent profile. Add
method exposing it.

Test: cts-tradefed run cts-dev -m DevicePolicyManager --test
com.android.cts.devicepolicy.ManagedProfileTest#testBluetooth
Bug: 69284968
Change-Id: I697906f2959b0736c1d3cc6af7560c27d77ce11b
2017-11-15 15:37:53 -08:00
Treehugger Robot
795d4a5aa4 Merge "Avoid overflow in focus fudge calculation" 2017-11-15 18:42:28 +00:00
Treehugger Robot
dd5384a4fe Merge "Remove AutofillManagerClient after AutofillManager is finalized" 2017-11-15 02:23:27 +00:00
Ahmad Melegy
e2bfbf1348 Fix typo
Fix typo in Activity class in requestPermissions method

Test: Existing unit tests still pass.
Bugs: None

Change-Id: If81117a0e769bca2f303e1ebce57ecda9544e129
Signed-off-by: Ahmad Melegy <ahmad.melegy@gmail.com>
2017-11-14 21:51:40 +00:00
Treehugger Robot
8c2cb6ff08 Merge "TimePickerDialog OTG keyboard entry discarded" 2017-11-14 19:35:20 +00:00
Jeff Sharkey
7e875df695 Merge "Better, consistent definition of AID_SHARED_GID." 2017-11-14 16:49:30 +00:00
Niklas Brunlid
2ecbe69ddd Avoid overflow in focus fudge calculation
When comparing decoding the next View to get focus, the last-resort
calculation (magic number and square of distance between the View
corners) could overflow, giving a false positive. This causes the
focus to jump around in certain cases. Change from int to long to
avoid in the foreseeable future.

Test: Manual
- Use a phone with an 18:9 ratio (1080*2160)
- make FrameworksCoreTests
- adb install -r out/target/product/aurora/data/app/FrameworksCoreTests/FrameworksCoreTests.apk
- adb shell am instrument -r -w -e class android.widget.scroll.ScrollViewButtonsAndLabelsTest#testArrowScrollUpOffScreenVerticalFadingEdge com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner
Change-Id: I119cd66f563cfa312c2304bb910c27075e674e59
2017-11-14 10:17:56 +01:00
Calin Juravle
d35451d76b Create secondary dex profiles relative to the provided dex path
We previously used the realpath to simplify the validation and processing
in installd. However it ended up making things more complicated when
cleaning up the profiles, especially because of /data/user/0 symlinks to
/data/data/.

Instead of using the realpath of the dex file to compute the profile
location, use the file path as given. This makes things consistent with
DexManager registration and allows for easier dex file reconciliation in
the presence of symlinks.

Bug: 64460009
Test: manual

(cherry picked from commit c119c5a8c1d8e3ba6c90300a82d2086273d0d3f3)

Merged-In: I2362f32a679324d4bc1e8a0fe83b5b17ee523e7a
Change-Id: Ic9c38a920c5eef85f26ac33f2b8a37c3694bfbad
2017-11-13 17:37:24 -08:00
brycelee
62893396bd Merge "DO NOT MERGE Remove orientation restriction to only fullscreen activities." 2017-11-13 23:21:09 +00:00
Malcolm Chen
3c9118900f Adding "Mobile data" and "Data usage" button in mobile settings.
Grant "READ_NETWORK_USAGE_HISTORY" permission to phone because
"Datat usage" button summary needs it. Settings provides new
intent to open mobile data usage page.

Bug: 62201918
Test: Manual
Change-Id: Ie317109c723f3946ace4d34c743081a7ae046462
Merged-In: Ie317109c723f3946ace4d34c743081a7ae046462
2017-11-13 14:13:22 -08:00
Jordan Liu
0f113b2f25 Merge "Customize the default value of Enhanced 4G LTE mode" 2017-11-13 21:53:24 +00:00
Bryce Lee
a4ceea026d DO NOT MERGE Remove orientation restriction to only fullscreen activities.
This changelist removes checks that enforce that only fullscreen,
opaque activities may request orientation changes. An application
may itself be compatible with the change and update their SDK level.
However, it is possible they use a library that has not itself been
updated and still leverages this feature for non-fullscreen
activities.

Fixes: 68684796
Test: bit FrameworksServicesTests:com.android.server.wm.AppWindowTokenTests

Change-Id: I75bbda96b132694c722b0b535e33ea5e1b9a55db
2017-11-13 21:00:17 +00:00
Tianran Li
10864b0fcb TimePickerDialog OTG keyboard entry discarded
A user can manually enter time value using a keyboard.
NumberPicker then evaluates its value when focus is changed.
Currently when the dialog is closed by pressing OK, the value
from the focused NumberPicker is not taken into consideration.

To ensure retrieval of the correct value when closing the
dialog, the focus must be removed from the NumberPicker as
is done in DatePickerDialog.

Bug: 65664546
Test: Manual
      1. Connect physical keyboard via OTG connector
      2. Enter Settings and set time manually
      3. Select keyboard entry
      4. Change time and tap OK
      The entered time should be applied
Change-Id: I8a77cb3aaa54acb228ec1ce0e9385e2eb5e88e9b
2017-11-13 12:49:44 +00:00
Hugo Benichi
97bfd276fb IP connectivity metrics: NetworkEvents have transports
Also removes netId field from inside NetworkEvent and stop populating
the network_id field of the NetworkEvent field, deprecating it.

Bug: 34901696
Test: runtest frameworks-net,
      manually looking at $ adb shell dumpsys connmetrics

Change-Id: I2c36860f976898883714f72f4d18e06da250c6a6
2017-11-13 14:15:51 +09:00
Hugo Benichi
6ee20ca7d3 Merge "Add L2~L4 information to packet wakeup logs and metrics" 2017-11-13 03:58:34 +00:00
Ricky Wai
77518fbbc4 Add Network security watchlist service
Partial cherry pick from commit 1a6e667cb6
adding a new INetdEventCallback type.

Bug: 63908748
Test: built, flashed, $ runtest frameworks-net
Change-Id: I1b95cc4e5cbbfbdbd7429d61e2dcb67b90d278bb
Merged-In: I09595178bac0070a867bc5e0501a7bf2c840e398
2017-11-12 22:27:35 +09:00
Hugo Benichi
d921bce5a6 Add L2~L4 information to packet wakeup logs and metrics
Example of $ adb shell dumpsys connmetrics list:
...
WakeupStats(wlan0, 21851s, total: 85, root: 0, system: 4, apps: 63, non-apps: 0, no uid: 18, l2 unicast/multicast/broadcast: 85/0/0, ethertype 0x800: 23, ethertype 0x86dd: 62, ipNxtHdr 6: 74, ipNxtHdr 17: 1, ipproto 58: 10)
...
WakeupEvent(06:55:54.094, wlan0, -1, eth=0x800, dstHw=10:e:7e:26:3f:c1, ipNxtHdr=6, srcIp=216.58.200.110, dstIp=100.112.108.29, srcPort=443, dstPort=46878)
WakeupEvent(06:57:14.379, wlan0, -1, eth=0x86dd, dstHw=10:e:7e:26:3f:c1, ipNxtHdr=58, srcIp=ff02::1, dstIp=fe80::fa00:4:fd00:1)
WakeupEvent(06:57:52.786, wlan0, 1000, eth=0x800, dstHw=10:e:7e:26:3f:c1, ipNxtHdr=6, srcIp=172.217.27.67, dstIp=100.112.108.29, srcPort=80, dstPort=49360)
WakeupEvent(06:58:02.919, wlan0, 10004, eth=0x86dd, dstHw=10:e:7e:26:3f:c1, ipNxtHdr=6, srcIp=2401:fa00:4:fd00:a585:13d1:6a23:4fb4, dstIp=2404:6800:4006:809::200a, srcPort=443, dstPort=46197)
WakeupEvent(06:58:05.586, wlan0, 10004, eth=0x86dd, dstHw=10:e:7e:26:3f:c1, ipNxtHdr=6, srcIp=2401:fa00:4:fd00:a585:13d1:6a23:4fb4, dstIp=2404:6800:4006:803::200a, srcPort=443, dstPort=46096)

Bug: 66869042
Test: runtest frameworks-net
      + manual testing by monitoring $ dumpsys connmetrics list
Change-Id: I03215c0c9fb7feda3e6ceb1b916f61f4ffb15344
2017-11-12 18:51:28 +09:00
Jakub Pawlowski
0430720a23 Move connectSocket into IBluetoothSocketManager (3/3)
Bug: 68359837
Test: none
Merged-In: I1161a5fe74b034fba0112fd3a78bdf1fbace6e12
Change-Id: I1161a5fe74b034fba0112fd3a78bdf1fbace6e12
2017-11-10 21:42:26 +00:00
Treehugger Robot
4741faa258 Merge "Fix: WindowManagerGlobal#setStoppedState failed by IOOBE" 2017-11-10 16:47:00 +00:00
Jeff Sharkey
77a34500fe Better, consistent definition of AID_SHARED_GID.
AID_SHARED_GID is a GID shared by a specific app across all users on
the same device.  Bring the UserHandle and multiuser.c implementations
into agreement, and copy/paste the unit tests that verify that both
behave identically.

Since we might now return "-1" when a GID is invalid, have
ActivityManager handle these cases by quickly swapping in the
always-valid getUserGid().

Test: bit FrameworksCoreTests:android.os.UserHandleTest
Bug: 34151068, 64548938
Change-Id: I0463aba923ae5ce1942666359a394ae6cdb7c1f8
2017-11-09 17:42:29 -07:00
Koji Fukui
ccec6a6ae8 Remove AutofillManagerClient after AutofillManager is finalized
Symptom:
Global reference table overflow happens on system_server.

Root cause:
If a process repeatedly create a context and get AutofillManager
from the context, each BinderProxy of AutofillManagerClient are
registered to AutofillManagerServiceImpl. They aren't removed until
the process is died. BinderProxy consumes global reference and finally
causes crash on system_server.

Solution:
Remove AutofillManagerClient from AutofillManagerServiceImpl after
AutofillManager is finalized.

Test: cts-tradefed run commandAndExit cts-dev -m CtsAutoFillServiceTestCases

Bug: 68747744
Change-Id: I8b76c5368b54317b8696cac470cc390b36e910e7
2017-11-09 15:44:12 -08:00
Jakub Pawlowski
fe7e885180 Move createSocketChannel into IBluetoothSocketManager (3/3)
Bug: 68359837
Test: none
Change-Id: I52b03ff3d637bf661c70279b7ca18b105157f7a2
2017-11-09 22:13:21 +00:00
Jakub Pawlowski
db62b26ba0 Make ParcelUuid and ParcelFileDescriptor accesible to native Binder (2/2)
Bug: 68359837
Test: compile
Change-Id: I3cec0b5b20dde33be09a5bbc451cd79273c67961
2017-11-09 19:40:03 +00:00
Hugo Benichi
cd35c65b5b Merge "MacAddress follow-up: define the core of the class" 2017-11-09 12:22:17 +00:00
Hugo Benichi
ac52e40049 MacAddress follow-up: define the core of the class
Test: new unit test parts of $ runtest frameworks-net
Change-Id: I08c57d2d656802f7bdd7a93fde711a7e77247583
2017-11-09 16:36:45 +09:00
nharold
c8ff280e73 Merge "Fix signature for finalize() to resolve API Lint error" 2017-11-08 17:56:43 +00:00
Benedict Wong
3db35dfcd5 Merge "Update documentation for AES-GCM-ESP keymat length" 2017-11-08 17:47:40 +00:00
Tobias Thierer
e8b07e5bef Merge "Track deprecation/replacement of Os methods that depend on Mutable*" 2017-11-08 16:34:03 +00:00
manabu, shimoda
14723e314c Customize the default value of Enhanced 4G LTE mode
To control the default value by carrier configuration,
 - Add a carrier option to control default Enhanced 4G LTE mode enabled.
 - Remove initializing Settings.Global.ENHANCED_4G_MODE_ENABLED.

Test: manual - Checked that the "Enhanced 4G LTE mode" can be controlled
by carrier config.
Bug: 67725875

Change-Id: Ic714abcae5c388cc12e6c4b1f45e2abb07febf54
2017-11-08 19:37:23 +09:00
Tetsutoki Shiozawa
978e7f87cc Fix: WindowManagerGlobal#setStoppedState failed by IOOBE
Symptom:
An application crashed due to IndexOutOfBoundsException.
The exception was thrown at WindowManagerGlobal#setStoppedState.

Root cause:
setStoppedState invokes setWindowStopped for each ViewRoot by
ascending order. If an application removes its view within the
loop, loop index exceeds the number of items.

Solution:
Loop in descending order.

Bug: 69018607
Change-Id: I7e20282dc99b767912be4e00d81ffb49fe6c7ac0
2017-11-08 16:46:09 +09:00
Hugo Benichi
59c8e423a8 Define MacAddress class
Test: new unit tests part of $ runtest frameworks-net
Change-Id: I5a6a868ff86e9bffdc551d4e2bb486b585525c30
2017-11-08 11:09:49 +09:00
Nathan Harold
440824f743 Fix signature for finalize() to resolve API Lint error
The API linter on goog/master noticed that this method is
listed in the public API even though it's protected. The
change is probably related to a signature change from the
internal finalize method which throws a Throwable. Fix the
method in IpSecManager to throw Throwable, which should
fix the current.txt and resolve the lint error.

Bug: 69006767
Test: compilation, make update-api
Change-Id: I173d014baaa505c365b7916fcb52f2a8b4af9373
2017-11-07 17:46:12 -08:00
Benedict Wong
4ebc2c5968 Update documentation for AES-GCM-ESP keymat length
Added notes that keymat length must include 32 bits of salt.

Bug: 68672051
Test: Frameworks-net unit tests & IpSecManager CTS tests run
Change-Id: I0ae0c5be8a45b2374783b3bd1fa8bf930f15e687
2017-11-07 17:39:35 -08:00
Hugo Benichi
c867f787bc Networking metrics: minor pretty printing improvements
Bug: 65700460
Test: manually verified the output of $ adb shell dumpsys connmetrics
Change-Id: Ieae535b48d2e2b6e9087431d345c8f916006bb6c
2017-11-08 09:47:58 +09:00
Erik Kline
4d092238de Replace dns_tls with private_dns_mode setting
Also includes:
    - SettingsLib strings used in PrivateDnsModeDialogPreference
      interaction in the Settings app
    - rename ContentResolver "resolver" in methods working with
      DNS resolvers (too confusing)

Test: as follows
    - built
    - flashed
    - booted
    - runtest frameworks-net
    - no new failures in SettingsBackupTest nor in SettingsProviderTest
    - manual interaction with developer option works
Bug: 34953048
Bug: 64133961
Change-Id: Ia7502916db9ffa0792e1e500a35e34d06a88e79d
2017-11-07 12:47:36 +09:00
Tobias Thierer
99a1d450da Track deprecation/replacement of Os methods that depend on Mutable*
Another CL in this CL topic is deprecating/removing three methods
in android.system.Os, and introducing replacements.

This CL tracks that change by updating frameworks/base accordingly.

Test: Treehugger
Bug: 67901714

Change-Id: I96ad205a305801b2cb641ba8984810dfe6474032
2017-11-07 02:51:27 +00:00
Treehugger Robot
faffb072a4 Merge "Allow to attach jvmti agents from inside of process" 2017-11-06 20:34:34 +00:00
Hugo Benichi
69c9402a29 Merge "DefaultNetworkEvent metrics: rehaul" 2017-11-06 07:09:49 +00:00
Hugo Benichi
380a063858 DefaultNetworkEvent metrics: rehaul
This patch changes instrumentation of default networks and default
network events:
- stop logging events for default network transitions,
  but instead consistently log one event per continuous segment
  when one given network was the default, including logging an
  event for when there is no default network.
- keep a separate rolling buffer of DefaultNetworkEvent for
  dumpsys and bug reports.

These changes allow to simplify post aggregation of default network
event metrics by removing any need to do time series processing.
Instead, metrics and counters can be implemented withouth any ambiguity
by following the recipe:

% of x = sum(duration | x = true) / sum (all durations)

where x can be various conditions such as:
- the default network was validated
- the default network was WiFi
- the default network was IPv6
- there was no default network
- ...

Most importantly, this new logging scheme allows to measure much more
reliably:
- the % of the time that a device had Internet, in the sense that the
default network was validated.
- the time transitions between default networks, keyed by previous and
new transports/link layer, which allows to derive wakelock durations
and wakelock power costs from default network switches.

This patch also simplifies the dumpsys interface of the connmetrics
service and reduces the commands to three:
- "flush" for metrics upload.
- "proto" for printing buffered event in text proto format.
- "list" for listing all events and statistics.

Bug: 34901696
Bug: 65700460
Test: runtest frameworks-net
Change-Id: I0521f1681a60cca07ac3bfd5741d64ce44de4cdd
2017-11-06 09:04:02 +09:00
Jeff Sharkey
8f380ab29c Merge "Define NOT_ROAMING network capability." 2017-11-03 22:41:51 +00:00
Philip P. Moltmann
fd8ed85adb Allow to attach jvmti agents from inside of process
Test: cts-tradefed run singleCommand cts-dev -m CtsJvmtiAttachingTestCases
Bug: 65016018
Change-Id: I6d445afa288c6fec1d860150159fa05ed63cf517
2017-11-03 10:33:21 -07:00
Calin Juravle
9aab3b513d Handle configuration splits when creating the class loader context
Configuration splits have no dependencies which can lead to exceptions
when computing their class loader context.

In general, we do not need to compute the class loader context for apks
without code.

This CL addresses the issue by ignoring "code" paths with no actual code.

(cherry picked from commit da09815e2c)

Bug: 65159159
Test: adb install-multiple config_splits
      runtest -x
services/tests/servicestests/src/com/android/server/pm/dex/DexoptUtilsTest.java

Merged-In: Ida1eb901eecba4a4266de73022f6ee4659367873
Change-Id: Ida1eb901eecba4a4266de73022f6ee4659367873
2017-11-02 09:27:59 -07:00