@Override public void handleMessage(Message msg) { AsyncResult ar; switch (msg.what) { case EVENT_SET_SUBSCRIPTION_DONE: Log.d(LOG_TAG, "EVENT_SET_SUBSCRIPTION_DONE"); mEnablerPreference.handleSetSubDone(); mSubscriptionManager.unRegisterForSetSubscriptionCompleted(mHandler); try { dismissDialog(DIALOG_SET_SUBSCRIPTION_IN_PROGRESS); } catch (Exception e) { e.printStackTrace(); } getPreferenceScreen().setEnabled(true); ar = (AsyncResult) msg.obj; String result[] = (String[]) ar.result; if (result != null) { displayAlertDialog(resultToMsg(result[CARD1])); setScreenState(); } else { finish(); } break; case EVENT_ENABLE_GSM_STEP1_DONE: try { dismissDialog(DIALOG_DISABLE_CARD2_GSM_IN_PROGRESS); } catch (Exception e) { e.printStackTrace(); } mSubscriptionManager.unRegisterForSetSubscriptionCompleted(mHandler); switchToGSMStep2(); break; case EVENT_SIM_STATE_CHANGED: Log.d(LOG_TAG, "EVENT_SIM_STATE_CHANGED"); break; } }