Squashed merge of master-sim into master.

Includes the following commits:

==

Let phone process bind to EuiccService implementation.

==

Implement EuiccManager actions through a dispatcher.

The dispatcher is a trampoline activity which forwards the given
action to the highest-priority LUI implementation after performing the
necessary prerequisite checks. It has priority=1000, which means no
APK other than those bundled with the system can supercede it.

==

Add eUICC UI into Mobile Network Setting Screen

Add a preference in Mobile Network Setting Screen to start the
eUICC settings. This preference will only be available when
EuiccManger#isEnabled is true.

==

Test: TreeHugger
Change-Id: I6463c31b577d66512151cc864b21c1ea028593f9
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index bc1c448..85ad6bd 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -144,6 +144,7 @@
     <uses-permission android:name="android.permission.BIND_CARRIER_SERVICES" />
     <!-- BIND_CARRIER_MESSAGING_SERVICE has been deprecated in favor of BIND_CARRIER_SERVICES. -->
     <uses-permission android:name="android.permission.BIND_CARRIER_MESSAGING_SERVICE" />
+    <uses-permission android:name="android.permission.BIND_EUICC_SERVICE" />
     <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
     <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
     <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
@@ -484,6 +485,19 @@
             </intent-filter>
         </service>
 
+        <!-- Handler for EuiccManager's public-facing intents. -->
+        <activity android:name=".EuiccUiDispatcherActivity"
+            android:theme="@android:style/Theme.NoDisplay">
+            <!-- Max out priority to ensure nobody else will handle these intents. -->
+            <intent-filter android:priority="1000">
+                <action android:name=
+                            "android.telephony.euicc.action.MANAGE_EMBEDDED_SUBSCRIPTIONS" />
+                <action android:name=
+                            "android.telephony.euicc.action.PROVISION_EMBEDDED_SUBSCRIPTIONS" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+
         <activity android:name="EmergencyCallbackModeExitDialog"
             android:excludeFromRecents="true"
             android:label="@string/ecm_exit_dialog"