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

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

Snap for 12763142 from 2b4afe18 to 25Q1-release

Change-Id: Ib83bf7667c8fe0fb682e576435f57813414c9fa6
parents db68b354 2b4afe18
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -16,3 +16,14 @@ flag {
  description: "If a self-managed call is stuck in certain states, disconnect it"
  bug: "360298368"
}

# OWNER=tgunn TARGET=25Q2
flag {
  name: "dont_timeout_destroyed_calls"
  namespace: "telecom"
  description: "When create connection timeout is hit, if call is already destroyed, skip anomaly"
  bug: "381684580"
  metadata {
    purpose: PURPOSE_BUGFIX
  }
}
+10 −0
Original line number Diff line number Diff line
@@ -8,3 +8,13 @@ flag {
  description: "Fix for Log.wtf in the BinderProxy"
  bug: "333417369"
}
# OWNER=huiwang TARGET=25Q1
flag {
  name: "keep_bt_devices_cache_updated"
  namespace: "telecom"
  description: "Fix the devices cache issue of BluetoothDeviceManager"
  bug: "380320985"
  metadata {
    purpose: PURPOSE_BUGFIX
  }
}
+12 −0
Original line number Diff line number Diff line
@@ -16,3 +16,15 @@ flag {
  description: "Gates whether to ensure that when a user is in their car, they are able to hear ringing for an incoming call."
  bug: "348708398"
}


# OWNER=tjstuart TARGET=25Q1
flag {
  name: "get_ringer_mode_anom_report"
  namespace: "telecom"
  description: "getRingerMode & getRingerModeInternal should return the same val when dnd is off"
  bug: "307389562"
    metadata {
      purpose: PURPOSE_BUGFIX
    }
}
 No newline at end of file
+1 −1
Original line number Diff line number Diff line
@@ -703,7 +703,7 @@ public class CallsManager extends Call.ListenerBase
                ringtoneFactory, systemVibrator,
                new Ringer.VibrationEffectProxy(), mInCallController,
                mContext.getSystemService(NotificationManager.class),
                accessibilityManagerAdapter, featureFlags);
                accessibilityManagerAdapter, featureFlags, mAnomalyReporter);
        if (featureFlags.telecomResolveHiddenDependencies()) {
            // This is now deprecated
            mCallRecordingTonePlayer = null;
+36 −10
Original line number Diff line number Diff line
@@ -130,11 +130,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements
                synchronized (mLock) {
                    logIncoming("handleCreateConnectionComplete %s", callId);
                    Call call = mCallIdMapper.getCall(callId);
                    if (call != null && mScheduledFutureMap.containsKey(call)) {
                        ScheduledFuture<?> existingTimeout = mScheduledFutureMap.get(call);
                        existingTimeout.cancel(false /* cancelIfRunning */);
                        mScheduledFutureMap.remove(call);
                    }
                    maybeRemoveCleanupFuture(call);
                    // Check status hints image for cross user access
                    if (connection.getStatusHints() != null) {
                        Icon icon = connection.getStatusHints().getIcon();
@@ -174,11 +170,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements
                synchronized (mLock) {
                    logIncoming("handleCreateConferenceComplete %s", callId);
                    Call call = mCallIdMapper.getCall(callId);
                    if (call != null && mScheduledFutureMap.containsKey(call)) {
                        ScheduledFuture<?> existingTimeout = mScheduledFutureMap.get(call);
                        existingTimeout.cancel(false /* cancelIfRunning */);
                        mScheduledFutureMap.remove(call);
                    }
                    maybeRemoveCleanupFuture(call);
                    // Check status hints image for cross user access
                    if (conference.getStatusHints() != null) {
                        Icon icon = conference.getStatusHints().getIcon();
@@ -1678,6 +1670,9 @@ public class ConnectionServiceWrapper extends ServiceBinder implements
                            Log.getExternalSession(TELECOM_ABBREVIATION));
                } catch (RemoteException e) {
                    Log.e(this, e, "Failure to createConference -- %s", getComponentName());
                    if (mFlags.dontTimeoutDestroyedCalls()) {
                        maybeRemoveCleanupFuture(call);
                    }
                    mPendingResponses.remove(callId).handleCreateConferenceFailure(
                            new DisconnectCause(DisconnectCause.ERROR, e.toString()));
                }
@@ -1708,6 +1703,9 @@ public class ConnectionServiceWrapper extends ServiceBinder implements
                    Log.i(ConnectionServiceWrapper.this, "Call not present"
                            + " in call id mapper, maybe it was aborted before the bind"
                            + " completed successfully?");
                    if (mFlags.dontTimeoutDestroyedCalls()) {
                        maybeRemoveCleanupFuture(call);
                    }
                    response.handleCreateConnectionFailure(
                            new DisconnectCause(DisconnectCause.CANCELED));
                    return;
@@ -1793,6 +1791,9 @@ public class ConnectionServiceWrapper extends ServiceBinder implements
                mScheduledFutureMap.put(call, future);
                try {
                    if (mFlags.cswServiceInterfaceIsNull() && mServiceInterface == null) {
                        if (mFlags.dontTimeoutDestroyedCalls()) {
                            maybeRemoveCleanupFuture(call);
                        }
                        mPendingResponses.remove(callId).handleCreateConnectionFailure(
                                new DisconnectCause(DisconnectCause.ERROR,
                                        "CSW#oCC ServiceInterface is null"));
@@ -1807,6 +1808,9 @@ public class ConnectionServiceWrapper extends ServiceBinder implements
                    }
                } catch (RemoteException e) {
                    Log.e(this, e, "Failure to createConnection -- %s", getComponentName());
                    if (mFlags.dontTimeoutDestroyedCalls()) {
                        maybeRemoveCleanupFuture(call);
                    }
                    mPendingResponses.remove(callId).handleCreateConnectionFailure(
                            new DisconnectCause(DisconnectCause.ERROR, e.toString()));
                }
@@ -2286,6 +2290,9 @@ public class ConnectionServiceWrapper extends ServiceBinder implements
        if (response != null) {
            response.handleCreateConnectionFailure(disconnectCause);
        }
        if (mFlags.dontTimeoutDestroyedCalls()) {
            maybeRemoveCleanupFuture(mCallIdMapper.getCall(callId));
        }

        mCallIdMapper.removeCall(callId);
    }
@@ -2295,6 +2302,9 @@ public class ConnectionServiceWrapper extends ServiceBinder implements
        if (response != null) {
            response.handleCreateConnectionFailure(disconnectCause);
        }
        if (mFlags.dontTimeoutDestroyedCalls()) {
            maybeRemoveCleanupFuture(call);
        }

        mCallIdMapper.removeCall(call);
    }
@@ -2754,4 +2764,20 @@ public class ConnectionServiceWrapper extends ServiceBinder implements
    public void setAnomalyReporterAdapter(AnomalyReporterAdapter mAnomalyReporterAdapter){
        mAnomalyReporter = mAnomalyReporterAdapter;
    }

    /**
     * Given a call, unschedule and cancel the cleanup future.
     * @param call the call.
     */
    private void maybeRemoveCleanupFuture(Call call) {
        if (call == null) {
            return;
        }
        ScheduledFuture<?> future = mScheduledFutureMap.remove(call);
        if (future == null) {
            return;
        }
        future.cancel(false /* interrupt */);

    }
}
Loading