Fixed the logic for tethering provisioning re-evaluation
Previously we only re-evaluate provisioning for SIM swap case The new logic covers both SIM swap case (ABSENT->NOT_READY->UNKNOWN->READY->LOADED) and modem reset case (NOT_READY->READY->LOADED) Test: Manual bug: 33815946 Change-Id: I9960123605b10d3fa5f3584c6c8b70b616acd6f8
This commit is contained in:
@@ -1419,9 +1419,8 @@ public class Tethering extends BaseNetworkObserver {
|
|||||||
// used to verify this receiver is still current
|
// used to verify this receiver is still current
|
||||||
final private int mGenerationNumber;
|
final private int mGenerationNumber;
|
||||||
|
|
||||||
// we're interested in edge-triggered LOADED notifications, so
|
// used to check the sim state transition from non-loaded to loaded
|
||||||
// ignore LOADED unless we saw an ABSENT state first
|
private boolean mSimNotLoadedSeen = false;
|
||||||
private boolean mSimAbsentSeen = false;
|
|
||||||
|
|
||||||
public SimChangeBroadcastReceiver(int generationNumber) {
|
public SimChangeBroadcastReceiver(int generationNumber) {
|
||||||
super();
|
super();
|
||||||
@@ -1439,14 +1438,14 @@ public class Tethering extends BaseNetworkObserver {
|
|||||||
final String state =
|
final String state =
|
||||||
intent.getStringExtra(IccCardConstants.INTENT_KEY_ICC_STATE);
|
intent.getStringExtra(IccCardConstants.INTENT_KEY_ICC_STATE);
|
||||||
|
|
||||||
Log.d(TAG, "got Sim changed to state " + state + ", mSimAbsentSeen=" +
|
Log.d(TAG, "got Sim changed to state " + state + ", mSimNotLoadedSeen=" +
|
||||||
mSimAbsentSeen);
|
mSimNotLoadedSeen);
|
||||||
if (!mSimAbsentSeen && IccCardConstants.INTENT_VALUE_ICC_ABSENT.equals(state)) {
|
if (!mSimNotLoadedSeen && !IccCardConstants.INTENT_VALUE_ICC_LOADED.equals(state)) {
|
||||||
mSimAbsentSeen = true;
|
mSimNotLoadedSeen = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mSimAbsentSeen && IccCardConstants.INTENT_VALUE_ICC_LOADED.equals(state)) {
|
if (mSimNotLoadedSeen && IccCardConstants.INTENT_VALUE_ICC_LOADED.equals(state)) {
|
||||||
mSimAbsentSeen = false;
|
mSimNotLoadedSeen = false;
|
||||||
try {
|
try {
|
||||||
if (mContext.getResources().getString(com.android.internal.R.string.
|
if (mContext.getResources().getString(com.android.internal.R.string.
|
||||||
config_mobile_hotspot_provision_app_no_ui).isEmpty() == false) {
|
config_mobile_hotspot_provision_app_no_ui).isEmpty() == false) {
|
||||||
|
|||||||
Reference in New Issue
Block a user