From 803ab8f1c53e93b6671e2c66c62be5e0f57b36b2 Mon Sep 17 00:00:00 2001 From: MRSa Date: Tue, 2 Nov 2021 23:17:57 +0900 Subject: [PATCH] =?utf8?q?SDK=E3=82=9231=E3=81=AB=E6=9B=B4=E6=96=B0?= =?utf8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 23 ++-- app/src/main/AndroidManifest.xml | 4 +- .../java/jp/sourceforge/gokigen/memoma/Main.java | 14 ++- .../sourceforge/gokigen/memoma/MeMoMaListener.java | 16 +-- .../gokigen/memoma/dialogs/ConfirmationDialog.java | 43 +++---- .../gokigen/memoma/dialogs/CreditDialog.java | 2 +- .../memoma/dialogs/FileSelectionDialog.java | 72 +++++------- .../memoma/dialogs/ItemSelectionDialog.java | 128 +++++++-------------- .../gokigen/memoma/dialogs/TextEditDialog.java | 69 ++++------- .../gokigen/memoma/dialogs/TextEditReceiver.java | 10 +- .../gokigen/memoma/drawers/GokigenSurfaceView.java | 33 +++--- .../gokigen/memoma/drawers/MeMoMaCanvasDrawer.java | 16 +-- .../gokigen/memoma/drawers/ObjectShapeDrawer.java | 6 +- .../extension/ExtensionActivityListener.java | 4 +- .../gokigen/memoma/holders/ObjectConnector.java | 2 +- .../memoma/holders/OperationHistoryHolder.java | 3 +- .../gokigen/memoma/holders/PositionObject.java | 3 +- .../gokigen/memoma/io/MeMoMaDataInOutManager.java | 3 +- .../memoma/listitem/SymbolListArrayAdapter.java | 3 +- .../gokigen/memoma/preference/Preference.java | 3 +- build.gradle | 10 +- gradle.properties | 21 ++++ 22 files changed, 210 insertions(+), 278 deletions(-) create mode 100644 gradle.properties diff --git a/app/build.gradle b/app/build.gradle index 3f4072b..9b34774 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,15 +1,15 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 27 - buildToolsVersion "28.0.0" + compileSdkVersion 31 + //buildToolsVersion "31.0.0" defaultConfig { applicationId "jp.sourceforge.gokigen.memoma" minSdkVersion 14 - targetSdkVersion 27 - versionCode 15 - versionName "1.3.0" + targetSdkVersion 31 + versionCode 16 + versionName "1.3.1" } buildTypes { @@ -18,12 +18,17 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + } dependencies { api fileTree(dir: 'libs', include: ['*.jar']) - api 'com.android.support:appcompat-v7:27.1.1' - api 'com.android.support.constraint:constraint-layout:1.1.2' - api 'com.android.support:preference-v14:27.1.1' - api 'com.android.support:preference-v7:27.1.1' + implementation 'androidx.appcompat:appcompat:1.3.1' + implementation 'androidx.constraintlayout:constraintlayout:2.1.1' + implementation 'androidx.preference:preference:1.1.1' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8d4a622..833e367 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -7,6 +7,7 @@ @@ -17,6 +18,7 @@ @@ -26,7 +28,7 @@ { + if (resultReceiver != null) + { + resultReceiver.acceptConfirmation(); + } + dialog.cancel(); + System.gc(); + }); + builder.setNegativeButton(context.getString(R.string.confirmNo), (dialog, id) -> { + if (resultReceiver != null) + { + resultReceiver.rejectConfirmation(); + } + dialog.cancel(); + System.gc(); + }); return (builder.create()); } diff --git a/app/src/main/java/jp/sourceforge/gokigen/memoma/dialogs/CreditDialog.java b/app/src/main/java/jp/sourceforge/gokigen/memoma/dialogs/CreditDialog.java index 2f98f33..45db562 100644 --- a/app/src/main/java/jp/sourceforge/gokigen/memoma/dialogs/CreditDialog.java +++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/dialogs/CreditDialog.java @@ -18,7 +18,7 @@ import jp.sourceforge.gokigen.memoma.R; */ public class CreditDialog { - private Activity context; + private final Activity context; /** * コンストラクタ diff --git a/app/src/main/java/jp/sourceforge/gokigen/memoma/dialogs/FileSelectionDialog.java b/app/src/main/java/jp/sourceforge/gokigen/memoma/dialogs/FileSelectionDialog.java index ed5c970..491fac4 100644 --- a/app/src/main/java/jp/sourceforge/gokigen/memoma/dialogs/FileSelectionDialog.java +++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/dialogs/FileSelectionDialog.java @@ -3,10 +3,8 @@ package jp.sourceforge.gokigen.memoma.dialogs; import android.app.AlertDialog; import android.app.Dialog; import android.content.Context; -import android.content.DialogInterface; import android.view.LayoutInflater; import android.view.View; -import android.widget.AdapterView; import android.widget.ListView; import jp.sourceforge.gokigen.memoma.io.ExternalStorageFileUtility; @@ -21,34 +19,29 @@ import jp.sourceforge.gokigen.memoma.R; */ public class FileSelectionDialog { - private Context context = null; - private IResultReceiver resultReceiver = null; - private ExternalStorageFileUtility fileUtility = null; - private MeMoMaDataFileHolder dataFileHolder = null; - private String title = null; - private String fileExtension = null; - private Dialog dialogRef = null; + private final Context context; + private final IResultReceiver resultReceiver; + private final MeMoMaDataFileHolder dataFileHolder; + private final String title; + private final String fileExtension; + private Dialog dialogRef; /** * コンストラクタ - * - * @param arg + * */ public FileSelectionDialog(Context arg, String titleMessage, ExternalStorageFileUtility utility, String extension, IResultReceiver receiver) { context = arg; resultReceiver = receiver; title = titleMessage; - fileUtility = utility; fileExtension = extension; - dataFileHolder = new MeMoMaDataFileHolder(context, android.R.layout.simple_list_item_1, fileUtility, extension); + dataFileHolder = new MeMoMaDataFileHolder(context, android.R.layout.simple_list_item_1, utility, extension); } /** * ファイル一覧データをつくる! - * - * @param currentFileName - * @param extendDirectory + * */ public void prepare(String currentFileName, String extendDirectory) { @@ -57,8 +50,7 @@ public class FileSelectionDialog /** * ファイル選択ダイアログを応答する - * - * @return + * */ public Dialog getDialog() { @@ -78,35 +70,27 @@ public class FileSelectionDialog builder.setView(layout); // アイテムを選択したときの処理 - listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { - //@Override - public void onItemClick(AdapterView parentView, View view, int position, long id) - { - ListView listView = (ListView) parentView; - String fileName = (String) listView.getItemAtPosition(position); + listView.setOnItemClickListener((parentView, view, position, id) -> { + ListView listView1 = (ListView) parentView; + String fileName = (String) listView1.getItemAtPosition(position); - /// リストが選択されたときの処理...データを開く - if (resultReceiver != null) - { - resultReceiver.selectedFileName(fileName + fileExtension); - } - if (dialogRef != null) - { - dialogRef.dismiss(); - dialogRef = null; - } - System.gc(); + /// リストが選択されたときの処理...データを開く + if (resultReceiver != null) + { + resultReceiver.selectedFileName(fileName + fileExtension); + } + if (dialogRef != null) + { + dialogRef.dismiss(); + dialogRef = null; } + System.gc(); }); builder.setCancelable(true); - builder.setNegativeButton(context.getString(R.string.confirmNo), new DialogInterface.OnClickListener() - { - public void onClick(DialogInterface dialog, int id) - { - dialog.cancel(); - System.gc(); - } - }); + builder.setNegativeButton(context.getString(R.string.confirmNo), (dialog, id) -> { + dialog.cancel(); + System.gc(); + }); dialogRef = builder.create(); return (dialogRef); } @@ -123,6 +107,6 @@ public class FileSelectionDialog * ファイルが選択された! * */ - public abstract void selectedFileName(String fileName); + void selectedFileName(String fileName); } } diff --git a/app/src/main/java/jp/sourceforge/gokigen/memoma/dialogs/ItemSelectionDialog.java b/app/src/main/java/jp/sourceforge/gokigen/memoma/dialogs/ItemSelectionDialog.java index e024046..91ec9e1 100644 --- a/app/src/main/java/jp/sourceforge/gokigen/memoma/dialogs/ItemSelectionDialog.java +++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/dialogs/ItemSelectionDialog.java @@ -3,7 +3,6 @@ package jp.sourceforge.gokigen.memoma.dialogs; import android.app.AlertDialog; import android.app.Dialog; import android.content.Context; -import android.content.DialogInterface; import jp.sourceforge.gokigen.memoma.R; @@ -16,7 +15,7 @@ import jp.sourceforge.gokigen.memoma.R; */ public class ItemSelectionDialog { - private Context context = null; + private final Context context; private ISelectionItemReceiver resultReceiver = null; private ISelectionItemHolder dataHolder = null; private String title = ""; @@ -39,7 +38,6 @@ public class ItemSelectionDialog /** * 確認ダイアログを応答する - * @return */ public Dialog getDialog() { @@ -53,110 +51,66 @@ public class ItemSelectionDialog builder.setCancelable(false); if (dataHolder != null) { - if (dataHolder.isMultipleSelection() == false) + if (!dataHolder.isMultipleSelection()) { - builder.setItems(dataHolder.getItems(), new DialogInterface.OnClickListener() - { - public void onClick(DialogInterface dialog, int id) - { - boolean ret = false; - if (resultReceiver != null) - { - resultReceiver.itemSelected(id, dataHolder.getItem(id)); - } - if (ret == true) - { - dialog.dismiss(); - } - else - { - dialog.cancel(); - } - System.gc(); - - } - }); + builder.setItems(dataHolder.getItems(), (dialog, id) -> { + if (resultReceiver != null) + { + resultReceiver.itemSelected(id, dataHolder.getItem(id)); + } + dialog.cancel(); + System.gc(); + }); } else { - /** 複数選択の選択肢を準備する **/ - builder.setMultiChoiceItems(dataHolder.getItems(), dataHolder.getSelectionStatus(), new DialogInterface.OnMultiChoiceClickListener() - { - public void onClick(DialogInterface dialog, int which, boolean isChecked) - { - if (resultReceiver != null) - { - resultReceiver.itemSelected(which, dataHolder.getItem(which)); - } - } + // 複数選択の選択肢を準備する + builder.setMultiChoiceItems(dataHolder.getItems(), dataHolder.getSelectionStatus(), (dialog, which, isChecked) -> { + if (resultReceiver != null) + { + resultReceiver.itemSelected(which, dataHolder.getItem(which)); + } }); - /** 複数選択時には、OKボタンを押したときに選択を確定させる。 **/ - builder.setPositiveButton(context.getString(R.string.confirmYes), new DialogInterface.OnClickListener() - { - public void onClick(DialogInterface dialog, int id) - { - boolean ret = false; - if (resultReceiver != null) - { - resultReceiver.itemSelectedMulti(dataHolder.getItems(), dataHolder.getSelectionStatus()); - } - if (ret == true) - { - dialog.dismiss(); - } - else - { - dialog.cancel(); - } - System.gc(); - } - }); + // 複数選択時には、OKボタンを押したときに選択を確定させる。 + builder.setPositiveButton(context.getString(R.string.confirmYes), (dialog, id) -> { + if (resultReceiver != null) + { + resultReceiver.itemSelectedMulti(dataHolder.getItems(), dataHolder.getSelectionStatus()); + } + dialog.cancel(); + System.gc(); + }); } } -// builder.setMultiChoiceItems(CharSequence[] items, boolean[] checkedItems, OnMultiChoiceClickListener listener) -/** -**/ - builder.setNegativeButton(context.getString(R.string.confirmNo), new DialogInterface.OnClickListener() - { - public void onClick(DialogInterface dialog, int id) - { - boolean ret = false; - if (resultReceiver != null) - { - resultReceiver.canceledSelection(); - } - if (ret == true) - { - dialog.dismiss(); - } - else - { - dialog.cancel(); - } - System.gc(); - } + builder.setNegativeButton(context.getString(R.string.confirmNo), (dialog, id) -> { + if (resultReceiver != null) + { + resultReceiver.canceledSelection(); + } + dialog.cancel(); + System.gc(); }); return (builder.create()); } public interface ISelectionItemHolder { - public abstract boolean isMultipleSelection(); + boolean isMultipleSelection(); - public abstract String[] getItems(); - public abstract String getItem(int index); + String[] getItems(); + String getItem(int index); /** 複数選択時に使用する **/ - public abstract boolean[] getSelectionStatus(); - public abstract void setSelectionStatus(int index, boolean isSelected); - }; + boolean[] getSelectionStatus(); + void setSelectionStatus(int index, boolean isSelected); + } public interface ISelectionItemReceiver { - public abstract void itemSelected(int index, String itemValue); - public abstract void itemSelectedMulti(String[] items, boolean[] status); - public abstract void canceledSelection(); + void itemSelected(int index, String itemValue); + void itemSelectedMulti(String[] items, boolean[] status); + void canceledSelection(); } } diff --git a/app/src/main/java/jp/sourceforge/gokigen/memoma/dialogs/TextEditDialog.java b/app/src/main/java/jp/sourceforge/gokigen/memoma/dialogs/TextEditDialog.java index 1b8037f..8fc2ccd 100644 --- a/app/src/main/java/jp/sourceforge/gokigen/memoma/dialogs/TextEditDialog.java +++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/dialogs/TextEditDialog.java @@ -3,7 +3,6 @@ package jp.sourceforge.gokigen.memoma.dialogs; import android.app.AlertDialog; import android.app.Dialog; import android.content.Context; -import android.content.DialogInterface; import android.util.Log; import android.view.LayoutInflater; import android.view.View; @@ -20,14 +19,13 @@ import jp.sourceforge.gokigen.memoma.R; */ public class TextEditDialog { - private Context context = null; + private final Context context; private ITextEditResultReceiver resultReceiver = null; - private int icon = 0; + private final int icon; private String title = null; /** * コンストラクタ - * @param arg */ public TextEditDialog(Context arg, int titleIcon) { @@ -37,8 +35,6 @@ public class TextEditDialog /** * クラスの準備 - * @param receiver - * @param initialMessage */ public void prepare(Dialog layout, ITextEditResultReceiver receiver, String titleMessage, String initialMessage, boolean isSingleLine) { @@ -77,7 +73,6 @@ public class TextEditDialog /** * テキスト編集ダイアログを応答する - * @return */ public Dialog getDialog() { @@ -99,52 +94,28 @@ public class TextEditDialog builder.setView(layout); builder.setCancelable(false); - builder.setPositiveButton(context.getString(R.string.confirmYes), new DialogInterface.OnClickListener() - { - public void onClick(DialogInterface dialog, int id) - { - boolean ret = false; - if (resultReceiver != null) - { - resultReceiver.finishTextEditDialog(editComment.getText().toString()); - } - if (ret == true) - { - dialog.dismiss(); - } - else - { - dialog.cancel(); - } - System.gc(); - } - }); - builder.setNegativeButton(context.getString(R.string.confirmNo), new DialogInterface.OnClickListener() - { - public void onClick(DialogInterface dialog, int id) - { - boolean ret = false; - if (resultReceiver != null) - { - resultReceiver.cancelTextEditDialog(); - } - if (ret == true) - { - dialog.dismiss(); - } - else - { - dialog.cancel(); - } - System.gc(); - } - }); + builder.setPositiveButton(context.getString(R.string.confirmYes), (dialog, id) -> { + if (resultReceiver != null) + { + resultReceiver.finishTextEditDialog(editComment.getText().toString()); + } + dialog.cancel(); + System.gc(); + }); + builder.setNegativeButton(context.getString(R.string.confirmNo), (dialog, id) -> { + if (resultReceiver != null) + { + resultReceiver.cancelTextEditDialog(); + } + dialog.cancel(); + System.gc(); + }); return (builder.create()); } public interface ITextEditResultReceiver { - public abstract boolean finishTextEditDialog(String message); - public abstract boolean cancelTextEditDialog(); + void finishTextEditDialog(String message); + void cancelTextEditDialog(); } } diff --git a/app/src/main/java/jp/sourceforge/gokigen/memoma/dialogs/TextEditReceiver.java b/app/src/main/java/jp/sourceforge/gokigen/memoma/dialogs/TextEditReceiver.java index c18ba27..09bc0b7 100644 --- a/app/src/main/java/jp/sourceforge/gokigen/memoma/dialogs/TextEditReceiver.java +++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/dialogs/TextEditReceiver.java @@ -32,12 +32,12 @@ public class TextEditReceiver implements TextEditDialog.ITextEditResultReceiver * データの更新 * */ - public boolean finishTextEditDialog(String message) + public void finishTextEditDialog(String message) { if ((message == null)||(message.length() == 0)) { // データが入力されていなかったので、何もしない。 - return (false); + return; } // 文字列を記録 @@ -57,15 +57,13 @@ public class TextEditReceiver implements TextEditDialog.ITextEditResultReceiver // リソースIDが指定されていない場合は、タイトルを更新する parent.setTitle(message); } - - return (true); + } /** * データを更新しないとき... */ - public boolean cancelTextEditDialog() + public void cancelTextEditDialog() { - return (false); } } diff --git a/app/src/main/java/jp/sourceforge/gokigen/memoma/drawers/GokigenSurfaceView.java b/app/src/main/java/jp/sourceforge/gokigen/memoma/drawers/GokigenSurfaceView.java index 4a84e09..d5ac78b 100644 --- a/app/src/main/java/jp/sourceforge/gokigen/memoma/drawers/GokigenSurfaceView.java +++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/drawers/GokigenSurfaceView.java @@ -9,7 +9,6 @@ import android.view.SurfaceHolder; import android.view.SurfaceView; import jp.sourceforge.gokigen.memoma.Main; -import jp.sourceforge.gokigen.memoma.drawers.ICanvasDrawer; /** * 描画するくらす @@ -89,17 +88,24 @@ public class GokigenSurfaceView extends SurfaceView implements SurfaceHolder.Cal public boolean onTouchEvent(MotionEvent event) { boolean ret = false; - if (canvasDrawer != null) - { - ret = canvasDrawer.onTouchEvent(event); - if (ret) - { - doDraw(); - } - } - else + try + { + if (canvasDrawer != null) + { + ret = canvasDrawer.onTouchEvent(event); + if (ret) + { + doDraw(); + } + } + else + { + super.performClick(); + } + } + catch (Exception e) { - super.performClick(); + e.printStackTrace(); } return (ret); } @@ -126,9 +132,7 @@ public class GokigenSurfaceView extends SurfaceView implements SurfaceHolder.Cal } catch (Exception ex) { - // - // - // + ex.printStackTrace(); } } @@ -149,7 +153,6 @@ public class GokigenSurfaceView extends SurfaceView implements SurfaceHolder.Cal public void doDraw() { //Log.v(Main.APP_IDENTIFIER, "GokigenSurfaceView::doDraw()"); - SurfaceHolder drawHolder = getHolder(); try { diff --git a/app/src/main/java/jp/sourceforge/gokigen/memoma/drawers/MeMoMaCanvasDrawer.java b/app/src/main/java/jp/sourceforge/gokigen/memoma/drawers/MeMoMaCanvasDrawer.java index 0c8ff7a..bab18f0 100644 --- a/app/src/main/java/jp/sourceforge/gokigen/memoma/drawers/MeMoMaCanvasDrawer.java +++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/drawers/MeMoMaCanvasDrawer.java @@ -14,7 +14,7 @@ import android.graphics.RectF; import android.preference.PreferenceManager; import android.util.Log; import android.view.MotionEvent; -import android.view.GestureDetector; +import android.view.GestureDetector; import android.view.ScaleGestureDetector; import android.widget.SeekBar; import android.widget.TextView; @@ -53,7 +53,7 @@ public class MeMoMaCanvasDrawer implements ICanvasDrawer, GestureDetector.OnGes // 以下の値は、MeMoMaListenerで初期値を設定する private int objectStyle = MeMoMaObjectHolder.DRAWSTYLE_RECTANGLE; - private LineStyleHolder lineStyleHolder; + private final LineStyleHolder lineStyleHolder; private float drawScale = 1.0f; // 表示の倍率 private float drawTransX = 0.0f; // 並行移動距離 (X) @@ -71,14 +71,14 @@ public class MeMoMaCanvasDrawer implements ICanvasDrawer, GestureDetector.OnGes private String backgroundBitmapUri = null; private Bitmap backgroundBitmap = null; - private MeMoMaObjectHolder objectHolder; - private MeMoMaConnectLineHolder lineHolder; - private IObjectSelectionReceiver selectionReceiver; + private final MeMoMaObjectHolder objectHolder; + private final MeMoMaConnectLineHolder lineHolder; + private final IObjectSelectionReceiver selectionReceiver; - private GestureDetector gestureDetector; - private ScaleGestureDetector scaleGestureDetector; + private final GestureDetector gestureDetector; + private final ScaleGestureDetector scaleGestureDetector; - private Activity parent; + private final Activity parent; /** * コンストラクタ diff --git a/app/src/main/java/jp/sourceforge/gokigen/memoma/drawers/ObjectShapeDrawer.java b/app/src/main/java/jp/sourceforge/gokigen/memoma/drawers/ObjectShapeDrawer.java index 98db501..15703d9 100644 --- a/app/src/main/java/jp/sourceforge/gokigen/memoma/drawers/ObjectShapeDrawer.java +++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/drawers/ObjectShapeDrawer.java @@ -114,7 +114,7 @@ public class ObjectShapeDrawer static public float drawObjectDrum(Canvas canvas, RectF objectShape, Paint paint, Paint.Style paintStyle) { - float margin = MeMoMaCanvasDrawer.OBJECTLABEL_MARGIN * 1.0f; + float margin = MeMoMaCanvasDrawer.OBJECTLABEL_MARGIN; // 円柱の描画 Path path = new Path(); path.moveTo(objectShape.left, objectShape.top); @@ -140,13 +140,12 @@ public class ObjectShapeDrawer return (MeMoMaCanvasDrawer.OBJECTLABEL_MARGIN / 2.0f); } - static public float drawObjectNoRegion(Canvas canvas, RectF objectShape, Paint paint) + static public void drawObjectNoRegion(Canvas canvas, RectF objectShape, Paint paint) { // 何も表示しないとわからないので、ラベルが無いときには枠を表示する paint.setColor(Color.DKGRAY); canvas.drawRect(objectShape, paint); paint.setColor(Color.WHITE); - return (0.0f); } static public float drawObjectLoopStart(Canvas canvas, RectF objectShape, Paint paint) @@ -245,6 +244,7 @@ public class ObjectShapeDrawer { } + /** * 矢印を描画する処理 (ツリー表示時) * diff --git a/app/src/main/java/jp/sourceforge/gokigen/memoma/extension/ExtensionActivityListener.java b/app/src/main/java/jp/sourceforge/gokigen/memoma/extension/ExtensionActivityListener.java index 9b106e8..70c0856 100644 --- a/app/src/main/java/jp/sourceforge/gokigen/memoma/extension/ExtensionActivityListener.java +++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/extension/ExtensionActivityListener.java @@ -13,7 +13,7 @@ import android.app.Activity; import android.app.Dialog; import android.content.Intent; import android.net.Uri; -import android.support.v4.content.FileProvider; +import androidx.core.content.FileProvider; import android.util.Log; import android.view.Menu; import android.view.MenuItem; @@ -25,12 +25,10 @@ import android.widget.ListAdapter; import android.widget.ListView; import android.widget.Toast; -import jp.sourceforge.gokigen.memoma.holders.OperationHistoryHolder; import jp.sourceforge.gokigen.memoma.holders.PositionObject; import jp.sourceforge.gokigen.memoma.io.ExternalStorageFileUtility; import jp.sourceforge.gokigen.memoma.dialogs.FileSelectionDialog; import jp.sourceforge.gokigen.memoma.Main; -import jp.sourceforge.gokigen.memoma.holders.MeMoMaConnectLineHolder; import jp.sourceforge.gokigen.memoma.io.MeMoMaFileExportCsvProcess; import jp.sourceforge.gokigen.memoma.io.MeMoMaFileImportCsvProcess; import jp.sourceforge.gokigen.memoma.io.MeMoMaFileLoadingProcess; diff --git a/app/src/main/java/jp/sourceforge/gokigen/memoma/holders/ObjectConnector.java b/app/src/main/java/jp/sourceforge/gokigen/memoma/holders/ObjectConnector.java index 879a491..cbeadc8 100644 --- a/app/src/main/java/jp/sourceforge/gokigen/memoma/holders/ObjectConnector.java +++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/holders/ObjectConnector.java @@ -1,6 +1,6 @@ package jp.sourceforge.gokigen.memoma.holders; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; /** * オブジェクト間を接続するクラス diff --git a/app/src/main/java/jp/sourceforge/gokigen/memoma/holders/OperationHistoryHolder.java b/app/src/main/java/jp/sourceforge/gokigen/memoma/holders/OperationHistoryHolder.java index 252bc26..026c149 100644 --- a/app/src/main/java/jp/sourceforge/gokigen/memoma/holders/OperationHistoryHolder.java +++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/holders/OperationHistoryHolder.java @@ -1,9 +1,10 @@ package jp.sourceforge.gokigen.memoma.holders; import android.graphics.RectF; -import android.support.annotation.NonNull; import android.util.Log; +import androidx.annotation.NonNull; + public class OperationHistoryHolder implements IOperationHistoryHolder { private final String TAG = toString(); diff --git a/app/src/main/java/jp/sourceforge/gokigen/memoma/holders/PositionObject.java b/app/src/main/java/jp/sourceforge/gokigen/memoma/holders/PositionObject.java index 23c7e56..1705d3a 100644 --- a/app/src/main/java/jp/sourceforge/gokigen/memoma/holders/PositionObject.java +++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/holders/PositionObject.java @@ -1,7 +1,8 @@ package jp.sourceforge.gokigen.memoma.holders; import android.graphics.RectF; -import android.support.annotation.NonNull; + +import androidx.annotation.NonNull; public class PositionObject { diff --git a/app/src/main/java/jp/sourceforge/gokigen/memoma/io/MeMoMaDataInOutManager.java b/app/src/main/java/jp/sourceforge/gokigen/memoma/io/MeMoMaDataInOutManager.java index 0f7bf0d..1cc0f9e 100644 --- a/app/src/main/java/jp/sourceforge/gokigen/memoma/io/MeMoMaDataInOutManager.java +++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/io/MeMoMaDataInOutManager.java @@ -8,13 +8,14 @@ import android.content.ContentResolver; import android.content.ContentValues; import android.net.Uri; import android.provider.MediaStore; -import android.support.v7.app.ActionBar; import android.app.Activity; import android.content.SharedPreferences; import android.preference.PreferenceManager; import android.util.Log; import android.widget.Toast; +import androidx.appcompat.app.ActionBar; + import jp.sourceforge.gokigen.memoma.drawers.GokigenSurfaceView; import jp.sourceforge.gokigen.memoma.Main; import jp.sourceforge.gokigen.memoma.R; diff --git a/app/src/main/java/jp/sourceforge/gokigen/memoma/listitem/SymbolListArrayAdapter.java b/app/src/main/java/jp/sourceforge/gokigen/memoma/listitem/SymbolListArrayAdapter.java index bcf0c90..081fdff 100644 --- a/app/src/main/java/jp/sourceforge/gokigen/memoma/listitem/SymbolListArrayAdapter.java +++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/listitem/SymbolListArrayAdapter.java @@ -4,7 +4,6 @@ import java.util.List; import android.content.Context; import android.graphics.Color; -import android.support.annotation.NonNull; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -12,6 +11,8 @@ import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.TextView; +import androidx.annotation.NonNull; + public class SymbolListArrayAdapter extends ArrayAdapter { private final LayoutInflater inflater; diff --git a/app/src/main/java/jp/sourceforge/gokigen/memoma/preference/Preference.java b/app/src/main/java/jp/sourceforge/gokigen/memoma/preference/Preference.java index 253f396..7c1bc76 100644 --- a/app/src/main/java/jp/sourceforge/gokigen/memoma/preference/Preference.java +++ b/app/src/main/java/jp/sourceforge/gokigen/memoma/preference/Preference.java @@ -8,9 +8,10 @@ import android.database.Cursor; import android.os.Bundle; import android.preference.PreferenceActivity; import android.provider.MediaStore; -import android.support.annotation.NonNull; import android.util.Log; +import androidx.annotation.NonNull; + import jp.sourceforge.gokigen.memoma.R; /** diff --git a/build.gradle b/build.gradle index 09eedbb..1e707a8 100644 --- a/build.gradle +++ b/build.gradle @@ -1,20 +1,18 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { - jcenter() google() + mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:3.1.3' + classpath 'com.android.tools.build:gradle:7.0.3' } } allprojects { repositories { - jcenter() - maven { - url "https://maven.google.com" - } + google() + mavenCentral() } } diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..576580f --- /dev/null +++ b/gradle.properties @@ -0,0 +1,21 @@ +# Project-wide Gradle settings. +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx4096m +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app"s APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +# Automatically convert third-party libraries to use AndroidX +android.enableJetifier=true +# Kotlin code style for this project: "official" or "obsolete": +kotlin.code.style=official \ No newline at end of file -- 2.11.0