Fix bad cast exception.

Casting to Connection object, but the value is actually a Phone.
Change code to pass the asyncresult through to the phonestatechange
method of CallModeler as that makes more sense.

Change-Id: I59c8623e07ccc213ab8c4dd4507e8b2da33ead17
diff --git a/src/com/android/phone/CallModeler.java b/src/com/android/phone/CallModeler.java
index cfb5b65..23f442a 100644
--- a/src/com/android/phone/CallModeler.java
+++ b/src/com/android/phone/CallModeler.java
@@ -117,6 +117,8 @@
             case CallStateMonitor.PHONE_DISCONNECT:
                 onDisconnect((Connection) ((AsyncResult) msg.obj).result);
                 break;
+            case CallStateMonitor.PHONE_UNKNOWN_CONNECTION_APPEARED:
+                // fall through
             case CallStateMonitor.PHONE_STATE_CHANGED:
                 onPhoneStateChanged((AsyncResult) msg.obj);
                 break;
diff --git a/src/com/android/phone/CallNotifier.java b/src/com/android/phone/CallNotifier.java
index bf0897b..c9ad397 100644
--- a/src/com/android/phone/CallNotifier.java
+++ b/src/com/android/phone/CallNotifier.java
@@ -641,12 +641,9 @@
         PhoneConstants.State state = mCM.getState();
 
         if (state == PhoneConstants.State.OFFHOOK) {
-            // basically do onPhoneStateChanged + display the incoming call UI
-            onPhoneStateChanged(r);
+            if (DBG) log("unknown connection appeared...");
 
-            if (DBG) log("- showing incoming call (unknown connection appeared)...");
-            final Connection c = (Connection) r.result;
-            ringAndNotifyOfIncomingCall(c);
+            onPhoneStateChanged(r);
         }
     }