Skip to content
Snippets Groups Projects
  • Alexandre Lision's avatar
    ea09b96c
    manifest: add extractNativeLib attribute · ea09b96c
    Alexandre Lision authored
    Prevent the system from creating a second copy of the .so files and fix
    the System.loadLibrary call so it’s able to find and open native libs
    straight from the APK. This is used starting from Android 6.0.
    
    Change-Id: If2d35d13ff71a6c2305dd6086455bf65c88a44aa
    ea09b96c
    History
    manifest: add extractNativeLib attribute
    Alexandre Lision authored
    Prevent the system from creating a second copy of the .so files and fix
    the System.loadLibrary call so it’s able to find and open native libs
    straight from the APK. This is used starting from Android 6.0.
    
    Change-Id: If2d35d13ff71a6c2305dd6086455bf65c88a44aa
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
AndroidManifest.xml 10.98 KiB
<?xml version="1.0" encoding="utf-8"?><!--
Copyright (C) 2004-2016 Savoir-faire Linux Inc.

Author: 	Alexandre Lision <alexandre.lision@savoirfairelinux.com>
			Adrien Beraud <adrien.beraud@savoirfairelinux.com>

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="cx.ring"
    android:installLocation="auto"
    android:versionCode="78"
    android:versionName="20170516">

    <supports-screens
        android:anyDensity="true"
        android:largeScreens="true"
        android:normalScreens="true"
        android:smallScreens="true"
        android:xlargeScreens="true" />

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.READ_PROFILE" />
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.READ_CALL_LOG" />
    <uses-permission android:name="android.permission.WRITE_CALL_LOG" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

    <uses-feature
        android:name="android.hardware.wifi"
        android:required="true" />
    <uses-feature
        android:name="android.hardware.telephony"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.microphone"
        android:required="true" />
    <uses-feature
        android:name="android.hardware.bluetooth"
        android:required="false" />

    <application
        android:name=".application.RingApplication"
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:extractNativeLibs="false"
        android:label="@string/app_name"
        android:resizeableActivity="true"
        android:supportsRtl="true">
        <activity
            android:name=".client.HomeActivity"
            android:configChanges="screenSize|screenLayout|smallestScreenSize"
            android:label="@string/title_activity_sflphone_home"
            android:launchMode="singleTask"
            android:screenOrientation="fullUser"
            android:theme="@style/AppThemeBase"
            android:windowSoftInputMode="adjustResize">
            <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.DIAL" />
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data android:scheme="sip" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.DIAL" />
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data android:scheme="tel" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <action android:name="android.intent.action.DIAL" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data
                    android:host="ring.cx"
                    android:pathPrefix="/id/"
                    android:scheme="https" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <action android:name="android.intent.action.DIAL" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data
                    android:host="ring.cx"
                    android:pathPrefix="/id/"
                    android:scheme="http" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.DIAL" />
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data android:scheme="ring" />
            </intent-filter>
        </activity>
        <activity
            android:name=".client.AccountWizard"
            android:configChanges="screenSize|screenLayout|smallestScreenSize"

            android:screenOrientation="fullUser"
            android:theme="@style/AppThemeBase">
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="cx.ring.account.AccountEditionActivity" />
        </activity>
        <activity
            android:name=".account.AccountEditionActivity"
            android:configChanges="orientation|screenSize|screenLayout|smallestScreenSize"
            android:label="@string/app_name"
            android:screenOrientation="fullUser"
            android:theme="@style/AppThemeBase" />

        <receiver android:name=".service.OutgoingCallHandler">
            <intent-filter>
                <action android:name="android.intent.action.NEW_OUTGOING_CALL" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </receiver>
        <receiver android:name=".service.BootReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>

        <activity
            android:name=".client.CallActivity"
            android:configChanges="orientation|screenSize|screenLayout|smallestScreenSize"
            android:label="@string/app_name"
            android:screenOrientation="fullUser"
            android:theme="@style/AppTheme.ActionBar.Transparent"
            android:windowSoftInputMode="adjustPan|stateHidden">
            <intent-filter>
                <action android:name="android.intent.action.CALL" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data android:scheme="sip" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.CALL" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data android:scheme="tel" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.CALL" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data
                    android:host="ring.cx"
                    android:pathPrefix="/id/"
                    android:scheme="https" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.CALL" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data
                    android:host="ring.cx"
                    android:pathPrefix="/id/"
                    android:scheme="http" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.CALL" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data android:scheme="ring" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.CALL" />
                <action android:name="android.intent.action.DIAL" />

                <category android:name="android.intent.category.DEFAULT" />

                <data android:mimeType="vnd.android.cursor.item/phone" />
                <data android:mimeType="vnd.android.cursor.item/phone_v2" />
                <data android:mimeType="vnd.android.cursor.item/person" />
            </intent-filter>
        </activity>
        <activity
            android:name=".client.ConversationActivity"
            android:configChanges="screenSize|screenLayout|smallestScreenSize"
            android:label="@string/app_name"
            android:parentActivityName=".client.HomeActivity"
            android:screenOrientation="fullUser"
            android:theme="@style/AppThemeBase"
            android:windowSoftInputMode="adjustResize" />
        <activity
            android:name=".client.QRCodeScannerActivity"
            android:screenOrientation="fullUser"
            android:stateNotNeeded="true"
            android:theme="@style/zxing_CaptureTheme"
            android:windowSoftInputMode="stateAlwaysHidden" />

        <service
            android:name=".service.DRingService"
            android:exported="false">
            <intent-filter>
                <action android:name=".service.DRingService" />
            </intent-filter>
        </service>
    </application>

</manifest>