Skip to content

Commit

Permalink
Ask for permission before launching avatar sheet.
Browse files Browse the repository at this point in the history
  • Loading branch information
alex-signal authored and greyson-signal committed May 29, 2020
1 parent daace9b commit 5ab72fd
Showing 1 changed file with 12 additions and 2 deletions.
@@ -1,5 +1,6 @@
package org.thoughtcrime.securesms.groups.ui.creategroup.details;

import android.Manifest;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
Expand Down Expand Up @@ -38,6 +39,7 @@
import org.thoughtcrime.securesms.mediasend.Media;
import org.thoughtcrime.securesms.mms.DecryptableStreamUriLoader;
import org.thoughtcrime.securesms.mms.GlideApp;
import org.thoughtcrime.securesms.permissions.Permissions;
import org.thoughtcrime.securesms.profiles.AvatarHelper;
import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.recipients.RecipientId;
Expand Down Expand Up @@ -109,8 +111,7 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat

initializeViewModel();

avatar.setOnClickListener(v -> AvatarSelectionBottomSheetDialogFragment.create(viewModel.hasAvatar(), true, REQUEST_CODE_AVATAR, true)
.show(getChildFragmentManager(), "BOTTOM"));
avatar.setOnClickListener(v -> showAvatarSelectionBottomSheet());
members.setRecipientClickListener(this::handleRecipientClick);
name.addTextChangedListener(new AfterTextChanged(editable -> viewModel.setName(editable.toString())));
toolbar.setNavigationOnClickListener(unused -> callback.onNavigationButtonPressed());
Expand Down Expand Up @@ -242,6 +243,15 @@ private void setCreateEnabled(boolean isEnabled, boolean animate) {
.alpha(isEnabled ? 1f : 0.5f);
}

private void showAvatarSelectionBottomSheet() {
Permissions.with(this)
.request(Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE)
.ifNecessary()
.onAnyResult(() -> AvatarSelectionBottomSheetDialogFragment.create(viewModel.hasAvatar(), true, REQUEST_CODE_AVATAR, true)
.show(getChildFragmentManager(), "BOTTOM"))
.execute();
}

public interface Callback {
void onGroupCreated(@NonNull RecipientId recipientId, long threadId);
void onNavigationButtonPressed();
Expand Down

0 comments on commit 5ab72fd

Please sign in to comment.