Lint: fix AGP7.0.0 found linting errors.

This commit is contained in:
Dennis Guse
2021-07-29 21:41:01 +02:00
parent fd1a53d1a6
commit 54be1b74fb
4 changed files with 12 additions and 15 deletions
@@ -27,7 +27,6 @@ import android.content.pm.PackageManager;
import android.database.Cursor;
import android.graphics.drawable.AnimatedVectorDrawable;
import android.location.LocationManager;
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
import android.util.Log;
@@ -393,24 +392,22 @@ public class TrackListActivity extends AbstractTrackDeleteActivity implements Co
}
private void requestGPSPermissions() {
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED
&& ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
return;
}
ActivityResultLauncher<String[]> locationPermissionRequest = registerForActivityResult(new ActivityResultContracts.RequestMultiplePermissions(), result -> {
Boolean fineLocationGranted = result.getOrDefault(Manifest.permission.ACCESS_FINE_LOCATION, false);
if (fineLocationGranted == null || !fineLocationGranted) {
Boolean coarseLocationGranted = result.getOrDefault(Manifest.permission.ACCESS_COARSE_LOCATION, false);
if (fineLocationGranted == null || !fineLocationGranted
|| coarseLocationGranted == null || !coarseLocationGranted) {
Toast.makeText(this, R.string.permission_gps_failed, Toast.LENGTH_SHORT).show();
finish();
}
}
);
String[] permissions;
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.R) {
permissions = new String[]{Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION};
} else {
permissions = new String[]{Manifest.permission.ACCESS_FINE_LOCATION};
}
String[] permissions = new String[]{Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION};
locationPermissionRequest.launch(permissions);
}
@@ -113,7 +113,7 @@ public abstract class DirectoryChooserActivity extends AppCompatActivity {
Uri directoryUri = resultData.getData();
PreferencesUtils.setDefaultExportDirectoryUri(sharedPreferences, this, directoryUri);
IntentUtils.persistDirectoryAccessPermission(getApplicationContext(), resultData, directoryUri);
IntentUtils.persistDirectoryAccessPermission(getApplicationContext(), directoryUri);
break;
case RESULT_CANCELED:
PreferencesUtils.setDefaultExportDirectoryUri(sharedPreferences, this, null);
@@ -44,6 +44,8 @@ public class LocationHandler implements LocationListener, GpsStatus.GpsStatusLis
gpsStatus.start();
}
@SuppressWarnings({"MissingPermission"})
//TODO upgrade to AGP7.0.0/API31 started complaining about removeUpdates.
public void onStop() {
lastTrackPoint = null;
if (locationManager != null) {
@@ -200,10 +200,8 @@ public class IntentUtils {
return new Pair<>(intent, photoUri);
}
public static void persistDirectoryAccessPermission(Context context, Intent resultData, Uri directoryUri) {
final int takeFlags = resultData.getFlags()
& (Intent.FLAG_GRANT_READ_URI_PERMISSION
| Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
context.getContentResolver().takePersistableUriPermission(directoryUri, takeFlags);
public static void persistDirectoryAccessPermission(Context context, Uri directoryUri) {
int flags = Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION;
context.getContentResolver().takePersistableUriPermission(directoryUri, flags);
}
}