From 6bd8a4ab81d5f75acf208be24022af037f29f7d0 Mon Sep 17 00:00:00 2001 From: it232115 Date: Fri, 28 Jun 2024 10:21:32 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=B3=E3=83=B3=E3=83=95=E3=83=AA=E3=82=AF?= =?UTF-8?q?=E3=83=88=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/example/oplogy/MainActivity.java | 46 +++++++++++++++++-- 1 file changed, 42 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/example/oplogy/MainActivity.java b/app/src/main/java/com/example/oplogy/MainActivity.java index 26ed954..0b895e6 100644 --- a/app/src/main/java/com/example/oplogy/MainActivity.java +++ b/app/src/main/java/com/example/oplogy/MainActivity.java @@ -85,7 +85,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe } -// クリック処理 + // クリック処理 @Override public void onClick(View view) { // ID作成のクリック処理 @@ -187,10 +187,26 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe // タスク2: Firestoreからデータを取得 executor.execute(() -> { - List myDataList = firestoreReception.getMyDataList(); + List myDataList = null; + while (myDataList == null) { + myDataList = firestoreReception.getMyDataList(); + try { + Thread.sleep(3000); + Log.d("MainActivity","myDataList"+ myDataList.size()); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } + Log.d("MainActivity","myDataList"+ myDataList.size()); CreateRoot createRoot = new CreateRoot(MainActivity.this); - createRoot.receiveData(myDataList); + Boolean notDuplicates=createRoot.receiveData(myDataList); latch.countDown(); + + if(notDuplicates){ + Log.d("MainActivity","スケジュール作成成功"); + }else{ + showErrorDialog(latch); + } }); new Thread(() -> { @@ -226,7 +242,25 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe }) .show(); } + public void showErrorDialog(CountDownLatch latch) { + new AlertDialog.Builder(MainActivity.this) + .setTitle("警告") + .setMessage("保護者の重複が重大でルート作成ができません。調整してください") + .setPositiveButton("OK", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + latch.countDown(); + } + }) + .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + } + }) + .show(); + } //Main private ArrayList getSubmissionStudents() { @@ -279,4 +313,8 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe } } -} \ No newline at end of file +} + + + +