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.PendingIntent;
import android.app.RemoteInput;
import android.content.ContentProviderClient;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
@ -211,4 +212,8 @@ class ApiTwentyFourPlus {
.build();
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.app.Notification;
import android.app.PendingIntent;
import android.content.ContentProviderClient;
import android.content.Context;
import android.graphics.Bitmap;
import androidx.core.content.ContextCompat;
@ -193,4 +194,8 @@ class ApiTwentyOnePlus {
.setShowWhen(true)
.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.PendingIntent;
import android.bluetooth.BluetoothAdapter;
import android.content.ContentProviderClient;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
@ -187,4 +188,12 @@ public class Compatibility {
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.LinphoneService;
import org.linphone.R;
import org.linphone.compatibility.Compatibility;
import org.linphone.core.Address;
import org.linphone.core.Core;
import org.linphone.core.Friend;
@ -325,7 +326,7 @@ public class ContactsManager extends ContentObserver implements FriendListListen
} catch (RemoteException e) {
Log.e("[Contacts Manager] Couldn't make contacts account visible: " + e);
}
client.close();
Compatibility.closeContentProviderClient(client);
}
private void initializeSyncAccount() {