Commit Graph

97443 Commits

Author SHA1 Message Date
Treehugger Robot
7820030367 Merge "Allow staging multiple session with non-overlapping packages (apk-only)" 2020-03-24 16:53:39 +00:00
Treehugger Robot
c9bacc92e8 Merge "Fix addRoute replace default route unexpectedly" 2020-03-24 05:51:30 +00:00
junyulai
4fe1889b52 Fix addRoute replace default route unexpectedly
In aosp/1203789, if two routes are with the same destination,
it will be replaced instead of added when calling addRoute.
This breaks scenarios which rely on the ability to add multiple
default routes, such as multiple IPv6 default routes learned
via address autoconfiguration.

This change treats the route is an update if the destination
and nexthop are the same, but different in other properties.

Test: atest OffloadControllerTest#testSetUpstreamLinkPropertiesWorking
Test: atest LinkPropertiesUtilsTest#testLinkPropertiesIdenticalEqual
Test: atest ConnectivityServiceTest#testStackedLinkProperties
Test: atest ConnectivityServiceTest#testRouteAddDeleteUpdate
  (only directly related tests are listed)
Fix: 152170074
Fix: 151911339
Bug: 142892223

Change-Id: I7153ec9866f14a109ba8155c905e5d9e4f85eb64
2020-03-24 10:27:01 +08:00
Sarah Chin
48b63e04f6 Merge "SubscriptionPlan: remove getNetworkTypesBitMask" 2020-03-23 22:14:31 +00:00
Mohammad Samiul Islam
ef3b56dbc7 Allow staging multiple session with non-overlapping packages (apk-only)
Bug: 141843321
Test: atest StagedInstallTest#testAllowNonOverlappingMultipleStagedInstall_BothSinglePackage_Apk
Test: atest StagedInstallTest#testFailOverlappingMultipleStagedInstall_BothSinglePackage_Apk
Test: atest StagedInstallTest#testFailOverlappingMultipleStagedInstall_BothSinglePackage_Apex
Test: atest StagedInstallTest#testAllowNonOverlappingMultipleStagedInstall_MultiPackageSinglePackage
Test: atest StagedInstallTest#testFailOverlappingMultipleStagedInstall_BothMultiPackage
Test: atest StagedInstallTest#testMultipleStagedInstall_ApkOnly
Test: atest RollbackManagerHostTest#testApkOnlyMultipleStagedRollback
Test: atest RollbackManagerHostTest#testApkOnlyMultipleStagedPartialRollback
Test: atest StagedInstallTest
Change-Id: Iad2e35b50fd22e207e3ad91b48a767827d8e8926
Merged-In: Iad2e35b50fd22e207e3ad91b48a767827d8e8926
2020-03-23 15:51:07 +00:00
Tobias Thierer
6e6a18e8bf Merge "Refactor Network's use of mUrlConnectionFactory." 2020-03-23 11:34:43 +00:00
Tobias Thierer
eb461e2090 Refactor Network's use of mUrlConnectionFactory.
1.) Replace maybeInitUrlConnectionFactory() with a static method
    createUrlConnectionFactory(Dns) and move the logic to acquire
    the lock and initialize mUrlConnectionFactory out into
    openConnection. This makes it a bit clearer that the lock
    is acquired during openConnection().
2.) Use @GuardedBy("mLock") rather than a human readable comment
    on mUrlConnectionFactory.
3.) Make mUrlConnectionFactory non-volatile (since it's guarded by
    mLock), as recommended by Narayan on the review thread for
    http://r.android.com/370652
    Alternatively, the field could have remained volatile
    and we could have used double-checked locking to avoid
    acquiring the lock in the common case.
    The lock is only acquired during getSocketFactory() and
    openConnection(), so it shouldn't usually be contended.

This CL is a pure refactoring that shouldn't have any observable
behavior change.

Bug: 38311512
Test: Treehugger
Exempt-From-Owner-Approval: refactoring only, owner didn't respond in time
Change-Id: I1cf6075dc7cd994657b11d6a82de3ec63235fb1e
2020-03-23 11:34:32 +00:00
Remi NGUYEN VAN
8c224bae1a Fix javadoc for Context.TETHERING_SERVICE
Users of the API receive a TetheringManager from getSystemService; they
do not call ServiceManager.getService.

Bug: 151243982
Test: m
(clean cherry-pick from internal branch)
Merged-In: If75f590da17f07ea9d65635065689d8f4e17b40f

