mirror of
https://github.com/home-assistant/android
synced 2024-10-02 22:34:46 +00:00
Use getSystemService extension from Core KTX (#2136)
* Use getSystemService extension from Core KTX * Replace deprecated bluetooth calls
This commit is contained in:
parent
050d449ef2
commit
26f700bab2
|
@ -5,9 +5,8 @@ import android.app.Notification
|
|||
import android.app.NotificationChannel
|
||||
import android.app.NotificationManager
|
||||
import android.app.PendingIntent
|
||||
import android.bluetooth.BluetoothAdapter
|
||||
import android.bluetooth.BluetoothManager
|
||||
import android.content.ComponentName
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.graphics.Bitmap
|
||||
import android.graphics.BitmapFactory
|
||||
|
@ -35,6 +34,7 @@ import androidx.core.app.NotificationCompat
|
|||
import androidx.core.app.NotificationManagerCompat
|
||||
import androidx.core.app.RemoteInput
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.content.getSystemService
|
||||
import androidx.core.text.HtmlCompat
|
||||
import androidx.core.text.isDigitsOnly
|
||||
import com.google.firebase.messaging.FirebaseMessagingService
|
||||
|
@ -70,7 +70,6 @@ import java.net.URL
|
|||
import java.net.URLDecoder
|
||||
import java.util.Locale
|
||||
import javax.inject.Inject
|
||||
import kotlin.collections.HashMap
|
||||
import io.homeassistant.companion.android.common.R as commonR
|
||||
|
||||
@AndroidEntryPoint
|
||||
|
@ -407,7 +406,7 @@ class MessagingService : FirebaseMessagingService() {
|
|||
var textToSpeech: TextToSpeech? = null
|
||||
var tts = data[TITLE]
|
||||
val audioManager =
|
||||
applicationContext.getSystemService(Context.AUDIO_SERVICE) as AudioManager
|
||||
applicationContext.getSystemService<AudioManager>()!!
|
||||
val currentAlarmVolume = audioManager.getStreamVolume(AudioManager.STREAM_ALARM)
|
||||
val maxAlarmVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_ALARM)
|
||||
if (tts.isNullOrEmpty())
|
||||
|
@ -477,7 +476,7 @@ class MessagingService : FirebaseMessagingService() {
|
|||
COMMAND_DND -> {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
val notificationManager =
|
||||
applicationContext.getSystemService(NOTIFICATION_SERVICE) as NotificationManager
|
||||
applicationContext.getSystemService<NotificationManager>()!!
|
||||
if (!notificationManager.isNotificationPolicyAccessGranted) {
|
||||
notifyMissingPermission(data[MESSAGE].toString())
|
||||
} else {
|
||||
|
@ -499,10 +498,10 @@ class MessagingService : FirebaseMessagingService() {
|
|||
}
|
||||
COMMAND_RINGER_MODE -> {
|
||||
val audioManager =
|
||||
applicationContext.getSystemService(Context.AUDIO_SERVICE) as AudioManager
|
||||
applicationContext.getSystemService<AudioManager>()!!
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
val notificationManager =
|
||||
applicationContext.getSystemService(NOTIFICATION_SERVICE) as NotificationManager
|
||||
applicationContext.getSystemService<NotificationManager>()!!
|
||||
if (!notificationManager.isNotificationPolicyAccessGranted) {
|
||||
notifyMissingPermission(data[MESSAGE].toString())
|
||||
} else {
|
||||
|
@ -539,10 +538,10 @@ class MessagingService : FirebaseMessagingService() {
|
|||
}
|
||||
COMMAND_VOLUME_LEVEL -> {
|
||||
val audioManager =
|
||||
applicationContext.getSystemService(Context.AUDIO_SERVICE) as AudioManager
|
||||
applicationContext.getSystemService<AudioManager>()!!
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
val notificationManager =
|
||||
applicationContext.getSystemService(NOTIFICATION_SERVICE) as NotificationManager
|
||||
applicationContext.getSystemService<NotificationManager>()!!
|
||||
if (!notificationManager.isNotificationPolicyAccessGranted) {
|
||||
notifyMissingPermission(data[MESSAGE].toString())
|
||||
} else {
|
||||
|
@ -561,11 +560,12 @@ class MessagingService : FirebaseMessagingService() {
|
|||
}
|
||||
}
|
||||
COMMAND_BLUETOOTH -> {
|
||||
val bluetoothAdapter = BluetoothAdapter.getDefaultAdapter()
|
||||
val bluetoothAdapter =
|
||||
applicationContext.getSystemService<BluetoothManager>()?.adapter
|
||||
if (title == TURN_OFF)
|
||||
bluetoothAdapter.disable()
|
||||
bluetoothAdapter?.disable()
|
||||
if (title == TURN_ON)
|
||||
bluetoothAdapter.enable()
|
||||
bluetoothAdapter?.enable()
|
||||
}
|
||||
COMMAND_BLE_TRANSMITTER -> {
|
||||
if (title == TURN_OFF)
|
||||
|
@ -613,7 +613,7 @@ class MessagingService : FirebaseMessagingService() {
|
|||
}
|
||||
|
||||
val powerManager =
|
||||
applicationContext.getSystemService(Context.POWER_SERVICE) as PowerManager
|
||||
applicationContext.getSystemService<PowerManager>()!!
|
||||
val wakeLock = powerManager.newWakeLock(
|
||||
PowerManager.FULL_WAKE_LOCK or
|
||||
PowerManager.ACQUIRE_CAUSES_WAKEUP or
|
||||
|
@ -1338,7 +1338,7 @@ class MessagingService : FirebaseMessagingService() {
|
|||
private fun processMediaCommand(data: Map<String, String>) {
|
||||
val title = data[TITLE]
|
||||
val mediaSessionManager =
|
||||
applicationContext.getSystemService(Context.MEDIA_SESSION_SERVICE) as MediaSessionManager
|
||||
applicationContext.getSystemService<MediaSessionManager>()!!
|
||||
val mediaList = mediaSessionManager.getActiveSessions(
|
||||
ComponentName(
|
||||
applicationContext,
|
||||
|
@ -1503,7 +1503,7 @@ class MessagingService : FirebaseMessagingService() {
|
|||
|
||||
private fun notifyMissingPermission(type: String) {
|
||||
val appManager =
|
||||
applicationContext.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager
|
||||
applicationContext.getSystemService<ActivityManager>()!!
|
||||
val currentProcess = appManager.runningAppProcesses
|
||||
if (currentProcess != null) {
|
||||
for (item in currentProcess) {
|
||||
|
|
|
@ -10,7 +10,7 @@ import android.os.Looper
|
|||
import android.os.PowerManager
|
||||
import android.util.Log
|
||||
import android.widget.Toast
|
||||
import androidx.core.content.ContextCompat.getSystemService
|
||||
import androidx.core.content.getSystemService
|
||||
import com.google.android.gms.location.FusedLocationProviderClient
|
||||
import com.google.android.gms.location.Geofence
|
||||
import com.google.android.gms.location.GeofencingClient
|
||||
|
@ -790,7 +790,7 @@ class LocationSensorManager : LocationSensorManagerBase() {
|
|||
request,
|
||||
object : LocationCallback() {
|
||||
val wakeLock: PowerManager.WakeLock? =
|
||||
getSystemService(latestContext, PowerManager::class.java)
|
||||
latestContext.getSystemService<PowerManager>()
|
||||
?.newWakeLock(
|
||||
PowerManager.PARTIAL_WAKE_LOCK,
|
||||
"HomeAssistant::AccurateLocation"
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
package io.homeassistant.companion.android.bluetooth.ble
|
||||
|
||||
import android.bluetooth.BluetoothAdapter
|
||||
import android.bluetooth.BluetoothManager
|
||||
import android.bluetooth.le.AdvertiseCallback
|
||||
import android.bluetooth.le.AdvertiseSettings
|
||||
import android.content.Context
|
||||
import androidx.core.content.getSystemService
|
||||
import org.altbeacon.beacon.Beacon
|
||||
import org.altbeacon.beacon.BeaconParser
|
||||
import org.altbeacon.beacon.BeaconTransmitter
|
||||
|
@ -53,7 +54,8 @@ object TransmitterManager {
|
|||
val parser = BeaconParser().setBeaconLayout(haTransmitter.beaconLayout)
|
||||
physicalTransmitter = BeaconTransmitter(context, parser)
|
||||
}
|
||||
val bluetoothOn = BluetoothAdapter.getDefaultAdapter().isEnabled
|
||||
val bluetoothAdapter = context.getSystemService<BluetoothManager>()?.adapter
|
||||
val bluetoothOn = bluetoothAdapter?.isEnabled == true
|
||||
if (bluetoothOn) {
|
||||
val beacon = buildBeacon(haTransmitter)
|
||||
if (!physicalTransmitter.isStarted) {
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
package io.homeassistant.companion.android.onboarding
|
||||
|
||||
import android.app.Application
|
||||
import android.net.nsd.NsdManager
|
||||
import android.webkit.URLUtil
|
||||
import android.widget.Toast
|
||||
import androidx.compose.runtime.mutableStateListOf
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.content.getSystemService
|
||||
import androidx.lifecycle.AndroidViewModel
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import io.homeassistant.companion.android.common.R
|
||||
|
@ -22,7 +21,7 @@ class OnboardingViewModel @Inject constructor(
|
|||
) : AndroidViewModel(app) {
|
||||
|
||||
private val homeAssistantSearcher = HomeAssistantSearcher(
|
||||
ContextCompat.getSystemService(app, NsdManager::class.java)!!,
|
||||
app.getSystemService()!!,
|
||||
{ instance ->
|
||||
if (foundInstances.none { it.url == instance.url }) {
|
||||
foundInstances.add(instance)
|
||||
|
|
|
@ -16,6 +16,7 @@ import android.view.ViewGroup
|
|||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||
import androidx.compose.ui.platform.ComposeView
|
||||
import androidx.core.content.getSystemService
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import com.google.android.material.composethemeadapter.MdcTheme
|
||||
|
@ -168,7 +169,7 @@ class MobileAppIntegrationFragment : Fragment() {
|
|||
|
||||
private fun isIgnoringBatteryOptimizations(): Boolean {
|
||||
return Build.VERSION.SDK_INT <= Build.VERSION_CODES.M ||
|
||||
context?.getSystemService(PowerManager::class.java)
|
||||
context?.getSystemService<PowerManager>()
|
||||
?.isIgnoringBatteryOptimizations(activity?.packageName ?: "")
|
||||
?: false
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@ import android.os.Build
|
|||
import android.os.Process
|
||||
import android.util.Log
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.core.content.getSystemService
|
||||
import io.homeassistant.companion.android.BuildConfig
|
||||
import io.homeassistant.companion.android.common.sensors.SensorManager
|
||||
import java.math.RoundingMode
|
||||
|
@ -123,7 +124,7 @@ class AppSensorManager : SensorManager {
|
|||
updateAppTxGb(context, myUid)
|
||||
updateImportanceCheck(context)
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
val usageStatsManager = context.getSystemService(Context.USAGE_STATS_SERVICE) as UsageStatsManager
|
||||
val usageStatsManager = context.getSystemService<UsageStatsManager>()!!
|
||||
updateAppInactive(context, usageStatsManager)
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P)
|
||||
updateAppStandbyBucket(context, usageStatsManager)
|
||||
|
@ -262,7 +263,7 @@ class AppSensorManager : SensorManager {
|
|||
if (!isEnabled(context, app_importance.id))
|
||||
return
|
||||
|
||||
val appManager = context.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager
|
||||
val appManager = context.getSystemService<ActivityManager>()!!
|
||||
val currentProcess = appManager.runningAppProcesses
|
||||
var importance = "not_running"
|
||||
if (currentProcess != null) {
|
||||
|
|
|
@ -4,6 +4,7 @@ import android.content.Context
|
|||
import android.media.AudioDeviceInfo
|
||||
import android.media.AudioManager
|
||||
import android.os.Build
|
||||
import androidx.core.content.getSystemService
|
||||
import io.homeassistant.companion.android.common.sensors.SensorManager
|
||||
import io.homeassistant.companion.android.common.R as commonR
|
||||
|
||||
|
@ -97,7 +98,7 @@ class AudioSensorManager : SensorManager {
|
|||
}
|
||||
|
||||
override fun requestSensorUpdate(context: Context) {
|
||||
val audioManager = context.getSystemService(Context.AUDIO_SERVICE) as AudioManager
|
||||
val audioManager = context.getSystemService<AudioManager>()!!
|
||||
updateAudioSensor(context, audioManager)
|
||||
updateAudioState(context, audioManager)
|
||||
updateHeadphoneState(context, audioManager)
|
||||
|
|
|
@ -4,6 +4,7 @@ import android.app.KeyguardManager
|
|||
import android.content.Context
|
||||
import android.os.Build
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.core.content.getSystemService
|
||||
import io.homeassistant.companion.android.common.sensors.SensorManager
|
||||
import io.homeassistant.companion.android.common.R as commonR
|
||||
|
||||
|
@ -64,7 +65,7 @@ class KeyguardSensorManager : SensorManager {
|
|||
override fun requestSensorUpdate(
|
||||
context: Context
|
||||
) {
|
||||
val km = context.getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager
|
||||
val km = context.getSystemService<KeyguardManager>()!!
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1)
|
||||
updateDeviceLocked(context, km)
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
|
||||
|
|
|
@ -7,6 +7,7 @@ import android.content.pm.PackageManager
|
|||
import android.os.Build
|
||||
import android.util.Log
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.core.content.getSystemService
|
||||
import io.homeassistant.companion.android.BuildConfig
|
||||
import io.homeassistant.companion.android.common.sensors.SensorManager
|
||||
import io.homeassistant.companion.android.common.R as commonR
|
||||
|
@ -55,7 +56,7 @@ class LastAppSensorManager : SensorManager {
|
|||
if (!isEnabled(context, last_used.id))
|
||||
return
|
||||
|
||||
val usageStats = context.getSystemService(Context.USAGE_STATS_SERVICE) as UsageStatsManager
|
||||
val usageStats = context.getSystemService<UsageStatsManager>()!!
|
||||
val current = System.currentTimeMillis()
|
||||
var lastApp = usageStats.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, current - 1000 * 1000, current).maxByOrNull { it.lastTimeUsed }?.packageName ?: "none"
|
||||
try {
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
package io.homeassistant.companion.android.sensors
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Context.SENSOR_SERVICE
|
||||
import android.content.pm.PackageManager
|
||||
import android.hardware.Sensor
|
||||
import android.hardware.SensorEvent
|
||||
import android.hardware.SensorEventListener
|
||||
import android.hardware.SensorManager.SENSOR_DELAY_NORMAL
|
||||
import android.util.Log
|
||||
import androidx.core.content.getSystemService
|
||||
import io.homeassistant.companion.android.common.sensors.SensorManager
|
||||
import kotlin.math.roundToInt
|
||||
import io.homeassistant.companion.android.common.R as commonR
|
||||
|
@ -64,7 +64,7 @@ class LightSensorManager : SensorManager, SensorEventListener {
|
|||
if (!isEnabled(latestContext, lightSensor.id))
|
||||
return
|
||||
|
||||
mySensorManager = latestContext.getSystemService(SENSOR_SERVICE) as android.hardware.SensorManager
|
||||
mySensorManager = latestContext.getSystemService()!!
|
||||
|
||||
val lightSensors = mySensorManager.getDefaultSensor(Sensor.TYPE_LIGHT)
|
||||
if (lightSensors != null && !isListenerRegistered) {
|
||||
|
|
|
@ -5,6 +5,7 @@ import android.content.pm.PackageManager
|
|||
import android.provider.Settings
|
||||
import android.provider.Settings.Global.getInt
|
||||
import android.telephony.TelephonyManager
|
||||
import androidx.core.content.getSystemService
|
||||
import io.homeassistant.companion.android.common.sensors.SensorManager
|
||||
import io.homeassistant.companion.android.common.R as commonR
|
||||
|
||||
|
@ -64,9 +65,8 @@ class MobileDataManager : SensorManager {
|
|||
return
|
||||
|
||||
var enabled = false
|
||||
val telephonyManager =
|
||||
(context.applicationContext.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager)
|
||||
if (telephonyManager.simState == TelephonyManager.SIM_STATE_READY) {
|
||||
val telephonyManager = context.applicationContext.getSystemService<TelephonyManager>()
|
||||
if (telephonyManager?.simState == TelephonyManager.SIM_STATE_READY) {
|
||||
enabled = getInt(context.contentResolver, settingKey, 0) == 1
|
||||
}
|
||||
onSensorUpdated(
|
||||
|
|
|
@ -6,6 +6,7 @@ import android.net.wifi.WifiInfo
|
|||
import android.net.wifi.WifiManager
|
||||
import android.os.Build
|
||||
import android.util.Log
|
||||
import androidx.core.content.getSystemService
|
||||
import io.homeassistant.companion.android.BuildConfig
|
||||
import io.homeassistant.companion.android.common.sensors.SensorManager
|
||||
import io.homeassistant.companion.android.database.AppDatabase
|
||||
|
@ -152,7 +153,7 @@ class NetworkSensorManager : SensorManager {
|
|||
|
||||
if (checkPermission(context, wifiConnection.id)) {
|
||||
val wifiManager =
|
||||
(context.applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager)
|
||||
context.applicationContext.getSystemService<WifiManager>()!!
|
||||
conInfo = wifiManager.connectionInfo
|
||||
|
||||
ssid = if (conInfo.networkId == -1) {
|
||||
|
@ -185,7 +186,7 @@ class NetworkSensorManager : SensorManager {
|
|||
|
||||
if (checkPermission(context, bssidState.id)) {
|
||||
val wifiManager =
|
||||
(context.applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager)
|
||||
context.applicationContext.getSystemService<WifiManager>()!!
|
||||
conInfo = wifiManager.connectionInfo
|
||||
}
|
||||
|
||||
|
@ -228,7 +229,7 @@ class NetworkSensorManager : SensorManager {
|
|||
|
||||
if (checkPermission(context, wifiIp.id)) {
|
||||
val wifiManager =
|
||||
(context.applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager)
|
||||
context.applicationContext.getSystemService<WifiManager>()!!
|
||||
val conInfo = wifiManager.connectionInfo
|
||||
|
||||
deviceIp = if (conInfo.networkId == -1) {
|
||||
|
@ -258,7 +259,7 @@ class NetworkSensorManager : SensorManager {
|
|||
|
||||
if (checkPermission(context, wifiLinkSpeed.id)) {
|
||||
val wifiManager =
|
||||
(context.applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager)
|
||||
context.applicationContext.getSystemService<WifiManager>()!!
|
||||
val conInfo = wifiManager.connectionInfo
|
||||
|
||||
linkSpeed = if (conInfo.networkId == -1) {
|
||||
|
@ -300,7 +301,7 @@ class NetworkSensorManager : SensorManager {
|
|||
|
||||
if (checkPermission(context, wifiState.id)) {
|
||||
val wifiManager =
|
||||
(context.applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager)
|
||||
context.applicationContext.getSystemService<WifiManager>()!!
|
||||
|
||||
wifiEnabled = wifiManager.isWifiEnabled
|
||||
}
|
||||
|
@ -323,7 +324,7 @@ class NetworkSensorManager : SensorManager {
|
|||
|
||||
if (checkPermission(context, wifiFrequency.id)) {
|
||||
val wifiManager =
|
||||
(context.applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager)
|
||||
context.applicationContext.getSystemService<WifiManager>()!!
|
||||
val conInfo = wifiManager.connectionInfo
|
||||
|
||||
frequency = if (conInfo.networkId == -1) {
|
||||
|
@ -352,7 +353,7 @@ class NetworkSensorManager : SensorManager {
|
|||
|
||||
if (checkPermission(context, wifiSignalStrength.id)) {
|
||||
val wifiManager =
|
||||
(context.applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager)
|
||||
context.applicationContext.getSystemService<WifiManager>()!!
|
||||
val conInfo = wifiManager.connectionInfo
|
||||
|
||||
lastScanStrength = wifiManager.scanResults.firstOrNull {
|
||||
|
|
|
@ -3,6 +3,7 @@ package io.homeassistant.companion.android.sensors
|
|||
import android.app.AlarmManager
|
||||
import android.content.Context
|
||||
import android.util.Log
|
||||
import androidx.core.content.getSystemService
|
||||
import io.homeassistant.companion.android.BuildConfig
|
||||
import io.homeassistant.companion.android.common.sensors.SensorManager
|
||||
import io.homeassistant.companion.android.database.AppDatabase
|
||||
|
@ -68,8 +69,7 @@ class NextAlarmManager : SensorManager {
|
|||
val allowPackageList = sensorSetting.firstOrNull { it.name == SETTING_ALLOW_LIST }?.value ?: ""
|
||||
|
||||
try {
|
||||
val alarmManager: AlarmManager =
|
||||
context.getSystemService(Context.ALARM_SERVICE) as AlarmManager
|
||||
val alarmManager = context.getSystemService<AlarmManager>()!!
|
||||
|
||||
val alarmClockInfo = alarmManager.nextAlarmClock
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ import android.service.notification.NotificationListenerService
|
|||
import android.service.notification.StatusBarNotification
|
||||
import android.util.Log
|
||||
import androidx.core.app.NotificationManagerCompat
|
||||
import androidx.core.content.getSystemService
|
||||
import io.homeassistant.companion.android.BuildConfig
|
||||
import io.homeassistant.companion.android.common.sensors.SensorManager
|
||||
import io.homeassistant.companion.android.common.R as commonR
|
||||
|
@ -229,7 +230,7 @@ class NotificationSensorManager : NotificationListenerService(), SensorManager {
|
|||
if (!isEnabled(context, mediaSession.id))
|
||||
return
|
||||
|
||||
val mediaSessionManager = context.getSystemService(Context.MEDIA_SESSION_SERVICE) as MediaSessionManager
|
||||
val mediaSessionManager = context.getSystemService<MediaSessionManager>()!!
|
||||
val mediaList = mediaSessionManager.getActiveSessions(ComponentName(context, NotificationSensorManager::class.java))
|
||||
val sessionCount = mediaList.size
|
||||
val primaryPlaybackState = if (sessionCount > 0) getPlaybackState(mediaList[0].playbackState?.state) else "Unavailable"
|
||||
|
|
|
@ -6,6 +6,7 @@ import android.os.Build
|
|||
import android.telephony.SubscriptionInfo
|
||||
import android.telephony.SubscriptionManager
|
||||
import android.telephony.TelephonyManager
|
||||
import androidx.core.content.getSystemService
|
||||
import io.homeassistant.companion.android.BuildConfig
|
||||
import io.homeassistant.companion.android.common.sensors.SensorManager
|
||||
import io.homeassistant.companion.android.common.R as commonR
|
||||
|
@ -73,7 +74,7 @@ class PhoneStateSensorManager : SensorManager {
|
|||
|
||||
if (checkPermission(context, phoneState.id)) {
|
||||
val telephonyManager =
|
||||
(context.applicationContext.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager)
|
||||
context.applicationContext.getSystemService<TelephonyManager>()!!
|
||||
|
||||
currentPhoneState = when (telephonyManager.callState) {
|
||||
TelephonyManager.CALL_STATE_IDLE -> "idle"
|
||||
|
@ -115,8 +116,9 @@ class PhoneStateSensorManager : SensorManager {
|
|||
|
||||
if (checkPermission(context, basicSimSensor.id)) {
|
||||
val subscriptionManager =
|
||||
(context.applicationContext.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE)) as SubscriptionManager
|
||||
val info: SubscriptionInfo? = subscriptionManager.getActiveSubscriptionInfoForSimSlotIndex(slotIndex)
|
||||
context.applicationContext.getSystemService<SubscriptionManager>()
|
||||
val info: SubscriptionInfo? =
|
||||
subscriptionManager?.getActiveSubscriptionInfoForSimSlotIndex(slotIndex)
|
||||
|
||||
if (info != null) {
|
||||
displayName = info.displayName.toString()
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
package io.homeassistant.companion.android.sensors
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Context.POWER_SERVICE
|
||||
import android.os.Build
|
||||
import android.os.PowerManager
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.core.content.getSystemService
|
||||
import io.homeassistant.companion.android.common.sensors.SensorManager
|
||||
import io.homeassistant.companion.android.common.R as commonR
|
||||
|
||||
|
@ -59,7 +59,7 @@ class PowerSensorManager : SensorManager {
|
|||
override fun requestSensorUpdate(
|
||||
context: Context
|
||||
) {
|
||||
val powerManager = context.getSystemService(POWER_SERVICE) as PowerManager
|
||||
val powerManager = context.getSystemService<PowerManager>()!!
|
||||
updateInteractive(context, powerManager)
|
||||
updatePowerSave(context, powerManager)
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
package io.homeassistant.companion.android.sensors
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Context.SENSOR_SERVICE
|
||||
import android.content.pm.PackageManager
|
||||
import android.hardware.Sensor
|
||||
import android.hardware.SensorEvent
|
||||
import android.hardware.SensorEventListener
|
||||
import android.hardware.SensorManager.SENSOR_DELAY_NORMAL
|
||||
import android.util.Log
|
||||
import androidx.core.content.getSystemService
|
||||
import io.homeassistant.companion.android.common.sensors.SensorManager
|
||||
import java.math.RoundingMode
|
||||
import io.homeassistant.companion.android.common.R as commonR
|
||||
|
@ -62,7 +62,7 @@ class PressureSensorManager : SensorManager, SensorEventListener {
|
|||
if (!isEnabled(latestContext, pressureSensor.id))
|
||||
return
|
||||
|
||||
mySensorManager = latestContext.getSystemService(SENSOR_SERVICE) as android.hardware.SensorManager
|
||||
mySensorManager = latestContext.getSystemService()!!
|
||||
|
||||
val pressureSensors = mySensorManager.getDefaultSensor(Sensor.TYPE_PRESSURE)
|
||||
if (pressureSensors != null && !isListenerRegistered) {
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
package io.homeassistant.companion.android.sensors
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Context.SENSOR_SERVICE
|
||||
import android.content.pm.PackageManager
|
||||
import android.hardware.Sensor
|
||||
import android.hardware.SensorEvent
|
||||
import android.hardware.SensorEventListener
|
||||
import android.hardware.SensorManager.SENSOR_DELAY_NORMAL
|
||||
import android.util.Log
|
||||
import androidx.core.content.getSystemService
|
||||
import io.homeassistant.companion.android.common.sensors.SensorManager
|
||||
import kotlin.math.roundToInt
|
||||
import io.homeassistant.companion.android.common.R as commonR
|
||||
|
@ -61,7 +61,7 @@ class ProximitySensorManager : SensorManager, SensorEventListener {
|
|||
if (!isEnabled(latestContext, proximitySensor.id))
|
||||
return
|
||||
|
||||
mySensorManager = latestContext.getSystemService(SENSOR_SERVICE) as android.hardware.SensorManager
|
||||
mySensorManager = latestContext.getSystemService()!!
|
||||
|
||||
val proximitySensors = mySensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY)
|
||||
if (proximitySensors != null && !isListenerRegistered) {
|
||||
|
|
|
@ -2,7 +2,6 @@ package io.homeassistant.companion.android.sensors
|
|||
|
||||
import android.Manifest
|
||||
import android.content.Context
|
||||
import android.content.Context.SENSOR_SERVICE
|
||||
import android.content.pm.PackageManager
|
||||
import android.hardware.Sensor
|
||||
import android.hardware.SensorEvent
|
||||
|
@ -10,6 +9,7 @@ import android.hardware.SensorEventListener
|
|||
import android.hardware.SensorManager.SENSOR_DELAY_NORMAL
|
||||
import android.os.Build
|
||||
import android.util.Log
|
||||
import androidx.core.content.getSystemService
|
||||
import io.homeassistant.companion.android.common.sensors.SensorManager
|
||||
import kotlin.math.roundToInt
|
||||
import io.homeassistant.companion.android.common.R as commonR
|
||||
|
@ -73,8 +73,7 @@ class StepsSensorManager : SensorManager, SensorEventListener {
|
|||
return
|
||||
|
||||
if (checkPermission(latestContext, stepsSensor.id)) {
|
||||
mySensorManager =
|
||||
latestContext.getSystemService(SENSOR_SERVICE) as android.hardware.SensorManager
|
||||
mySensorManager = latestContext.getSystemService()!!
|
||||
|
||||
val stepsSensors = mySensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER)
|
||||
if (stepsSensors != null && !isListenerRegistered) {
|
||||
|
|
|
@ -5,6 +5,7 @@ import android.net.ConnectivityManager
|
|||
import android.net.NetworkCapabilities
|
||||
import android.net.TrafficStats
|
||||
import android.util.Log
|
||||
import androidx.core.content.getSystemService
|
||||
import io.homeassistant.companion.android.common.sensors.SensorManager
|
||||
import java.math.RoundingMode
|
||||
import kotlin.math.absoluteValue
|
||||
|
@ -73,7 +74,7 @@ class TrafficStatsManager : SensorManager {
|
|||
}
|
||||
|
||||
override fun hasSensor(context: Context): Boolean {
|
||||
val cm = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
|
||||
val cm = context.getSystemService<ConnectivityManager>()!!
|
||||
val networkInfo = cm.allNetworks
|
||||
var networkCapabilities: NetworkCapabilities?
|
||||
for (item in networkInfo) {
|
||||
|
|
|
@ -16,6 +16,7 @@ import androidx.appcompat.app.AlertDialog
|
|||
import androidx.appcompat.content.res.AppCompatResources
|
||||
import androidx.biometric.BiometricManager
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.content.getSystemService
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.preference.EditTextPreference
|
||||
import androidx.preference.ListPreference
|
||||
|
@ -474,7 +475,7 @@ class SettingsFragment constructor(
|
|||
|
||||
private fun isIgnoringBatteryOptimizations(): Boolean {
|
||||
return Build.VERSION.SDK_INT <= Build.VERSION_CODES.M ||
|
||||
context?.getSystemService(PowerManager::class.java)
|
||||
context?.getSystemService<PowerManager>()
|
||||
?.isIgnoringBatteryOptimizations(requireActivity().packageName)
|
||||
?: false
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@ import android.util.Log
|
|||
import android.view.Menu
|
||||
import android.widget.Toast
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.core.content.getSystemService
|
||||
import androidx.core.graphics.drawable.DrawableCompat
|
||||
import androidx.core.graphics.drawable.toBitmap
|
||||
import androidx.preference.EditTextPreference
|
||||
|
@ -30,7 +31,6 @@ import io.homeassistant.companion.android.R
|
|||
import io.homeassistant.companion.android.common.data.integration.IntegrationRepository
|
||||
import io.homeassistant.companion.android.webview.WebViewActivity
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import java.lang.Exception
|
||||
import javax.inject.Inject
|
||||
import io.homeassistant.companion.android.common.R as commonR
|
||||
|
||||
|
@ -91,7 +91,7 @@ class ManageShortcutsSettingsFragment : PreferenceFragmentCompat(), IconDialog.C
|
|||
activity?.title = getString(commonR.string.shortcuts)
|
||||
|
||||
val addNewShortcut = findPreference<PreferenceCategory>("pinned_shortcut_category")
|
||||
val shortcutManager = requireContext().getSystemService(ShortcutManager::class.java)
|
||||
val shortcutManager = requireContext().getSystemService<ShortcutManager>()!!
|
||||
var pinnedShortcuts = shortcutManager.pinnedShortcuts
|
||||
var dynamicShortcuts = shortcutManager.dynamicShortcuts
|
||||
var entityList = listOf<String>()
|
||||
|
|
|
@ -9,6 +9,7 @@ import android.content.Intent
|
|||
import android.util.Log
|
||||
import androidx.core.app.ServiceCompat
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.content.getSystemService
|
||||
import java.util.Calendar
|
||||
|
||||
class ForegroundServiceLauncher(private val serviceClass: Class<out Service>) {
|
||||
|
@ -61,7 +62,7 @@ class ForegroundServiceLauncher(private val serviceClass: Class<out Service>) {
|
|||
val restartIntent = Intent(context, serviceClass).apply { block() }
|
||||
val restartServicePI = PendingIntent.getService(context, 1, restartIntent, PendingIntent.FLAG_ONE_SHOT or PendingIntent.FLAG_IMMUTABLE)
|
||||
|
||||
val alarmManager: AlarmManager = context.getSystemService(Context.ALARM_SERVICE) as AlarmManager
|
||||
val alarmManager: AlarmManager = context.getSystemService()!!
|
||||
val calendar: Calendar = Calendar.getInstance()
|
||||
calendar.timeInMillis = System.currentTimeMillis()
|
||||
calendar.add(Calendar.SECOND, 2)
|
||||
|
|
|
@ -43,6 +43,7 @@ import android.widget.Toast
|
|||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.core.app.ActivityCompat
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.content.getSystemService
|
||||
import androidx.core.content.res.ResourcesCompat
|
||||
import androidx.core.graphics.ColorUtils
|
||||
import androidx.core.view.WindowInsetsControllerCompat
|
||||
|
@ -819,7 +820,7 @@ class WebViewActivity : BaseActivity(), io.homeassistant.companion.android.webvi
|
|||
}
|
||||
|
||||
fun processHaptic(hapticType: String) {
|
||||
val vm = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
|
||||
val vm = getSystemService<Vibrator>()
|
||||
|
||||
Log.d(TAG, "Processing haptic tag for $hapticType")
|
||||
when (hapticType) {
|
||||
|
@ -827,19 +828,19 @@ class WebViewActivity : BaseActivity(), io.homeassistant.companion.android.webvi
|
|||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R)
|
||||
webView.performHapticFeedback(HapticFeedbackConstants.CONFIRM)
|
||||
else
|
||||
vm.vibrate(500)
|
||||
vm?.vibrate(500)
|
||||
}
|
||||
"warning" -> {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)
|
||||
vm.vibrate(VibrationEffect.createOneShot(400, VibrationEffect.EFFECT_HEAVY_CLICK))
|
||||
vm?.vibrate(VibrationEffect.createOneShot(400, VibrationEffect.EFFECT_HEAVY_CLICK))
|
||||
else
|
||||
vm.vibrate(1500)
|
||||
vm?.vibrate(1500)
|
||||
}
|
||||
"failure" -> {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R)
|
||||
webView.performHapticFeedback(HapticFeedbackConstants.REJECT)
|
||||
else
|
||||
vm.vibrate(1000)
|
||||
vm?.vibrate(1000)
|
||||
}
|
||||
"light" -> {
|
||||
webView.performHapticFeedback(HapticFeedbackConstants.KEYBOARD_TAP)
|
||||
|
@ -854,7 +855,7 @@ class WebViewActivity : BaseActivity(), io.homeassistant.companion.android.webvi
|
|||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R)
|
||||
webView.performHapticFeedback(HapticFeedbackConstants.GESTURE_START)
|
||||
else
|
||||
vm.vibrate(50)
|
||||
vm?.vibrate(50)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@ import android.util.Log
|
|||
import android.view.View
|
||||
import android.widget.RemoteViews
|
||||
import android.widget.Toast
|
||||
import androidx.core.content.getSystemService
|
||||
import com.squareup.picasso.Picasso
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import io.homeassistant.companion.android.BuildConfig
|
||||
|
@ -249,8 +250,8 @@ class CameraWidget : AppWidgetProvider() {
|
|||
}
|
||||
|
||||
private fun isConnectionActive(context: Context): Boolean {
|
||||
val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
|
||||
val activeNetworkInfo = connectivityManager.activeNetworkInfo
|
||||
val connectivityManager = context.getSystemService<ConnectivityManager>()
|
||||
val activeNetworkInfo = connectivityManager?.activeNetworkInfo
|
||||
return activeNetworkInfo?.isConnected ?: false
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@ import android.util.Log
|
|||
import android.view.View
|
||||
import android.widget.RemoteViews
|
||||
import android.widget.Toast
|
||||
import androidx.core.content.getSystemService
|
||||
import com.mikepenz.iconics.IconicsDrawable
|
||||
import com.squareup.picasso.Picasso
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
@ -616,8 +617,8 @@ class MediaPlayerControlsWidget : BaseWidgetProvider() {
|
|||
}
|
||||
|
||||
private fun isConnectionActive(context: Context): Boolean {
|
||||
val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
|
||||
val activeNetworkInfo = connectivityManager.activeNetworkInfo
|
||||
val connectivityManager = context.getSystemService<ConnectivityManager>()
|
||||
val activeNetworkInfo = connectivityManager?.activeNetworkInfo
|
||||
return activeNetworkInfo?.isConnected ?: false
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ import android.content.Context
|
|||
import android.net.wifi.WifiManager
|
||||
import android.os.Build
|
||||
import android.provider.Settings
|
||||
import androidx.core.content.getSystemService
|
||||
import dagger.Binds
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
|
@ -120,7 +121,7 @@ abstract class DataModule {
|
|||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun wifiManager(@ApplicationContext appContext: Context) = appContext.getSystemService(Context.WIFI_SERVICE) as WifiManager
|
||||
fun wifiManager(@ApplicationContext appContext: Context) = appContext.getSystemService<WifiManager>()!!
|
||||
}
|
||||
|
||||
@Binds
|
||||
|
|
|
@ -6,6 +6,7 @@ import android.content.Intent
|
|||
import android.content.pm.PackageManager
|
||||
import android.os.Process.myPid
|
||||
import android.os.Process.myUid
|
||||
import androidx.core.content.getSystemService
|
||||
import io.homeassistant.companion.android.database.AppDatabase
|
||||
import io.homeassistant.companion.android.database.sensor.Attribute
|
||||
import io.homeassistant.companion.android.database.sensor.Sensor
|
||||
|
@ -55,7 +56,7 @@ interface SensorManager {
|
|||
fun checkUsageStatsPermission(context: Context): Boolean {
|
||||
val pm = context.packageManager
|
||||
val appInfo = pm.getApplicationInfo(context.packageName, 0)
|
||||
val appOpsManager = context.getSystemService(Context.APP_OPS_SERVICE) as AppOpsManager
|
||||
val appOpsManager = context.getSystemService<AppOpsManager>()!!
|
||||
val mode = appOpsManager.checkOpNoThrow(AppOpsManager.OPSTR_GET_USAGE_STATS, appInfo.uid, appInfo.packageName)
|
||||
return mode == AppOpsManager.MODE_ALLOWED
|
||||
}
|
||||
|
|
|
@ -3,10 +3,10 @@ package io.homeassistant.companion.android.common.sensors
|
|||
import android.app.NotificationChannel
|
||||
import android.app.NotificationManager
|
||||
import android.content.Context
|
||||
import android.content.Context.NOTIFICATION_SERVICE
|
||||
import android.os.Build
|
||||
import android.util.Log
|
||||
import androidx.core.app.NotificationCompat
|
||||
import androidx.core.content.getSystemService
|
||||
import androidx.work.CoroutineWorker
|
||||
import androidx.work.ForegroundInfo
|
||||
import androidx.work.WorkerParameters
|
||||
|
@ -30,7 +30,7 @@ abstract class SensorWorkerBase(
|
|||
const val NOTIFICATION_ID = 42
|
||||
}
|
||||
|
||||
private val notificationManager = appContext.getSystemService(NOTIFICATION_SERVICE) as NotificationManager
|
||||
private val notificationManager = appContext.getSystemService<NotificationManager>()!!
|
||||
|
||||
override suspend fun doWork(): Result = withContext(Dispatchers.IO) {
|
||||
val sensorDao = AppDatabase.getInstance(applicationContext).sensorDao()
|
||||
|
|
|
@ -11,6 +11,7 @@ import android.util.Log
|
|||
import android.widget.Toast
|
||||
import androidx.core.app.NotificationCompat
|
||||
import androidx.core.app.NotificationManagerCompat
|
||||
import androidx.core.content.getSystemService
|
||||
import androidx.room.Database
|
||||
import androidx.room.OnConflictStrategy
|
||||
import androidx.room.Room
|
||||
|
@ -455,7 +456,7 @@ abstract class AppDatabase : RoomDatabase() {
|
|||
|
||||
private fun createNotificationChannel() {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
val notificationManager = appContext.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
|
||||
val notificationManager = appContext.getSystemService<NotificationManager>()!!
|
||||
|
||||
var notificationChannel =
|
||||
notificationManager.getNotificationChannel(channelId)
|
||||
|
|
|
@ -7,6 +7,7 @@ import android.os.Build
|
|||
import android.os.VibrationEffect
|
||||
import android.os.Vibrator
|
||||
import android.os.VibratorManager
|
||||
import androidx.core.content.getSystemService
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import io.homeassistant.companion.android.common.data.integration.IntegrationRepository
|
||||
import io.homeassistant.companion.android.home.HomePresenterImpl
|
||||
|
@ -26,14 +27,12 @@ class TileActionReceiver : BroadcastReceiver() {
|
|||
runBlocking {
|
||||
if (integrationUseCase.getWearHapticFeedback()) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
||||
val vibratorManager =
|
||||
context?.getSystemService(Context.VIBRATOR_MANAGER_SERVICE) as VibratorManager
|
||||
val vibrator = vibratorManager.defaultVibrator
|
||||
vibrator.vibrate(VibrationEffect.createPredefined(VibrationEffect.EFFECT_CLICK))
|
||||
val vibratorManager = context?.getSystemService<VibratorManager>()
|
||||
val vibrator = vibratorManager?.defaultVibrator
|
||||
vibrator?.vibrate(VibrationEffect.createPredefined(VibrationEffect.EFFECT_CLICK))
|
||||
} else {
|
||||
val vibrator =
|
||||
context?.getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
|
||||
vibrator.vibrate(200)
|
||||
val vibrator = context?.getSystemService<Vibrator>()
|
||||
vibrator?.vibrate(200)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue