Fixed an issue where the emergency affordance didn't show

The state wheather the sim affordance was needed before was
loaded but not saved locally if it didn't change, so any
further requests would have the default values if it stayed
true.

Test: add india sim, go into airplane mode, reboot, see emergency
button
Fixes: 34370542
Change-Id: I9da1f5ca8025df6c2618ab467e937cf5cf9aa132
This commit is contained in:
Selim Cinek
2017-02-08 12:51:59 -08:00
parent 66d545bfe9
commit e0358de1e4

View File

@@ -245,23 +245,25 @@ public class EmergencyAffordanceService extends SystemService {
}
}
}
if (neededNow != neededBefore) {
setSimNeedsEmergencyAffordance(neededNow);
}
setSimNeedsEmergencyAffordance(neededNow);
return neededNow;
}
private void setSimNeedsEmergencyAffordance(boolean simNeedsEmergencyAffordance) {
mSimNeedsEmergencyAffordance = simNeedsEmergencyAffordance;
Settings.Global.putInt(mContext.getContentResolver(),
EMERGENCY_SIM_INSERTED_SETTING,
simNeedsEmergencyAffordance ? 1 : 0);
updateEmergencyAffordanceNeeded();
if (simNeededAffordanceBefore() != simNeedsEmergencyAffordance) {
Settings.Global.putInt(mContext.getContentResolver(),
EMERGENCY_SIM_INSERTED_SETTING,
simNeedsEmergencyAffordance ? 1 : 0);
}
if (simNeedsEmergencyAffordance != mSimNeedsEmergencyAffordance) {
mSimNeedsEmergencyAffordance = simNeedsEmergencyAffordance;
updateEmergencyAffordanceNeeded();
}
}
private boolean simNeededAffordanceBefore() {
return Settings.Global.getInt(mContext.getContentResolver(),
"emergency_sim_inserted_before", 0) != 0;
EMERGENCY_SIM_INSERTED_SETTING, 0) != 0;
}
private boolean handleUpdateCellInfo() {