0% found this document useful (0 votes)
13 views20 pages

Task 14

Task 15
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views20 pages

Task 14

Task 15
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

SosFrafment.

java
package com.example.myapplication.Fragment;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;

import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentTransaction;

import android.speech.RecognizerIntent;
import android.speech.tts.TextToSpeech;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;

import com.denzcoskun.imageslider.ImageSlider;
import com.denzcoskun.imageslider.constants.AnimationTypes;
import com.denzcoskun.imageslider.constants.ScaleTypes;
import com.denzcoskun.imageslider.interfaces.ItemClickListener;
import com.denzcoskun.imageslider.models.SlideModel;
import com.example.myapplication.R;

import java.util.ArrayList;
import java.util.Locale;

public class SosFragment extends Fragment {


ImageSlider imageSlider;
ImageView ivMic;
EditText etText;

private static final int REQUEST_CODE_SPEECH_INPUT = 1;


private TextToSpeech textToSpeech;

// Define the languages we want to support


private static final String LANG_ENGLISH_RECOGNITION = "en-IN"; //
English (India)
private static final String LANG_MARATHI_RECOGNITION = "mr-IN"; //
Marathi (India)
private static final String LANG_HINDI_RECOGNITION = "hi-IN"; //
Hindi (India)

private static final Locale LOCALE_ENGLISH_TTS = Locale.ENGLISH; // Or


new Locale("en", "IN")
private static final Locale LOCALE_MARATHI_TTS = new Locale("mr",
"IN");
private static final Locale LOCALE_HINDI_TTS = new Locale("hi", "IN");

private String currentRecognitionLanguage = LANG_ENGLISH_RECOGNITION;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_sos, container,
false);
etText = view.findViewById(R.id.etSosText);
ivMic = view.findViewById(R.id.ivSosMic);

// Initialize TextToSpeech once


textToSpeech = new TextToSpeech(getActivity(), new
TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
Toast.makeText(getActivity(), "TTS Engine
initialized.", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getActivity(), "TTS Initialization
failed!", Toast.LENGTH_SHORT).show();
}
}
});

ivMic.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
promptSpeechInput(currentRecognitionLanguage); // Start
with the default recognition language
}
});

// Image slider setup (unchanged)


