Additional changes to SubscriptionManager API as per API council.

bug: 17575308
Change-Id: I7773965094510999bfce8fc6b2b31ba6ce496653
This commit is contained in:
Wink Saville
2014-11-19 10:34:28 -08:00
parent 3a84d40133
commit 1285f74fcb
8 changed files with 87 additions and 80 deletions

View File

@@ -19,8 +19,6 @@ package com.android.settings.sim;
import com.android.settings.R;
import com.android.settings.Settings.SimSettingsActivity;
import java.util.List;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
@@ -31,10 +29,9 @@ import android.content.SharedPreferences.Editor;
import android.content.res.Resources;
import android.support.v4.app.NotificationCompat;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionListener;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener;
import com.android.settings.Utils;
@@ -47,16 +44,17 @@ public class SimBootReceiver extends BroadcastReceiver {
private SharedPreferences mSharedPreferences = null;
private TelephonyManager mTelephonyManager;
private Context mContext;
private SubscriptionManager mSubscriptionManager;
@Override
public void onReceive(Context context, Intent intent) {
mTelephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
mContext = context;
mSubscriptionManager = SubscriptionManager.from(mContext);
mSharedPreferences = mContext.getSharedPreferences(SHARED_PREFERENCES_NAME,
Context.MODE_PRIVATE);
SubscriptionManager.register(mContext, mSubscriptionListener,
SubscriptionListener.LISTEN_SUBSCRIPTION_INFO_LIST_CHANGED);
mSubscriptionManager.registerOnSubscriptionsChangedListener(mSubscriptionListener);
}
private void detectChangeAndNotify() {
@@ -71,12 +69,12 @@ public class SimBootReceiver extends BroadcastReceiver {
// by checking if the list is empty.
// This is not completely correct, but works for most cases.
// See Bug: 18377252
if (SubscriptionManager.getActiveSubscriptionInfoList().size() < 1) {
if (mSubscriptionManager.getActiveSubscriptionInfoList().size() < 1) {
return;
}
for (int i = 0; i < numSlots; i++) {
final SubscriptionInfo sir = Utils.findRecordBySlotId(i);
final SubscriptionInfo sir = Utils.findRecordBySlotId(mContext, i);
final String key = SLOT_PREFIX+i;
final int lastSubId = getLastSubId(key);
@@ -133,9 +131,10 @@ public class SimBootReceiver extends BroadcastReceiver {
notificationManager.cancel(NOTIFICATION_ID);
}
private final SubscriptionListener mSubscriptionListener = new SubscriptionListener() {
private final OnSubscriptionsChangedListener mSubscriptionListener =
new OnSubscriptionsChangedListener() {
@Override
public void onSubscriptionInfoChanged() {
public void onSubscriptionsChanged() {
detectChangeAndNotify();
}
};