Ask for permission before launching avatar sheet.
This commit is contained in:
parent
daace9bd1a
commit
5ab72fd1a9
1 changed files with 12 additions and 2 deletions
|
@ -1,5 +1,6 @@
|
||||||
package org.thoughtcrime.securesms.groups.ui.creategroup.details;
|
package org.thoughtcrime.securesms.groups.ui.creategroup.details;
|
||||||
|
|
||||||
|
import android.Manifest;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
@ -38,6 +39,7 @@ import org.thoughtcrime.securesms.mediasend.AvatarSelectionBottomSheetDialogFrag
|
||||||
import org.thoughtcrime.securesms.mediasend.Media;
|
import org.thoughtcrime.securesms.mediasend.Media;
|
||||||
import org.thoughtcrime.securesms.mms.DecryptableStreamUriLoader;
|
import org.thoughtcrime.securesms.mms.DecryptableStreamUriLoader;
|
||||||
import org.thoughtcrime.securesms.mms.GlideApp;
|
import org.thoughtcrime.securesms.mms.GlideApp;
|
||||||
|
import org.thoughtcrime.securesms.permissions.Permissions;
|
||||||
import org.thoughtcrime.securesms.profiles.AvatarHelper;
|
import org.thoughtcrime.securesms.profiles.AvatarHelper;
|
||||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||||
import org.thoughtcrime.securesms.recipients.RecipientId;
|
import org.thoughtcrime.securesms.recipients.RecipientId;
|
||||||
|
@ -109,8 +111,7 @@ public class AddGroupDetailsFragment extends Fragment {
|
||||||
|
|
||||||
initializeViewModel();
|
initializeViewModel();
|
||||||
|
|
||||||
avatar.setOnClickListener(v -> AvatarSelectionBottomSheetDialogFragment.create(viewModel.hasAvatar(), true, REQUEST_CODE_AVATAR, true)
|
avatar.setOnClickListener(v -> showAvatarSelectionBottomSheet());
|
||||||
.show(getChildFragmentManager(), "BOTTOM"));
|
|
||||||
members.setRecipientClickListener(this::handleRecipientClick);
|
members.setRecipientClickListener(this::handleRecipientClick);
|
||||||
name.addTextChangedListener(new AfterTextChanged(editable -> viewModel.setName(editable.toString())));
|
name.addTextChangedListener(new AfterTextChanged(editable -> viewModel.setName(editable.toString())));
|
||||||
toolbar.setNavigationOnClickListener(unused -> callback.onNavigationButtonPressed());
|
toolbar.setNavigationOnClickListener(unused -> callback.onNavigationButtonPressed());
|
||||||
|
@ -242,6 +243,15 @@ public class AddGroupDetailsFragment extends Fragment {
|
||||||
.alpha(isEnabled ? 1f : 0.5f);
|
.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 {
|
public interface Callback {
|
||||||
void onGroupCreated(@NonNull RecipientId recipientId, long threadId);
|
void onGroupCreated(@NonNull RecipientId recipientId, long threadId);
|
||||||
void onNavigationButtonPressed();
|
void onNavigationButtonPressed();
|
||||||
|
|
Loading…
Add table
Reference in a new issue