Skip to content
Snippets Groups Projects
  1. Apr 07, 2023
    • Chalard Jean's avatar
      Restore the null behavior of buildWifiTemplate · 843cd6ca
      Chalard Jean authored
      The old behavior was to only return those wifis that have
      a null key/subscriber ID (e.g. not carrier wifi). To keep
      backward compatibility, restore that behavior.
      
      Also only crash the old methods on devices with initial
      SDK U, because it can't be mandated that devices that
      upgrade must not call these methods.
      
      Bug: 273963543
      Test: FrameworksNetTests
      Merged-In: Iefb976ed86a732158964fae38e9e601001c2637a
      Change-Id: Iefb976ed86a732158964fae38e9e601001c2637a
      843cd6ca
  2. Mar 30, 2023
    • Junyu Lai's avatar
      Do not crash when passing null into buildTemplateMobileAll · 2c12f922
      Junyu Lai authored
      Test: atest FrameworksNetTests:android.net.connectivity.android.net.NetworkTemplateTest
      Test: atest FrameworksNetTests:android.net.connectivity.android.net.netstats.NetworkTemplateTest
      Bug: 273963543
      Change-Id: I0a8f94df124147e92d35cf474b3d69d1dee6902c
      2c12f922
  3. Mar 24, 2023
  4. Mar 23, 2023
    • Remi NGUYEN VAN's avatar
      Add back @hide NetworkTemplate methods · 37c4a9f2
      Remi NGUYEN VAN authored
      Add back methods that were removed in recent refactoring
      (aosp/2286634).  Even though they are fully @hide, some usage by
      an OEM has been found on T.
      
      Test: atest; the methods should be unused except on the OEM device
      Change-Id: Icd67fb8b7e63cc131356a30a3044458ae2f5efff
      37c4a9f2
  5. Mar 22, 2023
  6. Mar 17, 2023
    • Paul Hu's avatar
      Add a CompatChange flag to enable platform backend · 2e0a88c0
      Paul Hu authored
      Apps targeting sdk < U are considered to use a legacy native
      daemon as NsdManager backend, but other apps use a
      platform-integration mDNS implementation as backend. So add a
      CompatChange flag to enable platform backend for non-legacy
      apps.
      
      Bug: 270306772
      Test: atest FrameworksNetTests CtsNetTestCases
      Change-Id: I7ba58f8a5186fb49ad5f8aeacc8b8234bef1eabe
      2e0a88c0
  7. Mar 15, 2023
    • Anton Hansson's avatar
      Use filegroup defaults for framework sources · 57f3d69f
      Anton Hansson authored
      There's now a shared defaults module for this kind of filegroup. Use
      that and remove the previously duplicated prop.
      
      Bug: 271816210
      Test: m
      Change-Id: Ia4547984a73179fdfc98c427482dd10246f9722c
      57f3d69f
  8. Mar 07, 2023
    • Aaron Huang's avatar
      Remove requireNonNull check from matchesWifiNetworkKey · 8ac11435
      Aaron Huang authored
      matchesWifiNetworkKey expects a non-null value of the
      wifiNetworkKey, however, it might be null in practice
      and the null wifiNetworkKey will be stored into disk.
      And then when the matchesWifiNetworkKey is called, the
      requireNonNull will crash the system. Thus, remove the
      requireNonNull from matchesWifiNetworkKey to avoid
      system crash and handle if the wifiNetworkKey is null
      then it should not match a template with non-empty
      mMatchWifiNetworkKeys.
      
      Check if WifiInfo contains a null network key then skip it
      to prevent adding the identity to the network identity set.
      Also, add a Log.wtf when setWifiNetworkKey(info.getNetworkKey()),
      this might be useful to catch why the wifiNetworkKey is
      null.
      
      Bug: 267815242
      Bug: 266598304
      Test: FrmeworksNetTests
      Change-Id: I9c21f7e3dca9482133c7e331741cf808105414e9
      8ac11435
  9. Mar 06, 2023
    • Cole Faust's avatar
      Compile HalfSheetUX against framework-connectivity-t.impl · 41228921
      Cole Faust authored
      HalfSheetUX uses private apis of framework-connectivity-t. It appears
      that using just "framework-connectivity-t" will compile against either
      the stubs or source of framework-connectivity-t depending on if the
      module was included in the same apex as it or not.
      
      aosp/2462194 is adding the ability to compile modules like HalfSheetUX
      outside of the context of the apex, at which point it will start
      compiling against stubs if we don't explicetly specify to use the
      implementation library.
      
      Bug: 254205429
      Test: m javac-check with aosp/2462194
      Change-Id: I1d41e47aa0e4e3d320b78b28cfc181fc30c4537c
      Merged-In: I1d41e47aa0e4e3d320b78b28cfc181fc30c4537c
      41228921
    • Paul Hu's avatar
      Migrate reigster service callback backend · 30bd70d1
      Paul Hu authored
      registerServiceInfoCallback currently only sends updates for
      addresses added, but does not handle removes (expiration) and
      TXT/SRV record updates. Thus, migrate its backend to
      MdnsDiscoveryManager which can support the expiration update.
      
      Bug: 266030646
      Test: atest FrameworksNetTests CteNetTestCases
      Change-Id: I72add213935dc1beacb6277007868ad30bd89c00
      30bd70d1
  10. Mar 03, 2023
    • Junyu Lai's avatar
      Add constructor which used by Android T CTS · 84b5936e
      Junyu Lai authored
      aosp/2241257 and aosp/2241058 are included in the mainline train
      release and it causes the T device can’t pass CTS-13_R2/CTS-13_R3.
      It’s because some parameters of the constructor have been removed.
      
      Add it back to keep backward compatibility.
      
      Test: 1. atest CtsNetTestCases:android.net.netstats.NetworkTemplateTest
            2. CTS-13_R3
      Fix: 269974916
      Fix: 269834366
      Change-Id: I197fbfb8419e4d4885a97a93a71f13d33c3f02da
      84b5936e
    • Aaron Huang's avatar
      Add some hidden APIs back to NetworkTemplate · 960c6267
      Aaron Huang authored
      Since there's a bug about apps still call hidden
      APIs, it's likely some developers might build apps
      against hidden API.
      To be safe, add these methods back to avoid apps
      crash. These methods are still in
      hiddenapi-max-target-o-low-priority.txt, so they
      should not be removed without considering hidden
      API usage. Removing hidden API in general isn't
      forbidden, but the ones listed in hiddenapi usage
      need extra care.
      
      Bug: 269178029
      Test: 1. atest CtsNetTestCases:android.net.netstats.NetworkTemplateTest
            2. CTS-13_R3
      Change-Id: I485369274ccacd314230e3d267df665d8083bf97
      960c6267
  11. Mar 01, 2023
    • Junyu Lai's avatar
      Clear calling identity before calling into DPM · 09330c43
      Junyu Lai authored
      Test: 1. manual test with test app
            2. atest CtsNetTestCases:android.net.cts.NetworkStatsManagerTest
      Fix: 249920382
      Fix: 269561252
      Change-Id: I4af7fd640d551be3ef62ea248e58bf8bae5e0b87
      09330c43
  12. Feb 21, 2023
    • Aaron Huang's avatar
      Add isMatchRuleMobile back · dc979057
      Aaron Huang authored
      There's a user still call this method which causes the app
      crash and it might be the app was built against hidden API.
      The bug was observed after updating the mainline module so
      adding this method back to the module to avoid apps crash
      due to the method is not found in NetworkTemplate.
      
      Bug: 269178029
      Test: build
      Change-Id: I06dc694b1ce060488135f5d34138f14abd50ad32
      dc979057
    • Aaron Huang's avatar
      Fix backward compatibility issue for removed wildcard match rule · 69086d6c
      Aaron Huang authored
      A template with type MATCH_MOBILE could have empty subscriber
      IDs but it should not contain one of subscriber IDs is null.
      
      An app might still build a template through the constructor
      which is annotated with @UnsupportedAppUsage. NetworkTemplate
      will throw an exception when the app trying to construct a
      template with type *_WILDCARD. The constructor should be
      backward compatible with old version so this change is to add
      the backward compatibility to have NetworkTemplate not throw
      an exception.
      
      Bug: 267701889
      Test: FrameworksNetTests
      Change-Id: I23a607dae508e0c53520e2edf187cb611ed36b68
      69086d6c
  13. Feb 10, 2023
    • Aaron Huang's avatar
      Tempates with different subscriber ID should be not equal · c9371d05
      Aaron Huang authored
      mSubscriberId was removed from NetworkTemplate and equals/hashCode
      does not check the mMatchSubscriberIds. This will cause tempates
      with different subscriber ID matching that are equal now. Thus
      adding the check for mMatchSubscriberIds to fix it.
      
      Bug: 267968247
      Test: FrameworksNetTests:NetworkTemplateTest
      Change-Id: I2956bf4c8cf2c4d73ebe102d53e755fbcc5d7642
      c9371d05
  14. Feb 09, 2023
    • Yuyang Huang's avatar
      Moves all compatibility flags to ConnectivityCompatChanges.java · 90a2cbdd
      Yuyang Huang authored
      ConnectivityCompatChanges.java becomes the centralized place for all the
      CompatChanges used in the Connectivity module. By putting all the
      CompatChanges here, we are able to manage them under a single
      platform_compat_config.
      
      Bug: 268440216
      Test: atest FrameworksNetTests
      Change-Id: I3e17af545718073d7d1c96e27298e7790563fd33
      90a2cbdd
  15. Jan 30, 2023
    • Paul Hu's avatar
      Rename onResolveStopped to onResolutionStopped · b2c0f340
      Paul Hu authored
      Rename the method onResolveStopped(NsdServiceInfo) to
      onResolutionStopped(NsdServiceInfo) for consistency as API
      review feedback.
      
      Bug: 266811051
      Test: atest FrameworksNetTests CtsNetTestCases
      Change-Id: I788b5903ecaf78a9aa960dd3b7413a22f171c72f
      b2c0f340
  16. Jan 19, 2023
    • Paul Hu's avatar
      New API to listen service update · 18aecccc
      Paul Hu authored
      Currently, the resolution is a one shot query, it only notifies
      the first finding service information. There is no way to listen
      the service update. Thus, add a new API that can register a
      callback to listen to the service updates continuously.
      
      Bug: 245369943
      Test: atest FrameworksNetTests CtsNetTestCases
      Change-Id: I0e9d92b9028375feb3e344ab6c4acb515c5b2be9
      18aecccc
  17. Jan 18, 2023
    • Paul Hu's avatar
      New API to stop service resolution · b58deb70
      Paul Hu authored
      Resolve service may take long time due to network issue or
      using wrong service information, but users are not able to stop
      it. They can only wait for the callback of resolveService to end,
      which sometimes takes a long time. Thus, add the new API that
      users can stop the service resolution.
      
      Bug: 245369943
      Test: atest FrameworksNetTests CtsNetTestCases
      Change-Id: I6b6183c8c73f8db981b9afa51fbc73bf886d9ed3
      b58deb70
  18. Jan 17, 2023
    • Paul Hu's avatar
      Implement service resolved callback · 75069ed4
      Paul Hu authored
      Service resolved should be notified when receive the
      onServiceFound callbacks from MdnsServiceBrowserListener
      
      Bug: 254166302
      Test: atest FrameworksNetTests CtsNetTestCases
      Change-Id: I681720065084bf3449c5b1ab44cd4ed6a659dcdb
      75069ed4
    • Paul Hu's avatar
      Implement service found callback · 019621e0
      Paul Hu authored
      Service found should be notified when receives the
      onServiceNameDiscovered callbacks from
      MdnsServiceBrowserListener.
      
      Bug: 254166302
      Test: atest FrameworksNetTests CtsNetTestCases
      Change-Id: I3f41b4fe85cd85ad356fa764663187a88914412c
      019621e0
    • Paul Hu's avatar
      Use MdnsDiscoveryManager for discovery · 23fa2024
      Paul Hu authored
      Register/Unregister the listener to/from MdnsDiscoveryManager
      when discovery started/stopped.
      
      Bug: 254166302
      Test: atest FrameworksNetTests CtsNetTestsCases
      Change-Id: Ibd782029826ac5856c608165928cd942e46dd9a4
      23fa2024
  19. Jan 10, 2023
    • Yan Yan's avatar
      Expose APIs to migrate IpSecTransform · 81c2160a
      Yan Yan authored
      This commit exposes APIs to migrate a tunnel mode transform to
      new source/destination addresses, as required by MOBIKE.
      
      By calling the exposed API, the caller only caches the new
      address in the transform. To complete the migration, caller
      MUST apply the tranform to the appropriate tunnel.
      
      This API design is mainly based on the kernel interface and use
      cases. The Linux kernel requires Android to provide both the
      IpSecTransform and the IpSecTunnelInterface to perform the
      migration. And in most cases those two instances are managed
      by different entities: IpSecTranform is managed by the key
      exchange protocol (e.g. IKE) and IpSecTunnelInterface is managed by
      the security tunnel provider (e.g. VPN, VCN, and IWLAN). Thus the
      migration process has been designed to have two steps where the
      key exchange protocol negotiates and caches the new address,
      passes out the updated transform, and the security tunnel
      provider applies the transform to a tunnel.
      
      Another benefit of this API is it can also apply to the case
      where the network peer does not support MOBIKE and thus cannot
      update the existing transforms. In this case, the key exchange
      protocol can create a new transform and give it to the security
      tunnel provider, and the tunnel provider can still call "apply"
      to perform migration without needing to know the details of the
      transform update process.
      
      Bug: 169171001
      Test: atest FrameworksNetTests, IpSecManagerTunnelTest
      Change-Id: I0658cdb09fb31f7e0fb9d0b07f37c2b72b6e705f
      81c2160a
  20. Jan 07, 2023
    • Maciej Żenczykowski's avatar
      fix argument to CloseGuard.open() · 40112289
      Maciej Żenczykowski authored
      
      Based on documentation, String parameter to CloseGuard.open() should be the name of the method to close the resource (in this case Resource.close()).
      
      As currently written, the debug output from warnIfOpen() will be "Resource failed to call constructor."
      
      Bug: 131838407
      Test: TreeHugger
      Signed-off-by: default avatarMaciej Żenczykowski <maze@google.com>
      Change-Id: I25f005a7944bf3995ae6dc4c021ed1034f2187dd
      40112289
    • Maciej Żenczykowski's avatar
      fix argument to CloseGuard.open() · 223b5cc3
      Maciej Żenczykowski authored
      
      Based on documentation, String parameter to CloseGuard.open() should be the name of the method to close the resource (in this case Resource.close()).
      
      As currently written, the debug output from warnIfOpen() will be "Resource failed to call constructor."
      
      Bug: 131838407
      Test: TreeHugger
      Signed-off-by: default avatarMaciej Żenczykowski <maze@google.com>
      Change-Id: I9b8a71f9076712014bb883bbde5e5fbdb018b2d5
      223b5cc3
  21. Dec 28, 2022
    • Aaron Huang's avatar
      Remove *_WILDCARD constants from NetworkTemplate · ece18199
      Aaron Huang authored
      NetworkTemplate was moved into mainline module and
      provide Builder for external users to build template.
      MATCH_MOBILE_WILDCARD and MATCH_WIFI_WILDCARD are not
      exposed so currently the usage of these two constants
      only in module. This change is to remove the constants.
      
      After removing the constants, two methods matchesWifi
      and matchesMobile are changed to adapt the original
      matches[Wifi|Mobile]Wildcard behavior.
      
      Bug: 238843364
      Test: FrameworksNetTests
      Change-Id: I9e156b504ce4eb903b39279e443fad27bc921186
      ece18199
    • Aaron Huang's avatar
      Remove mSubscriberId from NetworkTemplate · ee23c031
      Aaron Huang authored
      Currently NetworkTemplate provides Builder for users to build a
      template and it supports multiple subscriber ids. The mSubscriberId
      is a local variable in current design so it can be removed from
      NetworkTemplate and also can be removed from the parameter of a
      constructor as long as the constructor is not annotated with
      @UnsupportedAppUsage.
      
      Bug: 238843364
      Test: build, FrameworksNetTests
            CtsNetTestCases
      Change-Id: Ic6a695e1c1719111bf26ba905a38673952a24736
      ee23c031
    • Aaron Huang's avatar
      Remove mSubscriberIdMatchRule from NetworkTemplate · 4854d055
      Aaron Huang authored
      Currently, mSubscriberIdMatchRule is only used in NetworkTemplate
      and it depends on if mMatchSubscriberIds is empty or not. Thus,
      remove it since is not really necessary and replace it with
      checking matchSubscriberIds if needed.
      
      Bug: 238843364
      Test: build, FrameworksNetTests
            CtsNetTestCases
      Change-Id: Ic66d2ff2826846778b004bb15a4718a62fa1f470
      4854d055
  22. Dec 21, 2022
  23. Dec 02, 2022
    • Aaron Huang's avatar
      Revert consider TEMPORARILY_NOT_METERED as unmetered in data usage · c5a05d1d
      Aaron Huang authored
      Currently, NET_CAPABILITY_TEMPORARILY_NOT_METERED traffic is
      counted as unmetered data usage, and "mobile data usage"
      settings screen shows metered data usage which means it doesn't
      include TEMPORARILY_NOT_METERED traffic. However, some carriers
      show TEMPORARILY_NOT_METERED data usage in customer's bill which
      would be confusing if the data usage in the device shows different
      results. Thus, revert the change to avoid confusing.
      
      Bug: 183776809
      Test: FrameworksNetTests
      Change-Id: I4ef25095462adf30b1ecf82134996739f167930d
      c5a05d1d
  24. Nov 30, 2022
    • Aaron Huang's avatar
      Make mMatchSubscriberIds as a NonNull variable · 859884a4
      Aaron Huang authored
      In current design, mMatchSubscriberIds can be null which has the
      same meaning with empty set, and is not easy to maintain since it
      need more checks for this variable when mSubscriberId is null.
      Thus make mMatchSubscriberIds NonNull for the maintenance.
      
      Bug: 238843364
      Test: build, FrameworksNetTests
      Change-Id: I6cfc529b5f4a39ded8598283ff968f2f4d1bc89f
      859884a4
    • Aaron Huang's avatar
      Remove unused methods from NetworkTemplate · a8a6da0d
      Aaron Huang authored
      NetworkTemplate.Builder was introduced in Android T and the callers
      outside of Connectivity module should use this Builder to build a
      template instead. Thus remove the buildTemplate* methods from
      NetworkTemplate class. Also, deprecate the methods which are
      annotated with @UnsupportedAppUsage and also use Builder to build
      the template.
      
      Bug: 238843364
      Test: build, FrameworksNetTests
      Change-Id: I3190325f6663e4771edf5c7a19bf5ecc7780bf12
      a8a6da0d
  25. Nov 09, 2022
  26. Nov 02, 2022
    • Cole Faust's avatar
      Fix errorprone warnings that should be errors · 22f05839
      Cole Faust authored
      This commit is part of a large scale change to fix errorprone
      errors that have been downgraded to warnings in the android
      source tree, so that they can be promoted to errors again.
      The full list of changes include the following, but not all
      will be present in any one individual commit:
      
      BadAnnotationImplementation
      BadShiftAmount
      BanJNDI
      BoxedPrimitiveEquality
      ComparableType
      ComplexBooleanConstant
      CollectionToArraySafeParameter
      ConditionalExpressionNumericPromotion
      DangerousLiteralNull
      DoubleBraceInitialization
      DurationFrom
      DurationTemporalUnit
      EmptyTopLevelDeclaration
      EqualsNull
      EqualsReference
      FormatString
      FromTemporalAccessor
      GetClassOnAnnotation
      GetClassOnClass
      HashtableContains
      IdentityBinaryExpression
      IdentityHashMapBoxing
      InstantTemporalUnit
      InvalidTimeZoneID
      InvalidZoneId
      IsInstanceIncompatibleType
      JUnitParameterMethodNotFound
      LockOnBoxedPrimitive
      MathRoundIntLong
      MislabeledAndroidString
      MisusedDayOfYear
      MissingSuperCall
      MisusedWeekYear
      ModifyingCollectionWithItself
      NoCanIgnoreReturnValueOnClasses
      NonRuntimeAnnotation
      NullableOnContainingClass
      NullTernary
      OverridesJavaxInjectableMethod
      ParcelableCreator
      PeriodFrom
      PreconditionsInvalidPlaceholder
      ProtoBuilderReturnValueIgnored
      ProtoFieldNullComparison
      RandomModInteger
      RectIntersectReturnValueIgnored
      ReturnValueIgnored
      SelfAssignment
      SelfComparison
      SelfEquals
      SizeGreaterThanOrEqualsZero
      StringBuilderInitWithChar
      TreeToString
      TryFailThrowable
      UnnecessaryCheckNotNull
      UnusedCollectionModifiedInPlace
      XorPower
      
      See https://errorprone.info/bugpatterns for more
      information on the checks.
      
      Bug: 253827323
      Test: m RUN_ERROR_PRONE=true javac-check
      Change-Id: I7625fa386afe93823b97cb2ecb8fd09a5856c05b
      22f05839
  27. Oct 12, 2022
  28. Sep 13, 2022
    • Paul Duffin's avatar
      Make the hiddenapi*-tiramisu.txt files part of framework-connectivity-t · c8164e49
      Paul Duffin authored
      Previously, the hiddenapi*-tiramisu.txt files that were created as part
      of the work for creating framework-connecvity-t were just added to the
      list of hidden API files on the bootclasspath_fragment. Unfortunately,
      that made it impossible to exclude those when generating an sdk
      snapshot for S which cannot include framework-connectivity-t.
      
      This change moves those files to be part of framework-connectivity-t
      instead of the bcpf so that they will only be used in an sdk snapshot
      when the library is part of the snapshot.
      
      Bug: 240406019
      Test: packages/modules/common/build/mainline_modules_sdks.sh
            # Ran the previous command with and without this change to make
            # sure that this change does not change the sdk snapshot
            # contents. A follow up change will exclude the
            # framework-connectivity-t library from the S sdk snapshot.
      Change-Id: Ib5c5c6046d96b911c8e9e5ac3729ce963f1b6907
      c8164e49
  29. Aug 29, 2022
    • Junyu Lai's avatar
      [ST01] Attributes data usage of test network by specifier · c9f1ca62
      Junyu Lai authored
      Currently, data usage of all test networks are all attributed to
      the same NetworkIdentity, which does not allow services to
      distinguish upload & download traffic of different test networks.
      
      Thus, this CL put specifier that comes along with
      TestNetworkAgent into wifiNetworkKey field to build different
      NetworkIdentity to attribute data usage to different for
      individual networks. And allow querying test network usage with
      wifiNetworkKeys.
      
      Bug: 139774492
      Test: atest FrameworksNetTests
            atest android.net.cts.ConnectivityManagerTest
      Change-Id: I1bb38fd20781eaf3105735440a04b27bef36fcae
      c9f1ca62
  30. Aug 03, 2022
    • Remi NGUYEN VAN's avatar
      Only use framework-connectivity stubs for -t stubs · 77d4c4ef
      Remi NGUYEN VAN authored
      Do not use framework-connectivity stubs for
      framework-connectivity-t-pre-jarjar, as that library can build against
      the full framework-connectivity implementation including hidden symbols:
      it already builds against framework-connectivity-pre-jarjar.
      
      The stubs are only necessary to build framework-connectivity-t stubs, to
      avoid circular dependencies between these and the framework-connectivity
      implementation.
      
      This change allows using hidden symbols of framework-connectivity in
      framework-connectivity-t-pre-jarjar, but does not fully fix the problem
      as framework-connectivity-t will use the framework-connectivity stubs
      both to build its own stubs and to build its implementation library, due
      to "libs" being used in both cases (and prioritized over
      impl_only_libs). As a result, it is still not possible to build
      framework-connectivity-t when it references hidden symbols of classes
      that are also part of the stubs. Still, this is a first step and
      organizes the build rules closer to what they should be.
      
      Bug: 139774492
      Test: m
      Change-Id: I5e696fa6a7871d048e0ba16442de33b5f139faae
      77d4c4ef
Loading