Skip to content

Commit 1216976

Browse files
committed
fixed issue #56
1 parent 26ce4fb commit 1216976

File tree

1 file changed

+31
-14
lines changed

1 file changed

+31
-14
lines changed

app/src/main/java/com/sdsmdg/kd/trianglifyexample/MainActivity.java

+31-14
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import android.graphics.Bitmap;
1010
import android.os.Bundle;
1111
import android.provider.MediaStore;
12+
import android.support.annotation.NonNull;
1213
import android.support.v4.app.ActivityCompat;
1314
import android.support.v4.content.ContextCompat;
1415
import android.support.v7.app.AlertDialog;
@@ -38,6 +39,7 @@ public class MainActivity extends AppCompatActivity {
3839
private CheckBox randomColoringCheckbox;
3940
private CheckBox customPaletteCheckbox;
4041
private Palette customPalette;
42+
private final int PERMISSION_CODE = 69;
4143
public static final String PALETTE_COLOR_ARRAY = "Palette Color Array";
4244

4345
@Override
@@ -57,7 +59,7 @@ protected void onCreate(Bundle savedInstanceState) {
5759
varianceSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
5860
@Override
5961
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
60-
trianglifyView.setVariance(progress+1);
62+
trianglifyView.setVariance(progress + 1);
6163
trianglifyView.smartUpdate();
6264
}
6365

@@ -80,7 +82,7 @@ public void onStopTrackingTouch(SeekBar seekBar) {
8082
cellSizeSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
8183
@Override
8284
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
83-
trianglifyView.setCellSize(progress+100);
85+
trianglifyView.setCellSize(progress + 100);
8486
trianglifyView.smartUpdate();
8587
}
8688

@@ -201,7 +203,7 @@ public void randomizeTrianglifyParameters(TrianglifyView trianglifyView) {
201203
.setDrawStrokeEnabled(rnd.nextInt(2) == 0)
202204
.setVariance(rnd.nextInt(60));
203205

204-
if ( !trianglifyView.isFillTriangle() && !trianglifyView.isDrawStrokeEnabled()) {
206+
if (!trianglifyView.isFillTriangle() && !trianglifyView.isDrawStrokeEnabled()) {
205207
trianglifyView.setDrawStrokeEnabled(true);
206208
trianglifyView.setFillTriangle(true);
207209
}
@@ -268,7 +270,13 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) {
268270

269271
private void exportImage() {
270272
// Checks if permission is required for android version > 6
271-
if (askForWritePermission() == 0) {
273+
if (ContextCompat.checkSelfPermission(this,
274+
Manifest.permission.WRITE_EXTERNAL_STORAGE)
275+
!= PackageManager.PERMISSION_GRANTED) {
276+
ActivityCompat.requestPermissions(this,
277+
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
278+
PERMISSION_CODE);
279+
} else {
272280
Bitmap bitmap = trianglifyView.getBitmap();
273281
if (bitmap != null) {
274282
addImageToGallery(bitmap, this);
@@ -277,10 +285,9 @@ private void exportImage() {
277285
Toast.makeText(this, "Unable to generate image, please try again",
278286
Toast.LENGTH_LONG).show();
279287
}
280-
} else {
281-
Toast.makeText(this, "Storage access failed, check permission",
282-
Toast.LENGTH_LONG).show();
283288
}
289+
290+
284291
}
285292

286293
public static void addImageToGallery(Bitmap bitmap, Context context) {
@@ -293,13 +300,7 @@ public static void addImageToGallery(Bitmap bitmap, Context context) {
293300
*/
294301
public int askForWritePermission() {
295302
int result = 0;
296-
if (ContextCompat.checkSelfPermission(this,
297-
Manifest.permission.WRITE_EXTERNAL_STORAGE)
298-
!= PackageManager.PERMISSION_GRANTED) {
299-
ActivityCompat.requestPermissions(this,
300-
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
301-
result);
302-
}
303+
303304
return result;
304305
}
305306

@@ -328,4 +329,20 @@ public void onClick(DialogInterface dialog, int which) {
328329

329330
alertDgBuilder.create().show();
330331
}
332+
333+
@Override
334+
public void onRequestPermissionsResult(int requestCode,
335+
@NonNull String permissions[], @NonNull int[] grantResults) {
336+
switch (requestCode) {
337+
case PERMISSION_CODE:
338+
if (grantResults.length > 0
339+
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
340+
exportImage();
341+
} else {
342+
Toast.makeText(this, "Storage access failed, check permission",
343+
Toast.LENGTH_LONG).show();
344+
}
345+
break;
346+
}
347+
}
331348
}

0 commit comments

Comments
 (0)