Merge changes from topic "ims_apis"

* changes:
  Modify ImsService API namespaces
  Integrate MMTel API into the framework
  Test App for ImsService
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index d2ef077..ed1d3d6 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -180,6 +180,7 @@
     <uses-permission android:name="android.permission.MANAGE_NETWORK_POLICY" />
     <uses-permission android:name="android.permission.READ_NETWORK_USAGE_HISTORY" />
     <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
+    <uses-permission android:name="android.permission.BIND_TELEPHONY_DATA_SERVICE" />
 
     <application android:name="PhoneApp"
             android:persistent="true"
@@ -665,5 +666,11 @@
         <service
             android:name="com.android.phone.vvm.RemoteVvmTaskManager"
             android:exported="false"/>
+        <service android:name="com.android.internal.telephony.dataconnection.CellularDataService"
+            android:permission="android.permission.BIND_TELEPHONY_DATA_SERVICE" >
+            <intent-filter>
+                <action android:name="android.telephony.data.DataService" />
+            </intent-filter>
+        </service>
     </application>
 </manifest>
diff --git a/src/com/android/services/telephony/EmergencyTonePlayer.java b/src/com/android/services/telephony/EmergencyTonePlayer.java
index aaec24f..a21489d 100644
--- a/src/com/android/services/telephony/EmergencyTonePlayer.java
+++ b/src/com/android/services/telephony/EmergencyTonePlayer.java
@@ -67,11 +67,7 @@
                 startVibrate();
                 break;
             case EMERGENCY_TONE_ALERT:
-                // Only start if we are not in silent mode.
-                int ringerMode = mAudioManager.getRingerMode();
-                if (ringerMode == AudioManager.RINGER_MODE_NORMAL) {
-                    startAlert();
-                }
+                startAlert();
                 break;
             case EMERGENCY_TONE_OFF:
                 // nothing;
diff --git a/src/com/android/services/telephony/GsmConnection.java b/src/com/android/services/telephony/GsmConnection.java
index ca547fa..23485d1 100644
--- a/src/com/android/services/telephony/GsmConnection.java
+++ b/src/com/android/services/telephony/GsmConnection.java
@@ -81,12 +81,6 @@
             }
         }
 
-        // For GSM connections, CAPABILITY_CONFERENCE_HAS_NO_CHILDREN should be applied whenever
-        // PROPERTY_IS_DOWNGRADED_CONFERENCE is true.
-        if ((getConnectionProperties() & PROPERTY_IS_DOWNGRADED_CONFERENCE) != 0) {
-            capabilities |= CAPABILITY_CONFERENCE_HAS_NO_CHILDREN;
-        }
-
         return capabilities;
     }
 
diff --git a/src/com/android/services/telephony/ImsConference.java b/src/com/android/services/telephony/ImsConference.java
index 49f7afe..8f0c44a 100644
--- a/src/com/android/services/telephony/ImsConference.java
+++ b/src/com/android/services/telephony/ImsConference.java
@@ -891,7 +891,6 @@
                         mConferenceHost.isOutgoingCall());
                 // This is a newly created conference connection as a result of SRVCC
                 c.setConferenceSupported(true);
-                c.addCapability(Connection.CAPABILITY_CONFERENCE_HAS_NO_CHILDREN);
                 c.setConnectionProperties(
                         c.getConnectionProperties() | Connection.PROPERTY_IS_DOWNGRADED_CONFERENCE);
                 c.updateState();