ProviderOne now creates an AsyncTaskLoader for each table/view to make it easy for your fragment to load a single ORM object
added a getIdLookupUri() method to PersistentObject
the prebuild loaders now listen to the id lookup uri of the object, falling back to the full table uri if an object is never found
oops, didnt realize i couldnt create a ContentObserver in a background thread
when applying a transaction, cache the notifyUris and notify on them after the transaction has been completed. Otherwise, data observers would be notified before they could query on the changed data.
fix for table loaders that would stop listening for changes after a pause
forgot to update sample config in previous commit
my previous update that delayed notifications seems unnecessary
dont try to delete from sqlite views int BaseDatabase.deleteAllDatabaseRecords
now, if you have a column of an unknown type, you can choose which type to make it. Extremely useful for views dynamic columns
renamed PersistentObject to {ProjectName}PersistentObject to avoid confusion when using two ProviderOne libraries in the same project. This will require code changes when updating if your project does any batch operations.
a little more flexibility in the PersistentObject.applyBatchSave method
fix for really stupid bug when setting an object's id (mIsNew should be true if the id IS null, not if it's not)
added support for vacuuming the database, helper method is in {ProjectName}Database.vacuumDatabase
there was a bug using a static VACUUM_URI with certain types of apps (if your contentAuthority is set in Application.onCreate), this should fix it
starting to build a gem
got the provider one gem succesfully including all files, and i have a way to read from the templates
fix for stupid hydrate json procedures, also removed all the copied code from the gem since its not ready
added an orderBy parameter to findOneWhere methods
when upgrading indecies, try to just drop and re-create them, but if re-creating them fails, delete all record from the affected table and try again (this should be a little more bullet proof, but devs need to be CAREFUL!)