Loading src/com/android/server/telecom/Call.java +3 −1 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.Trace; import android.provider.ContactsContract.Contacts; import android.telecom.CallState; import android.telecom.DisconnectCause; Loading @@ -44,7 +45,6 @@ import com.android.internal.telephony.CallerInfoAsyncQuery; import com.android.internal.telephony.CallerInfoAsyncQuery.OnQueryCompleteListener; import com.android.internal.telephony.SmsApplication; import com.android.server.telecom.ContactsAsyncHelper.OnImageLoadCompleteListener; import com.android.internal.util.Preconditions; import java.util.ArrayList; Loading Loading @@ -1175,6 +1175,7 @@ final class Call implements CreateConnectionResponse { * @param token The token used with this query. */ private void setCallerInfo(CallerInfo callerInfo, int token) { Trace.beginSection("setCallerInfo"); Preconditions.checkNotNull(callerInfo); if (mQueryToken == token) { Loading @@ -1199,6 +1200,7 @@ final class Call implements CreateConnectionResponse { processDirectToVoicemail(); } Trace.endSection(); } CallerInfo getCallerInfo() { Loading src/com/android/server/telecom/CallActivity.java +3 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.os.Trace; import android.os.UserHandle; import android.os.UserManager; import android.telecom.PhoneAccount; Loading Loading @@ -124,7 +125,9 @@ public class CallActivity extends Activity { intent.putExtra(CallReceiver.KEY_IS_DEFAULT_DIALER, isDefaultDialer()); if (UserHandle.myUserId() == UserHandle.USER_OWNER) { Trace.beginSection("processOutgoingCallIntent"); CallReceiver.processOutgoingCallIntent(getApplicationContext(), intent); Trace.endSection(); } else { sendBroadcastToReceiver(intent, false /* isIncoming */); } Loading src/com/android/server/telecom/CallsManager.java +40 −1 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.content.pm.ResolveInfo; import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.Trace; import android.provider.CallLog.Calls; import android.telecom.AudioState; import android.telecom.CallState; Loading @@ -38,6 +39,7 @@ import android.telecom.VideoProfile; import android.telephony.TelephonyManager; import com.android.internal.util.IndentingPrintWriter; import com.google.common.collect.ImmutableCollection; import com.google.common.collect.ImmutableList; Loading Loading @@ -1034,20 +1036,28 @@ public final class CallsManager extends Call.ListenerBase { * @param call The call to add. */ private void addCall(Call call) { Trace.beginSection("addCall"); Log.v(this, "addCall(%s)", call); call.addListener(this); mCalls.add(call); // TODO: Update mForegroundCall prior to invoking // onCallAdded for calls which immediately take the foreground (like the first call). for (CallsManagerListener listener : mListeners) { if (Log.SYSTRACE_DEBUG) { Trace.beginSection(listener.getClass().toString() + " addCall"); } listener.onCallAdded(call); if (Log.SYSTRACE_DEBUG) { Trace.endSection(); } } updateCallsManagerState(); Trace.endSection(); } private void removeCall(Call call) { Trace.beginSection("removeCall"); Log.v(this, "removeCall(%s)", call); call.setParentCall(null); // need to clean up parent relationship before destroying. Loading @@ -1063,10 +1073,17 @@ public final class CallsManager extends Call.ListenerBase { // Only broadcast changes for calls that are being tracked. if (shouldNotify) { for (CallsManagerListener listener : mListeners) { if (Log.SYSTRACE_DEBUG) { Trace.beginSection(listener.getClass().toString() + " onCallRemoved"); } listener.onCallRemoved(call); if (Log.SYSTRACE_DEBUG) { Trace.endSection(); } } updateCallsManagerState(); } Trace.endSection(); } /** Loading @@ -1092,13 +1109,21 @@ public final class CallsManager extends Call.ListenerBase { // unexpected transition occurs. call.setState(newState); Trace.beginSection("onCallStateChanged"); // Only broadcast state change for calls that are being tracked. if (mCalls.contains(call)) { for (CallsManagerListener listener : mListeners) { if (Log.SYSTRACE_DEBUG) { Trace.beginSection(listener.getClass().toString() + " onCallStateChanged"); } listener.onCallStateChanged(call, oldState, newState); if (Log.SYSTRACE_DEBUG) { Trace.endSection(); } } updateCallsManagerState(); } Trace.endSection(); } } Loading @@ -1106,6 +1131,7 @@ public final class CallsManager extends Call.ListenerBase { * Checks which call should be visible to the user and have audio focus. */ private void updateForegroundCall() { Trace.beginSection("updateForegroundCall"); Call newForegroundCall = null; for (Call call : mCalls) { // TODO: Foreground-ness needs to be explicitly set. No call, regardless Loading Loading @@ -1136,17 +1162,30 @@ public final class CallsManager extends Call.ListenerBase { mForegroundCall = newForegroundCall; for (CallsManagerListener listener : mListeners) { if (Log.SYSTRACE_DEBUG) { Trace.beginSection(listener.getClass().toString() + " updateForegroundCall"); } listener.onForegroundCallChanged(oldForegroundCall, mForegroundCall); if (Log.SYSTRACE_DEBUG) { Trace.endSection(); } } } Trace.endSection(); } private void updateCanAddCall() { boolean newCanAddCall = canAddCall(); if (newCanAddCall != mCanAddCall) { mCanAddCall = newCanAddCall; for (CallsManagerListener listener : mListeners) { if (Log.SYSTRACE_DEBUG) { Trace.beginSection(listener.getClass().toString() + " updateCanAddCall"); } listener.onCanAddCallChanged(mCanAddCall); if (Log.SYSTRACE_DEBUG) { Trace.endSection(); } } } } Loading src/com/android/server/telecom/InCallController.java +5 −1 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.content.res.Resources; import android.net.Uri; import android.os.IBinder; import android.os.RemoteException; import android.os.Trace; import android.os.UserHandle; import android.telecom.AudioState; import android.telecom.CallProperties; Loading @@ -38,6 +39,7 @@ import android.telecom.PhoneCapabilities; import android.telecom.TelecomManager; import android.util.ArrayMap; // TODO: Needed for move to system service: import com.android.internal.R; import com.android.internal.telecom.IInCallService; import com.android.internal.util.IndentingPrintWriter; Loading Loading @@ -334,7 +336,7 @@ public final class InCallController extends CallsManagerListenerBase { */ private void onConnected(ComponentName componentName, IBinder service) { ThreadUtil.checkOnMainThread(); Trace.beginSection("onConnected: " + componentName); Log.i(this, "onConnected to %s", componentName); IInCallService inCallService = IInCallService.Stub.asInterface(service); Loading @@ -345,6 +347,7 @@ public final class InCallController extends CallsManagerListenerBase { mInCallServices.put(componentName, inCallService); } catch (RemoteException e) { Log.e(this, e, "Failed to set the in-call adapter."); Trace.endSection(); return; } Loading @@ -369,6 +372,7 @@ public final class InCallController extends CallsManagerListenerBase { } else { unbind(); } Trace.endSection(); } /** Loading src/com/android/server/telecom/Log.java +1 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ public class Log { private static final String TAG = "Telecom"; public static final boolean FORCE_LOGGING = false; /* STOP SHIP if true */ public static final boolean SYSTRACE_DEBUG = true; /* STOP SHIP if true */ public static final boolean DEBUG = isLoggable(android.util.Log.DEBUG); public static final boolean INFO = isLoggable(android.util.Log.INFO); public static final boolean VERBOSE = isLoggable(android.util.Log.VERBOSE); Loading Loading
src/com/android/server/telecom/Call.java +3 −1 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.Trace; import android.provider.ContactsContract.Contacts; import android.telecom.CallState; import android.telecom.DisconnectCause; Loading @@ -44,7 +45,6 @@ import com.android.internal.telephony.CallerInfoAsyncQuery; import com.android.internal.telephony.CallerInfoAsyncQuery.OnQueryCompleteListener; import com.android.internal.telephony.SmsApplication; import com.android.server.telecom.ContactsAsyncHelper.OnImageLoadCompleteListener; import com.android.internal.util.Preconditions; import java.util.ArrayList; Loading Loading @@ -1175,6 +1175,7 @@ final class Call implements CreateConnectionResponse { * @param token The token used with this query. */ private void setCallerInfo(CallerInfo callerInfo, int token) { Trace.beginSection("setCallerInfo"); Preconditions.checkNotNull(callerInfo); if (mQueryToken == token) { Loading @@ -1199,6 +1200,7 @@ final class Call implements CreateConnectionResponse { processDirectToVoicemail(); } Trace.endSection(); } CallerInfo getCallerInfo() { Loading
src/com/android/server/telecom/CallActivity.java +3 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.os.Trace; import android.os.UserHandle; import android.os.UserManager; import android.telecom.PhoneAccount; Loading Loading @@ -124,7 +125,9 @@ public class CallActivity extends Activity { intent.putExtra(CallReceiver.KEY_IS_DEFAULT_DIALER, isDefaultDialer()); if (UserHandle.myUserId() == UserHandle.USER_OWNER) { Trace.beginSection("processOutgoingCallIntent"); CallReceiver.processOutgoingCallIntent(getApplicationContext(), intent); Trace.endSection(); } else { sendBroadcastToReceiver(intent, false /* isIncoming */); } Loading
src/com/android/server/telecom/CallsManager.java +40 −1 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.content.pm.ResolveInfo; import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.Trace; import android.provider.CallLog.Calls; import android.telecom.AudioState; import android.telecom.CallState; Loading @@ -38,6 +39,7 @@ import android.telecom.VideoProfile; import android.telephony.TelephonyManager; import com.android.internal.util.IndentingPrintWriter; import com.google.common.collect.ImmutableCollection; import com.google.common.collect.ImmutableList; Loading Loading @@ -1034,20 +1036,28 @@ public final class CallsManager extends Call.ListenerBase { * @param call The call to add. */ private void addCall(Call call) { Trace.beginSection("addCall"); Log.v(this, "addCall(%s)", call); call.addListener(this); mCalls.add(call); // TODO: Update mForegroundCall prior to invoking // onCallAdded for calls which immediately take the foreground (like the first call). for (CallsManagerListener listener : mListeners) { if (Log.SYSTRACE_DEBUG) { Trace.beginSection(listener.getClass().toString() + " addCall"); } listener.onCallAdded(call); if (Log.SYSTRACE_DEBUG) { Trace.endSection(); } } updateCallsManagerState(); Trace.endSection(); } private void removeCall(Call call) { Trace.beginSection("removeCall"); Log.v(this, "removeCall(%s)", call); call.setParentCall(null); // need to clean up parent relationship before destroying. Loading @@ -1063,10 +1073,17 @@ public final class CallsManager extends Call.ListenerBase { // Only broadcast changes for calls that are being tracked. if (shouldNotify) { for (CallsManagerListener listener : mListeners) { if (Log.SYSTRACE_DEBUG) { Trace.beginSection(listener.getClass().toString() + " onCallRemoved"); } listener.onCallRemoved(call); if (Log.SYSTRACE_DEBUG) { Trace.endSection(); } } updateCallsManagerState(); } Trace.endSection(); } /** Loading @@ -1092,13 +1109,21 @@ public final class CallsManager extends Call.ListenerBase { // unexpected transition occurs. call.setState(newState); Trace.beginSection("onCallStateChanged"); // Only broadcast state change for calls that are being tracked. if (mCalls.contains(call)) { for (CallsManagerListener listener : mListeners) { if (Log.SYSTRACE_DEBUG) { Trace.beginSection(listener.getClass().toString() + " onCallStateChanged"); } listener.onCallStateChanged(call, oldState, newState); if (Log.SYSTRACE_DEBUG) { Trace.endSection(); } } updateCallsManagerState(); } Trace.endSection(); } } Loading @@ -1106,6 +1131,7 @@ public final class CallsManager extends Call.ListenerBase { * Checks which call should be visible to the user and have audio focus. */ private void updateForegroundCall() { Trace.beginSection("updateForegroundCall"); Call newForegroundCall = null; for (Call call : mCalls) { // TODO: Foreground-ness needs to be explicitly set. No call, regardless Loading Loading @@ -1136,17 +1162,30 @@ public final class CallsManager extends Call.ListenerBase { mForegroundCall = newForegroundCall; for (CallsManagerListener listener : mListeners) { if (Log.SYSTRACE_DEBUG) { Trace.beginSection(listener.getClass().toString() + " updateForegroundCall"); } listener.onForegroundCallChanged(oldForegroundCall, mForegroundCall); if (Log.SYSTRACE_DEBUG) { Trace.endSection(); } } } Trace.endSection(); } private void updateCanAddCall() { boolean newCanAddCall = canAddCall(); if (newCanAddCall != mCanAddCall) { mCanAddCall = newCanAddCall; for (CallsManagerListener listener : mListeners) { if (Log.SYSTRACE_DEBUG) { Trace.beginSection(listener.getClass().toString() + " updateCanAddCall"); } listener.onCanAddCallChanged(mCanAddCall); if (Log.SYSTRACE_DEBUG) { Trace.endSection(); } } } } Loading
src/com/android/server/telecom/InCallController.java +5 −1 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.content.res.Resources; import android.net.Uri; import android.os.IBinder; import android.os.RemoteException; import android.os.Trace; import android.os.UserHandle; import android.telecom.AudioState; import android.telecom.CallProperties; Loading @@ -38,6 +39,7 @@ import android.telecom.PhoneCapabilities; import android.telecom.TelecomManager; import android.util.ArrayMap; // TODO: Needed for move to system service: import com.android.internal.R; import com.android.internal.telecom.IInCallService; import com.android.internal.util.IndentingPrintWriter; Loading Loading @@ -334,7 +336,7 @@ public final class InCallController extends CallsManagerListenerBase { */ private void onConnected(ComponentName componentName, IBinder service) { ThreadUtil.checkOnMainThread(); Trace.beginSection("onConnected: " + componentName); Log.i(this, "onConnected to %s", componentName); IInCallService inCallService = IInCallService.Stub.asInterface(service); Loading @@ -345,6 +347,7 @@ public final class InCallController extends CallsManagerListenerBase { mInCallServices.put(componentName, inCallService); } catch (RemoteException e) { Log.e(this, e, "Failed to set the in-call adapter."); Trace.endSection(); return; } Loading @@ -369,6 +372,7 @@ public final class InCallController extends CallsManagerListenerBase { } else { unbind(); } Trace.endSection(); } /** Loading
src/com/android/server/telecom/Log.java +1 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ public class Log { private static final String TAG = "Telecom"; public static final boolean FORCE_LOGGING = false; /* STOP SHIP if true */ public static final boolean SYSTRACE_DEBUG = true; /* STOP SHIP if true */ public static final boolean DEBUG = isLoggable(android.util.Log.DEBUG); public static final boolean INFO = isLoggable(android.util.Log.INFO); public static final boolean VERBOSE = isLoggable(android.util.Log.VERBOSE); Loading