uniform method names for permission requests
This commit is contained in:
parent
6a194a7952
commit
e56a20f34c
2 changed files with 13 additions and 13 deletions
|
|
@ -36,8 +36,8 @@ public abstract class AbsBaseActivity extends AbsThemeActivity {
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
permissions = getPermissionsToRequest();
|
permissions = getPermissionRequest();
|
||||||
allowed = hasPermissions();
|
allowed = checkPermissions();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -59,13 +59,13 @@ public abstract class AbsBaseActivity extends AbsThemeActivity {
|
||||||
|
|
||||||
new Handler().postDelayed(builder::show, 2000);
|
new Handler().postDelayed(builder::show, 2000);
|
||||||
} else if (permissions.size() != 0 && ActivityCompat.shouldShowRequestPermissionRationale(this, permissions.get(0))) {
|
} else if (permissions.size() != 0 && ActivityCompat.shouldShowRequestPermissionRationale(this, permissions.get(0))) {
|
||||||
builder.setMessage(getPermissionDeniedMessage())
|
builder.setMessage(getPermissionMessage())
|
||||||
.setTitle(R.string.permissions_denied)
|
.setTitle(R.string.permissions_denied)
|
||||||
.setPositiveButton(R.string.action_grant, (dialog, id) -> requestPermissions());
|
.setPositiveButton(R.string.action_grant, (dialog, id) -> requestPermissions());
|
||||||
|
|
||||||
new Handler().postDelayed(builder::show, 2000);
|
new Handler().postDelayed(builder::show, 2000);
|
||||||
} else if (!hasPermissions()) {
|
} else if (!checkPermissions()) {
|
||||||
builder.setMessage(getPermissionDeniedMessage())
|
builder.setMessage(getPermissionMessage())
|
||||||
.setTitle(R.string.permissions_denied)
|
.setTitle(R.string.permissions_denied)
|
||||||
.setPositiveButton(R.string.action_settings, (dialog, id) -> NavigationUtil.openSettings(this));
|
.setPositiveButton(R.string.action_settings, (dialog, id) -> NavigationUtil.openSettings(this));
|
||||||
|
|
||||||
|
|
@ -78,7 +78,7 @@ public abstract class AbsBaseActivity extends AbsThemeActivity {
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
|
||||||
if (hasPermissions() != allowed) {
|
if (checkPermissions() != allowed) {
|
||||||
super.recreate();
|
super.recreate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -87,16 +87,16 @@ public abstract class AbsBaseActivity extends AbsThemeActivity {
|
||||||
return getWindow().getDecorView();
|
return getWindow().getDecorView();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected List<String> getPermissionsToRequest() {
|
protected List<String> getPermissionRequest() {
|
||||||
return new ArrayList<>();
|
return new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected String getPermissionDeniedMessage() {
|
protected String getPermissionMessage() {
|
||||||
return getString(R.string.permissions_denied);
|
return getString(R.string.permissions_denied);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void showWarning() {
|
private void showWarning() {
|
||||||
Snackbar.make(getPermissionWindow(), getPermissionDeniedMessage(), Snackbar.LENGTH_SHORT)
|
Snackbar.make(getPermissionWindow(), getPermissionMessage(), Snackbar.LENGTH_SHORT)
|
||||||
.setAction(R.string.ignore, view -> { })
|
.setAction(R.string.ignore, view -> { })
|
||||||
.setActionTextColor(ThemeStore.accentColor(this))
|
.setActionTextColor(ThemeStore.accentColor(this))
|
||||||
.show();
|
.show();
|
||||||
|
|
@ -121,12 +121,12 @@ public abstract class AbsBaseActivity extends AbsThemeActivity {
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequiresApi(api = Build.VERSION_CODES.M)
|
@RequiresApi(api = Build.VERSION_CODES.M)
|
||||||
protected void requestPermissions() {
|
private void requestPermissions() {
|
||||||
requestPermissions(permissions.toArray(new String[0]), PERMISSION_REQUEST);
|
requestPermissions(permissions.toArray(new String[0]), PERMISSION_REQUEST);
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequiresApi(api = Build.VERSION_CODES.M)
|
@RequiresApi(api = Build.VERSION_CODES.M)
|
||||||
protected boolean hasPermissions() {
|
private boolean checkPermissions() {
|
||||||
for (String permission : permissions) {
|
for (String permission : permissions) {
|
||||||
if (checkSelfPermission(permission) != PackageManager.PERMISSION_GRANTED) {
|
if (checkSelfPermission(permission) != PackageManager.PERMISSION_GRANTED) {
|
||||||
return false;
|
return false;
|
||||||
|
|
|
||||||
|
|
@ -192,12 +192,12 @@ public abstract class AbsMusicServiceActivity extends AbsBaseActivity implements
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getPermissionDeniedMessage() {
|
protected String getPermissionMessage() {
|
||||||
return getString(R.string.permission_external_storage_denied);
|
return getString(R.string.permission_external_storage_denied);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected List<String> getPermissionsToRequest() {
|
protected List<String> getPermissionRequest() {
|
||||||
return Arrays.asList(Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE);
|
return Arrays.asList(Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue