zezung27 / api-mymeostore

1 stars 0 forks source link

MiniNotiRecyclerAdapter #3

Closed zezung27 closed 1 year ago

zezung27 commented 1 year ago

package com.matcos.dynamicislandlight.core.service;

import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView;

import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView;

import com.matcos.dynamicislandlight.R; import com.matcos.dynamicislandlight.core.service.modal.NotificationModal;

import java.util.ArrayList;

public class MiniNotiRecyclerAdapter extends RecyclerView.Adapter { private Context mContext; private ArrayList mList; private IMiniOnlistener iMiniOnlistener;

public MiniNotiRecyclerAdapter(Context mContext, ArrayList<NotificationModal> list) {
    this.mContext = mContext;
    this.mList = list;
}

public void setOnClickMiniLayout(IMiniOnlistener listener) {
    iMiniOnlistener = listener;
}

@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    LayoutInflater inflater = LayoutInflater.from(mContext);
    View heroView = inflater.inflate(R.layout.row_mini_noti, parent, false);
    ViewHolder viewHolder = new ViewHolder(heroView);
    return viewHolder;
}

@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
    NotificationModal notificationModal = mList.get(position);
    holder.mTextPackageName.setText(notificationModal.getTitle() != null ? notificationModal.getTitle() : "");
    Bitmap bitmap = BitmapFactory.decodeByteArray(notificationModal.getIcon(), 0, notificationModal.getIcon().length);
    if (bitmap != null) {
        holder.imageIcon.setImageBitmap(bitmap);
    }
}

@Override
public int getItemCount() {
    return mList.size();
}

public class ViewHolder extends RecyclerView.ViewHolder {
    private ImageView imageIcon;
    private ImageView imageRight;
    private TextView mTextPackageName;

    public ViewHolder(@NonNull View itemView) {
        super(itemView);
        imageIcon = itemView.findViewById(R.id.imgNotiMini);
        imageRight = itemView.findViewById(R.id.imgRight);
        mTextPackageName = itemView.findViewById(R.id.nameMiniNoti);

        itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                int pos = getAdapterPosition();
                iMiniOnlistener.onMiniClick(false, true, mList.get(pos));
            }
        });

        imageRight.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                int pos = getAdapterPosition();
                iMiniOnlistener.onMiniClick(true, false, mList.get(pos));
            }
        });
    }
}

}