Change-Id: I129ffa7abae1218bcf88ccb8ba074ec8ad50119b
2020-03-23 07:53:09 +00:00
Remi NGUYEN VAN
d4373f3a54 Merge "Add a test API for testing NetworkStack.getService" 2020-03-23 05:46:38 +00:00
Remi NGUYEN VAN
341fa568b9 Merge changes from topic "netstack_constant_cherrypick"
* changes:
  Remove usage of Context.NETWORK_STACK_SERVICE
  Remove NETWORK_STACK_SERVICE constant
2020-03-23 03:33:58 +00:00
Remi NGUYEN VAN
a24a9f710e Add a test API for testing NetworkStack.getService
NetworkStack.getService was introduced to avoid relying on
Context#getSystemService to obtain the NetworkStack binder token.
To allow it to be mocked in tests, a method is introduced to allow tests
to specify a mock NetworkStack token for their own process.

Test: atest NetworkStackTests, using the change
Bug: 151243982
(clean cherry-pick from internal branch)
Merged-In: I04058a007f2dfe1044cabeb3ac508404873665ad

Change-Id: I0e626d871176112a8575d629a05cb7a935b577a6
2020-03-23 03:25:51 +00:00
Remi NGUYEN VAN
4fb0137726 Remove NETWORK_STACK_SERVICE constant
Instead, have a dedicated method in android.net.NetworkStack allowing to
fetch the stable AIDL token for the service.

This avoids returning IBinder from getSystemService, as getSystemService
should generally return manager classes.

Test: atest FrameworksNetTests NetworkStackTests
Fixes: 151243982
Merged-In: I58a6e1f27aff052050197d1901f43a98d7aa1167
(clean cherry-pick from internal branch)

Change-Id: I75aba269595f3e315dd5e0693c878b2026e8e299
2020-03-23 11:28:56 +09:00
Treehugger Robot
c1cae420a2 Merge "Add BLUETOOTH_PRIVILEGED permission as a requirement for all new Bluetooth SystemApis and for hidden connect/disconnect APIs." 2020-03-22 08:30:56 +00:00
Rahul Sabnis
8bc55739e7 Add BLUETOOTH_PRIVILEGED permission as a requirement for all new Bluetooth SystemApis and for hidden connect/disconnect APIs.
Hide some APIs that were previously marked as @UnsupportedAppUsage and re-add annotation as changing the permissions for these SystemApis would break the unsupported app contract that was previously there. Therefore, we're choosing to hide them until we have a good story on how to deal with them next release.

Bug: 148689314
Test: Manual
Merged-In: I33ee2c7ccd3827db3d23d6447cf82d9ffc36836a
Change-Id: I33ee2c7ccd3827db3d23d6447cf82d9ffc36836a
2020-03-21 04:14:29 +00:00
Meng Wang
ba66f0f761 SubscriptionPlan: remove getNetworkTypesBitMask
To avoid using hidden API TelephonyManager#getBitMaskForNetworkType

Bug: 140908357
Test: make
Change-Id: Ibb04fd43117d4b7cf9f768e6ccf9a8f605a2f5e8
Merged-In: Ibb04fd43117d4b7cf9f768e6ccf9a8f605a2f5e8
2020-03-20 16:37:57 -07:00
Peter Wang
54af9046ac Merge "[API Review] APIs in SubscriptionManager" 2020-03-20 19:54:58 +00:00
Neil Fuller
f211324bfc Merge "Misc tidy up before adding geolocation classes" 2020-03-20 09:47:19 +00:00
Peter Wang
0ddf44070b [API Review] APIs in SubscriptionManager
Bug: 146362772
Bug: 148180034
Test: atest SubscriptionControllerTest, TelephonyDatabaseHelperTest, TelephonyProviderTest
Change-Id: I77cad8f828ac38976355b7a5f3e8d757b73694ca
Merged-In: I77cad8f828ac38976355b7a5f3e8d757b73694ca
2020-03-19 16:06:52 -07:00
Treehugger Robot
e8640349ed Merge "BluetoothHearingAid#getHiSyncId now consistently uses the term HiSyncId (removed all references to CustomerId) and added link to explain what the HiSyncId represents" 2020-03-19 20:01:07 +00:00
Rahul Sabnis
3c7e8444f5 BluetoothHearingAid#getHiSyncId now consistently uses the term HiSyncId
(removed all references to CustomerId) and added link to explain what
the HiSyncId represents

