Home | History | Annotate | Download | only in java
      1 <?xml version="1.0" encoding="utf-8"?>
      2 
      3 <!-- Copyright 2014 The Chromium Authors. All rights reserved.
      4 
      5      Use of this source code is governed by a BSD-style license that can be
      6      found in the LICENSE file.
      7  -->
      8 
      9 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     10     package="org.chromium.chrome.sync_shell">
     11 
     12     <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="20" />
     13     <permission android:name="org.chromium.chrome.shell.permission.SANDBOX"
     14             android:protectionLevel="signature" />
     15     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
     16     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
     17     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
     18     <uses-permission android:name="android.permission.CAMERA" />
     19     <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
     20     <uses-permission android:name="android.permission.INTERNET"/>
     21     <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
     22     <uses-permission android:name="android.permission.RECORD_AUDIO"/>
     23     <uses-permission android:name="android.permission.VIBRATE"/>
     24     <uses-permission android:name="android.permission.WAKE_LOCK"/>
     25     <uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
     26     <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
     27     <uses-permission android:name="android.permission.USE_CREDENTIALS" />
     28     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
     29     <!-- Only Chrome can receive the messages and registration result for GCM -->
     30     <permission android:name="org.chromium.chrome.shell.permission.C2D_MESSAGE"
     31                 android:protectionLevel="signature" />
     32     <uses-permission android:name="org.chromium.chrome.shell.permission.C2D_MESSAGE" />
     33     <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
     34 
     35     <application android:name="org.chromium.chrome.shell.ChromeShellApplication"
     36             android:icon="@mipmap/app_icon"
     37             android:label="Chrome Sync Shell">
     38         <activity android:name="org.chromium.chrome.shell.ChromeShellActivity"
     39                   android:launchMode="singleTask"
     40                   android:theme="@android:style/Theme.Holo.Light.NoActionBar"
     41                   android:configChanges="orientation|keyboardHidden|keyboard|screenSize"
     42                   android:hardwareAccelerated="true">
     43               <intent-filter>
     44                   <action android:name="android.intent.action.MAIN" />
     45                   <category android:name="android.intent.category.LAUNCHER" />
     46               </intent-filter>
     47          </activity>
     48         <activity android:name="org.chromium.sync.test.util.MockGrantCredentialsPermissionActivity"
     49                   android:exported="true">
     50             <intent-filter>
     51                 <action android:name="android.intent.action.VIEW" />
     52                 <category android:name="android.intent.category.DEFAULT" />
     53             </intent-filter>
     54         </activity>
     55         <!-- The following service entries exist in order to allow us to
     56              start more than one sandboxed process. -->
     57 
     58         <!-- NOTE: If you change the values of "android:process" for any of the below services,
     59              you also need to update kHelperProcessExecutableName in chrome_constants.cc. -->
     60         <service android:name="org.chromium.content.app.SandboxedProcessService0"
     61                  android:process=":sandboxed_process0"
     62                  android:permission="org.chromium.content_shell.permission.SANDBOX"
     63                  android:isolatedProcess="true"
     64                  android:exported="false" />
     65         <service android:name="org.chromium.content.app.SandboxedProcessService1"
     66                  android:process=":sandboxed_process1"
     67                  android:permission="org.chromium.content_shell.permission.SANDBOX"
     68                  android:isolatedProcess="true"
     69                  android:exported="false" />
     70         <service android:name="org.chromium.content.app.SandboxedProcessService2"
     71                  android:process=":sandboxed_process2"
     72                  android:permission="org.chromium.content_shell.permission.SANDBOX"
     73                  android:isolatedProcess="true"
     74                  android:exported="false" />
     75         <service android:name="org.chromium.content.app.SandboxedProcessService3"
     76                  android:process=":sandboxed_process3"
     77                  android:permission="org.chromium.content_shell.permission.SANDBOX"
     78                  android:isolatedProcess="true"
     79                  android:exported="false" />
     80         <service android:name="org.chromium.content.app.SandboxedProcessService4"
     81                  android:process=":sandboxed_process4"
     82                  android:permission="org.chromium.content_shell.permission.SANDBOX"
     83                  android:isolatedProcess="true"
     84                  android:exported="false" />
     85         <service android:name="org.chromium.content.app.SandboxedProcessService5"
     86                  android:process=":sandboxed_process5"
     87                  android:permission="org.chromium.content_shell.permission.SANDBOX"
     88                  android:isolatedProcess="true"
     89                  android:exported="false" />
     90         <service android:name="org.chromium.content.app.SandboxedProcessService6"
     91                  android:process=":sandboxed_process6"
     92                  android:permission="org.chromium.content_shell.permission.SANDBOX"
     93                  android:isolatedProcess="true"
     94                  android:exported="false" />
     95         <service android:name="org.chromium.content.app.SandboxedProcessService7"
     96                  android:process=":sandboxed_process7"
     97                  android:permission="org.chromium.content_shell.permission.SANDBOX"
     98                  android:isolatedProcess="true"
     99                  android:exported="false" />
    100         <service android:name="org.chromium.content.app.SandboxedProcessService8"
    101                  android:process=":sandboxed_process8"
    102                  android:permission="org.chromium.content_shell.permission.SANDBOX"
    103                  android:isolatedProcess="true"
    104                  android:exported="false" />
    105         <service android:name="org.chromium.content.app.SandboxedProcessService9"
    106                  android:process=":sandboxed_process9"
    107                  android:permission="org.chromium.content_shell.permission.SANDBOX"
    108                  android:isolatedProcess="true"
    109                  android:exported="false" />
    110         <service android:name="org.chromium.content.app.SandboxedProcessService10"
    111                  android:process=":sandboxed_process10"
    112                  android:permission="org.chromium.content_shell.permission.SANDBOX"
    113                  android:isolatedProcess="true"
    114                  android:exported="false" />
    115         <service android:name="org.chromium.content.app.SandboxedProcessService11"
    116                  android:process=":sandboxed_process11"
    117                  android:permission="org.chromium.content_shell.permission.SANDBOX"
    118                  android:isolatedProcess="true"
    119                  android:exported="false" />
    120         <service android:name="org.chromium.content.app.SandboxedProcessService12"
    121                  android:process=":sandboxed_process12"
    122                  android:permission="org.chromium.content_shell.permission.SANDBOX"
    123                  android:isolatedProcess="true"
    124                  android:exported="false" />
    125         <service android:name="org.chromium.content.app.SandboxedProcessService13"
    126                  android:process=":sandboxed_process13"
    127                  android:permission="org.chromium.content_shell.permission.SANDBOX"
    128                  android:isolatedProcess="true"
    129                  android:exported="false" />
    130         <service android:name="org.chromium.content.app.SandboxedProcessService14"
    131                  android:process=":sandboxed_process14"
    132                  android:permission="org.chromium.content_shell.permission.SANDBOX"
    133                  android:isolatedProcess="true"
    134                  android:exported="false" />
    135         <service android:name="org.chromium.content.app.SandboxedProcessService15"
    136                  android:process=":sandboxed_process15"
    137                  android:permission="org.chromium.content_shell.permission.SANDBOX"
    138                  android:isolatedProcess="true"
    139                  android:exported="false" />
    140         <service android:name="org.chromium.content.app.SandboxedProcessService16"
    141                  android:process=":sandboxed_process16"
    142                  android:permission="org.chromium.content_shell.permission.SANDBOX"
    143                  android:isolatedProcess="true"
    144                  android:exported="false" />
    145         <service android:name="org.chromium.content.app.SandboxedProcessService17"
    146                  android:process=":sandboxed_process17"
    147                  android:permission="org.chromium.content_shell.permission.SANDBOX"
    148                  android:isolatedProcess="true"
    149                  android:exported="false" />
    150         <service android:name="org.chromium.content.app.SandboxedProcessService18"
    151                  android:process=":sandboxed_process18"
    152                  android:permission="org.chromium.content_shell.permission.SANDBOX"
    153                  android:isolatedProcess="true"
    154                  android:exported="false" />
    155         <service android:name="org.chromium.content.app.SandboxedProcessService19"
    156                  android:process=":sandboxed_process19"
    157                  android:permission="org.chromium.content_shell.permission.SANDBOX"
    158                  android:isolatedProcess="true"
    159                  android:exported="false" />
    160 
    161         <!-- Receiver for GCM messages. Rebroadcasts them locally for sync. -->
    162         <receiver android:exported="true"
    163                   android:name="com.google.ipc.invalidation.external.client.contrib.MultiplexingGcmListener$GCMReceiver"
    164                   android:permission="com.google.android.c2dm.permission.SEND">
    165             <intent-filter>
    166                 <action android:name="com.google.android.c2dm.intent.RECEIVE" />
    167                 <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
    168                 <category android:name="org.chromium.chrome.shell"/>
    169             </intent-filter>
    170         </receiver>
    171         <service android:exported="false"
    172                  android:name="com.google.ipc.invalidation.external.client.contrib.MultiplexingGcmListener">
    173             <meta-data android:name="sender_ids"
    174                        android:value="cloudprint.c2dm (a] gmail.com,ipc.invalidation (a] gmail.com"/>
    175         </service>
    176 
    177         <!-- Notification service for sync. -->
    178         <meta-data android:name="ipc.invalidation.ticl.listener_service_class"
    179                    android:value="org.chromium.sync.notifier.InvalidationService"/>
    180         <service android:name="org.chromium.sync.notifier.InvalidationService"
    181                  android:exported="false">
    182             <intent-filter>
    183                 <action android:name="com.google.ipc.invalidation.AUTH_TOKEN_REQUEST"/>
    184             </intent-filter>
    185         </service>
    186         <service android:exported="false"
    187                  android:name="com.google.ipc.invalidation.ticl.android2.TiclService"/>
    188         <service android:exported="false"
    189                  android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageSenderService"/>
    190         <receiver android:exported="false"
    191                   android:name="com.google.ipc.invalidation.ticl.android2.AndroidInternalScheduler$AlarmReceiver"/>
    192         <receiver android:exported="false"
    193                   android:name="com.google.ipc.invalidation.external.client.contrib.AndroidListener$AlarmReceiver"/>
    194 
    195         <!-- Notification service multiplexed GCM receiver -->
    196         <service android:exported="false"
    197                  android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageReceiverService"
    198                  android:enabled="true"/>
    199         <receiver android:exported="false"
    200                   android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageReceiverService$Receiver">
    201             <intent-filter>
    202                 <action android:name="com.google.ipc.invalidation.gcmmplex.EVENT" />
    203             </intent-filter>
    204         </receiver>
    205 
    206         <!-- GCMDriver multiplexed GCM receiver -->
    207         <service android:exported="false"
    208                  android:name="org.chromium.components.gcm_driver.GCMListener"/>
    209         <receiver android:exported="false"
    210                   android:name="org.chromium.components.gcm_driver.GCMListener$Receiver">
    211             <intent-filter>
    212                 <action android:name="com.google.ipc.invalidation.gcmmplex.EVENT" />
    213             </intent-filter>
    214         </receiver>
    215 
    216         <provider android:name="org.chromium.chrome.browser.ChromeBrowserProvider"
    217                   android:authorities="org.chromium.chrome.sync_shell"
    218                   android:exported="true" />
    219 
    220         <!-- Sync adapter for browser sync. -->
    221         <service android:exported="false"
    222                  android:name="org.chromium.chrome.shell.sync.ChromeShellSyncAdapterService">
    223             <intent-filter>
    224                 <action android:name="android.content.SyncAdapter" />
    225             </intent-filter>
    226             <meta-data android:name="android.content.SyncAdapter"
    227                        android:resource="@xml/syncadapter" />
    228         </service>
    229 
    230         <!-- Broadcast receiver that will be notified of account changes. -->
    231         <receiver android:name="org.chromium.chrome.shell.signin.AccountsChangedReceiver">
    232             <intent-filter>
    233                 <action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" />
    234             </intent-filter>
    235         </receiver>
    236         <meta-data android:name="org.chromium.content.browser.SMART_CLIP_PROVIDER"
    237                    android:value="org.chromium.content.browser.SmartClipProvider" />
    238 
    239     </application>
    240 </manifest>
    241