Fixed call transfer button no shown, instead call add button is visible
This commit is contained in:
parent
6b3bff4412
commit
aa5efc67f7
2 changed files with 17 additions and 38 deletions
|
@ -412,7 +412,6 @@ public class LinphoneActivity extends LinphoneGenericActivity
|
|||
if (lc != null) {
|
||||
lc.removeListener(mListener);
|
||||
}
|
||||
mCallTransfer = false;
|
||||
mIsOnBackground = true;
|
||||
|
||||
super.onPause();
|
||||
|
@ -534,6 +533,7 @@ public class LinphoneActivity extends LinphoneGenericActivity
|
|||
}*/
|
||||
|
||||
Bundle extras = intent.getExtras();
|
||||
mCallTransfer = false;
|
||||
if (extras != null) {
|
||||
if (extras.getBoolean("GoToChat", false)) {
|
||||
String localSipUri = extras.getString("LocalSipUri");
|
||||
|
@ -566,6 +566,12 @@ public class LinphoneActivity extends LinphoneGenericActivity
|
|||
goToDialerFragment();
|
||||
} else if (extras.getBoolean("Transfer", false)) {
|
||||
intent.putExtra("DoNotGoToCallActivity", true);
|
||||
mCallTransfer = true;
|
||||
if (LinphoneManager.getLc().getCallsNb() > 0) {
|
||||
initInCallMenuLayout();
|
||||
} else {
|
||||
resetClassicMenuLayoutAndGoBackToCallIfStillRunning();
|
||||
}
|
||||
} else if (extras.getBoolean("AddCall", false)) {
|
||||
intent.putExtra("DoNotGoToCallActivity", true);
|
||||
} else if (intent.getStringExtra("msgShared") != null) {
|
||||
|
@ -1382,7 +1388,12 @@ public class LinphoneActivity extends LinphoneGenericActivity
|
|||
AddressType address = new AddressText(this, null);
|
||||
address.setText(number);
|
||||
address.setDisplayedName(name);
|
||||
if (!mCallTransfer) {
|
||||
LinphoneManager.getInstance().newOutgoingCall(address);
|
||||
} else {
|
||||
addressWaitingToBeCalled = number;
|
||||
displayDialer();
|
||||
}
|
||||
}
|
||||
|
||||
public void startIncallActivity() {
|
||||
|
|
|
@ -20,9 +20,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|||
*/
|
||||
|
||||
import android.app.Fragment;
|
||||
import android.content.Intent;
|
||||
import android.content.res.Configuration;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
|
@ -32,11 +30,8 @@ import android.widget.ImageView;
|
|||
import android.widget.LinearLayout;
|
||||
import org.linphone.LinphoneActivity;
|
||||
import org.linphone.LinphoneManager;
|
||||
import org.linphone.LinphoneService;
|
||||
import org.linphone.R;
|
||||
import org.linphone.contacts.ContactsManager;
|
||||
import org.linphone.core.Core;
|
||||
import org.linphone.core.tools.Log;
|
||||
import org.linphone.views.AddressAware;
|
||||
import org.linphone.views.AddressText;
|
||||
import org.linphone.views.CallButton;
|
||||
|
@ -178,7 +173,8 @@ public class DialerFragment extends Fragment {
|
|||
String addressWaitingToBeCalled = LinphoneActivity.instance().addressWaitingToBeCalled;
|
||||
if (addressWaitingToBeCalled != null) {
|
||||
mAddress.setText(addressWaitingToBeCalled);
|
||||
if (getResources()
|
||||
if (!LinphoneActivity.instance().isCallTransfer()
|
||||
&& getResources()
|
||||
.getBoolean(R.bool.automatically_start_intercepted_outgoing_gsm_call)) {
|
||||
newOutgoingCall(addressWaitingToBeCalled);
|
||||
}
|
||||
|
@ -208,6 +204,7 @@ public class DialerFragment extends Fragment {
|
|||
mAddContact.setImageResource(R.drawable.call_back);
|
||||
mAddContact.setOnClickListener(mCancelListener);
|
||||
} else {
|
||||
mCall.resetClickListener();
|
||||
if (LinphoneManager.getLc().getVideoActivationPolicy().getAutomaticallyInitiate()) {
|
||||
mCall.setImageResource(R.drawable.call_video_start);
|
||||
} else {
|
||||
|
@ -235,33 +232,4 @@ public class DialerFragment extends Fragment {
|
|||
displayTextInAddressBar(numberOrSipAddress);
|
||||
LinphoneManager.getInstance().newOutgoingCall(mAddress);
|
||||
}
|
||||
|
||||
public void newOutgoingCall(Intent intent) {
|
||||
if (intent != null && intent.getData() != null) {
|
||||
String scheme = intent.getData().getScheme();
|
||||
if (scheme.startsWith("imto")) {
|
||||
mAddress.setText("sip:" + intent.getData().getLastPathSegment());
|
||||
} else if (scheme.startsWith("call") || scheme.startsWith("sip")) {
|
||||
mAddress.setText(intent.getData().getSchemeSpecificPart());
|
||||
} else {
|
||||
Uri contactUri = intent.getData();
|
||||
String address =
|
||||
ContactsManager.getInstance()
|
||||
.getAddressOrNumberForAndroidContact(
|
||||
LinphoneService.instance().getContentResolver(),
|
||||
contactUri);
|
||||
if (address != null) {
|
||||
mAddress.setText(address);
|
||||
} else {
|
||||
Log.e("Unknown scheme: ", scheme);
|
||||
mAddress.setText(intent.getData().getSchemeSpecificPart());
|
||||
}
|
||||
}
|
||||
|
||||
mAddress.clearDisplayedName();
|
||||
intent.setData(null);
|
||||
|
||||
LinphoneManager.getInstance().newOutgoingCall(mAddress);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue