Skip to content

Release Notes

Version 4.0.3

  • Fix some bugs in message usage database
  • Add proguard consumer line to prevent crash when using the EncryptedPreferences
  • Improve some code path during startup

Required Dependencies

implementation "com.google.code.gson:gson:2.8.6"
implementation "androidx.appcompat:appcompat:1.1.0"
implementation "androidx.annotation:annotation:1.1.0"
implementation "androidx.core:core:1.3.0"
implementation "androidx.media:media:1.1.0"
implementation "androidx.legacy:legacy-support-v4:1.0.0"

Optional Dependencies

implementation "com.google.android.gms:play-services-location:17.0.0"
implementation "com.google.firebase:firebase-messaging:20.2.1"
implementation "androidx.security:security-crypto:1.0.0-rc02"

Version 4.0.0

This is a major release which is not fully compatible with previous releases.

Required Dependencies

implementation "com.google.code.gson:gson:2.8.6"
implementation "androidx.appcompat:appcompat:1.1.0"
implementation "androidx.annotation:annotation:1.1.0"
implementation "androidx.core:core:1.2.0"
implementation "androidx.media:media:1.1.0"
implementation "androidx.legacy:legacy-support-v4:1.0.0"

Optional Dependencies

implementation "com.google.android.gms:play-services-location:17.0.0"
implementation "com.google.firebase:firebase-messaging:20.2.0"
implementation "androidx.security:security-crypto:1.0.0-rc02"

Library Manifest

This is the default manifest shipped with the library that will be merged by gradle with your application's manifest.

For more info about manifest merging, check the manifest merger guide.

<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.openback">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.BATTERY_STATS" tools:ignore="ProtectedPermissions" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

    <uses-feature android:name="android.hardware.sensor.accelerometer" android:required="false" />
    <uses-feature android:name="android.hardware.sensor.ambient_temperature" android:required="false" />
    <uses-feature android:name="android.hardware.sensor.barometer" android:required="false" />
    <uses-feature android:name="android.hardware.sensor.gyroscope" android:required="false" />
    <uses-feature android:name="android.hardware.sensor.light" android:required="false" />
    <uses-feature android:name="android.hardware.sensor.proximity" android:required="false" />
    <uses-feature android:name="android.hardware.sensor.relative_humidity" android:required="false" />
    <uses-feature android:name="android.hardware.wifi" android:required="false" />
    <uses-feature android:name="android.software.webview" android:required="false" />

    <application>
        <activity
            android:name="com.openback.activity.OpenBackIamActivity"
            android:excludeFromRecents="true"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
            android:windowSoftInputMode="stateAlwaysHidden"
            android:configChanges="orientation|screenSize" />

        <provider
            android:name="com.openback.provider.OpenBackInitProvider"
            android:authorities="${applicationId}.openbackinitprovider"
            android:exported="false"
            android:initOrder="100" />

        <service
            android:name="com.openback.service.OpenBackService"
            android:permission="android.permission.BIND_JOB_SERVICE"
            android:exported="false" />
        <service
            android:name="com.openback.service.OpenBackAssetService"
            android:permission="android.permission.BIND_JOB_SERVICE"
            android:exported="false" />

        <receiver android:name="com.openback.receiver.OpenBackReceiver"
            android:directBootAware="true"
            tools:ignore="UnusedAttribute">
            <intent-filter>
                <!-- Boot Complete event (level 1) -->
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.LOCKED_BOOT_COMPLETED"/>
                <action android:name="com.htc.intent.action.QUICKBOOT_POWERON" />
                <category android:name="android.intent.category.DEFAULT" />
                <action android:name="android.intent.action.TIME_SET" />
                <action android:name="android.intent.action.TIMEZONE_CHANGED" />
                <action android:name="android.intent.action.DATE_CHANGED" />
            </intent-filter>
            <intent-filter>
                <!-- Package events (level 3) -->
                <action android:name="android.intent.action.PACKAGE_REPLACED" />
                <action android:name="android.intent.action.PACKAGE_ADDED" />
                <action android:name="android.intent.action.PACKAGE_REMOVED" />
                <action android:name="android.intent.action.PACKAGE_CHANGED" />
                <data android:scheme="package" />
            </intent-filter>
            <intent-filter>
                <!-- Package events (level 12) -->
                <action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
            </intent-filter>
        </receiver>
    </application>

</manifest>