From 8ef78642a94225217706a1dc4acc961118825186 Mon Sep 17 00:00:00 2001 From: nemukemo Date: Mon, 8 Jul 2024 18:03:19 +0900 Subject: [PATCH] =?UTF-8?q?=E3=83=AB=E3=83=BC=E3=83=88=E4=BD=9C=E6=88=90?= =?UTF-8?q?=E3=81=A8=E6=8F=90=E5=87=BA=E7=8A=B6=E6=B3=81=E3=81=AE=E3=82=A2?= =?UTF-8?q?=E3=82=AF=E3=83=86=E3=82=A3=E3=83=93=E3=83=86=E3=82=A3=E3=81=AB?= =?UTF-8?q?=E3=81=9D=E3=82=8C=E3=81=9E=E3=82=8C=E8=AD=A6=E5=91=8A=E7=94=A8?= =?UTF-8?q?=E3=81=AEtoast=E3=81=AE=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/example/oplogy/MainActivity.java | 52 +++++++++++-------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/com/example/oplogy/MainActivity.java b/app/src/main/java/com/example/oplogy/MainActivity.java index 940ab00..57fbdc2 100644 --- a/app/src/main/java/com/example/oplogy/MainActivity.java +++ b/app/src/main/java/com/example/oplogy/MainActivity.java @@ -141,47 +141,53 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe // ルート作成のクリック処理 if (view == root) { imageRoot.setImageResource(R.drawable.pin); - checkSetupAndCreateRoute(); + checkSetupAndCreateRoute(this::fetchDataAndCreateRoute); } if (view == imageRoot) { imageRoot.setImageResource(R.drawable.pin); - checkSetupAndCreateRoute(); + checkSetupAndCreateRoute(this::fetchDataAndCreateRoute); } // 提出状況のクリック処理 if (view == submission) { - ArrayList submissionStudents = getSubmissionStudents(); - Intent toSubmission = new Intent(MainActivity.this, SubmissionActivity.class); - toSubmission.putParcelableArrayListExtra("submissionStudents", submissionStudents); - startActivity(toSubmission); + checkSetupAndCreateRoute(() -> { + ArrayList submissionStudents = getSubmissionStudents(); + Intent toSubmission = new Intent(MainActivity.this, SubmissionActivity.class); + toSubmission.putParcelableArrayListExtra("submissionStudents", submissionStudents); + startActivity(toSubmission); + }); } if (view == imageSubmission) { - ArrayList submissionStudents = getSubmissionStudents(); - Intent toSubmission = new Intent(MainActivity.this, SubmissionActivity.class); - toSubmission.putParcelableArrayListExtra("submissionStudents", submissionStudents); - startActivity(toSubmission); + checkSetupAndCreateRoute(() -> { + ArrayList submissionStudents = getSubmissionStudents(); + Intent toSubmission = new Intent(MainActivity.this, SubmissionActivity.class); + toSubmission.putParcelableArrayListExtra("submissionStudents", submissionStudents); + startActivity(toSubmission); + }); } } - //IDに関する処理 + //ID作成、表示に関する処理 private void showUUIDYesNoDialog() { firestoreReception_classIdDatabase = new FirestoreReception_classIdDatabase(); List classIdList = firestoreReception_classIdDatabase.getAllDocumentsFromClassIdDatabase(); AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setTitle("クラスID"); - builder.setMessage("あなたのクラスIDを表示/もしくは新規で作成しますか?"); + builder.setTitle("ID"); + builder.setMessage("あなたのIDを表示/もしくは新規で作成しますか?"); + //作成処理 builder.setPositiveButton("作成", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { classId = CreateUUID.generateUUID(classIdList); - // 生成されたクラスIDを表示するメソッド - showClassIdDialog("生成されたクラスID",classId); + // 生成されたIDを表示するメソッド + showClassIdDialog("生成されたID",classId); } }); + //表示処理 builder.setNegativeButton("表示", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { @@ -192,7 +198,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe int currentClassId = getCurrentClassIdFromRoom(); runOnUiThread(() -> { // 現在のクラスIDを表示するダイアログ - showClassIdDialog("現在のクラスID",currentClassId); + showClassIdDialog("現在のID",currentClassId); }); }); executor.shutdown(); @@ -214,7 +220,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe private void showClassIdDialog(String title, int classId) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(title); - builder.setMessage("クラスID: " + classId); + builder.setMessage("ID: " + classId); builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { @@ -229,26 +235,26 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe - //ルート作成の前チェックを行う処理 - private void checkSetupAndCreateRoute() { + //ルート作成、提出状況の遷移を行う前のチェックを行う処理 + private void checkSetupAndCreateRoute(Runnable onSetupComplete) { if (isClassIdSet()) { isSetupExists(classId).thenAccept(setupExists -> { if (setupExists) { - fetchDataAndCreateRoute(); + runOnUiThread(onSetupComplete); } else { runOnUiThread(() -> { - Toast.makeText(this, "先にセットアップを済ませてください", Toast.LENGTH_SHORT).show(); + Toast.makeText(this, "先にセットアップを済ませてください", Toast.LENGTH_LONG).show(); }); } }).exceptionally(ex -> { ex.printStackTrace(); runOnUiThread(() -> { - Toast.makeText(this, "エラーが発生しました", Toast.LENGTH_SHORT).show(); + Toast.makeText(this, "エラーが発生しました", Toast.LENGTH_LONG).show(); }); return null; }); } else { - Toast.makeText(this, "先にIDの作成を行ってください", Toast.LENGTH_SHORT).show(); + Toast.makeText(this, "先にIDの作成を行ってください", Toast.LENGTH_LONG).show(); } } // クラスIDが設定されているかどうかを判定