Skip to content

Commit

Permalink
* fixed migration issue with value for pending times in advances sett…
Browse files Browse the repository at this point in the history
…ings view

* fixed issue showing countdown timer when not using alarmo, rebroadcast mode on same device
  • Loading branch information
thanksmister committed May 27, 2021
1 parent 46177c0 commit 94cbb92
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 65 deletions.
2 changes: 1 addition & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ apply plugin: 'com.google.firebase.crashlytics'
def versionMajor = 1
def versionMinor = 1
def versionPatch = 1
def versionBuild = 3 // bump for dog food builds, public betas, etc.
def versionBuild = 4 // bump for dog food builds, public betas, etc.

def ALARM_CODE() {
Properties properties = new Properties()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1033,6 +1033,13 @@ class AlarmPanelService : LifecycleService(), MQTTModule.MQTTListener {
bm.sendBroadcast(intent)
}

private fun broadcastAlarmCommand(command: String) {
val intent = Intent(BROADCAST_ALARM_COMMAND)
intent.putExtra(EXTRA_ALARM_COMMAND, command)
val bm = LocalBroadcastManager.getInstance(applicationContext)
bm.sendBroadcast(intent)
}

private fun sendTriggerEvent(delay: Int) {
val intent = Intent(BROADCAST_TRIGGER_EVENT)
intent.putExtra(EXTRA_DELAY_TIME, delay)
Expand Down Expand Up @@ -1080,6 +1087,9 @@ class AlarmPanelService : LifecycleService(), MQTTModule.MQTTListener {
var alarmCode = intent.getStringExtra(BROADCAST_EVENT_ALARM_CODE).orEmpty().toIntOrNull()
if (alarmCode == null) alarmCode = 0
publishAlarm(alarmMode, alarmCode)
if(mqttOptions.useRemoteCode.not()) {
broadcastAlarmCommand(alarmMode)
}
} else if (BROADCAST_EVENT_PUBLISH_PANIC == intent.action) {
val mode = intent.getStringExtra(BROADCAST_EVENT_PUBLISH_PANIC).orEmpty()
var alarmCode = 0
Expand Down Expand Up @@ -1264,6 +1274,7 @@ class AlarmPanelService : LifecycleService(), MQTTModule.MQTTListener {
const val BROADCAST_SERVICE_STARTED = "BROADCAST_SERVICE_STARTED"
const val BROADCAST_DASHBOARD = "BROADCAST_ACTION_LOAD_URL"
const val EXTRA_DELAY_TIME = "EXTRA_DELAY_TIME"
const val EXTRA_ALARM_COMMAND = "EXTRA_ALARM_COMMAND"
const val EXTRA_STATE = "EXTRA_STATE"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -327,39 +327,19 @@ constructor(private val sharedPreferences: SharedPreferences, private val senso
private const val PREF_ARMING_AWAY_TIME = "pref_arming_away_time"
private const val PREF_ARMING_NIGHT_TIME = "pref_arming_night_time"

private const val PREF_ONE_SENSOR_ACTIVE = "pref_sensor_active_one"
private const val PREF_ONE_SENSOR_NAME = "pref_sensor_name_one"
private const val PREF_ONE_SENSOR_TOPIC = "pref_sensor_topic_one"
private const val PREF_ONE_SENSOR_STATE = "pref_sensor_state_one"

private const val PREF_TWO_SENSOR_ACTIVE = "pref_sensor_active_two"
private const val PREF_TWO_SENSOR_NAME = "pref_sensor_name_two"
private const val PREF_TWO_SENSOR_TOPIC = "pref_sensor_topic_two"
private const val PREF_TWO_SENSOR_STATE = "pref_sensor_state_two"

private const val PREF_THREE_SENSOR_ACTIVE = "pref_sensor_active_three"
private const val PREF_THREE_SENSOR_NAME = "pref_sensor_name_three"
private const val PREF_THREE_SENSOR_TOPIC = "pref_sensor_topic_three"
private const val PREF_THREE_SENSOR_STATE = "pref_sensor_state_three"

private const val PREF_FOUR_SENSOR_ACTIVE = "pref_sensor_active_four"
private const val PREF_FOUR_SENSOR_NAME = "pref_sensor_name_four"
private const val PREF_FOUR_SENSOR_TOPIC = "pref_sensor_topic_four"
private const val PREF_FOUR_SENSOR_STATE = "pref_sensor_state_four"

private const val PREF_MODE_HOME = "pref_mode_homer"
private const val PREF_MODE_AWAY = "pref_mode_away"
private const val PREF_MODE_NIGHT = "pref_mode_night"
private const val PREF_MODE_CUSTOM_BYPASS = "pref_mode_custom_bypass"

private const val PREF_AWAY_PENDING_TIME = "pref_away_pending_time"
private const val PREF_HOME_PENDING_TIME = "pref_home_pending_time"
private const val PREF_NIGHT_PENDING_TIME = "pref_night_pending_time"
private const val PREF_BYPASS_PENDING_TIME = "pref_bypass_pending_time"
private const val PREF_AWAY_DELAY_TIME = "pref_away_delay_time"
private const val PREF_HOME_DELAY_TIME = "pref_home_delay_time"
private const val PREF_NIGHT_DELAY_TIME = "pref_night_delay_time"
private const val PREF_BYPASS_DELAY_TIME = "pref_bypass_delay_time"
private const val PREF_MODE_HOME = "pref_alarm_mode_homer"
private const val PREF_MODE_AWAY = "pref_alarm_mode_away"
private const val PREF_MODE_NIGHT = "pref_alarm_mode_night"
private const val PREF_MODE_CUSTOM_BYPASS = "pref_alarm_mode_custom_bypass"

private const val PREF_AWAY_PENDING_TIME = "pref_alarm_away_pending_time"
private const val PREF_HOME_PENDING_TIME = "pref_alarm_home_pending_time"
private const val PREF_NIGHT_PENDING_TIME = "pref_alarm_night_pending_time"
private const val PREF_BYPASS_PENDING_TIME = "pref_alarm_bypass_pending_time"
private const val PREF_AWAY_DELAY_TIME = "pref_alarm_away_delay_time"
private const val PREF_HOME_DELAY_TIME = "pref_alarm_home_delay_time"
private const val PREF_NIGHT_DELAY_TIME = "pref_alarm_night_delay_time"
private const val PREF_BYPASS_DELAY_TIME = "pref_alarm_bypass_delay_time"
}

var pendingTimeAway: Int
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,6 @@ class MainActivity : BaseActivity(),
.subscribe({ state ->
val payload = state.payload
val delay = state.delay
val alarmMode = configuration.alarmMode
awakenDeviceForAction()
resetInactivityTimer()
this@MainActivity.runOnUiThread {
Expand All @@ -280,7 +279,7 @@ class MainActivity : BaseActivity(),
MqttUtils.STATE_ARMED_NIGHT,
MqttUtils.STATE_ARMED_AWAY,
MqttUtils.STATE_ARMED_HOME -> {
// na-da
dismissBottomSheets()
}
MqttUtils.STATE_TRIGGERED -> {
awakenDeviceForAction() // 3 hours
Expand Down Expand Up @@ -499,7 +498,6 @@ class MainActivity : BaseActivity(),
startActivity(intent)
}


private fun getPendingTime(state: String, delay: Int?): Int {
delay?.let {
return it
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,38 +92,13 @@ class ControlsFragment : BaseFragment() {

private var listener: OnControlsFragmentListener? = null
private var filter = IntentFilter(AlarmPanelService.BROADCAST_ALARM_COMMAND)
private var delayTimerHandler: Handler? = null
private var mediaPlayer: MediaPlayer? = null
private var alarmListener: AlarmDelayView.ViewListener? = null
private var pendingSoundFlag = false
private var countDownTimeRemaining: Int = 0
private var countDownTimer: CountDownTimer? = null
private var sensorActiveMap: HashMap<String, Sensor> = HashMap<String, Sensor>()

@Deprecated("We don't need this any longer")
private val delayTimerRunnable = object : Runnable {
override fun run() {
delayTimerHandler?.removeCallbacks(this)
when (configuration.alarmMode) {
STATE_ARMED_HOME -> {
setArmedAwayView(configuration.alarmMode)
}
STATE_ARMED_AWAY -> {
setArmedAwayView(configuration.alarmMode)
}
STATE_ARMED_NIGHT -> {
setArmedAwayView(configuration.alarmMode)
}
STATE_ARMED_CUSTOM_BYPASS -> {
setArmedCustomBypass(configuration.alarmMode)
}
STATE_DISARMED -> {
setDisarmedView(configuration.alarmMode)
}
}
}
}

interface OnControlsFragmentListener {
fun publishArmedHome(code: String)
fun publishArmedAway(code: String)
Expand Down Expand Up @@ -181,7 +156,6 @@ class ControlsFragment : BaseFragment() {
override fun onStop() {
super.onStop()
LocalBroadcastManager.getInstance(requireActivity()).unregisterReceiver(alarmBroadcastReceiver)
delayTimerHandler?.removeCallbacks(delayTimerRunnable)
}

override fun onAttach(context: Context) {
Expand All @@ -207,9 +181,9 @@ class ControlsFragment : BaseFragment() {
private val alarmBroadcastReceiver: BroadcastReceiver = object : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
if (AlarmPanelService.BROADCAST_ALARM_COMMAND == intent.action) {
val alarmMode = intent.getStringExtra(AlarmPanelService.BROADCAST_ALARM_COMMAND).orEmpty()
val alarmMode = intent.getStringExtra(AlarmPanelService.EXTRA_ALARM_COMMAND).orEmpty()
if (alarmMode == COMMAND_DISARM) {
setDisarmingMode(alarmMode)
//setDisarmingMode(alarmMode)
} else if (alarmMode == COMMAND_ARM_AWAY ||
alarmMode == COMMAND_ARM_HOME ||
alarmMode == COMMAND_ARM_NIGHT ||
Expand Down

0 comments on commit 94cbb92

Please sign in to comment.