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

Commit ce5a4d7d authored by Adrian Mejia's avatar Adrian Mejia Committed by Android Build Coastguard Worker
Browse files

Add "isNtnOnlyCarrier" field into metrics atoms for satellite sessions.


Bug: 383033991
Flag: com.android.internal.telephony.flags.carrier_roaming_nb_iot_ntn
Test: manually test
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:9bd323131eaba07c4ee536ddd28984e2ec9e7e75)
Merged-In: I72014af9c675f515cac193dc96ba72df4b4d552f
Change-Id: I72014af9c675f515cac193dc96ba72df4b4d552f
parent 2e421e59
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -747,6 +747,7 @@ message SatelliteSession {
    optional int32 count_of_auto_exit_due_to_screen_off = 16;
    optional int32 count_of_auto_exit_due_to_tn_network = 17;
    optional bool is_emergency = 18;
    optional bool is_ntn_only_carrier = 19;
}

message SatelliteIncomingDatagram {
@@ -755,6 +756,7 @@ message SatelliteIncomingDatagram {
    optional int64 datagram_transfer_time_millis = 3;
    optional bool is_demo_mode = 4;
    optional int32 carrier_id = 5;
    optional bool is_ntn_only_carrier = 6;
}

message SatelliteOutgoingDatagram {
@@ -764,6 +766,7 @@ message SatelliteOutgoingDatagram {
    optional int64 datagram_transfer_time_millis = 4;
    optional bool is_demo_mode = 5;
    optional int32 carrier_id = 6;
    optional bool is_ntn_only_carrier = 7;
}

message SatelliteProvision {
@@ -772,6 +775,7 @@ message SatelliteProvision {
    optional bool is_provision_request = 3;
    optional bool is_canceled = 4;
    optional int32 carrier_id = 5;
    optional bool is_ntn_only_carrier = 6;
}

message SatelliteSosMessageRecommender {
@@ -785,6 +789,7 @@ message SatelliteSosMessageRecommender {
    optional bool is_satellite_allowed_in_current_location = 8;
    optional bool is_wifi_connected = 9;
    optional int32 carrier_id = 10;
    optional bool is_ntn_only_carrier = 11;
}

message DataNetworkValidation {
@@ -855,4 +860,5 @@ message SatelliteAccessController {
    optional int32 config_data_source = 9;
    optional int32 carrier_id = 10;
    optional int32 triggering_event = 11;
    optional bool is_ntn_only_carrier = 12;
}
+12 −6
Original line number Diff line number Diff line
@@ -1506,7 +1506,8 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback {
                satelliteSession.countOfSatelliteNotificationDisplayed,
                satelliteSession.countOfAutoExitDueToScreenOff,
                satelliteSession.countOfAutoExitDueToTnNetwork,
                satelliteSession.isEmergency);
                satelliteSession.isEmergency,
                satelliteSession.isNtnOnlyCarrier);
    }

    private static StatsEvent buildStatsEvent(SatelliteIncomingDatagram stats) {
@@ -1516,7 +1517,8 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback {
                stats.datagramSizeBytes,
                stats.datagramTransferTimeMillis,
                stats.isDemoMode,
                stats.carrierId);
                stats.carrierId,
                stats.isNtnOnlyCarrier);
    }

    private static StatsEvent buildStatsEvent(SatelliteOutgoingDatagram stats) {
@@ -1527,7 +1529,8 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback {
                stats.datagramSizeBytes,
                stats.datagramTransferTimeMillis,
                stats.isDemoMode,
                stats.carrierId);
                stats.carrierId,
                stats.isNtnOnlyCarrier);
    }

    private static StatsEvent buildStatsEvent(SatelliteProvision stats) {
@@ -1537,7 +1540,8 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback {
                stats.provisioningTimeSec,
                stats.isProvisionRequest,
                stats.isCanceled,
                stats.carrierId);
                stats.carrierId,
                stats.isNtnOnlyCarrier);
    }

    private static StatsEvent buildStatsEvent(SatelliteSosMessageRecommender stats) {
@@ -1552,7 +1556,8 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback {
                stats.recommendingHandoverType,
                stats.isSatelliteAllowedInCurrentLocation,
                stats.isWifiConnected,
                stats.carrierId);
                stats.carrierId,
                stats.isNtnOnlyCarrier);
    }

    private static StatsEvent buildStatsEvent(DataNetworkValidation stats) {
@@ -1633,7 +1638,8 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback {
                stats.countryCodes,
                stats.configDataSource,
                stats.carrierId,
                stats.triggeringEvent);
                stats.triggeringEvent,
                stats.isNtnOnlyCarrier);
    }

    /** Returns all phones in {@link PhoneFactory}, or an empty array if phones not made yet. */
