Hi,
I know that for a time there was a limit to the count of characteristics an Android phone could discover - 40. (See open AOSP bug report)
For what I understand the limit was set by the BTA_GATTC_MAX_CACHE_CHAR define in bta/gatt/bta_gattc_int.h. The file has since been refactored and the limit removed. This changeset was eventually merged and included in the Android Pie release.
I have a peripheral device with 40+ characteristics for which I need to write an Android app. I've installed the nRF Connect app on various phones and tried the service discovery.
As expected, the bug was present on a few "older" phones, namely: OnePlus 3T (Android 8) Xiaomi Redmi 4A (Android 6), and LG G6 (Android 8). What surprised me is that the problem was still present on a Xiaomi Mi A2 running Android 9.
On all the tested phones characteristics above 40 were incorrectly reported as the 40th characteristic descriptors.
Does anyone have any more info about the issue? Can I expect it to be solved in newer devices?
Kind regards,
Kuba.