Skip to content

mq: Support landscape

41541ff
Select commit
Loading
Failed to load commit list.
Open

Initial multiple queues support #865

mq: Support landscape
41541ff
Select commit
Loading
Failed to load commit list.
CodeScene Delta Analysis / CodeScene Code Health Review (beta) failed May 23, 2026 in 47s

CodeScene PR Check

Quality Gate Failed

Gates Failed
Prevent hotspot decline (2 hotspots with Global Conditionals, Primitive Obsession, Complex Method)
New code is healthy (2 new files with code health below 9.00)
Enforce critical code health rules (2 files with Bumpy Road Ahead)

See analysis details in CodeScene

Reason for failure
Prevent hotspot decline Violations Code Health Impact
GramophoneExtensions.kt 2 rules in this hotspot 8.28 → 7.79 Suppress
GramophonePlaybackService.kt 1 rule in this hotspot 4.53 → 4.41 Suppress
New code is healthy Violations Code Health Impact
MultiQueue.kt 3 rules 8.16 Suppress
QueueBoard.kt 4 rules 8.26 Suppress
Enforce critical code health rules Violations Code Health Impact
QueueBoard.kt 1 critical rule 8.26 Suppress
PlaylistQueueSheet.kt 1 critical rule 9.54 → 8.38 Suppress

Quality Gate Profile: The Bare Minimum
Install CodeScene MCP: safeguard and uplift AI-generated code. Catch issues early with our IDE extension and CLI tool.

Details

🚩 Declining Code Health (highest to lowest):

  • Global Conditionals GramophoneExtensions.kt 🔥
  • Complex Method GramophonePlaybackService.kt: GramophonePlaybackService.onCreate 🔥
  • Large Method MultiQueue.kt: ActionBar
  • Code Duplication MultiQueue.kt
  • Complex Method QueueBoard.kt: QueueBoard.setCurrQueue
  • Large Method MultiQueue.kt: BoxScope.pager
  • Complex Method QueueBoard.kt: QueueBoard.addQueue
  • Complex Method GramophonePlaybackService.kt: GramophonePlaybackService.onCustomCommand 🔥
  • Primitive Obsession GramophoneExtensions.kt 🔥
  • Primitive Obsession QueueBoard.kt
  • Excess Number of Function Arguments QueueBoard.kt: QueueBoard.addQueue
  • Excess Number of Function Arguments MultiQueue.kt: MqListItem
  • Bumpy Road Ahead QueueBoard.kt: QueueBoard.addQueue
  • Bumpy Road Ahead QueueBoard.kt: QueueBoard.renameQueue
  • Bumpy Road Ahead PlaylistQueueSheet.kt: PlaylistQueueSheet.init
  • Bumpy Road Ahead QueueBoard.kt: QueueBoard.setCurrQueue

Annotations

Check warning on line 1 in app/src/main/java/org/akanework/gramophone/logic/GramophoneExtensions.kt

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (beta)

❌ Getting worse: Global Conditionals

The global code outside of functions increases in cyclomatic complexity from 31 to 37, threshold = 10. The code has become too complex as it contains many conditional statements (e.g. if, for, while) across its implementation, leading to lower code health. Avoid adding more.

Check warning on line 1 in app/src/main/java/org/akanework/gramophone/logic/GramophoneExtensions.kt

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (beta)

❌ New issue: Primitive Obsession

In this module, 50.0% of all function arguments are primitive types, threshold = 30.0%. The functions in this file have too many primitive types (e.g. int, double, float) in their function argument lists. Using many primitive types lead to the code smell Primitive Obsession. Avoid adding more primitive arguments.

Check warning on line 565 in app/src/main/java/org/akanework/gramophone/logic/GramophonePlaybackService.kt

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (beta)

❌ Getting worse: Complex Method

GramophonePlaybackService.onCreate already has high cyclomatic complexity, and now it increases in Lines of Code from 315 to 319. This function has many conditional statements (e.g. if, for, while), leading to lower code health. Avoid adding more conditionals and code to it without refactoring.

Check warning on line 1043 in app/src/main/java/org/akanework/gramophone/logic/GramophonePlaybackService.kt

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (beta)

❌ Getting worse: Complex Method

GramophonePlaybackService.onCustomCommand increases in cyclomatic complexity from 9 to 10, threshold = 9. This function has many conditional statements (e.g. if, for, while), leading to lower code health. Avoid adding more conditionals and code to it without refactoring.

Check warning on line 423 in app/src/main/java/org/akanework/gramophone/logic/QueueBoard.kt

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (beta)

