0
    if(allPermissionsGranted()){
        Log.d( TAG , "Permissions Granted" );
        folds = getPicturePaths();
    } else{
        Log.d( TAG , "Permissions Not Granted" );
       // ActivityCompat.requestPermissions(getActivity(), REQUIRED_PERMISSIONS, REQUEST_CODE_PERMISSIONS);
        requestPermissions( REQUIRED_PERMISSIONS,REQUEST_CODE_PERMISSIONS );
    }

    @Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    if(requestCode == REQUEST_CODE_PERMISSIONS){
        Log.d( TAG , "requestCodeGallery: " +requestCode );
        if(allPermissionsGranted()){
            folds = getPicturePaths();
        } else{
            Log.d( TAG , "requestCodeElseGallery: " +requestCode );
            Toast.makeText(getActivity(), "Permissions not granted by the user. Gallery", Toast.LENGTH_SHORT).show();
            getActivity().finish();
        }
    }
}

private boolean allPermissionsGranted(){

    for(String permission : REQUIRED_PERMISSIONS){
        if(ContextCompat.checkSelfPermission(getActivity(), permission) != PackageManager.PERMISSION_GRANTED){
            return false;
        }
    }
    return true;
}

Asking for runtime permissions in two fragments- PHOTO and GALLERY.But after allowing the permissions the Camera Preview doesn't gets inflated in Photo Fragment till the app restarts.
The flow of the app:
-MainActivity
|
+--Upload Fragment
| |
| +----Upload Image Activity
| | |
| | +------Photo Fragment
| | +------Gallery Fragment

0 Answers0