Save media after storage permission is granted
This commit is contained in:
parent
bbaca76cfa
commit
68d68d9749
|
@ -41,6 +41,7 @@ import android.widget.ImageView;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
import androidx.appcompat.app.ActionBar;
|
import androidx.appcompat.app.ActionBar;
|
||||||
import androidx.core.app.ActivityCompat;
|
import androidx.core.app.ActivityCompat;
|
||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
|
@ -161,24 +162,20 @@ public class SlideMediaActivity extends BaseFragmentActivity implements OnDownlo
|
||||||
media_save.setOnClickListener(view12 -> {
|
media_save.setOnClickListener(view12 -> {
|
||||||
int position = mPager.getCurrentItem();
|
int position = mPager.getCurrentItem();
|
||||||
Attachment attachment = attachments.get(position);
|
Attachment attachment = attachments.get(position);
|
||||||
if (attachment.getType().compareTo("image") == 0) {
|
if (Build.VERSION.SDK_INT >= 23) {
|
||||||
if (Build.VERSION.SDK_INT >= 23) {
|
if (ContextCompat.checkSelfPermission(SlideMediaActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(SlideMediaActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
|
||||||
if (ContextCompat.checkSelfPermission(SlideMediaActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(SlideMediaActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
|
ActivityCompat.requestPermissions(SlideMediaActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, Helper.EXTERNAL_STORAGE_REQUEST_CODE_MEDIA_SAVE);
|
||||||
ActivityCompat.requestPermissions(SlideMediaActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, Helper.EXTERNAL_STORAGE_REQUEST_CODE);
|
|
||||||
} else {
|
|
||||||
Helper.manageMove(SlideMediaActivity.this, attachment.getUrl(), false);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
Helper.manageMove(SlideMediaActivity.this, attachment.getUrl(), false);
|
if (attachment.getType().compareTo("image") == 0) {
|
||||||
}
|
Helper.manageMove(SlideMediaActivity.this, attachment.getUrl(), false);
|
||||||
} else {
|
|
||||||
if (Build.VERSION.SDK_INT >= 23) {
|
|
||||||
if (ContextCompat.checkSelfPermission(SlideMediaActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(SlideMediaActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
|
|
||||||
ActivityCompat.requestPermissions(SlideMediaActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, Helper.EXTERNAL_STORAGE_REQUEST_CODE);
|
|
||||||
} else {
|
} else {
|
||||||
Helper.manageDownloadsNoPopup(SlideMediaActivity.this, attachment.getUrl());
|
Helper.manageDownloadsNoPopup(SlideMediaActivity.this, attachment.getUrl());
|
||||||
downloadID = -1;
|
downloadID = -1;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (attachment.getType().compareTo("image") == 0) {
|
||||||
|
Helper.manageMove(SlideMediaActivity.this, attachment.getUrl(), false);
|
||||||
} else {
|
} else {
|
||||||
Helper.manageDownloadsNoPopup(SlideMediaActivity.this, attachment.getUrl());
|
Helper.manageDownloadsNoPopup(SlideMediaActivity.this, attachment.getUrl());
|
||||||
downloadID = -1;
|
downloadID = -1;
|
||||||
|
@ -196,7 +193,7 @@ public class SlideMediaActivity extends BaseFragmentActivity implements OnDownlo
|
||||||
} else {
|
} else {
|
||||||
if (Build.VERSION.SDK_INT >= 23) {
|
if (Build.VERSION.SDK_INT >= 23) {
|
||||||
if (ContextCompat.checkSelfPermission(SlideMediaActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(SlideMediaActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
|
if (ContextCompat.checkSelfPermission(SlideMediaActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(SlideMediaActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
|
||||||
ActivityCompat.requestPermissions(SlideMediaActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, Helper.EXTERNAL_STORAGE_REQUEST_CODE);
|
ActivityCompat.requestPermissions(SlideMediaActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, Helper.EXTERNAL_STORAGE_REQUEST_CODE_MEDIA_SHARE);
|
||||||
} else {
|
} else {
|
||||||
downloadID = Helper.manageDownloadsNoPopup(SlideMediaActivity.this, attachment.getUrl());
|
downloadID = Helper.manageDownloadsNoPopup(SlideMediaActivity.this, attachment.getUrl());
|
||||||
}
|
}
|
||||||
|
@ -280,6 +277,31 @@ public class SlideMediaActivity extends BaseFragmentActivity implements OnDownlo
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
|
||||||
|
switch (requestCode) {
|
||||||
|
case Helper.EXTERNAL_STORAGE_REQUEST_CODE_MEDIA_SAVE:
|
||||||
|
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
|
||||||
|
int position = mPager.getCurrentItem();
|
||||||
|
Attachment attachment = attachments.get(position);
|
||||||
|
if (attachment.getType().compareTo("image") == 0) {
|
||||||
|
Helper.manageMove(SlideMediaActivity.this, attachment.getUrl(), false);
|
||||||
|
} else {
|
||||||
|
Helper.manageDownloadsNoPopup(SlideMediaActivity.this, attachment.getUrl());
|
||||||
|
downloadID = -1;
|
||||||
|
}
|
||||||
|
} else { /*Todo: Toast "Storage Permission Required" */ }
|
||||||
|
return;
|
||||||
|
case Helper.EXTERNAL_STORAGE_REQUEST_CODE_MEDIA_SHARE:
|
||||||
|
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
|
||||||
|
int position = mPager.getCurrentItem();
|
||||||
|
Attachment attachment = attachments.get(position);
|
||||||
|
downloadID = Helper.manageDownloadsNoPopup(SlideMediaActivity.this, attachment.getUrl());
|
||||||
|
} else { /*Todo: Toast "Storage Permission Required" */ }
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean dispatchTouchEvent(MotionEvent event) {
|
public boolean dispatchTouchEvent(MotionEvent event) {
|
||||||
|
|
||||||
|
|
|
@ -266,6 +266,8 @@ public class Helper {
|
||||||
public static final String REDIRECT_CONTENT = "urn:ietf:wg:oauth:2.0:oob";
|
public static final String REDIRECT_CONTENT = "urn:ietf:wg:oauth:2.0:oob";
|
||||||
public static final String REDIRECT_CONTENT_WEB = "mastalab://backtomastalab";
|
public static final String REDIRECT_CONTENT_WEB = "mastalab://backtomastalab";
|
||||||
public static final int EXTERNAL_STORAGE_REQUEST_CODE = 84;
|
public static final int EXTERNAL_STORAGE_REQUEST_CODE = 84;
|
||||||
|
public static final int EXTERNAL_STORAGE_REQUEST_CODE_MEDIA_SAVE = 85;
|
||||||
|
public static final int EXTERNAL_STORAGE_REQUEST_CODE_MEDIA_SHARE = 86;
|
||||||
|
|
||||||
//Thekinrar's API: https://instances.social/api/doc/
|
//Thekinrar's API: https://instances.social/api/doc/
|
||||||
public static final String THEKINRAR_SECRET_TOKEN = "jGj9gW3z9ptyIpB8CMGhAlTlslcemMV6AgoiImfw3vPP98birAJTHOWiu5ZWfCkLvcaLsFZw9e3Pb7TIwkbIyrj3z6S7r2oE6uy6EFHvls3YtapP8QKNZ980p9RfzTb4";
|
public static final String THEKINRAR_SECRET_TOKEN = "jGj9gW3z9ptyIpB8CMGhAlTlslcemMV6AgoiImfw3vPP98birAJTHOWiu5ZWfCkLvcaLsFZw9e3Pb7TIwkbIyrj3z6S7r2oE6uy6EFHvls3YtapP8QKNZ980p9RfzTb4";
|
||||||
|
|
Loading…
Reference in New Issue