summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox')
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/offline/DeleteRegionActivity.java24
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/storage/CacheManagementActivity.kt79
2 files changed, 100 insertions, 3 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/offline/DeleteRegionActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/offline/DeleteRegionActivity.java
index 037c51f723..11ee68702f 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/offline/DeleteRegionActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/offline/DeleteRegionActivity.java
@@ -12,7 +12,6 @@ import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
-
import com.mapbox.mapboxsdk.offline.OfflineManager;
import com.mapbox.mapboxsdk.offline.OfflineRegion;
import com.mapbox.mapboxsdk.testapp.R;
@@ -25,7 +24,8 @@ import java.util.List;
/**
* Test activity showing integration of deleting an OfflineRegion.
*/
-public class DeleteRegionActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {
+public class DeleteRegionActivity extends AppCompatActivity implements AdapterView.OnItemClickListener,
+ AdapterView.OnItemLongClickListener {
private OfflineRegionAdapter adapter;
@@ -34,10 +34,11 @@ public class DeleteRegionActivity extends AppCompatActivity implements AdapterVi
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_offline_region_delete);
- ListView listView = (ListView) findViewById(R.id.listView);
+ ListView listView = findViewById(R.id.listView);
listView.setAdapter(adapter = new OfflineRegionAdapter(this));
listView.setEmptyView(findViewById(android.R.id.empty));
listView.setOnItemClickListener(this);
+ listView.setOnItemLongClickListener(this);
}
@Override
@@ -58,6 +59,23 @@ public class DeleteRegionActivity extends AppCompatActivity implements AdapterVi
builder.show();
}
+ @Override
+ public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
+ final OfflineRegion region = adapter.getItem(position);
+ region.invalidate(new OfflineRegion.OfflineRegionInvalidateCallback() {
+ @Override
+ public void onInvalidate() {
+ Toast.makeText(DeleteRegionActivity.this, "Invalidate region success", Toast.LENGTH_SHORT).show();
+ }
+
+ @Override
+ public void onError(String error) {
+ Toast.makeText(DeleteRegionActivity.this, "Error:" + error, Toast.LENGTH_LONG).show();
+ }
+ });
+ return true;
+ }
+
private void delete(OfflineRegion region) {
region.delete(new OfflineRegion.OfflineRegionDeleteCallback() {
@Override
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