❌ New issue: Complex Method

QueueBoard.setCurrQueue has a cyclomatic complexity of 15, threshold = 9. This function has many conditional statements (e.g. if, for, while), leading to lower code health. Avoid adding more conditionals and code to it without refactoring.

Check warning on line 216 in app/src/main/java/org/akanework/gramophone/logic/QueueBoard.kt

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (beta)

❌ New issue: Complex Method

QueueBoard.addQueue has a cyclomatic complexity of 14, threshold = 9. This function has many conditional statements (e.g. if, for, while), leading to lower code health. Avoid adding more conditionals and code to it without refactoring.

Check warning on line 216 in app/src/main/java/org/akanework/gramophone/logic/QueueBoard.kt

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (beta)

❌ New issue: Bumpy Road Ahead

QueueBoard.addQueue has 3 blocks with nested conditional logic. Any nesting of 2 or deeper is considered. Threshold is 2 blocks per function. The Bumpy Road code smell is a function that contains multiple chunks of nested conditional logic. The deeper the nesting and the more bumps, the lower the code health.

Check warning on line 328 in app/src/main/java/org/akanework/gramophone/logic/QueueBoard.kt

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (beta)

❌ New issue: Bumpy Road Ahead

QueueBoard.renameQueue has 3 blocks with nested conditional logic. Any nesting of 2 or deeper is considered. Threshold is 2 blocks per function. The Bumpy Road code smell is a function that contains multiple chunks of nested conditional logic. The deeper the nesting and the more bumps, the lower the code health.

Check warning on line 423 in app/src/main/java/org/akanework/gramophone/logic/QueueBoard.kt

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (beta)

❌ New issue: Bumpy Road Ahead

QueueBoard.setCurrQueue has 2 blocks with nested conditional logic. Any nesting of 2 or deeper is considered. Threshold is 2 blocks per function. The Bumpy Road code smell is a function that contains multiple chunks of nested conditional logic. The deeper the nesting and the more bumps, the lower the code health.

Check warning on line 1 in app/src/main/java/org/akanework/gramophone/logic/QueueBoard.kt

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (beta)

❌ New issue: Primitive Obsession

In this module, 72.4% of all function arguments are primitive types, threshold = 30.0%. The functions in this file have too many primitive types (e.g. int, double, float) in their function argument lists. Using many primitive types lead to the code smell Primitive Obsession. Avoid adding more primitive arguments.

Check warning on line 216 in app/src/main/java/org/akanework/gramophone/logic/QueueBoard.kt

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (beta)

❌ New issue: Excess Number of Function Arguments

QueueBoard.addQueue has 6 arguments, max arguments = 4. This function has too many arguments, indicating a lack of encapsulation. Avoid adding more arguments.

Check warning on line 237 in app/src/main/java/org/akanework/gramophone/ui/components/PlaylistQueueSheet.kt

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (beta)

❌ New issue: Bumpy Road Ahead

PlaylistQueueSheet.init has 2 blocks with nested conditional logic. Any nesting of 2 or deeper is considered. Threshold is 2 blocks per function. The Bumpy Road code smell is a function that contains multiple chunks of nested conditional logic. The deeper the nesting and the more bumps, the lower the code health.

Check warning on line 755 in app/src/main/java/org/akanework/gramophone/ui/fragments/compose/MultiQueue.kt

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (beta)

❌ New issue: Code Duplication

The module contains 4 functions with similar structure: MqState.detach,MqState.detach,MqState.removeQueue,MqState.resetHead. Avoid duplicated, aka copy-pasted, code inside the module. More duplication lowers the code health.

Check warning on line 471 in app/src/main/java/org/akanework/gramophone/ui/fragments/compose/MultiQueue.kt

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (beta)

❌ New issue: Large Method

ActionBar has 119 lines, threshold = 70. Large functions with many lines of code are generally harder to understand and lower the code health. Avoid adding more lines to this function.

Check warning on line 566 in app/src/main/java/org/akanework/gramophone/ui/fragments/compose/MultiQueue.kt

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (beta)

❌ New issue: Large Method

BoxScope.pager has 74 lines, threshold = 70. Large functions with many lines of code are generally harder to understand and lower the code health. Avoid adding more lines to this function.

Check warning on line 169 in app/src/main/java/org/akanework/gramophone/ui/fragments/compose/MultiQueue.kt

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Code Health Review (beta)

❌ New issue: Excess Number of Function Arguments

MqListItem has 9 arguments, max arguments = 4. This function has too many arguments, indicating a lack of encapsulation. Avoid adding more arguments.