diff --git a/res/values/non_localizable_custom.xml b/res/values/non_localizable_custom.xml index 2a446dd74..97a81c1d8 100644 --- a/res/values/non_localizable_custom.xml +++ b/res/values/non_localizable_custom.xml @@ -18,7 +18,7 @@ true - 622464153529 + 1286 false false diff --git a/src/org/linphone/ChatListFragment.java b/src/org/linphone/ChatListFragment.java index a1f56cdbf..cb8f41024 100644 --- a/src/org/linphone/ChatListFragment.java +++ b/src/org/linphone/ChatListFragment.java @@ -367,7 +367,7 @@ public class ChatListFragment extends Fragment implements OnClickListener, OnIte avatarWithPresenceImage.setFormatAvatarImage(AvatarWithPresenceImage.AVATAR_SMALL); if(contact != null && contact.isLinphoneFriend()) { avatarWithPresenceImage.setLinphoneContact(contact); - LinphoneActivity.instance().addPresenceUpdatedListener(avatarWithPresenceImage); + LinphoneManager.getInstance().addPresenceUpdatedListener(avatarWithPresenceImage); } //Obiane specification diff --git a/src/org/linphone/ContactDetailsFragment.java b/src/org/linphone/ContactDetailsFragment.java index 9507da9dc..b554bd5ed 100644 --- a/src/org/linphone/ContactDetailsFragment.java +++ b/src/org/linphone/ContactDetailsFragment.java @@ -121,7 +121,7 @@ public class ContactDetailsFragment extends Fragment implements OnClickListener avatarWithPresenceImage.setFormatAvatarImage(AvatarWithPresenceImage.AVATAR_BIG); if(contact != null && contact.isLinphoneFriend()) { avatarWithPresenceImage.setLinphoneContact(contact); - LinphoneActivity.instance().addPresenceUpdatedListener(avatarWithPresenceImage); + LinphoneManager.getInstance().addPresenceUpdatedListener(avatarWithPresenceImage); } TextView contactName = (TextView) view.findViewById(R.id.contact_name); diff --git a/src/org/linphone/ContactsListFragment.java b/src/org/linphone/ContactsListFragment.java index 79ae359c1..89fe69659 100644 --- a/src/org/linphone/ContactsListFragment.java +++ b/src/org/linphone/ContactsListFragment.java @@ -444,14 +444,9 @@ public class ContactsListFragment extends Fragment implements OnClickListener, O */ AvatarWithPresenceImage avatarWithPresenceImage = (AvatarWithPresenceImage) view.findViewById(R.id.avatar_with_presence); avatarWithPresenceImage.setFormatAvatarImage(AvatarWithPresenceImage.AVATAR_SMALL); - if(contact != null ) { + if(contact != null && contact.isLinphoneFriend()) { avatarWithPresenceImage.setLinphoneContact(contact); - if (contact.isLinphoneFriend()) { - LinphoneActivity.instance().addPresenceUpdatedListener(avatarWithPresenceImage); - } - }else { - avatarWithPresenceImage.setLinphoneContact(contact); - LinphoneActivity.instance().addPresenceUpdatedListener(avatarWithPresenceImage); + LinphoneManager.getInstance().addPresenceUpdatedListener(avatarWithPresenceImage); } return view; } diff --git a/src/org/linphone/HistoryDetailFragment.java b/src/org/linphone/HistoryDetailFragment.java index 873cafa50..d8ef6b291 100644 --- a/src/org/linphone/HistoryDetailFragment.java +++ b/src/org/linphone/HistoryDetailFragment.java @@ -105,7 +105,7 @@ public class HistoryDetailFragment extends Fragment implements OnClickListener { LinphoneContact contact = ContactsManager.getInstance().findContactFromAddress(lAddress); if (contact != null && contact.isLinphoneFriend() ) { avatarWithPresenceImage.setLinphoneContact(contact); - LinphoneActivity.instance().addPresenceUpdatedListener(avatarWithPresenceImage); + LinphoneManager.getInstance().addPresenceUpdatedListener(avatarWithPresenceImage); } } catch(LinphoneCoreException e) { e.printStackTrace(); diff --git a/src/org/linphone/HistoryListFragment.java b/src/org/linphone/HistoryListFragment.java index 30cddc65b..01f834bb5 100644 --- a/src/org/linphone/HistoryListFragment.java +++ b/src/org/linphone/HistoryListFragment.java @@ -452,7 +452,7 @@ public class HistoryListFragment extends Fragment implements OnClickListener, On holder.avatarWithPresenceImage.setFormatAvatarImage(AvatarWithPresenceImage.AVATAR_SMALL); if(c != null && c.isLinphoneFriend() ) { holder.avatarWithPresenceImage.setLinphoneContact(c); - LinphoneActivity.instance().addPresenceUpdatedListener(holder.avatarWithPresenceImage); + LinphoneManager.getInstance().addPresenceUpdatedListener(holder.avatarWithPresenceImage); } if (isEditMode) { diff --git a/src/org/linphone/LinphoneActivity.java b/src/org/linphone/LinphoneActivity.java index 6bd4eb846..3b764770d 100644 --- a/src/org/linphone/LinphoneActivity.java +++ b/src/org/linphone/LinphoneActivity.java @@ -284,12 +284,12 @@ public class LinphoneActivity extends Activity implements OnClickListener, Conta @Override public void notifyPresenceReceived(LinphoneCore lc, LinphoneFriend lf) { Log.e("===>> LinphoneActivity : notifyPresenceReceived 1 : "+lf.getName().toString()); - for(AvatarWithPresenceImage listener : listeners){ + /* for(AvatarWithPresenceImage listener : listeners){ Log.e("===>> LinphoneActivity : notifyPresenceReceived 2 : "+lf.getName().toString()); if(listener.isThisFriend(lf)){ listener.updatePresenceIcon(lc, lf); } - } + }*/ } }; @@ -321,6 +321,7 @@ public class LinphoneActivity extends Activity implements OnClickListener, Conta mAlwaysChangingPhoneAngle = rotation; updateAnimationsState(); + LinphoneManager.getInstance().enableProxyPublish(true); } public void resetListener(){ @@ -421,10 +422,10 @@ public class LinphoneActivity extends Activity implements OnClickListener, Conta } - public void addPresenceUpdatedListener(AvatarWithPresenceImage aWPI){ - listeners.add(aWPI); - } - + /* public void addPresenceUpdatedListener(AvatarWithPresenceImage aWPI){ + listeners.add(aWPI); + } +*/ private boolean isTablet() { return getResources().getBoolean(R.bool.isTablet); } @@ -1292,6 +1293,8 @@ public class LinphoneActivity extends Activity implements OnClickListener, Conta @Override protected void onPause() { + Log.e("LinphoneActivity - onPause"); + //LinphoneManager.getInstance().enableProxyPublish(false); getIntent().putExtra("PreviousActivity", 0); super.onPause(); diff --git a/src/org/linphone/LinphoneContact.java b/src/org/linphone/LinphoneContact.java index 87c4ad518..4ff84769c 100644 --- a/src/org/linphone/LinphoneContact.java +++ b/src/org/linphone/LinphoneContact.java @@ -377,7 +377,6 @@ public class LinphoneContact implements Serializable, Comparable>> LinphoneContact : isAndroidContact & isLinphoneFriend : "); fullName = friend.getName(); thumbnailUri = null; photoUri = null; @@ -387,7 +386,6 @@ public class LinphoneContact implements Serializable, Comparable>> LinphoneContact : isAndroidContact : "+getFriendPresenceModel().toString()); String id = getAndroidId(); getContactNames(id); setThumbnailUri(getContactPictureUri(id)); diff --git a/src/org/linphone/LinphoneManager.java b/src/org/linphone/LinphoneManager.java index 417cfa17b..bdac8a258 100644 --- a/src/org/linphone/LinphoneManager.java +++ b/src/org/linphone/LinphoneManager.java @@ -78,6 +78,7 @@ import org.linphone.mediastream.Version; import org.linphone.mediastream.video.capture.hwconf.AndroidCameraConfiguration; import org.linphone.mediastream.video.capture.hwconf.AndroidCameraConfiguration.AndroidCamera; import org.linphone.mediastream.video.capture.hwconf.Hacks; +import org.linphone.ui.AvatarWithPresenceImage; import android.annotation.SuppressLint; import android.annotation.TargetApi; @@ -203,7 +204,7 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag private final String mErrorToneFile; private final String mUserCertificatePath; private ByteArrayInputStream mUploadingImageStream; - + private ArrayList listeners; private Timer mTimer; private BroadcastReceiver mKeepAliveReceiver = new KeepAliveReceiver(); @@ -242,7 +243,7 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag TelephonyManager tm = (TelephonyManager) c.getSystemService(Context.TELEPHONY_SERVICE); boolean gsmIdle = tm.getCallState() == TelephonyManager.CALL_STATE_IDLE; setGsmIdle(gsmIdle); - + instance.listeners = new ArrayList(); instance.enableProxyPublish(true); return instance; } @@ -350,11 +351,15 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag return false; } - private void enableProxyPublish( boolean enabled) { + public void enableProxyPublish( boolean enabled) { + changeStatusToOffline(); + Log.e("==>> enableProxyPublish : "+enabled); LinphoneCore lc = getLcIfManagerNotDestroyedOrNull(); if(lc != null ) { LinphoneProxyConfig[] proxyList = lc.getProxyConfigList(); + Log.e("==>> enableProxyPublish : LC not null : "+proxyList.length); for (LinphoneProxyConfig proxyConfig : proxyList) { + Log.e("==>> enableProxyPublish : proxyList"); proxyConfig.edit(); proxyConfig.enablePublish(enabled); proxyConfig.done(); @@ -803,7 +808,6 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag @TargetApi(Build.VERSION_CODES.HONEYCOMB) private void doDestroy() { - enableProxyPublish(false); if (LinphoneService.isReady()) // indeed, no need to crash ChatStorage.getInstance().close(); @@ -866,9 +870,17 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag } public void notifyPresenceReceived(LinphoneCore lc, LinphoneFriend lf) { + Log.e("===>> LinphoneManager - notifyPresenceReceived : "+lf.getName()); + for(AvatarWithPresenceImage listener : listeners){ + if(listener.isThisFriend(lf)){ + Log.e("===>> LinphoneManager : notifyPresenceReceived 2 : "+lf.getName().toString()); + listener.updatePresenceIcon(lc, lf); + } + } + } - // TODO: - Log.e("===>> LinphoneMAnager - notifyPresenceReceived : "+lf.getName()); + public void addPresenceUpdatedListener(AvatarWithPresenceImage aWPI){ + listeners.add(aWPI); } @Override diff --git a/submodules/linphone b/submodules/linphone index 16e21507b..465559dd6 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 16e21507be68b24d8beb95775fe639a903efcefe +Subproject commit 465559dd662d8e1c2a05dea873154c1d2dbdd241