diff options
Diffstat (limited to 'src/com/android/mms/service/MmsConfigManager.java')
-rw-r--r-- | src/com/android/mms/service/MmsConfigManager.java | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/src/com/android/mms/service/MmsConfigManager.java b/src/com/android/mms/service/MmsConfigManager.java index 551ad80..2442ac7 100644 --- a/src/com/android/mms/service/MmsConfigManager.java +++ b/src/com/android/mms/service/MmsConfigManager.java @@ -22,8 +22,9 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.res.Configuration; import android.telephony.SubscriptionInfo; +import android.telephony.SubscriptionListener; import android.telephony.SubscriptionManager; -import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener; +import android.text.TextUtils; import android.util.ArrayMap; import android.util.Log; @@ -31,6 +32,7 @@ import java.util.List; import java.util.Map; import com.android.internal.telephony.IccCardConstants; +import com.android.internal.telephony.TelephonyIntents; /** * This class manages cached copies of all the MMS configuration for each subscription ID. @@ -50,7 +52,6 @@ public class MmsConfigManager { // Map the various subIds to their corresponding MmsConfigs. private final Map<Integer, MmsConfig> mSubIdConfigMap = new ArrayMap<Integer, MmsConfig>(); private Context mContext; - private SubscriptionManager mSubscriptionManager; /** * This receiver listens for changes made to SubInfoRecords and for a broadcast telling us @@ -69,18 +70,15 @@ public class MmsConfigManager { } }; - private final OnSubscriptionsChangedListener mOnSubscriptionsChangedListener = - new OnSubscriptionsChangedListener() { + private final SubscriptionListener mSubscriptionListener = new SubscriptionListener() { @Override - public void onSubscriptionsChanged() { + public void onSubscriptionInfoChanged() { loadInBackground(); } }; - public void init(final Context context) { mContext = context; - mSubscriptionManager = SubscriptionManager.from(context); // TODO: When this object "finishes" we should unregister. IntentFilter intentFilterLoaded = @@ -88,14 +86,15 @@ public class MmsConfigManager { context.registerReceiver(mReceiver, intentFilterLoaded); // TODO: When this object "finishes" we should unregister by invoking - // SubscriptionManager.getInstance(mContext).unregister(mOnSubscriptionsChangedListener); + // SubscriptionManager.unregister(mContext, mSubscriptionListener); // This is not strictly necessary because it will be unregistered if the // notification fails but it is good form. // Register for SubscriptionInfo list changes which is guaranteed - // to invoke onSubscriptionsChanged the first time. - SubscriptionManager.from(mContext).registerOnSubscriptionsChangedListener( - mOnSubscriptionsChangedListener); + // to invoke onSubscriptionInfoChanged and which in turns calls + // loadInBackgroud. + SubscriptionManager.register(mContext, mSubscriptionListener, + SubscriptionListener.LISTEN_SUBSCRIPTION_INFO_LIST_CHANGED); } private void loadInBackground() { @@ -138,7 +137,7 @@ public class MmsConfigManager { * */ private void load(Context context) { - List<SubscriptionInfo> subs = mSubscriptionManager.getActiveSubscriptionInfoList(); + List<SubscriptionInfo> subs = SubscriptionManager.getActiveSubscriptionInfoList(); if (subs == null || subs.size() < 1) { Log.e(TAG, "MmsConfigManager.load -- empty getActiveSubInfoList"); return; |