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

Commit 2449e583 authored by Chiachang Wang's avatar Chiachang Wang
Browse files

Move data stall definitions out from Setting

From mainline perspective, we should use android flag api
instead of using Settings. Thus, move the definitions into
NetworkStack.

Bug:120013793
Test: atest NetworkStackTests SettingsBackupTest
Change-Id: I8e1fb5b47fff3bf624131ba1f5732daabd991e6d
Merged-In: I8e1fb5b47fff3bf624131ba1f5732daabd991e6d
Merged-In: I0a2a1e5d3de14ea86556ca471e26064df3481412
parent 43b75cad
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -4620,11 +4620,6 @@ package android.provider {
    field public static final String CAPTIVE_PORTAL_USE_HTTPS = "captive_portal_use_https";
    field public static final String CARRIER_APP_NAMES = "carrier_app_names";
    field public static final String CARRIER_APP_WHITELIST = "carrier_app_whitelist";
    field public static final String DATA_STALL_CONSECUTIVE_DNS_TIMEOUT_THRESHOLD = "data_stall_consecutive_dns_timeout_threshold";
    field public static final String DATA_STALL_EVALUATION_TYPE = "data_stall_evaluation_type";
    field public static final int DATA_STALL_EVALUATION_TYPE_DNS = 1; // 0x1
    field public static final String DATA_STALL_MIN_EVALUATE_INTERVAL = "data_stall_min_evaluate_interval";
    field public static final String DATA_STALL_VALID_DNS_TIME_THRESHOLD = "data_stall_valid_dns_time_threshold";
    field public static final String DEFAULT_SM_DP_PLUS = "default_sm_dp_plus";
    field public static final String EUICC_PROVISIONED = "euicc_provisioned";
    field public static final String INSTALL_CARRIER_APP_NOTIFICATION_PERSISTENT = "install_carrier_app_notification_persistent";
+0 −5
Original line number Diff line number Diff line
@@ -1213,11 +1213,6 @@ package android.provider {
    field public static final String CAPTIVE_PORTAL_OTHER_FALLBACK_URLS = "captive_portal_other_fallback_urls";
    field public static final String CAPTIVE_PORTAL_USER_AGENT = "captive_portal_user_agent";
    field public static final String CAPTIVE_PORTAL_USE_HTTPS = "captive_portal_use_https";
    field public static final String DATA_STALL_CONSECUTIVE_DNS_TIMEOUT_THRESHOLD = "data_stall_consecutive_dns_timeout_threshold";
    field public static final String DATA_STALL_EVALUATION_TYPE = "data_stall_evaluation_type";
    field public static final int DATA_STALL_EVALUATION_TYPE_DNS = 1; // 0x1
    field public static final String DATA_STALL_MIN_EVALUATE_INTERVAL = "data_stall_min_evaluate_interval";
    field public static final String DATA_STALL_VALID_DNS_TIME_THRESHOLD = "data_stall_valid_dns_time_threshold";
    field public static final String HIDDEN_API_BLACKLIST_EXEMPTIONS = "hidden_api_blacklist_exemptions";
    field public static final String LOCATION_GLOBAL_KILL_SWITCH = "location_global_kill_switch";
    field public static final String LOW_POWER_MODE = "low_power";
+0 −56
Original line number Diff line number Diff line
@@ -10464,62 +10464,6 @@ public final class Settings {
        @TestApi
        public static final String CAPTIVE_PORTAL_USER_AGENT = "captive_portal_user_agent";
        /**
         * The threshold value for the number of consecutive dns timeout events received to be a
         * signal of data stall. The number of consecutive timeouts needs to be {@code >=} this
         * threshold to be considered a data stall. Set the value to {@code <= 0} to disable. Note
         * that the value should be {@code > 0} if the DNS data stall detection is enabled.
         *
         * @hide
         */
        @SystemApi
        @TestApi
        public static final String DATA_STALL_CONSECUTIVE_DNS_TIMEOUT_THRESHOLD =
                "data_stall_consecutive_dns_timeout_threshold";
        /**
         * The minimal time interval in milliseconds for data stall reevaluation.
         *
         * @hide
         */
        @SystemApi
        @TestApi
        public static final String DATA_STALL_MIN_EVALUATE_INTERVAL =
                "data_stall_min_evaluate_interval";
        /**
         * DNS timeouts older than this timeout (in milliseconds) are not considered for detecting
         * a data stall.
         *
         * @hide
         */
        @SystemApi
        @TestApi
        public static final String DATA_STALL_VALID_DNS_TIME_THRESHOLD =
                "data_stall_valid_dns_time_threshold";
        /**
         * Which data stall detection signal to use. This is a bitmask constructed by bitwise-or-ing
         * (i.e. {@code |}) the DATA_STALL_EVALUATION_TYPE_* values.
         *
         * Type: int
         * Valid values:
         *   {@link #DATA_STALL_EVALUATION_TYPE_DNS} : Use dns as a signal.
         * @hide
         */
        @SystemApi
        @TestApi
        public static final String DATA_STALL_EVALUATION_TYPE = "data_stall_evaluation_type";
        /**
         * Use dns timeout counts to detect data stall.
         *
         * @hide
         */
        @SystemApi
        @TestApi
        public static final int DATA_STALL_EVALUATION_TYPE_DNS = 1;
        /**
         * Whether to try cellular data recovery when a bad network is reported.
         *
+0 −4
Original line number Diff line number Diff line
@@ -185,11 +185,7 @@ public class SettingsBackupTest {
                    Settings.Global.DATA_ROAMING,
                    Settings.Global.DATA_STALL_ALARM_AGGRESSIVE_DELAY_IN_MS,
                    Settings.Global.DATA_STALL_ALARM_NON_AGGRESSIVE_DELAY_IN_MS,
                    Settings.Global.DATA_STALL_CONSECUTIVE_DNS_TIMEOUT_THRESHOLD,
                    Settings.Global.DATA_STALL_EVALUATION_TYPE,
                    Settings.Global.DATA_STALL_MIN_EVALUATE_INTERVAL,
                    Settings.Global.DATA_STALL_RECOVERY_ON_BAD_NETWORK,
                    Settings.Global.DATA_STALL_VALID_DNS_TIME_THRESHOLD,
                    Settings.Global.DEBUG_APP,
                    Settings.Global.DEBUG_VIEW_ATTRIBUTES,
                    Settings.Global.DEFAULT_DNS_SERVER,
+72 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2019 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.net.util;

/**
 * Collection of utilities for data stall.
 */
public class DataStallUtils {
    /**
     * Detect data stall via using dns timeout counts.
     */
    public static final int DATA_STALL_EVALUATION_TYPE_DNS = 1;
    // Default configuration values for data stall detection.
    public static final int DEFAULT_CONSECUTIVE_DNS_TIMEOUT_THRESHOLD = 5;
    public static final int DEFAULT_DATA_STALL_MIN_EVALUATE_TIME_MS = 60 * 1000;
    public static final int DEFAULT_DATA_STALL_VALID_DNS_TIME_THRESHOLD_MS = 30 * 60 * 1000;
    /**
     * The threshold value for the number of consecutive dns timeout events received to be a
     * signal of data stall. The number of consecutive timeouts needs to be {@code >=} this
     * threshold to be considered a data stall. Set the value to {@code <= 0} to disable. Note
     * that the value should be {@code > 0} if the DNS data stall detection is enabled.
     *
     */
    public static final String CONFIG_DATA_STALL_CONSECUTIVE_DNS_TIMEOUT_THRESHOLD =
            "data_stall_consecutive_dns_timeout_threshold";

    /**
     * The minimal time interval in milliseconds for data stall reevaluation.
     *
     */
    public static final String CONFIG_DATA_STALL_MIN_EVALUATE_INTERVAL =
            "data_stall_min_evaluate_interval";

    /**
     * DNS timeouts older than this timeout (in milliseconds) are not considered for detecting
     * a data stall.
     *
     */
    public static final String CONFIG_DATA_STALL_VALID_DNS_TIME_THRESHOLD =
            "data_stall_valid_dns_time_threshold";

    /**
     * Which data stall detection signal to use. This is a bitmask constructed by bitwise-or-ing
     * (i.e. {@code |}) the DATA_STALL_EVALUATION_TYPE_* values.
     *
     * Type: int
     * Valid values:
     *   {@link #DATA_STALL_EVALUATION_TYPE_DNS} : Use dns as a signal.
     */
    public static final String CONFIG_DATA_STALL_EVALUATION_TYPE = "data_stall_evaluation_type";
    public static final int DEFAULT_DATA_STALL_EVALUATION_TYPES = DATA_STALL_EVALUATION_TYPE_DNS;
    // The default number of DNS events kept of the log kept for dns signal evaluation. Each event
    // is represented by a {@link com.android.server.connectivity.NetworkMonitor#DnsResult} objects.
    // It's also the size of array of {@link com.android.server.connectivity.nano.DnsEvent} kept in
    // metrics. Note that increasing the size may cause statsd log buffer bust. Need to check the
    // design in statsd when you try to increase the size.
    public static final int DEFAULT_DNS_LOG_SIZE = 20;
}
Loading