diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index 40556a2..498ac9e 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -7,11 +7,11 @@ - + - + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index f1f4356..743778d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -10,26 +10,32 @@ + + - - + + + + + - + - - + + - + + diff --git a/app/src/main/java/com/example/nemophila/FriendActivity.java b/app/src/main/java/com/example/nemophila/FriendActivity.java index 89066d2..d611634 100644 --- a/app/src/main/java/com/example/nemophila/FriendActivity.java +++ b/app/src/main/java/com/example/nemophila/FriendActivity.java @@ -8,6 +8,8 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import android.app.AlertDialog; +import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; @@ -53,9 +55,19 @@ // getFriendsの通信が呼び出されて、フレンドの一覧をfriendsDatasetに格納し、Adapterにセットする FriendActivityAdapter adapter = new FriendActivityAdapter(friendsDataset) { @Override - void onItemClick(View view, int position, FriendDataModel friend) { - Toast.makeText(FriendActivity.this, friend.getName(), Toast.LENGTH_SHORT).show(); -// friendViewModel.deleteFriend(myUid, friend.getId(), myToken); + void onDeleteClick(View view, int position, FriendDataModel friend) { + new AlertDialog.Builder(FriendActivity.this) + .setTitle("フレンドから" + friend.getName() + "を削除しますか?") + .setPositiveButton("OK", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + Toast.makeText(FriendActivity.this, friend.getName(), Toast.LENGTH_SHORT).show(); +// friendViewModel.deleteFriend(myUid, friend.getId(), myToken); + } + }) + .setNegativeButton("キャンセル", null) + .create() + .show(); } }; friendViewModel.getFriends(myUid); // 自身のフレンドの一覧を取得するメソッドを呼び出す @@ -89,7 +101,7 @@ // ----------- RecyclerView用の内部クラス ------------// // Adapter - public class FriendActivityAdapter extends RecyclerView.Adapter { + abstract public class FriendActivityAdapter extends RecyclerView.Adapter { private List friendDatas; public FriendActivityAdapter(List friendDatas) { @@ -114,7 +126,7 @@ public void onClick(View v) { int position = vh.getBindingAdapterPosition(); // 処理はonItemClick()に丸投げ - onItemClick(v, position, friendDatas.get(position)); + onDeleteClick(v, position, friendDatas.get(position)); } }); @@ -132,9 +144,7 @@ return friendDatas.size(); } - void onItemClick(View view, int position, FriendDataModel friend) { - // このメソッドをActivity内でオーバーライドして、クリックイベントの処理を設定する - } + abstract void onDeleteClick(View view, int position, FriendDataModel friend); } // ViewHolder diff --git a/app/src/main/java/com/example/nemophila/LoginActivity.java b/app/src/main/java/com/example/nemophila/LoginActivity.java index 18169eb..033fa07 100644 --- a/app/src/main/java/com/example/nemophila/LoginActivity.java +++ b/app/src/main/java/com/example/nemophila/LoginActivity.java @@ -35,7 +35,7 @@ nemophila = (Nemophila) this.getApplication(); //Nemophilaにtokenとuidがある場合ログイン画面をスキップ if ((nemophila.getUid() != null) && (nemophila.getToken() != null)){ - Intent intent = new Intent(LoginActivity.this,MainActivity.class); + Intent intent = new Intent(LoginActivity.this,MapsActivity.class); startActivity(intent); return; } @@ -72,7 +72,7 @@ nemophila.setToken(response.body().getToken()); //mainに画面遷移 - Intent intent = new Intent(LoginActivity.this,MainActivity.class); + Intent intent = new Intent(LoginActivity.this,MapsActivity.class); startActivity(intent); } else { System.out.println("通信可能:changeBelongsAndMaster: " + response.code()); diff --git a/app/src/main/java/com/example/nemophila/Nemophila.java b/app/src/main/java/com/example/nemophila/Nemophila.java index b48eb3c..37d9e2b 100644 --- a/app/src/main/java/com/example/nemophila/Nemophila.java +++ b/app/src/main/java/com/example/nemophila/Nemophila.java @@ -11,8 +11,6 @@ import java.util.HashSet; public class Nemophila extends Application { - private final int MAX_FILTER = 5; - //アカウントのデータ private String name; private String uid; @@ -32,6 +30,7 @@ //フィルターのデータ private HashSet selectGenres = new HashSet<>(); private HashSet selectFriends = new HashSet<>(); + private HashSet favoriteFriends = new HashSet<>(); //Account関連のGetter public String getName() { @@ -100,6 +99,13 @@ public HashSet getSelectFriends() { return selectFriends; } + public HashSet getFavoriteFriends() { + if(favoriteFriends.isEmpty()){ + SharedPreferences preferences = getSharedPreferences("prefData", MODE_PRIVATE); + favoriteFriends = (HashSet) preferences.getStringSet("favoriteFriends", new HashSet<>()); + } + return new HashSet<>(favoriteFriends); + } //Setter public void setName(String name) { @@ -161,6 +167,12 @@ public void setSelectFriends(String selectFriend) { this.selectFriends.add(selectFriend); } + public void setFavoriteFriends(String favoriteFriend) { + SharedPreferences preferences = getSharedPreferences("prefData", MODE_PRIVATE); + SharedPreferences.Editor editor = preferences.edit(); + editor.putStringSet("favoriteFriends", favoriteFriends); + this.favoriteFriends.add(favoriteFriend); + } //フィルターを取り除く public void removeSelectGenres(String selectGenre){ @@ -169,4 +181,7 @@ public void removeSelectFriends(String selectFriend) { this.selectFriends.remove(selectFriend); } + public void removeFavoriteFriends(String favoriteFriend){ + this.selectFriends.remove(favoriteFriend); + } } diff --git a/app/src/main/java/com/example/nemophila/PostActivity.java b/app/src/main/java/com/example/nemophila/PostActivity.java index cf0b6b2..fb9ed9b 100644 --- a/app/src/main/java/com/example/nemophila/PostActivity.java +++ b/app/src/main/java/com/example/nemophila/PostActivity.java @@ -6,6 +6,7 @@ import android.content.Intent; import android.os.Bundle; +import android.provider.MediaStore; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; @@ -73,7 +74,7 @@ nemophila.setDummyShop(null); nemophila.setCurrentShop(null); - Intent intent = new Intent(getApplication(), MainActivity.class); + Intent intent = new Intent(getApplication(), MapsActivity.class); startActivity(intent); } }); @@ -106,7 +107,7 @@ nemophila.setDummyShop(null); nemophila.setCurrentShop(null); //画面遷移 - Intent intent = new Intent(getApplication(), MainActivity.class); + Intent intent = new Intent(getApplication(), MapsActivity.class); startActivity(intent); } }); @@ -159,18 +160,53 @@ }); - //コメント入力 + //製作途中 +// +// Intent intent = new Intent(MediaStore.AC); +// intent.setType("image/*"); +// +// Button selectPictureButton = (Button)findViewById(R.id.selectpicturebutton); +// selectPictureButton.setOnClickListener(new View.OnClickListener(){ +// public void onClick(View v) { +//// 画像選択(3枚) +// +// intent.setAction(Intent.ACTION_OPEN_DOCUMENT); +// intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true); +// String title = "Select multiple images"; +// Intent chooser = Intent.createChooser(intent, title); +// startActivityForResult(chooser, REQ_CODE_CHOOSE_FILES_URI); +// } +// }); +// +// public void onActivityResult(int requestCode, int resultCode, final Intent data) { +// super.onActivityResult(requestCode, resultCode, intent); +// +// if (resultCode != Activity.RESULT_OK) { +// // Handle error +// return; +// } +// +// switch(requestCode) { +// case REQUEST_PHOTO_PICKER_SINGLE_SELECT: +// // Get photo picker response for single select. +// Uri currentUri = data.getData(); +// +// // Do stuff with the photo/video URI. +// return; +// case REQUEST_PHOTO_PICKER_MULTI_SELECT: +// // Get photo picker response for multi select +// for (int i = 0; i < data.getClipData().getItemCount(); i++) { +// Uri currentUri = data.getClipData().getItemAt(i).getUri(); +// +// // Do stuff with each photo/video URI. +// } +// return; +// } +// } +// +// +// - Button selectPictureButton = (Button)findViewById(R.id.selectpicturebutton); - selectPictureButton.setOnClickListener(new View.OnClickListener(){ - public void onClick(View v) { - //画像選択(3枚) -// final int maxNumPhotosAndVideos = 10; -// Intent intent = new Intent(MediaStore.ACTION_PICK_IMAGES); -// intent.putExtra(MediaStore.EXTRA_PICK_IMAGES_MAX, maxNumPhotosAndVideos); -// startActivityForResult(intent, PHOTO_PICKER_MULTI_SELECT_REQUEST_CODE); - } - }); //投稿ボタンの処理 @@ -206,7 +242,7 @@ nemophila.setDummyShop(null); nemophila.setCurrentShop(null); - Intent intent = new Intent(getApplication(), MainActivity.class); + Intent intent = new Intent(getApplication(), MapsActivity.class); startActivity(intent); } } diff --git a/app/src/main/java/com/example/nemophila/ShopActivity.java b/app/src/main/java/com/example/nemophila/ShopActivity.java index b99788f..1f155ee 100644 --- a/app/src/main/java/com/example/nemophila/ShopActivity.java +++ b/app/src/main/java/com/example/nemophila/ShopActivity.java @@ -72,7 +72,7 @@ Button returnButton = (Button)findViewById(R.id.shopAcReturnButton); returnButton.setOnClickListener(new View.OnClickListener(){ public void onClick(View v){ - Intent intent = new Intent(getApplication(), MainActivity.class); + Intent intent = new Intent(getApplication(), MapsActivity.class); startActivity(intent); } }); diff --git a/app/src/main/java/com/example/nemophila/ShopCreateActivity.java b/app/src/main/java/com/example/nemophila/ShopCreateActivity.java index c6d2a90..aa4a9d4 100644 --- a/app/src/main/java/com/example/nemophila/ShopCreateActivity.java +++ b/app/src/main/java/com/example/nemophila/ShopCreateActivity.java @@ -55,7 +55,7 @@ Button cancelButton = findViewById(R.id.buttonCancel); cancelButton.setOnClickListener(v -> { cancelButton.setEnabled(false); - Intent intent = new Intent(getApplication(), MainActivity.class); + Intent intent = new Intent(getApplication(), MapsActivity.class); startActivity(intent); }); } diff --git a/app/src/main/java/com/example/nemophila/SignUpActivity.java b/app/src/main/java/com/example/nemophila/SignUpActivity.java index b867654..e561fe7 100644 --- a/app/src/main/java/com/example/nemophila/SignUpActivity.java +++ b/app/src/main/java/com/example/nemophila/SignUpActivity.java @@ -36,7 +36,7 @@ //Nemophilaにtokenとuidがある場合サインアップ画面をスキップ if ((nemophila.getUid() != null) && (nemophila.getToken() != null)){ - Intent intent = new Intent(SignUpActivity.this,MainActivity.class); + Intent intent = new Intent(SignUpActivity.this,MapsActivity.class); startActivity(intent); System.out.println("サインアップ処理をスキップ"); return; @@ -75,7 +75,7 @@ nemophila.setToken(response.body().getToken()); //mainに画面遷移 - Intent intent = new Intent(SignUpActivity.this, MainActivity.class); + Intent intent = new Intent(SignUpActivity.this, MapsActivity.class); startActivity(intent); } else { System.out.println("通信可能:changeBelongsAndMaster: " + response.code()); diff --git a/app/src/main/res/layout/activity_sign_up.xml b/app/src/main/res/layout/activity_sign_up.xml index 261ee26..73a479a 100644 --- a/app/src/main/res/layout/activity_sign_up.xml +++ b/app/src/main/res/layout/activity_sign_up.xml @@ -41,10 +41,10 @@ android:id="@+id/SignUpButton" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginTop="144dp" + android:layout_marginTop="4dp" android:text="@string/make_a_new_account" app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintHorizontal_bias="0.498" + app:layout_constraintHorizontal_bias="0.497" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/editTextTextNewPassword" /> @@ -52,8 +52,13 @@ android:id="@+id/LoginTrans" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_marginTop="72dp" + android:background="@color/teal_200" + android:backgroundTint="@color/teal_200" android:text="I have an Account" app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="0.497" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@+id/SignUpButton" /> + app:layout_constraintTop_toBottomOf="@+id/SignUpButton" + app:rippleColor="#3F51B5" /> \ No newline at end of file diff --git a/app/src/main/res/layout/layout_friends_activity.xml b/app/src/main/res/layout/layout_friends_activity.xml index d891315..7635bd4 100644 --- a/app/src/main/res/layout/layout_friends_activity.xml +++ b/app/src/main/res/layout/layout_friends_activity.xml @@ -25,4 +25,5 @@ android:layout_height="wrap_content" android:layout_weight="1" android:text="削除" /> + \ No newline at end of file