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

Commit 7e31be1c authored by Jack Yu's avatar Jack Yu
Browse files

Added Satellite messaging data support

1. Added RCS APN type which maps to RCS network capability. Note
   This APN type is not specific for satellite uses only. This
   can be used for regular single registration RCS.
2. Added a new tri-state field "infrastructure" in APN entry. The
   infrastructure type can be terrestrial only, non-terrestrial only, or
   both. This is for some APNs can be used when the device is attached
   to satellite.

Fix: 294065845
Test: atest ApnSettingTest DataNetworkControllerTest DataProfileManagerTest
      DataProfileTest TelephonyNetworkRequestTest
Test: Basic phone functionality tests
Change-Id: I15741cbefdb459155e278ef3d197d50c747405f0
parent c74a2cba
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -51,4 +51,5 @@ enum ApnTypes {
  VSIM = (1 << 12) /* 4096 */,
  VSIM = (1 << 12) /* 4096 */,
  BIP = (1 << 13) /* 8192 */,
  BIP = (1 << 13) /* 8192 */,
  ENTERPRISE = (1 << 14) /* 16384 */,
  ENTERPRISE = (1 << 14) /* 16384 */,
  RCS = (1 << 15) /* 32768 */,
}
}
+4 −0
Original line number Original line Diff line number Diff line
@@ -55,6 +55,7 @@ parcelable DataProfileInfo {
  boolean persistent;
  boolean persistent;
  boolean alwaysOn;
  boolean alwaysOn;
  android.hardware.radio.data.TrafficDescriptor trafficDescriptor;
  android.hardware.radio.data.TrafficDescriptor trafficDescriptor;
  int infrastructureBitmap = INFRASTRUCTURE_UNKNOWN /* 0 */;
  const int ID_DEFAULT = 0;
  const int ID_DEFAULT = 0;
  const int ID_TETHERED = 1;
  const int ID_TETHERED = 1;
  const int ID_IMS = 2;
  const int ID_IMS = 2;
@@ -65,4 +66,7 @@ parcelable DataProfileInfo {
  const int TYPE_COMMON = 0;
  const int TYPE_COMMON = 0;
  const int TYPE_3GPP = 1;
  const int TYPE_3GPP = 1;
  const int TYPE_3GPP2 = 2;
  const int TYPE_3GPP2 = 2;
  const int INFRASTRUCTURE_UNKNOWN = 0;
  const int INFRASTRUCTURE_CELLULAR = (1 << 0) /* 1 */;
  const int INFRASTRUCTURE_SATELLITE = (1 << 1) /* 2 */;
}
}
+5 −1
Original line number Original line Diff line number Diff line
@@ -86,5 +86,9 @@ enum ApnTypes {
    /**
    /**
     * APN type for ENTERPRISE
     * APN type for ENTERPRISE
     */
     */
    ENTERPRISE = 1 << 14
    ENTERPRISE = 1 << 14,
    /**
     * APN type for RCS (Rich Communication Services)
     */
    RCS = 1 << 15
}
}
+21 −0
Original line number Original line Diff line number Diff line
@@ -39,6 +39,21 @@ parcelable DataProfileInfo {
    const int TYPE_3GPP = 1;
    const int TYPE_3GPP = 1;
    const int TYPE_3GPP2 = 2;
    const int TYPE_3GPP2 = 2;


    /**
     * Innfrastructure type unknown. This is only for initializing.
     */
    const int INFRASTRUCTURE_UNKNOWN = 0;

    /**
     * Indicating this APN can be used when the device is using terrestrial cellular networks.
     */
    const int INFRASTRUCTURE_CELLULAR = 1 << 0;

    /**
     * Indicating this APN can be used when the device is attached to satellite.
     */
    const int INFRASTRUCTURE_SATELLITE = 1 << 1;

    /**
    /**
     * ID of the data profile.
     * ID of the data profile.
     * Values are ID_
     * Values are ID_
@@ -131,4 +146,10 @@ parcelable DataProfileInfo {
     * apn; apn must be used as the end point if one is not specified through URSP rules.
     * apn; apn must be used as the end point if one is not specified through URSP rules.
     */
     */
    TrafficDescriptor trafficDescriptor;
    TrafficDescriptor trafficDescriptor;
    /**
     * The infrastructure bitmap which the APN can be used on. For example, some APNs can only
     * be used when the device is using cellular network, using satellite network, or can be used
     * in either cases.
     */
    int infrastructureBitmap = INFRASTRUCTURE_UNKNOWN;
}
}