Fix conflicts after rebase
This commit is contained in:
parent
576d769f46
commit
e9fccf4ccd
5 changed files with 103 additions and 79 deletions
|
@ -111,6 +111,7 @@ import org.linphone.receivers.KeepAliveReceiver;
|
||||||
import org.linphone.receivers.NetworkManager;
|
import org.linphone.receivers.NetworkManager;
|
||||||
import org.linphone.receivers.OutgoingCallReceiver;
|
import org.linphone.receivers.OutgoingCallReceiver;
|
||||||
import org.linphone.settings.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
|
import org.linphone.utils.FileUtils;
|
||||||
import org.linphone.utils.LinphoneMediaScanner;
|
import org.linphone.utils.LinphoneMediaScanner;
|
||||||
import org.linphone.utils.LinphoneUtils;
|
import org.linphone.utils.LinphoneUtils;
|
||||||
|
|
||||||
|
@ -1474,7 +1475,7 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou
|
||||||
|
|
||||||
if (params != null) {
|
if (params != null) {
|
||||||
params.enableLowBandwidth(isLowBandwidthConnection);
|
params.enableLowBandwidth(isLowBandwidthConnection);
|
||||||
params.setRecordFile(LinphoneUtils.getCallRecordingFilename(getContext(), call.getRemoteAddress()));
|
params.setRecordFile(FileUtils.getCallRecordingFilename(getContext(), call.getRemoteAddress()));
|
||||||
} else {
|
} else {
|
||||||
Log.e("Could not create call params for call");
|
Log.e("Could not create call params for call");
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -20,7 +20,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.utils.FileUtils;
|
||||||
import org.linphone.core.Address;
|
import org.linphone.core.Address;
|
||||||
import org.linphone.core.Call;
|
import org.linphone.core.Call;
|
||||||
import org.linphone.core.CallParams;
|
import org.linphone.core.CallParams;
|
||||||
|
@ -64,7 +64,7 @@ public class CallManager {
|
||||||
Log.d("Low bandwidth enabled in call params");
|
Log.d("Low bandwidth enabled in call params");
|
||||||
}
|
}
|
||||||
|
|
||||||
String recordFile = LinphoneUtils.getCallRecordingFilename(LinphoneManager.getInstance().getContext(), lAddress);
|
String recordFile = FileUtils.getCallRecordingFilename(LinphoneManager.getInstance().getContext(), lAddress);
|
||||||
params.setRecordFile(recordFile);
|
params.setRecordFile(recordFile);
|
||||||
|
|
||||||
lc.inviteAddressWithParams(lAddress, params);
|
lc.inviteAddressWithParams(lAddress, params);
|
||||||
|
|
|
@ -22,20 +22,14 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import android.support.v7.widget.RecyclerView;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.CheckBox;
|
|
||||||
import android.widget.ImageView;
|
|
||||||
import android.widget.LinearLayout;
|
|
||||||
import android.widget.SeekBar;
|
import android.widget.SeekBar;
|
||||||
import android.widget.TextView;
|
|
||||||
|
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.mediastream.Log;
|
import org.linphone.utils.SelectableAdapter;
|
||||||
import org.linphone.ui.SelectableAdapter;
|
import org.linphone.utils.SelectableHelper;
|
||||||
import org.linphone.ui.SelectableHelper;
|
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
|
@ -44,62 +38,12 @@ import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
public class RecordingAdapter extends SelectableAdapter<RecordingAdapter.ViewHolder> {
|
public class RecordingAdapter extends SelectableAdapter<RecordingViewHolder> {
|
||||||
|
|
||||||
public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener {
|
|
||||||
public ImageView playButton;
|
|
||||||
public TextView name, date, currentPosition, duration;
|
|
||||||
public SeekBar progressionBar;
|
|
||||||
public CheckBox select;
|
|
||||||
public LinearLayout separator;
|
|
||||||
public TextView separatorText;
|
|
||||||
private RecordingAdapter.ViewHolder.ClickListener listener;
|
|
||||||
|
|
||||||
public ViewHolder(View view, RecordingAdapter.ViewHolder.ClickListener listener) {
|
|
||||||
super(view);
|
|
||||||
|
|
||||||
playButton = view.findViewById(R.id.record_play);
|
|
||||||
name = view.findViewById(R.id.record_name);
|
|
||||||
date = view.findViewById(R.id.record_date);
|
|
||||||
currentPosition = view.findViewById(R.id.record_current_time);
|
|
||||||
duration = view.findViewById(R.id.record_duration);
|
|
||||||
progressionBar = view.findViewById(R.id.record_progression_bar);
|
|
||||||
select = view.findViewById(R.id.delete);
|
|
||||||
separator = view.findViewById(R.id.separator);
|
|
||||||
separatorText = view.findViewById(R.id.separator_text);
|
|
||||||
|
|
||||||
this.listener = listener;
|
|
||||||
view.setOnClickListener(this);
|
|
||||||
view.setOnLongClickListener(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onClick(View view) {
|
|
||||||
if (listener != null) {
|
|
||||||
listener.onItemClicked(getAdapterPosition());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onLongClick(View view) {
|
|
||||||
if (listener != null) {
|
|
||||||
return listener.onItemLongClicked(getAdapterPosition());
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public interface ClickListener {
|
|
||||||
void onItemClicked(int position);
|
|
||||||
|
|
||||||
boolean onItemLongClicked(int position);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<Recording> recordings;
|
private List<Recording> recordings;
|
||||||
private Context context;
|
private Context context;
|
||||||
private RecordingAdapter.ViewHolder.ClickListener clickListener;
|
private RecordingViewHolder.ClickListener clickListener;
|
||||||
|
|
||||||
public RecordingAdapter(Context context, List<Recording> recordings, RecordingAdapter.ViewHolder.ClickListener listener, SelectableHelper helper) {
|
public RecordingAdapter(Context context, List<Recording> recordings, RecordingViewHolder.ClickListener listener, SelectableHelper helper) {
|
||||||
super(helper);
|
super(helper);
|
||||||
|
|
||||||
this.recordings = recordings;
|
this.recordings = recordings;
|
||||||
|
@ -114,14 +58,14 @@ public class RecordingAdapter extends SelectableAdapter<RecordingAdapter.ViewHol
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
|
public RecordingViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
|
||||||
View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.recording_cell, viewGroup, false);
|
View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.recording_cell, viewGroup, false);
|
||||||
return new RecordingAdapter.ViewHolder(v, clickListener);
|
return new RecordingViewHolder(v, clickListener);
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint("SimpleDateFormat")
|
@SuppressLint("SimpleDateFormat")
|
||||||
@Override
|
@Override
|
||||||
public void onBindViewHolder(@NonNull final ViewHolder viewHolder, int i) {
|
public void onBindViewHolder(@NonNull final RecordingViewHolder viewHolder, int i) {
|
||||||
final Recording record = recordings.get(i);
|
final Recording record = recordings.get(i);
|
||||||
|
|
||||||
viewHolder.name.setSelected(true); // For automated horizontal scrolling of long texts
|
viewHolder.name.setSelected(true); // For automated horizontal scrolling of long texts
|
||||||
|
@ -168,12 +112,12 @@ public class RecordingAdapter extends SelectableAdapter<RecordingAdapter.ViewHol
|
||||||
viewHolder.name.setText(record.getName());
|
viewHolder.name.setText(record.getName());
|
||||||
viewHolder.date.setText(new SimpleDateFormat("HH:mm").format(record.getRecordDate()));
|
viewHolder.date.setText(new SimpleDateFormat("HH:mm").format(record.getRecordDate()));
|
||||||
|
|
||||||
int position = record.getCurrentPosition();
|
// int position = record.getCurrentPosition();
|
||||||
viewHolder.currentPosition.setText(String.format("%02d:%02d",
|
// viewHolder.currentPosition.setText(String.format("%02d:%02d",
|
||||||
TimeUnit.MILLISECONDS.toMinutes(position),
|
// TimeUnit.MILLISECONDS.toMinutes(position),
|
||||||
TimeUnit.MILLISECONDS.toSeconds(position) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(position))
|
// TimeUnit.MILLISECONDS.toSeconds(position) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(position))
|
||||||
));
|
// ));
|
||||||
//viewHolder.currentPosition.setText("00:00");
|
viewHolder.currentPosition.setText("00:00");
|
||||||
|
|
||||||
int duration = record.getDuration();
|
int duration = record.getDuration();
|
||||||
viewHolder.duration.setText(String.format("%02d:%02d",
|
viewHolder.duration.setText(String.format("%02d:%02d",
|
||||||
|
|
|
@ -31,19 +31,18 @@ import android.view.ViewGroup;
|
||||||
import android.widget.AdapterView;
|
import android.widget.AdapterView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
|
||||||
import org.linphone.fragments.FragmentsAvailable;
|
import org.linphone.fragments.FragmentsAvailable;
|
||||||
import org.linphone.mediastream.Log;
|
import org.linphone.utils.FileUtils;
|
||||||
import org.linphone.ui.SelectableHelper;
|
import org.linphone.utils.SelectableHelper;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class RecordingListFragment extends Fragment implements View.OnClickListener, AdapterView.OnItemClickListener, RecordingAdapter.ViewHolder.ClickListener, SelectableHelper.DeleteListener {
|
public class RecordingListFragment extends Fragment implements View.OnClickListener, AdapterView.OnItemClickListener, RecordingViewHolder.ClickListener, SelectableHelper.DeleteListener {
|
||||||
private RecyclerView recordingList;
|
private RecyclerView recordingList;
|
||||||
private List<Recording> recordings;
|
private List<Recording> recordings;
|
||||||
private TextView noRecordings;
|
private TextView noRecordings;
|
||||||
|
@ -88,7 +87,7 @@ public class RecordingListFragment extends Fragment implements View.OnClickListe
|
||||||
}
|
}
|
||||||
|
|
||||||
public void searchForRecordings() {
|
public void searchForRecordings() {
|
||||||
String recordingsDirectory = LinphoneUtils.getRecordingsDirectory(context);
|
String recordingsDirectory = FileUtils.getRecordingsDirectory(context);
|
||||||
File directory = new File(recordingsDirectory);
|
File directory = new File(recordingsDirectory);
|
||||||
|
|
||||||
if (directory.exists() && directory.isDirectory()) {
|
if (directory.exists() && directory.isDirectory()) {
|
||||||
|
|
|
@ -0,0 +1,80 @@
|
||||||
|
package org.linphone.recording;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
RecordingViewHolder.java
|
||||||
|
Copyright (C) 2018 Belledonne Communications, Grenoble, France
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation; either version 2
|
||||||
|
of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import android.support.v7.widget.RecyclerView;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.CheckBox;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.LinearLayout;
|
||||||
|
import android.widget.SeekBar;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import org.linphone.R;
|
||||||
|
|
||||||
|
public class RecordingViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener {
|
||||||
|
public ImageView playButton;
|
||||||
|
public TextView name, date, currentPosition, duration;
|
||||||
|
public SeekBar progressionBar;
|
||||||
|
public CheckBox select;
|
||||||
|
public LinearLayout separator;
|
||||||
|
public TextView separatorText;
|
||||||
|
private RecordingViewHolder.ClickListener listener;
|
||||||
|
|
||||||
|
public RecordingViewHolder(View view, RecordingViewHolder.ClickListener listener) {
|
||||||
|
super(view);
|
||||||
|
|
||||||
|
playButton = view.findViewById(R.id.record_play);
|
||||||
|
name = view.findViewById(R.id.record_name);
|
||||||
|
date = view.findViewById(R.id.record_date);
|
||||||
|
currentPosition = view.findViewById(R.id.record_current_time);
|
||||||
|
duration = view.findViewById(R.id.record_duration);
|
||||||
|
progressionBar = view.findViewById(R.id.record_progression_bar);
|
||||||
|
select = view.findViewById(R.id.delete);
|
||||||
|
separator = view.findViewById(R.id.separator);
|
||||||
|
separatorText = view.findViewById(R.id.separator_text);
|
||||||
|
|
||||||
|
this.listener = listener;
|
||||||
|
view.setOnClickListener(this);
|
||||||
|
view.setOnLongClickListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View view) {
|
||||||
|
if (listener != null) {
|
||||||
|
listener.onItemClicked(getAdapterPosition());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onLongClick(View view) {
|
||||||
|
if (listener != null) {
|
||||||
|
return listener.onItemLongClicked(getAdapterPosition());
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface ClickListener {
|
||||||
|
void onItemClicked(int position);
|
||||||
|
|
||||||
|
boolean onItemLongClicked(int position);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue