SD-211 - show all recordings and play them

This commit is contained in:
2022-03-30 10:34:57 +03:00
parent 8bb6f36e60
commit 3f96055a6e
12 changed files with 283 additions and 250 deletions

View File

@ -1,7 +1,6 @@
package com.safemobile.adapters;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@ -11,7 +10,6 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import com.safemobile.activities.AbstractRecordingsActivity;
import com.safemobile.lib.AppParams;
import com.safemobile.lib.R;
import com.safemobile.lib.Recording;
import com.safemobile.lib.SM;
@ -27,14 +25,12 @@ public class RecordingsGridViewAdapter extends BaseAdapter {
private final ArrayList<Boolean> recordingExists;
private final ArrayList<Boolean> playingPositions;
private final Activity activity;
private final Context context;
private final Hashtable<Integer, View> hash = new Hashtable<>();
public RecordingsGridViewAdapter(Activity activity, Context context, ArrayList<Recording> listRecordings, ArrayList<Boolean> recordingExists) {
public RecordingsGridViewAdapter(Activity activity, ArrayList<Recording> listRecordings, ArrayList<Boolean> recordingExists) {
super();
this.activity = activity;
this.context = context;
this.listRecordings = listRecordings;
this.recordingExists = recordingExists;
@ -129,12 +125,12 @@ public class RecordingsGridViewAdapter extends BaseAdapter {
if (convertView == null) {
view = new ViewHolder();
convertView = layoutInflater.inflate(R.layout.row_recordings, null);
view.setLayoutRecording((LinearLayout) convertView.findViewById(R.id.layoutRecording));
view.setImageViewPlay((ImageView) convertView.findViewById(R.id.imageViewPlay));
view.setTextViewSender((TextView) convertView.findViewById(R.id.textViewSender));
view.setTextViewDuration((TextView) convertView.findViewById(R.id.textViewDuration));
view.setTextViewDate((TextView) convertView.findViewById(R.id.textViewDate));
view.setImageViewRecycle((ImageView) convertView.findViewById(R.id.imageViewRecycle));
view.setLayoutRecording(convertView.findViewById(R.id.layoutRecording));
view.setImageViewPlay(convertView.findViewById(R.id.imageViewPlay));
view.setTextViewSender(convertView.findViewById(R.id.textViewSender));
view.setTextViewDuration(convertView.findViewById(R.id.textViewDuration));
view.setTextViewDate(convertView.findViewById(R.id.textViewDate));
view.setImageViewRecycle(convertView.findViewById(R.id.imageViewRecycle));
view.getImageViewRecycle().setVisibility(View.GONE);
convertView.setTag(view);
} else {
@ -155,25 +151,25 @@ public class RecordingsGridViewAdapter extends BaseAdapter {
}
/* change icon according to call type [outgoing or incoming] */
SM.Exception("REC TYPE : " + listRecordings.get(position).type);
switch (listRecordings.get(position).type) {
case AppParams.AllCall:
if (listRecordings.get(position).destinationRadioID == 0)
view.getImageViewPlay().setImageResource(R.drawable.call_received_all);
else
view.getImageViewPlay().setImageResource(R.drawable.call_made_all);
SM.Exception("REC TYPE : " + listRecordings.get(position).callType);
switch (listRecordings.get(position).callType) {
case 6:
view.getImageViewPlay().setImageResource(R.drawable.call_received_all);
break;
case AppParams.PrivateCall:
if (listRecordings.get(position).destinationRadioID == 0)
view.getImageViewPlay().setImageResource(R.drawable.call_received);
else
view.getImageViewPlay().setImageResource(R.drawable.call_made);
case 2:
view.getImageViewPlay().setImageResource(R.drawable.call_made_all);
break;
case AppParams.GroupCall:
if (listRecordings.get(position).destinationRadioID == 0)
view.getImageViewPlay().setImageResource(R.drawable.call_received_group);
else
view.getImageViewPlay().setImageResource(R.drawable.call_made_group);
case 4:
view.getImageViewPlay().setImageResource(R.drawable.call_received);
break;
case 0:
view.getImageViewPlay().setImageResource(R.drawable.call_made);
break;
case 5:
view.getImageViewPlay().setImageResource(R.drawable.call_received_group);
break;
case 1:
view.getImageViewPlay().setImageResource(R.drawable.call_made_group);
break;
default:
view.getImageViewPlay().setImageResource(R.drawable.alert);
@ -193,14 +189,8 @@ public class RecordingsGridViewAdapter extends BaseAdapter {
((AbstractRecordingsActivity) activity).deleteSelected(position);
});
// set recording image
if (getItem(position).NameForDisplay.equals(AppParams.USERNAME))
view.getImageViewPlay().setImageDrawable(context.getResources().getDrawable(R.drawable.call_made_group));
else
view.getImageViewPlay().setImageDrawable(context.getResources().getDrawable(R.drawable.call_received_group));
view.getTextViewSender().setText(getItem(position).NameForDisplay);
view.textViewDuration.setText("[" + getItem(position).duration + " sec]");
view.getTextViewSender().setText(String.format("%s -> %s", getItem(position).userWhoCalled, getItem(position).userWhoWasCalled));
view.textViewDuration.setText(String.format("[%d sec]", getItem(position).duration));
/* Add call Date */
Date date = new Date();