CloverAccount.getAccount(this);does not return the current but the former subscription. This is true as long as no Sync happens at this device or is manually done. I tested this and observed that these syncs don't seem to happen very often (I once waited 10 minutes, but no sync happened). If I do the manual sync then the current subscription is returned.
For the sake of best possible user experience I would prefer that the app shows the correct subscription immediately after a change happened on any device (asking the customer to press the sync button on several devices is not very user friendly). Is there a way to listen for an event in order to update my subscription screen within the app? I did not find any broadcast etc.
Additional question for better understanding: What happens when a sync happens? Is the Clover device storing the information about the Account locally and above code line just checks the local information in order to avoid a possibly lengthy asynchronous call to your servers?