OSDN Git Service

android-x86/frameworks-base.git
6 years agoUpdate documentation for startScan
Vinay Kalia [Fri, 1 Sep 2017 19:18:10 +0000 (12:18 -0700)]
Update documentation for startScan

With change c4a1e1, unfiltered BLE scans are stopped on screen off
and resumed when screen is turned back on. This is done to save power.
This change updates the documentation accordingly.

BUG: 62264269
Test: Documentation update.
Change-Id: I2d8e9f9f122f978c4d4f59d4139cb51cd4e4a123

6 years agoMerge "ConnectivityService: improve wakelock logging"
Treehugger Robot [Tue, 5 Sep 2017 13:46:53 +0000 (13:46 +0000)]
Merge "ConnectivityService: improve wakelock logging"

6 years agoConnectivityService: improve wakelock logging
Hugo Benichi [Tue, 5 Sep 2017 04:25:07 +0000 (13:25 +0900)]
ConnectivityService: improve wakelock logging

This patch adds the following wakelock related counters to connectivity
service dumps included in bug reports:
 - total number of wakelok acquisitions and releases
 - total cumulative wakelock duration
 - longest time the lock was held

Bug: 65085354
Test: runtest frameworks-net, also manually dumped connectivity service
      and check new logging

Merged-In: I8f67750c2eea73abf3d44f7f6df484427a8ea3f9
Merged-In: I93c0eb7c8add966378647400e11e33765d952345
Merged-In: Iabe99993001e069b8a8077533bca1fa7fb2f59ba

(cherry picked from commit 26bcfa19d01758c86a8f43a5b39673cd5866d2f3)

Change-Id: I4d6bb43110916b440819813b478523546ac5570e

6 years agoMerge "Nat464Xlat: correct racefree teardown"
Hugo Benichi [Tue, 5 Sep 2017 12:12:02 +0000 (12:12 +0000)]
Merge "Nat464Xlat: correct racefree teardown"

6 years agoMerge "Switch tethering stats from the unix socket to binder."
Treehugger Robot [Tue, 5 Sep 2017 09:17:46 +0000 (09:17 +0000)]
Merge "Switch tethering stats from the unix socket to binder."

6 years agoNat464Xlat: correct racefree teardown
Hugo Benichi [Fri, 1 Sep 2017 01:23:32 +0000 (01:23 +0000)]
Nat464Xlat: correct racefree teardown

This patch relays the NetworkBaseObserver notifications about nat
464xlat stacked interfaces onto the ConnectivityService handler.

This allows to process interface up and down notifications in the
same thread context and eliminates several races:

  - NPE risk due to race between fixupLinkProperties called on
    ConnectivityService thread and interfaceRemoved called on
    NetworkManagementService thread.
  - stale LinkProperties pointer reads in both NetworkBaseObserver
    callbacks not called on ConnectivityService handler.
  - removes the race between stop() and interfaceRemoved().
  - removes superfluous LinkProperties notifications when stop() is
    called before the stacked interface goes up.

The teardown procedure logic common to stop() and interfaceRemoved() is
put into enterStoppedState() and enterIdleState().

This allows to distinguish and correctly handle the following teardown
scenarios:
 - an IPv4 appears -> ConnectivityService calls Nat464Xlat#stop()
                   -> Nat464Xlat calls stopClatd
                   -> clatd stops
                   -> if the stacked interface was up, it is removed
                   -> Nat464Xlat#interfaceRemoved() is triggered and
                      a LinkProperties update is sent.

 - network disconnects -> ConnectivityService calls Nat464Xlat#stop()
                       -> Nat464Xlat calls stopClatd
                       -> clatd stops
                       -> if the stacked interface was up, it is removed
                       -> Nat464Xlat#interfaceRemoved() is triggered and
                          a LinkProperties update is sent.

 - clatd crashes or exit -> Nat464Xlat#interfaceRemoved() is triggered
                         -> Nat464Xlat unregisters itself as a network
                            observer
                         -> ConnectivityService is updated about the
                            stacked interface missing, and restarts
                            Nat464Xlat if needed.

Note that the first two scenarios have two cases: stop() can be called
before the notification for the stacked interface going up (STARTED), or
after (RUNNING). In the first case, Nat464Xlat must unregister
immediately as a network observer to avoid leaks.

This patch also:
  - removes/simplifies comments related to the threading model which
    are no obsolete.
  - extract clatd management logic from ConnectivityService into
    NetworkAgentInfo
  - add new unit tests where there was none before.

Bug: 62918393
Bug: 62997041
Bug: 64571917
Bug: 65225023
Test: runtest frameworks-net
Change-Id: I27221a8a60fd9760b567ed322cc79228df877e56

6 years agoSwitch tethering stats from the unix socket to binder.
Lorenzo Colitti [Fri, 1 Sep 2017 08:12:34 +0000 (17:12 +0900)]
Switch tethering stats from the unix socket to binder.

Bug: 32163131
Bug: 64995262
Test: builds
Change-Id: I673d76a8b0981302b5f6a14e97999cd7676d83ed

6 years agoMerge "Refactor interface IP code into InterfaceController"
Treehugger Robot [Tue, 5 Sep 2017 01:14:17 +0000 (01:14 +0000)]
Merge "Refactor interface IP code into InterfaceController"

6 years agoMerge "Network Service Discovery test: properly release resources"
Hugo Benichi [Mon, 4 Sep 2017 11:50:58 +0000 (11:50 +0000)]
Merge "Network Service Discovery test: properly release resources"

6 years agoMerge "Fix some broken tests in frameworks-net with native dependencies"
Treehugger Robot [Mon, 4 Sep 2017 04:58:16 +0000 (04:58 +0000)]
Merge "Fix some broken tests in frameworks-net with native dependencies"

6 years agoMerge "DO NOT MERGE: Fix ApfTest"
Treehugger Robot [Mon, 4 Sep 2017 03:39:59 +0000 (03:39 +0000)]
Merge "DO NOT MERGE: Fix ApfTest"

