mirror of
https://github.com/home-assistant/android
synced 2024-09-19 08:01:31 +00:00
Remove call number sensor due to policy changes at Google. (#1072)
* Remove call number sensor due to policy changes at Google. * Remove missed reference.
This commit is contained in:
parent
37c176bed4
commit
4490ddec88
|
@ -15,7 +15,6 @@
|
||||||
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
|
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
|
||||||
<uses-permission android:name="android.permission.NFC" />
|
<uses-permission android:name="android.permission.NFC" />
|
||||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||||
<uses-permission android:name="android.permission.READ_CALL_LOG" />
|
|
||||||
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" />
|
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" />
|
||||||
<uses-permission android:name="com.google.android.gms.permission.ACTIVITY_RECOGNITION" />
|
<uses-permission android:name="com.google.android.gms.permission.ACTIVITY_RECOGNITION" />
|
||||||
<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />
|
<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />
|
||||||
|
|
|
@ -2,7 +2,6 @@ package io.homeassistant.companion.android.sensors
|
||||||
|
|
||||||
import android.Manifest
|
import android.Manifest
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.telephony.SubscriptionInfo
|
import android.telephony.SubscriptionInfo
|
||||||
import android.telephony.SubscriptionManager
|
import android.telephony.SubscriptionManager
|
||||||
|
@ -20,13 +19,6 @@ class PhoneStateSensorManager : SensorManager {
|
||||||
R.string.sensor_description_phone_state
|
R.string.sensor_description_phone_state
|
||||||
)
|
)
|
||||||
|
|
||||||
val callNumber = SensorManager.BasicSensor(
|
|
||||||
"call_number",
|
|
||||||
"sensor",
|
|
||||||
R.string.basic_sensor_name_call_number,
|
|
||||||
R.string.sensor_description_call_number
|
|
||||||
)
|
|
||||||
|
|
||||||
val sim_1 = SensorManager.BasicSensor(
|
val sim_1 = SensorManager.BasicSensor(
|
||||||
"sim_1",
|
"sim_1",
|
||||||
"sensor",
|
"sensor",
|
||||||
|
@ -49,13 +41,11 @@ class PhoneStateSensorManager : SensorManager {
|
||||||
|
|
||||||
override val availableSensors: List<SensorManager.BasicSensor>
|
override val availableSensors: List<SensorManager.BasicSensor>
|
||||||
get() = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1)
|
get() = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1)
|
||||||
listOf(phoneState, callNumber, sim_1, sim_2)
|
listOf(phoneState, sim_1, sim_2)
|
||||||
else listOf(phoneState, callNumber)
|
else listOf(phoneState)
|
||||||
|
|
||||||
override fun requiredPermissions(sensorId: String): Array<String> {
|
override fun requiredPermissions(sensorId: String): Array<String> {
|
||||||
return if (sensorId == callNumber.id) {
|
return arrayOf(Manifest.permission.READ_PHONE_STATE)
|
||||||
arrayOf(Manifest.permission.READ_PHONE_STATE, Manifest.permission.READ_CALL_LOG)
|
|
||||||
} else arrayOf(Manifest.permission.READ_PHONE_STATE)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun requestSensorUpdate(
|
override fun requestSensorUpdate(
|
||||||
|
@ -67,7 +57,7 @@ class PhoneStateSensorManager : SensorManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun checkPhoneState(context: Context) {
|
private fun checkPhoneState(context: Context) {
|
||||||
if (isEnabled(context, phoneState.id) || isEnabled(context, callNumber.id)) {
|
if (isEnabled(context, phoneState.id)) {
|
||||||
var currentPhoneState = "unknown"
|
var currentPhoneState = "unknown"
|
||||||
|
|
||||||
if (checkPermission(context, phoneState.id)) {
|
if (checkPermission(context, phoneState.id)) {
|
||||||
|
@ -81,11 +71,8 @@ class PhoneStateSensorManager : SensorManager {
|
||||||
else -> "unknown"
|
else -> "unknown"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (isEnabled(context, phoneState.id))
|
|
||||||
updatePhoneStateSensor(context, currentPhoneState)
|
|
||||||
|
|
||||||
if (isEnabled(context, callNumber.id) && currentPhoneState in arrayOf("idle", "unknown"))
|
updatePhoneStateSensor(context, currentPhoneState)
|
||||||
updateCallNumberSensor(context, "none")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -102,25 +89,6 @@ class PhoneStateSensorManager : SensorManager {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun updateCallNumber(context: Context, intent: Intent) {
|
|
||||||
if (checkPermission(context, callNumber.id)) {
|
|
||||||
if (intent.hasExtra(TelephonyManager.EXTRA_INCOMING_NUMBER)) {
|
|
||||||
intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER)?.let {
|
|
||||||
updateCallNumberSensor(context, it)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun updateCallNumberSensor(context: Context, number: String) {
|
|
||||||
onSensorUpdated(context,
|
|
||||||
callNumber,
|
|
||||||
number,
|
|
||||||
"mdi:numeric",
|
|
||||||
mapOf()
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun updateSimSensor(context: Context, slotIndex: Int) {
|
private fun updateSimSensor(context: Context, slotIndex: Int) {
|
||||||
val basicSimSensor = when (slotIndex) {
|
val basicSimSensor = when (slotIndex) {
|
||||||
0 -> sim_1
|
0 -> sim_1
|
||||||
|
|
|
@ -8,7 +8,6 @@ import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.media.AudioManager
|
import android.media.AudioManager
|
||||||
import android.os.PowerManager
|
import android.os.PowerManager
|
||||||
import android.telephony.TelephonyManager
|
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import io.homeassistant.companion.android.common.dagger.GraphComponentAccessor
|
import io.homeassistant.companion.android.common.dagger.GraphComponentAccessor
|
||||||
import io.homeassistant.companion.android.common.data.integration.IntegrationRepository
|
import io.homeassistant.companion.android.common.data.integration.IntegrationRepository
|
||||||
|
@ -97,11 +96,6 @@ class SensorReceiver : BroadcastReceiver() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (intent.action.equals(TelephonyManager.ACTION_PHONE_STATE_CHANGED) &&
|
|
||||||
isSensorEnabled(context, PhoneStateSensorManager.callNumber.id)) {
|
|
||||||
PhoneStateSensorManager().updateCallNumber(context, intent)
|
|
||||||
}
|
|
||||||
|
|
||||||
ioScope.launch {
|
ioScope.launch {
|
||||||
updateSensors(context, integrationUseCase)
|
updateSensors(context, integrationUseCase)
|
||||||
if (chargingActions.contains(intent.action)) {
|
if (chargingActions.contains(intent.action)) {
|
||||||
|
|
Loading…
Reference in a new issue