Bug: 149238489
Test: Manual
Change-Id: I4ff2a8d46f3fc5d06a29829a69a27a0c15e466f8
2020-03-19 11:44:54 -07:00
Cody Kesting
70a08d9f7e Merge "Change NetworkCapabilties administrator UIDs to be stored as int[]." 2020-03-19 18:09:26 +00:00
Mark Chien
c686fa828b Merge "TetheringManager API clean up" 2020-03-19 16:09:21 +00:00
Treehugger Robot
e215c5d047 Merge "Move NetworkCallback to last parameter for new exposed requestNetwork" 2020-03-19 15:51:32 +00:00
markchien
32726e00e2 Move NetworkCallback to last parameter for new exposed requestNetwork
Bug: 151243698
Test: atest TetheringTests
Change-Id: I87ef1d451eefa6998b9793c4eacabae978376d24
Merged-In: I87ef1d451eefa6998b9793c4eacabae978376d24
2020-03-19 11:36:07 +00:00
markchien
743236096e TetheringManager API clean up
Per API review:
- @IntDef defined on the type integer parameter
- have getters on each parameter that is set in the
  TetheringRequest.Builder
- new added API should not be deprecated
Below APIs is moved from system-current to module-lib-current that only
plafrom code(e.g. ConnectivityManager and Settings) can use them.
TetheringRequest.
onTetherableInterfaceRegexpsChanged, TetheringInterfaceRegexps:
Only platform code can use them because interfaces by regular
expressions are a mechanism which is planning to be deprecated.

Also rename some constants for easier to understand.

Bug: 149858697
Bug: 151243337
Test: m doc-comment-check-docs
      atest TetheringTests
Change-Id: I45cb21d5bc919f6d32c42650326597d5173ea028
Merged-In: Idd041f0fbeca411ea23e49786a50dd7feb77ef45
2020-03-19 19:32:50 +08:00
Lorenzo Colitti
e30d9267ef Merge "Make Ethernet interfaces more testable." 2020-03-19 11:12:09 +00:00
Junyu Lai
b3c511d028 Merge changes I7eaca623,Ic94da540,If330e853,Ie2d229be,Ic6b2f10f
* changes:
  [SM08] Add NetworkTemplate unit test for fetching mobile data usage
  [SM07] Make combine subtype configurable from Settings
  [SM05] Enable record mobile network stats by collapsed rat type
  [SM04] Support fetching data with NetworkTemplate with subType
  [SM02] Support record mobile network stats by collapsed rat type
2020-03-19 09:10:57 +00:00
Zoey Chen
1859e648d6 Merge "[TelephonyMainline] @hide @SystemApi and revisit them in S. - CarrierColumns" 2020-03-19 06:21:35 +00:00
Jack Yu
28a33a26c2 Merge "Fixed the doc" 2020-03-19 05:24:31 +00:00
Lorenzo Colitti
c2083f4503 Merge "Document the arguments to SocketUtils.makePacketSocketAddress." 2020-03-19 05:16:39 +00:00
Jack Yu
930570e656 Added todo work
Added todo work to deprecate the broadcasted flag, which is
essentially replaced by the displayed flag.

Test: None
Bug: 143229383
Merged-In: I3907d0d76166a768e57bfa420855e6a0563968a8
Change-Id: I3907d0d76166a768e57bfa420855e6a0563968a8
(cherry picked from commit c38a70a946)
2020-03-18 21:46:17 -07:00
Jack Yu
f86bf75928 Fixed the doc
Added extra information

Test: None
Bug: 150126754
Merged-In: Ice5032ba84a24dd5d9091f80303ccbbc3bd1ff20
Change-Id: Ice5032ba84a24dd5d9091f80303ccbbc3bd1ff20
(cherry picked from commit f23e44e84b)
2020-03-18 21:34:32 -07:00
Lorenzo Colitti
4920ee68a0 Document the arguments to SocketUtils.makePacketSocketAddress.
Test: m
Bug: 149015112
Change-Id: I4e0fb6fc66ef488cfa8a57a2c2536c2a625a4512
2020-03-19 02:13:27 +00:00
junyulai
b56b6138bf [SM07] Make combine subtype configurable from Settings
Note that enabling/disabling would not take effect until device
reboot. This will be addressed in follow-up patch.

Test: 1. atest NetworkStatsServieTest SettingsBackupTest
      2. adb shell settings put global netstats_combine_subtype_enabled 1|0
Bug: 146415925

Change-Id: Ic94da540afa479ed18f1b6fbda4ae3216c37476b
Merged-In: Ic94da540afa479ed18f1b6fbda4ae3216c37476b
(cherry picked from commit c4f77ac90b and
 fix merge conflict in SettingsBackupTest)
2020-03-19 10:10:07 +08:00
junyulai
3f4d4c1500 [SM05] Enable record mobile network stats by collapsed rat type
Switch on the recording in device side. Metrics will be
collected in follow-up patches which can be independently
enabled/disabled.

This change also fix the fail in NetworkStatsCollectionTest
which caused by enabling this feature, where the rounding
problem happened when records are distributed into smaller
buckets and categorized into more NetworkIdentity.

Test: atest FrameworksNetTests
Bug: 129082217
Change-Id: If330e85330a4ff713dd420c98d42fa741eabd90a
Merged-In: If330e85330a4ff713dd420c98d42fa741eabd90a
(cherry picked from commit 2d4fa2c0fa)
2020-03-19 10:10:07 +08:00
junyulai
3682e8f0df [SM04] Support fetching data with NetworkTemplate with subType
Add a NetworkTemplate build function that allows user to specify
subType. NetworkStats corresponding to the same group would
be retrieved.

Test: atest FrameworksNetTests
Bug: 129082217

Change-Id: Ie2d229be0b6bd239f799989c070475c73a096d71
Merged-In: Ie2d229be0b6bd239f799989c070475c73a096d71
(cherry picked from commit e19045cc4a)
2020-03-19 10:10:07 +08:00
junyulai
214e8fa386 [SM02] Support record mobile network stats by collapsed rat type
Previously network stats could be recorded by different rat type.
However, the feature was disabled by ag/173504 since rat type
frequently flapping between HSPA+ and UMTS.

Given that this feature might be useful for collecting metrics,
re-implement it based on current architecture and reduce the
overhead introduced by frequently flapping by:
  1. only react when rat type changes between 2G/3G/4G/5G.
  2. reduce the number of records by only recording a subset
     of rat type that represented for a given network class.
  3. enforce 1 second rate limit if flapping too much.

Note that the feature is still disabled but will be enabled
in follow-up patches.

Test: manual test
Bug: 129082217
Change-Id: Ic6b2f10f2c8b082820e0662eb9cee70d70d28cd6
Merged-In: Ic6b2f10f2c8b082820e0662eb9cee70d70d28cd6
(cherry picked from commit 15ab452e7e)
2020-03-19 10:10:07 +08:00
Treehugger Robot
0d56f6c047 Merge "Revert "Revert "Require user pass in a non-null BluetoothDevice ..."" 2020-03-19 01:36:09 +00:00
Paul Hu
8ba389de1c Merge "Kill ConnectivityManager.CONNECTIVITY_ACTION_SUPL" 2020-03-19 01:10:55 +00:00
Lorenzo Colitti
da4fe152c4 Make Ethernet interfaces more testable.
This CL adds a setIncludeTestInterfaces method to EthernetManager
that, when called, causes the Ethernet service to recognize and
manage test interfaces created by TestNetworkManager.

Bug: 150644681
Test: Tested by EthernetTetheringTest in same topic
Change-Id: I86eef7a93267f800dbfc8eafd307effa76a344ca
2020-03-19 09:46:37 +09:00
Nathan Harold
2ea0b56cff Merge changes from topics "barring-cp", "nri-rplmn"
* changes:
  Allow Nullable Registered PLMN
  Return the RPLMN from NetworkRegistrationInfo
  Expose PreciseDataConnectionstate#getApnSetting()
  Skip sanitizing location info for Null Barring CID
  Remove BarringInfo#isServiceBarred()
  Introduce a new RIL request constant to support getBarringInfo.
  Update BarringInfo as Barring HAL date stuctures updated
  Add a BARRING_TYPE_UNKNOWN for Unreported Barring
  Add Callback to notify changes of barring status
2020-03-18 23:41:57 +00:00
Cody Kesting
8fcc76839f Change NetworkCapabilties administrator UIDs to be stored as int[].
NetworkCapabilities#mAdministratorUids is used to track the UIDs that
are administrators of the given Network. This value was previously
stored as List<Integer>. However, general Android API Council guidelines
recommend using Arrays for primitive values. In order to be consistent
with the guidelines, updating the field to use an Array.

