Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 31565d1c authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 10970117 from 75030596 to 24Q1-release

Change-Id: Ic292d989240fff4d492f44047450399558402318
parents 403e98d6 75030596
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ aconfig_declarations {
      "telecom_incallservice_flags.aconfig",
      "telecom_default_phone_account_flags.aconfig",
      "telecom_callaudioroutestatemachine_flags.aconfig",
      "telecom_calllog_flags.aconfig",
      "telecom_resolve_hidden_dependencies.aconfig"
    ],
}
+8 −0
Original line number Diff line number Diff line
package: "com.android.server.telecom.flags"

flag {
  name: "telecom_log_external_wearable_calls"
  namespace: "telecom"
  description: "log external call if current device is a wearable one"
  bug: "292600751"
}
 No newline at end of file
+12 −4
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.annotation.Nullable;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.database.Cursor;
import android.location.Country;
import android.location.CountryDetector;
@@ -50,6 +51,7 @@ import android.util.Pair;

import com.android.internal.annotations.VisibleForTesting;
import com.android.server.telecom.callfiltering.CallFilteringResult;
import com.android.server.telecom.flags.FeatureFlags;

import java.util.Arrays;
import java.util.Locale;
@@ -117,8 +119,11 @@ public final class CallLogManager extends CallsManagerListenerBase {
    private Object mLock;
    private String mCurrentCountryIso;

    private final FeatureFlags mFeatureFlags;

    public CallLogManager(Context context, PhoneAccountRegistrar phoneAccountRegistrar,
            MissedCallNotifier missedCallNotifier, AnomalyReporterAdapter anomalyReporterAdapter) {
            MissedCallNotifier missedCallNotifier, AnomalyReporterAdapter anomalyReporterAdapter,
            FeatureFlags featureFlags) {
        mContext = context;
        mCarrierConfigManager = (CarrierConfigManager) mContext
                .getSystemService(Context.CARRIER_CONFIG_SERVICE);
@@ -126,6 +131,7 @@ public final class CallLogManager extends CallsManagerListenerBase {
        mMissedCallNotifier = missedCallNotifier;
        mAnomalyReporterAdapter = anomalyReporterAdapter;
        mLock = new Object();
        mFeatureFlags = featureFlags;
    }

    @Override
@@ -166,7 +172,7 @@ public final class CallLogManager extends CallsManagerListenerBase {
     * Call is NOT a child call from a conference which was remotely hosted.
     * Call is NOT simulating a single party conference.
     * Call was NOT explicitly canceled, except for disconnecting from a conference.
     * Call is NOT an external call
     * Call is NOT an external call or an external call on watch.
     * Call is NOT disconnected because of merging into a conference.
     * Call is NOT a self-managed call OR call is a self-managed call which has indicated it
     * should be logged in its PhoneAccount
@@ -215,8 +221,10 @@ public final class CallLogManager extends CallsManagerListenerBase {
                    & Connection.CAPABILITY_DISCONNECT_FROM_CONFERENCE)
                    == Connection.CAPABILITY_DISCONNECT_FROM_CONFERENCE;
        }
        // An external call
        if (call.isExternalCall()) {
        // An external and non-watch call
        if (call.isExternalCall() && (!mContext.getPackageManager().hasSystemFeature(
                PackageManager.FEATURE_WATCH)
                || !mFeatureFlags.telecomLogExternalWearableCalls())) {
            return false;
        }

+1 −1
Original line number Diff line number Diff line
@@ -665,7 +665,7 @@ public class CallsManager extends Call.ListenerBase
        mProximitySensorManager = proximitySensorManagerFactory.create(context, this);
        mPhoneStateBroadcaster = new PhoneStateBroadcaster(this);
        mCallLogManager = new CallLogManager(context, phoneAccountRegistrar, mMissedCallNotifier,
                mAnomalyReporter);
                mAnomalyReporter, featureFlags);
        mConnectionServiceRepository =
                new ConnectionServiceRepository(mPhoneAccountRegistrar, mContext, mLock, this);
        mInCallWakeLockController = inCallWakeLockControllerFactory.create(context, this);
+13 −5
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.server.telecom;

import android.Manifest;
import android.app.Activity;
import android.app.AppOpsManager;
import android.app.BroadcastOptions;
@@ -487,11 +488,18 @@ public class NewOutgoingCallIntentBroadcaster {
            broadcastIntent.addFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND);
            Log.i(this, "broadcastIntent: Sending non-blocking for %s to %s", mCall.getId(),
                    targetUser);
            if (mFeatureFlags.telecomResolveHiddenDependencies()) {
                mContext.sendBroadcastAsUser(
                        broadcastIntent,
                        targetUser,
                        Manifest.permission.PROCESS_OUTGOING_CALLS);
            } else {
                mContext.sendBroadcastAsUser(
                        broadcastIntent,
                        targetUser,
                        android.Manifest.permission.PROCESS_OUTGOING_CALLS,
                        AppOpsManager.OP_PROCESS_OUTGOING_CALLS);  // initialExtras
            }
        } else {
            Log.i(this, "broadcastIntent: Sending ordered for %s to %s, waitForResult=%b",
                    mCall.getId(), targetUser, receiverRequired);
Loading