fix permission request handling for permanently denied permissions

This commit is contained in:
Akinwale Ariwodola 2020-05-27 22:56:07 +01:00
parent c844c4f896
commit a859682954
2 changed files with 21 additions and 14 deletions
app/src/main/java/io/lbry/browser

View file

@ -2915,11 +2915,17 @@ public class MainActivity extends AppCompatActivity implements SdkStatusListener
public static void requestPermission(String permission, int requestCode, String rationale, Context context, boolean forceRequest) {
if (ContextCompat.checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED) {
if (!forceRequest && ActivityCompat.shouldShowRequestPermissionRationale((Activity) context, permission)) {
Toast.makeText(context, rationale, Toast.LENGTH_LONG).show();
} else {
if (ActivityCompat.shouldShowRequestPermissionRationale((Activity) context, permission)) {
if (context instanceof MainActivity) {
((MainActivity) context).showMessage(rationale);
}
} else if (forceRequest) {
startingPermissionRequest = true;
ActivityCompat.requestPermissions((Activity) context, new String[] { permission }, requestCode);
} else {
if (context instanceof MainActivity) {
((MainActivity) context).showError(rationale);
}
}
}
}