Skip to content

Commit

Permalink
Merge pull request #34 from mkurutin/pull_request
Browse files Browse the repository at this point in the history
Fix file list initialization when permissions are granted in API23
  • Loading branch information
DeveloperPaul123 committed Jan 3, 2016
2 parents c7e9958 + 213ea56 commit 36e79cc
Showing 1 changed file with 11 additions and 12 deletions.
Expand Up @@ -41,7 +41,6 @@
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;

import com.afollestad.materialdialogs.MaterialDialog;
import com.devpaul.filepickerlibrary.adapter.FileListAdapter;
import com.devpaul.filepickerlibrary.enums.FileScopeType;
Expand Down Expand Up @@ -343,11 +342,11 @@ public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCoun
setHeaderBackground(colorId, drawableId);

//check for proper permissions.
if(Build.VERSION.SDK_INT == Build.VERSION_CODES.M) {
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.M) {
int permissionCheck = ContextCompat.checkSelfPermission(this,
Manifest.permission.READ_EXTERNAL_STORAGE);
if(permissionCheck != PackageManager.PERMISSION_GRANTED) {
if(ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.READ_EXTERNAL_STORAGE)) {
if (permissionCheck != PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.READ_EXTERNAL_STORAGE)) {
//Show permission rationale.
new MaterialDialog.Builder(FilePickerActivity.this)
.title(R.string.file_picker_permission_rationale_dialog_title)
Expand All @@ -370,13 +369,14 @@ public void onNegative(MaterialDialog dialog) {
}
})
.show();
}
else {
} else {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE},
REQUEST_FOR_READ_EXTERNAL_STORAGE);
}
} else {
init();
}
} else {
init();
Expand Down Expand Up @@ -405,12 +405,11 @@ public void onRequestPermissionsResult(int requestCode, String[] permissions, in

switch (requestCode) {
case REQUEST_FOR_READ_EXTERNAL_STORAGE:
if(grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED &&
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED &&
grantResults[1] == PackageManager.PERMISSION_GRANTED) {
//permission granted.
init();
}
else {
} else {
setResult(RESULT_CANCELED);
finish();
}
Expand All @@ -422,7 +421,7 @@ public void onRequestPermissionsResult(int requestCode, String[] permissions, in
@Override
public void onBackPressed() {
if (lastDirectory != null && !curDirectory.getPath()
.equals(Environment.getExternalStorageDirectory().getPath())) {
.equals(Environment.getExternalStorageDirectory().getPath())) {
new UpdateFilesTask(FilePickerActivity.this).execute(lastDirectory);
} else {
setResult(RESULT_CANCELED);
Expand Down Expand Up @@ -721,7 +720,7 @@ protected void onPostExecute(File[] localFiles) {
}
lastDirectory = directory.getParentFile();
curDirectory = directory;
if(directory.listFiles() != null) {
if (directory.listFiles() != null) {
if (directory.listFiles().length > 0 && directoryExists(files)
&& listView.getHeaderViewsCount() == 0) {
listView.addHeaderView(listHeaderView);
Expand All @@ -731,7 +730,7 @@ protected void onPostExecute(File[] localFiles) {
}
}
}
if(files != null) {
if (files != null) {
adapter = new FileListAdapter(FilePickerActivity.this, files, scopeType);
FilePickerActivity.this.setListAdapter(adapter);
}
Expand Down

0 comments on commit 36e79cc

Please sign in to comment.