io7m / android

The Android client for Library Simplified
Other
0 stars 0 forks source link

Upgrade simplified-books to understand multiple accounts and profiles #5

Closed io7m closed 6 years ago

io7m commented 6 years ago

The current application abuses the books API by simply deleting and recreating the book controller every time an account changes. This has the side effect of leaking a couple of thread pools in the process.

The right way to do this from the start would have been to change the books API to make it understand the concept of multiple accounts and profiles.

This is the bulk of the work required to get the application to work with profiles. Need to document the way that data is currently stored on the device, the way that it will be stored with multiple accounts and profiles, and write a basic migration strategy to update the stores of existing users.

io7m commented 6 years ago

Need to basically obliterate simplified-multilibrary and replace it with some new Account types in simplified-books. The following classes refer to the types in simplified-multilibrary:

org.nypl.simplified.app
  AdobeDRMServices
  LoginDialog
  MainSettingsAccountsActivity
  MainSplashActivity
  MainWelcomeAccountPickerActivity
  MainWelcomeActivity
  Simplified
  Simplified.CatalogAppServices
  SimplifiedActivity
  ReportIssueActivity
org.nypl.simplified.app.catalog
  CatalogFeedLane

There's some particularly unpleasant code here that does some inexplicable things with hardcoded magic numbers. This needs to go.

io7m commented 6 years ago

This can be considered done now. The app is fully profile and account aware and the old account system is gone.