/*
  * (non-Javadoc)
  * @see android.os.Handler#handleMessage(android.os.Message)
  */
 @Override
 public void handleMessage(Message msg) {
   AsyncResult ar;
   switch (msg.what) {
     case EVENT_CDMA_SUBSCRIPTION_SOURCE_CHANGED:
     case EVENT_GET_CDMA_SUBSCRIPTION_SOURCE:
       {
         log("CDMA_SUBSCRIPTION_SOURCE event = " + msg.what);
         ar = (AsyncResult) msg.obj;
         handleGetCdmaSubscriptionSource(ar);
       }
       break;
     case EVENT_RADIO_ON:
       {
         mCM.getCdmaSubscriptionSource(obtainMessage(EVENT_GET_CDMA_SUBSCRIPTION_SOURCE));
       }
       break;
     case EVENT_SUBSCRIPTION_STATUS_CHANGED:
       {
         Log.d(LOG_TAG, "EVENT_SUBSCRIPTION_STATUS_CHANGED");
         ar = (AsyncResult) msg.obj;
         if (ar.exception == null) {
           int actStatus = ((int[]) ar.result)[0];
           Log.d(LOG_TAG, "actStatus = " + actStatus);
           if (actStatus == SUBSCRIPTION_ACTIVATED) { // Subscription Activated
             // In case of multi-SIM, framework should wait for the subscription ready
             // to send any request to RIL.  Otherwise it will return failure.
             Log.d(LOG_TAG, "get Cdma Subscription Source");
             mCM.getCdmaSubscriptionSource(obtainMessage(EVENT_GET_CDMA_SUBSCRIPTION_SOURCE));
           }
         }
       }
       break;
     default:
       super.handleMessage(msg);
   }
 }