• R/O
  • HTTP
  • SSH
  • HTTPS

MeMoMa: コミット

Repository from CVS
https://osdn.net/cvs/view/gokigen/MeMoMa/


コミットメタ情報

リビジョン9e150fffb299c1d453f9de92cc0298766158f770 (tree)
日時2018-07-16 23:58:50
作者MRSa <mrsa@myad...>
コミッターMRSa

ログメッセージ

画像共有までは復活。

変更サマリ

差分

--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -14,7 +14,7 @@
1414 <category android:name="android.intent.category.LAUNCHER" />
1515 </intent-filter>
1616 </activity>
17- <activity android:name=".Preference" android:label="@string/preference_name">
17+ <activity android:name=".preference.Preference" android:label="@string/preference_name">
1818 </activity>
1919 <activity android:name=".extension.ExtensionActivity"
2020 android:label="@string/extent_name"
@@ -25,6 +25,17 @@
2525 <category android:name="android.intent.category.DEFAULT" />
2626 </intent-filter>
2727 </activity>
28+ <provider
29+ android:name="android.support.v4.content.FileProvider"
30+ android:authorities="jp.sourceforge.gokigen.memoma.fileprovider"
31+ android:exported="false"
32+ android:grantUriPermissions="true"
33+ >
34+ <meta-data
35+ android:name="android.support.FILE_PROVIDER_PATHS"
36+ android:resource="@xml/file_paths"
37+ />
38+ </provider>
2839 <meta-data android:name="android.max_aspect" android:value="ratio_float"/>
2940 </application>
3041 </manifest>
--- a/app/src/main/java/jp/sourceforge/gokigen/memoma/GokigenSurfaceView.java
+++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/GokigenSurfaceView.java
@@ -22,31 +22,29 @@ public class GokigenSurfaceView extends SurfaceView implements SurfaceHolder.Cal
2222
2323 /**
2424 * コンストラクタ
25- * @param context
25+ *
2626 */
2727 public GokigenSurfaceView(Context context)
2828 {
2929 super(context);
30- initializeSelf(context, null);
30+ initializeSelf();
3131 }
3232
3333 /**
3434 * コンストラクタ
35- * @param context
36- * @param attrs
35+ *
3736 */
3837 public GokigenSurfaceView(Context context, AttributeSet attrs)
3938 {
4039 super(context, attrs);
41- initializeSelf(context, attrs);
40+ initializeSelf();
4241 }
4342
4443 /**
4544 * クラスの初期化処理
46- * @param context
47- * @param attrs
45+ *
4846 */
49- private void initializeSelf(Context context, AttributeSet attrs)
47+ private void initializeSelf()
5048 {
5149 SurfaceHolder holder = getHolder();
5250 holder.addCallback(this);
@@ -54,8 +52,8 @@ public class GokigenSurfaceView extends SurfaceView implements SurfaceHolder.Cal
5452
5553 /**
5654 * データ書き込みクラスの設定
57- *
58- * @param drawer
55+ *
56+ *
5957 */
6058 public void setCanvasDrawer(ICanvasDrawer drawer)
6159 {
@@ -93,15 +91,24 @@ public class GokigenSurfaceView extends SurfaceView implements SurfaceHolder.Cal
9391 if (canvasDrawer != null)
9492 {
9593 ret = canvasDrawer.onTouchEvent(event);
96- if (ret == true)
94+ if (ret)
9795 {
9896 doDraw();
9997 }
10098 }
99+ else
100+ {
101+ super.performClick();
102+ }
101103 return (ret);
102104 }
103105
104-
106+ @Override
107+ public boolean performClick()
108+ {
109+ return (super.performClick());
110+ }
111+
105112 /**
106113 * サーフェイス変更イベントの処理
107114 *
@@ -130,14 +137,9 @@ public class GokigenSurfaceView extends SurfaceView implements SurfaceHolder.Cal
130137 */
131138 public void surfaceDestroyed(SurfaceHolder aHolder)
132139 {
133- try
134- {
135- //
136- }
137- catch (Exception ex)
138- {
139- //
140- }
140+ //
141+ //
142+ //
141143 }
142144
143145 /**
--- a/app/src/main/java/jp/sourceforge/gokigen/memoma/MeMoMaListener.java
+++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/MeMoMaListener.java
@@ -27,6 +27,7 @@ import android.widget.SeekBar;
2727
2828 import jp.sourceforge.gokigen.memoma.dialogs.ConfirmationDialog;
2929 import jp.sourceforge.gokigen.memoma.dialogs.CreditDialog;
30+import jp.sourceforge.gokigen.memoma.dialogs.ItemSelectionDialog;
3031 import jp.sourceforge.gokigen.memoma.dialogs.TextEditDialog;
3132 import jp.sourceforge.gokigen.memoma.drawers.MeMoMaCanvasDrawer;
3233 import jp.sourceforge.gokigen.memoma.extension.ExtensionActivity;
@@ -35,6 +36,12 @@ import jp.sourceforge.gokigen.memoma.holders.LineStyleHolder;
3536 import jp.sourceforge.gokigen.memoma.holders.MeMoMaConnectLineHolder;
3637 import jp.sourceforge.gokigen.memoma.holders.MeMoMaObjectHolder;
3738 import jp.sourceforge.gokigen.memoma.holders.OperationModeHolder;
39+import jp.sourceforge.gokigen.memoma.operations.IObjectSelectionReceiver;
40+import jp.sourceforge.gokigen.memoma.operations.ObjectAligner;
41+import jp.sourceforge.gokigen.memoma.operations.ObjectDataInputDialog;
42+import jp.sourceforge.gokigen.memoma.operations.ObjectOperationCommandHolder;
43+import jp.sourceforge.gokigen.memoma.operations.SelectLineShapeDialog;
44+import jp.sourceforge.gokigen.memoma.preference.Preference;
3845
3946 /**
4047 * メモま! のメイン画面処理
@@ -713,7 +720,7 @@ public class MeMoMaListener implements OnClickListener, OnTouchListener, OnKeyLi
713720 try
714721 {
715722 // 設定画面を呼び出す
716- Intent prefIntent = new Intent(parent,jp.sourceforge.gokigen.memoma.Preference.class);
723+ Intent prefIntent = new Intent(parent,Preference.class);
717724 parent.startActivityForResult(prefIntent, MENU_ID_PREFERENCES);
718725 }
719726 catch (Exception e)
--- a/app/src/main/java/jp/sourceforge/gokigen/memoma/SharedIntentInvoker.java
+++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/SharedIntentInvoker.java
@@ -22,33 +22,35 @@ public class SharedIntentInvoker
2222 * @param id Intentが呼び出し元Activityに戻った時に、呼ばれていたのは何か識別するID
2323 * @param mailTitle 共有データタイトル
2424 * @param mailMessage 共有データ本文
25- * @param fileName 添付データファイル名称
25+ * @param contentUri 添付データファイルのURI
2626 * @param fileType 添付データファイルの形 (text/plain とか image/* とか ...)
2727 */
28- static public void shareContent(Activity parent, int id, String mailTitle, String mailMessage, String fileName, String fileType)
28+ static public void shareContent(Activity parent, int id, String mailTitle, String mailMessage, Uri contentUri, String fileType)
2929 {
3030 Intent intent = new Intent();
3131 intent.setAction(Intent.ACTION_SEND);
3232 try
3333 {
34+ Log.v(IDENTIFIER, "Share Content... " + contentUri);
3435 intent.setType("text/plain");
3536 intent.putExtra(Intent.EXTRA_SUBJECT, mailTitle);
3637 intent.putExtra(Intent.EXTRA_TEXT, mailMessage);
38+ intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION);
3739 try
3840 {
39- if ((fileName.isEmpty() == false)&&(fileType.isEmpty() == false))
41+ if ((contentUri != null)&&(!fileType.isEmpty()))
4042 {
41- // ファイルを添付する
43+ // ファイル類を添付する
4244 intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
4345 intent.setType(fileType);
44- intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + fileName));
45- Log.v(IDENTIFIER, "Attached :" + fileName);
46+ intent.putExtra(Intent.EXTRA_STREAM, contentUri);
47+ Log.v(IDENTIFIER, "Attached :" + contentUri);
4648 }
4749 }
4850 catch (Exception ee)
4951 {
5052 //
51- Log.v(IDENTIFIER, "attach failure : " + fileName + " " + ee.toString() + " " + ee.getMessage());
53+ Log.v(IDENTIFIER, "attach failure : " + contentUri + " " + ee.toString() + " " + ee.getMessage());
5254 }
5355 parent.startActivityForResult(intent, id);
5456 }
@@ -60,6 +62,7 @@ public class SharedIntentInvoker
6062 catch (Exception e)
6163 {
6264 Log.v(IDENTIFIER, "xxx : " + e.toString() + " " + e.getMessage());
65+ e.printStackTrace();
6366 }
6467 }
6568 }
--- a/app/src/main/java/jp/sourceforge/gokigen/memoma/ItemSelectionDialog.java
+++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/dialogs/ItemSelectionDialog.java
@@ -1,10 +1,12 @@
1-package jp.sourceforge.gokigen.memoma;
1+package jp.sourceforge.gokigen.memoma.dialogs;
22
33 import android.app.AlertDialog;
44 import android.app.Dialog;
55 import android.content.Context;
66 import android.content.DialogInterface;
77
8+import jp.sourceforge.gokigen.memoma.R;
9+
810
911 /**
1012 * アイテムを選択するダイアログを準備する
--- a/app/src/main/java/jp/sourceforge/gokigen/memoma/drawers/MeMoMaCanvasDrawer.java
+++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/drawers/MeMoMaCanvasDrawer.java
@@ -20,7 +20,7 @@ import android.widget.SeekBar;
2020 import android.widget.TextView;
2121
2222 import jp.sourceforge.gokigen.memoma.GokigenSurfaceView;
23-import jp.sourceforge.gokigen.memoma.IObjectSelectionReceiver;
23+import jp.sourceforge.gokigen.memoma.operations.IObjectSelectionReceiver;
2424 import jp.sourceforge.gokigen.memoma.fileio.ImageLoader;
2525 import jp.sourceforge.gokigen.memoma.Main;
2626 import jp.sourceforge.gokigen.memoma.R;
--- a/app/src/main/java/jp/sourceforge/gokigen/memoma/extension/ExtensionActivityListener.java
+++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/extension/ExtensionActivityListener.java
@@ -1,5 +1,6 @@
11 package jp.sourceforge.gokigen.memoma.extension;
22
3+import java.io.File;
34 import java.text.SimpleDateFormat;
45 import java.util.ArrayList;
56 import java.util.Calendar;
@@ -11,6 +12,8 @@ import android.app.ActionBar;
1112 import android.app.Activity;
1213 import android.app.Dialog;
1314 import android.content.Intent;
15+import android.net.Uri;
16+import android.support.v4.content.FileProvider;
1417 import android.util.Log;
1518 import android.view.Menu;
1619 import android.view.MenuItem;
@@ -32,8 +35,8 @@ import jp.sourceforge.gokigen.memoma.fileio.MeMoMaFileLoadingProcess;
3235 import jp.sourceforge.gokigen.memoma.holders.MeMoMaObjectHolder;
3336 import jp.sourceforge.gokigen.memoma.R;
3437 import jp.sourceforge.gokigen.memoma.SharedIntentInvoker;
35-import jp.sourceforge.gokigen.memoma.SymbolListArrayAdapter;
36-import jp.sourceforge.gokigen.memoma.SymbolListArrayItem;
38+import jp.sourceforge.gokigen.memoma.listitem.SymbolListArrayAdapter;
39+import jp.sourceforge.gokigen.memoma.listitem.SymbolListArrayItem;
3740
3841 /**
3942 * リスト形式で表示・エクスポート
@@ -462,10 +465,12 @@ public class ExtensionActivityListener implements OnClickListener, MeMoMaFileLo
462465 message = message + "number of objects : " + objectHolder.getCount() + "\n";
463466
464467 // Share Intentを発行する。
465- SharedIntentInvoker.shareContent(parent, MENU_ID_SHARE, title, message, fileName, "text/plain");
468+ Uri fileURI = FileProvider.getUriForFile(parent,"jp.sourceforge.gokigen.memoma.fileprovider", new File(fileName));
469+ SharedIntentInvoker.shareContent(parent, MENU_ID_SHARE, title, message, fileURI, "text/plain");
466470 }
467471 catch (Exception ex)
468472 {
473+ Log.v(Main.APP_IDENTIFIER, "shareContent (fileName : " + fileName + ")");
469474 ex.printStackTrace();
470475 }
471476 }
--- a/app/src/main/java/jp/sourceforge/gokigen/memoma/fileio/ExternalStorageFileUtility.java
+++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/fileio/ExternalStorageFileUtility.java
@@ -19,6 +19,7 @@ import jp.sourceforge.gokigen.memoma.Main;
1919 */
2020 public class ExternalStorageFileUtility
2121 {
22+ private final String TAG = toString();
2223 private final int COPY_BUFFER_SIZE = 32768;
2324 private final int BUFFER_MARGIN = 4;
2425
@@ -30,8 +31,11 @@ public class ExternalStorageFileUtility
3031 */
3132 public ExternalStorageFileUtility(String offsetDir)
3233 {
33- /** ベースディレクトリの作成 (あれば何もしない) **/
34- prepareBaseDirectory(offsetDir);
34+ // ベースディレクトリの作成 (あれば何もしない)
35+ if (!prepareBaseDirectory(offsetDir))
36+ {
37+ Log.v(TAG, " prepareBaseDirectory : error");
38+ }
3539 }
3640
3741 /**
@@ -41,29 +45,27 @@ public class ExternalStorageFileUtility
4145 private boolean prepareBaseDirectory(String offsetDir)
4246 {
4347 String gokigenDirectory = Environment.getExternalStorageDirectory().getPath() + "/Gokigen";
48+ Log.v(TAG, "DIR : " + gokigenDirectory);
4449 try
4550 {
4651 File baseDir = new File(gokigenDirectory);
47- if (baseDir.exists() == false)
52+ if (!baseDir.exists())
4853 {
49- if (baseDir.mkdirs() == false)
54+ if (!baseDir.mkdirs())
5055 {
5156 // ベースディレクトリ作成失敗...終了する
5257 baseDirectory = Environment.getExternalStorageDirectory().getPath();
53- baseDir = null;
5458 return (false);
5559 }
5660 }
5761 gokigenDirectory = gokigenDirectory + offsetDir;
58- baseDir = null;
5962 baseDir = new File(gokigenDirectory);
60- if (baseDir.exists() == false)
63+ if (!baseDir.exists())
6164 {
62- if (baseDir.mkdirs() == false)
65+ if (!baseDir.mkdirs())
6366 {
6467 // ベースディレクトリ作成失敗...終了する
6568 baseDirectory = Environment.getExternalStorageDirectory().getPath() + "/Gokigen";
66- baseDir = null;
6769 return (false);
6870 }
6971 }
--- a/app/src/main/java/jp/sourceforge/gokigen/memoma/fileio/MeMoMaDataInOutManager.java
+++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/fileio/MeMoMaDataInOutManager.java
@@ -2,7 +2,12 @@ package jp.sourceforge.gokigen.memoma.fileio;
22
33 import java.text.SimpleDateFormat;
44 import java.util.Calendar;
5+import java.util.Locale;
56
7+import android.content.ContentResolver;
8+import android.content.ContentValues;
9+import android.net.Uri;
10+import android.provider.MediaStore;
611 import android.support.v7.app.ActionBar;
712 import android.app.Activity;
813 import android.content.SharedPreferences;
@@ -118,8 +123,8 @@ public class MeMoMaDataInOutManager implements MeMoMaFileSavingProcess.ISavingSt
118123 /**
119124 * データファイルのフルパスを応答する
120125 *
121- * @param dataTitle
122- * @return
126+ *
127+ *
123128 */
124129 public String getDataFileFullPath(String dataTitle, String extension)
125130 {
@@ -161,7 +166,7 @@ public class MeMoMaDataInOutManager implements MeMoMaFileSavingProcess.ISavingSt
161166 Toast.makeText(parent, outputMessage, Toast.LENGTH_SHORT).show();
162167
163168 // 画面を再描画する
164- final GokigenSurfaceView surfaceview = (GokigenSurfaceView) parent.findViewById(R.id.GraphicView);
169+ final GokigenSurfaceView surfaceview = parent.findViewById(R.id.GraphicView);
165170 surfaceview.doDraw();
166171 }
167172
@@ -177,7 +182,7 @@ public class MeMoMaDataInOutManager implements MeMoMaFileSavingProcess.ISavingSt
177182 /**
178183 * ファイルからデータを読み込む。
179184 *
180- * @param dataTitle
185+ *
181186 */
182187 public void loadFile(String dataTitle)
183188 {
@@ -188,7 +193,7 @@ public class MeMoMaDataInOutManager implements MeMoMaFileSavingProcess.ISavingSt
188193 /**
189194 * ファイルからのデータ読み込み処理
190195 *
191- * @param dataTitle
196+ *
192197 */
193198 private void loadFileWithName(String dataTitle)
194199 {
@@ -210,7 +215,7 @@ public class MeMoMaDataInOutManager implements MeMoMaFileSavingProcess.ISavingSt
210215 /**
211216 * アクションバーを更新する...
212217 *
213- * @param bar
218+ *
214219 */
215220 private void prepareActionBar(ActionBar bar)
216221 {
@@ -228,7 +233,7 @@ public class MeMoMaDataInOutManager implements MeMoMaFileSavingProcess.ISavingSt
228233 /**
229234 * ファイルを保存する...同期型で。
230235 *
231- * @return
236+ *
232237 */
233238 private String saveFileSynchronous()
234239 {
@@ -237,8 +242,7 @@ public class MeMoMaDataInOutManager implements MeMoMaFileSavingProcess.ISavingSt
237242 String backgroundUri = preferences.getString("backgroundUri","");
238243 String userCheckboxString = preferences.getString("userCheckboxString","");
239244 MeMoMaFileSavingEngine saveEngine = new MeMoMaFileSavingEngine(fileUtility, backgroundUri, userCheckboxString);
240- String message = saveEngine.saveObjects(objectHolder);
241- return (message);
245+ return (saveEngine.saveObjects(objectHolder));
242246 }
243247
244248
@@ -263,7 +267,7 @@ public class MeMoMaDataInOutManager implements MeMoMaFileSavingProcess.ISavingSt
263267 SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(parent);
264268 SharedPreferences.Editor editor = preferences.edit();
265269 editor.putString("MeMoMaInfo", data);
266- editor.commit();
270+ editor.apply();
267271
268272 // 選択したアイテムをロードする!
269273 loadFileWithName(data);
@@ -295,28 +299,46 @@ public class MeMoMaDataInOutManager implements MeMoMaFileSavingProcess.ISavingSt
295299 // エクスポートしたことを伝達する
296300 String outputMessage = parent.getString(R.string.capture_data) + " " + objectHolder.getDataTitle() + " " + detail;
297301 Toast.makeText(parent, outputMessage, Toast.LENGTH_SHORT).show();
298-
299- if (isShareExportedData == true)
302+
303+ if (isShareExportedData)
300304 {
301- // エクスポートしたファイルを共有する
302- shareContent(exportedFileName);
305+ // ギャラリーに受信したファイルを登録し、エクスポートしたファイルを共有する
306+ try {
307+ long now = System.currentTimeMillis();
308+ ContentValues values = new ContentValues();
309+ ContentResolver resolver = parent.getContentResolver();
310+ values.put(MediaStore.Images.Media.MIME_TYPE, "image/png");
311+ values.put(MediaStore.Images.Media.DATA, exportedFileName);
312+ values.put(MediaStore.Images.Media.DATE_ADDED, now);
313+ values.put(MediaStore.Images.Media.DATE_TAKEN, now);
314+ values.put(MediaStore.Images.Media.DATE_MODIFIED, now);
315+ Uri insertedImage = resolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
316+ if (insertedImage != null)
317+ {
318+ shareContent(insertedImage);
319+ }
320+ }
321+ catch (Exception e)
322+ {
323+ e.printStackTrace();
324+ }
325+
303326 }
304327 isShareExportedData = false;
305328 }
306329
307330 /**
308331 * エクスポートしたファイルを共有する
309- *
310- * @param fileName
332+ *
311333 */
312- private void shareContent(String fileName)
334+ private void shareContent(Uri imageName)
313335 {
314336 String message = "";
315337 try
316338 {
317339 // 現在の時刻を取得する
318340 Calendar calendar = Calendar.getInstance();
319- SimpleDateFormat outFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
341+ SimpleDateFormat outFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.US);
320342 String date = outFormat.format(calendar.getTime());
321343
322344 // メールタイトル
@@ -328,7 +350,7 @@ public class MeMoMaDataInOutManager implements MeMoMaFileSavingProcess.ISavingSt
328350 message = message + "number of objects : " + objectHolder.getCount() + "\n";
329351
330352 // Share Intentを発行する。
331- SharedIntentInvoker.shareContent(parent, MeMoMaListener.MENU_ID_SHARE, title, message, fileName, "image/png");
353+ SharedIntentInvoker.shareContent(parent, MeMoMaListener.MENU_ID_SHARE, title, message, imageName, "image/png");
332354 }
333355 catch (Exception ex)
334356 {
--- a/app/src/main/java/jp/sourceforge/gokigen/memoma/SymbolListArrayAdapter.java
+++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/listitem/SymbolListArrayAdapter.java
@@ -1,4 +1,4 @@
1-package jp.sourceforge.gokigen.memoma;
1+package jp.sourceforge.gokigen.memoma.listitem;
22
33 import java.util.List;
44
--- a/app/src/main/java/jp/sourceforge/gokigen/memoma/SymbolListArrayItem.java
+++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/listitem/SymbolListArrayItem.java
@@ -1,4 +1,4 @@
1-package jp.sourceforge.gokigen.memoma;
1+package jp.sourceforge.gokigen.memoma.listitem;
22
33 public class SymbolListArrayItem
44 {
@@ -10,8 +10,7 @@ public class SymbolListArrayItem
1010
1111 /**
1212 * コンストラクタ
13- * @param iconId
14- * @param textId
13+ *
1514 */
1615 public SymbolListArrayItem(int iconId1, String textData1, String textData2, String textData3, int iconId2)
1716 {
--- a/app/src/main/java/jp/sourceforge/gokigen/memoma/IObjectSelectionReceiver.java
+++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/operations/IObjectSelectionReceiver.java
@@ -1,4 +1,4 @@
1-package jp.sourceforge.gokigen.memoma;
1+package jp.sourceforge.gokigen.memoma.operations;
22
33
44 /**
--- a/app/src/main/java/jp/sourceforge/gokigen/memoma/ObjectAligner.java
+++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/operations/ObjectAligner.java
@@ -1,4 +1,4 @@
1-package jp.sourceforge.gokigen.memoma;
1+package jp.sourceforge.gokigen.memoma.operations;
22
33
44 import java.util.Enumeration;
@@ -8,6 +8,8 @@ import android.content.Context;
88 import android.os.AsyncTask;
99 import android.util.Log;
1010
11+import jp.sourceforge.gokigen.memoma.Main;
12+import jp.sourceforge.gokigen.memoma.R;
1113 import jp.sourceforge.gokigen.memoma.holders.MeMoMaObjectHolder;
1214
1315 /**
--- a/app/src/main/java/jp/sourceforge/gokigen/memoma/ObjectDataInputDialog.java
+++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/operations/ObjectDataInputDialog.java
@@ -1,4 +1,4 @@
1-package jp.sourceforge.gokigen.memoma;
1+package jp.sourceforge.gokigen.memoma.operations;
22
33 import android.app.AlertDialog;
44 import android.app.Dialog;
@@ -22,6 +22,8 @@ import android.widget.SeekBar;
2222 import android.widget.TextView;
2323 import android.widget.CompoundButton;
2424
25+import jp.sourceforge.gokigen.memoma.Main;
26+import jp.sourceforge.gokigen.memoma.R;
2527 import jp.sourceforge.gokigen.memoma.drawers.MeMoMaCanvasDrawer;
2628 import jp.sourceforge.gokigen.memoma.holders.MeMoMaObjectHolder;
2729
--- a/app/src/main/java/jp/sourceforge/gokigen/memoma/ObjectOperationCommandHolder.java
+++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/operations/ObjectOperationCommandHolder.java
@@ -1,7 +1,10 @@
1-package jp.sourceforge.gokigen.memoma;
1+package jp.sourceforge.gokigen.memoma.operations;
22
33 import android.content.Context;
44
5+import jp.sourceforge.gokigen.memoma.R;
6+import jp.sourceforge.gokigen.memoma.dialogs.ItemSelectionDialog;
7+
58 /**
69 *
710 *
--- a/app/src/main/java/jp/sourceforge/gokigen/memoma/SelectFeatureListener.java
+++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/operations/SelectFeatureListener.java
@@ -1,4 +1,4 @@
1-package jp.sourceforge.gokigen.memoma;
1+package jp.sourceforge.gokigen.memoma.operations;
22
33 import android.app.Activity;
44 import android.view.View;
--- a/app/src/main/java/jp/sourceforge/gokigen/memoma/SelectLineShapeDialog.java
+++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/operations/SelectLineShapeDialog.java
@@ -1,4 +1,4 @@
1-package jp.sourceforge.gokigen.memoma;
1+package jp.sourceforge.gokigen.memoma.operations;
22
33 import android.app.AlertDialog;
44 import android.app.Dialog;
@@ -12,6 +12,8 @@ import android.view.LayoutInflater;
1212 import android.view.View;
1313 import android.widget.ImageButton;
1414
15+import jp.sourceforge.gokigen.memoma.Main;
16+import jp.sourceforge.gokigen.memoma.R;
1517 import jp.sourceforge.gokigen.memoma.holders.LineStyleHolder;
1618
1719 /**
--- a/app/src/main/java/jp/sourceforge/gokigen/memoma/Preference.java
+++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/preference/Preference.java
@@ -1,10 +1,12 @@
1-package jp.sourceforge.gokigen.memoma;
1+package jp.sourceforge.gokigen.memoma.preference;
22
33 import android.content.SharedPreferences;
44 import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
55 import android.os.Bundle;
66 import android.preference.PreferenceActivity;
77
8+import jp.sourceforge.gokigen.memoma.R;
9+
810 /**
911 * Androidの設定画面
1012 *
--- /dev/null
+++ b/app/src/main/res/xml/file_paths.xml
@@ -0,0 +1,4 @@
1+<?xml version="1.0" encoding="utf-8"?>
2+<paths xmlns:android="http://schemas.android.com/apk/res/android">
3+ <external-path name="share_name" path="/storage/emulated/0/"/>
4+</paths>
旧リポジトリブラウザで表示