imageSlider = view.findViewById(R.id.isSosImageSlider);
ArrayList<SlideModel> slideModelArrayList = new ArrayList<>();
slideModelArrayList.add(new SlideModel(R.drawable.women1,
"Freedom", ScaleTypes.CENTER_CROP));
slideModelArrayList.add(new SlideModel(R.drawable.women2, "Sos",
ScaleTypes.CENTER_CROP));
slideModelArrayList.add(new SlideModel(R.drawable.women3, "Be
Strong", ScaleTypes.CENTER_CROP));

imageSlider.setImageList(slideModelArrayList);
imageSlider.setSlideAnimation(AnimationTypes.FLIP_VERTICAL);
imageSlider.setItemClickListener(new ItemClickListener() {
@Override
public void onItemSelected(int i) {
if (getActivity() != null) {
FragmentTransaction transaction =
getActivity().getSupportFragmentManager().beginTransaction();
Fragment selectedFragment = null;

switch (i) {
case 0:
selectedFragment = new AFragment();
break;
case 1:
selectedFragment = new BFragment();
break;
case 2:
selectedFragment = new CFragment();
break;
default:
Toast.makeText(getActivity(), "No fragment",
Toast.LENGTH_SHORT).show();
}
if (selectedFragment != null) {
transaction.replace(R.id.homeframelayout,
selectedFragment);
transaction.addToBackStack("image_fragment");
transaction.commit();
}
}
}

@Override
public void doubleClick(int i) {
// Not implemented
}
});

Toast.makeText(getActivity(), "SOS Clicked!",


Toast.LENGTH_SHORT).show();
return view;
}

private void promptSpeechInput(String languageCode) {


Intent intent = new
Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, languageCode);
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speak Now (" +
languageCode + ")"); // Indicate language in prompt
try {
startActivityForResult(intent, REQUEST_CODE_SPEECH_INPUT);
} catch (Exception e) {
Toast.makeText(getActivity(), "Speech recognition not available
for " + languageCode + ": " + e.toString(), Toast.LENGTH_LONG).show();
}
}

@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable
Intent data) {
super.onActivityResult(requestCode, resultCode, data);

if (requestCode == REQUEST_CODE_SPEECH_INPUT) {
if (resultCode == Activity.RESULT_OK && data != null) {
ArrayList<String> result =
data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
if (result != null && !result.isEmpty()) {
String spokenText = result.get(0);
etText.setText(spokenText);

speakTextWithTTS(spokenText, LOCALE_ENGLISH_TTS,
"English");
// Add a small delay for sequential speaking to be
noticeable
etText.postDelayed(() -> speakTextWithTTS(spokenText,
LOCALE_MARATHI_TTS, "Marathi"), 2000);
etText.postDelayed(() -> speakTextWithTTS(spokenText,
LOCALE_HINDI_TTS, "Hindi"), 4000);

}
} else if (resultCode == Activity.RESULT_CANCELED) {
Toast.makeText(getActivity(), "Speech input cancelled.",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getActivity(), "Speech input failed or no
data.", Toast.LENGTH_SHORT).show();
}
}
}

private void speakTextWithTTS(String text, Locale locale, String


languageName) {
if (textToSpeech != null) {
int result = textToSpeech.setLanguage(locale);
if (result == TextToSpeech.LANG_MISSING_DATA || result ==
TextToSpeech.LANG_NOT_SUPPORTED) {
Toast.makeText(getActivity(), "TTS: " + languageName + "
language data is missing or not supported. Cannot speak '" + text + "'.",
Toast.LENGTH_LONG).show();
} else {
textToSpeech.speak(text, TextToSpeech.QUEUE_ADD, null,
null); // Use QUEUE_ADD for sequential speaking
Toast.makeText(getActivity(), "Speaking in " +
languageName, Toast.LENGTH_SHORT).show();
}
}
}

@Override
public void onDestroy() {
if (textToSpeech != null) {
textToSpeech.stop();
textToSpeech.shutdown();
}
super.onDestroy();
}
}

fragment_sos.xml
package com.example.myapplication.Fragment;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;

import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentTransaction;

import android.speech.RecognizerIntent;
import android.speech.tts.TextToSpeech;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;
import com.denzcoskun.imageslider.ImageSlider;
import com.denzcoskun.imageslider.constants.AnimationTypes;
import com.denzcoskun.imageslider.constants.ScaleTypes;
import com.denzcoskun.imageslider.interfaces.ItemClickListener;
import com.denzcoskun.imageslider.models.SlideModel;
import com.example.myapplication.R;

import java.util.ArrayList;
import java.util.Locale;

public class SosFragment extends Fragment {


ImageSlider imageSlider;
ImageView ivMic;
EditText etText;

private static final int REQUEST_CODE_SPEECH_INPUT = 1;


private TextToSpeech textToSpeech;

// Define the languages we want to support


private static final String LANG_ENGLISH_RECOGNITION = "en-IN"; //
English (India)
private static final String LANG_MARATHI_RECOGNITION = "mr-IN"; //
Marathi (India)
private static final String LANG_HINDI_RECOGNITION = "hi-IN"; //
Hindi (India)

private static final Locale LOCALE_ENGLISH_TTS = Locale.ENGLISH; // Or


new Locale("en", "IN")
private static final Locale LOCALE_MARATHI_TTS = new Locale("mr",
"IN");
private static final Locale LOCALE_HINDI_TTS = new Locale("hi", "IN");

private String currentRecognitionLanguage = LANG_ENGLISH_RECOGNITION;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_sos, container,
false);

etText = view.findViewById(R.id.etSosText);
ivMic = view.findViewById(R.id.ivSosMic);

// Initialize TextToSpeech once


textToSpeech = new TextToSpeech(getActivity(), new
TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
Toast.makeText(getActivity(), "TTS Engine
initialized.", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getActivity(), "TTS Initialization
failed!", Toast.LENGTH_SHORT).show();
}
}
});

ivMic.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
promptSpeechInput(currentRecognitionLanguage); // Start
with the default recognition language
}
});

// Image slider setup (unchanged)


