- Updated play-services-location to version 21.0.1
- Upgraded gson to version 2.9.1
- Upgraded to API Level 19
- Fixed unsafe exception casting in AppStateCollector
- Removed deprecated time and accuracy fields of the android device location object.
- Added a new public upload() function.
- Updated README.md to include details about how to submit an issue.
- Executor used for trigger collect method of DeviceProperties and AppState terminated on sift.cancel().
- Images used in DESIGNDOC.md are added to the repo to avoid URL issues.
- Created Changelog
- Prevent SDK from sending empty configuration properties
- Fix for Null Pointer Exception on getting device battery status
- Migrated to AndroidX
- Upgrade to API version 30 (Android 11)
- AsyncTask replaced with Executor, since AsyncTask was deprecated in API level 30
- Supporting dependencies are upgraded
- Fix for potential Null Pointer Exception in
AppStateCollector.getIpAddresses()
- Switches to upstream jsonSchema2Pojo
- Removes a few unused dependencies
- Removes a few outdated ProGuard entries
- Adds functionality for calling
Sift.open
with a new config
- Allows for setUserId outside of activity lifecycle
- Fixes for Null Pointer Exception on Google API Client
- Adds hook for passing custom
activityName
toSift.resume
- Does not null out instance state
- Updates README file and HelloSift sample app
This is a significant rewrite that we expect to greatly improve the performance and stability of the Android SDK. Please refer to the change log below as well as the updated README.md.
- Removed access to the Sift instance and renamed a few hooks. Everything should be invoked via the static call to the singleton class.
Sift.get().save()
is nowSift.pause()
Sift.get().setUserId(…)
is nowSift.setUserId(…)
Sift.get().unsetUserId(…)
is nowSift.unsetUserId(…)
- Removed support for
Sift.get.upload(…)
- Removed the optional location permissions from sift SDK AndroidManifest.xml. As such, you will need to add
ACCESS_FINE_LOCATION
andACCESS_COARSE_LOCATION
to your own application’s AndroidManifest.xml if you would like to enable location collection
- Added a new hook into the onResume lifecycle callback:
Sift.resume()
- Removed OkHttp from the dependencies
- Fixes the deadlock casued by synchronized calls in Queue and Uploader
archive()
functions which are invoked by the Sift singletonsave()
- Cuts the androidAppState batch size down to 8 from 32 due to OOM errors while trying to GSON serialize the string on old devices
- Fix for RejectedExecutionException in AppStateCollector
- Strips out logging in ProGuard release build
- Fix minor shutdown race condition in Uploader
- Moves unarchiving to background task
- Various performance improvements
- Adds back defensive FieldNamingPolicy with GSON
- GSON and proguard rules
- Proguard rule for lang3
- Better retry logic on errors
- Performance improvements
- Jackson and proguard rules
- Synchronize from unarchives
- Fixes leaked Activity context
- More complete proguard configs for Jackson
- Adds
@Nullable
annotation toSift.get()
method
- Updated location collection mechanics
- Removed collecting information of installed apps on device
- Uses yaml schema instead of inner class for ListRequest
- Collects device Build details for emulator detection
- Collects list of installed apps with package name
- Fix for RejectedExecutionException on uploader
- Collects SDK_VERSION in AppState events to be able to track event counts per version
- Updated encoding provider
- Removes Guava dependency
- Fix for Null Pointer Exceotion on location changed
- Google API Client and gradle fixes
- Make SDK logs better
- Adds Proguard rules to support Jackson
- Fixes configuration for DeserializationFeature to Ignore unknown properties with Jackson
- Implement the core part of the SDK (event batching and uploading)
- Collects device properties like OS version, root detection etc...
- Collects app state properties like battery, network address, etc...
- Add demo app HelloSift