6 years agoMerge "Record even more stats even more often"
Treehugger Robot [Mon, 4 Sep 2017 02:11:47 +0000 (02:11 +0000)]
Merge "Record even more stats even more often"

6 years agoFix some broken tests in frameworks-net with native dependencies
Hugo Benichi [Fri, 4 Aug 2017 03:12:25 +0000 (12:12 +0900)]
Fix some broken tests in frameworks-net with native dependencies

Exempt-From-Owner-Approval: Android.mk uses per-file permission to let
the build team modify it without dependeing on us. However because this
rule overrides the directory default owners, Android core networking is
not owner anymore. This exemption is necessary to let Android core
networking team fix their build file.

Test: All tests in runtest frameworks-net pass.
Merged-In: Ie0b8baa38ca39e92fbd698ebcead86dac0a67708

(cherry picked from commit 99e8ab6e46eec5dbd1b059b3732672d537b3cf34)

Change-Id: I4471a5cd7f20852645f3d94684cc5aeef3324162

6 years agoDO NOT MERGE: Fix ApfTest
Hugo Benichi [Thu, 1 Jun 2017 06:54:59 +0000 (15:54 +0900)]
DO NOT MERGE: Fix ApfTest

libutils is now depending on libvndksupport. So any client that
statically links to libutils needs to link against libvndksupport as
well.

Bug: 32561414
Test: ApfTest works
Merged-In: Id99792baa1c0a7a61c4056f83f33d25e0bea143e

(cherry picked from commit 9a2041ee836be925e93dd820f11686aa378dd92d)

Change-Id: I8808e668230ff7076403ff29cf48c12cbc36f78a

6 years agoRecord even more stats even more often
Erik Kline [Thu, 31 Aug 2017 12:09:45 +0000 (21:09 +0900)]
Record even more stats even more often

Like kale, one can never have enough stats.  =)

Test: as follows
    - built
    - flashed
    - booted
    - runtest frameworks-net passes
Bug: 29337859
Bug: 32163131
Merged-In: I5d40eae488cab685be6a44849181c0286fe28fdb
Merged-In: I759e97f9a72d15a84036c3a56451b872143539c6
Change-Id: Ieb47c3beed50f21c2c858fe57438afd48cfdc662
(cherry picked from commit 1199a352fcb938a8dc7a34a2853c4fde7f5656f1)

6 years agoRefactor interface IP code into InterfaceController
Erik Kline [Sun, 3 Sep 2017 11:38:29 +0000 (20:38 +0900)]
Refactor interface IP code into InterfaceController

Test: as follows
    - built
    - flashed
    - booted
    - runtest frameworks-net passes
      (except for UidRange and APF tests that are missing libvndk)
    - regular WiFi STA mode attach works for IPv4-only, dualstack,
      and IPv6-only networks
    - tethering works with dualstack upstream and downstream
Bug: 62476366

Change-Id: Id807b3091b0b2935b01aeb3644245034312b4183

6 years agoNetwork Service Discovery test: properly release resources
Hugo Benichi [Mon, 31 Jul 2017 11:35:58 +0000 (20:35 +0900)]
Network Service Discovery test: properly release resources

Bug: 32561414
Bug: 62918393
Bug: 62044295
Test: runtest frameworks-net
Change-Id: If23993b5e391947ecbdc01677f0a643144794b2b

6 years agoMerge "Adds ERROR state to ImsConfig"
Brad Ebinger [Fri, 1 Sep 2017 21:06:55 +0000 (21:06 +0000)]
Merge "Adds ERROR state to ImsConfig"

6 years agoMerge "Remove PIN/PUK keyguard when SIM is removed/ready"
Brad Ebinger [Fri, 1 Sep 2017 21:06:27 +0000 (21:06 +0000)]
Merge "Remove PIN/PUK keyguard when SIM is removed/ready"

6 years agoMerge "Fixed default values for Bluetooth energy calculations"
Treehugger Robot [Fri, 1 Sep 2017 20:58:49 +0000 (20:58 +0000)]
Merge "Fixed default values for Bluetooth energy calculations"

6 years agoFixed default values for Bluetooth energy calculations
Hansong Zhang [Fri, 18 Aug 2017 22:03:56 +0000 (15:03 -0700)]
Fixed default values for Bluetooth energy calculations

There are values used for Bluetooth energy calculations in the
configuration file. The values were set to 1, 2, 3, 4 and ends up giving
some very wrong energy calculations. They are now set to 0 by default.

Bug: 64662990

Test: manual
Change-Id: I2be2a19f50e2e56d7dadb9ff23b9827520d4d1ea
(cherry picked from commit 3e6eb50e35f4d0fb8db774bed17a46effbc65671)

6 years agoAdds ERROR state to ImsConfig
Brad Ebinger [Fri, 25 Aug 2017 21:53:30 +0000 (14:53 -0700)]
Adds ERROR state to ImsConfig

Adds the ERROR return state for bool provisioning values
so that we can throw an Exception in some cases.

Bug: 64540800
Test: Manual
Merged-In: Id412c0be939da6240a66a942730fd18badabb6c6
Change-Id: I0b79837c694d245999031ec65783857e114b7c75

6 years agoMerge "Fix typo in CarrierConfigManager javadoc."
Treehugger Robot [Fri, 1 Sep 2017 17:11:26 +0000 (17:11 +0000)]
Merge "Fix typo in CarrierConfigManager javadoc."

6 years agoRemove PIN/PUK keyguard when SIM is removed/ready
Brad Ebinger [Mon, 21 Aug 2017 21:58:52 +0000 (14:58 -0700)]
Remove PIN/PUK keyguard when SIM is removed/ready

1) If the PIN/PUK keyguard comes up for a locked
SIM, it can not be removed by removing the
affected SIM. It can only be removed by
rebooting the device or entering a bogus PIN.

This change automatically clears the keyguard
when when the locked SIM is removed. It will
be shown again if the locked SIM is re-entered.

2) If the device is PUK locked and the code
**05*PUK*new pin* new Pin# is entered in the
emergency dialer, it will unlock the SIM.
By listening to the READY state, we can remove
the keyguard when the SIM is unlocked by
other means.

Bug: 64469515
Bug: 64044132
Test: Manual
Merged-In: I7b576ee7e38f141075cae094e3d1f74b7145d53f
Change-Id: I9507f80edcd4c04dfa0cc3b48a25e619aafa9eb3

6 years agoMerge "Fix animation of settings button in RTL layout case"
Jason Monk [Fri, 1 Sep 2017 12:56:56 +0000 (12:56 +0000)]
Merge "Fix animation of settings button in RTL layout case"

6 years agoFix typo in CarrierConfigManager javadoc.
Bin Chen [Fri, 1 Sep 2017 10:12:53 +0000 (18:12 +0800)]
Fix typo in CarrierConfigManager javadoc.

Change-Id: Ie9d2f7aa705b7895777dcfa27e6826babff64e29

6 years agoMerge "Add APF black list for ether-type"
Treehugger Robot [Fri, 1 Sep 2017 06:19:11 +0000 (06:19 +0000)]
Merge "Add APF black list for ether-type"

6 years agoAdd APF black list for ether-type
Ahmed ElArabawy [Wed, 2 Aug 2017 20:31:05 +0000 (13:31 -0700)]
Add APF black list for ether-type

Add a configurable black for protocols which packets are to be dropped
by APF. This enales an OEM to configure the APF to filter out un-needed
packets from reaching the host

Bug: 62415182
Test: runtest frameworks-net

Merged-In: I86335a0f854d5e83a2b2767978cd69b2cc25c2f8

Signed-off-by: Ahmed ElArabawy <arabawy@google.com>
(cherry picked from commit caffbe127726c6a9ab5dd023a9b09cfa43eac617)

Change-Id: I15a758d18464d73d24ba8364a867904bb3cd3b34

6 years agoFix animation of settings button in RTL layout case
Akira Oshimi [Thu, 3 Aug 2017 02:02:34 +0000 (11:02 +0900)]
Fix animation of settings button in RTL layout case

The settings button overlaps with the expand indicator
in RTL layout case when rotating the device to landscape mode.
To fix this issue, the animation of settings button
in RTL layout case should be changed.

Fixes: 65228478
Test: manual - set a BiDi language and open Notification panel.

Change-Id: I008b33ebcdf074639a291e7d30d3343654a2ea37

6 years agoMerge "Remove unused methods from OMS"
Treehugger Robot [Thu, 31 Aug 2017 21:31:31 +0000 (21:31 +0000)]
Merge "Remove unused methods from OMS"

6 years agoMerge changes I7218f17a,I96b7340a
Treehugger Robot [Thu, 31 Aug 2017 21:27:42 +0000 (21:27 +0000)]
Merge changes I7218f17a,I96b7340a

* changes:
  ResourcesManager: correct @NonNull -> @Nullable
  AAPT2: Allow <overlay> in AndroidManifest.xml

6 years agoMerge "OMS: fix listener callbacks triggered by changes to target package"
Treehugger Robot [Thu, 31 Aug 2017 20:51:38 +0000 (20:51 +0000)]
Merge "OMS: fix listener callbacks triggered by changes to target package"

6 years agoMerge "Whitelist free sms shortcode 76551 in Mexico for constlletion."
lingjunl [Thu, 31 Aug 2017 19:46:39 +0000 (19:46 +0000)]
Merge "Whitelist free sms shortcode 76551 in Mexico for constlletion."

6 years agoMerge "Test: Drag on the divider line."
Treehugger Robot [Thu, 31 Aug 2017 16:43:44 +0000 (16:43 +0000)]
Merge "Test: Drag on the divider line."

6 years agoMerge changes I49057737,I68e3096d
Treehugger Robot [Thu, 31 Aug 2017 15:01:37 +0000 (15:01 +0000)]
Merge changes I49057737,I68e3096d

* changes:
  Frameworks: Clean up SystemProperties
  Frameworks: Add warning to SystemProperties.get

6 years agoMerge "Revert "Nat464Xlat: interface notification handler on ConnectivityService""
Hugo Benichi [Thu, 31 Aug 2017 14:31:24 +0000 (14:31 +0000)]
Merge "Revert "Nat464Xlat: interface notification handler on ConnectivityService""

6 years agoRevert "Nat464Xlat: interface notification handler on ConnectivityService"
Hugo Benichi [Thu, 31 Aug 2017 14:29:51 +0000 (14:29 +0000)]
Revert "Nat464Xlat: interface notification handler on ConnectivityService"

This reverts commit 771d5c2f0126ba692897c9716f4098ae6e3a870c due to b/65225023.

Change-Id: I6ca3780afb8d47b77219d6b5a06760042f684c4b

6 years agoRemove unused methods from OMS
MÃ¥rten Kongstad [Thu, 26 Jan 2017 08:54:21 +0000 (09:54 +0100)]
Remove unused methods from OMS

Remove the unused methods

  - IdmapManager.isDangerous(PackageInfo, int)
  - IdmapManager.isDangerous(String)

The concept of a dangerous overlay is currently not used, so remove any
trace of it.

Test: builds
Change-Id: I79ea00c05c0ee113733c20e982ae8f517bbbbd11

6 years agoResourcesManager: correct @NonNull -> @Nullable
MÃ¥rten Kongstad [Fri, 28 Apr 2017 11:10:11 +0000 (13:10 +0200)]
ResourcesManager: correct @NonNull -> @Nullable

To clear all overlay packages, the caller of
ResourcesManager#applyNewResourceDirsLocked will pass in null as the
second argument. Fix typo where the argument's annotation misspelled
@Nullable as @NonNull.

Change-Id: I7218f17ac8f121924e722d3e00d3ebdc4d6f3382

6 years agoOMS: fix listener callbacks triggered by changes to target package
MÃ¥rten Kongstad [Mon, 26 Jun 2017 13:26:32 +0000 (15:26 +0200)]
OMS: fix listener callbacks triggered by changes to target package

The OverlayManagerListener connected to the OverlayManagerServiceImpl
should be notified when and only when the overlay settings have been
modified. The pattern used to fulfill this contract as a result of a
change to a target package is as follows:

    if (updateAllOverlaysForTarget(...)) {
        mListener.onOverlaysChanged(...);
    }

Fix two violations of this pattern:

  - The listener was always notified
  - The listener was never notified

Test: manual
Change-Id: Id24a439e2eaaf976e8c7d650af36d58632cfb4ba

6 years agoAAPT2: Allow <overlay> in AndroidManifest.xml
MÃ¥rten Kongstad [Thu, 8 Dec 2016 23:23:41 +0000 (00:23 +0100)]
AAPT2: Allow <overlay> in AndroidManifest.xml

Test: libaapt2_tests
Test: manual (build an overlay package)
Change-Id: I96b7340a53a7d4f1ca022065674fbf5bdaa273f2

6 years agoMerge "Shutdown more reliably"
Treehugger Robot [Thu, 31 Aug 2017 03:11:51 +0000 (03:11 +0000)]
Merge "Shutdown more reliably"

6 years agoFrameworks: Clean up SystemProperties
Andreas Gampe [Sat, 29 Jul 2017 21:14:39 +0000 (14:14 -0700)]
Frameworks: Clean up SystemProperties

Clean up SystemProperties.java. Add annotations.

Clean up SystemProperties.cpp. Refactor for proper C++11.
Make sure C-string key construction is properly reused. Use
android::base functionality for actual reading.

Fix the test script to refer to the right location. Add some
test coverage.

(cherry picked from commit 2e6b9cb56320a86f0c33da890f667e5c76c8285d)

Test: m
Test: frameworks/base/core/tests/systemproperties/run_core_systemproperties_test.sh --rebuild
Merged-In: I490577370da985f600fb1117e3c818d3f68bad5f
Change-Id: I490577370da985f600fb1117e3c818d3f68bad5f

6 years agoFrameworks: Add warning to SystemProperties.get
Andreas Gampe [Sat, 29 Jul 2017 01:20:37 +0000 (18:20 -0700)]
Frameworks: Add warning to SystemProperties.get

Add a warning that calling get() is unsafe when the system property
may not contain a valid UTF-encoded string.

(cherry picked from commit 6bf1cff1dd8cad0d2c6eb4f2cef28a97270e46b2)

Bug: 63177684
Test: m
Merged-In: I68e3096d770a32fe204be5c130a3ada9d3db7c0b
Change-Id: I68e3096d770a32fe204be5c130a3ada9d3db7c0b

6 years agoMerge "IllegalArgumentException in MagnificationGestureHandler"
Treehugger Robot [Wed, 30 Aug 2017 20:40:54 +0000 (20:40 +0000)]
Merge "IllegalArgumentException in MagnificationGestureHandler"

6 years agoShutdown more reliably
Erik Kline [Wed, 30 Aug 2017 06:37:20 +0000 (15:37 +0900)]
Shutdown more reliably

Also: collapse largely unused VDBG/DBG into just DBG.

Test: as follows
    - built
    - flashed
    - booted
    - runtest framworks-net passes
Bug: 64914645
Change-Id: Ifbb6b1ce18c52c9cb58c89b9661248a155f7b4a8

6 years agoMerge "Fix errorprone build"
Colin Cross [Wed, 30 Aug 2017 00:25:36 +0000 (00:25 +0000)]
Merge "Fix errorprone build"

6 years agoFix errorprone build
Colin Cross [Tue, 29 Aug 2017 19:18:55 +0000 (12:18 -0700)]
Fix errorprone build

