package org.osmdroid.samplefragments.cache; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.Toast; import org.osmdroid.R; import org.osmdroid.samplefragments.BaseSampleFragment; import org.osmdroid.tileprovider.modules.IFilesystemCache; import org.osmdroid.tileprovider.modules.SqlTileWriter; import org.osmdroid.views.MapView; /** * Created by alex on 9/25/16. */ public class CachePurge extends BaseSampleFragment implements View.OnClickListener, Runnable { Button btnCache; @Override public String getSampleTitle() { return "How to purge the tile cache"; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View root = inflater.inflate(R.layout.sample_cachemgr, container,false); mMapView = (MapView) root.findViewById(R.id.mapview); btnCache = (Button) root.findViewById(R.id.btnCache); btnCache.setOnClickListener(this); btnCache.setText("Cache Purge (database)"); return root; } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btnCache: new Thread(this).start(); break; } } @Override public void run() { IFilesystemCache tileWriter = mMapView.getTileProvider().getTileWriter(); if (tileWriter instanceof SqlTileWriter){ final boolean b = ((SqlTileWriter) tileWriter).purgeCache(); if (getActivity()!=null){ getActivity().runOnUiThread(new Runnable() { @Override public void run() { if (b) Toast.makeText(getActivity(), "Cache Purge successful", Toast.LENGTH_SHORT).show(); else Toast.makeText(getActivity(), "Cache Purge failed", Toast.LENGTH_SHORT).show(); } }); } } } }