Skip to content

Commit

Permalink
Update targetSdk
Browse files Browse the repository at this point in the history
  • Loading branch information
jpelgrom committed Sep 30, 2024
1 parent c652c54 commit 535d952
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 15 deletions.
2 changes: 1 addition & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ android {
defaultConfig {
applicationId "com.wifi.improv.demo"
minSdk 21
targetSdk 30
targetSdk 34
versionCode 1
versionName "1.0"

Expand Down
5 changes: 5 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"
android:maxSdkVersion="30" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN"
android:usesPermissionFlags="neverForLocation" />

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
Expand Down
26 changes: 16 additions & 10 deletions app/src/main/java/com/wifi/improv/demo/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package com.wifi.improv.demo

import android.Manifest
import android.content.pm.PackageManager
import android.os.Build
import android.os.Bundle
import android.util.Log
import androidx.activity.ComponentActivity
Expand Down Expand Up @@ -33,27 +34,32 @@ class MainActivity : ComponentActivity() {
private lateinit var improv: ImprovManager
private val viewModel: ImprovViewModel by viewModels()

private val requestPermission = registerForActivityResult(ActivityResultContracts.RequestPermission()) { granted ->
if (granted) {
Log.i(TAG, "Got location permission!")
private val requestPermission = registerForActivityResult(ActivityResultContracts.RequestMultiplePermissions()) { results ->
if (results.all { it.value }) {
Log.i(TAG, "Got permission!")
improv.findDevices()
}
}

private fun findDevices() {
// make sure we have permissions!
if (ContextCompat.checkSelfPermission(
this,
Manifest.permission.ACCESS_FINE_LOCATION
) == PackageManager.PERMISSION_DENIED
) {
requestPermission.launch(Manifest.permission.ACCESS_FINE_LOCATION)
val requiredPermissions = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
arrayOf(Manifest.permission.BLUETOOTH_SCAN, Manifest.permission.BLUETOOTH_CONNECT)
} else {
arrayOf(Manifest.permission.ACCESS_FINE_LOCATION)
}
if (requiredPermissions.any { permission ->
ContextCompat.checkSelfPermission(
this,
permission
) == PackageManager.PERMISSION_DENIED
}) {
requestPermission.launch(requiredPermissions)
} else {
improv.findDevices()
}
}


override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
improv = ImprovManager(applicationContext, viewModel)
Expand Down
2 changes: 1 addition & 1 deletion library/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ android {

defaultConfig {
minSdk 21
targetSdk 30
targetSdk 34

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
Expand Down
9 changes: 6 additions & 3 deletions library/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">

<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.BLUETOOTH"
android:maxSdkVersion="30"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"
android:maxSdkVersion="30"/>
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />

<uses-feature
android:name="android.hardware.bluetooth_le"
Expand Down
2 changes: 2 additions & 0 deletions library/src/main/java/com/wifi/improv/ImprovManager.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.wifi.improv

import android.annotation.SuppressLint
import android.bluetooth.*
import android.bluetooth.le.ScanCallback
import android.bluetooth.le.ScanFilter
Expand All @@ -11,6 +12,7 @@ import android.util.Log
import java.util.*
import java.util.concurrent.ConcurrentLinkedQueue

@SuppressLint("MissingPermission") // Permission checks are expected to be done by the app
class ImprovManager(
private val context: Context,
private val callback: ImprovManagerCallback
Expand Down

0 comments on commit 535d952

Please sign in to comment.