imageSlider = view.findViewById(R.id.isSosImageSlider);
ArrayList<SlideModel> slideModelArrayList = new ArrayList<>();
slideModelArrayList.add(new SlideModel(R.drawable.women1,
"Freedom", ScaleTypes.CENTER_CROP));
slideModelArrayList.add(new SlideModel(R.drawable.women2, "Sos",
ScaleTypes.CENTER_CROP));
slideModelArrayList.add(new SlideModel(R.drawable.women3, "Be
Strong", ScaleTypes.CENTER_CROP));

imageSlider.setImageList(slideModelArrayList);
imageSlider.setSlideAnimation(AnimationTypes.FLIP_VERTICAL);
imageSlider.setItemClickListener(new ItemClickListener() {
@Override
public void onItemSelected(int i) {
if (getActivity() != null) {
FragmentTransaction transaction =
getActivity().getSupportFragmentManager().beginTransaction();
Fragment selectedFragment = null;

switch (i) {
case 0:
selectedFragment = new AFragment();
break;
case 1:
selectedFragment = new BFragment();
break;
case 2:
selectedFragment = new CFragment();
break;
default:
Toast.makeText(getActivity(), "No fragment",
Toast.LENGTH_SHORT).show();
}
if (selectedFragment != null) {
transaction.replace(R.id.homeframelayout,
selectedFragment);
transaction.addToBackStack("image_fragment");
transaction.commit();
}
}
}

@Override
public void doubleClick(int i) {
// Not implemented
}
});

Toast.makeText(getActivity(), "SOS Clicked!",


Toast.LENGTH_SHORT).show();
return view;
}

private void promptSpeechInput(String languageCode) {


Intent intent = new
Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, languageCode);
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speak Now (" +
languageCode + ")"); // Indicate language in prompt
try {
startActivityForResult(intent, REQUEST_CODE_SPEECH_INPUT);
} catch (Exception e) {
Toast.makeText(getActivity(), "Speech recognition not available
for " + languageCode + ": " + e.toString(), Toast.LENGTH_LONG).show();
}
}

@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable
Intent data) {
super.onActivityResult(requestCode, resultCode, data);

if (requestCode == REQUEST_CODE_SPEECH_INPUT) {
if (resultCode == Activity.RESULT_OK && data != null) {
ArrayList<String> result =
data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
if (result != null && !result.isEmpty()) {
String spokenText = result.get(0);
etText.setText(spokenText);

speakTextWithTTS(spokenText, LOCALE_ENGLISH_TTS,
"English");
// Add a small delay for sequential speaking to be
noticeable
etText.postDelayed(() -> speakTextWithTTS(spokenText,
LOCALE_MARATHI_TTS, "Marathi"), 2000);
etText.postDelayed(() -> speakTextWithTTS(spokenText,
LOCALE_HINDI_TTS, "Hindi"), 4000);

}
} else if (resultCode == Activity.RESULT_CANCELED) {
Toast.makeText(getActivity(), "Speech input cancelled.",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getActivity(), "Speech input failed or no
data.", Toast.LENGTH_SHORT).show();
}
}
}

private void speakTextWithTTS(String text, Locale locale, String


languageName) {
if (textToSpeech != null) {
int result = textToSpeech.setLanguage(locale);
if (result == TextToSpeech.LANG_MISSING_DATA || result ==
TextToSpeech.LANG_NOT_SUPPORTED) {
Toast.makeText(getActivity(), "TTS: " + languageName + "
language data is missing or not supported. Cannot speak '" + text + "'.",
Toast.LENGTH_LONG).show();
} else {
textToSpeech.speak(text, TextToSpeech.QUEUE_ADD, null,
null); // Use QUEUE_ADD for sequential speaking
Toast.makeText(getActivity(), "Speaking in " +
languageName, Toast.LENGTH_SHORT).show();
}
}
}

@Override
public void onDestroy() {
if (textToSpeech != null) {
textToSpeech.stop();
textToSpeech.shutdown();
}
super.onDestroy();
}
}

fragment_chats.xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="#FFFFFF">

<LinearLayout
android:id="@+id/chats_parent_container"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<SearchView
android:id="@+id/svChatSearchView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:queryHint="Search chats..."
android:iconifiedByDefault="false"
android:layout_margin="8dp"
android:background="@drawable/bg_search_view"
android:elevation="2dp"/>

