• R/O
  • HTTP
  • SSH
  • HTTPS

MeMoMa: Commit

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


Commit MetaInfo

Revisionc69701fee2c97c6389e56d80b39b8d7d6bc0a34f (tree)
Time2018-07-13 00:40:06
AuthorMRSa <mrsa@myad...>
CommiterMRSa

Log Message

CSV一覧表示にアクションバーが出なかった不具合を修正、画像出力時のタイトルをライトグレー化する。

Change Summary

Incremental Difference

--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -18,6 +18,7 @@
1818 </activity>
1919 <activity android:name=".extension.ExtensionActivity"
2020 android:label="@string/extent_name"
21+ android:theme="@android:style/Theme.Holo.Light.DarkActionBar"
2122 android:screenOrientation="landscape">
2223 <intent-filter>
2324 <action android:name="jp.sfjp.gokigen.memoma.extension.activity" />
--- a/app/src/main/java/jp/sourceforge/gokigen/memoma/SymbolListArrayAdapter.java
+++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/SymbolListArrayAdapter.java
@@ -3,6 +3,8 @@ package jp.sourceforge.gokigen.memoma;
33 import java.util.List;
44
55 import android.content.Context;
6+import android.graphics.Color;
7+import android.support.annotation.NonNull;
68 import android.view.LayoutInflater;
79 import android.view.View;
810 import android.view.ViewGroup;
@@ -12,9 +14,9 @@ import android.widget.TextView;
1214
1315 public class SymbolListArrayAdapter extends ArrayAdapter<SymbolListArrayItem>
1416 {
15- private LayoutInflater inflater = null;
16- private int textViewResourceId = 0;
17- private List<SymbolListArrayItem> listItems = null;
17+ private final LayoutInflater inflater;
18+ private final int textViewResourceId;
19+ private final List<SymbolListArrayItem> listItems;
1820
1921 /**
2022 * コンストラクタ
@@ -35,9 +37,9 @@ public class SymbolListArrayAdapter extends ArrayAdapter<SymbolListArrayItem>
3537 *
3638 */
3739 @Override
38- public View getView(int position, View convertView, ViewGroup parent)
40+ public @NonNull View getView(int position, View convertView, @NonNull ViewGroup parent)
3941 {
40- View view = null;
42+ View view;
4143 if(convertView != null)
4244 {
4345 view = convertView;
@@ -49,26 +51,28 @@ public class SymbolListArrayAdapter extends ArrayAdapter<SymbolListArrayItem>
4951
5052 SymbolListArrayItem item = listItems.get(position);
5153
52- ImageView imageView = (ImageView) view.findViewWithTag("icon");
54+ ImageView imageView = view.findViewWithTag("icon");
5355 imageView.setImageResource(item.getIconResource());
5456
5557 int subIcon = item.getSubIconResource();
5658 //if (subIcon != 0)
5759 {
58- ImageView subImage = (ImageView) view.findViewWithTag("subIcon");
60+ ImageView subImage = view.findViewWithTag("subIcon");
5961 subImage.setImageResource(subIcon);
6062 }
6163
62- TextView titleView = (TextView)view.findViewWithTag("title");
64+ TextView titleView = view.findViewWithTag("title");
65+ titleView.setTextColor(Color.LTGRAY);
6366 titleView.setText(item.getTextResource1st());
6467
65- TextView detailView = (TextView)view.findViewWithTag("detail");
68+ TextView detailView = view.findViewWithTag("detail");
69+ detailView.setTextColor(Color.LTGRAY);
6670 detailView.setText(item.getTextResource2nd());
6771
68- /**
69- TextView optionView = (TextView)view.findViewWithTag("option");
72+ /*
73+ TextView optionView = view.findViewWithTag("option");
7074 optionView.setText(item.getTextResource3rd());
71- **/
75+ */
7276 return (view);
7377 }
7478 }
--- a/app/src/main/java/jp/sourceforge/gokigen/memoma/drawers/MeMoMaCanvasDrawer.java
+++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/drawers/MeMoMaCanvasDrawer.java
@@ -307,6 +307,12 @@ public class MeMoMaCanvasDrawer implements ICanvasDrawer, GestureDetector.OnGes
307307 // タイトルとめもまのアイコンを表示する : 文字の色は黒でいいのかな...
308308 Bitmap bitmap = BitmapFactory.decodeResource(parent.getResources(), R.drawable.icon1);
309309 canvas.drawBitmap(bitmap, 2.0f, 2.0f, paint);
310+
311+ // 文字をライトグレー、ちょっと影付きにする
312+ paint.setColor(Color.LTGRAY);
313+ paint.setStyle(Paint.Style.FILL_AND_STROKE);
314+ paint.setShadowLayer(0.5f, 0.5f, 0.5f, Color.DKGRAY);
315+
310316 canvas.drawText(objectHolder.getDataTitle(), (bitmap.getWidth() + 10.0f), 32.0f, paint);
311317
312318 }
--- a/app/src/main/java/jp/sourceforge/gokigen/memoma/extension/ExtensionActivity.java
+++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/extension/ExtensionActivity.java
@@ -1,5 +1,6 @@
11 package jp.sourceforge.gokigen.memoma.extension;
22
3+import android.app.ActionBar;
34 import android.app.Activity;
45 import android.app.Dialog;
56 import android.content.Intent;
@@ -31,16 +32,16 @@ public class ExtensionActivity extends Activity
3132 {
3233 super.onCreate(savedInstanceState);
3334
34- /** リスナクラスを生成する **/
35- listener = new ExtensionActivityListener((Activity) this);
35+ // リスナクラスを生成する
36+ listener = new ExtensionActivityListener(this);
3637
37- /** レイアウトを設定する **/
38- setContentView(R.layout.extensionview);
38+ // レイアウトを設定する
39+ setContentView(R.layout.extensionview);
3940
40- /** リスナクラスの準備 **/
41- listener.prepareExtraDatas(getIntent());
42- listener.prepareListener();
43- }
41+ // リスナクラスの準備
42+ listener.prepareExtraDatas(getIntent());
43+ listener.prepareListener();
44+ }
4445
4546 /**
4647 * メニューの生成
@@ -48,7 +49,7 @@ public class ExtensionActivity extends Activity
4849 @Override
4950 public boolean onCreateOptionsMenu(Menu menu)
5051 {
51- menu = listener.onCreateOptionsMenu(menu);
52+ menu = listener.onCreateOptionsMenu(menu);
5253 return (super.onCreateOptionsMenu(menu));
5354 }
5455
--- a/app/src/main/java/jp/sourceforge/gokigen/memoma/extension/ExtensionActivityListener.java
+++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/extension/ExtensionActivityListener.java
@@ -5,14 +5,15 @@ import java.util.ArrayList;
55 import java.util.Calendar;
66 import java.util.Enumeration;
77 import java.util.List;
8+import java.util.Locale;
89
10+import android.app.ActionBar;
911 import android.app.Activity;
1012 import android.app.Dialog;
1113 import android.content.Intent;
1214 import android.util.Log;
1315 import android.view.Menu;
1416 import android.view.MenuItem;
15-import android.view.MotionEvent;
1617 import android.view.View;
1718 import android.view.View.OnClickListener;
1819 import android.widget.AdapterView;
@@ -42,27 +43,27 @@ import jp.sourceforge.gokigen.memoma.SymbolListArrayItem;
4243 */
4344 public class ExtensionActivityListener implements OnClickListener, MeMoMaFileLoadingProcess.IResultReceiver, MeMoMaFileExportCsvProcess.IResultReceiver, FileSelectionDialog.IResultReceiver, MeMoMaFileImportCsvProcess.IResultReceiver
4445 {
45- public final int MENU_ID_EXPORT= (Menu.FIRST + 1);
46- public final int MENU_ID_SHARE = (Menu.FIRST + 2);
47- public final int MENU_ID_IMPORT = (Menu.FIRST + 3);
46+ private final int MENU_ID_EXPORT= (Menu.FIRST + 1);
47+ private final int MENU_ID_SHARE = (Menu.FIRST + 2);
48+ private final int MENU_ID_IMPORT = (Menu.FIRST + 3);
4849
49- private final String EXTENSION_DIRECTORY = "/exported";
50+ private static final String EXTENSION_DIRECTORY = "/exported";
5051
51- private ExternalStorageFileUtility fileUtility = null;
52- private MeMoMaObjectHolder objectHolder = null;
52+ private ExternalStorageFileUtility fileUtility;
53+ private MeMoMaObjectHolder objectHolder;
5354 private FileSelectionDialog fileSelectionDialog = null;
5455
5556 private boolean isShareExportedData = false;
5657
5758 private List<SymbolListArrayItem> listItems = null;
5859
59- private Activity parent = null; // 親分
60+ private final Activity parent; // 親分
6061
6162 /**
6263 * コンストラクタ
63- * @param argument
64+ * @param argument parent activity
6465 */
65- public ExtensionActivityListener(Activity argument)
66+ ExtensionActivityListener(Activity argument)
6667 {
6768 parent = argument;
6869 fileUtility = new ExternalStorageFileUtility(Main.APP_BASEDIR);
@@ -71,7 +72,7 @@ public class ExtensionActivityListener implements OnClickListener, MeMoMaFileLo
7172 /**
7273 * 起動時にデータを準備する
7374 *
74- * @param myIntent
75+ * @param myIntent intent information
7576 */
7677 public void prepareExtraDatas(Intent myIntent)
7778 {
@@ -97,7 +98,7 @@ public class ExtensionActivityListener implements OnClickListener, MeMoMaFileLo
9798 public void prepareListener()
9899 {
99100 // フィルタ設定ボタン
100- final ImageButton filterButton = (ImageButton) parent.findViewById(R.id.SetFilterButton);
101+ final ImageButton filterButton = parent.findViewById(R.id.SetFilterButton);
101102 filterButton.setOnClickListener(this);
102103
103104 }
@@ -117,7 +118,15 @@ public class ExtensionActivityListener implements OnClickListener, MeMoMaFileLo
117118 {
118119 Log.v(Main.APP_IDENTIFIER, "ExtensionActivityListener::prepareToStart() : " + objectHolder.getDataTitle());
119120
120- // ファイルをロードする!
121+ // アクションバーを表示する
122+ ActionBar bar = parent.getActionBar();
123+ if (bar != null)
124+ {
125+ bar.show();
126+ bar.setTitle(objectHolder.getDataTitle());
127+ }
128+
129+ // ファイルをロードする!
121130 // (AsyncTaskを使ってデータを読み込む)
122131 MeMoMaFileLoadingProcess asyncTask = new MeMoMaFileLoadingProcess(parent, fileUtility, this);
123132 asyncTask.execute(objectHolder);
@@ -142,13 +151,13 @@ public class ExtensionActivityListener implements OnClickListener, MeMoMaFileLo
142151
143152 /**
144153 * 他画面から戻ってきたとき...
145- * @param requestCode
146- * @param resultCode
147- * @param data
154+ *
155+ *
148156 */
149157 public void onActivityResult(int requestCode, int resultCode, Intent data)
150158 {
151159 // なにもしない...
160+ Log.v(Main.APP_IDENTIFIER, "rc: " + requestCode + " rs: " + resultCode + " it: " + data.getDataString());
152161 }
153162
154163 /**
@@ -160,25 +169,28 @@ public class ExtensionActivityListener implements OnClickListener, MeMoMaFileLo
160169 if (id == R.id.SetFilterButton)
161170 {
162171 // フィルタ設定ボタンが押された!
172+ Log.v(Main.APP_IDENTIFIER, "Selected Filter");
163173 }
164174 }
165175
166- /**
176+/*
177+ **
167178 * 触られたときの処理
168- *
169- */
179+ *
180+ *
170181 public boolean onTouch(View v, MotionEvent event)
171182 {
183+ Log.v(Main.APP_IDENTIFIER, " " + v.toString() + " " + event.toString());
172184 // int id = v.getId();
173185 // int action = event.getAction();
174186
175187 return (false);
176188 }
189+*/
177190
178191 /**
179192 * メニューへのアイテム追加
180- * @param menu
181- * @return
193+ *
182194 */
183195 public Menu onCreateOptionsMenu(Menu menu)
184196 {
@@ -199,26 +211,22 @@ public class ExtensionActivityListener implements OnClickListener, MeMoMaFileLo
199211
200212 /**
201213 * メニュー表示前の処理
202- * @param menu
203- * @return
214+ *
204215 */
205216 public void onPrepareOptionsMenu(Menu menu)
206217 {
207218 menu.findItem(MENU_ID_SHARE).setVisible(true);
208219 menu.findItem(MENU_ID_EXPORT).setVisible(true);
209220 menu.findItem(MENU_ID_IMPORT).setVisible(true);
210-
211- return;
212221 }
213222
214223 /**
215224 * メニューのアイテムが選択されたときの処理
216- * @param item
217- * @return
225+ *
218226 */
219227 public boolean onOptionsItemSelected(MenuItem item)
220228 {
221- boolean result = false;
229+ boolean result;
222230 switch (item.getItemId())
223231 {
224232 case MENU_ID_EXPORT:
@@ -245,6 +253,7 @@ public class ExtensionActivityListener implements OnClickListener, MeMoMaFileLo
245253 return (result);
246254 }
247255
256+
248257 /**
249258 * CSV形式でデータをインポートする
250259 *
@@ -280,13 +289,13 @@ public class ExtensionActivityListener implements OnClickListener, MeMoMaFileLo
280289 return (fileSelectionDialog.getDialog());
281290 }
282291
283-/**
292+ /*
284293 if (id == R.id.info_about_gokigen)
285294 {
286295 CreditDialog dialog = new CreditDialog(parent);
287296 return (dialog.getDialog());
288297 }
289-**/
298+ */
290299 return (null);
291300 }
292301
@@ -296,7 +305,15 @@ public class ExtensionActivityListener implements OnClickListener, MeMoMaFileLo
296305 */
297306 private void prepareFileSelectionDialog(Dialog dialog)
298307 {
299- fileSelectionDialog.prepare("", EXTENSION_DIRECTORY);
308+ try
309+ {
310+ Log.v(Main.APP_IDENTIFIER, " " + dialog.toString());
311+ fileSelectionDialog.prepare("", EXTENSION_DIRECTORY);
312+ }
313+ catch (Exception e)
314+ {
315+ e.printStackTrace();
316+ }
300317 }
301318
302319 /**
@@ -309,7 +326,6 @@ public class ExtensionActivityListener implements OnClickListener, MeMoMaFileLo
309326 {
310327 // CSVインポートダイアログを準備する
311328 prepareFileSelectionDialog(dialog);
312- return;
313329 }
314330 }
315331
@@ -323,7 +339,7 @@ public class ExtensionActivityListener implements OnClickListener, MeMoMaFileLo
323339 {
324340 // リストに表示するアイテムを生成する
325341 listItems = null;
326- listItems = new ArrayList<SymbolListArrayItem>();
342+ listItems = new ArrayList<>();
327343
328344 // TODO: 何らかの法則に従って並べ替えをする。
329345
@@ -337,7 +353,7 @@ public class ExtensionActivityListener implements OnClickListener, MeMoMaFileLo
337353 int objectStyleIcon = MeMoMaObjectHolder .getObjectDrawStyleIcon(pos.drawStyle);
338354
339355 // ユーザチェックの有無表示
340- int userCheckedIcon = (pos.userChecked == true) ? R.drawable.btn_checked : R.drawable.btn_notchecked;
356+ int userCheckedIcon = (pos.userChecked) ? R.drawable.btn_checked : R.drawable.btn_notchecked;
341357
342358 // TODO: アイテム選択時の情報エリアは(ArrayItem側には)用意しているが未使用。
343359 SymbolListArrayItem listItem = new SymbolListArrayItem(userCheckedIcon, pos.label, pos.detail, "", objectStyleIcon);
@@ -382,7 +398,7 @@ public class ExtensionActivityListener implements OnClickListener, MeMoMaFileLo
382398 String outputMessage = parent.getString(R.string.export_csv) + " " + objectHolder.getDataTitle() + " " + detail;
383399 Toast.makeText(parent, outputMessage, Toast.LENGTH_SHORT).show();
384400
385- if (isShareExportedData == true)
401+ if (isShareExportedData)
386402 {
387403 // エクスポートしたファイルを共有する
388404 shareContent(exportedFileName);
@@ -398,7 +414,7 @@ public class ExtensionActivityListener implements OnClickListener, MeMoMaFileLo
398414 try
399415 {
400416 // リストアダプターを生成し、設定する
401- ListView listView = (ListView) parent.findViewById(R.id.ExtensionView);
417+ ListView listView = parent.findViewById(R.id.ExtensionView);
402418 ListAdapter adapter = new SymbolListArrayAdapter(parent, R.layout.listarrayitems, listItems);
403419 listView.setAdapter(adapter);
404420
@@ -425,7 +441,7 @@ public class ExtensionActivityListener implements OnClickListener, MeMoMaFileLo
425441 /**
426442 * エクスポートしたファイルを共有する
427443 *
428- * @param fileName
444+ *
429445 */
430446 private void shareContent(String fileName)
431447 {
@@ -434,7 +450,7 @@ public class ExtensionActivityListener implements OnClickListener, MeMoMaFileLo
434450 {
435451 // 現在の時刻を取得する
436452 Calendar calendar = Calendar.getInstance();
437- SimpleDateFormat outFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
453+ SimpleDateFormat outFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.US);
438454 String date = outFormat.format(calendar.getTime());
439455
440456 // メールタイトル
@@ -450,7 +466,7 @@ public class ExtensionActivityListener implements OnClickListener, MeMoMaFileLo
450466 }
451467 catch (Exception ex)
452468 {
453-
469+ ex.printStackTrace();
454470 }
455471 }
456472
@@ -468,8 +484,7 @@ public class ExtensionActivityListener implements OnClickListener, MeMoMaFileLo
468484
469485 /**
470486 * インポート結果の受信
471- *
472- * @param detail
487+ *
473488 */
474489 public void onImportedResult(String detail)
475490 {
--- a/app/src/main/java/jp/sourceforge/gokigen/memoma/fileio/ObjectLayoutCaptureExporter.java
+++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/fileio/ObjectLayoutCaptureExporter.java
@@ -6,6 +6,7 @@ import java.io.OutputStream;
66 import java.text.SimpleDateFormat;
77 import java.util.Calendar;
88 import java.util.Enumeration;
9+import java.util.Locale;
910
1011 import android.app.Activity;
1112 import android.app.ProgressDialog;
@@ -42,27 +43,32 @@ public class ObjectLayoutCaptureExporter extends AsyncTask<String, Integer, Stri
4243
4344 private static final int MINIMUM_WIDTH = 800;
4445 private static final int MINIMUM_HEIGHT = 600;
45-
46- private Activity parent = null;
47- private ICaptureLayoutExporter receiver = null;
48- private ExternalStorageFileUtility fileUtility = null;
46+
47+ private ICaptureLayoutExporter receiver;
48+ private ExternalStorageFileUtility fileUtility;
4949 private String exportedFileName = null;
50- private MeMoMaObjectHolder objectHolder = null;
51- private MeMoMaCanvasDrawer canvasDrawer = null;
52- private ProgressDialog savingDialog = null;
50+ private MeMoMaObjectHolder objectHolder;
51+ private MeMoMaCanvasDrawer canvasDrawer;
52+ private ProgressDialog savingDialog;
5353 private float offsetX = 0.0f;
5454 private float offsetY = 0.0f;
55+ private int displayWidth;
56+ private int displayHeight;
5557
5658 /**
5759 * コンストラクタ
5860 */
59- public ObjectLayoutCaptureExporter(Activity context, ExternalStorageFileUtility utility, MeMoMaObjectHolder holder, MeMoMaCanvasDrawer drawer, ICaptureLayoutExporter resultReceiver)
61+ ObjectLayoutCaptureExporter(Activity context, ExternalStorageFileUtility utility, MeMoMaObjectHolder holder, MeMoMaCanvasDrawer drawer, ICaptureLayoutExporter resultReceiver)
6062 {
6163 receiver = resultReceiver;
6264 fileUtility = utility;
6365 objectHolder = holder;
6466 canvasDrawer = drawer;
65- parent = context;
67+
68+ // 現在の画面サイズを取得
69+ Display display = context.getWindowManager().getDefaultDisplay();
70+ displayWidth = display.getWidth();
71+ displayHeight = display.getHeight();
6672
6773 // プログレスダイアログ(「保存中...」)を表示する。
6874 savingDialog = new ProgressDialog(context);
@@ -72,9 +78,12 @@ public class ObjectLayoutCaptureExporter extends AsyncTask<String, Integer, Stri
7278 savingDialog.setCancelable(false);
7379 savingDialog.show();
7480
75- /** ファイルをバックアップするディレクトリを作成する **/
81+ // ファイルをバックアップするディレクトリを作成する
7682 File dir = new File(fileUtility.getGokigenDirectory() + "/exported");
77- dir.mkdir();
83+ if (!dir.mkdir())
84+ {
85+ Log.v(Main.APP_IDENTIFIER, "mkdir is failed.");
86+ }
7887 }
7988
8089 /**
@@ -89,10 +98,8 @@ public class ObjectLayoutCaptureExporter extends AsyncTask<String, Integer, Stri
8998
9099 /**
91100 * ビットマップデータを(PNG形式で)保管する。
92- *
93- * @param fileName
94- * @param objectHolder
95- * @return
101+ *
102+ *
96103 */
97104 private String exportToFile(String fileName, Bitmap targetBitmap)
98105 {
@@ -107,7 +114,7 @@ public class ObjectLayoutCaptureExporter extends AsyncTask<String, Integer, Stri
107114
108115 // エクスポートするファイル名を決定する
109116 Calendar calendar = Calendar.getInstance();
110- SimpleDateFormat outFormat = new SimpleDateFormat("yyyyMMddHHmmss");
117+ SimpleDateFormat outFormat = new SimpleDateFormat("yyyyMMddHHmmss", Locale.US);
111118 exportedFileName = fileName + "_" + outFormat.format(calendar.getTime()) + ".png";
112119
113120 // PNG形式でファイル出力を行う。
@@ -128,7 +135,7 @@ public class ObjectLayoutCaptureExporter extends AsyncTask<String, Integer, Stri
128135 /**
129136 * キャンバスの大きさがどれくらい必要か、チェックする。
130137 *
131- * @return
138+ *
132139 */
133140 private Rect checkCanvasSize()
134141 {
@@ -166,26 +173,26 @@ public class ObjectLayoutCaptureExporter extends AsyncTask<String, Integer, Stri
166173 canvasSize.sort();
167174
168175 // 現在の画面サイズを取得
169- Display display = parent.getWindowManager().getDefaultDisplay();
170- int width = display.getWidth();
171- int height = display.getHeight();
172- if (width < MINIMUM_WIDTH)
176+ //Display display = parent.getWindowManager().getDefaultDisplay();
177+ //int width = display.getWidth();
178+ //int height = display.getHeight();
179+ if (displayWidth < MINIMUM_WIDTH)
173180 {
174- width = MINIMUM_WIDTH;
181+ displayWidth = MINIMUM_WIDTH;
175182 }
176- if (height < MINIMUM_HEIGHT)
183+ if (displayHeight < MINIMUM_HEIGHT)
177184 {
178- height = MINIMUM_HEIGHT;
185+ displayHeight = MINIMUM_HEIGHT;
179186 }
180187
181188 // 出力の最小サイズを(表示画面サイズに)設定
182- if (canvasSize.width() < width)
189+ if (canvasSize.width() < displayWidth)
183190 {
184- canvasSize.right = canvasSize.left + width;
191+ canvasSize.right = canvasSize.left + displayWidth;
185192 }
186- if (canvasSize.height() < height)
193+ if (canvasSize.height() < displayHeight)
187194 {
188- canvasSize.bottom = canvasSize.top + height;
195+ canvasSize.bottom = canvasSize.top + displayHeight;
189196 }
190197
191198
@@ -206,21 +213,27 @@ public class ObjectLayoutCaptureExporter extends AsyncTask<String, Integer, Stri
206213 @Override
207214 protected String doInBackground(String... datas)
208215 {
209- Rect canvasSize = checkCanvasSize();
210- Bitmap targetBitmap = Bitmap.createBitmap(canvasSize.width(), canvasSize.height(), Bitmap.Config.RGB_565);
211- Canvas targetCanvas = new Canvas(targetBitmap);
212-
213- // オブジェクトをビットマップの中に書き込む
214- canvasDrawer.drawOnBitmapCanvas(targetCanvas, offsetX, offsetY);
216+ String result = "";
217+ try
218+ {
219+ Rect canvasSize = checkCanvasSize();
220+ Bitmap targetBitmap = Bitmap.createBitmap(canvasSize.width(), canvasSize.height(), Bitmap.Config.RGB_565);
221+ Canvas targetCanvas = new Canvas(targetBitmap);
215222
216- // ファイル名の設定 ... (拡張子なし)
217- String fileName = fileUtility.getGokigenDirectory() + "/exported/" + datas[0];
223+ // オブジェクトをビットマップの中に書き込む
224+ canvasDrawer.drawOnBitmapCanvas(targetCanvas, offsetX, offsetY);
218225
219- // データを保管する
220- String result = exportToFile(fileName, targetBitmap);
226+ // ファイル名の設定 ... (拡張子なし)
227+ String fileName = fileUtility.getGokigenDirectory() + "/exported/" + datas[0];
221228
229+ // データを保管する
230+ result = exportToFile(fileName, targetBitmap);
231+ }
232+ catch (Throwable t)
233+ {
234+ t.printStackTrace();
235+ }
222236 System.gc();
223-
224237 return (result);
225238 }
226239
@@ -257,7 +270,6 @@ public class ObjectLayoutCaptureExporter extends AsyncTask<String, Integer, Stri
257270 {
258271 savingDialog.dismiss();
259272 }
260- return;
261273 }
262274
263275 /**
@@ -268,7 +280,7 @@ public class ObjectLayoutCaptureExporter extends AsyncTask<String, Integer, Stri
268280 */
269281 public interface ICaptureLayoutExporter
270282 {
271- /** 保存結果の報告 **/
272- public abstract void onCaptureLayoutExportedResult(String exportedFileName, String detail);
283+ // 保存結果の報告
284+ void onCaptureLayoutExportedResult(String exportedFileName, String detail);
273285 }
274286 }
Show on old repository browser