Settings: Make NetworkScanHelper max search time customizable
Default max search time (300) fails on some devices. Test: Network scan works on OnePlus 9 after overlaying max network scan search time to 254. Change-Id: Ia0038fac6d2000748e0aa08fd6a53f11876728d7
This commit is contained in:
committed by
Alexander Koskovich
parent
6a043ec5dc
commit
988a76f5bb
@@ -557,4 +557,7 @@
|
|||||||
|
|
||||||
<!-- Whether to aggregate for network selection list-->
|
<!-- Whether to aggregate for network selection list-->
|
||||||
<bool name="config_network_selection_list_aggregation_enabled">false</bool>
|
<bool name="config_network_selection_list_aggregation_enabled">false</bool>
|
||||||
|
|
||||||
|
<!-- Max network scan search time in seconds -->
|
||||||
|
<integer name="config_network_scan_helper_max_search_time_sec">300</integer>
|
||||||
</resources>
|
</resources>
|
||||||
|
@@ -17,6 +17,7 @@
|
|||||||
package com.android.settings.network.telephony;
|
package com.android.settings.network.telephony;
|
||||||
|
|
||||||
import android.annotation.IntDef;
|
import android.annotation.IntDef;
|
||||||
|
import android.content.Context;
|
||||||
import android.telephony.AccessNetworkConstants.AccessNetworkType;
|
import android.telephony.AccessNetworkConstants.AccessNetworkType;
|
||||||
import android.telephony.CellInfo;
|
import android.telephony.CellInfo;
|
||||||
import android.telephony.NetworkScan;
|
import android.telephony.NetworkScan;
|
||||||
@@ -31,6 +32,8 @@ import androidx.annotation.VisibleForTesting;
|
|||||||
|
|
||||||
import com.android.internal.telephony.CellNetworkScanResult;
|
import com.android.internal.telephony.CellNetworkScanResult;
|
||||||
|
|
||||||
|
import com.android.settings.R;
|
||||||
|
|
||||||
import com.google.common.util.concurrent.FutureCallback;
|
import com.google.common.util.concurrent.FutureCallback;
|
||||||
import com.google.common.util.concurrent.Futures;
|
import com.google.common.util.concurrent.Futures;
|
||||||
import com.google.common.util.concurrent.ListenableFuture;
|
import com.google.common.util.concurrent.ListenableFuture;
|
||||||
@@ -129,6 +132,7 @@ public class NetworkScanHelper {
|
|||||||
private final TelephonyScanManager.NetworkScanCallback mInternalNetworkScanCallback;
|
private final TelephonyScanManager.NetworkScanCallback mInternalNetworkScanCallback;
|
||||||
private final Executor mExecutor;
|
private final Executor mExecutor;
|
||||||
|
|
||||||
|
private int mMaxSearchTimeSec = MAX_SEARCH_TIME_SEC;
|
||||||
private NetworkScan mNetworkScanRequester;
|
private NetworkScan mNetworkScanRequester;
|
||||||
|
|
||||||
/** Callbacks for sync network scan */
|
/** Callbacks for sync network scan */
|
||||||
@@ -141,6 +145,13 @@ public class NetworkScanHelper {
|
|||||||
mExecutor = executor;
|
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
|
@VisibleForTesting
|
||||||
NetworkScanRequest createNetworkScanForPreferredAccessNetworks() {
|
NetworkScanRequest createNetworkScanForPreferredAccessNetworks() {
|
||||||
long networkTypeBitmap3gpp = mTelephonyManager.getPreferredNetworkTypeBitmask()
|
long networkTypeBitmap3gpp = mTelephonyManager.getPreferredNetworkTypeBitmask()
|
||||||
@@ -183,7 +194,7 @@ public class NetworkScanHelper {
|
|||||||
radioAccessSpecifiers.toArray(
|
radioAccessSpecifiers.toArray(
|
||||||
new RadioAccessSpecifier[radioAccessSpecifiers.size()]),
|
new RadioAccessSpecifier[radioAccessSpecifiers.size()]),
|
||||||
SEARCH_PERIODICITY_SEC,
|
SEARCH_PERIODICITY_SEC,
|
||||||
MAX_SEARCH_TIME_SEC,
|
mMaxSearchTimeSec,
|
||||||
INCREMENTAL_RESULTS,
|
INCREMENTAL_RESULTS,
|
||||||
INCREMENTAL_RESULTS_PERIODICITY_SEC,
|
INCREMENTAL_RESULTS_PERIODICITY_SEC,
|
||||||
null /* List of PLMN ids (MCC-MNC) */);
|
null /* List of PLMN ids (MCC-MNC) */);
|
||||||
|
@@ -112,7 +112,7 @@ public class NetworkSelectSettings extends DashboardFragment {
|
|||||||
mTelephonyManager = getContext().getSystemService(TelephonyManager.class)
|
mTelephonyManager = getContext().getSystemService(TelephonyManager.class)
|
||||||
.createForSubscriptionId(mSubId);
|
.createForSubscriptionId(mSubId);
|
||||||
mNetworkScanHelper = new NetworkScanHelper(
|
mNetworkScanHelper = new NetworkScanHelper(
|
||||||
mTelephonyManager, mCallback, mNetworkScanExecutor);
|
getContext(), mTelephonyManager, mCallback, mNetworkScanExecutor);
|
||||||
PersistableBundle bundle = ((CarrierConfigManager) getContext().getSystemService(
|
PersistableBundle bundle = ((CarrierConfigManager) getContext().getSystemService(
|
||||||
Context.CARRIER_CONFIG_SERVICE)).getConfigForSubId(mSubId);
|
Context.CARRIER_CONFIG_SERVICE)).getConfigForSubId(mSubId);
|
||||||
if (bundle != null) {
|
if (bundle != null) {
|
||||||
|
Reference in New Issue
Block a user