From 263a540151fe12ccfd37b98f7abb761d677da8d2 Mon Sep 17 00:00:00 2001 From: Anton Chekulaev Date: Tue, 8 Sep 2020 15:47:26 +1000 Subject: [PATCH] Remove condition and notNecessary flags from the Permissions util. --- .../securesms/CreateProfileActivity.java | 1 - .../thoughtcrime/securesms/DeviceActivity.java | 1 - .../securesms/MediaOverviewActivity.java | 1 - .../securesms/MediaPreviewActivity.java | 1 - .../securesms/VerifyIdentityActivity.java | 1 - .../securesms/WebRtcCallActivity.java | 1 - .../conversation/ConversationActivity.java | 2 -- .../loki/activities/SettingsActivity.kt | 1 - .../securesms/mediasend/MediaSendActivity.java | 1 - .../securesms/mms/AttachmentManager.java | 6 ------ .../securesms/permissions/Permissions.java | 18 +----------------- .../preferences/ChatsPreferenceFragment.java | 2 -- .../registration/WelcomeActivity.java | 1 - .../securesms/util/CommunicationActions.java | 3 +-- 14 files changed, 2 insertions(+), 38 deletions(-) diff --git a/src/org/thoughtcrime/securesms/CreateProfileActivity.java b/src/org/thoughtcrime/securesms/CreateProfileActivity.java index 1c9af4f4c6..9be993d218 100644 --- a/src/org/thoughtcrime/securesms/CreateProfileActivity.java +++ b/src/org/thoughtcrime/securesms/CreateProfileActivity.java @@ -215,7 +215,6 @@ public class CreateProfileActivity extends BaseActionBarActivity implements Inje this.avatar.setOnClickListener(view -> Permissions.with(this) .request(Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE) - .ifNecessary() .onAnyResult(this::startAvatarSelection) .execute()); diff --git a/src/org/thoughtcrime/securesms/DeviceActivity.java b/src/org/thoughtcrime/securesms/DeviceActivity.java index 5b68a6b478..c3c750c58b 100644 --- a/src/org/thoughtcrime/securesms/DeviceActivity.java +++ b/src/org/thoughtcrime/securesms/DeviceActivity.java @@ -98,7 +98,6 @@ public class DeviceActivity extends PassphraseRequiredActionBarActivity public void onClick(View v) { Permissions.with(this) .request(Manifest.permission.CAMERA) - .ifNecessary() .withPermanentDenialDialog(getString(R.string.DeviceActivity_signal_needs_the_camera_permission_in_order_to_scan_a_qr_code)) .onAllGranted(() -> { getSupportFragmentManager().beginTransaction() diff --git a/src/org/thoughtcrime/securesms/MediaOverviewActivity.java b/src/org/thoughtcrime/securesms/MediaOverviewActivity.java index 2b3f12012c..54b80a60c1 100644 --- a/src/org/thoughtcrime/securesms/MediaOverviewActivity.java +++ b/src/org/thoughtcrime/securesms/MediaOverviewActivity.java @@ -330,7 +330,6 @@ public class MediaOverviewActivity extends PassphraseRequiredActionBarActivity { SaveAttachmentTask.showWarningDialog(context, (dialogInterface, which) -> { Permissions.with(this) .request(android.Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE) - .ifNecessary() .withPermanentDenialDialog(getString(R.string.MediaPreviewActivity_signal_needs_the_storage_permission_in_order_to_write_to_external_storage_but_it_has_been_permanently_denied)) .onAnyDenied(() -> Toast.makeText(getContext(), R.string.MediaPreviewActivity_unable_to_write_to_external_storage_without_permission, Toast.LENGTH_LONG).show()) .onAllGranted(() -> { diff --git a/src/org/thoughtcrime/securesms/MediaPreviewActivity.java b/src/org/thoughtcrime/securesms/MediaPreviewActivity.java index 4593382bbe..36117ea86a 100644 --- a/src/org/thoughtcrime/securesms/MediaPreviewActivity.java +++ b/src/org/thoughtcrime/securesms/MediaPreviewActivity.java @@ -346,7 +346,6 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity im SaveAttachmentTask.showWarningDialog(this, (dialogInterface, i) -> { Permissions.with(this) .request(Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE) - .ifNecessary() .withPermanentDenialDialog(getString(R.string.MediaPreviewActivity_signal_needs_the_storage_permission_in_order_to_write_to_external_storage_but_it_has_been_permanently_denied)) .onAnyDenied(() -> Toast.makeText(this, R.string.MediaPreviewActivity_unable_to_write_to_external_storage_without_permission, Toast.LENGTH_LONG).show()) .onAllGranted(() -> { diff --git a/src/org/thoughtcrime/securesms/VerifyIdentityActivity.java b/src/org/thoughtcrime/securesms/VerifyIdentityActivity.java index f78de0ac53..981a76ca50 100644 --- a/src/org/thoughtcrime/securesms/VerifyIdentityActivity.java +++ b/src/org/thoughtcrime/securesms/VerifyIdentityActivity.java @@ -172,7 +172,6 @@ public class VerifyIdentityActivity extends PassphraseRequiredActionBarActivity public void onClick(View v) { Permissions.with(this) .request(Manifest.permission.CAMERA) - .ifNecessary() .withPermanentDenialDialog(getString(R.string.VerifyIdentityActivity_signal_needs_the_camera_permission_in_order_to_scan_a_qr_code_but_it_has_been_permanently_denied)) .onAllGranted(() -> { FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); diff --git a/src/org/thoughtcrime/securesms/WebRtcCallActivity.java b/src/org/thoughtcrime/securesms/WebRtcCallActivity.java index 311698578c..e17e4f631a 100644 --- a/src/org/thoughtcrime/securesms/WebRtcCallActivity.java +++ b/src/org/thoughtcrime/securesms/WebRtcCallActivity.java @@ -164,7 +164,6 @@ public class WebRtcCallActivity extends Activity { if (event != null) { Permissions.with(this) .request(Manifest.permission.RECORD_AUDIO, Manifest.permission.CAMERA) - .ifNecessary() .withRationaleDialog(getString(R.string.WebRtcCallActivity_to_answer_the_call_from_s_give_signal_access_to_your_microphone, event.getRecipient().toShortString()), R.drawable.ic_mic_white_48dp, R.drawable.ic_videocam_white_48dp) .withPermanentDenialDialog(getString(R.string.WebRtcCallActivity_signal_requires_microphone_and_camera_permissions_in_order_to_make_or_receive_calls)) diff --git a/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java b/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java index 02a68f3e2c..347e281742 100644 --- a/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java +++ b/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java @@ -2551,7 +2551,6 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity public void onRecorderPermissionRequired() { Permissions.with(this) .request(Manifest.permission.RECORD_AUDIO) - .ifNecessary() .withRationaleDialog(getString(R.string.ConversationActivity_to_send_audio_messages_allow_signal_access_to_your_microphone), R.drawable.ic_baseline_mic_48) .withPermanentDenialDialog(getString(R.string.ConversationActivity_signal_requires_the_microphone_permission_in_order_to_send_audio_messages)) .execute(); @@ -2752,7 +2751,6 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity public void onClick(View v) { Permissions.with(ConversationActivity.this) .request(Manifest.permission.CAMERA) - .ifNecessary() .withRationaleDialog(getString(R.string.ConversationActivity_to_capture_photos_and_video_allow_signal_access_to_the_camera), R.drawable.ic_baseline_photo_camera_48) .withPermanentDenialDialog(getString(R.string.ConversationActivity_signal_needs_the_camera_permission_to_take_photos_or_video)) .onAllGranted(() -> { diff --git a/src/org/thoughtcrime/securesms/loki/activities/SettingsActivity.kt b/src/org/thoughtcrime/securesms/loki/activities/SettingsActivity.kt index c61ddc94a3..45092b0c06 100644 --- a/src/org/thoughtcrime/securesms/loki/activities/SettingsActivity.kt +++ b/src/org/thoughtcrime/securesms/loki/activities/SettingsActivity.kt @@ -256,7 +256,6 @@ class SettingsActivity : PassphraseRequiredActionBarActivity() { // Ask for an optional camera permission. Permissions.with(this) .request(Manifest.permission.CAMERA) - .ifNecessary() .onAnyResult { tempFile = AvatarSelection.startAvatarSelection(this, false, true) } diff --git a/src/org/thoughtcrime/securesms/mediasend/MediaSendActivity.java b/src/org/thoughtcrime/securesms/mediasend/MediaSendActivity.java index 41324d4e61..adfc09a060 100644 --- a/src/org/thoughtcrime/securesms/mediasend/MediaSendActivity.java +++ b/src/org/thoughtcrime/securesms/mediasend/MediaSendActivity.java @@ -375,7 +375,6 @@ public class MediaSendActivity extends PassphraseRequiredActionBarActivity imple private void navigateToCamera() { Permissions.with(this) .request(Manifest.permission.CAMERA) - .ifNecessary() .withRationaleDialog(getString(R.string.ConversationActivity_to_capture_photos_and_video_allow_signal_access_to_the_camera), R.drawable.ic_baseline_photo_camera_48) .withPermanentDenialDialog(getString(R.string.ConversationActivity_signal_needs_the_camera_permission_to_take_photos_or_video)) .onAllGranted(() -> { diff --git a/src/org/thoughtcrime/securesms/mms/AttachmentManager.java b/src/org/thoughtcrime/securesms/mms/AttachmentManager.java index 53e4ca54cc..3ae608ee8c 100644 --- a/src/org/thoughtcrime/securesms/mms/AttachmentManager.java +++ b/src/org/thoughtcrime/securesms/mms/AttachmentManager.java @@ -373,7 +373,6 @@ public class AttachmentManager { public static void selectDocument(Activity activity, int requestCode) { Permissions.with(activity) .request(Manifest.permission.WRITE_EXTERNAL_STORAGE) - .ifNecessary() .withPermanentDenialDialog(activity.getString(R.string.AttachmentManager_signal_requires_the_external_storage_permission_in_order_to_attach_photos_videos_or_audio)) .onAllGranted(() -> selectMediaType(activity, "*/*", null, requestCode)) .execute(); @@ -382,7 +381,6 @@ public class AttachmentManager { public static void selectGallery(Activity activity, int requestCode, @NonNull Recipient recipient, @NonNull String body, @NonNull TransportOption transport) { Permissions.with(activity) .request(Manifest.permission.WRITE_EXTERNAL_STORAGE) - .ifNecessary() .withPermanentDenialDialog(activity.getString(R.string.AttachmentManager_signal_requires_the_external_storage_permission_in_order_to_attach_photos_videos_or_audio)) .onAllGranted(() -> selectMediaType(activity, "image/*", new String[] {"image/*", "video/*"}, requestCode)) .onAllGranted(() -> activity.startActivityForResult(MediaSendActivity.buildGalleryIntent(activity, recipient, body, transport), requestCode)) @@ -392,7 +390,6 @@ public class AttachmentManager { public static void selectAudio(Activity activity, int requestCode) { Permissions.with(activity) .request(Manifest.permission.WRITE_EXTERNAL_STORAGE) - .ifNecessary() .withPermanentDenialDialog(activity.getString(R.string.AttachmentManager_signal_requires_the_external_storage_permission_in_order_to_attach_photos_videos_or_audio)) .onAllGranted(() -> selectMediaType(activity, "audio/*", null, requestCode)) .execute(); @@ -401,7 +398,6 @@ public class AttachmentManager { public static void selectContactInfo(Activity activity, int requestCode) { Permissions.with(activity) .request(Manifest.permission.WRITE_CONTACTS) - .ifNecessary() .withPermanentDenialDialog(activity.getString(R.string.AttachmentManager_signal_requires_contacts_permission_in_order_to_attach_contact_information)) .onAllGranted(() -> { Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); @@ -414,7 +410,6 @@ public class AttachmentManager { /* Loki - Enable again once we have location sharing Permissions.with(activity) .request(Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION) - .ifNecessary() .withPermanentDenialDialog(activity.getString(R.string.AttachmentManager_signal_requires_location_information_in_order_to_attach_a_location)) .onAllGranted(() -> { try { @@ -444,7 +439,6 @@ public class AttachmentManager { public void capturePhoto(Activity activity, int requestCode) { Permissions.with(activity) .request(Manifest.permission.CAMERA) - .ifNecessary() .withPermanentDenialDialog(activity.getString(R.string.AttachmentManager_signal_requires_the_camera_permission_in_order_to_take_photos_but_it_has_been_permanently_denied)) .onAllGranted(() -> { try { diff --git a/src/org/thoughtcrime/securesms/permissions/Permissions.java b/src/org/thoughtcrime/securesms/permissions/Permissions.java index f647da6db4..91eec1e011 100644 --- a/src/org/thoughtcrime/securesms/permissions/Permissions.java +++ b/src/org/thoughtcrime/securesms/permissions/Permissions.java @@ -1,6 +1,5 @@ package org.thoughtcrime.securesms.permissions; - import android.app.Activity; import android.app.AlertDialog; import android.content.Context; @@ -63,10 +62,6 @@ public class Permissions { private @DrawableRes int[] rationalDialogHeader; private String rationaleDialogMessage; - private boolean ifNecesary; - - private boolean condition = true; - PermissionsBuilder(PermissionObject permissionObject) { this.permissionObject = permissionObject; } @@ -76,17 +71,6 @@ public class Permissions { return this; } - public PermissionsBuilder ifNecessary() { - this.ifNecesary = true; - return this; - } - - public PermissionsBuilder ifNecessary(boolean condition) { - this.ifNecesary = true; - this.condition = condition; - return this; - } - public PermissionsBuilder withRationaleDialog(@NonNull String message, @NonNull @DrawableRes int... headers) { this.rationalDialogHeader = headers; this.rationaleDialogMessage = message; @@ -137,7 +121,7 @@ public class Permissions { PermissionsRequest request = new PermissionsRequest(allGrantedListener, anyDeniedListener, anyPermanentlyDeniedListener, anyResultListener, someGrantedListener, someDeniedListener, somePermanentlyDeniedListener); - if (ifNecesary && (permissionObject.hasAll(requestedPermissions) || !condition)) { + if (permissionObject.hasAll(requestedPermissions)) { executePreGrantedPermissionsRequest(request); } else if (rationaleDialogMessage != null && rationalDialogHeader != null) { executePermissionsRequestWithRationale(request); diff --git a/src/org/thoughtcrime/securesms/preferences/ChatsPreferenceFragment.java b/src/org/thoughtcrime/securesms/preferences/ChatsPreferenceFragment.java index 877da0506d..97c14b4279 100644 --- a/src/org/thoughtcrime/securesms/preferences/ChatsPreferenceFragment.java +++ b/src/org/thoughtcrime/securesms/preferences/ChatsPreferenceFragment.java @@ -139,7 +139,6 @@ public class ChatsPreferenceFragment extends ListSummaryPreferenceFragment { public boolean onPreferenceClick(Preference preference) { Permissions.with(ChatsPreferenceFragment.this) .request(Manifest.permission.WRITE_EXTERNAL_STORAGE) - .ifNecessary() .onAllGranted(() -> { if (!((SwitchPreferenceCompat)preference).isChecked()) { BackupDialog.showEnableBackupDialog(getActivity(), (SwitchPreferenceCompat)preference); @@ -160,7 +159,6 @@ public class ChatsPreferenceFragment extends ListSummaryPreferenceFragment { public boolean onPreferenceClick(Preference preference) { Permissions.with(ChatsPreferenceFragment.this) .request(Manifest.permission.WRITE_EXTERNAL_STORAGE) - .ifNecessary() .onAllGranted(() -> { Log.i(TAG, "Queing backup..."); ApplicationContext.getInstance(getContext()) diff --git a/src/org/thoughtcrime/securesms/registration/WelcomeActivity.java b/src/org/thoughtcrime/securesms/registration/WelcomeActivity.java index e9f8f2e026..d8d7809606 100644 --- a/src/org/thoughtcrime/securesms/registration/WelcomeActivity.java +++ b/src/org/thoughtcrime/securesms/registration/WelcomeActivity.java @@ -55,7 +55,6 @@ public class WelcomeActivity extends BaseActionBarActivity { private void onContinueClicked() { Permissions.with(this) .request(Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE) - .ifNecessary() .withRationaleDialog(getString(R.string.activity_landing_permission_dialog_message), R.drawable.ic_baseline_folder_48) .onAnyResult(() -> { Intent nextIntent = getIntent().getParcelableExtra("next_intent"); diff --git a/src/org/thoughtcrime/securesms/util/CommunicationActions.java b/src/org/thoughtcrime/securesms/util/CommunicationActions.java index 2c06f714b5..db66b955cf 100644 --- a/src/org/thoughtcrime/securesms/util/CommunicationActions.java +++ b/src/org/thoughtcrime/securesms/util/CommunicationActions.java @@ -35,8 +35,7 @@ public class CommunicationActions { Permissions.with(activity) .request(Manifest.permission.RECORD_AUDIO, Manifest.permission.CAMERA) - .ifNecessary() - .withRationaleDialog(activity.getString(R.string.ConversationActivity_to_call_s_signal_needs_access_to_your_microphone_and_camera, recipient.toShortString()), + .withRationaleDialog(activity.getString(R.string.ConversationActivity_to_call_s_signal_needs_access_to_your_microphone_and_camera), R.drawable.ic_mic_white_48dp, R.drawable.ic_videocam_white_48dp) .withPermanentDenialDialog(activity.getString(R.string.ConversationActivity_signal_needs_the_microphone_and_camera_permissions_in_order_to_call_s, recipient.toShortString()))