MWI,phantom call,Suppl services

1. IMS MWI Feature
- Add new API to update waiting
voice message count, for UI
propagation based on RFC 3842

2. phantom call support

Supplementary services
3. IMS: CallForward Unconditional Timer
- Add new API for callforward
   unconditional timer in aidl file.

4. IMS : Incoming Call Barring
- Added new field to display ICB
   anonymous number.
- Modified existing API to support
   request like registration,activation,
   deactivation,erasure,interogation.

5.Unsol supplementary service notification
- send unsol supplementary notification to UI
- add call history info

6.  Don't reset mUpdateRequest flag upon
receiving call update notification,
oncallSessionUpdated().

7. Reset mHold variable when hold request failed
reset mHold variable so that ImsCall's state corresponds to the
actual state of the call

Change-Id: I7a0293d21fca4bf40dbe764c5d9d9dbb8665d55d
diff --git a/src/java/com/android/ims/ImsManager.java b/src/java/com/android/ims/ImsManager.java
index f8f2bf6..d898f9f 100644
--- a/src/java/com/android/ims/ImsManager.java
+++ b/src/java/com/android/ims/ImsManager.java
@@ -139,6 +139,18 @@
      */
     public static final String EXTRA_USSD = "android:ussd";
 
+    /**
+     * Part of the ACTION_IMS_INCOMING_CALL intents.
+     * A boolean value; Flag to indicate whether the call is an unknown
+     * dialing call. Such calls are originated by sending commands (like
+     * AT commands) directly to modem without Android involvement.
+     * Even though they are not incoming calls, they are propagated
+     * to Phone app using same ACTION_IMS_INCOMING_CALL intent.
+     * Internal use only.
+     * @hide
+     */
+    public static final String EXTRA_IS_UNKNOWN_CALL = "codeaurora:isUnknown";
+
     private static final String TAG = "ImsManager";
     private static final boolean DBG = true;
 
@@ -1069,6 +1081,15 @@
             }
         }
 
+        @Override
+        public void voiceMessageCountUpdate(int count) {
+            log("voiceMessageCountUpdate :: count=" + count);
+
+            if (mListener != null) {
+                mListener.onVoiceMessageCountChanged(count);
+            }
+        }
+
     }
     /**
      * Gets the ECBM interface to request ECBM exit.