Skip to content

refactor: Extract audio logic into AudioController#7

Open
codingWiz-rick wants to merge 1 commit into
AumGupta:masterfrom
codingWiz-rick:refactor-audio-logic-from-the-ui-logic
Open

refactor: Extract audio logic into AudioController#7
codingWiz-rick wants to merge 1 commit into
AumGupta:masterfrom
codingWiz-rick:refactor-audio-logic-from-the-ui-logic

Conversation

@codingWiz-rick
Copy link
Copy Markdown
Contributor

Purpose

Refactor ActivityMain to improve code organization and maintainability by separating audio logic from UI code following the Single Responsibility Principle.

Changes Made

New File

AudioController.kt* - Encapsulates all audio management logic

  • setInitialVolume()
  • applyBoost(level: Int)
  • applyVolume(level: Int)
  • restartAudioPlayback() (preserves 8-keyevent sequence)
  • getOutputDeviceInfo() (preserves formatting)
  • release()

Modified File

ActivityMain.kt - Now focuses solely on UI and user interactions

  • Initializes audioController = AudioController(this)
  • Delegates all audio operations to the controller
  • Removed audio-specific helper methods and variables

Testing Checklist

  • App builds successfully
  • Audio boost functionality works as before
  • Volume controls work as before
  • Device info display unchanged
  • No regressions in existing behavior

Separate audio management logic from UI code for better maintainability
and single responsibility principle.

Changes:
- Create AudioController.kt to encapsulate all AudioManager and
  LoudnessEnhancer logic
- Move audio methods from ActivityMain to AudioController:
  - setInitialVolume()
  - applyBoost(level: Int)
  - applyVolume(level: Int)
  - restartAudioPlayback()
  - getOutputDeviceInfo()
  - release()
- Update ActivityMain to delegate audio operations to AudioController
- Preserve all existing logic, formatting, and behavior

Signed-off-by: Shubham Chakraborty <chakrabortyshubham66@gmail.com>
@codingWiz-rick codingWiz-rick force-pushed the refactor-audio-logic-from-the-ui-logic branch from af21ca0 to e17172b Compare March 22, 2026 16:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant