diff --git a/app/src/main/java/com/example/tampopo_client/views/FriendIconView.java b/app/src/main/java/com/example/tampopo_client/views/FriendIconView.java index 696407e..577be36 100644 --- a/app/src/main/java/com/example/tampopo_client/views/FriendIconView.java +++ b/app/src/main/java/com/example/tampopo_client/views/FriendIconView.java @@ -114,20 +114,19 @@ //iconを押したらチャットを始めることができる(チャットのダイアログができたらFriendActivityを変更) mFriendIcon.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { + //通話に出る場合 if (chatNotification) { - Context ctx = getContext(); - Intent intent = new Intent(ctx, ChatActivity.class); - ctx.startActivity(intent); - mFriendChatNotification.setVisibility(View.GONE); - } else { - // 通話をかける場合 + answeringCallDialog(getContext(), FriendIconView.this.friendUserId); + } // 通話をかける場合 + else { showCallRequestDialog(getContext(), FriendIconView.this.friendUserId); } } }); } - public void showCallRequestDialog(Context context, String fromUserName) { + //通話に出る際のダイアログの表示 + public void answeringCallDialog(Context context, String fromUserName){ Dialog dialog = new Dialog(context); dialog.setContentView(R.layout.dialog_chat_receved); dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent); @@ -135,13 +134,14 @@ // メッセージテキスト TextView tvMessage = dialog.findViewById(R.id.tv_message); - tvMessage.setText(fromUserName + " さんと通話を開始しますか?"); + tvMessage.setText(fromUserName + " さんから通話リクエストが届いています。\n通話を開始しますか?"); // 開始ボタン Button btnStart = dialog.findViewById(R.id.btn_start); btnStart.setOnClickListener(v -> { Toast.makeText(context, "通話を開始しました", Toast.LENGTH_SHORT).show(); dialog.dismiss(); + mFriendChatNotification.setVisibility(View.GONE);//赤丸を消す // 通話を開始する Tampopo tampopo = (Tampopo) ((MainActivity) getContext()).getApplication(); @@ -163,12 +163,52 @@ dialog.show(); } + //通話をかける際のダイアログの表示 + public void showCallRequestDialog(Context context, String toUserName) { + Dialog dialog = new Dialog(context); + dialog.setContentView(R.layout.dialog_chat_receved); + dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent); + dialog.getWindow().setDimAmount(0.5f); + + // メッセージテキスト + TextView tvMessage = dialog.findViewById(R.id.tv_message); + tvMessage.setText(toUserName + " さんと通話を開始しますか?"); + + // 開始ボタン + Button btnStart = dialog.findViewById(R.id.btn_start); + btnStart.setOnClickListener(v -> { + Toast.makeText(context, "通話を開始しました", Toast.LENGTH_SHORT).show(); + dialog.dismiss(); + mFriendChatNotification.setVisibility(View.VISIBLE);//赤丸を表示 + + // 通話を開始する + Tampopo tampopo = (Tampopo) ((MainActivity) getContext()).getApplication(); +// String chatroomId = chatViewModel.enterChatroom(tampopo.getUserId(), friendUserId, tampopo.getToken()); + + // ChatActivityに画面遷移する + Context ctx = getContext(); + Intent intent = new Intent(ctx, ChatActivity.class); + intent.putExtra("friendId", friendUserId); +// intent.putExtra("chatroomId", chatroomId); + + ctx.startActivity(intent); + }); + + // キャンセルボタン + Button btnCancel = dialog.findViewById(R.id.btn_cancel); + btnCancel.setOnClickListener(v -> dialog.dismiss()); + + dialog.show(); + } + + //変更されたニックネームをセット public void setNickname(String nickname) { if (mFriendNickname != null) { mFriendNickname.setText(nickname); } } + //アクティビティの背景(吹き出し) public void setImageResource(int resId) { if (mFriendIcon != null) { mFriendIcon.setImageResource(resId); @@ -179,6 +219,7 @@ return mFriendIcon; } + //アクティビティをセット public void setComment(String comment) { if (mFriendComment != null) { int comment_length = comment.length();