diff --git a/app/src/main/java/org/lineageos/aperture/MainActivity.kt b/app/src/main/java/org/lineageos/aperture/MainActivity.kt
index c4e1b79..e2d7649 100644
--- a/app/src/main/java/org/lineageos/aperture/MainActivity.kt
+++ b/app/src/main/java/org/lineageos/aperture/MainActivity.kt
@@ -1254,19 +1254,15 @@
             return
         }
 
-        countDownView.setCountDownStatusListener {
-            shutterButton.isEnabled = true
-
-            runnable()
-        }
-
         shutterButton.isEnabled = cameraMode == CameraMode.VIDEO
 
-        val rect = Rect().apply {
+        countDownView.onPreviewAreaChanged(Rect().apply {
             viewFinder.getGlobalVisibleRect(this)
+        })
+        countDownView.startCountDown(sharedPreferences.timerMode) {
+            shutterButton.isEnabled = true
+            runnable()
         }
-        countDownView.onPreviewAreaChanged(rect)
-        countDownView.startCountDown(sharedPreferences.timerMode)
     }
 
     companion object {
diff --git a/app/src/main/java/org/lineageos/aperture/ui/CountDownView.kt b/app/src/main/java/org/lineageos/aperture/ui/CountDownView.kt
index e13f162..40be1d3 100644
--- a/app/src/main/java/org/lineageos/aperture/ui/CountDownView.kt
+++ b/app/src/main/java/org/lineageos/aperture/ui/CountDownView.kt
@@ -91,22 +91,17 @@
     }
 
     /**
-     * Sets a listener that gets notified when the status of countdown has finished.
-     */
-    fun setCountDownStatusListener(listener: () -> Unit) {
-        this.listener = listener
-    }
-
-    /**
      * Starts showing countdown in the UI.
      *
      * @param sec duration of the countdown, in seconds
+     * @param listener callback for when the status of countdown has finished.
      */
-    fun startCountDown(@IntRange(from = 0) sec: Int) {
+    fun startCountDown(@IntRange(from = 0) sec: Int, listener: () -> Unit) {
         if (isCountingDown) {
             cancelCountDown()
         }
         isVisible = true
+        this.listener = listener
         remainingSecondsChanged(sec)
     }
 
