1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|
|
11 |
|
|
12 |
|
|
13 |
|
|
14 |
|
|
15 |
|
|
16 |
|
|
17 |
|
|
18 |
|
|
19 |
|
package net.sourceforge.subsonic.androidapp.audiofx; |
20 |
|
|
21 |
|
import java.io.Serializable; |
22 |
|
|
23 |
|
import android.content.Context; |
24 |
|
import android.media.MediaPlayer; |
25 |
|
import android.media.audiofx.Equalizer; |
26 |
|
import android.util.Log; |
27 |
|
import net.sourceforge.subsonic.androidapp.util.FileUtil; |
28 |
|
|
29 |
|
|
30 |
|
@link |
31 |
|
|
32 |
|
@author |
33 |
|
@version |
34 |
|
|
|
|
| 66,7% |
Uncovered Elements: 13 (39) |
Complexity: 17 |
Complexity Density: 0,77 |
|
35 |
|
public class EqualizerController { |
36 |
|
|
37 |
|
private static final String TAG = EqualizerController.class.getSimpleName(); |
38 |
|
|
39 |
|
private final Context context; |
40 |
|
private Equalizer equalizer; |
41 |
|
|
42 |
|
|
|
|
| 66,7% |
Uncovered Elements: 1 (3) |
Complexity: 2 |
Complexity Density: 0,67 |
|
43 |
1
|
static {... |
44 |
1
|
try { |
45 |
1
|
Class.forName("android.media.audiofx.Equalizer"); |
46 |
|
} catch (Exception ex) { |
47 |
0
|
throw new RuntimeException(ex); |
48 |
|
} |
49 |
|
} |
50 |
|
|
51 |
|
|
52 |
|
@link |
53 |
|
|
|
|
| - |
Uncovered Elements: 0 (0) |
Complexity: 1 |
Complexity Density: - |
|
54 |
1
|
public static void checkAvailable() throws Throwable {... |
55 |
|
|
56 |
|
} |
57 |
|
|
|
|
| 75% |
Uncovered Elements: 1 (4) |
Complexity: 2 |
Complexity Density: 0,5 |
|
58 |
1
|
public EqualizerController(Context context, MediaPlayer mediaPlayer) {... |
59 |
1
|
this.context = context; |
60 |
1
|
try { |
61 |
1
|
equalizer = new Equalizer(0, mediaPlayer.getAudioSessionId()); |
62 |
|
} catch (Throwable x) { |
63 |
0
|
Log.w(TAG, "Failed to create equalizer.", x); |
64 |
|
} |
65 |
|
} |
66 |
|
|
|
|
| 66,7% |
Uncovered Elements: 2 (6) |
Complexity: 3 |
Complexity Density: 0,75 |
|
67 |
2
|
public void saveSettings() {... |
68 |
2
|
try { |
69 |
2
|
if (isAvailable()) { |
70 |
2
|
FileUtil.serialize(context, new EqualizerSettings(equalizer), "equalizer.dat"); |
71 |
|
} |
72 |
|
} catch (Throwable x) { |
73 |
0
|
Log.w(TAG, "Failed to save equalizer settings.", x); |
74 |
|
} |
75 |
|
} |
76 |
|
|
|
|
| 60% |
Uncovered Elements: 4 (10) |
Complexity: 4 |
Complexity Density: 0,67 |
|
77 |
1
|
public void loadSettings() {... |
78 |
1
|
try { |
79 |
1
|
if (isAvailable()) { |
80 |
1
|
EqualizerSettings settings = FileUtil.deserialize(context, "equalizer.dat"); |
81 |
1
|
if (settings != null) { |
82 |
0
|
settings.apply(equalizer); |
83 |
|
} |
84 |
|
} |
85 |
|
} catch (Throwable x) { |
86 |
0
|
Log.w(TAG, "Failed to load equalizer settings.", x); |
87 |
|
} |
88 |
|
} |
89 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
90 |
23
|
public boolean isAvailable() {... |
91 |
23
|
return equalizer != null; |
92 |
|
} |
93 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
94 |
19
|
public boolean isEnabled() {... |
95 |
19
|
return isAvailable() && equalizer.getEnabled(); |
96 |
|
} |
97 |
|
|
|
|
| 0% |
Uncovered Elements: 4 (4) |
Complexity: 2 |
Complexity Density: 1 |
|
98 |
0
|
public void release() {... |
99 |
0
|
if (isAvailable()) { |
100 |
0
|
equalizer.release(); |
101 |
|
} |
102 |
|
} |
103 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
104 |
2
|
public Equalizer getEqualizer() {... |
105 |
2
|
return equalizer; |
106 |
|
} |
107 |
|
|
|
|
| 45% |
Uncovered Elements: 11 (20) |
Complexity: 7 |
Complexity Density: 0,58 |
|
108 |
|
private static class EqualizerSettings implements Serializable { |
109 |
|
|
110 |
|
private final short[] bandLevels; |
111 |
|
private short preset; |
112 |
|
private final boolean enabled; |
113 |
|
|
|
|
| 88,9% |
Uncovered Elements: 1 (9) |
Complexity: 3 |
Complexity Density: 0,43 |
|
114 |
2
|
public EqualizerSettings(Equalizer equalizer) {... |
115 |
2
|
enabled = equalizer.getEnabled(); |
116 |
2
|
bandLevels = new short[equalizer.getNumberOfBands()]; |
117 |
12
|
for (short i = 0; i < equalizer.getNumberOfBands(); i++) { |
118 |
10
|
bandLevels[i] = equalizer.getBandLevel(i); |
119 |
|
} |
120 |
2
|
try { |
121 |
2
|
preset = equalizer.getCurrentPreset(); |
122 |
|
} catch (Exception x) { |
123 |
0
|
preset = -1; |
124 |
|
} |
125 |
|
} |
126 |
|
|
|
|
| 0% |
Uncovered Elements: 9 (9) |
Complexity: 4 |
Complexity Density: 0,8 |
|
127 |
0
|
public void apply(Equalizer equalizer) {... |
128 |
0
|
for (short i = 0; i < bandLevels.length; i++) { |
129 |
0
|
equalizer.setBandLevel(i, bandLevels[i]); |
130 |
|
} |
131 |
0
|
if (preset >= 0 && preset < equalizer.getNumberOfPresets()) { |
132 |
0
|
equalizer.usePreset(preset); |
133 |
|
} |
134 |
0
|
equalizer.setEnabled(enabled); |
135 |
|
} |
136 |
|
} |
137 |
|
} |
138 |
|
|