Better fix for chat message state update + bit of cleanup
This commit is contained in:
parent
3f1fc697da
commit
c04ba0ce41
9 changed files with 7 additions and 84 deletions
|
@ -83,14 +83,12 @@ import org.linphone.core.AccountCreatorListener;
|
|||
import org.linphone.core.AccountCreator;
|
||||
import org.linphone.core.Address;
|
||||
import org.linphone.core.AuthInfo;
|
||||
import org.linphone.core.Buffer;
|
||||
import org.linphone.core.Call;
|
||||
import org.linphone.core.Call.State;
|
||||
import org.linphone.core.CallLog;
|
||||
import org.linphone.core.CallParams;
|
||||
import org.linphone.core.CallStats;
|
||||
import org.linphone.core.ChatMessage;
|
||||
import org.linphone.core.ChatMessageListener;
|
||||
import org.linphone.core.ChatRoom;
|
||||
import org.linphone.core.Content;
|
||||
import org.linphone.core.Core;
|
||||
|
@ -159,7 +157,7 @@ import static android.media.AudioManager.STREAM_VOICE_CALL;
|
|||
* Add Service Listener to react to Linphone state changes.
|
||||
*
|
||||
*/
|
||||
public class LinphoneManager implements CoreListener, ChatMessageListener, SensorEventListener, AccountCreatorListener {
|
||||
public class LinphoneManager implements CoreListener, SensorEventListener, AccountCreatorListener {
|
||||
|
||||
private static LinphoneManager instance;
|
||||
private Context mServiceContext;
|
||||
|
@ -203,16 +201,6 @@ public class LinphoneManager implements CoreListener, ChatMessageListener, Senso
|
|||
|
||||
public String wizardLoginViewDomain = null;
|
||||
|
||||
private static List<ChatMessageListener> simpleListeners = new ArrayList<ChatMessageListener>();
|
||||
public static void addListener(ChatMessageListener listener) {
|
||||
if (!simpleListeners.contains(listener)) {
|
||||
simpleListeners.add(listener);
|
||||
}
|
||||
}
|
||||
public static void removeListener(ChatMessageListener listener) {
|
||||
simpleListeners.remove(listener);
|
||||
}
|
||||
|
||||
protected LinphoneManager(final Context c) {
|
||||
sExited = false;
|
||||
echoTesterIsRunning = false;
|
||||
|
@ -386,68 +374,6 @@ public class LinphoneManager implements CoreListener, ChatMessageListener, Senso
|
|||
return instance;
|
||||
}
|
||||
|
||||
public void setUploadPendingFileMessage(ChatMessage message){
|
||||
mUploadPendingFileMessage = message;
|
||||
}
|
||||
|
||||
public ChatMessage getMessageUploadPending(){
|
||||
return mUploadPendingFileMessage;
|
||||
}
|
||||
|
||||
public void setUploadingImage(byte[] array){
|
||||
this.mUploadingImage = array;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMsgStateChanged(ChatMessage msg, ChatMessage.State state) {
|
||||
if (state == ChatMessage.State.FileTransferDone) {
|
||||
if (msg.isOutgoing() && mUploadingImage != null) {
|
||||
mUploadPendingFileMessage = null;
|
||||
mUploadingImage = null;
|
||||
} else {
|
||||
LinphoneUtils.storeImage(getContext(), msg);
|
||||
}
|
||||
}
|
||||
|
||||
if (state == ChatMessage.State.FileTransferError) {
|
||||
LinphoneUtils.displayErrorAlert(getString(R.string.image_transfert_error), LinphoneActivity.instance());
|
||||
}
|
||||
|
||||
for (ChatMessageListener l: simpleListeners) {
|
||||
l.onMsgStateChanged(msg, state);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFileTransferRecv(ChatMessage msg, Content content, Buffer buffer) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Buffer onFileTransferSend(ChatMessage message, Content content, int offset, int size) {
|
||||
if (mUploadingImage != null && size > 0) {
|
||||
Buffer bufferToFill = Factory.instance().createBuffer();
|
||||
byte[] data = new byte[size];
|
||||
if (offset + size <= mUploadingImage.length) {
|
||||
for (int i = 0; i < size; i++) {
|
||||
data[i] = mUploadingImage[i + offset];
|
||||
}
|
||||
bufferToFill.setContent(data, size);
|
||||
bufferToFill.setSize(size);
|
||||
return bufferToFill;
|
||||
} else {
|
||||
Log.e("Error, upload task asking for more bytes( " + (size+offset) + " ) than available (" + mUploadingImage.length + ")");
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFileTransferProgressIndication(ChatMessage msg, Content content, int offset, int total) {
|
||||
for (ChatMessageListener l: simpleListeners) {
|
||||
l.onFileTransferProgressIndication(msg, content, offset, total);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isPresenceModelActivitySet() {
|
||||
Core lc = getLcIfManagerNotDestroyedOrNull();
|
||||
if (isInstanciated() && lc != null) {
|
||||
|
|
|
@ -46,7 +46,7 @@ import org.linphone.core.ChatRoom;
|
|||
import org.linphone.core.ChatRoomListenerStub;
|
||||
import org.linphone.mediastream.Log;
|
||||
import org.linphone.ui.ContactSelectView;
|
||||
import org.linphone.receivers.ContactsUpdatedListener;
|
||||
import org.linphone.contacts.ContactsUpdatedListener;
|
||||
import org.linphone.activities.LinphoneActivity;
|
||||
import org.linphone.R;
|
||||
|
||||
|
|
|
@ -451,7 +451,7 @@ public class ChatEventsAdapter extends ListSelectionAdapter implements ChatMessa
|
|||
|
||||
@Override
|
||||
public void onMsgStateChanged(ChatMessage msg, ChatMessage.State state) {
|
||||
notifyDataSetInvalidated();
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -32,7 +32,7 @@ import android.widget.TextView;
|
|||
|
||||
import org.linphone.contacts.ContactsManager;
|
||||
import org.linphone.ui.ListSelectionHelper;
|
||||
import org.linphone.receivers.ContactsUpdatedListener;
|
||||
import org.linphone.contacts.ContactsUpdatedListener;
|
||||
import org.linphone.fragments.FragmentsAvailable;
|
||||
import org.linphone.activities.LinphoneActivity;
|
||||
import org.linphone.LinphoneManager;
|
||||
|
@ -97,7 +97,6 @@ public class ChatListFragment extends Fragment implements OnItemClickListener, C
|
|||
}
|
||||
};
|
||||
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
|
|
|
@ -63,7 +63,7 @@ import org.linphone.core.Core;
|
|||
import org.linphone.core.EventLog;
|
||||
import org.linphone.core.Factory;
|
||||
import org.linphone.core.Participant;
|
||||
import org.linphone.receivers.ContactsUpdatedListener;
|
||||
import org.linphone.contacts.ContactsUpdatedListener;
|
||||
import org.linphone.ui.ListSelectionHelper;
|
||||
|
||||
import java.io.File;
|
||||
|
|
|
@ -45,7 +45,6 @@ import android.widget.SectionIndexer;
|
|||
import android.widget.TextView;
|
||||
|
||||
import org.linphone.fragments.FragmentsAvailable;
|
||||
import org.linphone.receivers.ContactsUpdatedListener;
|
||||
import org.linphone.LinphoneManager;
|
||||
import org.linphone.LinphoneUtils;
|
||||
import org.linphone.R;
|
||||
|
|
|
@ -46,7 +46,6 @@ import org.linphone.core.Friend;
|
|||
import org.linphone.core.FriendList;
|
||||
import org.linphone.core.ProxyConfig;
|
||||
import org.linphone.mediastream.Log;
|
||||
import org.linphone.receivers.ContactsUpdatedListener;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package org.linphone.receivers;
|
||||
package org.linphone.contacts;
|
||||
|
||||
/*
|
||||
ContactsUpdatedListener.java
|
|
@ -26,7 +26,7 @@ import java.util.Calendar;
|
|||
import java.util.List;
|
||||
|
||||
import org.linphone.contacts.ContactsManager;
|
||||
import org.linphone.receivers.ContactsUpdatedListener;
|
||||
import org.linphone.contacts.ContactsUpdatedListener;
|
||||
import org.linphone.contacts.LinphoneContact;
|
||||
import org.linphone.LinphoneManager;
|
||||
import org.linphone.LinphoneUtils;
|
||||
|
|
Loading…
Reference in a new issue