Go to home on back key.

This commit is contained in:
Guillaume Beraudo 2011-03-18 10:45:25 +01:00
parent 1cbb4e265a
commit 427b252651

View file

@ -21,12 +21,13 @@ package org.linphone;
import java.util.Timer;
import java.util.TimerTask;
import org.linphone.ui.AddVideoButton;
import org.linphone.ui.HangCallButton;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
@ -69,9 +70,6 @@ public class IncallActivity extends Activity implements OnClickListener {
}
elapsedTime = (TextView) findViewById(R.id.incallElapsedTime);
AddVideoButton addVideoButton = (AddVideoButton) findViewById(R.id.AddVideo);
addVideoButton.setOnAlreadyInVideoCallListener(DialerActivity.instance());
}
public void onClick(View v) {
@ -97,17 +95,16 @@ public class IncallActivity extends Activity implements OnClickListener {
task = new TimerTask() {
@Override
public void run() {
if (LinphoneManager.getLc().isIncall()) {
if (!LinphoneManager.getLc().isIncall()) return;
final int duration = LinphoneManager.getLc().getCurrentCall().getDuration();
if (duration != 0) {
if (duration == 0) return;
handler.post(new Runnable() {
public void run() {
elapsedTime.setText(String.valueOf(duration));
}
});
}
}
}
};
@ -124,4 +121,29 @@ public class IncallActivity extends Activity implements OnClickListener {
}
}
// Go to home on Back key
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
if (event.getAction() == KeyEvent.ACTION_DOWN
&& event.getRepeatCount() == 0) {
// Tell the framework to start tracking this event.
numpad.getKeyDispatcherState().startTracking(event, this);
return true;
} else if (event.getAction() == KeyEvent.ACTION_UP) {
numpad.getKeyDispatcherState().handleUpEvent(event);
if (event.isTracking() && !event.isCanceled()) {
startActivity(new Intent()
.setAction(Intent.ACTION_MAIN)
.addCategory(Intent.CATEGORY_HOME));
return true;
}
}
return super.dispatchKeyEvent(event);
} else {
return super.dispatchKeyEvent(event);
}
}
}