use targetapi annotations throughout base activity

This commit is contained in:
dkanada 2021-04-26 10:52:05 +09:00
commit e9015a5541

View file

@ -1,5 +1,6 @@
package com.dkanada.gramophone.activities.base; package com.dkanada.gramophone.activities.base;
import android.annotation.TargetApi;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.os.Build; import android.os.Build;
@ -7,11 +8,13 @@ import android.os.Bundle;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.core.app.ActivityCompat; import androidx.core.app.ActivityCompat;
import com.dkanada.gramophone.util.NavigationUtil; import com.dkanada.gramophone.util.NavigationUtil;
import com.dkanada.gramophone.R; import com.dkanada.gramophone.R;
import java.util.ArrayList;
import java.util.List; import java.util.List;
public abstract class AbsBaseActivity extends AbsThemeActivity { public abstract class AbsBaseActivity extends AbsThemeActivity {
@ -21,6 +24,7 @@ public abstract class AbsBaseActivity extends AbsThemeActivity {
private boolean allowed; private boolean allowed;
@Override @Override
@TargetApi(Build.VERSION_CODES.M)
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
@ -29,6 +33,7 @@ public abstract class AbsBaseActivity extends AbsThemeActivity {
} }
@Override @Override
@TargetApi(Build.VERSION_CODES.M)
protected void onPostCreate(@Nullable Bundle savedInstanceState) { protected void onPostCreate(@Nullable Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState); super.onPostCreate(savedInstanceState);
@ -38,6 +43,7 @@ public abstract class AbsBaseActivity extends AbsThemeActivity {
} }
@Override @Override
@TargetApi(Build.VERSION_CODES.M)
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
if (hasPermissions() != allowed) { if (hasPermissions() != allowed) {
@ -46,25 +52,23 @@ public abstract class AbsBaseActivity extends AbsThemeActivity {
} }
protected List<String> getPermissionsToRequest() { protected List<String> getPermissionsToRequest() {
return null; return new ArrayList<>();
} }
protected String getPermissionDeniedMessage() { protected String getPermissionDeniedMessage() {
return getString(R.string.permissions_denied); return getString(R.string.permissions_denied);
} }
@RequiresApi(api = Build.VERSION_CODES.M)
protected void requestPermissions() { protected void requestPermissions() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && permissions != null) { requestPermissions(permissions.toArray(new String[0]), PERMISSION_REQUEST);
requestPermissions(permissions.toArray(new String[0]), PERMISSION_REQUEST);
}
} }
@RequiresApi(api = Build.VERSION_CODES.M)
protected boolean hasPermissions() { protected boolean hasPermissions() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && permissions != null) { for (String permission : permissions) {
for (String permission : permissions) { if (checkSelfPermission(permission) != PackageManager.PERMISSION_GRANTED) {
if (checkSelfPermission(permission) != PackageManager.PERMISSION_GRANTED) { return false;
return false;
}
} }
} }
@ -72,6 +76,7 @@ public abstract class AbsBaseActivity extends AbsThemeActivity {
} }
@Override @Override
@TargetApi(Build.VERSION_CODES.M)
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] results) { public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] results) {
super.onRequestPermissionsResult(requestCode, permissions, results); super.onRequestPermissionsResult(requestCode, permissions, results);