Merge "Add an option to set the selected phone account as the default. (2/3)" into lmp-sprout-dev
diff --git a/src/com/android/server/telecom/CallsManager.java b/src/com/android/server/telecom/CallsManager.java
index f546f3b..e07b279 100644
--- a/src/com/android/server/telecom/CallsManager.java
+++ b/src/com/android/server/telecom/CallsManager.java
@@ -699,7 +699,7 @@
mProximitySensorManager.turnOff(screenOnImmediately);
}
- void phoneAccountSelected(Call call, PhoneAccountHandle account) {
+ void phoneAccountSelected(Call call, PhoneAccountHandle account, boolean setDefault) {
if (!mCalls.contains(call)) {
Log.i(this, "Attempted to add account to unknown call %s", call);
} else {
@@ -718,6 +718,10 @@
} else {
call.disconnect();
}
+
+ if (setDefault) {
+ mPhoneAccountRegistrar.setUserSelectedOutgoingPhoneAccount(account);
+ }
}
}
diff --git a/src/com/android/server/telecom/InCallAdapter.java b/src/com/android/server/telecom/InCallAdapter.java
index 5a93464..d4af791 100644
--- a/src/com/android/server/telecom/InCallAdapter.java
+++ b/src/com/android/server/telecom/InCallAdapter.java
@@ -139,7 +139,8 @@
try {
call = mCallIdMapper.getCall(args.arg1);
if (call != null) {
- mCallsManager.phoneAccountSelected(call, (PhoneAccountHandle) args.arg2);
+ mCallsManager.phoneAccountSelected(call,
+ (PhoneAccountHandle) args.arg2, args.argi1 == 1);
} else {
Log.w(this, "phoneAccountSelected, unknown call id: %s", args.arg1);
}
@@ -284,11 +285,13 @@
}
@Override
- public void phoneAccountSelected(String callId, PhoneAccountHandle accountHandle) {
+ public void phoneAccountSelected(String callId, PhoneAccountHandle accountHandle,
+ boolean setDefault) {
if (mCallIdMapper.isValidCallId(callId)) {
SomeArgs args = SomeArgs.obtain();
args.arg1 = callId;
args.arg2 = accountHandle;
+ args.argi1 = setDefault? 1 : 0;
mHandler.obtainMessage(MSG_PHONE_ACCOUNT_SELECTED, args).sendToTarget();
}
}