summaryrefslogtreecommitdiffstats
path: root/src/com/android/mms/service/MmsConfigManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/mms/service/MmsConfigManager.java')
-rw-r--r--src/com/android/mms/service/MmsConfigManager.java23
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;