From fd3482ea973ff2d81de31ecb46fbce6291319cc8 Mon Sep 17 00:00:00 2001 From: Volker Hilsheimer Date: Thu, 19 Sep 2024 09:35:43 +0200 Subject: [PATCH] Android: iterate over const QJniArray If/when we introduce mutable QJniArray iterators, then iterating over a mutable array will be significantly more expensive due to the write-back from the reference type. Change-Id: I2e8eb357fdb6a9890699f5c61d49b635d303f301 Reviewed-by: Soheil Armin Reviewed-by: Assam Boudjelthia (cherry picked from commit 2d4f4220dd068c1253e701cdf6aefab17ef91c75) Reviewed-by: Qt Cherry-pick Bot --- src/corelib/platform/android/qandroiditemmodelproxy.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/corelib/platform/android/qandroiditemmodelproxy.cpp b/src/corelib/platform/android/qandroiditemmodelproxy.cpp index 1ddca53c90e..260e131fad1 100644 --- a/src/corelib/platform/android/qandroiditemmodelproxy.cpp +++ b/src/corelib/platform/android/qandroiditemmodelproxy.cpp @@ -67,9 +67,9 @@ QHash QAndroidItemModelProxy::roleNames() const QHash roleNames; HashMap hashMap = jInstance.callMethod("roleNames"); Set set = hashMap.callMethod("keySet"); - QJniArray keyArray = set.callMethod>("toArray"); + const QJniArray keyArray = set.callMethod("toArray"); - for (auto key : keyArray) { + for (const auto &key : keyArray) { const QJniObject roleName = hashMap.callMethod("get", key); const int intKey = QJniObject(key).callMethod("intValue"); const QByteArray roleByteArray = String(roleName).toString().toLatin1();