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

Commit c445b2b9 authored by Leland Miller's avatar Leland Miller
Browse files

Add thread ID reuse to API contract

This make explicit that thread IDs should not be reused to point to new
threads as this may cause issues in applications that expect threads to
remain consistent.

Test: Tested by CTS test in CtsTelephonyProviderTestCases
Bug: 122616805
Change-Id: I068943c402084c524f7e7002044a7efc59ef796d
parent 03a92495
Loading
Loading
Loading
Loading
+10 −8
Original line number Diff line number Diff line
@@ -1955,6 +1955,12 @@ public final class Telephony {

    /**
     * Helper functions for the "threads" table used by MMS and SMS.
     *
     * Thread IDs are determined by the participants in a conversation and can be used to match
     * both SMS and MMS messages.
     *
     * To avoid issues where applications might cache a thread ID, the thread ID of a deleted thread
     * must not be reused to point at a new thread.
     */
    public static final class Threads implements ThreadsColumns {

@@ -2008,14 +2014,10 @@ public final class Telephony {
        }

        /**
         * Given the recipients list and subject of an unsaved message,
         * return its thread ID.  If the message starts a new thread,
         * allocate a new thread ID.  Otherwise, use the appropriate
         * existing thread ID.
         *
         * <p>Find the thread ID of the same set of recipients (in any order,
         * without any additions). If one is found, return it. Otherwise,
         * return a unique thread ID.</p>
         * Given a set of recipients return its thread ID.
         * <p>
         * If a thread exists containing the provided participants, return its thread ID. Otherwise,
         * this will create a new thread containing the provided participants and return its ID.
         */
        public static long getOrCreateThreadId(
                Context context, Set<String> recipients) {