diff --git a/res/values/config.xml b/res/values/config.xml
index 987eaf97254..5ccbaa60f7d 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -557,4 +557,7 @@
false
+
+
+ 300
diff --git a/src/com/android/settings/network/telephony/NetworkScanHelper.java b/src/com/android/settings/network/telephony/NetworkScanHelper.java
index 740b6bba2bc..ddbad3b6c97 100644
--- a/src/com/android/settings/network/telephony/NetworkScanHelper.java
+++ b/src/com/android/settings/network/telephony/NetworkScanHelper.java
@@ -17,6 +17,7 @@
package com.android.settings.network.telephony;
import android.annotation.IntDef;
+import android.content.Context;
import android.telephony.AccessNetworkConstants.AccessNetworkType;
import android.telephony.CellInfo;
import android.telephony.NetworkScan;
@@ -31,6 +32,8 @@ import androidx.annotation.VisibleForTesting;
import com.android.internal.telephony.CellNetworkScanResult;
+import com.android.settings.R;
+
import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
@@ -129,6 +132,7 @@ public class NetworkScanHelper {
private final TelephonyScanManager.NetworkScanCallback mInternalNetworkScanCallback;
private final Executor mExecutor;
+ private int mMaxSearchTimeSec = MAX_SEARCH_TIME_SEC;
private NetworkScan mNetworkScanRequester;
/** Callbacks for sync network scan */
@@ -141,6 +145,13 @@ public class NetworkScanHelper {
mExecutor = executor;
}
+ public NetworkScanHelper(Context context, TelephonyManager tm, NetworkScanCallback callback,
+ Executor executor) {
+ this(tm, callback, executor);
+ mMaxSearchTimeSec = context.getResources().getInteger(
+ R.integer.config_network_scan_helper_max_search_time_sec);
+ }
+
@VisibleForTesting
NetworkScanRequest createNetworkScanForPreferredAccessNetworks() {
long networkTypeBitmap3gpp = mTelephonyManager.getPreferredNetworkTypeBitmask()
@@ -183,7 +194,7 @@ public class NetworkScanHelper {
radioAccessSpecifiers.toArray(
new RadioAccessSpecifier[radioAccessSpecifiers.size()]),
SEARCH_PERIODICITY_SEC,
- MAX_SEARCH_TIME_SEC,
+ mMaxSearchTimeSec,
INCREMENTAL_RESULTS,
INCREMENTAL_RESULTS_PERIODICITY_SEC,
null /* List of PLMN ids (MCC-MNC) */);
diff --git a/src/com/android/settings/network/telephony/NetworkSelectSettings.java b/src/com/android/settings/network/telephony/NetworkSelectSettings.java
index 9faecbb1805..4e231813861 100644
--- a/src/com/android/settings/network/telephony/NetworkSelectSettings.java
+++ b/src/com/android/settings/network/telephony/NetworkSelectSettings.java
@@ -112,7 +112,7 @@ public class NetworkSelectSettings extends DashboardFragment {
mTelephonyManager = getContext().getSystemService(TelephonyManager.class)
.createForSubscriptionId(mSubId);
mNetworkScanHelper = new NetworkScanHelper(
- mTelephonyManager, mCallback, mNetworkScanExecutor);
+ getContext(), mTelephonyManager, mCallback, mNetworkScanExecutor);
PersistableBundle bundle = ((CarrierConfigManager) getContext().getSystemService(
Context.CARRIER_CONFIG_SERVICE)).getConfigForSubId(mSubId);
if (bundle != null) {