diff options
Diffstat (limited to 'java/com/android/incallui/videotech')
4 files changed, 17 insertions, 10 deletions
diff --git a/java/com/android/incallui/videotech/VideoTech.java b/java/com/android/incallui/videotech/VideoTech.java index 71087cb2c..98703025c 100644 --- a/java/com/android/incallui/videotech/VideoTech.java +++ b/java/com/android/incallui/videotech/VideoTech.java @@ -19,6 +19,7 @@ package com.android.incallui.videotech; import android.content.Context; import android.support.annotation.NonNull; import android.support.annotation.Nullable; +import android.telecom.PhoneAccountHandle; import com.android.dialer.logging.DialerImpression; import com.android.incallui.video.protocol.VideoCallScreen; import com.android.incallui.video.protocol.VideoCallScreenDelegate; @@ -27,7 +28,7 @@ import com.android.incallui.videotech.utils.SessionModificationState; /** Video calling interface. */ public interface VideoTech { - boolean isAvailable(Context context); + boolean isAvailable(Context context, PhoneAccountHandle phoneAccountHandle); boolean isTransmittingOrReceiving(); @@ -50,7 +51,7 @@ public interface VideoTech { VideoCallScreenDelegate createVideoCallScreenDelegate( Context context, VideoCallScreen videoCallScreen); - void onCallStateChanged(Context context, int newState); + void onCallStateChanged(Context context, int newState, PhoneAccountHandle phoneAccountHandle); void onRemovedFromCallList(); diff --git a/java/com/android/incallui/videotech/duo/DuoVideoTech.java b/java/com/android/incallui/videotech/duo/DuoVideoTech.java index c858ae1f2..fdaed077b 100644 --- a/java/com/android/incallui/videotech/duo/DuoVideoTech.java +++ b/java/com/android/incallui/videotech/duo/DuoVideoTech.java @@ -20,6 +20,7 @@ import android.content.Context; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.telecom.Call; +import android.telecom.PhoneAccountHandle; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; import com.android.dialer.configprovider.ConfigProviderBindings; @@ -55,7 +56,7 @@ public class DuoVideoTech implements VideoTech, DuoListener { } @Override - public boolean isAvailable(Context context) { + public boolean isAvailable(Context context, PhoneAccountHandle phoneAccountHandle) { if (!ConfigProviderBindings.get(context) .getBoolean("enable_lightbringer_video_upgrade", true)) { LogUtil.v("DuoVideoTech.isAvailable", "upgrade disabled by flag"); @@ -66,7 +67,7 @@ public class DuoVideoTech implements VideoTech, DuoListener { LogUtil.v("DuoVideoTech.isAvailable", "upgrade unavailable, call must be active"); return false; } - Optional<Boolean> localResult = duo.supportsUpgrade(context, callingNumber); + Optional<Boolean> localResult = duo.supportsUpgrade(context, callingNumber, phoneAccountHandle); if (localResult.isPresent()) { LogUtil.v( "DuoVideoTech.isAvailable", "upgrade supported in local cache: " + localResult.get()); @@ -109,7 +110,8 @@ public class DuoVideoTech implements VideoTech, DuoListener { } @Override - public void onCallStateChanged(Context context, int newState) { + public void onCallStateChanged( + Context context, int newState, PhoneAccountHandle phoneAccountHandle) { if (newState == Call.STATE_DISCONNECTING) { duo.unregisterListener(this); } diff --git a/java/com/android/incallui/videotech/empty/EmptyVideoTech.java b/java/com/android/incallui/videotech/empty/EmptyVideoTech.java index 2e34a6a8a..9f6211de8 100644 --- a/java/com/android/incallui/videotech/empty/EmptyVideoTech.java +++ b/java/com/android/incallui/videotech/empty/EmptyVideoTech.java @@ -19,6 +19,7 @@ package com.android.incallui.videotech.empty; import android.content.Context; import android.support.annotation.NonNull; import android.support.annotation.Nullable; +import android.telecom.PhoneAccountHandle; import com.android.dialer.common.Assert; import com.android.incallui.video.protocol.VideoCallScreen; import com.android.incallui.video.protocol.VideoCallScreenDelegate; @@ -29,7 +30,7 @@ import com.android.incallui.videotech.utils.SessionModificationState; public class EmptyVideoTech implements VideoTech { @Override - public boolean isAvailable(Context context) { + public boolean isAvailable(Context context, PhoneAccountHandle phoneAccountHandle) { return false; } @@ -60,7 +61,8 @@ public class EmptyVideoTech implements VideoTech { } @Override - public void onCallStateChanged(Context context, int newState) {} + public void onCallStateChanged( + Context context, int newState, PhoneAccountHandle phoneAccountHandle) {} @Override public void onRemovedFromCallList() {} diff --git a/java/com/android/incallui/videotech/ims/ImsVideoTech.java b/java/com/android/incallui/videotech/ims/ImsVideoTech.java index 17bad5588..a2fb73bd2 100644 --- a/java/com/android/incallui/videotech/ims/ImsVideoTech.java +++ b/java/com/android/incallui/videotech/ims/ImsVideoTech.java @@ -23,6 +23,7 @@ import android.support.annotation.Nullable; import android.support.annotation.VisibleForTesting; import android.telecom.Call; import android.telecom.Call.Details; +import android.telecom.PhoneAccountHandle; import android.telecom.VideoProfile; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; @@ -59,7 +60,7 @@ public class ImsVideoTech implements VideoTech { } @Override - public boolean isAvailable(Context context) { + public boolean isAvailable(Context context, PhoneAccountHandle phoneAccountHandle) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) { return false; } @@ -121,8 +122,9 @@ public class ImsVideoTech implements VideoTech { } @Override - public void onCallStateChanged(Context context, int newState) { - if (!isAvailable(context)) { + public void onCallStateChanged( + Context context, int newState, PhoneAccountHandle phoneAccountHandle) { + if (!isAvailable(context, phoneAccountHandle)) { return; } |