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

Commit f98d141b authored by Nagendra Prasad Nagarle Basavaraju's avatar Nagendra Prasad Nagarle Basavaraju Committed by Android (Google) Code Review
Browse files

Merge "Support Satellite Data Metrics at Satellite session" into main

parents fcdb9d27 0002cc66
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -115,3 +115,14 @@ flag {
        purpose: PURPOSE_BUGFIX
    }
}

# OWNER=nagendranb TARGET=25Q3
flag {
  name: "satellite_data_metrics"
  namespace: "telephony"
  description: "Support Satellite Data metrics at satellite session"
  bug: "405107194"
  metadata {
    purpose: PURPOSE_BUGFIX
  }
}
 No newline at end of file
+10 −0
Original line number Diff line number Diff line
@@ -840,6 +840,16 @@ message CarrierRoamingSatelliteSession {
    optional int64 satellite_data_consumed_bytes = 19;
    optional bool is_multi_sim = 20;
    optional bool is_nb_iot_ntn = 21;
    optional int32 count_of_data_connections = 22;
    repeated int32 last_fail_causes = 23;
    optional int32 count_of_data_disconnections = 24;
    optional int32 count_of_data_stalls = 25;
    optional int32 average_uplink_bandwidth_kbps = 26;
    optional int32 average_downlink_bandwidth_kbps = 27;
    optional int32 min_uplink_bandwidth_kbps = 28;
    optional int32 max_uplink_bandwidth_kbps = 29;
    optional int32 min_downlink_bandwidth_kbps = 30;
    optional int32 max_downlink_bandwidth_kbps = 31;
}

