diff --git a/app/src/main/java/com/example/childguard/HomeFragment.java b/app/src/main/java/com/example/childguard/HomeFragment.java index b7c8ce0..bcd6d86 100644 --- a/app/src/main/java/com/example/childguard/HomeFragment.java +++ b/app/src/main/java/com/example/childguard/HomeFragment.java @@ -3,7 +3,6 @@ package com.example.childguard; import static android.content.ContentValues.TAG; import android.content.SharedPreferences; -import android.graphics.Bitmap; import android.os.Bundle; import android.preference.PreferenceManager; import android.util.Log; @@ -12,7 +11,6 @@ import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.FrameLayout; -import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; @@ -89,102 +87,95 @@ public class HomeFragment extends Fragment { SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getActivity()); //QRコード印刷の処理 Button bt1 = view.findViewById(R.id.QRprinting); - bt1.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - //初回起動かを保存する変数 - boolean alreadySaved = preferences.getBoolean("alreadySaved", false); - //ボタン変数の宣言 - Button parent = view.findViewById(R.id.QRprinting); - Button born = view.findViewById(R.id.QRprinting); - //falseのときにFirebaseへの登録 - if (alreadySaved) { - Log.d("HomeFragment", "already printed"); - //画面遷移&ID受け渡し - Toast.makeText(getActivity(),"再印刷",Toast.LENGTH_SHORT).show(); - QrPrintFragment qrPrintFragment = new QrPrintFragment(); - replaceFragment(qrPrintFragment); - return; - } else Log.d("HomeFragment", "not printed yet"); // debug + bt1.setOnClickListener(v -> { + //初回起動かを保存する変数 + boolean alreadySaved = preferences.getBoolean("alreadySaved", false); + //ボタン変数の宣言 + Button parent = view.findViewById(R.id.QRprinting); + Button born = view.findViewById(R.id.QRprinting); + //falseのときにFirebaseへの登録 + if (alreadySaved) { + Log.d("HomeFragment", "already printed"); + //画面遷移&ID受け渡し + Toast.makeText(getActivity(),"再印刷",Toast.LENGTH_SHORT).show(); + QrPrintFragment qrPrintFragment = new QrPrintFragment(); + replaceFragment(qrPrintFragment); + return; + } else Log.d("HomeFragment", "not printed yet"); // debug - String valueParent = parent.getText().toString();//変数に文字列を代入 - String valueBorn = born.getText().toString();//変数に文字列を代入 - Map user = new HashMap<>();//mapの宣言 + String valueParent = parent.getText().toString();//変数に文字列を代入 + String valueBorn = born.getText().toString();//変数に文字列を代入 + Map user = new HashMap<>();//mapの宣言 - Log.d("HomeFragment", "onClick is called"); + Log.d("HomeFragment", "onClick is called"); - //mapに入れる - user.put("parent", valueParent); - user.put("born", valueBorn); - //新しいドキュメントにIDを作って追加 - db.collection("users") - .add(user) - .addOnSuccessListener(new OnSuccessListener() { - @Override - public void onSuccess(DocumentReference documentReference) { - //成功したら - //documentReference.getId()でID取得 - Log.d(TAG, "DocumentSnapshot added with ID: " + documentReference.getId()); - SharedPreferences.Editor e = preferences.edit(); - // キー"alreadySaved"の値をtrueにする - e.putBoolean("alreadySaved", true); - //確定処理 - e.apply(); - //画面遷移&ID受け渡し - str_key = "" + documentReference.getId(); - Toast.makeText(getActivity(),"初回登録",Toast.LENGTH_SHORT).show(); - QrPrintFragment qrPrintFragment = new QrPrintFragment(); - Bundle bundle = new Bundle(); - bundle.putString("STR_KEY",str_key); - //値を書き込む - qrPrintFragment.setArguments(bundle); - replaceFragment(qrPrintFragment); + //mapに入れる + user.put("parent", valueParent); + user.put("born", valueBorn); + //新しいドキュメントにIDを作って追加 + db.collection("users") + .add(user) + .addOnSuccessListener(new OnSuccessListener() { + @Override + public void onSuccess(DocumentReference documentReference) { + //成功したら + //documentReference.getId()でID取得 + Log.d(TAG, "DocumentSnapshot added with ID: " + documentReference.getId()); + SharedPreferences.Editor e = preferences.edit(); + // キー"alreadySaved"の値をtrueにする + e.putBoolean("alreadySaved", true); + //確定処理 + e.apply(); + //画面遷移&ID受け渡し + str_key = "" + documentReference.getId(); + Toast.makeText(getActivity(),"初回登録",Toast.LENGTH_SHORT).show(); + QrPrintFragment qrPrintFragment = new QrPrintFragment(); + Bundle bundle = new Bundle(); + bundle.putString("STR_KEY",str_key); + //値を書き込む + qrPrintFragment.setArguments(bundle); + replaceFragment(qrPrintFragment); - } - }) - .addOnFailureListener(new OnFailureListener() { - @Override - public void onFailure(@NonNull Exception e) { - //失敗したら - Log.w(TAG, "Error adding document", e); - } - }); + } + }) + .addOnFailureListener(new OnFailureListener() { + @Override + public void onFailure(@NonNull Exception e) { + //失敗したら + Log.w(TAG, "Error adding document", e); + } + }); - } }); //bluetooth設定ボタンの処理 Button bt2 = view.findViewById(R.id.Bluetooth_setup); - bt2.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - replaceFragment(new bluetooth_setupFragment()); - } - }); + bt2.setOnClickListener(v -> replaceFragment(new bluetooth_setupFragment())); return view; } - @Override - public void onResume() { - super.onResume(); - Log.d("HomeFragment", "onResume: called"); - TextView situationTextView = getView().findViewById(R.id.situation); - FrameLayout situation_bg = getView().findViewById(R.id.situation_bg); - updateInCarStatus(situationTextView, situation_bg); - } - public void updateInCarStatus(TextView situationTextView, FrameLayout situation_bg) { - SharedPreferences sharedPreferences = getActivity().getSharedPreferences("default", 0); - - Log.d("HomeFragment", "updateInCarStatus: " + sharedPreferences.getBoolean("inCar", false)); - if (sharedPreferences.getBoolean("inCar", false)) { - situationTextView.setText("\n降車状態"); - situation_bg.setBackground(ResourcesCompat.getDrawable(getResources(), R.drawable.frame_style, null)); - } else { - situationTextView.setText("\n乗車状態"); - situation_bg.setBackground(ResourcesCompat.getDrawable(getResources(), R.drawable.frame_style_orange, null)); - } - - } +// @Override +// public void onResume() { +// super.onResume(); +// Log.d("HomeFragment", "onResume: called"); +// Cargettingonandoff(); +// TextView situationTextView = getView().findViewById(R.id.situation); +// FrameLayout situation_bg = getView().findViewById(R.id.situation_bg); +// updateInCarStatus(situationTextView, situation_bg); + // } +// public void updateInCarStatus(TextView situationTextView, FrameLayout situation_bg) { +// SharedPreferences sharedPreferences = getActivity().getSharedPreferences("default", 0); +// +// Log.d("HomeFragment", "updateInCarStatus: " + sharedPreferences.getBoolean("inCar", false)); +// if (sharedPreferences.getBoolean("inCar", false)) { +// situationTextView.setText("\n降車状態"); +// situation_bg.setBackground(ResourcesCompat.getDrawable(getResources(), R.drawable.frame_style, null)); +// } else { +// situationTextView.setText("\n乗車状態"); +// situation_bg.setBackground(ResourcesCompat.getDrawable(getResources(), R.drawable.frame_style_orange, null)); +// } +// +// } //画面遷移メソッド private void replaceFragment(Fragment fragment) { @@ -199,4 +190,31 @@ public class HomeFragment extends Fragment { // フラグメントトランザクションをコミット transaction.commit(); } +// public void Cargettingonandoff() { +// //共有プリファレンス 全体の準備 +// SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getActivity()); +// //車の乗り降りを管理するtrue=乗車、false=降車 +// boolean zyoukouzyoutai = preferences.getBoolean("car", false); +// SharedPreferences.Editor e = preferences.edit(); +// String get_on = "\n乗車状態"; +// String get_off = "\n降車状態"; +// TextView tv = getView().findViewById(R.id.situation); +// FrameLayout fl = getView().findViewById(R.id.situation_bg); +// +// if (zyoukouzyoutai == true) { //乗降状態の判定 +// //降車状態にする +// fl.setBackground(ResourcesCompat.getDrawable(getResources(), R.drawable.frame_style, null)); +// tv.setText(get_off); +// e.putBoolean("car", false); +// e.apply(); +// } else { +// //乗車状態にする +// fl.setBackground(ResourcesCompat.getDrawable(getResources(), R.drawable.frame_style_orange, null)); +// tv.setText(get_on); +// e.putBoolean("car", true); +// e.apply(); +// } +// +// +// } } \ No newline at end of file diff --git a/app/src/main/java/com/example/childguard/MainActivity.java b/app/src/main/java/com/example/childguard/MainActivity.java index 9d01fb7..beac7a2 100644 --- a/app/src/main/java/com/example/childguard/MainActivity.java +++ b/app/src/main/java/com/example/childguard/MainActivity.java @@ -12,7 +12,9 @@ import android.app.NotificationManager; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothManager; import android.content.Context; +import android.content.SharedPreferences; import android.content.pm.PackageManager; +import android.graphics.Color; import android.os.Bundle; import android.os.Vibrator; @@ -24,10 +26,15 @@ import java.util.Date; import java.util.Random; import java.util.UUID; +import android.preference.PreferenceManager; import android.util.Log; +import android.widget.FrameLayout; +import android.widget.TextView; import android.widget.Toast; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; +import androidx.core.content.res.ResourcesCompat; + import com.google.firebase.firestore.DocumentReference; import com.google.firebase.firestore.DocumentSnapshot; import com.google.firebase.firestore.EventListener; @@ -40,7 +47,7 @@ public class MainActivity extends AppCompatActivity { BluetoothAdapter bluetoothAdapter; public static final String TAG = "InspirationQuote"; - private DocumentReference mDocRef = FirebaseFirestore.getInstance().document("users/q6t702C8nsXyehckByrr");//現在の位置を取得 + private DocumentReference mDocRef = FirebaseFirestore.getInstance().document("users/rrVGKi77MAemxvPZrktm");//現在の位置を取得 boolean flg = false; //↓日付を取得するやつ @@ -82,11 +89,11 @@ public class MainActivity extends AppCompatActivity { mDocRef.addSnapshotListener(this, new EventListener() { @Override public void onEvent(@Nullable DocumentSnapshot documentSnapshot, @Nullable FirebaseFirestoreException e) { - Log.d("nt","イベント開始"); + Log.d("nt", "イベント開始"); if (flg && documentSnapshot != null && documentSnapshot.exists()) { String parent = documentSnapshot.getString("parent"); - Log.d("nt","レスポンスを検知しました1"); + Log.d("nt", "レスポンスを検知しました1"); if (parent.equals("s")) { //通知のやつ↓ @@ -99,12 +106,12 @@ public class MainActivity extends AppCompatActivity { NotificationManager notificationManager = getSystemService(NotificationManager.class); notificationManager.createNotificationChannel(channel); //通知のやつ↑ - Log.d("nt","レスポンスを検知しました2"); - + Log.d("nt", "レスポンスを検知しました2"); notifyMain(); - } else if (e != null) { + } else { Log.w(TAG, "Got an exceptiion!", e); + Cargettingonandoff(); } } @@ -147,4 +154,33 @@ public class MainActivity extends AppCompatActivity { ActionBar actionBar = getSupportActionBar(); actionBar.setDisplayHomeAsUpEnabled(enableBackButton); } -} + + public void Cargettingonandoff() { + //共有プリファレンス 全体の準備 + SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); + //車の乗り降りを管理するtrue=乗車、false=降車 + boolean zyoukouzyoutai = preferences.getBoolean("car", false); + SharedPreferences.Editor e = preferences.edit(); + String get_on = "\n乗車状態"; + String get_off = "\n降車状態"; + setContentView(R.layout.fragment_home); + TextView tv = findViewById(R.id.situation); + FrameLayout fl = findViewById(R.id.situation_bg); + + if (zyoukouzyoutai == true) { //乗降状態の判定 + //降車状態にする + fl.setBackground(ResourcesCompat.getDrawable(getResources(), R.drawable.frame_style, null)); + tv.setText(get_off); + e.putBoolean("car", false); + e.apply(); + } else { + //乗車状態にする + fl.setBackground(ResourcesCompat.getDrawable(getResources(), R.drawable.frame_style_orange, null)); + tv.setText(get_on); + e.putBoolean("car", true); + e.apply(); + } + + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/childguard/QR.java b/app/src/main/java/com/example/childguard/QR.java index 1d4e862..1c9c094 100644 --- a/app/src/main/java/com/example/childguard/QR.java +++ b/app/src/main/java/com/example/childguard/QR.java @@ -1,21 +1,21 @@ -package com.example.childguard; - -import android.graphics.Color; -import android.graphics.drawable.Drawable; -import android.os.Bundle; -import android.widget.TextView; - -import androidx.appcompat.app.AppCompatActivity; - -public class QR extends AppCompatActivity { - String get_on="乗車状態"; - String get_off ="降車状態"; - TextView tv=findViewById(R.id.situation); - @Override - protected void onCreate(Bundle savedInstanceState){ - super.onCreate(savedInstanceState); - setContentView(R.layout.fragment_qr); - //多分いらないコード +//package com.example.childguard; +// +//import android.graphics.Color; +//import android.graphics.drawable.Drawable; +//import android.os.Bundle; +//import android.widget.TextView; +// +//import androidx.appcompat.app.AppCompatActivity; +// +//public class QR extends AppCompatActivity { +// String get_on="乗車状態"; +// String get_off ="降車状態"; +// TextView tv=findViewById(R.id.situation); +// @Override +// protected void onCreate(Bundle savedInstanceState){ +// super.onCreate(savedInstanceState); +// setContentView(R.layout.fragment_qr); +// //多分いらないコード // findViewById(R.id.camera).setOnClickListener( // v -> { // if(get_on.equals(tv.getText().toString())){ @@ -28,6 +28,6 @@ public class QR extends AppCompatActivity { // } // } // ); - } - -} +// } +// +//} diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 5377215..80425d1 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -8,7 +8,8 @@ android:layout_height="match_parent" android:orientation="vertical" android:background="@color/white" - tools:context=".MainActivity"> + tools:context=".MainActivity" + > + tools:context=".HomeFragment" + > + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.0"> + android:orientation="vertical"> +