From 21f75229675a07093689d542f116066c7af59ce4 Mon Sep 17 00:00:00 2001 From: tobrun Date: Wed, 19 Jun 2019 14:01:45 +0200 Subject: [android] - add binding integration for cache management API --- .../activity/storage/CacheManagementActivity.kt | 79 ++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/storage/CacheManagementActivity.kt (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/storage/CacheManagementActivity.kt') diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/storage/CacheManagementActivity.kt b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/storage/CacheManagementActivity.kt new file mode 100644 index 0000000000..c9fdb79e6e --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/storage/CacheManagementActivity.kt @@ -0,0 +1,79 @@ +package com.mapbox.mapboxsdk.testapp.activity.storage + +import android.os.Bundle +import android.os.Looper +import android.support.design.widget.Snackbar +import android.support.v7.app.AppCompatActivity +import com.mapbox.mapboxsdk.offline.OfflineManager +import com.mapbox.mapboxsdk.storage.FileSource +import com.mapbox.mapboxsdk.testapp.R +import junit.framework.Assert.assertTrue +import kotlinx.android.synthetic.main.activity_cache_management.* + +/** + * Test activity showcasing the cache management APIs + */ +class CacheManagementActivity : AppCompatActivity() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_cache_management) + + val fileSource = OfflineManager.getInstance(this) + resetDatabaseButton.setOnClickListener { + fileSource.resetDatabase(object : OfflineManager.FileSourceCallback { + override fun onSuccess() { + showSnackbar("Reset database success") + } + + override fun onError(message: String) { + showSnackbar("Reset database fail: $message") + } + }) + } + + invalidateAmbientCacheButton.setOnClickListener { + fileSource.invalidateAmbientCache(object : OfflineManager.FileSourceCallback { + override fun onSuccess() { + showSnackbar("Invalidate ambient cache success") + } + + override fun onError(message: String) { + showSnackbar("Invalidate ambient cache fail: $message") + } + }) + } + + clearAmbientCacheButton.setOnClickListener { + fileSource.clearAmbientCache(object : OfflineManager.FileSourceCallback { + override fun onSuccess() { + showSnackbar("Clear ambient cache success") + } + + override fun onError(message: String) { + showSnackbar("Clear ambient cache fail: $message") + } + }) + } + + setMaximumAmbientCacheSizeButton.setOnClickListener { + fileSource.setMaximumAmbientCacheSize(5000000, object : OfflineManager.FileSourceCallback { + override fun onSuccess() { + showSnackbar("Set maximum ambient cache size success") + } + + override fun onError(message: String) { + showSnackbar("Set maximum ambient cache size fail: $message") + } + }) + } + } + + fun showSnackbar(message: String) { + // validate that all callbacks occur on main thread + assertTrue(Looper.myLooper() == Looper.getMainLooper()) + + // show snackbar + Snackbar.make(container, message, Snackbar.LENGTH_SHORT).show() + } +} \ No newline at end of file -- cgit v1.2.1