Merge "fix TelecomManager#getters for transactional accounts" into udc-dev
diff --git a/src/com/android/server/telecom/CallsManager.java b/src/com/android/server/telecom/CallsManager.java
index 0985398..5a7d3de 100644
--- a/src/com/android/server/telecom/CallsManager.java
+++ b/src/com/android/server/telecom/CallsManager.java
@@ -78,6 +78,7 @@
import android.provider.BlockedNumberContract;
import android.provider.BlockedNumberContract.SystemContract;
import android.provider.CallLog.Calls;
+import android.provider.DeviceConfig;
import android.provider.Settings;
import android.sysprop.TelephonyProperties;
import android.telecom.CallAttributes;
@@ -1934,19 +1935,23 @@
return CompletableFuture.completedFuture(null);
}
if (accountSuggestions == null || accountSuggestions.isEmpty()) {
- Uri callUri = callToPlace.getHandle();
- if (PhoneAccount.SCHEME_TEL.equals(callUri.getScheme())) {
- int managedProfileUserId = getManagedProfileUserId(mContext,
- initiatingUser.getIdentifier());
- if (managedProfileUserId != UserHandle.USER_NULL
- && mPhoneAccountRegistrar.getCallCapablePhoneAccounts(
- handle.getScheme(), false,
- UserHandle.of(managedProfileUserId), false).size()
- != 0) {
- boolean dialogShown = showSwitchToManagedProfileDialog(
- callUri, initiatingUser, managedProfileUserId);
- if (dialogShown) {
- return CompletableFuture.completedFuture(null);
+ if (isSwitchToManagedProfileDialogFlagEnabled()) {
+ Uri callUri = callToPlace.getHandle();
+ if (PhoneAccount.SCHEME_TEL.equals(callUri.getScheme())) {
+ int managedProfileUserId = getManagedProfileUserId(mContext,
+ initiatingUser.getIdentifier());
+ if (managedProfileUserId != UserHandle.USER_NULL
+ &&
+ mPhoneAccountRegistrar.getCallCapablePhoneAccounts(
+ handle.getScheme(), false,
+ UserHandle.of(managedProfileUserId),
+ false).size()
+ != 0) {
+ boolean dialogShown = showSwitchToManagedProfileDialog(
+ callUri, initiatingUser, managedProfileUserId);
+ if (dialogShown) {
+ return CompletableFuture.completedFuture(null);
+ }
}
}
}
@@ -2109,6 +2114,11 @@
return UserHandle.USER_NULL;
}
+ private boolean isSwitchToManagedProfileDialogFlagEnabled() {
+ return DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_DEVICE_POLICY_MANAGER,
+ "enable_switch_to_managed_profile_dialog", false);
+ }
+
private boolean showSwitchToManagedProfileDialog(Uri callUri, UserHandle initiatingUser,
int managedProfileUserId) {
try {