After having successfully migrated my app in both the Android and the iOS platform, I am curious about something. Why were the changes for Android so much more complicated than the changes for iOS? For Android, I had to handle persisting the string version of a new DbxCredential object and still create a new DbxCredential object with a refresed token on every session. And of course the linking to Dropbox required a new API call, Auth.startOAuth2PKCE, giving it scope parameters. With iOS, the only change necessary was the new initial linking API to provide the option of scope parameters. There was no messing around with creating a new credential object. The token refreshing seems to be taken care of completely in background. So my question is, what is so different between these two operating systems that the migrated Dropbox API for Android could not be as simple as it was for iOS?
Thanks for writing this up! We appreciate the feedback. These SDKs don't share code with each other, and are implemented differently. I can't speak to why specifically that's the case, but it may just be due to them having different constraints and supporting different platforms. For instance, the Java SDK supports both Android and non-Android environments, whereas the Objective-C and Swift SDKs only support iOS/macOS.