/**
* Copyright (c) 2015 unfoldingWord
* http://creativecommons.org/licenses/MIT/
* See LICENSE file for details.
* Contributors:
* PJ Fechner <pj@actsmedia.com>
*/
package model;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.AsyncTask;
import com.github.peejweej.androidsideloading.activities.SideLoadActivity;
import com.github.peejweej.androidsideloading.model.SideLoadInformation;
import com.github.peejweej.androidsideloading.model.SideLoadVerifier;
import java.util.List;
import java.util.Map;
import model.daoModels.Version;
import model.parsers.MediaType;
/**
* Created by Fechner on 8/24/15.
*/
public class SharingHelper {
private static final String FILE_EXTENSION = ".ufw";
public static SideLoadInformation getLoadInformation(){
return new SideLoadInformation(FILE_EXTENSION, new SideLoadVerifier() {
@Override
public boolean fileIsValid(String file) {
return true;
}
@Override
public boolean fileIsValid(Uri file) {
return true;
}
});
}
private static SideLoadInformation getShareInformation(Uri fileUri, String fileName){
return new SideLoadInformation(fileName, fileUri);
}
public static void getShareInformation(final Context context, final Map<Version, List<MediaType>> versions, final SideLoadInformationResponse response){
new AsyncTask<Void, Void, SideLoadInformation>(){
@Override
protected SideLoadInformation doInBackground(Void... params) {
String fileName = (versions.size() == 1) ? getFileNameForVersion((Version) versions.keySet().toArray()[0]) : getGenericFileName();
Uri fileUri = DataFileManager.createUriForSideLoad(context, versions, fileName);
if(fileUri == null){
return null;
}
else {
// String filePath = Uri.fromFile(new File(fileUri.getPath())).getPath();
// String fileFullPath = Uri.fromFile(new File(fileUri.getEncodedPath())).getEncodedPath();
return getShareInformation(fileUri, fileName);
}
}
@Override
protected void onPostExecute(SideLoadInformation information) {
super.onPostExecute(information);
response.informationLoaded(information);
}
}.execute();
}
public interface SideLoadInformationResponse{
void informationLoaded(SideLoadInformation information);
}
// private static Uri getFileForVersion(Context context, Version version){
//
// FileUtilities.compressText(version.getAsSideLoadJson(context).toString());
// return FileUtil.createTemporaryFile(context, FileUtilities.compressText(version.getAsSideLoadJson(context).toString()), getFileNameForVersion(version));
// }
public static String getFileNameForVersion(Version version){
return version.getName() + " (" + version.getLanguage().getLanguageAbbreviation() + ")" + FILE_EXTENSION;
}
public static Intent getIntentForLoading(Context context){
return new Intent(context, SideLoadActivity.class).putExtra(SideLoadActivity.SIDE_LOAD_INFORMATION_PARAM, getLoadInformation());
}
public static String getGenericFileName() {
return "UnfoldingWord Versions" + FILE_EXTENSION;
}
// public static Intent getIntentForSharing(Context context, Version version){
//
// return new Intent(context, SideShareActivity.class).putExtra(SideShareActivity.SIDE_LOAD_INFORMATION_PARAM, getShareInformation(context, version, new ArrayList<MediaType>()));
// }
}