<LinearLayout
android:id="@+id/chat_entry_you"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="12dp"
android:background="#F2F2F2"
android:elevation="2dp">

<androidx.cardview.widget.CardView
android:id="@+id/chatFragmentYouProfile"
android:layout_width="50dp"
android:layout_height="50dp"
app:cardCornerRadius="25dp"
android:elevation="8dp">

<ImageView
android:layout_width="60dp"
android:layout_height="60dp"
android:scaleType="centerCrop"
android:src="@drawable/pratiksha" />
</androidx.cardview.widget.CardView>

<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="12dp">

<TextView
android:id="@+id/chat_name_you"
android:text="+91 7620254303 (You)"
android:textStyle="bold"
android:textSize="16sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:text="Message Yourself"
android:textSize="14sp"
android:textColor="#888888"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>

<TextView
android:text="1:54 pm"
android:textSize="12sp"
android:textColor="#999999"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical" />

<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/pin"
android:layout_marginStart="8dp"
android:layout_gravity="center_vertical" />
</LinearLayout>

<LinearLayout
android:id="@+id/chat_entry_papa"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="12dp"
android:background="#F2F2F2"
android:elevation="2dp">

<androidx.cardview.widget.CardView
android:layout_width="50dp"
android:layout_height="50dp"
app:cardCornerRadius="25dp"
android:elevation="8dp">

<ImageView
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@drawable/papa"
android:scaleType="centerCrop"/>
</androidx.cardview.widget.CardView>

<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="12dp">

<TextView
android:id="@+id/chat_name_papa"
android:text="Papa"
android:textStyle="bold"
android:textSize="16sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:text="Thank You!"
android:textSize="14sp"
android:textColor="#888888"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>

<TextView
android:text="19/05/25"
android:textSize="12sp"
android:textColor="#999999"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical" />

<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/pin"
android:layout_marginStart="8dp"
android:layout_gravity="center_vertical" />
</LinearLayout>

<LinearLayout
android:id="@+id/chat_entry_bhaiya"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="12dp"
android:background="#F2F2F2"
android:elevation="2dp">

<androidx.cardview.widget.CardView
android:layout_width="50dp"
android:layout_height="50dp"
app:cardCornerRadius="25dp"
android:elevation="8dp">
<ImageView
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@drawable/bhaiya"
android:scaleType="centerCrop"/>
</androidx.cardview.widget.CardView>

<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="12dp">

<TextView
android:id="@+id/chat_name_bhaiya"
android:text="Bhaiya"
android:textStyle="bold"
android:textSize="16sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:text="Hello!"
android:textSize="14sp"
android:textColor="#888888"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>

<TextView
android:text="09:15 AM"
android:textSize="12sp"
android:textColor="#999999"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical" />

<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/pin"
android:layout_marginStart="8dp"
android:layout_gravity="center_vertical" />
</LinearLayout>

<LinearLayout
android:id="@+id/chat_entry_rutuja"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="12dp"
android:background="#F2F2F2"
android:elevation="2dp">

<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/photo"
android:scaleType="centerCrop"/>

<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="12dp">

<TextView
android:id="@+id/chat_name_rutuja"
android:text="Rutuja"
android:textStyle="bold"
android:textSize="16sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:text="Ok"
android:textSize="14sp"
android:textColor="#888888"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>

<TextView
android:text="1:08 pm"
android:textSize="12sp"
android:textColor="#999999"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"/>
</LinearLayout>

<LinearLayout
android:id="@+id/chat_entry_gayatri"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="12dp"
android:background="#F2F2F2"
android:elevation="2dp">

<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/photo"
android:scaleType="centerCrop"/>

<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="12dp">

<TextView
android:id="@+id/chat_name_gayatri"
android:text="Gayatri"
android:textStyle="bold"
android:textSize="16sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:text="Br"
android:textSize="14sp"
android:textColor="#888888"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>

<TextView
android:text="1:01 pm"
android:textSize="12sp"
android:textColor="#999999"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"/>
</LinearLayout>

<LinearLayout
android:id="@+id/chat_entry_industrial_training"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="12dp"
android:background="#F2F2F2"
android:elevation="2dp">