Fixes:
frameworks/base/tests/net/java/com/android/server/connectivity/tethering/OffloadControllerTest.java:149: error: [JUnit4TestNotRun] Test method will not be run; please add @Test annotation
    public void testNoSettingsValueDefaultDisabledDoesNotStart() throws Exception {
                ^
    (see http://errorprone.info/bugpattern/JUnit4TestNotRun)
  Did you mean '@Test'?
frameworks/base/tests/net/java/com/android/server/connectivity/tethering/OffloadControllerTest.java:170: error: [JUnit4TestNotRun] Test method will not be run; please add @Test annotation
    public void testNoSettingsValueDefaultEnabledDoesStart() throws Exception {
                ^
    (see http://errorprone.info/bugpattern/JUnit4TestNotRun)
  Did you mean '@Test'?

Bug: 64489631
Test: m -j RUN_ERROR_PRONE=true javac-check
Merged-In: Ib32489d07778465134bca52c589baddbd78ab129
Change-Id: I41dfdf87529e532df385617fa05c7006a7a14c86

6 years agoMerge "Fix QS user icon in guest mode"
Jason Monk [Tue, 29 Aug 2017 14:25:12 +0000 (14:25 +0000)]
Merge "Fix QS user icon in guest mode"

6 years agoMerge "Adapt ICU 59 API update to Doclava changes."
Joachim Sauer [Tue, 29 Aug 2017 13:42:26 +0000 (13:42 +0000)]
Merge "Adapt ICU 59 API update to Doclava changes."

6 years agoFix QS user icon in guest mode
Akari Tsuneta [Thu, 10 Aug 2017 11:51:44 +0000 (20:51 +0900)]
Fix QS user icon in guest mode

When the profile is updated in guest mode, the user icon in QS footer
is not displayed correctly. To fix this issue, the tinting of
guest icon is applied only when the drawable is not UserIconDrawable.

Fixes: 65148947
Test: manual - switch to guest and update the profile.

Change-Id: I9690e9fd286703a25ee08d877c3dd7f4729e2b31

6 years agoAdapt ICU 59 API update to Doclava changes.
Joachim Sauer [Tue, 29 Aug 2017 10:26:29 +0000 (11:26 +0100)]
Adapt ICU 59 API update to Doclava changes.

Add methods that were missing from the previous API update because the
update-api version used for that had different behaviour from the
current one.

Specifically overrides for methods that differ only in sychronization
are now considered API-worthy and weren't before (b/62576297).

All methods added in this commit are methods that exist in the base
class without synchronization and are synchronized in the class they are
now being added in.

Bug: 64807220
Test: m checkapi
Change-Id: I9bf1b3d02e6a8f04b93ec36c0adffb7eedad3ad3
Merged-In: Iff584fb72dc8d651f9482b573f4b8cec89840ca6

6 years agoMerge "Fix GATT client leakage when scan is throttled (1/2)"
Jakub Pawlowski [Tue, 29 Aug 2017 08:00:55 +0000 (08:00 +0000)]
Merge "Fix GATT client leakage when scan is throttled (1/2)"

6 years agoMerge "Nat464Xlat: interface notification handler on ConnectivityService"
Hugo Benichi [Tue, 29 Aug 2017 05:08:00 +0000 (05:08 +0000)]
Merge "Nat464Xlat: interface notification handler on ConnectivityService"

6 years agoNat464Xlat: interface notification handler on ConnectivityService
Hugo Benichi [Wed, 5 Jul 2017 02:08:48 +0000 (11:08 +0900)]
Nat464Xlat: interface notification handler on ConnectivityService

This patch adds a layer of asynchonicity to the NetworkBaseObserver
callbacks implemented by Nat464Xlat in order to allow these callbacks
to run on the main ConnectivityService handler.

This allows to run interfaceLinkStateChanged and interfaceRemoved
callbacks in the same thread context as other Nat464Xlat methods and
solves the following issues:
  - NPE risk due to race between fixupLinkProperties called on the
    ConnectivityService thread and interfaceRemoved called as a
    callback by NetworkManagementService.
  - stale LinkProperties reads in both callbacks not called on
    ConnectivityService handler.
  - removes the race between stop() and interfaceRemoved().

This patch also:
  - removes/simplifies comments related to the threading
    model which are no obsolete.
  - extract clatd management logic from ConnectivityService into
    NetworkAgentInfo

Bug: 62997041
Bug: 64571917
Test:  runtest frameworks-net
       manually connected to ipv6 network and went to test-ipv6.com
Change-Id: I889d98e47423ff3d4746d6ed8015b265286e7c52

6 years agoMerge "Use guava 21.0"
Colin Cross [Mon, 28 Aug 2017 23:50:52 +0000 (23:50 +0000)]
Merge "Use guava 21.0"

6 years agoMerge "Nat464Xlat: internal state guards cleanup + state enum"
Hugo Benichi [Mon, 28 Aug 2017 22:30:27 +0000 (22:30 +0000)]
Merge "Nat464Xlat: internal state guards cleanup + state enum"

6 years agoMerge "Fixed mimetype error of PPT file"
Treehugger Robot [Mon, 28 Aug 2017 22:12:37 +0000 (22:12 +0000)]
Merge "Fixed mimetype error of PPT file"

6 years agoFixed mimetype error of PPT file
bokyung.kim [Wed, 26 Jul 2017 01:18:39 +0000 (10:18 +0900)]
Fixed mimetype error of PPT file

Change mimetype of PPT file to match MS specification.
(MimeUtils.java matched the MS specification)

Test: Check mimetype of DB after saving PPT file.

Change-Id: Ie559499ae39bc527fcc656ba37f28845af209e6c
Signed-off-by: bokyung.kim <bokyung.kim@lge.com>
6 years agoMerge "Ensure the generation is not changed before put value to cache"
Treehugger Robot [Mon, 28 Aug 2017 19:42:11 +0000 (19:42 +0000)]
Merge "Ensure the generation is not changed before put value to cache"

6 years agoFix GATT client leakage when scan is throttled (1/2)
Jakub Pawlowski [Mon, 28 Aug 2017 11:12:49 +0000 (04:12 -0700)]
Fix GATT client leakage when scan is throttled (1/2)

Currently, scan throttling happens after client is registered, but
before the scan is started. This might lead to scan client being leaked.
This patch fixed that by moving check before client registration.

Bug: 64887233
Test: manual
Change-Id: I22ae624a0c51110cb69679f796926e3b2b36d0ac

6 years agoIllegalArgumentException in MagnificationGestureHandler
Edward Savage-Jones [Mon, 28 Aug 2017 08:44:18 +0000 (10:44 +0200)]
IllegalArgumentException in MagnificationGestureHandler

When enabling the magnifier feature it is possible to trigger
a system crash.

Problem:
On ACTION_DOWN a MESSAGE_ON_ACTION_TAP_AND_HOLD is sent to the
handler with a delay based on long-press timeout.  If the user
then removes their finger while outside of the magnification area,
(ACTION_UP) this message is not removed.  Then when the message
is handled on long-press timeout, it puts the state into
STATE_VIEWPORT_DRAGGING.  If the user then taps the screen again
it is handled by the StateViewportDraggingHandler resulting in:

 IllegalArgumentException: Unexpected event type: ACTION_DOWN

and a system server crash.

Bug: 65101895
Test: Manual:
1. Enable "Magnify with button" from accessibility settings
2. Tap accessibility button on the right navbar
3. Touch & hold bottom part of application area
4. Quickly drag down to the navbar and release
5. Touch anywhere
With this patch it should not crash

Change-Id: I7df8d2185f6db9d148d24d2b155cb357b3637a71

6 years agoMerge "Trivial change to test expectations."
Treehugger Robot [Mon, 28 Aug 2017 12:39:29 +0000 (12:39 +0000)]
Merge "Trivial change to test expectations."

6 years agoMerge "Nat464Xlat: clat management cleanup"
Hugo Benichi [Mon, 28 Aug 2017 11:47:08 +0000 (11:47 +0000)]
Merge "Nat464Xlat: clat management cleanup"

6 years agoTrivial change to test expectations.
Lorenzo Colitti [Thu, 24 Aug 2017 03:40:07 +0000 (12:40 +0900)]
Trivial change to test expectations.

(cherry picked from commit 0fee732ca579bbc4320ade35f238bdfa1aa500f5)

Bug: 32163131
Test: runtest frameworks-net
Change-Id: Iec8af5191b4da495e47ef97d70a03a5d2e75cfe2

6 years agoMerge "switch to native_handle_create() for passing ownership"
Lorenzo Colitti [Mon, 28 Aug 2017 08:02:19 +0000 (08:02 +0000)]
Merge "switch to native_handle_create() for passing ownership"

6 years agoNat464Xlat: internal state guards cleanup + state enum
Hugo Benichi [Thu, 29 Jun 2017 05:04:13 +0000 (14:04 +0900)]
Nat464Xlat: internal state guards cleanup + state enum

This patch does some cleanup of Nat464Xlat internal state guards
against the Nat464Xlat state Idle | Started | Running, which reduces
code nesting.

It also replaces introspection of internal state for distinguishing
between different stages in 464xlat lifecycle with an enum explicitly
introducing these three Idle | Started | Running states.

Bug: 62997041
Bug: 64571917
Test:  runtest frameworks-net
       manually connected to ipv6 network and went to test-ipv6.com
Change-Id: I6efc9fed2420ca488731a2b9b9c3c025b16eca10

6 years agoNat464Xlat: clat management cleanup
Hugo Benichi [Tue, 27 Jun 2017 06:13:20 +0000 (15:13 +0900)]
Nat464Xlat: clat management cleanup

This patch does some minor refactoring of clat starting/stopping code:
 - remove unused LinkProperties arguments in updateClat
 - remove unused Context argument in Nat464Xlat ctor
 - introduce ensureClatIsStarted and ensureClatIsStopped methods and
   simplify updateClat
 - add clatd to NetworkAgentInfo toString() method
 - clarify some comments

This changes prepare for moving BaseNetworkObserver callbacks to
ConnectivityService.

Bug: 62997041
Bug: 64571917
Test: runtest frameworks-net
      manually connected to IPv6 only network and went to test-ipv6.com
Change-Id: Idb204784614cfe700f73255a7a7b78c5e9ee6eca

6 years agoMerge "DeviceInfoUtils.java: support to show kernel version compiled with clang"
Treehugger Robot [Sat, 26 Aug 2017 00:24:23 +0000 (00:24 +0000)]
Merge "DeviceInfoUtils.java: support to show kernel version compiled with clang"

6 years agoWhitelist free sms shortcode 76551 in Mexico for constlletion.
Lingjun Li [Fri, 25 Aug 2017 20:16:16 +0000 (13:16 -0700)]
Whitelist free sms shortcode 76551 in Mexico for constlletion.

Constellation team has acquire a free shortcode 76551 in Mexico
for contellation MO verification. We don't want to scare people
by poping up the non-necessary warning dialog.
BUG: 65050702
Test: manual

Change-Id: Iab79032f31f99c80a750e02be0f1e6c32aa85363

6 years agoMerge "Emergency redial implementation"
Brad Ebinger [Fri, 25 Aug 2017 20:05:53 +0000 (20:05 +0000)]
Merge "Emergency redial implementation"

6 years agoUse guava 21.0
Colin Cross [Fri, 25 Aug 2017 18:27:46 +0000 (11:27 -0700)]
Use guava 21.0

guava 20.0 is being removed.

Test: m -j checkbuild
Change-Id: I48ac4f641da3567985339c061dad5d60829aeee0

6 years agoMerge "Add new error code in SmsManager"
Shuo Qian [Fri, 25 Aug 2017 18:01:18 +0000 (18:01 +0000)]
Merge "Add new error code in SmsManager"

6 years agoEmergency redial implementation
Srikanth Chintala [Thu, 4 May 2017 15:28:34 +0000 (20:58 +0530)]
Emergency redial implementation

Define connection event to notify
Telecom/InCallUi about change in
account handle after redial and extra
for emergency phone handle.

Bug: 27059146
Change-Id: Ie72ab2901ec05d972204ed11f115a05b79173c1d

6 years agoMerge "Switch /data/misc/reboot/last_reboot_reason to persistent property"
Mark Salyzyn [Fri, 25 Aug 2017 14:16:12 +0000 (14:16 +0000)]
Merge "Switch /data/misc/reboot/last_reboot_reason to persistent property"

6 years agoswitch to native_handle_create() for passing ownership
Erik Kline [Thu, 24 Aug 2017 05:21:57 +0000 (22:21 -0700)]
switch to native_handle_create() for passing ownership

Test: builds
Bug: 29337859
Bug: 32163131
Bug: 64976634
Change-Id: Ifd064736c9fcb633b72e56e93b7baa5f4a5ff051

6 years agoEnsure the generation is not changed before put value to cache
xulicheng [Thu, 24 Aug 2017 03:29:03 +0000 (11:29 +0800)]
Ensure the generation is not changed before put value to cache

It may get old value from mValues, so check the generation
is not changed before update cache

Bug: https://issuetracker.google.com/issues/64995655
Test: Build
Change-Id: Ia7ae18baa269d0590e36f186e2f14b0bfbab3504
Signed-off-by: xulicheng <xulicheng@xiaomi.com>
6 years agoMerge "Track conference start in system elapsed time."
Tyler Gunn [Thu, 24 Aug 2017 22:24:16 +0000 (22:24 +0000)]
Merge "Track conference start in system elapsed time."

6 years agoAdd new error code in SmsManager
sqian [Wed, 9 Aug 2017 22:28:41 +0000 (15:28 -0700)]
Add new error code in SmsManager

Design doc: https://docs.google.com/a/google.com/document/d
/1YPTNoM2Atjz8oISGAsRYlFVSA1NcYP8MbqYQIzLcJ9E/edit?usp=sharing

Test: compile/flash code; test locally
Bug: 34773406
Change-Id: I0b227e76048dd46d9c8023d37647db763e1e38e1
Merged-In: I0b227e76048dd46d9c8023d37647db763e1e38e1

6 years agoMerge "Add new telephony disconnect causes for low battery scenario."
Treehugger Robot [Thu, 24 Aug 2017 21:33:55 +0000 (21:33 +0000)]
Merge "Add new telephony disconnect causes for low battery scenario."

6 years agoMerge changes from topic "bt-fix-checkstyle-errors"
Treehugger Robot [Thu, 24 Aug 2017 21:25:49 +0000 (21:25 +0000)]
Merge changes from topic "bt-fix-checkstyle-errors"

* changes:
  Fix checkstyle errors (2/2)
  Fix checkstyle errors (1/2)

6 years agoAdd new telephony disconnect causes for low battery scenario.
Tyler Gunn [Tue, 22 Aug 2017 18:13:05 +0000 (11:13 -0700)]
Add new telephony disconnect causes for low battery scenario.

LOW_BATTERY is for disconnect mid-call due to low battery.
DIAL_LOW_BATTERY is for failure while dialing due to low battery.

Test: Manual.
Merged-In: Ife7a4ca5645b3fb42ab20effb4d8d4a8fef8116b
Change-Id: Ife7a4ca5645b3fb42ab20effb4d8d4a8fef8116b
Fixes: 63936576

6 years agoFix checkstyle errors (2/2)
Jack He [Wed, 23 Aug 2017 04:21:23 +0000 (21:21 -0700)]
Fix checkstyle errors (2/2)

* Manual style corrections with IDE assistance
* Variable name refactors are done through IDE
* Corrected general style errors such as:
  - "final private var" -> "private final var"
  - "&&", "+", "||" should not be at the end of line
  - Non-static private variable should be like "mVar"
  - Private static variable should be like "sVar"
  - Code file should always end with newline
  - Inherited methods should be annotated with @Override
    and no @hide tags
  - Public methods should always have a JavaDoc entry
  - "int[] array" is preferred over "int array[]"
  - private methods should be accessed without "this."
    when there is no name collisions.
  - "boolean ? true : false" -> boolean
  - "boolean ? false : true" -> !boolean
  - "boolean == true" OR "boolean != false" -> boolean
  - "boolean != true" OR "boolean == false" -> !boolean

Bug: 63596319
Test: make checkbuild, no functional changes
Change-Id: Iabdc2be912a32dd63a53213d175cf1bfef268ccd

6 years agoFix checkstyle errors (1/2)
Jack He [Tue, 22 Aug 2017 23:06:54 +0000 (16:06 -0700)]
Fix checkstyle errors (1/2)

* Automatic style corrections through IDE

Bug: 63596319
Test: make checkbuild, no manual changes, no functional changes
Change-Id: I2397d55abc34c9b7a9b748bec6137778df3421a7

6 years agoDeviceInfoUtils.java: support to show kernel version compiled with clang
Yongqin Liu [Thu, 8 Jun 2017 08:15:29 +0000 (16:15 +0800)]
DeviceInfoUtils.java: support to show kernel version compiled with clang

The kernel version displayed in settings is only shown correctly
when built with gcc, this change adds support for a kernel built
with clang.

Test: manually on hikey with following command:
adb shell am instrument -w -e class com.android.settings.DeviceInfoSettingsTest com.android.settings.tests.unit/android.support.test.runner.AndroidJUnitRunner

Change-Id: I9b7991681cb5abdf44e7d1d1bff84c7c866be2ed
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
6 years agoMerge changes from topic "offload_cherrypick"
Treehugger Robot [Thu, 24 Aug 2017 05:18:23 +0000 (05:18 +0000)]
Merge changes from topic "offload_cherrypick"

* changes:
  Send add/removeDownstream info to offload HAL
  Don't completely stop offload if setting data limit fails.

6 years agoSend add/removeDownstream info to offload HAL
Erik Kline [Thu, 6 Jul 2017 10:49:35 +0000 (19:49 +0900)]
Send add/removeDownstream info to offload HAL

Test: as follows
    - built
    - flashed
    - booted
    - "runtest frameworks-net" passed
Bug: 29337859
Bug: 32163131

Merged-In: I0cb81ac054fc2bf6c8b8bfe658e9404a15091d7a
Merged-In: I7abcdcc2d7d967179c47081a6db2b417164891f3
Change-Id: I6c59aa7cb80b54f376f294b24c1409710c553d74
(cherry picked from commit ed962a84122ab950a103fbbc0bf911f61b6b9500)

6 years agoDon't completely stop offload if setting data limit fails.
Lorenzo Colitti [Mon, 21 Aug 2017 03:34:50 +0000 (12:34 +0900)]
Don't completely stop offload if setting data limit fails.

Currently, if setting a data limit fails, we completely stop
offload in order to avoid data overages. However, the next thing
we do is try to fetch the stats and crash, because once offload
is stopped all our local state is cleared.

Fix this by fetching stats before we stop offload.

Bug: 29337859
Bug: 32163131
Bug: 64867836
Test: OffloadControllerTest passes
Test: no crash when disabling wifi tethering with BT tethering active
Merged-In: I7fc47e60b2da5f39c26fb22c1325618f9948dd38
Merged-In: I464dd2a6d1996b1cfb8bbf82b6ee453fd0747569
Change-Id: I260f5450f8b67f055983af68fb23a5f3cfc0bc69
(cherry picked from commit d743601a002ac12c02da58e92ebd0544ab0b77ea)

6 years agoMerge "Make NetworkManagementServiceTest pass again."
Hugo Benichi [Thu, 24 Aug 2017 03:36:20 +0000 (03:36 +0000)]
Merge "Make NetworkManagementServiceTest pass again."

6 years agoMerge "Tethering offload stats updates are eventually consistent"
Hugo Benichi [Thu, 24 Aug 2017 02:37:03 +0000 (02:37 +0000)]
Merge "Tethering offload stats updates are eventually consistent"

6 years agoMerge "Embms adjustments for 7/28"
Hall Liu [Wed, 23 Aug 2017 20:18:15 +0000 (20:18 +0000)]
Merge "Embms adjustments for 7/28"

6 years agoEmbms adjustments for 7/28
Hall Liu [Thu, 27 Jul 2017 22:33:31 +0000 (15:33 -0700)]
Embms adjustments for 7/28

* Move some vendor intents and extras into a VendorIntents class
* Add a download result RESULT_IO_ERROR
* Add documentation noting that repeated calls to
setTempFileRootDirectory will not throw an error if the parameter is the
same.
* Add getTempFileRootDirectory method for app
* Hide AIDL classes from the public/system API surfaces for download
* Remove size and md5hash from FileInfo

Change-Id: I8c968a7d68db2588ee550167ed2693fe89c5925a

6 years agoMerge "Embms API adjustments for 7/21"
Hall Liu [Wed, 23 Aug 2017 16:37:50 +0000 (16:37 +0000)]
Merge "Embms API adjustments for 7/21"

6 years agoTethering offload stats updates are eventually consistent
Hugo Benichi [Tue, 22 Aug 2017 04:57:41 +0000 (13:57 +0900)]
Tethering offload stats updates are eventually consistent

This patch removes the call to runWithScissors() in
OffloadController#getTetherStats() that was causing a deadlock when
NetworkStatsService would be polled for stats in certain threading
contexts.

Instead of trying to query the tethering offload HAL synchronously all
the time, this patch:
 - changes getTetherStats() to only call into the offload HAL when it
   detects that it is called on the same thread as the Tethering handler
   thread.
 - changes the map of interface to accumulated tethering forwarded stats
   to be concurrent.

This makes stats reading from getTetherStats() eventually consistent.
From the point of view of getTetherStats(), it preserves the guarantees
that tethering stats are monotonically increasing, and also guarantees
no tearing between rx bytes and tx bytes.

Bug: 29337859
Bug: 32163131
Bug: 64771555
Test: runtest frameworks-net
Merged-In: Ibcd351ad0225ef146b00a807833f76d2a886f6c1
Merged-In: I61786d61fe1422e429c0dd9eadaff6f02eb850e7
Merged-In: I999d1d1bf72e7ab02c5d17f37aad00bc711d3fc5

(cherry pick from commit eb5e465edd78bea26289f779b635c7e94d934854)

Change-Id: I28646b962cee8c8a6efd66059f84873c02ac5810

6 years agoMake NetworkManagementServiceTest pass again.
Lorenzo Colitti [Mon, 10 Jul 2017 17:29:28 +0000 (02:29 +0900)]
Make NetworkManagementServiceTest pass again.

1. Mock the service manager so that NMS can fetch mock versions
   of INetd and IBatteryStats.
2. Call LocalServices.removeServiceForTest to avoid a duplicate
   service registration error. // check this
3. Change the timeout from 100ms to 200ms, as otherwise the tests
   that check for IfaceClass fail.
4. Convert NetworkManagementServiceTest to JUnit 4.
5. Move NetworkManagementServiceTest to tests/net

Bug: 29337859
Bug: 32163131
Bug: 32561414
Bug: 62918393
Test: runtest frameworks-net
Change-Id: Ic7371b427b35809ccd446addf35c9d8ae99ccfd3

6 years agoEmbms API adjustments for 7/21
Hall Liu [Thu, 20 Jul 2017 22:32:51 +0000 (15:32 -0700)]
Embms API adjustments for 7/21

* Enforce that only one instance of each manager can be active.
* Add a death receipient for both managers to notify the app of binder
death
* Add documentation informing the app that it may not call create()
multiple times
* Fix a collision in streaming state reason codes
* Add documentation in DownloadRequest to indicate which methods should
be called by the middleware.

Change-Id: Ie15283b5c34fee736e8023dbd4f889c2ca95299e

6 years agoMerge "Enable Checkstyle for "repo upload" for more projects."
Treehugger Robot [Tue, 22 Aug 2017 22:19:28 +0000 (22:19 +0000)]
Merge "Enable Checkstyle for "repo upload" for more projects."

6 years agoEnable Checkstyle for "repo upload" for more projects.
Aurimas Liutikas [Fri, 28 Apr 2017 21:30:26 +0000 (14:30 -0700)]
Enable Checkstyle for "repo upload" for more projects.

This CL enables Checkstyle for the following directories:
- core/java/android/
- core/tests/coretests/src/android/

Bug: 34746646
Test: None
Change-Id: Ib8b3f198000be19e9a7a61aa5abd61d827454eba
(cherry picked from commit e5abb866a56582ffc705c261a2cab20c2331e6a3)

6 years agoTrack conference start in system elapsed time.
Tyler Gunn [Fri, 4 Aug 2017 16:27:26 +0000 (09:27 -0700)]
Track conference start in system elapsed time.

This is important so that Telecom can track the duration of the call,
which is tracked using wall clock time.

Test: Manual, unit test
Bug: 64068300
Change-Id: If642d282cd8134060acf6ffe8d81215c394d800c

6 years agoSwitch /data/misc/reboot/last_reboot_reason to persistent property
Mark Salyzyn [Tue, 15 Aug 2017 14:53:47 +0000 (07:53 -0700)]
Switch /data/misc/reboot/last_reboot_reason to persistent property

Switch from /data/misc/reboot/last_reboot_reason to persistent
Android property persist.sys.boot.reason for indicating why the
device is rebooted or shutdown.

persist.sys.boot.reason has a standard as outlined in b/63736262 and
the associated investigation. Made adjustments to the values so that
we did not create a problem even before we started. Compliance is
part of the tests in boot_reason_test.sh.

Test: system/core/bootstat/boot_reason_test.sh
Bug: 64687998
Change-Id: Iba69acf2105f4446411d86cdb8097a1755a20f15