Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c6c68a4e authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "Support static address configuration" am: 81ab4871 am: 33624ce0 am:...

Merge "Support static address configuration" am: 81ab4871 am: 33624ce0 am: 1cc5aa4e am: 0a2db46d

Change-Id: I112214162c581db7bfd8a588cf551b5ce554979c
parents 2d70ac09 0a2db46d
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -127,9 +127,11 @@ package android.net {
  public static class TetheringManager.TetheringRequest.Builder {
    ctor public TetheringManager.TetheringRequest.Builder(int);
    method @NonNull public android.net.TetheringManager.TetheringRequest build();
    method @Nullable public android.net.LinkAddress getClientStaticIpv4Address();
    method @Nullable public android.net.LinkAddress getLocalIpv4Address();
    method @NonNull @RequiresPermission("android.permission.TETHER_PRIVILEGED") public android.net.TetheringManager.TetheringRequest.Builder setExemptFromEntitlementCheck(boolean);
    method @NonNull @RequiresPermission("android.permission.TETHER_PRIVILEGED") public android.net.TetheringManager.TetheringRequest.Builder setSilentProvisioning(boolean);
    method @NonNull @RequiresPermission("android.permission.TETHER_PRIVILEGED") public android.net.TetheringManager.TetheringRequest.Builder useStaticIpv4Addresses(@NonNull android.net.LinkAddress);
    method @NonNull @RequiresPermission("android.permission.TETHER_PRIVILEGED") public android.net.TetheringManager.TetheringRequest.Builder setStaticIpv4Addresses(@NonNull android.net.LinkAddress, @NonNull android.net.LinkAddress);
  }

}
+3 −1
Original line number Diff line number Diff line
@@ -6604,9 +6604,11 @@ package android.net {
  public static class TetheringManager.TetheringRequest.Builder {
    ctor public TetheringManager.TetheringRequest.Builder(int);
    method @NonNull public android.net.TetheringManager.TetheringRequest build();
    method @Nullable public android.net.LinkAddress getClientStaticIpv4Address();
    method @Nullable public android.net.LinkAddress getLocalIpv4Address();
    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setExemptFromEntitlementCheck(boolean);
    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setSilentProvisioning(boolean);
    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder useStaticIpv4Addresses(@NonNull android.net.LinkAddress);
    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setStaticIpv4Addresses(@NonNull android.net.LinkAddress, @NonNull android.net.LinkAddress);
  }
  public class TrafficStats {
+3 −1
Original line number Diff line number Diff line
@@ -1978,9 +1978,11 @@ package android.net {
  public static class TetheringManager.TetheringRequest.Builder {
    ctor public TetheringManager.TetheringRequest.Builder(int);
    method @NonNull public android.net.TetheringManager.TetheringRequest build();
    method @Nullable public android.net.LinkAddress getClientStaticIpv4Address();
    method @Nullable public android.net.LinkAddress getLocalIpv4Address();
    method @NonNull @RequiresPermission("android.permission.TETHER_PRIVILEGED") public android.net.TetheringManager.TetheringRequest.Builder setExemptFromEntitlementCheck(boolean);
    method @NonNull @RequiresPermission("android.permission.TETHER_PRIVILEGED") public android.net.TetheringManager.TetheringRequest.Builder setSilentProvisioning(boolean);
    method @NonNull @RequiresPermission("android.permission.TETHER_PRIVILEGED") public android.net.TetheringManager.TetheringRequest.Builder useStaticIpv4Addresses(@NonNull android.net.LinkAddress);
    method @NonNull @RequiresPermission("android.permission.TETHER_PRIVILEGED") public android.net.TetheringManager.TetheringRequest.Builder setStaticIpv4Addresses(@NonNull android.net.LinkAddress, @NonNull android.net.LinkAddress);
  }

  public class TrafficStats {
+33 −3
Original line number Diff line number Diff line
@@ -512,19 +512,36 @@ public class TetheringManager {
                mBuilderParcel = new TetheringRequestParcel();
                mBuilderParcel.tetheringType = type;
                mBuilderParcel.localIPv4Address = null;
                mBuilderParcel.staticClientAddress = null;
                mBuilderParcel.exemptFromEntitlementCheck = false;
                mBuilderParcel.showProvisioningUi = true;
            }

            /**
             * Configure tethering with static IPv4 assignment (with DHCP disabled).
             * Configure tethering with static IPv4 assignment.
             *
             * @param localIPv4Address The preferred local IPv4 address to use.
             * The clientAddress must be in the localIPv4Address prefix. A DHCP server will be
             * started, but will only be able to offer the client address. The two addresses must
             * be in the same prefix.
             *
             * @param localIPv4Address The preferred local IPv4 link address to use.
             * @param clientAddress The static client address.
             */
            @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED)
            @NonNull
            public Builder useStaticIpv4Addresses(@NonNull final LinkAddress localIPv4Address) {
            public Builder setStaticIpv4Addresses(@NonNull final LinkAddress localIPv4Address,
                    @NonNull final LinkAddress clientAddress) {
                Objects.requireNonNull(localIPv4Address);
                Objects.requireNonNull(clientAddress);
                if (localIPv4Address.getPrefixLength() != clientAddress.getPrefixLength()
                        || !localIPv4Address.isIpv4() || !clientAddress.isIpv4()
                        || !new IpPrefix(localIPv4Address.toString()).equals(
                        new IpPrefix(clientAddress.toString()))) {
                    throw new IllegalArgumentException("Invalid server or client addresses");
                }

                mBuilderParcel.localIPv4Address = localIPv4Address;
                mBuilderParcel.staticClientAddress = clientAddress;
                return this;
            }

@@ -549,6 +566,18 @@ public class TetheringManager {
            public TetheringRequest build() {
                return new TetheringRequest(mBuilderParcel);
            }

            /** Get static server address. */
            @Nullable
            public LinkAddress getLocalIpv4Address() {
                return mBuilderParcel.localIPv4Address;
            }

            /** Get static client address. */
            @Nullable
            public LinkAddress getClientStaticIpv4Address() {
                return mBuilderParcel.staticClientAddress;
            }
        }

        /**
@@ -563,6 +592,7 @@ public class TetheringManager {
        public String toString() {
            return "TetheringRequest [ type= " + mRequestParcel.tetheringType
                    + ", localIPv4Address= " + mRequestParcel.localIPv4Address
                    + ", staticClientAddress= " + mRequestParcel.staticClientAddress
                    + ", exemptFromEntitlementCheck= "
                    + mRequestParcel.exemptFromEntitlementCheck + ", showProvisioningUi= "
                    + mRequestParcel.showProvisioningUi + " ]";
+1 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import android.net.LinkAddress;
parcelable TetheringRequestParcel {
    int tetheringType;
    LinkAddress localIPv4Address;
    LinkAddress staticClientAddress;
    boolean exemptFromEntitlementCheck;
    boolean showProvisioningUi;
}
Loading