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

Commit 1a402ad3 authored by William Escande's avatar William Escande
Browse files

Enforce lint Recycle and fix usages

Bug: 289445022
Test: m Bluetooth
Change-Id: I1b227deb09c18d019974167fab9f933cc4320d59
parent fcbf9c94
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -260,6 +260,7 @@ android_app {
        error_checks: [
            "ExtraText",
            "NewApi",
            "Recycle",
        ],
        strict_updatability_linting: true,
    },
+0 −32
Original line number Diff line number Diff line
@@ -5535,38 +5535,6 @@
            line="490"/>
    </issue>

    <issue
        id="Recycle"
        message="This `Cursor` should be freed up after use with `#close()`">
        <location
            file="packages/modules/Bluetooth/android/app/src/com/android/bluetooth/mapclient/MapClientContent.java"
            line="283"/>
    </issue>

    <issue
        id="Recycle"
        message="This `Cursor` should be freed up after use with `#close()`">
        <location
            file="packages/modules/Bluetooth/android/app/src/com/android/bluetooth/mapclient/MapClientContent.java"
            line="436"/>
    </issue>

    <issue
        id="Recycle"
        message="This `Cursor` should be freed up after use with `#close()`">
        <location
            file="packages/modules/Bluetooth/android/app/src/com/android/bluetooth/mapclient/MapClientContent.java"
            line="528"/>
    </issue>

    <issue
        id="Recycle"
        message="This `Cursor` should be freed up after use with `#close()`">
        <location
            file="packages/modules/Bluetooth/android/app/src/com/android/bluetooth/mapclient/MapClientContent.java"
            line="550"/>
    </issue>

    <issue
        id="ObsoleteSdkInt"
        message="Unnecessary; SDK_INT is always >= 19">
+53 −42
Original line number Diff line number Diff line
@@ -280,17 +280,19 @@ class MapClientContent {
        originalUriToHandleMap = mUriToHandleMap;
        duplicateUriToHandleMap = new HashMap<>(originalUriToHandleMap);
        for (Uri uri : new Uri[]{Mms.CONTENT_URI, Sms.CONTENT_URI}) {
            Cursor cursor = mResolver.query(uri, null, null, null, null);
            try (Cursor cursor = mResolver.query(uri, null, null, null, null)) {
                while (cursor.moveToNext()) {
                Uri index = Uri
                        .withAppendedPath(uri, cursor.getString(cursor.getColumnIndex("_id")));
                    Uri index =
                            Uri.withAppendedPath(
                                    uri, cursor.getString(cursor.getColumnIndex("_id")));
                    int readStatus = cursor.getInt(cursor.getColumnIndex(Sms.READ));
                    MessageStatus currentMessage = duplicateUriToHandleMap.remove(index);
                    if (currentMessage != null && currentMessage.mRead != readStatus) {
                        logV(currentMessage.mHandle);
                        currentMessage.mRead = readStatus;
                    mCallbacks.onMessageStatusChanged(currentMessage.mHandle,
                            BluetoothMapClient.READ);
                        mCallbacks.onMessageStatusChanged(
                                currentMessage.mHandle, BluetoothMapClient.READ);
                    }
                }
            }
        }
@@ -433,10 +435,11 @@ class MapClientContent {
        String threads = new String();

        Uri uri = Threads.CONTENT_URI.buildUpon().appendQueryParameter("simple", "true").build();
        Cursor threadCursor = resolver.query(uri, null, null, null, null);
        try (Cursor threadCursor = resolver.query(uri, null, null, null, null)) {
            while (threadCursor.moveToNext()) {
                threads += threadCursor.getInt(threadCursor.getColumnIndex(Threads._ID)) + ", ";
            }
        }

        resolver.delete(Sms.CONTENT_URI, Sms.SUBSCRIPTION_ID + " =? ",
                new String[]{Integer.toString(subscriptionId)});
@@ -524,32 +527,39 @@ class MapClientContent {
        logD("MATCHING THREAD" + threadId);
        logD(MmsSms.CONTENT_CONVERSATIONS_URI + threadId + "/recipients");

        Cursor cursor = mResolver
                .query(Uri.withAppendedPath(MmsSms.CONTENT_CONVERSATIONS_URI,
                        threadId + "/recipients"),
                        null, null,
                        null, null);
        try (Cursor cursor =
                mResolver.query(
                        Uri.withAppendedPath(
                                MmsSms.CONTENT_CONVERSATIONS_URI, threadId + "/recipients"),
                        null,
                        null,
                        null,
                        null)) {

            if (cursor.moveToNext()) {
                logD("Columns" + Arrays.toString(cursor.getColumnNames()));
                logV("CONTACT LIST: " + cursor.getString(cursor.getColumnIndex("recipient_ids")));
            addRecipientsToEntries(bmsg,
                    cursor.getString(cursor.getColumnIndex("recipient_ids")).split(" "));
                addRecipientsToEntries(
                        bmsg, cursor.getString(cursor.getColumnIndex("recipient_ids")).split(" "));
                return true;
            } else {
                Log.w(TAG, "Thread Not Found");
                return false;
            }
        }
    }


    private void addRecipientsToEntries(Bmessage bmsg, String[] recipients) {
        logV("CONTACT LIST: " + Arrays.toString(recipients));
        for (String recipient : recipients) {
            Cursor cursor = mResolver
                    .query(Uri.parse("content://mms-sms/canonical-address/" + recipient), null,
                            null, null,
                            null);
            try (Cursor cursor =
                    mResolver.query(
                            Uri.parse("content://mms-sms/canonical-address/" + recipient),
                            null,
                            null,
                            null,
                            null)) {
                while (cursor.moveToNext()) {
                    String number = cursor.getString(cursor.getColumnIndex(Mms.Addr.ADDRESS));
                    logV("CONTACT number: " + number);
@@ -562,6 +572,7 @@ class MapClientContent {
                }
            }
        }
    }

    /**
     * Get the total number of messages we've stored under this device's subscription ID, for a