diff --git a/app/src/main/java/com/ninja/mobile/communicator/ui/fragments/chats/ChatFragment.java b/app/src/main/java/com/ninja/mobile/communicator/ui/fragments/chats/ChatFragment.java index 3b836745aa61ff19dcbb7e1cb28662b08ba7fb27..ded4aa533c7e8f4940acc82c15b1673148c141a3 100644 --- a/app/src/main/java/com/ninja/mobile/communicator/ui/fragments/chats/ChatFragment.java +++ b/app/src/main/java/com/ninja/mobile/communicator/ui/fragments/chats/ChatFragment.java @@ -1,5 +1,6 @@ package com.ninja.mobile.communicator.ui.fragments.chats; +import android.Manifest; import android.app.Activity; import android.content.ContentResolver; import android.content.Intent; @@ -126,28 +127,44 @@ public class ChatFragment extends BaseFragment implements ChatView, OnItemClickL } @Override public void navigateToGallery() { - Intent galleryIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); - startActivityForResult(galleryIntent, GALLERY_REQUEST_CODE); + mRxPermissions + .request(Manifest.permission.READ_EXTERNAL_STORAGE) + .subscribe(granted -> { + if (granted) { + Intent galleryIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); + startActivityForResult(galleryIntent, GALLERY_REQUEST_CODE); + } else { + //// FIXME: 29.06.2017 message? + } + }); } @Override public void navigateToCamera() { - Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); - if (takePictureIntent.resolveActivity(getContext().getPackageManager()) != null) { - File photoFile = null; - try { - photoFile = ImageUtils.createImageFile(getContext()); - mPhotoPath = photoFile.getAbsolutePath(); - } catch (IOException e) { - e.printStackTrace(); - } - if (photoFile != null) { - Uri photoURI = FileProvider.getUriForFile(getContext(), - BuildConfig.APPLICATION_ID + ".fileprovider", - photoFile); - takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI); - startActivityForResult(takePictureIntent, IMAGE_REQUEST_CODE); - } - } + mRxPermissions + .request(Manifest.permission.CAMERA) + .subscribe(granted -> { + if (granted) { + Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); + if (takePictureIntent.resolveActivity(getContext().getPackageManager()) != null) { + File photoFile = null; + try { + photoFile = ImageUtils.createImageFile(getContext()); + mPhotoPath = photoFile.getAbsolutePath(); + } catch (IOException e) { + e.printStackTrace(); + } + if (photoFile != null) { + Uri photoURI = FileProvider.getUriForFile(getContext(), + BuildConfig.APPLICATION_ID + ".fileprovider", + photoFile); + takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI); + startActivityForResult(takePictureIntent, IMAGE_REQUEST_CODE); + } + } + } else { + //// FIXME: 29.06.2017 message? + } + }); } @Override public void onItemClick(Message item, int position) {