Loading res/xml/layout_blocked_number.xml +2 −2 Original line number Diff line number Diff line Loading @@ -28,8 +28,8 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentStart="true" android:layout_toStartOf="@+id/delete_blocked_number" android:paddingTop="@dimen/blocked_numbers_delete_icon_padding" /> android:paddingTop="@dimen/blocked_numbers_delete_icon_padding" android:textDirection="ltr" /> <ImageView android:id="@+id/delete_blocked_number" Loading src/com/android/server/telecom/CallsManager.java +4 −4 Original line number Diff line number Diff line Loading @@ -2948,10 +2948,10 @@ public class CallsManager extends Call.ListenerBase // Only permit outgoing calls if there is no ongoing emergency calls and all other calls // are associated with the current PhoneAccountHandle. return !hasEmergencyCall() && ( excludeCall.getHandoverSourceCall() != null || (!hasMaximumSelfManagedCalls(excludeCall, phoneAccountHandle) && !hasCallsForOtherPhoneAccount(phoneAccountHandle) && !hasManagedCalls())); (excludeCall != null && excludeCall.getHandoverSourceCall() != null) || ( !hasMaximumSelfManagedCalls(excludeCall, phoneAccountHandle) && !hasCallsForOtherPhoneAccount(phoneAccountHandle) && !hasManagedCalls())); } } Loading src/com/android/server/telecom/InCallController.java +6 −0 Original line number Diff line number Diff line Loading @@ -756,6 +756,10 @@ public class InCallController extends CallsManagerListenerBase { // We are bound, and we are connected. adjustServiceBindingsForEmergency(); // This is in case an emergency call is added while there is an existing call. mEmergencyCallHelper.maybeGrantTemporaryLocationPermission(call, mCallsManager.getCurrentUserHandle()); Log.i(this, "onCallAdded: %s", call); // Track the call if we don't already know about it. addCall(call); Loading Loading @@ -807,6 +811,8 @@ public class InCallController extends CallsManagerListenerBase { // Check again to make sure there are no active calls. if (mCallsManager.getCalls().isEmpty()) { unbindFromServices(); mEmergencyCallHelper.maybeRevokeTemporaryLocationPermission(); } } }.prepare(), mTimeoutsAdapter.getCallRemoveUnbindInCallServicesDelay( Loading src/com/android/server/telecom/NewOutgoingCallIntentBroadcaster.java +21 −3 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import android.os.UserHandle; import android.telecom.GatewayInfo; import android.telecom.Log; import android.telecom.PhoneAccount; import android.telecom.PhoneAccountHandle; import android.telecom.TelecomManager; import android.telecom.VideoProfile; import android.telephony.DisconnectCause; Loading Loading @@ -262,6 +263,21 @@ public class NewOutgoingCallIntentBroadcaster { return DisconnectCause.INVALID_NUMBER; } // True for all managed calls, false for self-managed calls. boolean sendNewOutgoingCallBroadcast = true; PhoneAccountHandle targetPhoneAccount = mIntent.getParcelableExtra( TelecomManager.EXTRA_PHONE_ACCOUNT_HANDLE); if (targetPhoneAccount != null) { PhoneAccount phoneAccount = mCallsManager.getPhoneAccountRegistrar().getPhoneAccountUnchecked( targetPhoneAccount); if (phoneAccount != null && phoneAccount.isSelfManaged()) { callImmediately = true; sendNewOutgoingCallBroadcast = false; Log.i(this, "Skipping NewOutgoingCallBroadcast for self-managed call."); } } if (callImmediately) { String scheme = isUriNumber ? PhoneAccount.SCHEME_SIP : PhoneAccount.SCHEME_TEL; boolean speakerphoneOn = mIntent.getBooleanExtra( Loading @@ -278,9 +294,11 @@ public class NewOutgoingCallIntentBroadcaster { // initiate the call again because of the presence of the EXTRA_ALREADY_CALLED extra. } if (sendNewOutgoingCallBroadcast) { UserHandle targetUser = mCall.getInitiatingUser(); Log.i(this, "Sending NewOutgoingCallBroadcast for %s to %s", mCall, targetUser); broadcastIntent(intent, number, !callImmediately, targetUser); } return DisconnectCause.NOT_DISCONNECTED; } Loading src/com/android/server/telecom/settings/BlockedNumbersAdapter.java +3 −6 Original line number Diff line number Diff line Loading @@ -41,12 +41,9 @@ public class BlockedNumbersAdapter extends SimpleCursorAdapter { super.bindView(view, context, cursor); final String rawNumber = cursor.getString(cursor.getColumnIndex( BlockedNumberContract.BlockedNumbers.COLUMN_ORIGINAL_NUMBER)); String formattedNumber = PhoneNumberUtils.formatNumber(rawNumber, BlockedNumbersUtil.getLocaleDefaultToUS()); final String finalFormattedNumber = formattedNumber == null ? rawNumber : formattedNumber; final String formattedNumber = BlockedNumbersUtil.formatNumber(rawNumber); TextView numberView = (TextView) view.findViewById(R.id.blocked_number); Spannable numberSpannable = new SpannableString(finalFormattedNumber); Spannable numberSpannable = new SpannableString(formattedNumber); PhoneNumberUtils.addTtsSpan(numberSpannable, 0, numberSpannable.length()); numberView.setText(numberSpannable); Loading @@ -54,7 +51,7 @@ public class BlockedNumbersAdapter extends SimpleCursorAdapter { deleteButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { showDeleteBlockedNumberDialog(context, rawNumber, finalFormattedNumber); showDeleteBlockedNumberDialog(context, rawNumber, formattedNumber); } }); } Loading Loading
res/xml/layout_blocked_number.xml +2 −2 Original line number Diff line number Diff line Loading @@ -28,8 +28,8 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentStart="true" android:layout_toStartOf="@+id/delete_blocked_number" android:paddingTop="@dimen/blocked_numbers_delete_icon_padding" /> android:paddingTop="@dimen/blocked_numbers_delete_icon_padding" android:textDirection="ltr" /> <ImageView android:id="@+id/delete_blocked_number" Loading
src/com/android/server/telecom/CallsManager.java +4 −4 Original line number Diff line number Diff line Loading @@ -2948,10 +2948,10 @@ public class CallsManager extends Call.ListenerBase // Only permit outgoing calls if there is no ongoing emergency calls and all other calls // are associated with the current PhoneAccountHandle. return !hasEmergencyCall() && ( excludeCall.getHandoverSourceCall() != null || (!hasMaximumSelfManagedCalls(excludeCall, phoneAccountHandle) && !hasCallsForOtherPhoneAccount(phoneAccountHandle) && !hasManagedCalls())); (excludeCall != null && excludeCall.getHandoverSourceCall() != null) || ( !hasMaximumSelfManagedCalls(excludeCall, phoneAccountHandle) && !hasCallsForOtherPhoneAccount(phoneAccountHandle) && !hasManagedCalls())); } } Loading
src/com/android/server/telecom/InCallController.java +6 −0 Original line number Diff line number Diff line Loading @@ -756,6 +756,10 @@ public class InCallController extends CallsManagerListenerBase { // We are bound, and we are connected. adjustServiceBindingsForEmergency(); // This is in case an emergency call is added while there is an existing call. mEmergencyCallHelper.maybeGrantTemporaryLocationPermission(call, mCallsManager.getCurrentUserHandle()); Log.i(this, "onCallAdded: %s", call); // Track the call if we don't already know about it. addCall(call); Loading Loading @@ -807,6 +811,8 @@ public class InCallController extends CallsManagerListenerBase { // Check again to make sure there are no active calls. if (mCallsManager.getCalls().isEmpty()) { unbindFromServices(); mEmergencyCallHelper.maybeRevokeTemporaryLocationPermission(); } } }.prepare(), mTimeoutsAdapter.getCallRemoveUnbindInCallServicesDelay( Loading
src/com/android/server/telecom/NewOutgoingCallIntentBroadcaster.java +21 −3 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import android.os.UserHandle; import android.telecom.GatewayInfo; import android.telecom.Log; import android.telecom.PhoneAccount; import android.telecom.PhoneAccountHandle; import android.telecom.TelecomManager; import android.telecom.VideoProfile; import android.telephony.DisconnectCause; Loading Loading @@ -262,6 +263,21 @@ public class NewOutgoingCallIntentBroadcaster { return DisconnectCause.INVALID_NUMBER; } // True for all managed calls, false for self-managed calls. boolean sendNewOutgoingCallBroadcast = true; PhoneAccountHandle targetPhoneAccount = mIntent.getParcelableExtra( TelecomManager.EXTRA_PHONE_ACCOUNT_HANDLE); if (targetPhoneAccount != null) { PhoneAccount phoneAccount = mCallsManager.getPhoneAccountRegistrar().getPhoneAccountUnchecked( targetPhoneAccount); if (phoneAccount != null && phoneAccount.isSelfManaged()) { callImmediately = true; sendNewOutgoingCallBroadcast = false; Log.i(this, "Skipping NewOutgoingCallBroadcast for self-managed call."); } } if (callImmediately) { String scheme = isUriNumber ? PhoneAccount.SCHEME_SIP : PhoneAccount.SCHEME_TEL; boolean speakerphoneOn = mIntent.getBooleanExtra( Loading @@ -278,9 +294,11 @@ public class NewOutgoingCallIntentBroadcaster { // initiate the call again because of the presence of the EXTRA_ALREADY_CALLED extra. } if (sendNewOutgoingCallBroadcast) { UserHandle targetUser = mCall.getInitiatingUser(); Log.i(this, "Sending NewOutgoingCallBroadcast for %s to %s", mCall, targetUser); broadcastIntent(intent, number, !callImmediately, targetUser); } return DisconnectCause.NOT_DISCONNECTED; } Loading
src/com/android/server/telecom/settings/BlockedNumbersAdapter.java +3 −6 Original line number Diff line number Diff line Loading @@ -41,12 +41,9 @@ public class BlockedNumbersAdapter extends SimpleCursorAdapter { super.bindView(view, context, cursor); final String rawNumber = cursor.getString(cursor.getColumnIndex( BlockedNumberContract.BlockedNumbers.COLUMN_ORIGINAL_NUMBER)); String formattedNumber = PhoneNumberUtils.formatNumber(rawNumber, BlockedNumbersUtil.getLocaleDefaultToUS()); final String finalFormattedNumber = formattedNumber == null ? rawNumber : formattedNumber; final String formattedNumber = BlockedNumbersUtil.formatNumber(rawNumber); TextView numberView = (TextView) view.findViewById(R.id.blocked_number); Spannable numberSpannable = new SpannableString(finalFormattedNumber); Spannable numberSpannable = new SpannableString(formattedNumber); PhoneNumberUtils.addTtsSpan(numberSpannable, 0, numberSpannable.length()); numberView.setText(numberSpannable); Loading @@ -54,7 +51,7 @@ public class BlockedNumbersAdapter extends SimpleCursorAdapter { deleteButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { showDeleteBlockedNumberDialog(context, rawNumber, finalFormattedNumber); showDeleteBlockedNumberDialog(context, rawNumber, formattedNumber); } }); } Loading