android / media-samples
Conditional Complexity

The distribution of complexity of units (measured with McCabe index).

Intro
  • Conditional complexity (also called cyclomatic complexity) is a term used to measure the complexity of software. The term refers to the number of possible paths through a program function. A higher value ofter means higher maintenance and testing costs (infosecinstitute.com).
  • Conditional complexity is calculated by counting all conditions in the program that can affect the execution path (e.g. if statement, loops, switches, and/or operators, try and catch blocks...).
  • Conditional complexity is measured at the unit level (methods, functions...).
  • Units are classified in four categories based on the measured McCabe index: 1-5 (simple units), 6-10 (medium complex units), 11-25 (complex units), 26+ (very complex units).
Learn more...
Conditional Complexity Overall
  • There are 774 units with 6,927 lines of code in units (73.1% of code).
    • 0 very complex units (0 lines of code)
    • 0 complex units (0 lines of code)
    • 6 medium complex units (413 lines of code)
    • 32 simple units (865 lines of code)
    • 736 very simple units (5,649 lines of code)
0% | 0% | 5% | 12% | 81%
Legend:
51+
26-50
11-25
6-10
1-5
Alternative Visuals
Conditional Complexity per Extension
51+
26-50
11-25
6-10
1-5
java0% | 0% | 6% | 12% | 81%
kt0% | 0% | 0% | 9% | 90%
Conditional Complexity per Logical Component
primary logical decomposition
51+
26-50
11-25
6-10
1-5
MediaRouter0% | 0% | 8% | 14% | 76%
PictureInPicture0% | 0% | 12% | 12% | 75%
MidiScope0% | 0% | 4% | 6% | 89%
MidiSynth0% | 0% | 4% | 6% | 88%
BasicMediaDecoder0% | 0% | 0% | 39% | 60%
ScreenCapture0% | 0% | 0% | 16% | 83%
PictureInPictureKotlin0% | 0% | 0% | 13% | 86%
MediaRecorder0% | 0% | 0% | 16% | 83%
BasicMediaRouter0% | 0% | 0% | 21% | 78%
VideoPlayer0% | 0% | 0% | 0% | 100%
Most Complex Units
Top 20 most complex units
Unit# linesMcCabe index# params
public boolean onControlRequest()
in MediaRouter/Application/src/main/java/com/example/android/mediarouter/provider/SampleMediaRouteProvider.java
42 16 2
public void onSend()
in MidiScope/Application/src/main/java/com/example/android/common/midi/MidiFramer.java
56 15 4
public void onSend()
in MidiSynth/Application/src/main/java/com/example/android/common/midi/MidiFramer.java
56 15 4
protected void onCreate()
in MediaRouter/Application/src/main/java/com/example/android/mediarouter/player/MainActivity.java
149 12 1
public void getStatus()
in MediaRouter/Application/src/main/java/com/example/android/mediarouter/player/RemotePlayer.java
34 11 2
public MovieView()
in PictureInPicture/app/src/main/java/com/example/android/pictureinpicture/widget/MovieView.java
76 11 3
public boolean handleMediaKey()
in MediaRouter/Application/src/main/java/com/example/android/mediarouter/player/MainActivity.java
41 10 1
private void updatePlaybackState()
in MediaRouter/Application/src/main/java/com/example/android/mediarouter/player/SessionManager.java
22 10 0
public void startPlayback()
in BasicMediaDecoder/Application/src/main/java/com/example/android/basicmediadecoder/MainActivity.java
48 10 0
protected void onMeasure()
in PictureInPicture/app/src/main/java/com/example/android/pictureinpicture/widget/MovieView.java
44 10 2
public void println()
in MediaRouter/Application/src/main/java/com/example/android/common/logger/LogView.java
44 9 4
override fun onMeasure()
in PictureInPictureKotlin/app/src/main/java/com/example/android/pictureinpicture/widget/MovieView.kt
41 9 2
public void println()
in ScreenCapture/Application/src/main/java/com/example/android/common/logger/LogView.java
44 9 4
private void enqueueInternal()
in MediaRouter/Application/src/main/java/com/example/android/mediarouter/player/RemotePlayer.java
37 8 1
private PlaylistItem removeItem()
in MediaRouter/Application/src/main/java/com/example/android/mediarouter/player/SessionManager.java
30 8 2
public void onPictureInPictureModeChanged()
in PictureInPicture/app/src/main/java/com/example/android/pictureinpicture/MainActivity.java
32 8 2
public void play()
in MediaRouter/Application/src/main/java/com/example/android/mediarouter/player/LocalPlayer.java
24 7 1
public void onPrepared()
in MediaRouter/Application/src/main/java/com/example/android/mediarouter/player/LocalPlayer.java
27 7 1
public void updatePresentation()
in MediaRouter/Application/src/main/java/com/example/android/mediarouter/player/LocalPlayer.java
22 7 0
private void update()
in BasicMediaDecoder/Application/src/main/java/com/example/android/common/media/MediaCodecWrapper.java
36 7 0