<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/community"
android:scaleType="centerCrop"/>

<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="12dp">

<TextView
android:id="@+id/chat_name_industrial_training"
android:text="12th Week Industrial Training/Int..."
android:textStyle="bold"
android:textSize="16sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:text="KND Industrial Training 200 Marks
codeisLife"
android:textSize="14sp"
android:textColor="#888888"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>

<LinearLayout
android:id="@+id/chat_entry_samiksha"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="12dp"
android:background="#F2F2F2"
android:elevation="2dp">

<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/photo"
android:scaleType="centerCrop"/>

<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="12dp">

<TextView
android:id="@+id/chat_name_samiksha"
android:text="Samiksha"
android:textStyle="bold"
android:textSize="16sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:text="Ok"
android:textSize="14sp"
android:textColor="#888888"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>

<TextView
android:text="yesterday"
android:textSize="12sp"
android:textColor="#999999"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"/>
</LinearLayout>

<LinearLayout
android:id="@+id/chat_entry_coty"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="12dp"
android:background="#F2F2F2"
android:elevation="2dp">

<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/group"
android:scaleType="centerCrop"/>

<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="12dp">
<TextView
android:id="@+id/chat_name_coty"
android:text="CO-TY 25-26"
android:textStyle="bold"
android:textSize="16sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:text="Archana Miss: Fill daily format
regularly..."
android:textSize="14sp"
android:textColor="#888888"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>

<TextView
android:text="yesterday"
android:textSize="12sp"
android:textColor="#999999"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"/>
</LinearLayout>

<LinearLayout
android:id="@+id/chat_entry_sakshi"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="12dp"
android:background="#F2F2F2"
android:elevation="2dp">

<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/photo"
android:scaleType="centerCrop"/>

<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="12dp">

<TextView
android:id="@+id/chat_name_sakshi"
android:text="Sakshi Nalawade"
android:textStyle="bold"
android:textSize="16sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:text="Hm"
android:textSize="14sp"
android:textColor="#888888"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>

<TextView
android:text="27/06/25"
android:textSize="12sp"
android:textColor="#999999"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"/>
</LinearLayout>

<LinearLayout
android:id="@+id/chat_entry_mayuri"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="12dp"
android:background="#F2F2F2"
android:elevation="2dp">

<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/photo"
android:scaleType="centerCrop"/>

<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="12dp">

<TextView
android:id="@+id/chat_name_mayuri"
android:text="Mayuri"
android:textStyle="bold"
android:textSize="16sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:text="Ho"
android:textSize="14sp"
android:textColor="#888888"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>

<TextView
android:text="24/06/25"
android:textSize="12sp"
android:textColor="#999999"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"/>
</LinearLayout>

<LinearLayout
android:id="@+id/chat_entry_shraddha"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="12dp"
android:background="#F2F2F2"
android:elevation="2dp">

<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/photo"
android:scaleType="centerCrop"/>

<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="12dp">

<TextView
android:id="@+id/chat_name_shraddha"
android:text="Shraddha"
android:textStyle="bold"
android:textSize="16sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:text="Wait?"
android:textSize="14sp"
android:textColor="#888888"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>

<TextView
android:text="24/06/25"
android:textSize="12sp"
android:textColor="#999999"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"/>
</LinearLayout>

<LinearLayout
android:id="@+id/chat_entry_punam"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="12dp"
android:background="#F2F2F2"
android:elevation="2dp">

<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/photo"
android:scaleType="centerCrop"/>
<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="12dp">

<TextView
android:id="@+id/chat_name_punam"
android:text="Punam"
android:textStyle="bold"
android:textSize="16sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:text="I don't know?"
android:textSize="14sp"
android:textColor="#888888"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>

<TextView
android:text="21/06/25"
android:textSize="12sp"
android:textColor="#999999"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"/>
</LinearLayout>

</LinearLayout>
</ScrollView>

ChatsFragment.java
package com.example.myapplication.Fragment;

import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.SearchView;
import android.widget.TextView;
import android.widget.Toast;

import com.example.myapplication.R;

import java.util.ArrayList;
import java.util.List;

