public async void DownloadPoisListAsync()
        {
            POIService service = new POIService();

            if (!service.isConnected(activity))
            {
                Toast toast = Toast.MakeText(activity, "Not conntected to the internet. Please, check your device network settings.", ToastLength.Short);
                toast.Show();
                poiListData = DBManager.Instance.GetPOIListFromCache();
            }
            else
            {
                progressBar.Visibility = ViewStates.Visible;
                poiListData            = await service.GetPOIListAsync();

                // Clear cached data
                DBManager.Instance.ClearPOICache();

                // Save updated POI data
                DBManager.Instance.InsertAll(poiListData);

                progressBar.Visibility = ViewStates.Gone;
            }

            poiListAdapter   = new POIListViewAdapter(activity, poiListData);
            this.ListAdapter = poiListAdapter;
            ListView.Post(() => {
                ListView.SetSelection(scrollPosition);
            });
        }