kopia lustrzana https://github.com/ryukoposting/Signal-Android
Fix crash when changing contact color without contacts permission.
On mulit-device app, after the contact color is changed, a multi-device contact update job is triggered, which tries to access the system avatar. This causes a crash if the user has revoked the contacts permission.fork-5.53.8
rodzic
8f51bdcb78
commit
e0128e7e31
|
@ -1,5 +1,6 @@
|
|||
package org.thoughtcrime.securesms.jobs;
|
||||
|
||||
import android.Manifest;
|
||||
import android.content.res.AssetFileDescriptor;
|
||||
import android.database.Cursor;
|
||||
import android.net.Uri;
|
||||
|
@ -20,6 +21,7 @@ import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
|||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint;
|
||||
import org.thoughtcrime.securesms.permissions.Permissions;
|
||||
import org.thoughtcrime.securesms.profiles.AvatarHelper;
|
||||
import org.thoughtcrime.securesms.providers.BlobProvider;
|
||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
|
@ -304,7 +306,11 @@ public class MultiDeviceContactUpdateJob extends BaseJob {
|
|||
if (uri == null) {
|
||||
return Optional.absent();
|
||||
}
|
||||
|
||||
|
||||
if (!Permissions.hasAny(context, Manifest.permission.READ_CONTACTS, Manifest.permission.WRITE_CONTACTS)) {
|
||||
return Optional.absent();
|
||||
}
|
||||
|
||||
Uri displayPhotoUri = Uri.withAppendedPath(uri, ContactsContract.Contacts.Photo.DISPLAY_PHOTO);
|
||||
|
||||
try {
|
||||
|
|
Ładowanie…
Reference in New Issue