package com.garethevans.church.opensongtablet;
import java.io.FileOutputStream;
import java.io.IOException;
public class CustomSlide {
public static void addCustomSlide() {
String filename;
String reusablefilename;
String templocator;
// Get rid of illegal characters
String filetitle = FullscreenActivity.customslide_title.replaceAll("[|?*<\":>+\\[\\]']", " ");
switch (FullscreenActivity.noteorslide) {
case "note":
filename = FullscreenActivity.dircustomnotes + "/" + filetitle;
reusablefilename = FullscreenActivity.homedir + "/Notes/" + filetitle;
templocator = FullscreenActivity.note;
FullscreenActivity.customimage_list = "";
break;
case "slide":
filename = FullscreenActivity.dircustomslides + "/" + filetitle;
reusablefilename = FullscreenActivity.homedir + "/Slides/" + filetitle;
templocator = FullscreenActivity.slide;
FullscreenActivity.customimage_list = "";
break;
case "scripture":
filename = FullscreenActivity.dirscriptureverses + "/" + filetitle;
reusablefilename = FullscreenActivity.dirscripture + "/" + filetitle;
templocator = FullscreenActivity.text_scripture;
FullscreenActivity.customreusable = false;
FullscreenActivity.customimage_list = "";
break;
default:
filename = FullscreenActivity.dircustomimages + "/" + filetitle;
reusablefilename = FullscreenActivity.homedir + "/Images/" + filetitle;
templocator = FullscreenActivity.image;
break;
}
// If slide content is empty - put the title in
if ((FullscreenActivity.customslide_content.isEmpty() ||
FullscreenActivity.customslide_content.equals("")) &&
!FullscreenActivity.noteorslide.equals("image")) {
FullscreenActivity.customslide_content = FullscreenActivity.customslide_title;
}
// Prepare the custom slide so it can be viewed in the app
// When exporting/saving the set, the contents get grabbed from this
FullscreenActivity.mynewXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
FullscreenActivity.mynewXML += "<song>\n";
FullscreenActivity.mynewXML += " <title>" + FullscreenActivity.customslide_title + "</title>\n";
FullscreenActivity.mynewXML += " <author></author>\n";
FullscreenActivity.mynewXML += " <user1>" + FullscreenActivity.customimage_time + "</user1>\n"; // This is used for auto advance time
FullscreenActivity.mynewXML += " <user2>" + FullscreenActivity.customimage_loop + "</user2>\n"; // This is used for loop on or off
FullscreenActivity.mynewXML += " <user3>" + FullscreenActivity.customimage_list + "</user3>\n"; // This is used as links to a background images
FullscreenActivity.mynewXML += " <aka></aka>\n";
FullscreenActivity.mynewXML += " <key_line></key_line>\n";
FullscreenActivity.mynewXML += " <hymn_number></hymn_number>\n";
FullscreenActivity.mynewXML += " <lyrics>" + FullscreenActivity.customslide_content + "</lyrics>\n";
FullscreenActivity.mynewXML += "</song>";
FullscreenActivity.mynewXML = FullscreenActivity.mynewXML.replace("&", "&");
FullscreenActivity.mynewXML = FullscreenActivity.mynewXML.replace("&", "&");
// Now write the modified song
FileOutputStream overWrite;
try {
overWrite = new FileOutputStream(filename, false);
overWrite.write(FullscreenActivity.mynewXML.getBytes());
overWrite.flush();
overWrite.close();
} catch (IOException e) {
e.printStackTrace();
}
// If this is to be a reusable custom slide
if (FullscreenActivity.customreusable) {
// Now write the modified song
FileOutputStream overWriteResuable;
try {
overWriteResuable = new FileOutputStream(reusablefilename, false);
overWriteResuable.write(FullscreenActivity.mynewXML.getBytes());
overWriteResuable.flush();
overWriteResuable.close();
} catch (IOException e) {
e.printStackTrace();
}
FullscreenActivity.customreusable = false;
}
// Add to set
FullscreenActivity.whatsongforsetwork = "$**_**" + templocator + "/" + filetitle + "_**$";
// Allow the song to be added, even if it is already there
FullscreenActivity.mySet = FullscreenActivity.mySet + FullscreenActivity.whatsongforsetwork;
// Save the set and other preferences
Preferences.savePreferences();
// Show the current set
SetActions.prepareSetList();
}
}