+109 −3
Original line number Diff line number Diff line
@@ -804,7 +804,7 @@ public class SatelliteStats {
        private final int mCountOfAutoExitDueToScreenOff;
        private final int mCountOfAutoExitDueToTnNetwork;
        private final boolean mIsEmergency;

        private final boolean mIsNtnOnlyCarrier;

        private SatelliteSessionParams(Builder builder) {
            this.mSatelliteServiceInitializationResult =
@@ -827,6 +827,7 @@ public class SatelliteStats {
            this.mCountOfAutoExitDueToScreenOff = builder.mCountOfAutoExitDueToScreenOff;
            this.mCountOfAutoExitDueToTnNetwork = builder.mCountOfAutoExitDueToTnNetwork;
            this.mIsEmergency = builder.mIsEmergency;
            this.mIsNtnOnlyCarrier = builder.mIsNtnOnlyCarrier;
        }

        public int getSatelliteServiceInitializationResult() {
@@ -897,6 +898,10 @@ public class SatelliteStats {
            return mIsEmergency;
        }

        public boolean isNtnOnlyCarrier() {
            return mIsNtnOnlyCarrier;
        }

        /**
         * A builder class to create {@link SatelliteSessionParams} data structure class
         */
@@ -919,6 +924,7 @@ public class SatelliteStats {
            private int mCountOfAutoExitDueToScreenOff = -1;
            private int mCountOfAutoExitDueToTnNetwork = -1;
            private boolean mIsEmergency = false;
            private boolean mIsNtnOnlyCarrier = false;

            /**
             * Sets satelliteServiceInitializationResult value of {@link SatelliteSession}
@@ -1043,6 +1049,15 @@ public class SatelliteStats {
                return this;
            }

            /**
             * Sets isNtnOnlyCarrier value of {@link SatelliteSession} atom
             * then returns Builder class
            */
            public Builder setIsNtnOnlyCarrier(boolean isNtnOnlyCarrier) {
                this.mIsNtnOnlyCarrier = isNtnOnlyCarrier;
                return this;
            }

            /**
             * Returns SessionParams, which contains whole component of
             * {@link SatelliteSession} atom
@@ -1074,6 +1089,7 @@ public class SatelliteStats {
                    + ", CountOfAutoExitDueToScreenOff" + mCountOfAutoExitDueToScreenOff
                    + ", CountOfAutoExitDueToTnNetwork" + mCountOfAutoExitDueToTnNetwork
                    + ", IsEmergency=" + mIsEmergency
                    + ", IsNtnOnlyCarrier=" + mIsNtnOnlyCarrier
                    + ")";
        }
    }
@@ -1088,6 +1104,7 @@ public class SatelliteStats {
        private final long mDatagramTransferTimeMillis;
        private final boolean mIsDemoMode;
        private final int mCarrierId;
        private final boolean mIsNtnOnlyCarrier;

        private SatelliteIncomingDatagramParams(Builder builder) {
            this.mResultCode = builder.mResultCode;
@@ -1095,6 +1112,7 @@ public class SatelliteStats {
            this.mDatagramTransferTimeMillis = builder.mDatagramTransferTimeMillis;
            this.mIsDemoMode = builder.mIsDemoMode;
            this.mCarrierId = builder.mCarrierId;
            this.mIsNtnOnlyCarrier = builder.mIsNtnOnlyCarrier;
        }

        public int getResultCode() {
@@ -1117,6 +1135,10 @@ public class SatelliteStats {
            return mCarrierId;
        }

        public boolean isNtnOnlyCarrier() {
            return mIsNtnOnlyCarrier;
        }

        /**
         * A builder class to create {@link SatelliteIncomingDatagramParams} data structure class
         */
@@ -1126,6 +1148,7 @@ public class SatelliteStats {
            private long mDatagramTransferTimeMillis = -1;
            private boolean mIsDemoMode = false;
            private int mCarrierId = UNKNOWN_CARRIER_ID;
            private boolean mIsNtnOnlyCarrier = false;

            /**
             * Sets resultCode value of {@link SatelliteIncomingDatagram} atom
@@ -1169,6 +1192,15 @@ public class SatelliteStats {
                return this;
            }

            /**
             * Sets isNtnOnlyCarrier value of {@link SatelliteIncomingDatagram} atom
             * then returns Builder class
            */
            public Builder setIsNtnOnlyCarrier(boolean isNtnOnlyCarrier) {
                this.mIsNtnOnlyCarrier = isNtnOnlyCarrier;
                return this;
            }

            /**
             * Returns IncomingDatagramParams, which contains whole component of
             * {@link SatelliteIncomingDatagram} atom
@@ -1187,6 +1219,7 @@ public class SatelliteStats {
                    + ", datagramTransferTimeMillis=" + mDatagramTransferTimeMillis
                    + ", isDemoMode=" + mIsDemoMode
                    + ", CarrierId=" + mCarrierId
                    + ", isNtnOnlyCarrier=" + mIsNtnOnlyCarrier
                    + ")";
        }
    }
@@ -1202,6 +1235,7 @@ public class SatelliteStats {
        private final long mDatagramTransferTimeMillis;
        private final boolean mIsDemoMode;
        private final int mCarrierId;
        private final boolean mIsNtnOnlyCarrier;

        private SatelliteOutgoingDatagramParams(Builder builder) {
            this.mDatagramType = builder.mDatagramType;
@@ -1210,6 +1244,7 @@ public class SatelliteStats {
            this.mDatagramTransferTimeMillis = builder.mDatagramTransferTimeMillis;
            this.mIsDemoMode = builder.mIsDemoMode;
            this.mCarrierId = builder.mCarrierId;
            this.mIsNtnOnlyCarrier = builder.mIsNtnOnlyCarrier;
        }

        public int getDatagramType() {
@@ -1236,6 +1271,10 @@ public class SatelliteStats {
            return mCarrierId;
        }

        public boolean isNtnOnlyCarrier() {
            return mIsNtnOnlyCarrier;
        }

        /**
         * A builder class to create {@link SatelliteOutgoingDatagramParams} data structure class
         */
@@ -1246,6 +1285,7 @@ public class SatelliteStats {
            private long mDatagramTransferTimeMillis = -1;
            private boolean mIsDemoMode = false;
            private int mCarrierId = UNKNOWN_CARRIER_ID;
            private boolean mIsNtnOnlyCarrier = false;

            /**
             * Sets datagramType value of {@link SatelliteOutgoingDatagram} atom
@@ -1298,6 +1338,15 @@ public class SatelliteStats {
                return this;
            }

            /**
             * Sets isNtnOnlyCarrier value of {@link SatelliteOutgoingDatagram} atom
             * then returns Builder class
            */
            public Builder setIsNtnOnlyCarrier(boolean isNtnOnlyCarrier) {
                this.mIsNtnOnlyCarrier = isNtnOnlyCarrier;
                return this;
            }

            /**
             * Returns OutgoingDatagramParams, which contains whole component of
             * {@link SatelliteOutgoingDatagram} atom
@@ -1317,6 +1366,7 @@ public class SatelliteStats {
                    + ", datagramTransferTimeMillis=" + mDatagramTransferTimeMillis
                    + ", isDemoMode=" + mIsDemoMode
                    + ", CarrierId=" + mCarrierId
                    + ", isNtnOnlyCarrier=" + mIsNtnOnlyCarrier
                    + ")";
        }
    }
@@ -1331,6 +1381,7 @@ public class SatelliteStats {
        private final boolean mIsProvisionRequest;
        private final boolean mIsCanceled;
        private final int mCarrierId;
        private final boolean mIsNtnOnlyCarrier;

        private SatelliteProvisionParams(Builder builder) {
            this.mResultCode = builder.mResultCode;
@@ -1338,6 +1389,7 @@ public class SatelliteStats {
            this.mIsProvisionRequest = builder.mIsProvisionRequest;
            this.mIsCanceled = builder.mIsCanceled;
            this.mCarrierId = builder.mCarrierId;
            this.mIsNtnOnlyCarrier = builder.mIsNtnOnlyCarrier;
        }

        public int getResultCode() {
@@ -1360,6 +1412,10 @@ public class SatelliteStats {
            return mCarrierId;
        }

        public boolean isNtnOnlyCarrier() {
            return mIsNtnOnlyCarrier;
        }

        /**
         * A builder class to create {@link SatelliteProvisionParams} data structure class
         */
@@ -1369,6 +1425,7 @@ public class SatelliteStats {
            private boolean mIsProvisionRequest = false;
            private boolean mIsCanceled = false;
            private int mCarrierId = UNKNOWN_CARRIER_ID;
            private boolean mIsNtnOnlyCarrier = false;

            /**
             * Sets resultCode value of {@link SatelliteProvision} atom
@@ -1412,6 +1469,15 @@ public class SatelliteStats {
                return this;
            }

            /**
             * Sets isNtnOnlyCarrier value of {@link SatelliteProvision} atom
             * then returns Builder class
            */
            public Builder setIsNtnOnlyCarrier(boolean isNtnOnlyCarrier) {
                this.mIsNtnOnlyCarrier = isNtnOnlyCarrier;
                return this;
            }

            /**
             * Returns ProvisionParams, which contains whole component of
             * {@link SatelliteProvision} atom
@@ -1430,6 +1496,7 @@ public class SatelliteStats {
                    + ", isProvisionRequest=" + mIsProvisionRequest
                    + ", isCanceled" + mIsCanceled
                    + ", CarrierId=" + mCarrierId
                    + ", isNtnOnlyCarrier=" + mIsNtnOnlyCarrier
                    + ")";
        }
    }
@@ -1448,6 +1515,7 @@ public class SatelliteStats {
        private final boolean mIsSatelliteAllowedInCurrentLocation;
        private final boolean mIsWifiConnected;
        private final int mCarrierId;
        private final boolean mIsNtnOnlyCarrier;

        private SatelliteSosMessageRecommenderParams(Builder builder) {
            this.mIsDisplaySosMessageSent = builder.mIsDisplaySosMessageSent;
@@ -1460,6 +1528,7 @@ public class SatelliteStats {
                    builder.mIsSatelliteAllowedInCurrentLocation;
            this.mIsWifiConnected = builder.mIsWifiConnected;
            this.mCarrierId = builder.mCarrierId;
            this.mIsNtnOnlyCarrier = builder.mIsNtnOnlyCarrier;
        }

        public boolean isDisplaySosMessageSent() {
@@ -1498,8 +1567,12 @@ public class SatelliteStats {
            return mCarrierId;
        }

        public boolean isNtnOnlyCarrier() {
            return mIsNtnOnlyCarrier;
        }

        /**
         * A builder class to create {@link SatelliteProvisionParams} data structure class
         * A builder class to create {@link SatelliteSosMessageRecommender} data structure class
         */
        public static class Builder {
            private boolean mIsDisplaySosMessageSent = false;
@@ -1511,7 +1584,7 @@ public class SatelliteStats {
            private boolean mIsSatelliteAllowedInCurrentLocation = false;
            private boolean mIsWifiConnected = false;
            private int mCarrierId = UNKNOWN_CARRIER_ID;

            private boolean mIsNtnOnlyCarrier = false;

            /**
             * Sets resultCode value of {@link SatelliteSosMessageRecommender} atom
@@ -1596,6 +1669,15 @@ public class SatelliteStats {
                return this;
            }

            /**
             * Sets isNtnOnlyCarrier value of {@link SatelliteSosMessageRecommender} atom
             * then returns Builder class
            */
            public Builder setIsNtnOnlyCarrier(boolean isNtnOnlyCarrier) {
                this.mIsNtnOnlyCarrier = isNtnOnlyCarrier;
                return this;
            }

            /**
             * Returns SosMessageRecommenderParams, which contains whole component of
             * {@link SatelliteSosMessageRecommenderParams} atom
@@ -1619,6 +1701,7 @@ public class SatelliteStats {
                    + mIsSatelliteAllowedInCurrentLocation
                    + ", isWifiConnected=" + mIsWifiConnected
                    + ", carrierId=" + mCarrierId
                    + ", isNtnOnlyCarrier=" + mIsNtnOnlyCarrier
                    + ")";
        }
    }
@@ -2360,6 +2443,7 @@ public class SatelliteStats {
        private final @SatelliteConstants.ConfigDataSource int mConfigDataSource;
        private final int mCarrierId;
        private final int mTriggeringEvent;
        private final boolean mIsNtnOnlyCarrier;

        private SatelliteAccessControllerParams(Builder builder) {
            this.mAccessControlType = builder.mAccessControlType;
@@ -2373,6 +2457,7 @@ public class SatelliteStats {
            this.mConfigDataSource = builder.mConfigDataSource;
            this.mCarrierId = builder.mCarrierId;
            this.mTriggeringEvent = builder.mTriggeringEvent;
            this.mIsNtnOnlyCarrier = builder.mIsNtnOnlyCarrier;
        }

        public @SatelliteConstants.AccessControlType int getAccessControlType() {
@@ -2419,6 +2504,10 @@ public class SatelliteStats {
            return mTriggeringEvent;
        }

        public boolean isNtnOnlyCarrier() {
            return mIsNtnOnlyCarrier;
        }

        /**
         * A builder class to create {@link SatelliteAccessControllerParams} data structure class
         */
@@ -2435,6 +2524,7 @@ public class SatelliteStats {
            private int mCarrierId = UNKNOWN_CARRIER_ID;
            private @SatelliteConstants.TriggeringEvent int mTriggeringEvent =
                    TRIGGERING_EVENT_UNKNOWN;
            private boolean mIsNtnOnlyCarrier = false;

            /**
             * Sets AccessControlType value of {@link #SatelliteAccessController}
@@ -2509,6 +2599,15 @@ public class SatelliteStats {
                return this;
            }

            /**
             * Sets isNtnOnlyCarrier value of {@link SatelliteAccessController} atom
             * then returns Builder class
            */
            public Builder setIsNtnOnlyCarrier(boolean isNtnOnlyCarrier) {
                this.mIsNtnOnlyCarrier = isNtnOnlyCarrier;
                return this;
            }

            /**
             * Returns AccessControllerParams, which contains whole component of
             * {@link #SatelliteAccessController} atom
@@ -2533,6 +2632,7 @@ public class SatelliteStats {
                    + ", ConfigDataSource=" + mConfigDataSource
                    + ", CarrierId=" + mCarrierId
                    + ", TriggeringEvent=" + mTriggeringEvent
                    + ", IsNtnOnlyCarrier=" + mIsNtnOnlyCarrier
                    + ")";
        }
    }
@@ -2614,6 +2714,7 @@ public class SatelliteStats {
        proto.countOfAutoExitDueToScreenOff = param.getCountOfAutoExitDueToScreenOff();
        proto.countOfAutoExitDueToTnNetwork = param.getCountOfAutoExitDueToTnNetwork();
        proto.isEmergency = param.getIsEmergency();
        proto.isNtnOnlyCarrier = param.isNtnOnlyCarrier();
        mAtomsStorage.addSatelliteSessionStats(proto);
    }

@@ -2626,6 +2727,7 @@ public class SatelliteStats {
        proto.datagramTransferTimeMillis = param.getDatagramTransferTimeMillis();
        proto.isDemoMode = param.getIsDemoMode();
        proto.carrierId = param.getCarrierId();
        proto.isNtnOnlyCarrier = param.isNtnOnlyCarrier();
        mAtomsStorage.addSatelliteIncomingDatagramStats(proto);
    }

@@ -2639,6 +2741,7 @@ public class SatelliteStats {
        proto.datagramTransferTimeMillis = param.getDatagramTransferTimeMillis();
        proto.isDemoMode = param.getIsDemoMode();
        proto.carrierId = param.getCarrierId();
        proto.isNtnOnlyCarrier = param.isNtnOnlyCarrier();
        mAtomsStorage.addSatelliteOutgoingDatagramStats(proto);
    }

@@ -2650,6 +2753,7 @@ public class SatelliteStats {
        proto.isProvisionRequest = param.getIsProvisionRequest();
        proto.isCanceled = param.getIsCanceled();
        proto.carrierId = param.getCarrierId();
        proto.isNtnOnlyCarrier = param.isNtnOnlyCarrier();
        mAtomsStorage.addSatelliteProvisionStats(proto);
    }

@@ -2666,6 +2770,7 @@ public class SatelliteStats {
        proto.isSatelliteAllowedInCurrentLocation = param.isSatelliteAllowedInCurrentLocation();
        proto.isWifiConnected = param.isWifiConnected();
        proto.carrierId = param.getCarrierId();
        proto.isNtnOnlyCarrier = param.isNtnOnlyCarrier();
        proto.count = 1;
        mAtomsStorage.addSatelliteSosMessageRecommenderStats(proto);
    }
@@ -2745,6 +2850,7 @@ public class SatelliteStats {
        proto.configDataSource = param.getConfigDataSource();
        proto.carrierId = param.getCarrierId();
        proto.triggeringEvent = param.getTriggeringEvent();
        proto.isNtnOnlyCarrier = param.isNtnOnlyCarrier();
        mAtomsStorage.addSatelliteAccessControllerStats(proto);
    }
}
+1 −0
Original line number Diff line number Diff line
@@ -768,6 +768,7 @@ public class DatagramDispatcher extends Handler {
                        .setDatagramTransferTimeMillis(datagramTransmissionTime)
                        .setIsDemoMode(mIsDemoMode)
                        .setCarrierId(SatelliteController.getInstance().getSatelliteCarrierId())
                        .setIsNtnOnlyCarrier(SatelliteController.getInstance().isNtnOnlyCarrier())
                        .build());
        if (resultCode == SatelliteManager.SATELLITE_RESULT_SUCCESS) {
            mControllerMetricsStats.reportOutgoingDatagramSuccessCount(argument.datagramType,
+1 −0
Original line number Diff line number Diff line
@@ -758,6 +758,7 @@ public class DatagramReceiver extends Handler {
                        .setDatagramTransferTimeMillis(datagramTransferTime)
                        .setIsDemoMode(mIsDemoMode)
                        .setCarrierId(SatelliteController.getInstance().getSatelliteCarrierId())
                        .setIsNtnOnlyCarrier(SatelliteController.getInstance().isNtnOnlyCarrier())
                        .build());

        mControllerMetricsStats.reportIncomingDatagramCount(resultCode, mIsDemoMode);
Loading