Add lyrics editor in SongTagEditorActivity

This commit is contained in:
Materight 2017-03-19 14:57:32 +01:00
commit 7898f9bc21
4 changed files with 32 additions and 0 deletions

View file

@ -507,6 +507,15 @@ public abstract class AbsTagEditorActivity extends AbsBaseActivity {
} }
} }
@Nullable
protected String getLyrics() {
try {
return getAudioFile(songPaths.get(0)).getTagOrCreateAndSetDefault().getFirst(FieldKey.LYRICS);
} catch (Exception ignored) {
return null;
}
}
@Nullable @Nullable
protected Bitmap getAlbumArt() { protected Bitmap getAlbumArt() {
try { try {

View file

@ -37,6 +37,8 @@ public class SongTagEditorActivity extends AbsTagEditorActivity implements TextW
EditText year; EditText year;
@BindView(R.id.image_text) @BindView(R.id.image_text)
EditText trackNumber; EditText trackNumber;
@BindView(R.id.lyrics)
EditText lyrics;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
@ -58,6 +60,7 @@ public class SongTagEditorActivity extends AbsTagEditorActivity implements TextW
genre.addTextChangedListener(this); genre.addTextChangedListener(this);
year.addTextChangedListener(this); year.addTextChangedListener(this);
trackNumber.addTextChangedListener(this); trackNumber.addTextChangedListener(this);
lyrics.addTextChangedListener(this);
} }
private void fillViewsWithFileTags() { private void fillViewsWithFileTags() {
@ -67,6 +70,7 @@ public class SongTagEditorActivity extends AbsTagEditorActivity implements TextW
genre.setText(getGenreName()); genre.setText(getGenreName());
year.setText(getSongYear()); year.setText(getSongYear());
trackNumber.setText(getTrackNumber()); trackNumber.setText(getTrackNumber());
lyrics.setText(getLyrics());
} }
@Override @Override
@ -98,6 +102,7 @@ public class SongTagEditorActivity extends AbsTagEditorActivity implements TextW
fieldKeyValueMap.put(FieldKey.GENRE, genre.getText().toString()); fieldKeyValueMap.put(FieldKey.GENRE, genre.getText().toString());
fieldKeyValueMap.put(FieldKey.YEAR, year.getText().toString()); fieldKeyValueMap.put(FieldKey.YEAR, year.getText().toString());
fieldKeyValueMap.put(FieldKey.TRACK, trackNumber.getText().toString()); fieldKeyValueMap.put(FieldKey.TRACK, trackNumber.getText().toString());
fieldKeyValueMap.put(FieldKey.LYRICS, lyrics.getText().toString());
writeValuesToFiles(fieldKeyValueMap, null); writeValuesToFiles(fieldKeyValueMap, null);
} }

View file

@ -157,6 +157,23 @@
</android.support.design.widget.TextInputLayout> </android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/lyrics"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:fontFamily="sans-serif"
android:gravity="center_vertical"
android:hint="@string/lyrics"
android:inputType="textMultiLine"
android:textAppearance="@style/TextAppearance.AppCompat.Title" />
</android.support.design.widget.TextInputLayout>
</LinearLayout> </LinearLayout>
</RelativeLayout> </RelativeLayout>

View file

@ -48,6 +48,7 @@
<string name="year">Year</string> <string name="year">Year</string>
<string name="track">Track</string> <string name="track">Track</string>
<string name="track_hint">"Track (2 for track 2 or 3004 for CD3 track 4)"</string> <string name="track_hint">"Track (2 for track 2 or 3004 for CD3 track 4)"</string>
<string name="lyrics">Lyrics</string>
<string name="album_or_artist_empty">The title or artist is empty.</string> <string name="album_or_artist_empty">The title or artist is empty.</string>
<string name="saving_changes">Saving changes</string> <string name="saving_changes">Saving changes</string>
<string name="saving_to_file">Saving to file…</string> <string name="saving_to_file">Saving to file…</string>