<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          package="org.thoughtcrime.securesms"
      android:versionCode="68"
      android:versionName="2.0.5">

    <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="19"/>

    <permission android:name="org.thoughtcrime.securesms.ACCESS_SECRETS"
                android:label="Access to TextSecure Secrets"
                android:protectionLevel="signature" />

	<uses-permission android:name="org.thoughtcrime.securesms.ACCESS_SECRETS"/>
    <uses-permission android:name="android.permission.READ_PROFILE"/>
    <uses-permission android:name="android.permission.WRITE_PROFILE"/>
    <uses-permission android:name="android.permission.BROADCAST_WAP_PUSH"
                     tools:ignore="ProtectedPermissions"/>
    <uses-permission android:name="android.permission.READ_CONTACTS"/>
    <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.RECEIVE_SMS"/>
    <uses-permission android:name="android.permission.RECEIVE_MMS"/>
    <uses-permission android:name="android.permission.READ_SMS"/>
    <uses-permission android:name="android.permission.SEND_SMS"/>
    <uses-permission android:name="android.permission.WRITE_SMS"/>
    <uses-permission android:name="android.permission.VIBRATE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_CALL_LOG" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

    <permission android:name="org.thoughtcrime.securesms.permission.C2D_MESSAGE"
                android:protectionLevel="signature" />
    <uses-permission android:name="org.thoughtcrime.securesms.permission.C2D_MESSAGE" />

    <application android:name="org.thoughtcrime.securesms.ApplicationListener"
                 android:icon="@drawable/icon"
                 android:label="@string/app_name"
                 android:theme="@style/TextSecure.LightTheme">

        <activity android:name=".RoutingActivity"
                  android:theme="@style/NoAnimation.Theme.BlackScreen"
                  android:launchMode="singleTask"
                  android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize">

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

            <intent-filter>
                  <action android:name="android.intent.action.SENDTO"/>
                  <category android:name="android.intent.category.DEFAULT" />
                  <data android:scheme="sms" />
                  <data android:scheme="smsto" />
                  <data android:scheme="mms" />
                  <data android:scheme="mmsto" />
            </intent-filter>

            <intent-filter>
                <action android:name="android.intent.action.SEND" />
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:mimeType="audio/*" />
                <data android:mimeType="image/*" />
                <data android:mimeType="text/plain" />
                <data android:mimeType="video/*" />
            </intent-filter>            

        </activity>

    <activity android:name=".RegistrationProblemsActivity"
              android:theme="@style/TextSecure.Light.Dialog"
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

    <activity android:name=".CountrySelectionActivity"
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

    <activity android:name=".ImportExportActivity"
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

    <activity android:name=".PromptMmsActivity"
              android:label="Configure MMS Settings"
              android:windowSoftInputMode="stateUnchanged"              
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

     <activity android:name=".MmsPreferencesActivity"
               android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

    <activity android:name=".ConversationListActivity"
              android:label="@string/app_name"
              android:launchMode="singleTask"
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

    <activity android:name=".ConversationActivity"
              android:windowSoftInputMode="stateUnchanged"
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

    <activity android:name=".GroupCreateActivity"
              android:windowSoftInputMode="stateVisible"
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

    <activity android:name=".DatabaseMigrationActivity"
              android:theme="@style/NoAnimation.Theme.Sherlock.Light.DarkActionBar"
              android:launchMode="singleTask"
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

    <activity android:name=".DatabaseUpgradeActivity"
              android:theme="@style/NoAnimation.Theme.Sherlock.Light.DarkActionBar"
              android:launchMode="singleTask"
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

    <activity android:name=".PassphraseCreateActivity"
              android:label="@string/AndroidManifest__create_passphrase"
              android:windowSoftInputMode="stateUnchanged"
              android:theme="@style/NoAnimation.Theme.Sherlock.Light.DarkActionBar"
              android:launchMode="singleTop"
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

    <activity android:name=".PassphrasePromptActivity"
              android:label="@string/AndroidManifest__enter_passphrase"
              android:launchMode="singleTop"
              android:theme="@style/NoAnimation.Theme.Sherlock.Light.DarkActionBar"              
              android:windowSoftInputMode="stateUnchanged"
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

    <activity android:name=".ContactSelectionActivity"
              android:label="@string/AndroidManifest__select_contacts"
              android:windowSoftInputMode="stateHidden"
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

    <activity android:name=".SingleContactSelectionActivity"
              android:label="@string/AndroidManifest__select_contact"
              android:windowSoftInputMode="stateHidden"
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

    <activity android:name=".PushContactSelectionActivity"
              android:label="@string/AndroidManifest__select_contacts"
              android:windowSoftInputMode="stateHidden"
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

    <activity android:name=".AutoInitiateActivity"
              android:theme="@style/TextSecure.Light.Dialog"
              android:label="@string/AndroidManifest__textsecure_detected"
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

    <activity android:name=".ViewIdentityActivity"
              android:label="@string/AndroidManifest__public_identity_key"
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

    <activity android:name=".ViewLocalIdentityActivity"
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

    <activity android:name=".PassphraseChangeActivity"
              android:label="@string/AndroidManifest__change_passphrase"
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

    <activity android:name=".VerifyIdentityActivity"
              android:label="@string/AndroidManifest__verify_identity"
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

    <activity android:name=".ReviewIdentitiesActivity"
              android:label="@string/AndroidManifest__manage_identity_keys"
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

    <activity android:name=".ReceiveKeyActivity" 
              android:label="@string/AndroidManifest__complete_key_exchange"
              android:theme="@style/TextSecure.Light.Dialog"
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
    
    <activity android:name=".ApplicationPreferencesActivity"
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

    <activity android:name=".RegistrationActivity"
              android:windowSoftInputMode="stateUnchanged"
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

    <activity android:name=".RegistrationProgressActivity"
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

    <activity android:name=".LogSubmitActivity"
              android:label="@string/AndroidManifest__log_submit"
              android:windowSoftInputMode="stateHidden"
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

    <activity android:name=".DummyActivity"
              android:theme="@android:style/Theme.NoDisplay"
              android:enabled="true"
              android:allowTaskReparenting="true"
              android:noHistory="true"
              android:excludeFromRecents="true"
              android:alwaysRetainTaskState="false"
              android:stateNotNeeded="true"
              android:clearTaskOnLaunch="true"
              android:finishOnTaskLaunch="true" />

    <service android:enabled="true" android:name=".service.ApplicationMigrationService"/>
    <service android:enabled="true" android:name=".service.KeyCachingService"/>
    <service android:enabled="true" android:name=".service.SendReceiveService"/>
    <service android:enabled="true" android:name=".service.RegistrationService"/>
    <service android:enabled="true" android:name=".service.DirectoryRefreshService"/>
    <service android:enabled="true" android:name=".gcm.GcmIntentService"/>

    <service android:name=".service.QuickResponseService"
             android:permission="android.permission.SEND_RESPOND_VIA_MESSAGE"
             android:exported="true" >
        <intent-filter>
            <action android:name="android.intent.action.RESPOND_VIA_MESSAGE" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="sms" />
            <data android:scheme="smsto" />
            <data android:scheme="mms" />
            <data android:scheme="mmsto" />
        </intent-filter>
    </service>


<!--	<receiver android:name=".service.BootListener" -->
<!-- 			  android:enabled="true" -->
<!-- 			  android:exported="false">-->
<!--    		<intent-filter>-->
<!--        		<action android:name="android.intent.action.BOOT_COMPLETED" />-->
<!--    		</intent-filter>-->
<!--	</receiver>-->

    <receiver android:name=".gcm.GcmBroadcastReceiver" 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.thoughtcrime.securesms" />
        </intent-filter>
    </receiver>

    <receiver android:name=".service.SmsListener"
              android:permission="android.permission.BROADCAST_SMS"
              android:enabled="true"
              android:exported="true">
             <intent-filter android:priority="1001">
                 <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
             </intent-filter>
             <intent-filter>
                 <action android:name="android.provider.Telephony.SMS_DELIVER"/>
             </intent-filter>
    </receiver>

    <receiver android:name=".service.SmsDeliveryListener"
              android:exported="true">
        <intent-filter>
            <action android:name="org.thoughtcrime.securesms.services.MESSAGE_SENT"/>
        </intent-filter>
    </receiver>

    <receiver android:name=".service.MmsListener"
              android:enabled="true"
              android:exported="true"
              android:permission="android.permission.BROADCAST_WAP_PUSH">
             <intent-filter android:priority="1001">
                 <action android:name="android.provider.Telephony.WAP_PUSH_RECEIVED"/>
                 <data android:mimeType="application/vnd.wap.mms-message" />
             </intent-filter>
             <intent-filter>
                 <action android:name="android.provider.Telephony.WAP_PUSH_DELIVER"/>
                 <data android:mimeType="application/vnd.wap.mms-message" />
             </intent-filter>
    </receiver>

    <receiver android:name=".notifications.MarkReadReceiver"
              android:enabled="true"
              android:exported="true">
        <intent-filter>
            <action android:name="org.thoughtcrime.securesms.notifications.CLEAR"/>
        </intent-filter>
    </receiver>

    <provider android:name=".providers.PartProvider"
              android:grantUriPermissions="true"
              android:authorities="org.thoughtcrime.provider.securesms" />

    <receiver android:name=".service.RegistrationNotifier"
              android:exported="false">
        <intent-filter>
            <action android:name="org.thoughtcrime.securesms.REGISTRATION_EVENT" />
        </intent-filter>
    </receiver>

    <receiver android:name=".service.DirectoryRefreshListener">
        <intent-filter>
            <action android:name="org.whispersystems.whisperpush.DIRECTORY_REFRESH"/>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
    </receiver>

       <uses-library android:name="android.test.runner" />
</application>

<instrumentation android:name="android.test.InstrumentationTestRunner"
       android:targetPackage="org.thoughtcrime.securesms.tests" android:label="Tests for My App" />

</manifest>