Bug: 147903575
Test: atest FrameworksNetTests
Change-Id: I2652a5b0f276b8944454af5cb4b1383a3e054cfa
Merged-In: I2652a5b0f276b8944454af5cb4b1383a3e054cfa
2020-03-18 15:18:47 -07:00
sqian
a64f352596 API Council Feedbacks
1) Add Annotation for getCarrirPrivilegeStatus
2) Remove NullProinterException throwing in isDataConnectionAllowed
3) Add SdkConstant for ACTION_UPDATE_EMRGENCY_NUMBER_DB

Test: Treehugger
Bug: 148218347
Bug: 151455822
Change-Id: I4943491abf70641f9379862a67941295a4cf67f9
Merged-In: I4943491abf70641f9379862a67941295a4cf67f9
(cherry picked from commit 43c2f470ed)
2020-03-18 18:28:21 +00:00
Rahul Sabnis
cd3bee95ed Revert "Revert "Require user pass in a non-null BluetoothDevice ..."
Revert "Revert "Pass in active device to all BluetoothA2dp APIs ..."

Revert "Revert "Pass in active device to all BluetoothA2dp APIs ..."

Revert submission 10303287-revert-10253996-bt-a2dp-no-null-FQRXACWPIA

Reason for revert: Fixing breakage
Reverted Changes:
I4d9f2f819:Revert "Make sure calls to BluetoothA2dp APIs pass...
I771ca0d57:Revert "Need to now pass in active device instead ...
I76529c7a1:Revert "Pass in active device to all BluetoothA2dp...
I297bda68d:Revert "Require user pass in a non-null BluetoothD...
I525327959:Revert "Pass in active device to all BluetoothA2dp...
I1d8660b11:Revert "Pass in active device to all BluetoothA2dp...

Bug: 147287141
Test: Manual
Merged-In: I91ee6878cac1b84bd289278a1b965658a26fe4db
Merged-In: I4d7d971af75bff8967fd807d34dad90c32e24eba
Change-Id: I4d7d971af75bff8967fd807d34dad90c32e24eba
2020-03-18 11:10:24 -07:00
Nathan Harold
61b5d6741b Add Callback to notify changes of barring status
-Create a BarringInfo class to pass Barring information
 from HAL to PhoneStateListener.
-Add a multi-callback registrant so that ServiceStateTracker
 and potentially DcTracker can also listen to barring info in
 the future.

Bug: 143226991
Test: make update-api && make && atest BarringInfoTest
Merged-In: I08240259f3142beeca991238bf705236f0303954
Change-Id: I08240259f3142beeca991238bf705236f0303954
2020-03-18 09:52:10 -07:00
Amit Mahajan
0aa828ab5d Merge "Revert "Expose ACTION_USER_SWITCHED as system API"" 2020-03-18 15:31:08 +00:00
zoey chen
c73028e9f2 [TelephonyMainline] @hide @SystemApi and revisit them in S. - CarrierColumns
Test: manual
Bug: 144455212
Change-Id: I719ee0a4d23dcb7786954fe2741f3830d3d3a5bc
Merged-In: I719ee0a4d23dcb7786954fe2741f3830d3d3a5bc
2020-03-18 11:55:54 +00:00
Lorenzo Colitti
47c884dc67 Merge "mtu: Add MTU parameter to Routes" 2020-03-18 07:20:01 +00:00
Junyu Lai
2c7aa1f5ab Merge "[SP25] Rename functions that add Entry conditionally" 2020-03-18 03:16:41 +00:00
junyulai
5a1b9fce65 [SP25] Rename functions that add Entry conditionally
Currently, in NetworkStats, there are many methods to manipulate
the records. However, some methods are similar and ambiguous,
such as addEntry, addValues, setValues, addIfaceValues,
combineValues and combineAllValues.

Thus, properly grouping and renaming methods are necessary.
In this change, for methods that add one record conditionally,
name them addEntry.
  addValues -> addEntry

Test: atest FrameworksNetTests ImsPhoneCallTrackerTest TetheringTests
Fix: 148895143
Change-Id: I9495a198cf247e6c79100f7ac1edcea370b071de
Merged-In: I9495a198cf247e6c79100f7ac1edcea370b071de
(cherry picked from ag/10700816)
2020-03-18 00:29:15 +00:00