移动应用反编译源码文件在线浏览与安全分析


正在查看:twinme v23.6 -- AndroidManifest.xml 的源代码文件

本页面用于展示反编译生成的源代码文件,仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="421" android:versionName="23.6" android:compileSdkVersion="34" android:compileSdkVersionCodename="14" package="org.twinlife.device.android.twinme" platformBuildVersionCode="34" platformBuildVersionName="14"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="33" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" android:minSdkVersion="22" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="28" />
    <uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" android:minSdkVersion="29" />
    <uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30" android:required="false" />
    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
    <uses-permission android:name="android.permission.BROADCAST_STICKY" android:maxSdkVersion="18" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" android:minSdkVersion="28" />
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" android:minSdkVersion="33" />
    <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
    <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
    <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
    <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
    <uses-permission android:name="com.sec.android.provider.badge.permission.READ" />
    <uses-permission android:name="com.sec.android.provider.badge.permission.WRITE" />
    <uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE" />
    <uses-permission android:name="com.huawei.android.launcher.permission.READ_SETTINGS" />
    <uses-permission android:name="com.huawei.android.launcher.permission.WRITE_SETTINGS" />
    <uses-permission android:name="com.htc.launcher.permission.READ_SETTINGS" />
    <uses-permission android:name="com.htc.launcher.permission.UPDATE_SHORTCUT" />
    <uses-permission android:name="com.sonyericsson.home.permission.BROADCAST_BADGE" />
    <uses-permission android:name="com.sonymobile.home.permission.PROVIDER_INSERT_BADGE" />
    <uses-permission android:name="com.anddoes.launcher.permission.UPDATE_COUNT" />
    <uses-permission android:name="android.permission.READ_APP_BADGE" />
    <uses-permission android:name="com.oppo.launcher.permission.READ_SETTINGS" />
    <uses-permission android:name="com.oppo.launcher.permission.WRITE_SETTINGS" />
    <uses-feature android:name="android.hardware.camera" android:required="false" />
    <uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
    <uses-feature android:glEsVersion="0x00020000" android:required="true" />
    <queries>
        <intent>
            <action android:name="android.media.action.IMAGE_CAPTURE" />
        </intent>
        <intent>
            <action android:name="android.media.action.VIDEO_CAPTURE" />
        </intent>
    </queries>
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <permission android:name="org.twinlife.device.android.twinme.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION" android:protectionLevel="signature" />
    <uses-permission android:name="org.twinlife.device.android.twinme.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION" />
    <uses-permission android:name="com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE" />
    <application android:theme="@style/TwinmeTheme" android:label="@string/application_name" android:icon="@mipmap/ic_launcher" android:name="org.twinlife.twinme.ui.TwinmeApplicationImpl" android:allowBackup="false" android:logo="@drawable/launcher" android:hardwareAccelerated="true" android:largeHeap="true" android:supportsRtl="true" android:extractNativeLibs="true" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:dataExtractionRules="@xml/data_extraction_rules" android:localeConfig="@xml/locales_config">
        <meta-data android:name="com.google.android.wearable.notificationBridgeMode" android:value="NO_BRIDGING" />
        <meta-data android:name="firebase_messaging_auto_init_enabled" android:value="false" />
        <meta-data android:name="firebase_analytics_collection_enabled" android:value="false" />
        <activity android:theme="@style/Base.Theme.AppCompat" android:name="com.theartofdev.edmodo.cropper.CropImageActivity" />
        <activity android:theme="@style/TwinmeThemeTranslucentWithNoActionBar" android:name="org.twinlife.twinme.ui.AcceptInvitationActivity" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.AccountActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.AddContactActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.callActivity.AddCallParticipantActivity" android:excludeFromRecents="true" android:launchMode="singleTask" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.callActivity.CallActivity" android:excludeFromRecents="true" android:launchMode="singleTask" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.accountMigrationActivity.AccountMigrationScannerActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.accountMigrationActivity.AccountMigrationActivity" android:excludeFromRecents="true" android:launchMode="singleTask" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.accountMigrationActivity.LocalAccountMigrationActivity" android:exported="true" android:excludeFromRecents="true" android:launchMode="singleTask" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.cleanupActivity.CleanUpActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.cleanupActivity.TypeCleanUpActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.contacts.ContactCapabilitiesActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.conversationActivity.ConversationActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="adjustResize|stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.conversationActivity.CameraActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="adjustResize|stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.conversationFilesActivity.ConversationFilesActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="adjustResize|stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.conversationFilesActivity.FullscreenMediaActivity" android:screenOrientation="sensor" android:configChanges="orientation|screenSize" android:windowSoftInputMode="adjustResize|stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.DeletedAccountActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.EditContactActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.EditIdentityActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.EditProfileActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.externalCallActivity.CreateExternalCallActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.externalCallActivity.EditExternalCallActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.externalCallActivity.ExternalCallCapabilitiesActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.externalCallActivity.ExternalCallsActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.externalCallActivity.InvitationExternalCallActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeTranslucentWithNoActionBar" android:name="org.twinlife.twinme.ui.externalCallActivity.OnboardingExternalCallActivity" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.externalCallActivity.ShowExternalCallActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.externalCallActivity.TransferCallActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.exportActivity.ExportActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.FatalErrorActivity" android:excludeFromRecents="true" android:screenOrientation="portrait" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.FeedbackActivity" android:screenOrientation="portrait" android:windowSoftInputMode="adjustPan|stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.FullscreenQRCodeActivity" android:excludeFromRecents="true" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" />
        <activity android:theme="@style/TwinmeThemeTranslucentWithNoActionBar" android:name="org.twinlife.twinme.ui.groups.AcceptGroupInvitationActivity" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.groups.AddGroupMemberActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.groups.AdminGroupActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.groups.CreateGroupActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.groups.EditGroupActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.groups.GroupMemberActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.groups.ShowGroupActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeTranslucentWithNoActionBar" android:name="org.twinlife.twinme.ui.ImportDateCardActivity" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.ImportPrivilegeCardActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.InfoItemActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="adjustResize|stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.LastCallsActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="adjustResize|stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.mainActivity.MainActivity" android:launchMode="singleTask" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="adjustPan|stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.MigrationTwinmePlusActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.newConversationActivity.NewConversationActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.privacyActivity.PrivacyActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.profiles.AddProfileActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeTranslucentWithNoActionBar" android:name="org.twinlife.twinme.ui.profiles.OnboardingProfileActivity" />
        <activity android:theme="@style/TwinmeThemeTranslucentWithNoActionBar" android:name="org.twinlife.twinme.ui.profiles.PropagatingProfileActivity" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.rooms.AddParticipantsRoomActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.rooms.AdminRoomActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.rooms.InvitationRoomActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.rooms.RoomMembersActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.ScanActivity" android:excludeFromRecents="true" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.rooms.ShowRoomActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.rooms.SettingsRoomActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.settingsActivity.AboutActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.settingsActivity.ConversationSettingsActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.settingsActivity.HelpActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.settingsActivity.MessagesSettingsActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.settingsActivity.PersonalizationActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.premiumServicesActivity.PremiumFeatureActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.premiumServicesActivity.PremiumServicesActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.settingsActivity.QualityOfServiceActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.settingsActivity.SoundsSettingsActivity" android:exported="true" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.NOTIFICATION_PREFERENCES" />
            </intent-filter>
        </activity>
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.shareActivity.ShareActivity" android:exported="true" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden">
            <intent-filter>
                <action android:name="android.intent.action.SEND" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="*/*" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.SEND_MULTIPLE" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="*/*" />
            </intent-filter>
        </activity>
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.ShowContactActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.ShowProfileActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.spaces.ConversationAppearanceActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.spaces.OnboardingSpaceActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" />
        <activity android:theme="@style/Theme.App.Starting" android:name="org.twinlife.twinme.ui.SplashScreenActivity" android:exported="true" android:launchMode="standard" android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.MULTIWINDOW_LAUNCHER" />
            </intent-filter>
            <intent-filter android:autoVerify="true">
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="https" android:host="invite.twin.me" />
            </intent-filter>
            <intent-filter android:autoVerify="true">
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="twinme" android:host="invite.twin.me" />
            </intent-filter>
        </activity>
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.streamingAudioActivity.StreamingAudioActivity" android:excludeFromRecents="true" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.UpdateAppActivity" android:screenOrientation="portrait" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.WebViewActivity" />
        <activity android:theme="@style/TwinmeThemeWithNoActionBar" android:name="org.twinlife.twinme.ui.welcomeActivity.WelcomeActivity" android:excludeFromRecents="true" android:screenOrientation="portrait" />
        <receiver android:name="org.twinlife.twinme.ui.BootReceiver" android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>
        <receiver android:name="androidx.media.session.MediaButtonReceiver" android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MEDIA_BUTTON" />
            </intent-filter>
        </receiver>
        <service android:name="org.twinlife.twinlife.TwinlifeService" />
        <service android:name="org.twinlife.twinme.services.AccountMigrationService" android:exported="false" android:foregroundServiceType="dataSync" />
        <service android:name="org.twinlife.twinme.export.ExportService" android:exported="false" android:foregroundServiceType="dataSync" />
        <service android:name="org.twinlife.twinme.calls.CallService" android:exported="false" android:foregroundServiceType="phoneCall">
            <intent-filter>
                <action android:name="android.intent.action.MEDIA_BUTTON" />
            </intent-filter>
        </service>
        <service android:name="org.twinlife.twinme.services.PeerService" android:exported="false" android:foregroundServiceType="dataSync" />
        <service android:name="org.twinlife.twinme.services.TwinmeFirebaseMessagingService" android:exported="false">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
        </service>
        <service android:name="org.twinlife.twinlife.job.AlarmJobService" android:permission="android.permission.BIND_JOB_SERVICE" android:enabled="true" />
        <receiver android:name="org.twinlife.twinlife.job.AlarmReceiver" />
        <provider android:name="androidx.core.content.FileProvider" android:exported="false" android:authorities="org.twinlife.device.android.twinme.fileprovider" android:grantUriPermissions="true">
            <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths" />
        </provider>
        <provider android:name="org.twinlife.twinme.ui.conversationActivity.NamedFileProvider" android:exported="false" android:authorities="org.twinlife.device.android.twinme.namedfileprovider" android:grantUriPermissions="true" />
        <receiver android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver" android:permission="com.google.android.c2dm.permission.SEND" android:exported="true">
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
            </intent-filter>
        </receiver>
        <service android:name="com.google.firebase.messaging.FirebaseMessagingService" android:exported="false" android:directBootAware="true">
            <intent-filter android:priority="-500">
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
        </service>
        <service android:name="com.google.firebase.components.ComponentDiscoveryService" android:exported="false" android:directBootAware="true">
            <meta-data android:name="com.google.firebase.components:com.google.firebase.messaging.FirebaseMessagingRegistrar" android:value="com.google.firebase.components.ComponentRegistrar" />
            <meta-data android:name="com.google.firebase.components:com.google.firebase.datatransport.TransportRegistrar" android:value="com.google.firebase.components.ComponentRegistrar" />
            <meta-data android:name="com.google.firebase.components:com.google.firebase.installations.FirebaseInstallationsRegistrar" android:value="com.google.firebase.components.ComponentRegistrar" />
        </service>
        <provider android:name="com.google.firebase.provider.FirebaseInitProvider" android:exported="false" android:authorities="org.twinlife.device.android.twinme.firebaseinitprovider" android:initOrder="100" android:directBootAware="true" />
        <activity android:theme="@android:style/Theme.Translucent.NoTitleBar" android:name="com.google.android.gms.common.api.GoogleApiActivity" android:exported="false" />
        <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
        <provider android:name="androidx.startup.InitializationProvider" android:exported="false" android:authorities="org.twinlife.device.android.twinme.androidx-startup">
            <meta-data android:name="androidx.emoji2.text.EmojiCompatInitializer" android:value="androidx.startup" />
            <meta-data android:name="androidx.lifecycle.ProcessLifecycleInitializer" android:value="androidx.startup" />
            <meta-data android:name="androidx.profileinstaller.ProfileInstallerInitializer" android:value="androidx.startup" />
        </provider>
        <service android:name="com.google.android.datatransport.runtime.backends.TransportBackendDiscovery" android:exported="false">
            <meta-data android:name="backend:com.google.android.datatransport.cct.CctBackendFactory" android:value="cct" />
        </service>
        <service android:name="com.google.android.datatransport.runtime.scheduling.jobscheduling.JobInfoSchedulerService" android:permission="android.permission.BIND_JOB_SERVICE" android:exported="false" />
        <receiver android:name="com.google.android.datatransport.runtime.scheduling.jobscheduling.AlarmManagerSchedulerBroadcastReceiver" android:exported="false" />
        <receiver android:name="androidx.profileinstaller.ProfileInstallReceiver" android:permission="android.permission.DUMP" android:enabled="true" android:exported="true" android:directBootAware="false">
            <intent-filter>
                <action android:name="androidx.profileinstaller.action.INSTALL_PROFILE" />
            </intent-filter>
            <intent-filter>
                <action android:name="androidx.profileinstaller.action.SKIP_FILE" />
            </intent-filter>
            <intent-filter>
                <action android:name="androidx.profileinstaller.action.SAVE_PROFILE" />
            </intent-filter>
            <intent-filter>
                <action android:name="androidx.profileinstaller.action.BENCHMARK_OPERATION" />
            </intent-filter>
        </receiver>
    </application>
</manifest>