Merge "Telecom: Reset the duration after the CDMA call is accepted"
This commit is contained in:
@@ -842,6 +842,7 @@ public abstract class Connection extends Conferenceable {
|
||||
public void onRemoteRttRequest(Connection c) {}
|
||||
/** @hide */
|
||||
public void onPhoneAccountChanged(Connection c, PhoneAccountHandle pHandle) {}
|
||||
public void onConnectionTimeReset(Connection c) {}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2363,6 +2364,16 @@ public abstract class Connection extends Conferenceable {
|
||||
fireOnConferenceableConnectionsChanged();
|
||||
}
|
||||
|
||||
/**
|
||||
* @hide
|
||||
* Resets the cdma connection time.
|
||||
*/
|
||||
public final void resetConnectionTime() {
|
||||
for (Listener l : mListeners) {
|
||||
l.onConnectionTimeReset(this);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the connections or conferences with which this connection can be conferenced.
|
||||
*/
|
||||
|
||||
@@ -1474,6 +1474,13 @@ public abstract class ConnectionService extends Service {
|
||||
mAdapter.onPhoneAccountChanged(id, pHandle);
|
||||
}
|
||||
}
|
||||
|
||||
public void onConnectionTimeReset(Connection c) {
|
||||
String id = mIdByConnection.get(c);
|
||||
if (id != null) {
|
||||
mAdapter.resetConnectionTime(id);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/** {@inheritDoc} */
|
||||
|
||||
@@ -254,6 +254,18 @@ final class ConnectionServiceAdapter implements DeathRecipient {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Resets the cdma connection time.
|
||||
*/
|
||||
void resetConnectionTime(String callId) {
|
||||
for (IConnectionServiceAdapter adapter : mAdapters) {
|
||||
try {
|
||||
adapter.resetConnectionTime(callId, Log.getExternalSession());
|
||||
} catch (RemoteException e) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicates that the call no longer exists. Can be used with either a call or a conference
|
||||
* call.
|
||||
|
||||
@@ -610,6 +610,11 @@ final class ConnectionServiceAdapterServant {
|
||||
public void onConnectionServiceFocusReleased(Session.Info sessionInfo) {
|
||||
mHandler.obtainMessage(MSG_CONNECTION_SERVICE_FOCUS_RELEASED).sendToTarget();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetConnectionTime(String callId, Session.Info sessionInfo) {
|
||||
// Do nothing
|
||||
}
|
||||
};
|
||||
|
||||
public ConnectionServiceAdapterServant(IConnectionServiceAdapter delegate) {
|
||||
|
||||
@@ -466,6 +466,11 @@ final class RemoteConnectionService {
|
||||
Log.w(this, "onRemoteRttRequest called on a remote conference");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetConnectionTime(String callId, Session.Info sessionInfo) {
|
||||
// Do nothing
|
||||
}
|
||||
};
|
||||
|
||||
private final ConnectionServiceAdapterServant mServant =
|
||||
|
||||
@@ -121,4 +121,6 @@ oneway interface IConnectionServiceAdapter {
|
||||
in Session.Info sessionInfo);
|
||||
|
||||
void onConnectionServiceFocusReleased(in Session.Info sessionInfo);
|
||||
|
||||
void resetConnectionTime(String callIdi, in Session.Info sessionInfo);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user