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

Commit 340ede2f authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 5691606 from cbe76eec to qt-release

Change-Id: If7168249ff8a4e1d2d495763e423579abd7d8625
parents 6035a246 cbe76eec
Loading
Loading
Loading
Loading
+17 −7
Original line number Original line Diff line number Diff line
@@ -354,11 +354,18 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
        private long mCachedTime;
        private long mCachedTime;
        private long mConnectTime;
        private long mConnectTime;
        private long mConnectElapsedTime;
        private long mConnectElapsedTime;
        /**
         * The direction of the call;
         * {@link android.telecom.Call.Details#DIRECTION_INCOMING} for incoming calls, or
         * {@link android.telecom.Call.Details#DIRECTION_OUTGOING} for outgoing calls.
         */
        private int mCallDirection;


        CacheEntry(long cachedTime, long connectTime, long connectElapsedTime) {
        CacheEntry(long cachedTime, long connectTime, long connectElapsedTime, int callDirection) {
            mCachedTime = cachedTime;
            mCachedTime = cachedTime;
            mConnectTime = connectTime;
            mConnectTime = connectTime;
            mConnectElapsedTime = connectElapsedTime;
            mConnectElapsedTime = connectElapsedTime;
            mCallDirection = callDirection;
        }
        }
    }
    }


@@ -1335,8 +1342,11 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
    }
    }


    private void cacheConnectionTimeWithPhoneNumber(@NonNull ImsPhoneConnection connection) {
    private void cacheConnectionTimeWithPhoneNumber(@NonNull ImsPhoneConnection connection) {
        int callDirection =
                connection.isIncoming() ? android.telecom.Call.Details.DIRECTION_INCOMING
                        : android.telecom.Call.Details.DIRECTION_OUTGOING;
        CacheEntry cachedConnectTime = new CacheEntry(SystemClock.elapsedRealtime(),
        CacheEntry cachedConnectTime = new CacheEntry(SystemClock.elapsedRealtime(),
                connection.getConnectTime(), connection.getConnectTimeReal());
                connection.getConnectTime(), connection.getConnectTimeReal(), callDirection);
        maintainConnectTimeCache();
        maintainConnectTimeCache();
        if (PhoneConstants.PRESENTATION_ALLOWED == connection.getNumberPresentation()) {
        if (PhoneConstants.PRESENTATION_ALLOWED == connection.getNumberPresentation()) {
            // In case of merging calls with the same number, use the latest connect time. Since
            // In case of merging calls with the same number, use the latest connect time. Since
@@ -1364,13 +1374,12 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
                return null;
                return null;
            }
            }


            String numParts = PhoneNumberUtils
            String number = ConferenceParticipant.getParticipantAddress(participant.getHandle(),
                    .extractNetworkPortion(participant.getHandle().getSchemeSpecificPart());
                    getCountryIso()).getSchemeSpecificPart();
            if (TextUtils.isEmpty(numParts)) {
            if (TextUtils.isEmpty(number)) {
                return null;
                return null;
            }
            }

            String formattedNumber = getFormattedPhoneNumber(number);
            String formattedNumber = getFormattedPhoneNumber(numParts);
            return mPhoneNumAndConnTime.get(formattedNumber);
            return mPhoneNumAndConnTime.get(formattedNumber);
        } else {
        } else {
            return mUnknownPeerConnTime.poll();
            return mUnknownPeerConnTime.poll();
@@ -2749,6 +2758,7 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
                if (cachedConnectTime != null) {
                if (cachedConnectTime != null) {
                    participant.setConnectTime(cachedConnectTime.mConnectTime);
                    participant.setConnectTime(cachedConnectTime.mConnectTime);
                    participant.setConnectElapsedTime(cachedConnectTime.mConnectElapsedTime);
                    participant.setConnectElapsedTime(cachedConnectTime.mConnectElapsedTime);
                    participant.setCallDirection(cachedConnectTime.mCallDirection);
                }
                }
            }
            }
        }
        }