From 313ec4a57b6a89177576ccd2d2ed4bfc92c8c2c7 Mon Sep 17 00:00:00 2001 From: Alex <78383757+Lextical@users.noreply.github.com> Date: Sat, 4 Apr 2026 16:54:29 -0600 Subject: [PATCH] Added enter send message and login for andriod feilds --- .../petstoremobile/activities/MainActivity.java | 10 ++++++++++ .../petstoremobile/fragments/ChatFragment.java | 11 +++++++++++ android/app/src/main/res/layout/activity_main.xml | 1 + android/app/src/main/res/layout/fragment_chat.xml | 1 + 4 files changed, 23 insertions(+) diff --git a/android/app/src/main/java/com/example/petstoremobile/activities/MainActivity.java b/android/app/src/main/java/com/example/petstoremobile/activities/MainActivity.java index 94a51ac3..7615b27e 100644 --- a/android/app/src/main/java/com/example/petstoremobile/activities/MainActivity.java +++ b/android/app/src/main/java/com/example/petstoremobile/activities/MainActivity.java @@ -3,6 +3,7 @@ package com.example.petstoremobile.activities; import android.content.Intent; import android.os.Bundle; import android.util.Log; +import android.view.inputmethod.EditorInfo; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; @@ -69,6 +70,15 @@ public class MainActivity extends AppCompatActivity { //clear login status tvLoginStatus.setText(""); + // Set editor action listener for password field to login on when enter is pressed + etPassword.setOnEditorActionListener((v, actionId, event) -> { + if (actionId == EditorInfo.IME_ACTION_DONE || actionId == EditorInfo.IME_NULL) { + btnLogin.performClick(); + return true; + } + return false; + }); + //Set click listener for login button btnLogin.setOnClickListener(v -> { //Get username and password from text fields diff --git a/android/app/src/main/java/com/example/petstoremobile/fragments/ChatFragment.java b/android/app/src/main/java/com/example/petstoremobile/fragments/ChatFragment.java index f52d5ea6..47ec7f3f 100644 --- a/android/app/src/main/java/com/example/petstoremobile/fragments/ChatFragment.java +++ b/android/app/src/main/java/com/example/petstoremobile/fragments/ChatFragment.java @@ -8,6 +8,7 @@ import android.os.Bundle; import android.provider.OpenableColumns; import android.util.Log; import android.view.*; +import android.view.inputmethod.EditorInfo; import android.widget.*; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; @@ -121,6 +122,16 @@ public class ChatFragment extends Fragment implements ChatAdapter.OnChatClickLis ImageButton hamburger = view.findViewById(R.id.btnHamburger); hamburger.setOnClickListener(v -> drawerLayout.openDrawer(GravityCompat.START)); + + // Set editor action listener for message field to send when enter is pressed + etMessage.setOnEditorActionListener((v, actionId, event) -> { + if (actionId == EditorInfo.IME_ACTION_SEND || actionId == EditorInfo.IME_NULL) { + btnSend.performClick(); + return true; + } + return false; + }); + //When the send button is clicked check if there is an attachment and send using the correct helper function btnSend.setOnClickListener(v -> { if (pendingAttachmentUri != null) { diff --git a/android/app/src/main/res/layout/activity_main.xml b/android/app/src/main/res/layout/activity_main.xml index 9322e775..35692e3c 100644 --- a/android/app/src/main/res/layout/activity_main.xml +++ b/android/app/src/main/res/layout/activity_main.xml @@ -96,6 +96,7 @@ android:layout_height="wrap_content" android:hint="Enter password" android:inputType="textPassword" + android:imeOptions="actionDone" android:layout_marginBottom="24dp" android:textColor="@color/text_dark"/> diff --git a/android/app/src/main/res/layout/fragment_chat.xml b/android/app/src/main/res/layout/fragment_chat.xml index 786f53bc..4101f774 100644 --- a/android/app/src/main/res/layout/fragment_chat.xml +++ b/android/app/src/main/res/layout/fragment_chat.xml @@ -109,6 +109,7 @@ android:layout_weight="1" android:hint="Type a message..." android:inputType="text" + android:imeOptions="actionSend" android:layout_marginEnd="8dp" android:textColor="@color/text_dark"/>