Project

General

Profile

« Previous | Next » 

Revision e3efd628

Added by Leszek Koltunski over 7 years ago

Fix the 'Save' app on Android API >=23 (we need to explicitly ask for write permission)

View differences:

src/main/java/org/distorted/examples/save/SaveActivity.java
22 22
import org.distorted.library.Distorted;
23 23
import org.distorted.examples.R;
24 24

  
25
import android.Manifest;
25 26
import android.app.Activity;
27
import android.content.pm.PackageManager;
26 28
import android.opengl.GLSurfaceView;
27 29
import android.os.Bundle;
30
import android.support.v4.app.ActivityCompat;
28 31
import android.view.View;
29 32
import android.widget.SeekBar;
30 33

  
......
32 35

  
33 36
public class SaveActivity extends Activity implements SeekBar.OnSeekBarChangeListener
34 37
  {
38
  private static final int REQUEST_EXTERNAL_STORAGE = 1;
39
  private static String[] PERMISSIONS_STORAGE =
40
     {
41
     Manifest.permission.READ_EXTERNAL_STORAGE,
42
     Manifest.permission.WRITE_EXTERNAL_STORAGE
43
     };
44

  
45
///////////////////////////////////////////////////////////////////////////////////////////////////
46
// Checks if the app has permission to write to device storage
47
// If the app does not has permission then the user will be prompted to grant permissions
48

  
49
   private void verifyStoragePermissions()
50
     {
51
     int permission = ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
52

  
53
     if (permission != PackageManager.PERMISSION_GRANTED)
54
       {
55
       ActivityCompat.requestPermissions( this, PERMISSIONS_STORAGE, REQUEST_EXTERNAL_STORAGE );
56
       }
57
     }
58

  
35 59
///////////////////////////////////////////////////////////////////////////////////////////////////
36 60
    
37 61
  @Override
......
85 109

  
86 110
  public void Save(View v)
87 111
    {
112
    verifyStoragePermissions();
113

  
88 114
    SaveSurfaceView view = (SaveSurfaceView) this.findViewById(R.id.saveSurfaceView);
89 115
    view.getRenderer().Save();
90 116
    }

Also available in: Unified diff