Fixed crash on Android < 7

This commit is contained in:
Sylvain Berfini 2019-02-11 14:15:29 +01:00
parent c68d15ec22
commit ec00aecf8d
4 changed files with 21 additions and 1 deletions

View file

@ -32,6 +32,7 @@ import android.annotation.TargetApi;
import android.app.Notification; import android.app.Notification;
import android.app.PendingIntent; import android.app.PendingIntent;
import android.app.RemoteInput; import android.app.RemoteInput;
import android.content.ContentProviderClient;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.graphics.Bitmap; import android.graphics.Bitmap;
@ -211,4 +212,8 @@ class ApiTwentyFourPlus {
.build(); .build();
return declineAction; return declineAction;
} }
public static void closeContentProviderClient(ContentProviderClient client) {
client.close();
}
} }

View file

@ -22,6 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
import android.annotation.TargetApi; import android.annotation.TargetApi;
import android.app.Notification; import android.app.Notification;
import android.app.PendingIntent; import android.app.PendingIntent;
import android.content.ContentProviderClient;
import android.content.Context; import android.content.Context;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
@ -193,4 +194,8 @@ class ApiTwentyOnePlus {
.setShowWhen(true) .setShowWhen(true)
.build(); .build();
} }
public static void closeContentProviderClient(ContentProviderClient client) {
client.release();
}
} }

View file

@ -22,6 +22,7 @@ import android.app.FragmentTransaction;
import android.app.Notification; import android.app.Notification;
import android.app.PendingIntent; import android.app.PendingIntent;
import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothAdapter;
import android.content.ContentProviderClient;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.graphics.Bitmap; import android.graphics.Bitmap;
@ -187,4 +188,12 @@ public class Compatibility {
ApiTwentySixPlus.setFragmentTransactionReorderingAllowed(transaction, allowed); ApiTwentySixPlus.setFragmentTransactionReorderingAllowed(transaction, allowed);
} }
} }
public static void closeContentProviderClient(ContentProviderClient client) {
if (Version.sdkAboveOrEqual(Version.API24_NOUGAT_70)) {
ApiTwentyFourPlus.closeContentProviderClient(client);
} else {
ApiTwentyOnePlus.closeContentProviderClient(client);
}
}
} }

View file

@ -46,6 +46,7 @@ import org.linphone.LinphoneActivity;
import org.linphone.LinphoneManager; import org.linphone.LinphoneManager;
import org.linphone.LinphoneService; import org.linphone.LinphoneService;
import org.linphone.R; import org.linphone.R;
import org.linphone.compatibility.Compatibility;
import org.linphone.core.Address; import org.linphone.core.Address;
import org.linphone.core.Core; import org.linphone.core.Core;
import org.linphone.core.Friend; import org.linphone.core.Friend;
@ -325,7 +326,7 @@ public class ContactsManager extends ContentObserver implements FriendListListen
} catch (RemoteException e) { } catch (RemoteException e) {
Log.e("[Contacts Manager] Couldn't make contacts account visible: " + e); Log.e("[Contacts Manager] Couldn't make contacts account visible: " + e);
} }
client.close(); Compatibility.closeContentProviderClient(client);
} }
private void initializeSyncAccount() { private void initializeSyncAccount() {