summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/offline/UpdateMetadataActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/offline/UpdateMetadataActivity.java')
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/offline/UpdateMetadataActivity.java187
1 files changed, 0 insertions, 187 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/offline/UpdateMetadataActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/offline/UpdateMetadataActivity.java
deleted file mode 100644
index 2d223f1a45..0000000000
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/offline/UpdateMetadataActivity.java
+++ /dev/null
@@ -1,187 +0,0 @@
-package com.mapbox.mapboxsdk.testapp.activity.offline;
-
-import android.content.Context;
-import android.os.Bundle;
-import android.support.v7.app.AlertDialog;
-import android.support.v7.app.AppCompatActivity;
-import android.text.InputType;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.AdapterView;
-import android.widget.BaseAdapter;
-import android.widget.EditText;
-import android.widget.ListView;
-import android.widget.TextView;
-import android.widget.Toast;
-
-import com.mapbox.mapboxsdk.maps.MapView;
-import com.mapbox.mapboxsdk.offline.OfflineManager;
-import com.mapbox.mapboxsdk.offline.OfflineRegion;
-import com.mapbox.mapboxsdk.testapp.R;
-import com.mapbox.mapboxsdk.testapp.utils.OfflineUtils;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * Test activity showing integration of updating metadata of an OfflineRegion.
- */
-public class UpdateMetadataActivity extends AppCompatActivity implements AdapterView.OnItemClickListener,
- AdapterView.OnItemLongClickListener {
-
- private OfflineRegionMetadataAdapter adapter;
-
- private MapView mapView;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_metadata_update);
-
- ListView listView = findViewById(R.id.listView);
- listView.setAdapter(adapter = new OfflineRegionMetadataAdapter(this));
- listView.setEmptyView(findViewById(android.R.id.empty));
- listView.setOnItemClickListener(this);
- listView.setOnItemLongClickListener(this);
- }
-
- @Override
- public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
- final OfflineRegion region = adapter.getItem(position);
- String metadata = OfflineUtils.convertRegionName(region.getMetadata());
-
- AlertDialog.Builder builder = new AlertDialog.Builder(this);
- builder.setTitle("Rename metadata");
-
- final EditText input = new EditText(this);
- input.setText(metadata);
- input.setInputType(InputType.TYPE_CLASS_TEXT);
- if (metadata != null) {
- input.setSelection(metadata.length());
- }
- builder.setView(input);
-
- builder.setPositiveButton("OK", (dialog, which) ->
- updateMetadata(region, OfflineUtils.convertRegionName(input.getText().toString()))
- );
- builder.setNegativeButton("Cancel", (dialog, which) -> dialog.cancel());
-
- builder.show();
- }
-
- @Override
- public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
- ViewGroup container = findViewById(R.id.container);
- container.removeAllViews();
- container.addView(mapView = new MapView(view.getContext()));
- mapView.onCreate(null);
- mapView.getMapAsync(map -> map.setOfflineRegionDefinition(adapter.getItem(position).getDefinition()));
- mapView.onStart();
- mapView.onResume();
- return true;
- }
-
- private void updateMetadata(OfflineRegion region, byte[] metadata) {
- region.updateMetadata(metadata, new OfflineRegion.OfflineRegionUpdateMetadataCallback() {
- @Override
- public void onUpdate(byte[] metadata) {
- adapter.notifyDataSetChanged();
- }
-
- @Override
- public void onError(String error) {
- Toast.makeText(
- UpdateMetadataActivity.this,
- "Region metadata update failed with " + error,
- Toast.LENGTH_LONG
- ).show();
- }
- });
- }
-
- @Override
- protected void onStart() {
- super.onStart();
- loadOfflineRegions();
- }
-
- private void loadOfflineRegions() {
- OfflineManager.getInstance(this).listOfflineRegions(new OfflineManager.ListOfflineRegionsCallback() {
- @Override
- public void onList(OfflineRegion[] offlineRegions) {
- if (offlineRegions != null && offlineRegions.length > 0) {
- adapter.setOfflineRegions(Arrays.asList(offlineRegions));
- }
- }
-
- @Override
- public void onError(String error) {
- Toast.makeText(UpdateMetadataActivity.this, "Error loading regions " + error, Toast.LENGTH_LONG).show();
- }
- });
- }
-
- @Override
- protected void onDestroy() {
- super.onDestroy();
- if (mapView != null) {
- mapView.onPause();
- mapView.onStop();
- mapView.onDestroy();
- }
- }
-
- private static class OfflineRegionMetadataAdapter extends BaseAdapter {
-
- private Context context;
- private List<OfflineRegion> offlineRegions;
-
- OfflineRegionMetadataAdapter(Context ctx) {
- context = ctx;
- offlineRegions = new ArrayList<>();
- }
-
- void setOfflineRegions(List<OfflineRegion> offlineRegions) {
- this.offlineRegions = offlineRegions;
- notifyDataSetChanged();
- }
-
- @Override
- public int getCount() {
- return offlineRegions.size();
- }
-
- @Override
- public OfflineRegion getItem(int position) {
- return offlineRegions.get(position);
- }
-
- @Override
- public long getItemId(int position) {
- return position;
- }
-
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- ViewHolder holder;
-
- if (convertView == null) {
- holder = new ViewHolder();
- convertView = LayoutInflater.from(context).inflate(android.R.layout.simple_list_item_1, parent, false);
- holder.text = (TextView) convertView.findViewById(android.R.id.text1);
- convertView.setTag(holder);
- } else {
- holder = (ViewHolder) convertView.getTag();
- }
-
- holder.text.setText(OfflineUtils.convertRegionName(getItem(position).getMetadata()));
- return convertView;
- }
-
- static class ViewHolder {
- TextView text;
- }
- }
-}