Merge pull request #1546 from nextcloud/sdk30

Bump to SDK 30
This commit is contained in:
Andy Scherzinger 2021-09-16 15:20:13 +02:00 committed by GitHub
commit 2315701b3a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 64 additions and 27 deletions

View File

@ -45,11 +45,11 @@ for (TaskExecutionRequest tr : getGradle().getStartParameter().getTaskRequests()
} }
android { android {
compileSdkVersion 29 compileSdkVersion 30
buildToolsVersion '30.0.3' buildToolsVersion '30.0.3'
defaultConfig { defaultConfig {
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 29 targetSdkVersion 30
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
// mayor.minor.hotfix.increment (for increment: 01-50=Alpha / 51-89=RC / 90-99=stable) // mayor.minor.hotfix.increment (for increment: 01-50=Alpha / 51-89=RC / 90-99=stable)

View File

@ -62,7 +62,10 @@
<uses-permission <uses-permission
android:name="android.permission.USE_CREDENTIALS" android:name="android.permission.USE_CREDENTIALS"
android:maxSdkVersion="22" /> android:maxSdkVersion="22" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="29"
tools:ignore="ScopedStorage" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.WAKE_LOCK" />

View File

@ -519,7 +519,7 @@ class LocationPickerController(args: Bundle) :
} }
} }
override fun onLocationChanged(location: Location?) { override fun onLocationChanged(location: Location) {
myLocation = GeoPoint(location) myLocation = GeoPoint(location)
} }
@ -527,11 +527,11 @@ class LocationPickerController(args: Bundle) :
// empty // empty
} }
override fun onProviderEnabled(provider: String?) { override fun onProviderEnabled(provider: String) {
// empty // empty
} }
override fun onProviderDisabled(provider: String?) { override fun onProviderDisabled(provider: String) {
// empty // empty
} }

View File

@ -213,7 +213,21 @@ class UploadAndShareFilesWorker(val context: Context, workerParameters: WorkerPa
const val META_DATA = "META_DATA" const val META_DATA = "META_DATA"
fun isStoragePermissionGranted(context: Context): Boolean { fun isStoragePermissionGranted(context: Context): Boolean {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { when {
Build.VERSION.SDK_INT > Build.VERSION_CODES.Q -> {
return if (PermissionChecker.checkSelfPermission(
context,
Manifest.permission.READ_EXTERNAL_STORAGE
) == PermissionChecker.PERMISSION_GRANTED
) {
Log.d(TAG, "Permission is granted (SDK 30 or greater)")
true
} else {
Log.d(TAG, "Permission is revoked (SDK 30 or greater)")
false
}
}
Build.VERSION.SDK_INT >= Build.VERSION_CODES.M -> {
return if (PermissionChecker.checkSelfPermission( return if (PermissionChecker.checkSelfPermission(
context, context,
Manifest.permission.WRITE_EXTERNAL_STORAGE Manifest.permission.WRITE_EXTERNAL_STORAGE
@ -225,13 +239,26 @@ class UploadAndShareFilesWorker(val context: Context, workerParameters: WorkerPa
Log.d(TAG, "Permission is revoked") Log.d(TAG, "Permission is revoked")
false false
} }
} else { // permission is automatically granted on sdk<23 upon installation }
else -> { // permission is automatically granted on sdk<23 upon installation
Log.d(TAG, "Permission is granted") Log.d(TAG, "Permission is granted")
return true return true
} }
} }
}
fun requestStoragePermission(controller: Controller) { fun requestStoragePermission(controller: Controller) {
when {
Build.VERSION.SDK_INT > Build.VERSION_CODES.Q -> {
controller.requestPermissions(
arrayOf(
Manifest.permission.READ_EXTERNAL_STORAGE
),
REQUEST_PERMISSION
)
}
Build.VERSION.SDK_INT >= Build.VERSION_CODES.M -> {
controller.requestPermissions( controller.requestPermissions(
arrayOf( arrayOf(
Manifest.permission.WRITE_EXTERNAL_STORAGE Manifest.permission.WRITE_EXTERNAL_STORAGE
@ -239,5 +266,9 @@ class UploadAndShareFilesWorker(val context: Context, workerParameters: WorkerPa
REQUEST_PERMISSION REQUEST_PERMISSION
) )
} }
else -> { // permission is automatically granted on sdk<23 upon installation
}
}
}
} }
} }

View File

@ -31,6 +31,7 @@
package com.nextcloud.talk.webrtc; package com.nextcloud.talk.webrtc;
import android.annotation.SuppressLint;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
@ -193,6 +194,7 @@ public class MagicAudioManager {
} }
} }
@SuppressLint("WrongConstant")
public void start(AudioManagerEvents audioManagerEvents) { public void start(AudioManagerEvents audioManagerEvents) {
Log.d(TAG, "start"); Log.d(TAG, "start");
ThreadUtils.checkIsOnMainThread(); ThreadUtils.checkIsOnMainThread();
@ -291,6 +293,7 @@ public class MagicAudioManager {
Log.d(TAG, "AudioManager started"); Log.d(TAG, "AudioManager started");
} }
@SuppressLint("WrongConstant")
public void stop() { public void stop() {
Log.d(TAG, "stop"); Log.d(TAG, "stop");
ThreadUtils.checkIsOnMainThread(); ThreadUtils.checkIsOnMainThread();
@ -464,7 +467,7 @@ public class MagicAudioManager {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
return audioManager.isWiredHeadsetOn(); return audioManager.isWiredHeadsetOn();
} else { } else {
final AudioDeviceInfo[] devices = audioManager.getDevices(AudioManager.GET_DEVICES_ALL); @SuppressLint("WrongConstant") final AudioDeviceInfo[] devices = audioManager.getDevices(AudioManager.GET_DEVICES_ALL);
for (AudioDeviceInfo device : devices) { for (AudioDeviceInfo device : devices) {
final int type = device.getType(); final int type = device.getType();
if (type == AudioDeviceInfo.TYPE_WIRED_HEADSET) { if (type == AudioDeviceInfo.TYPE_WIRED_HEADSET) {