summaryrefslogtreecommitdiffstats
path: root/src/com/android/providers/telephony/TelephonyProvider.java
diff options
context:
space:
mode:
authorAaron Knight <starlightknight@slkdev.net>2016-07-31 18:35:42 -0400
committerAaron Knight <starlightknight@slkdev.net>2016-07-31 22:26:17 -0400
commit65f7537ec772c4b81cd7657088a977c1b088c280 (patch)
treeb44822dc469fd27679df68b3c0ba3fed4b656051 /src/com/android/providers/telephony/TelephonyProvider.java
parentd62a920b65da5e7fb4e406a254d945efbad87d93 (diff)
downloadandroid_packages_providers_TelephonyProvider-65f7537ec772c4b81cd7657088a977c1b088c280.tar.gz
android_packages_providers_TelephonyProvider-65f7537ec772c4b81cd7657088a977c1b088c280.tar.bz2
android_packages_providers_TelephonyProvider-65f7537ec772c4b81cd7657088a977c1b088c280.zip
TelephonyProvider: Fix Default APN Preference Overlay on 1st Boot
In the current code on CM13, the overlay preference can only be called when Reset APN Settings is called. Looking at the source history this is a regression. Comparing with history, I've restored reading the overlay and tested that the default preference is now marked on the first boot. Change-Id: I3141d486afd45405c57ed25a89d9fa838fadf794
Diffstat (limited to 'src/com/android/providers/telephony/TelephonyProvider.java')
-rw-r--r--src/com/android/providers/telephony/TelephonyProvider.java23
1 files changed, 18 insertions, 5 deletions
diff --git a/src/com/android/providers/telephony/TelephonyProvider.java b/src/com/android/providers/telephony/TelephonyProvider.java
index 354a009..f95fec4 100644
--- a/src/com/android/providers/telephony/TelephonyProvider.java
+++ b/src/com/android/providers/telephony/TelephonyProvider.java
@@ -1796,11 +1796,24 @@ public class TelephonyProvider extends ContentProvider
private long getPreferredApnId(int subId, boolean checkApnSp) {
SharedPreferences sp = getContext().getSharedPreferences(PREF_FILE, Context.MODE_PRIVATE);
long apnId = sp.getLong(COLUMN_APN_ID + subId, INVALID_APN_ID);
- if (apnId == INVALID_APN_ID && checkApnSp) {
- apnId = getPreferredApnIdFromApn(subId);
- if (apnId != INVALID_APN_ID) {
- setPreferredApnId(apnId, subId);
- deletePreferredApn(subId);
+ if (apnId == INVALID_APN_ID) {
+ if (checkApnSp) {
+ apnId = getPreferredApnIdFromApn(subId);
+ if (apnId == INVALID_APN_ID) {
+ apnId = getDefaultPreferredApnId();
+
+ if (apnId != INVALID_APN_ID) {
+ setPreferredApnId(apnId, subId);
+ }
+ } else {
+ setPreferredApnId(apnId, subId);
+ deletePreferredApn(subId);
+ }
+ } else {
+ apnId = getDefaultPreferredApnId();
+ if (apnId != INVALID_APN_ID) {
+ setPreferredApnId(apnId, subId);
+ }
}
}
return apnId;