Make the KeyChain handled its own grants rather than having
AccountManagerService handle them.

Change-Id: I44d437d5d8100e3c79415862186bc2908cd15537
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 1c0b5c5..15a46a1 100755
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -3,17 +3,11 @@
           package="com.android.keychain"
           android:sharedUserId="android.uid.system"
           >
-    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
-    <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"/>
-    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
     <application android:label="@string/app_name">
         <service android:name="com.android.keychain.KeyChainService">
             <intent-filter>
                 <action android:name="android.security.IKeyChainService"/>
-                <action android:name="android.accounts.AccountAuthenticator"/>
             </intent-filter>
-            <meta-data android:name="android.accounts.AccountAuthenticator"
-                       android:resource="@xml/authenticator"/>
         </service>
         <activity android:name="com.android.keychain.KeyChainActivity"
                   android:theme="@style/Transparent"
@@ -23,5 +17,11 @@
                 <category android:name="android.intent.category.DEFAULT"/>
             </intent-filter>
         </activity>
+        <receiver android:name=".KeyChainBroadcastReceiver">
+            <intent-filter>
+                <action android:name="android.intent.action.PACKAGE_REMOVED" />
+                <data android:scheme="package" />
+            </intent-filter>
+        </receiver>
   </application>
 </manifest>