check for external storage permission at startup
This commit is contained in:
parent
1045b53f9a
commit
bc2f333171
2 changed files with 29 additions and 1 deletions
|
@ -1,15 +1,20 @@
|
||||||
package com.simplemobiletools.gallery.activities;
|
package com.simplemobiletools.gallery.activities;
|
||||||
|
|
||||||
|
import android.Manifest;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.provider.MediaStore;
|
import android.provider.MediaStore;
|
||||||
|
import android.support.v4.app.ActivityCompat;
|
||||||
|
import android.support.v4.content.ContextCompat;
|
||||||
import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.AdapterView;
|
import android.widget.AdapterView;
|
||||||
import android.widget.AdapterView.OnItemClickListener;
|
import android.widget.AdapterView.OnItemClickListener;
|
||||||
import android.widget.GridView;
|
import android.widget.GridView;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.simplemobiletools.gallery.Constants;
|
import com.simplemobiletools.gallery.Constants;
|
||||||
import com.simplemobiletools.gallery.Directory;
|
import com.simplemobiletools.gallery.Directory;
|
||||||
|
@ -24,16 +29,38 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class MainActivity extends AppCompatActivity implements OnItemClickListener {
|
public class MainActivity extends AppCompatActivity implements OnItemClickListener {
|
||||||
|
private final int STORAGE_PERMISSION = 1;
|
||||||
private List<Directory> dirs;
|
private List<Directory> dirs;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_main);
|
setContentView(R.layout.activity_main);
|
||||||
final GridView gridView = (GridView) findViewById(R.id.directories_grid);
|
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
|
||||||
|
initializeGallery();
|
||||||
|
} else {
|
||||||
|
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, STORAGE_PERMISSION);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
|
||||||
|
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
||||||
|
|
||||||
|
if (requestCode == STORAGE_PERMISSION) {
|
||||||
|
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
|
||||||
|
initializeGallery();
|
||||||
|
} else {
|
||||||
|
Toast.makeText(this, getResources().getString(R.string.no_permissions), Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initializeGallery() {
|
||||||
dirs = new ArrayList<>(getDirectories().values());
|
dirs = new ArrayList<>(getDirectories().values());
|
||||||
final DirectoryAdapter adapter = new DirectoryAdapter(this, dirs);
|
final DirectoryAdapter adapter = new DirectoryAdapter(this, dirs);
|
||||||
|
|
||||||
|
final GridView gridView = (GridView) findViewById(R.id.directories_grid);
|
||||||
gridView.setAdapter(adapter);
|
gridView.setAdapter(adapter);
|
||||||
gridView.setOnItemClickListener(this);
|
gridView.setOnItemClickListener(this);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">Simple Gallery</string>
|
<string name="app_name">Simple Gallery</string>
|
||||||
<string name="share_via">Share via</string>
|
<string name="share_via">Share via</string>
|
||||||
|
<string name="no_permissions">Not much to do in a gallery without accessing your photos</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
Loading…
Reference in a new issue