Repository from CVS
https://osdn.net/cvs/view/gokigen/MeMoMa/
Révision | 9e150fffb299c1d453f9de92cc0298766158f770 (tree) |
---|---|
l'heure | 2018-07-16 23:58:50 |
Auteur | MRSa <mrsa@myad...> |
Commiter | MRSa |
画像共有までは復活。
@@ -14,7 +14,7 @@ | ||
14 | 14 | <category android:name="android.intent.category.LAUNCHER" /> |
15 | 15 | </intent-filter> |
16 | 16 | </activity> |
17 | - <activity android:name=".Preference" android:label="@string/preference_name"> | |
17 | + <activity android:name=".preference.Preference" android:label="@string/preference_name"> | |
18 | 18 | </activity> |
19 | 19 | <activity android:name=".extension.ExtensionActivity" |
20 | 20 | android:label="@string/extent_name" |
@@ -25,6 +25,17 @@ | ||
25 | 25 | <category android:name="android.intent.category.DEFAULT" /> |
26 | 26 | </intent-filter> |
27 | 27 | </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> | |
28 | 39 | <meta-data android:name="android.max_aspect" android:value="ratio_float"/> |
29 | 40 | </application> |
30 | 41 | </manifest> |
@@ -22,31 +22,29 @@ public class GokigenSurfaceView extends SurfaceView implements SurfaceHolder.Cal | ||
22 | 22 | |
23 | 23 | /** |
24 | 24 | * コンストラクタ |
25 | - * @param context | |
25 | + * | |
26 | 26 | */ |
27 | 27 | public GokigenSurfaceView(Context context) |
28 | 28 | { |
29 | 29 | super(context); |
30 | - initializeSelf(context, null); | |
30 | + initializeSelf(); | |
31 | 31 | } |
32 | 32 | |
33 | 33 | /** |
34 | 34 | * コンストラクタ |
35 | - * @param context | |
36 | - * @param attrs | |
35 | + * | |
37 | 36 | */ |
38 | 37 | public GokigenSurfaceView(Context context, AttributeSet attrs) |
39 | 38 | { |
40 | 39 | super(context, attrs); |
41 | - initializeSelf(context, attrs); | |
40 | + initializeSelf(); | |
42 | 41 | } |
43 | 42 | |
44 | 43 | /** |
45 | 44 | * クラスの初期化処理 |
46 | - * @param context | |
47 | - * @param attrs | |
45 | + * | |
48 | 46 | */ |
49 | - private void initializeSelf(Context context, AttributeSet attrs) | |
47 | + private void initializeSelf() | |
50 | 48 | { |
51 | 49 | SurfaceHolder holder = getHolder(); |
52 | 50 | holder.addCallback(this); |
@@ -54,8 +52,8 @@ public class GokigenSurfaceView extends SurfaceView implements SurfaceHolder.Cal | ||
54 | 52 | |
55 | 53 | /** |
56 | 54 | * データ書き込みクラスの設定 |
57 | - * | |
58 | - * @param drawer | |
55 | + * | |
56 | + * | |
59 | 57 | */ |
60 | 58 | public void setCanvasDrawer(ICanvasDrawer drawer) |
61 | 59 | { |
@@ -93,15 +91,24 @@ public class GokigenSurfaceView extends SurfaceView implements SurfaceHolder.Cal | ||
93 | 91 | if (canvasDrawer != null) |
94 | 92 | { |
95 | 93 | ret = canvasDrawer.onTouchEvent(event); |
96 | - if (ret == true) | |
94 | + if (ret) | |
97 | 95 | { |
98 | 96 | doDraw(); |
99 | 97 | } |
100 | 98 | } |
99 | + else | |
100 | + { | |
101 | + super.performClick(); | |
102 | + } | |
101 | 103 | return (ret); |
102 | 104 | } |
103 | 105 | |
104 | - | |
106 | + @Override | |
107 | + public boolean performClick() | |
108 | + { | |
109 | + return (super.performClick()); | |
110 | + } | |
111 | + | |
105 | 112 | /** |
106 | 113 | * サーフェイス変更イベントの処理 |
107 | 114 | * |
@@ -130,14 +137,9 @@ public class GokigenSurfaceView extends SurfaceView implements SurfaceHolder.Cal | ||
130 | 137 | */ |
131 | 138 | public void surfaceDestroyed(SurfaceHolder aHolder) |
132 | 139 | { |
133 | - try | |
134 | - { | |
135 | - // | |
136 | - } | |
137 | - catch (Exception ex) | |
138 | - { | |
139 | - // | |
140 | - } | |
140 | + // | |
141 | + // | |
142 | + // | |
141 | 143 | } |
142 | 144 | |
143 | 145 | /** |
@@ -27,6 +27,7 @@ import android.widget.SeekBar; | ||
27 | 27 | |
28 | 28 | import jp.sourceforge.gokigen.memoma.dialogs.ConfirmationDialog; |
29 | 29 | import jp.sourceforge.gokigen.memoma.dialogs.CreditDialog; |
30 | +import jp.sourceforge.gokigen.memoma.dialogs.ItemSelectionDialog; | |
30 | 31 | import jp.sourceforge.gokigen.memoma.dialogs.TextEditDialog; |
31 | 32 | import jp.sourceforge.gokigen.memoma.drawers.MeMoMaCanvasDrawer; |
32 | 33 | import jp.sourceforge.gokigen.memoma.extension.ExtensionActivity; |
@@ -35,6 +36,12 @@ import jp.sourceforge.gokigen.memoma.holders.LineStyleHolder; | ||
35 | 36 | import jp.sourceforge.gokigen.memoma.holders.MeMoMaConnectLineHolder; |
36 | 37 | import jp.sourceforge.gokigen.memoma.holders.MeMoMaObjectHolder; |
37 | 38 | 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; | |
38 | 45 | |
39 | 46 | /** |
40 | 47 | * メモま! のメイン画面処理 |
@@ -713,7 +720,7 @@ public class MeMoMaListener implements OnClickListener, OnTouchListener, OnKeyLi | ||
713 | 720 | try |
714 | 721 | { |
715 | 722 | // 設定画面を呼び出す |
716 | - Intent prefIntent = new Intent(parent,jp.sourceforge.gokigen.memoma.Preference.class); | |
723 | + Intent prefIntent = new Intent(parent,Preference.class); | |
717 | 724 | parent.startActivityForResult(prefIntent, MENU_ID_PREFERENCES); |
718 | 725 | } |
719 | 726 | catch (Exception e) |
@@ -22,33 +22,35 @@ public class SharedIntentInvoker | ||
22 | 22 | * @param id Intentが呼び出し元Activityに戻った時に、呼ばれていたのは何か識別するID |
23 | 23 | * @param mailTitle 共有データタイトル |
24 | 24 | * @param mailMessage 共有データ本文 |
25 | - * @param fileName 添付データファイル名称 | |
25 | + * @param contentUri 添付データファイルのURI | |
26 | 26 | * @param fileType 添付データファイルの形 (text/plain とか image/* とか ...) |
27 | 27 | */ |
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) | |
29 | 29 | { |
30 | 30 | Intent intent = new Intent(); |
31 | 31 | intent.setAction(Intent.ACTION_SEND); |
32 | 32 | try |
33 | 33 | { |
34 | + Log.v(IDENTIFIER, "Share Content... " + contentUri); | |
34 | 35 | intent.setType("text/plain"); |
35 | 36 | intent.putExtra(Intent.EXTRA_SUBJECT, mailTitle); |
36 | 37 | intent.putExtra(Intent.EXTRA_TEXT, mailMessage); |
38 | + intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION); | |
37 | 39 | try |
38 | 40 | { |
39 | - if ((fileName.isEmpty() == false)&&(fileType.isEmpty() == false)) | |
41 | + if ((contentUri != null)&&(!fileType.isEmpty())) | |
40 | 42 | { |
41 | - // ファイルを添付する | |
43 | + // ファイル類を添付する | |
42 | 44 | intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); |
43 | 45 | 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); | |
46 | 48 | } |
47 | 49 | } |
48 | 50 | catch (Exception ee) |
49 | 51 | { |
50 | 52 | // |
51 | - Log.v(IDENTIFIER, "attach failure : " + fileName + " " + ee.toString() + " " + ee.getMessage()); | |
53 | + Log.v(IDENTIFIER, "attach failure : " + contentUri + " " + ee.toString() + " " + ee.getMessage()); | |
52 | 54 | } |
53 | 55 | parent.startActivityForResult(intent, id); |
54 | 56 | } |
@@ -60,6 +62,7 @@ public class SharedIntentInvoker | ||
60 | 62 | catch (Exception e) |
61 | 63 | { |
62 | 64 | Log.v(IDENTIFIER, "xxx : " + e.toString() + " " + e.getMessage()); |
65 | + e.printStackTrace(); | |
63 | 66 | } |
64 | 67 | } |
65 | 68 | } |
@@ -1,10 +1,12 @@ | ||
1 | -package jp.sourceforge.gokigen.memoma; | |
1 | +package jp.sourceforge.gokigen.memoma.dialogs; | |
2 | 2 | |
3 | 3 | import android.app.AlertDialog; |
4 | 4 | import android.app.Dialog; |
5 | 5 | import android.content.Context; |
6 | 6 | import android.content.DialogInterface; |
7 | 7 | |
8 | +import jp.sourceforge.gokigen.memoma.R; | |
9 | + | |
8 | 10 | |
9 | 11 | /** |
10 | 12 | * アイテムを選択するダイアログを準備する |
@@ -20,7 +20,7 @@ import android.widget.SeekBar; | ||
20 | 20 | import android.widget.TextView; |
21 | 21 | |
22 | 22 | import jp.sourceforge.gokigen.memoma.GokigenSurfaceView; |
23 | -import jp.sourceforge.gokigen.memoma.IObjectSelectionReceiver; | |
23 | +import jp.sourceforge.gokigen.memoma.operations.IObjectSelectionReceiver; | |
24 | 24 | import jp.sourceforge.gokigen.memoma.fileio.ImageLoader; |
25 | 25 | import jp.sourceforge.gokigen.memoma.Main; |
26 | 26 | import jp.sourceforge.gokigen.memoma.R; |
@@ -1,5 +1,6 @@ | ||
1 | 1 | package jp.sourceforge.gokigen.memoma.extension; |
2 | 2 | |
3 | +import java.io.File; | |
3 | 4 | import java.text.SimpleDateFormat; |
4 | 5 | import java.util.ArrayList; |
5 | 6 | import java.util.Calendar; |
@@ -11,6 +12,8 @@ import android.app.ActionBar; | ||
11 | 12 | import android.app.Activity; |
12 | 13 | import android.app.Dialog; |
13 | 14 | import android.content.Intent; |
15 | +import android.net.Uri; | |
16 | +import android.support.v4.content.FileProvider; | |
14 | 17 | import android.util.Log; |
15 | 18 | import android.view.Menu; |
16 | 19 | import android.view.MenuItem; |
@@ -32,8 +35,8 @@ import jp.sourceforge.gokigen.memoma.fileio.MeMoMaFileLoadingProcess; | ||
32 | 35 | import jp.sourceforge.gokigen.memoma.holders.MeMoMaObjectHolder; |
33 | 36 | import jp.sourceforge.gokigen.memoma.R; |
34 | 37 | 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; | |
37 | 40 | |
38 | 41 | /** |
39 | 42 | * リスト形式で表示・エクスポート |
@@ -462,10 +465,12 @@ public class ExtensionActivityListener implements OnClickListener, MeMoMaFileLo | ||
462 | 465 | message = message + "number of objects : " + objectHolder.getCount() + "\n"; |
463 | 466 | |
464 | 467 | // 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"); | |
466 | 470 | } |
467 | 471 | catch (Exception ex) |
468 | 472 | { |
473 | + Log.v(Main.APP_IDENTIFIER, "shareContent (fileName : " + fileName + ")"); | |
469 | 474 | ex.printStackTrace(); |
470 | 475 | } |
471 | 476 | } |
@@ -19,6 +19,7 @@ import jp.sourceforge.gokigen.memoma.Main; | ||
19 | 19 | */ |
20 | 20 | public class ExternalStorageFileUtility |
21 | 21 | { |
22 | + private final String TAG = toString(); | |
22 | 23 | private final int COPY_BUFFER_SIZE = 32768; |
23 | 24 | private final int BUFFER_MARGIN = 4; |
24 | 25 |
@@ -30,8 +31,11 @@ public class ExternalStorageFileUtility | ||
30 | 31 | */ |
31 | 32 | public ExternalStorageFileUtility(String offsetDir) |
32 | 33 | { |
33 | - /** ベースディレクトリの作成 (あれば何もしない) **/ | |
34 | - prepareBaseDirectory(offsetDir); | |
34 | + // ベースディレクトリの作成 (あれば何もしない) | |
35 | + if (!prepareBaseDirectory(offsetDir)) | |
36 | + { | |
37 | + Log.v(TAG, " prepareBaseDirectory : error"); | |
38 | + } | |
35 | 39 | } |
36 | 40 | |
37 | 41 | /** |
@@ -41,29 +45,27 @@ public class ExternalStorageFileUtility | ||
41 | 45 | private boolean prepareBaseDirectory(String offsetDir) |
42 | 46 | { |
43 | 47 | String gokigenDirectory = Environment.getExternalStorageDirectory().getPath() + "/Gokigen"; |
48 | + Log.v(TAG, "DIR : " + gokigenDirectory); | |
44 | 49 | try |
45 | 50 | { |
46 | 51 | File baseDir = new File(gokigenDirectory); |
47 | - if (baseDir.exists() == false) | |
52 | + if (!baseDir.exists()) | |
48 | 53 | { |
49 | - if (baseDir.mkdirs() == false) | |
54 | + if (!baseDir.mkdirs()) | |
50 | 55 | { |
51 | 56 | // ベースディレクトリ作成失敗...終了する |
52 | 57 | baseDirectory = Environment.getExternalStorageDirectory().getPath(); |
53 | - baseDir = null; | |
54 | 58 | return (false); |
55 | 59 | } |
56 | 60 | } |
57 | 61 | gokigenDirectory = gokigenDirectory + offsetDir; |
58 | - baseDir = null; | |
59 | 62 | baseDir = new File(gokigenDirectory); |
60 | - if (baseDir.exists() == false) | |
63 | + if (!baseDir.exists()) | |
61 | 64 | { |
62 | - if (baseDir.mkdirs() == false) | |
65 | + if (!baseDir.mkdirs()) | |
63 | 66 | { |
64 | 67 | // ベースディレクトリ作成失敗...終了する |
65 | 68 | baseDirectory = Environment.getExternalStorageDirectory().getPath() + "/Gokigen"; |
66 | - baseDir = null; | |
67 | 69 | return (false); |
68 | 70 | } |
69 | 71 | } |
@@ -2,7 +2,12 @@ package jp.sourceforge.gokigen.memoma.fileio; | ||
2 | 2 | |
3 | 3 | import java.text.SimpleDateFormat; |
4 | 4 | import java.util.Calendar; |
5 | +import java.util.Locale; | |
5 | 6 | |
7 | +import android.content.ContentResolver; | |
8 | +import android.content.ContentValues; | |
9 | +import android.net.Uri; | |
10 | +import android.provider.MediaStore; | |
6 | 11 | import android.support.v7.app.ActionBar; |
7 | 12 | import android.app.Activity; |
8 | 13 | import android.content.SharedPreferences; |
@@ -118,8 +123,8 @@ public class MeMoMaDataInOutManager implements MeMoMaFileSavingProcess.ISavingSt | ||
118 | 123 | /** |
119 | 124 | * データファイルのフルパスを応答する |
120 | 125 | * |
121 | - * @param dataTitle | |
122 | - * @return | |
126 | + * | |
127 | + * | |
123 | 128 | */ |
124 | 129 | public String getDataFileFullPath(String dataTitle, String extension) |
125 | 130 | { |
@@ -161,7 +166,7 @@ public class MeMoMaDataInOutManager implements MeMoMaFileSavingProcess.ISavingSt | ||
161 | 166 | Toast.makeText(parent, outputMessage, Toast.LENGTH_SHORT).show(); |
162 | 167 | |
163 | 168 | // 画面を再描画する |
164 | - final GokigenSurfaceView surfaceview = (GokigenSurfaceView) parent.findViewById(R.id.GraphicView); | |
169 | + final GokigenSurfaceView surfaceview = parent.findViewById(R.id.GraphicView); | |
165 | 170 | surfaceview.doDraw(); |
166 | 171 | } |
167 | 172 |
@@ -177,7 +182,7 @@ public class MeMoMaDataInOutManager implements MeMoMaFileSavingProcess.ISavingSt | ||
177 | 182 | /** |
178 | 183 | * ファイルからデータを読み込む。 |
179 | 184 | * |
180 | - * @param dataTitle | |
185 | + * | |
181 | 186 | */ |
182 | 187 | public void loadFile(String dataTitle) |
183 | 188 | { |
@@ -188,7 +193,7 @@ public class MeMoMaDataInOutManager implements MeMoMaFileSavingProcess.ISavingSt | ||
188 | 193 | /** |
189 | 194 | * ファイルからのデータ読み込み処理 |
190 | 195 | * |
191 | - * @param dataTitle | |
196 | + * | |
192 | 197 | */ |
193 | 198 | private void loadFileWithName(String dataTitle) |
194 | 199 | { |
@@ -210,7 +215,7 @@ public class MeMoMaDataInOutManager implements MeMoMaFileSavingProcess.ISavingSt | ||
210 | 215 | /** |
211 | 216 | * アクションバーを更新する... |
212 | 217 | * |
213 | - * @param bar | |
218 | + * | |
214 | 219 | */ |
215 | 220 | private void prepareActionBar(ActionBar bar) |
216 | 221 | { |
@@ -228,7 +233,7 @@ public class MeMoMaDataInOutManager implements MeMoMaFileSavingProcess.ISavingSt | ||
228 | 233 | /** |
229 | 234 | * ファイルを保存する...同期型で。 |
230 | 235 | * |
231 | - * @return | |
236 | + * | |
232 | 237 | */ |
233 | 238 | private String saveFileSynchronous() |
234 | 239 | { |
@@ -237,8 +242,7 @@ public class MeMoMaDataInOutManager implements MeMoMaFileSavingProcess.ISavingSt | ||
237 | 242 | String backgroundUri = preferences.getString("backgroundUri",""); |
238 | 243 | String userCheckboxString = preferences.getString("userCheckboxString",""); |
239 | 244 | MeMoMaFileSavingEngine saveEngine = new MeMoMaFileSavingEngine(fileUtility, backgroundUri, userCheckboxString); |
240 | - String message = saveEngine.saveObjects(objectHolder); | |
241 | - return (message); | |
245 | + return (saveEngine.saveObjects(objectHolder)); | |
242 | 246 | } |
243 | 247 | |
244 | 248 |
@@ -263,7 +267,7 @@ public class MeMoMaDataInOutManager implements MeMoMaFileSavingProcess.ISavingSt | ||
263 | 267 | SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(parent); |
264 | 268 | SharedPreferences.Editor editor = preferences.edit(); |
265 | 269 | editor.putString("MeMoMaInfo", data); |
266 | - editor.commit(); | |
270 | + editor.apply(); | |
267 | 271 | |
268 | 272 | // 選択したアイテムをロードする! |
269 | 273 | loadFileWithName(data); |
@@ -295,28 +299,46 @@ public class MeMoMaDataInOutManager implements MeMoMaFileSavingProcess.ISavingSt | ||
295 | 299 | // エクスポートしたことを伝達する |
296 | 300 | String outputMessage = parent.getString(R.string.capture_data) + " " + objectHolder.getDataTitle() + " " + detail; |
297 | 301 | Toast.makeText(parent, outputMessage, Toast.LENGTH_SHORT).show(); |
298 | - | |
299 | - if (isShareExportedData == true) | |
302 | + | |
303 | + if (isShareExportedData) | |
300 | 304 | { |
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 | + | |
303 | 326 | } |
304 | 327 | isShareExportedData = false; |
305 | 328 | } |
306 | 329 | |
307 | 330 | /** |
308 | 331 | * エクスポートしたファイルを共有する |
309 | - * | |
310 | - * @param fileName | |
332 | + * | |
311 | 333 | */ |
312 | - private void shareContent(String fileName) | |
334 | + private void shareContent(Uri imageName) | |
313 | 335 | { |
314 | 336 | String message = ""; |
315 | 337 | try |
316 | 338 | { |
317 | 339 | // 現在の時刻を取得する |
318 | 340 | 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); | |
320 | 342 | String date = outFormat.format(calendar.getTime()); |
321 | 343 | |
322 | 344 | // メールタイトル |
@@ -328,7 +350,7 @@ public class MeMoMaDataInOutManager implements MeMoMaFileSavingProcess.ISavingSt | ||
328 | 350 | message = message + "number of objects : " + objectHolder.getCount() + "\n"; |
329 | 351 | |
330 | 352 | // 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"); | |
332 | 354 | } |
333 | 355 | catch (Exception ex) |
334 | 356 | { |
@@ -1,4 +1,4 @@ | ||
1 | -package jp.sourceforge.gokigen.memoma; | |
1 | +package jp.sourceforge.gokigen.memoma.listitem; | |
2 | 2 | |
3 | 3 | import java.util.List; |
4 | 4 |
@@ -1,4 +1,4 @@ | ||
1 | -package jp.sourceforge.gokigen.memoma; | |
1 | +package jp.sourceforge.gokigen.memoma.listitem; | |
2 | 2 | |
3 | 3 | public class SymbolListArrayItem |
4 | 4 | { |
@@ -10,8 +10,7 @@ public class SymbolListArrayItem | ||
10 | 10 | |
11 | 11 | /** |
12 | 12 | * コンストラクタ |
13 | - * @param iconId | |
14 | - * @param textId | |
13 | + * | |
15 | 14 | */ |
16 | 15 | public SymbolListArrayItem(int iconId1, String textData1, String textData2, String textData3, int iconId2) |
17 | 16 | { |
@@ -1,4 +1,4 @@ | ||
1 | -package jp.sourceforge.gokigen.memoma; | |
1 | +package jp.sourceforge.gokigen.memoma.operations; | |
2 | 2 | |
3 | 3 | |
4 | 4 | /** |
@@ -1,4 +1,4 @@ | ||
1 | -package jp.sourceforge.gokigen.memoma; | |
1 | +package jp.sourceforge.gokigen.memoma.operations; | |
2 | 2 | |
3 | 3 | |
4 | 4 | import java.util.Enumeration; |
@@ -8,6 +8,8 @@ import android.content.Context; | ||
8 | 8 | import android.os.AsyncTask; |
9 | 9 | import android.util.Log; |
10 | 10 | |
11 | +import jp.sourceforge.gokigen.memoma.Main; | |
12 | +import jp.sourceforge.gokigen.memoma.R; | |
11 | 13 | import jp.sourceforge.gokigen.memoma.holders.MeMoMaObjectHolder; |
12 | 14 | |
13 | 15 | /** |
@@ -1,4 +1,4 @@ | ||
1 | -package jp.sourceforge.gokigen.memoma; | |
1 | +package jp.sourceforge.gokigen.memoma.operations; | |
2 | 2 | |
3 | 3 | import android.app.AlertDialog; |
4 | 4 | import android.app.Dialog; |
@@ -22,6 +22,8 @@ import android.widget.SeekBar; | ||
22 | 22 | import android.widget.TextView; |
23 | 23 | import android.widget.CompoundButton; |
24 | 24 | |
25 | +import jp.sourceforge.gokigen.memoma.Main; | |
26 | +import jp.sourceforge.gokigen.memoma.R; | |
25 | 27 | import jp.sourceforge.gokigen.memoma.drawers.MeMoMaCanvasDrawer; |
26 | 28 | import jp.sourceforge.gokigen.memoma.holders.MeMoMaObjectHolder; |
27 | 29 |
@@ -1,7 +1,10 @@ | ||
1 | -package jp.sourceforge.gokigen.memoma; | |
1 | +package jp.sourceforge.gokigen.memoma.operations; | |
2 | 2 | |
3 | 3 | import android.content.Context; |
4 | 4 | |
5 | +import jp.sourceforge.gokigen.memoma.R; | |
6 | +import jp.sourceforge.gokigen.memoma.dialogs.ItemSelectionDialog; | |
7 | + | |
5 | 8 | /** |
6 | 9 | * |
7 | 10 | * |
@@ -1,4 +1,4 @@ | ||
1 | -package jp.sourceforge.gokigen.memoma; | |
1 | +package jp.sourceforge.gokigen.memoma.operations; | |
2 | 2 | |
3 | 3 | import android.app.Activity; |
4 | 4 | import android.view.View; |
@@ -1,4 +1,4 @@ | ||
1 | -package jp.sourceforge.gokigen.memoma; | |
1 | +package jp.sourceforge.gokigen.memoma.operations; | |
2 | 2 | |
3 | 3 | import android.app.AlertDialog; |
4 | 4 | import android.app.Dialog; |
@@ -12,6 +12,8 @@ import android.view.LayoutInflater; | ||
12 | 12 | import android.view.View; |
13 | 13 | import android.widget.ImageButton; |
14 | 14 | |
15 | +import jp.sourceforge.gokigen.memoma.Main; | |
16 | +import jp.sourceforge.gokigen.memoma.R; | |
15 | 17 | import jp.sourceforge.gokigen.memoma.holders.LineStyleHolder; |
16 | 18 | |
17 | 19 | /** |
@@ -1,10 +1,12 @@ | ||
1 | -package jp.sourceforge.gokigen.memoma; | |
1 | +package jp.sourceforge.gokigen.memoma.preference; | |
2 | 2 | |
3 | 3 | import android.content.SharedPreferences; |
4 | 4 | import android.content.SharedPreferences.OnSharedPreferenceChangeListener; |
5 | 5 | import android.os.Bundle; |
6 | 6 | import android.preference.PreferenceActivity; |
7 | 7 | |
8 | +import jp.sourceforge.gokigen.memoma.R; | |
9 | + | |
8 | 10 | /** |
9 | 11 | * Androidの設定画面 |
10 | 12 | * |
@@ -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> |