I am running a GATT server on nRF52 and I am saving the CCCD state after bonding but does Android/iOS as a client also save the state? I only looked at the Android API side and it doesn't look like the OS saves the state and leaves it up to my app to do it. If I call writeDescriptor() with the same data, it will always send the CCCD write request instead of not sending it because there is no change in value. Is this the correct behavior for Android and iOS? If I want to save power and not have to write CCCD on every new connection on the phone side, do I need to manage all the CCCD/bonding state in my app?