| Index: chrome/android/sync_shell/java/AndroidManifest.xml.jinja2
|
| diff --git a/chrome/android/sync_shell/java/AndroidManifest.xml.jinja2 b/chrome/android/sync_shell/java/AndroidManifest.xml.jinja2
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..5d82703fe7c627bd2a53f59b39ecb90fb7c09c30
|
| --- /dev/null
|
| +++ b/chrome/android/sync_shell/java/AndroidManifest.xml.jinja2
|
| @@ -0,0 +1,158 @@
|
| +<?xml version="1.0" encoding="utf-8"?>
|
| +
|
| +<!-- Copyright 2014 The Chromium Authors. All rights reserved.
|
| +
|
| + Use of this source code is governed by a BSD-style license that can be
|
| + found in the LICENSE file.
|
| + -->
|
| +
|
| +<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
| + package="org.chromium.chrome.sync_shell">
|
| +
|
| + <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="22" />
|
| + <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
|
| + <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
|
| + <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
| + <uses-permission android:name="android.permission.CAMERA" />
|
| + <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
|
| + <uses-permission android:name="android.permission.INTERNET"/>
|
| + <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
|
| + <uses-permission android:name="android.permission.NFC"/>
|
| + <uses-permission android:name="android.permission.RECORD_AUDIO"/>
|
| + <uses-permission android:name="android.permission.VIBRATE"/>
|
| + <uses-permission android:name="android.permission.WAKE_LOCK"/>
|
| + <uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
|
| + <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
|
| + <uses-permission android:name="android.permission.USE_CREDENTIALS" />
|
| + <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
| + <!-- Only Chrome can receive the messages and registration result for GCM -->
|
| + <permission android:name="org.chromium.chrome.sync_shell.permission.C2D_MESSAGE"
|
| + android:protectionLevel="signature" />
|
| + <uses-permission android:name="org.chromium.chrome.sync_shell.permission.C2D_MESSAGE" />
|
| + <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
|
| +
|
| + <application android:name="org.chromium.chrome.shell.ChromeShellApplication"
|
| + android:icon="@mipmap/app_icon"
|
| + android:label="Chrome Sync Shell">
|
| + <activity android:name="org.chromium.chrome.shell.ChromeShellActivity"
|
| + android:launchMode="singleTask"
|
| + android:theme="@style/MainTheme"
|
| + android:configChanges="orientation|keyboardHidden|keyboard|screenSize"
|
| + android:hardwareAccelerated="true">
|
| + <intent-filter>
|
| + <action android:name="android.intent.action.MAIN" />
|
| + <category android:name="android.intent.category.LAUNCHER" />
|
| + </intent-filter>
|
| + </activity>
|
| + <activity android:name="org.chromium.sync.test.util.MockGrantCredentialsPermissionActivity"
|
| + android:exported="true">
|
| + <intent-filter>
|
| + <action android:name="android.intent.action.VIEW" />
|
| + <category android:name="android.intent.category.DEFAULT" />
|
| + </intent-filter>
|
| + </activity>
|
| + <!-- The following service entries exist in order to allow us to
|
| + start more than one sandboxed process. -->
|
| +
|
| + <!-- NOTE: If you change the values of "android:process" for any of the below services,
|
| + you also need to update kHelperProcessExecutableName in chrome_constants.cc. -->
|
| + {% set num_sandboxed_services = 20 %}
|
| + <meta-data android:name="org.chromium.content.browser.NUM_SANDBOXED_SERVICES"
|
| + android:value="{{ num_sandboxed_services }}"/>
|
| + {% for i in range(num_sandboxed_services) %}
|
| + <service android:name="org.chromium.content.app.SandboxedProcessService{{ i }}"
|
| + android:process=":sandboxed_process{{ i }}"
|
| + android:isolatedProcess="true"
|
| + android:exported="false" />
|
| + {% endfor %}
|
| +
|
| + {% set num_privileged_services = 3 %}
|
| + <meta-data android:name="org.chromium.content.browser.NUM_PRIVILEGED_SERVICES"
|
| + android:value="{{ num_privileged_services }}"/>
|
| + {% for i in range(num_privileged_services) %}
|
| + <service android:name="org.chromium.content.app.PrivilegedProcessService{{ i }}"
|
| + android:process=":privileged_process{{ i }}"
|
| + android:isolatedProcess="false"
|
| + android:exported="false" />
|
| + {% endfor %}
|
| +
|
| + <!-- Receiver for GCM messages. Rebroadcasts them locally for sync. -->
|
| + <receiver android:exported="true"
|
| + android:name="com.google.ipc.invalidation.external.client.contrib.MultiplexingGcmListener$GCMReceiver"
|
| + android:permission="com.google.android.c2dm.permission.SEND">
|
| + <intent-filter>
|
| + <action android:name="com.google.android.c2dm.intent.RECEIVE" />
|
| + <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
|
| + <category android:name="org.chromium.chrome.shell"/>
|
| + </intent-filter>
|
| + </receiver>
|
| + <service android:exported="false"
|
| + android:name="com.google.ipc.invalidation.external.client.contrib.MultiplexingGcmListener">
|
| + <meta-data android:name="sender_ids"
|
| + android:value="cloudprint.c2dm@gmail.com,ipc.invalidation@gmail.com"/>
|
| + </service>
|
| +
|
| + <!-- Notification service for sync. -->
|
| + <meta-data android:name="ipc.invalidation.ticl.listener_service_class"
|
| + android:value="org.chromium.components.invalidation.InvalidationClientService"/>
|
| + <service android:name="org.chromium.components.invalidation.InvalidationClientService"
|
| + android:exported="false">
|
| + <intent-filter>
|
| + <action android:name="com.google.ipc.invalidation.AUTH_TOKEN_REQUEST"/>
|
| + </intent-filter>
|
| + </service>
|
| + <service android:exported="false"
|
| + android:name="com.google.ipc.invalidation.ticl.android2.TiclService"/>
|
| + <service android:exported="false"
|
| + android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageSenderService"/>
|
| + <receiver android:exported="false"
|
| + android:name="com.google.ipc.invalidation.ticl.android2.AndroidInternalScheduler$AlarmReceiver"/>
|
| + <receiver android:exported="false"
|
| + android:name="com.google.ipc.invalidation.external.client.contrib.AndroidListener$AlarmReceiver"/>
|
| +
|
| + <!-- Notification service multiplexed GCM receiver -->
|
| + <service android:exported="false"
|
| + android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageReceiverService"
|
| + android:enabled="true"/>
|
| + <receiver android:exported="false"
|
| + android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageReceiverService$Receiver">
|
| + <intent-filter>
|
| + <action android:name="com.google.ipc.invalidation.gcmmplex.EVENT" />
|
| + </intent-filter>
|
| + </receiver>
|
| +
|
| + <!-- GCMDriver multiplexed GCM receiver -->
|
| + <service android:exported="false"
|
| + android:name="org.chromium.chrome.browser.services.gcm.GCMListener"/>
|
| + <receiver android:exported="false"
|
| + android:name="org.chromium.chrome.browser.services.gcm.GCMListener$Receiver">
|
| + <intent-filter>
|
| + <action android:name="com.google.ipc.invalidation.gcmmplex.EVENT" />
|
| + </intent-filter>
|
| + </receiver>
|
| +
|
| + <provider android:name="org.chromium.chrome.browser.ChromeBrowserProvider"
|
| + android:authorities="org.chromium.chrome.sync_shell"
|
| + android:exported="true" />
|
| +
|
| + <!-- Sync adapter for browser invalidation. -->
|
| + <service android:exported="false"
|
| + android:name="org.chromium.chrome.shell.invalidation.ChromeShellSyncAdapterService">
|
| + <intent-filter>
|
| + <action android:name="android.content.SyncAdapter" />
|
| + </intent-filter>
|
| + <meta-data android:name="android.content.SyncAdapter"
|
| + android:resource="@xml/syncadapter" />
|
| + </service>
|
| +
|
| + <!-- Broadcast receiver that will be notified of account changes. -->
|
| + <receiver android:name="org.chromium.chrome.shell.signin.AccountsChangedReceiver">
|
| + <intent-filter>
|
| + <action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" />
|
| + </intent-filter>
|
| + </receiver>
|
| + <meta-data android:name="org.chromium.content.browser.SMART_CLIP_PROVIDER"
|
| + android:value="org.chromium.content.browser.SmartClipProvider" />
|
| +
|
| + </application>
|
| +</manifest>
|
|
|