package jp.sourceforge.gokigen.memoma.extension;
-import java.io.File;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import android.app.Dialog;
import android.content.Intent;
import android.net.Uri;
-import androidx.core.content.FileProvider;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import jp.sourceforge.gokigen.memoma.holders.PositionObject;
import jp.sourceforge.gokigen.memoma.dialogs.FileSelectionDialog;
-import jp.sourceforge.gokigen.memoma.Main;
import jp.sourceforge.gokigen.memoma.io.MeMoMaFileExportCsvProcess;
import jp.sourceforge.gokigen.memoma.io.MeMoMaFileImportCsvProcess;
import jp.sourceforge.gokigen.memoma.io.MeMoMaFileLoadingProcess;
private static final String EXTENSION_DIRECTORY = "/exported";
//private ExternalStorageFileUtility fileUtility;
- private MeMoMaObjectHolder objectHolder;
+ private final MeMoMaObjectHolder objectHolder;
private FileSelectionDialog fileSelectionDialog = null;
private boolean isShareExportedData = false;
* ファイルのエクスポート結果を受け取る
*
*/
- public void onExportedResult(String exportedFileName, String detail)
+ public void onExportedResult(Uri documentUri, String detail)
{
Log.v(TAG, "ExtensionActivityListener::onExportedResult() '" + objectHolder.getDataTitle() +"' : " + detail);
if (isShareExportedData)
{
// エクスポートしたファイルを共有する
- shareContent(exportedFileName);
+ shareContent(documentUri);
}
isShareExportedData = false;
}
/**
* エクスポートしたファイルを共有する
- *
- *
*/
- private void shareContent(String fileName)
+ private void shareContent(Uri documentUri)
{
String message = "";
try
message = message + "number of objects : " + objectHolder.getCount() + "\n";
// Share Intentを発行する。
- Uri fileURI = FileProvider.getUriForFile(parent,"jp.sourceforge.gokigen.memoma.fileprovider", new File(fileName));
- SharedIntentInvoker.shareContent(parent, MENU_ID_SHARE, title, message, fileURI, "text/plain");
+ SharedIntentInvoker.shareContent(parent, MENU_ID_SHARE, title, message, documentUri, "text/plain");
}
catch (Exception ex)
{
- Log.v(TAG, "shareContent (fileName : " + fileName + ")");
+ Log.v(TAG, "shareContent (fileName : " + objectHolder.getDataTitle() + ")");
ex.printStackTrace();
}
}
private final String TAG = toString();
private final Context context;
private final IResultReceiver receiver;
- private String exportedFileName = null;
+ private Uri documentUri;
private final ProgressDialog savingDialog;
// エクスポートするファイル名を決定する
Calendar calendar = Calendar.getInstance();
SimpleDateFormat outFormat = new SimpleDateFormat("yyyyMMdd_HHmmss_", Locale.US);
- exportedFileName = outFormat.format(calendar.getTime()) + baseName + ".csv";
+ String exportedFileName = outFormat.format(calendar.getTime()) + baseName + ".csv";
Uri extStorageUri;
ContentValues values = new ContentValues();
}
Log.v(TAG, "---------- " + exportedFileName + " " + values);
- Uri documentUri = resolver.insert(extStorageUri, values);
+ documentUri = resolver.insert(extStorageUri, values);
if (documentUri == null)
{
{
if (receiver != null)
{
- receiver.onExportedResult(exportedFileName, result);
+ receiver.onExportedResult(documentUri, result);
}
}
catch (Exception ex)
public interface IResultReceiver
{
/** 保存結果の報告 **/
- void onExportedResult(String exportedFileName, String detail);
+ void onExportedResult(Uri documentUri, String detail);
}
}