Android 12 support

This commit is contained in:
Electric1447
2021-07-19 00:56:49 +03:00
parent d45f0577a0
commit aee5b03a29
6 changed files with 21 additions and 10 deletions
+2 -2
View File
@@ -1,13 +1,13 @@
apply plugin: 'com.android.application'
android {
compileSdkVersion 30
compileSdkVersion 31
buildToolsVersion '30.0.3'
defaultConfig {
applicationId "com.dosse.airpods"
minSdkVersion 23
targetSdkVersion 30
targetSdkVersion 31
versionCode 17
versionName '1.6'
@@ -6,6 +6,8 @@
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
@@ -24,6 +26,7 @@
<activity
android:name=".MainActivity"
android:exported="true"
android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -58,20 +58,22 @@ public class IntroActivity extends AppCompatActivity {
}
private int getPermissionState () {
if (!PermissionUtils.getBatteryOptimizationsPermission(this))
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) if (!PermissionUtils.getBluetoothPermissions(this))
return 1;
else if (!PermissionUtils.getFineLocationPermission(this))
if (!PermissionUtils.getBatteryOptimizationsPermission(this))
return 2;
else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) if (!PermissionUtils.getBackgroundLocationPermission(this))
if (!PermissionUtils.getFineLocationPermission(this))
return 3;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) if (!PermissionUtils.getBackgroundLocationPermission(this))
return 4;
return 0;
}
@SuppressLint("BatteryLife")
private void initScreen () {
int step = getPermissionState();
int numOfSteps = (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) ? 3 : 2;
int step = getPermissionState() - ((Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) ? 0 : 1);
int numOfSteps = (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) ? ((Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) ? 4 : 3) : 2;
switch (step) {
case 1:
@@ -21,6 +21,12 @@ public class PermissionUtils {
}
}
@RequiresApi(api = Build.VERSION_CODES.S)
public static boolean getBluetoothPermissions (Context context) {
return ContextCompat.checkSelfPermission(context, Manifest.permission.BLUETOOTH_SCAN) == PackageManager.PERMISSION_GRANTED
&& ContextCompat.checkSelfPermission(context, Manifest.permission.BLUETOOTH_CONNECT) == PackageManager.PERMISSION_GRANTED;
}
public static boolean getFineLocationPermission (Context context) {
return ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED;
}
+1 -1
View File
@@ -7,7 +7,7 @@ buildscript {
}
dependencies {
classpath 'com.android.tools.build:gradle:4.2.1'
classpath 'com.android.tools.build:gradle:4.2.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
+2 -2
View File
@@ -1,6 +1,6 @@
#Mon Jun 07 14:29:04 IDT 2021
#Mon Jul 19 00:51:02 IDT 2021
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.1.1-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME