diff --git a/app/src/main/java/com/example/tampopo_client/views/FriendActivity.java b/app/src/main/java/com/example/tampopo_client/views/FriendActivity.java index 362994f..f556cc1 100644 --- a/app/src/main/java/com/example/tampopo_client/views/FriendActivity.java +++ b/app/src/main/java/com/example/tampopo_client/views/FriendActivity.java @@ -1,4 +1,5 @@ package com.example.tampopo_client.views; + import android.app.Dialog; import android.content.Context; import android.content.Intent; @@ -14,18 +15,25 @@ import androidx.viewpager2.widget.ViewPager2; import com.example.tampopo_client.R; +import com.example.tampopo_client.Tampopo; import com.example.tampopo_client.views.MyFragmentAdapter; import com.google.android.material.tabs.TabLayout; import com.google.android.material.tabs.TabLayoutMediator; +import androidx.lifecycle.ViewModelProvider; +import com.example.tampopo_client.viewmodels.FriendSentRequestViewModel; public class FriendActivity extends AppCompatActivity { private ViewPager2 viewPager; private TabLayout tabLayout; private MyFragmentAdapter adapter; + // フィールド追加 + private FriendSentRequestViewModel friendSentRequestViewModel; + Tampopo tampopo; @Override protected void onCreate(Bundle savedInstanceState) { + tampopo = (Tampopo)getApplication(); super.onCreate(savedInstanceState); setContentView(R.layout.activity_friend); @@ -53,6 +61,9 @@ }); ImageButton openDialogButton = findViewById(R.id.buttonAdd); openDialogButton.setOnClickListener(v -> showAddFriendDialog(this)); + // onCreate内にViewModelの初期化を追加 + friendSentRequestViewModel = new ViewModelProvider(this).get(FriendSentRequestViewModel.class); + } public void showAddFriendDialog(Context context) { @@ -67,9 +78,22 @@ buttonClose.setOnClickListener(v -> dialog.dismiss()); buttonSearch.setOnClickListener(v -> { - String id = editFriendId.getText().toString(); - // TODO: IDを使って検索処理を行う - Toast.makeText(context, "検索: " + id, Toast.LENGTH_SHORT).show(); + String receiverId = editFriendId.getText().toString().trim(); + if (receiverId.isEmpty()) { + Toast.makeText(context, "IDを入力してください", Toast.LENGTH_SHORT).show(); + return; + } + + String senderId = tampopo.getUserId(); // TODO: 実際のIDに置き換え + String token = tampopo.getToken(); // TODO: 実際の認証トークンに置き換え + + friendSentRequestViewModel.sendFriendRequest(senderId, receiverId, token); + + // 成功/失敗メッセージをViewModelから受け取る + friendSentRequestViewModel.getOperationResult().observe(this, result -> { + Toast.makeText(context, result, Toast.LENGTH_SHORT).show(); + dialog.dismiss(); // 送信後にダイアログを閉じる + }); }); dialog.show();