@@ -39,7 +39,7 @@ class MainActivity : SimpleActivity() {
3939 appLaunched(BuildConfig .APPLICATION_ID )
4040
4141 mBus = BusProvider .instance
42- changeIconColor(config.backgroundColor. getContrastColor(), stroboscope_btn)
42+ changeIconColor(getContrastColor(), stroboscope_btn)
4343
4444 bright_display_btn.setOnClickListener {
4545 startActivity(Intent (applicationContext, BrightDisplayActivity ::class .java))
@@ -66,7 +66,7 @@ class MainActivity : SimpleActivity() {
6666 mCameraImpl!! .handleCameraSetup()
6767 checkState(MyCameraImpl .isFlashlightOn)
6868
69- val contrastColor = config.backgroundColor. getContrastColor()
69+ val contrastColor = getContrastColor()
7070 changeIconColor(contrastColor, bright_display_btn)
7171 bright_display_btn.beVisibleIf(config.brightDisplay)
7272 sos_btn.beVisibleIf(config.sos)
@@ -202,14 +202,18 @@ class MainActivity : SimpleActivity() {
202202
203203 private fun cameraPermissionGranted (isSOS : Boolean ) {
204204 if (isSOS) {
205+ val isSOSRunning = mCameraImpl!! .toggleSOS()
206+ sos_btn.setTextColor(if (isSOSRunning) getAdjustedPrimaryColor() else getContrastColor())
205207 } else {
206208 if (mCameraImpl!! .toggleStroboscope()) {
207209 stroboscope_bar.beInvisibleIf(stroboscope_bar.isVisible())
208- changeIconColor(if (stroboscope_bar.isVisible()) getAdjustedPrimaryColor() else config.backgroundColor. getContrastColor(), stroboscope_btn)
210+ changeIconColor(if (stroboscope_bar.isVisible()) getAdjustedPrimaryColor() else getContrastColor(), stroboscope_btn)
209211 }
210212 }
211213 }
212214
215+ private fun getContrastColor () = config.backgroundColor.getContrastColor()
216+
213217 private fun releaseCamera () {
214218 mCameraImpl?.releaseCamera()
215219 mCameraImpl = null
@@ -220,6 +224,17 @@ class MainActivity : SimpleActivity() {
220224 checkState(event.isEnabled)
221225 }
222226
227+ @Subscribe
228+ fun stopStroboscope (event : Events .StopStroboscope ) {
229+ stroboscope_bar.beInvisible()
230+ changeIconColor(getContrastColor(), stroboscope_btn)
231+ }
232+
233+ @Subscribe
234+ fun stopSOS (event : Events .StopSOS ) {
235+ sos_btn.setTextColor(getContrastColor())
236+ }
237+
223238 private fun checkState (isEnabled : Boolean ) {
224239 if (isEnabled) {
225240 enableFlashlight()
@@ -233,12 +248,12 @@ class MainActivity : SimpleActivity() {
233248 window.addFlags(WindowManager .LayoutParams .FLAG_KEEP_SCREEN_ON )
234249 mIsFlashlightOn = true
235250
236- changeIconColor(config.backgroundColor. getContrastColor(), stroboscope_btn)
251+ changeIconColor(getContrastColor(), stroboscope_btn)
237252 stroboscope_bar.beInvisible()
238253 }
239254
240255 private fun disableFlashlight () {
241- changeIconColor(config.backgroundColor. getContrastColor(), flashlight_btn)
256+ changeIconColor(getContrastColor(), flashlight_btn)
242257 window.clearFlags(WindowManager .LayoutParams .FLAG_KEEP_SCREEN_ON )
243258 mIsFlashlightOn = false
244259 }
0 commit comments