* #25270 Overall improvements of transitions between calls and call actions
* #25117 Refactor and stability
diff --git a/src/com/savoirfairelinux/sflphone/client/SFLPhoneHomeActivity.java b/src/com/savoirfairelinux/sflphone/client/SFLPhoneHomeActivity.java
index 64abea2..2f1041d 100644
--- a/src/com/savoirfairelinux/sflphone/client/SFLPhoneHomeActivity.java
+++ b/src/com/savoirfairelinux/sflphone/client/SFLPhoneHomeActivity.java
@@ -31,7 +31,6 @@
*/
package com.savoirfairelinux.sflphone.client;
-import java.util.ArrayList;
import java.util.HashMap;
import java.util.Timer;
import java.util.TimerTask;
@@ -71,6 +70,7 @@
import com.savoirfairelinux.sflphone.interfaces.CallInterface;
import com.savoirfairelinux.sflphone.loaders.LoaderConstants;
import com.savoirfairelinux.sflphone.model.CallContact;
+import com.savoirfairelinux.sflphone.model.Conference;
import com.savoirfairelinux.sflphone.model.SipCall;
import com.savoirfairelinux.sflphone.receivers.CallReceiver;
import com.savoirfairelinux.sflphone.service.CallManagerCallBack;
@@ -345,11 +345,11 @@
public void launchCallActivity(SipCall infos) {
Log.i(TAG, "Launch Call Activity");
Bundle bundle = new Bundle();
- ArrayList<SipCall> tmp = new ArrayList<SipCall>();
- tmp.add(infos);
- bundle.putParcelableArrayList("CallsInfo", tmp);
+ Conference tmp = new Conference("-1");
+ tmp.getParticipants().add(infos);
+ bundle.putParcelable("conference", tmp);
Intent intent = new Intent().setClass(this, CallActivity.class);
-
+ intent.putExtra("resuming", false);
intent.putExtras(bundle);
startActivityForResult(intent, REQUEST_CODE_CALL);
}
@@ -367,6 +367,7 @@
getFragmentManager().beginTransaction().replace(R.id.left_drawer, fMenu).commit();
mSectionsPagerAdapter = new SectionsPagerAdapter(SFLPhoneHomeActivity.this, getFragmentManager());
initialiseTabHost(null);
+ mViewPager.setOffscreenPageLimit(2);
mViewPager.setAdapter(mSectionsPagerAdapter);
mTabHost.setCurrentTab(1);
service.destroyNotification();
@@ -410,19 +411,13 @@
break;
case REQUEST_CODE_CALL:
Log.w(TAG, "Result out of CallActivity");
-
+ getLoaderManager().restartLoader(LoaderConstants.HISTORY_LOADER, null, (HistoryFragment) mSectionsPagerAdapter.getItem(2));
break;
}
}
@Override
- public void onCallSelected(SipCall c) {
- launchCallActivity(c);
-
- }
-
- @Override
public ISipService getService() {
return service;
}
@@ -507,6 +502,11 @@
@Override
public void onCallDialed(String to) {
+ if (fMenu.getSelectedAccount() == null) {
+ Toast.makeText(this, "No Account Selected", Toast.LENGTH_SHORT).show();
+ return;
+ }
+
SipCall.SipCallBuilder callBuilder = SipCall.SipCallBuilder.getInstance();
callBuilder.startCallCreation().setAccountID(fMenu.getSelectedAccount().getAccountID()).setCallType(SipCall.state.CALL_TYPE_OUTGOING);
callBuilder.setContact(CallContact.ContactBuilder.buildUnknownContact(to));
@@ -586,19 +586,32 @@
@Override
public void confCreated(Intent intent) {
// TODO Auto-generated method stub
-
+
}
@Override
public void confRemoved(Intent intent) {
// TODO Auto-generated method stub
-
+
}
@Override
public void confChanged(Intent intent) {
// TODO Auto-generated method stub
-
+
+ }
+
+ @Override
+ public void recordingChanged(Intent intent) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void resumeCallActivity() {
+ Intent intent = new Intent().setClass(this, CallActivity.class);
+ intent.putExtra("resuming", true);
+ startActivityForResult(intent, REQUEST_CODE_CALL);
}
}