message CarrierRoamingSatelliteControllerStats {
+1 −0
Original line number Diff line number Diff line
@@ -2365,6 +2365,7 @@ public class DataNetwork extends StateMachine {

        if (mIsSatellite && mDataConfigManager.getForcedCellularTransportCapabilities().stream()
                .noneMatch(this::hasNetworkCapabilityInNetworkRequests)) {
            logd("transport satellite is set");
            builder.addTransportType(NetworkCapabilities.TRANSPORT_SATELLITE);
        } else {
            builder.addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR);
+11 −1
Original line number Diff line number Diff line
@@ -1611,7 +1611,17 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback {
                stats.serviceDataPolicy,
                stats.satelliteDataConsumedBytes,
                stats.isMultiSim,
                stats.isNbIotNtn);
                stats.isNbIotNtn,
                stats.countOfDataConnections,
                stats.lastFailCauses,
                stats.countOfDataDisconnections,
                stats.countOfDataStalls,
                stats.averageUplinkBandwidthKbps,
                stats.averageDownlinkBandwidthKbps,
                stats.minUplinkBandwidthKbps,
                stats.maxUplinkBandwidthKbps,
                stats.minDownlinkBandwidthKbps,
                stats.maxDownlinkBandwidthKbps);
    }

    private static StatsEvent buildStatsEvent(CarrierRoamingSatelliteControllerStats stats) {
+172 −0
Original line number Diff line number Diff line
@@ -1887,6 +1887,16 @@ public class SatelliteStats {
        private final long mSatelliteDataConsumedBytes;
        private final boolean mIsMultiSim;
        private final boolean mIsNbIotNtn;
        private final int mCountOfDataConnections;
        private final int[] mLastFailCauses;
        private final int mCountOfDataDisconnections;
        private final int mCountOfDataStalls;
        private final int mAverageUplinkBandwidthKbps;
        private final int mAverageDownlinkBandwidthKbps;
        private final int mMinUplinkBandwidthKbps;
        private final int mMaxUplinkBandwidthKbps;
        private final int mMinDownlinkBandwidthKbps;
        private final int mMaxDownlinkBandwidthKbps;

        private CarrierRoamingSatelliteSessionParams(Builder builder) {
            this.mCarrierId = builder.mCarrierId;
@@ -1912,6 +1922,16 @@ public class SatelliteStats {
                    builder.mSatelliteDataConsumedBytes;
            this.mIsMultiSim = builder.mIsMultiSim;
            this.mIsNbIotNtn = builder.mIsNbIotNtn;
            this.mCountOfDataConnections = builder.mCountOfDataConnections;
            this.mLastFailCauses = builder.mLastFailCauses;
            this.mCountOfDataDisconnections = builder.mCountOfDataDisconnections;
            this.mCountOfDataStalls = builder.mCountOfDataStalls;
            this.mAverageUplinkBandwidthKbps =  builder.mAverageUplinkBandwidthKbps;
            this.mAverageDownlinkBandwidthKbps = builder.mAverageDownlinkBandwidthKbps;
            this.mMinUplinkBandwidthKbps = builder.mMinUplinkBandwidthKbps;
            this.mMaxUplinkBandwidthKbps = builder.mMaxUplinkBandwidthKbps;
            this.mMinDownlinkBandwidthKbps = builder.mMinDownlinkBandwidthKbps;
            this.mMaxDownlinkBandwidthKbps = builder.mMaxDownlinkBandwidthKbps;
        }

        public int getCarrierId() {
@@ -1998,6 +2018,46 @@ public class SatelliteStats {
            return mIsNbIotNtn;
        }

        public int getCountOfDataConnections() {
            return mCountOfDataConnections;
        }

        public int[] getLastFailCauses() {
            return mLastFailCauses;
        }

        public int getCountOfDataDisconnections() {
            return mCountOfDataDisconnections;
        }

        public int getCountOfDataStalls() {
            return mCountOfDataStalls;
        }

        public int getAverageUplinkBandwidthKbps() {
            return mAverageUplinkBandwidthKbps;
        }

        public int getAverageDownlinkBandwidthKbps() {
            return mAverageDownlinkBandwidthKbps;
        }

        public int getMinimumUplinkBandwidthKbps() {
            return mMinUplinkBandwidthKbps;
        }

        public int getMaximumUplinkBandwidthKbps() {
            return mMaxUplinkBandwidthKbps;
        }

        public int getMinimumDownlinkBandwidthKbps() {
            return mMinDownlinkBandwidthKbps;
        }

        public int getMaximumDownlinkBandwidthKbps() {
            return mMaxDownlinkBandwidthKbps;
        }

        /**
         * A builder class to create {@link CarrierRoamingSatelliteSessionParams} data structure
         * class
@@ -2025,6 +2085,17 @@ public class SatelliteStats {
            long mSatelliteDataConsumedBytes = 0L;
            private boolean mIsMultiSim = false;
            private boolean mIsNbIotNtn = false;
            private int mCountOfDataConnections = 0;
            private int[] mLastFailCauses = new int[5];
            private int mCountOfDataDisconnections = 0;
            private int mCountOfDataStalls = 0;
            private int mAverageUplinkBandwidthKbps = 0;
            private int mAverageDownlinkBandwidthKbps = 0;
            private int mMinUplinkBandwidthKbps = Integer.MAX_VALUE;
            private int mMaxUplinkBandwidthKbps = 0;
            private int mMinDownlinkBandwidthKbps = Integer.MAX_VALUE;
            private int mMaxDownlinkBandwidthKbps = 0;


            /**
             * Sets carrierId value of {@link CarrierRoamingSatelliteSession} atom
@@ -2228,6 +2299,97 @@ public class SatelliteStats {
                this.mIsNbIotNtn = isNbIotNtn;
                return this;
            }

            /**
             * Sets countOfDataConnections value of {@link CarrierRoamingSatelliteSession}
             * atom then returns Builder class
             */
            public Builder setCountOfDataConnections(int countOfDataConnections) {
                this.mCountOfDataConnections = countOfDataConnections;
                return this;
            }

            /**
             * Sets lastFailCauses value of {@link CarrierRoamingSatelliteSession}
             * atom then returns Builder class
             */
            public Builder setLastFailCauses(int[] lastFailCauses) {
                this.mLastFailCauses = lastFailCauses;
                Arrays.sort(this.mLastFailCauses);
                return this;
            }

            /**
             * Sets countOfDataDisconnections value of {@link CarrierRoamingSatelliteSession}
             * atom then returns Builder class
             */
            public Builder setCountOfDataDisconnections(int countOfDataDisconnections) {
                this.mCountOfDataDisconnections = countOfDataDisconnections;
                return this;
            }

            /**
             * Sets countOfDataStalls value of {@link CarrierRoamingSatelliteSession}
             * atom then returns Builder class
             */
            public Builder setCountOfDataStalls(int countOfDataStalls) {
                this.mCountOfDataStalls = countOfDataStalls;
                return this;
            }

            /**
             * Sets averageUplinkBandwidth value of {@link CarrierRoamingSatelliteSession}
             * atom then returns Builder class
             */
            public Builder setAverageUplinkBandwidthKbps(int averageUplinkBandwidthKbps) {
                this.mAverageUplinkBandwidthKbps = averageUplinkBandwidthKbps;
                return this;
            }

            /**
             * Sets averageDownlinkBandwidth value of {@link CarrierRoamingSatelliteSession}
             * atom then returns Builder class
             */
            public Builder setAverageDownlinkBandwidthKbps(int averageDownlinkBandwidthKbps) {
                this.mAverageDownlinkBandwidthKbps = averageDownlinkBandwidthKbps;
                return this;
            }

            /**
             * Sets minUplinkBandwidth value of {@link CarrierRoamingSatelliteSession}
             * atom then returns Builder class
             */
            public Builder setMinimumUplinkBandwidthKbps(int minUplinkBandwidthKbps) {
                this.mMinUplinkBandwidthKbps = minUplinkBandwidthKbps;
                return this;
            }

            /**
             * Sets maxUplinkBandwidth value of {@link CarrierRoamingSatelliteSession}
             * atom then returns Builder class
             */
            public Builder setMaximumUplinkBandwidthKbps(int maxUplinkBandwidthKbps) {
                this.mMaxUplinkBandwidthKbps = maxUplinkBandwidthKbps;
                return this;
            }

            /**
             * Sets minDownlinkBandwidth value of {@link CarrierRoamingSatelliteSession}
             * atom then returns Builder class
             */
            public Builder setMinimumDownlinkBandwidthKbps(int minDownlinkBandwidthKbps) {
                this.mMinDownlinkBandwidthKbps = minDownlinkBandwidthKbps;
                return this;
            }

            /**
             * Sets maxUplinkBandwidth value of {@link CarrierRoamingSatelliteSession}
             * atom then returns Builder class
             */
            public Builder setMaximumDownlinkBandwidthKbps(int maxDownlinkBandwidthKbps) {
                this.mMaxDownlinkBandwidthKbps = maxDownlinkBandwidthKbps;
                return this;
            }
        }

        @Override
@@ -2255,6 +2417,16 @@ public class SatelliteStats {
                    + ", SatelliteDataConsumedBytes=" + mSatelliteDataConsumedBytes
                    + ", isMultiSim=" + mIsMultiSim
                    + ", isNbIotNtn=" + mIsNbIotNtn
                    + ", countOfDataConnections=" + mCountOfDataConnections
                    + ", lastFailCauses=" +  Arrays.toString(mLastFailCauses)
                    + ", countOfDataDisconnections=" + mCountOfDataDisconnections
                    + ", countOfDataStalls=" + mCountOfDataStalls
                    + ", averageUplinkBandwidthKbps=" + mAverageUplinkBandwidthKbps
                    + ", averageDownlinkBandwidthKbps=" + mAverageDownlinkBandwidthKbps
                    + ", minUplinkBandwidthKbps=" + mMinUplinkBandwidthKbps
                    + ", maxUplinkBandwidthKbps=" + mMaxUplinkBandwidthKbps
                    + ", minDownlinkBandwidthKbps=" + mMinDownlinkBandwidthKbps
                    + ", maxDownlinkBandwidthKbps=" + mMaxDownlinkBandwidthKbps
                    + ")";
        }
    }
Loading