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

    <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16"/>

    <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>
    <uses-permission android:name="android.permission.READ_PROFILE"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_PROFILE"></uses-permission>	
    <uses-permission android:name="android.permission.BROADCAST_WAP_PUSH"></uses-permission>
    <uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_CONTACTS"></uses-permission>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
    <uses-permission android:name="android.permission.RECEIVE_MMS"></uses-permission>
    <uses-permission android:name="android.permission.READ_SMS"></uses-permission>
    <uses-permission android:name="android.permission.SEND_SMS"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_SMS"></uses-permission>
    <uses-permission android:name="android.permission.VIBRATE"></uses-permission>
    <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" />
        
    <application android:icon="@drawable/icon"
                 android:label="@string/app_name"
                 android:theme="@style/Theme.Sherlock.Light.DarkActionBar">

        <activity android:name=".RoutingActivity"
                  android:theme="@style/NoAnimation.Theme.Sherlock.Light.DarkActionBar"            
                  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" />
            </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/*" />
            </intent-filter>            
            
        </activity>
        
    <activity android:name=".ConversationListActivity"
              android:label="@string/app_name"
              android:launchMode="singleTask"
              android:uiOptions="splitActionBarWhenNarrow"
              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=".DatabaseMigrationActivity"
              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:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

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

    <activity android:name=".ViewIdentityActivity"
              android:theme="@style/Theme.Sherlock.Light.Dialog"
              android:label="@string/AndroidManifest__public_identity_key"
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

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

    <activity android:name=".VerifyKeysActivity"
              android:label="@string/AndroidManifest__verify_session"
              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=".SaveIdentityActivity"
              android:theme="@style/Theme.Sherlock.Light.Dialog"
              android:label="@string/AndroidManifest__save_identity"
              android:windowSoftInputMode="stateVisible"
              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:theme="@style/Theme.Sherlock.Light.Dialog" 
              android:label="@string/AndroidManifest__complete_key_exchange" 
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
    
    <activity android:name=".ApplicationPreferencesActivity" 
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

    <activity android:name=".VerifyImportedIdentityActivity" 
              android:theme="@style/Theme.Sherlock.Light.Dialog" 
              android:label="@string/AndroidManifest__verify_imported_identity" 
              android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>

    <service android:enabled="true" android:name=".service.ApplicationMigrationService"/>
    <service android:enabled="true" android:name=".service.KeyCachingService"/>
    <service android:enabled="true" android:name=".service.SendReceiveService"/>

<!--	<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=".service.SmsListener"
              android:enabled="true"
              android:exported="true">
             <intent-filter android:priority="1001">
                 <action android:name="android.provider.Telephony.SMS_RECEIVED"></action>
             </intent-filter>
             <intent-filter>
                 <action android:name="org.thoughtcrime.securesms.services.MESSAGE_SENT"></action>
             </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"></action>
                 <data android:mimeType="application/vnd.wap.mms-message" />
             </intent-filter>
    </receiver>
    
    <receiver android:name=".service.SystemStateListener"
              android:enabled="true"
              android:exported="true">
              <intent-filter>
                  <action android:name="android.net.conn.CONNECTIVITY_CHANGE"></action>                  
              </intent-filter>              
    </receiver>

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

       <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>
