5
5
import android .support .v4 .media .session .PlaybackStateCompat ;
6
6
import android .support .v7 .app .AppCompatActivity ;
7
7
import android .util .Log ;
8
+ import android .util .TypedValue ;
8
9
import android .widget .SeekBar ;
9
10
import android .widget .TextView ;
10
11
@@ -25,6 +26,7 @@ public final class MeditationActivity extends AppCompatActivity {
25
26
private SeekBar seekbarAudio ;
26
27
private TextView progressTimeView ;
27
28
private TextView durationView ;
29
+ private TextView trackNameView ;
28
30
29
31
// the interface reference which would be used to control the media session from this UI client.
30
32
private PlayerAdapter playerAdapter ;
@@ -41,6 +43,8 @@ protected void onCreate(Bundle savedInstanceState) {
41
43
42
44
grabNecessaryReferencesAndSetListeners ();
43
45
46
+ setTrackName (MEDIA_RES_ID );
47
+
44
48
initializePlaybackController ();
45
49
}
46
50
@@ -70,6 +74,7 @@ private void grabNecessaryReferencesAndSetListeners() {
70
74
seekbarAudio = findViewById (R .id .seekbar_audio );
71
75
progressTimeView = findViewById (R .id .progress_time );
72
76
durationView = findViewById (R .id .duration_view );
77
+ trackNameView = findViewById (R .id .track_name );
73
78
74
79
pauseButton .setOnClickListener (
75
80
view -> playerAdapter .pause ());
@@ -81,6 +86,33 @@ private void grabNecessaryReferencesAndSetListeners() {
81
86
setSeekbarListener ();
82
87
}
83
88
89
+ private void setTrackName (int MEDIA_RES_ID ) {
90
+ TypedValue value = new TypedValue ();
91
+ getResources ().getValue (MEDIA_RES_ID , value , true );
92
+ String trackName = getMeditationName (getName (value .string .toString ()));
93
+ trackNameView .setText (trackName );
94
+ }
95
+
96
+ private String getName (String path ) {
97
+ String [] token = path .split ("/raw/" , 2 );
98
+ String [] nextToken = token [1 ].split (".mp3" , 2 );
99
+ String finalName = nextToken [0 ];
100
+ return finalName ;
101
+ }
102
+
103
+ private String getMeditationName (String rawName ) {
104
+ String name = "" + rawName .charAt (0 );
105
+ name = name .toUpperCase ();
106
+ for (int i = 1 ; i < rawName .length (); i ++) {
107
+ if (rawName .charAt (i ) == '_' ) {
108
+ name += ' ' ;
109
+ continue ;
110
+ }
111
+ name += rawName .charAt (i );
112
+ }
113
+ return name ;
114
+ }
115
+
84
116
private void initializePlaybackController () {
85
117
MediaPlayerHolder mediaPlayerHolder = new MediaPlayerHolder (this );
86
118
Log .d (TAG , "Inside initializePlaybackController method: MediaPlayerHolder Created" );
0 commit comments