public class ChatsFragment extends Fragment {

private SearchView chatSearchView;


private LinearLayout chatsParentContainer;
private List<LinearLayout> allChatEntries;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_chats, container,
false);

Toast.makeText(getActivity(), "Chats Clicked!",


Toast.LENGTH_SHORT).show();
chatSearchView = view.findViewById(R.id.svChatSearchView);
chatsParentContainer =
view.findViewById(R.id.chats_parent_container);

allChatEntries = new ArrayList<>();


allChatEntries.add(view.findViewById(R.id.chat_entry_you));
allChatEntries.add(view.findViewById(R.id.chat_entry_papa));
allChatEntries.add(view.findViewById(R.id.chat_entry_bhaiya));
allChatEntries.add(view.findViewById(R.id.chat_entry_rutuja));
allChatEntries.add(view.findViewById(R.id.chat_entry_gayatri));

allChatEntries.add(view.findViewById(R.id.chat_entry_industrial_training));
allChatEntries.add(view.findViewById(R.id.chat_entry_samiksha));
allChatEntries.add(view.findViewById(R.id.chat_entry_coty));
allChatEntries.add(view.findViewById(R.id.chat_entry_sakshi));
allChatEntries.add(view.findViewById(R.id.chat_entry_mayuri));
allChatEntries.add(view.findViewById(R.id.chat_entry_shraddha));
allChatEntries.add(view.findViewById(R.id.chat_entry_punam));

// Set up the SearchView listener


chatSearchView.setOnQueryTextListener(new
SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
filterChats(query);
return false;
}

@Override
public boolean onQueryTextChange(String newText) {
filterChats(newText);
return false;
}
});

return view;
}

private void filterChats(String query) {


query = query.toLowerCase();

for (LinearLayout chatEntryLayout : allChatEntries) {

TextView chatNameTextView = null;

if (chatEntryLayout.getId() == R.id.chat_entry_you) {
chatNameTextView =
chatEntryLayout.findViewById(R.id.chat_name_you);
} else if (chatEntryLayout.getId() == R.id.chat_entry_papa) {
chatNameTextView =
chatEntryLayout.findViewById(R.id.chat_name_papa);
} else if (chatEntryLayout.getId() == R.id.chat_entry_bhaiya) {
chatNameTextView =
chatEntryLayout.findViewById(R.id.chat_name_bhaiya);
} else if (chatEntryLayout.getId() == R.id.chat_entry_rutuja) {
chatNameTextView =
chatEntryLayout.findViewById(R.id.chat_name_rutuja);
} else if (chatEntryLayout.getId() == R.id.chat_entry_gayatri)
{
chatNameTextView =
chatEntryLayout.findViewById(R.id.chat_name_gayatri);
} else if (chatEntryLayout.getId() ==
R.id.chat_entry_industrial_training) {
chatNameTextView =
chatEntryLayout.findViewById(R.id.chat_name_industrial_training);
} else if (chatEntryLayout.getId() == R.id.chat_entry_samiksha)
{
chatNameTextView =
chatEntryLayout.findViewById(R.id.chat_name_samiksha);
} else if (chatEntryLayout.getId() == R.id.chat_entry_coty) {
chatNameTextView =
chatEntryLayout.findViewById(R.id.chat_name_coty);
} else if (chatEntryLayout.getId() == R.id.chat_entry_sakshi) {
chatNameTextView =
chatEntryLayout.findViewById(R.id.chat_name_sakshi);
} else if (chatEntryLayout.getId() == R.id.chat_entry_mayuri) {
chatNameTextView =
chatEntryLayout.findViewById(R.id.chat_name_mayuri);
} else if (chatEntryLayout.getId() == R.id.chat_entry_shraddha)
{
chatNameTextView =
chatEntryLayout.findViewById(R.id.chat_name_shraddha);
} else if (chatEntryLayout.getId() == R.id.chat_entry_punam) {
chatNameTextView =
chatEntryLayout.findViewById(R.id.chat_name_punam);
}

if (chatNameTextView != null) {
String chatName =
chatNameTextView.getText().toString().toLowerCase();

if (chatName.contains(query)) {
chatEntryLayout.setVisibility(View.VISIBLE);
} else {
chatEntryLayout.setVisibility(View.GONE);
}
}
}
}
}

You might also like