Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.androidchatapp;
- import android.app.Activity;
- import android.app.AlertDialog;
- import android.content.ActivityNotFoundException;
- import android.content.Context;
- import android.content.Intent;
- import android.net.Uri;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.ArrayAdapter;
- import android.widget.ImageView;
- import android.widget.TextView;
- import android.widget.Toast;
- import com.bumptech.glide.Glide;
- import java.util.ArrayList;
- import static com.androidchatapp.UserDetails.chatWith;
- /**
- * Created by manlai on 11/5/2017.
- */
- public class MessageAdapter extends ArrayAdapter<Message>
- {
- private View viewToConvertToMessage;
- private TextView text, name, textFriend;
- private ImageView image, imageFriend, imageStatus, file;
- private Message message, status;
- private boolean hasPhoto, hasType;
- Context context;
- public MessageAdapter(Context context, int resource, ArrayList<Message> objects)
- {
- super(context, resource, objects);
- this.context = context;
- }
- @Override
- public View getView(final int position, View convertView, ViewGroup parent)
- {
- viewToConvertToMessage = convertView;
- if(viewToConvertToMessage == null)
- viewToConvertToMessage = ((Activity) getContext()).getLayoutInflater().inflate(R.layout.message_item, parent, false);
- initializeMessageFields();
- message = getItem(position);
- hasPhoto = message.getPhotoURL() != null;
- hasType = message.getType() != null;
- drawMessage(position, convertView);
- return viewToConvertToMessage;
- }
- private void initializeMessageFields()
- {
- text = viewToConvertToMessage.findViewById(R.id.text_field);
- textFriend = viewToConvertToMessage.findViewById(R.id.text_friend);
- name = viewToConvertToMessage.findViewById(R.id.name_field);
- image = viewToConvertToMessage.findViewById(R.id.image_field);
- file = viewToConvertToMessage.findViewById(R.id.file_field);
- imageFriend = viewToConvertToMessage.findViewById(R.id.image_friend);
- imageStatus = viewToConvertToMessage.findViewById(R.id.image_status_sent);
- }
- private void drawMessage(final int position, View convertView)
- {
- if(message.getUser().equals(UserDetails.username))
- {
- if(hasPhoto)
- {
- text.setVisibility(View.GONE);
- if(message.getType().equals("image")){
- image.setVisibility(View.VISIBLE);
- file.setVisibility(View.GONE);
- Glide.with(image.getContext()).load(message.getPhotoURL()).into(image);
- }else if(message.getType().equals("file")){
- image.setVisibility(View.GONE);
- file.setVisibility(View.VISIBLE);
- file.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- // Intent i = new Intent(Intent.ACTION_VIEW);
- // i.setData(Uri.parse(message.getPhotoURL()));
- // context.startActivity(i);
- Toast.makeText(context, "File " +message.getPhotoURL()+" "+message.getType(), Toast.LENGTH_SHORT).show();
- }
- });
- }
- }
- else
- {
- text.setVisibility(View.VISIBLE);
- image.setVisibility(View.GONE);
- file.setVisibility(View.GONE);
- text.setText(message.getText());
- }
- if(message.getStatus().equals("terkirim")){
- imageStatus.setImageResource(R.drawable.ic_sent);
- }else{
- imageStatus.setImageResource(R.drawable.ic_done_all);
- }
- textFriend.setVisibility(View.GONE);
- imageFriend.setVisibility(View.GONE);
- }
- else
- {
- if(hasPhoto)
- {
- textFriend.setVisibility(View.GONE);
- imageFriend.setVisibility(View.VISIBLE);
- Glide.with(imageFriend.getContext()).load(message.getPhotoURL()).into(imageFriend);
- }
- else
- {
- textFriend.setVisibility(View.VISIBLE);
- imageFriend.setVisibility(View.GONE);
- textFriend.setText(message.getText());
- }
- text.setVisibility(View.GONE);
- image.setVisibility(View.GONE);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement