protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            // Check connectivity
            isConnected = Utils.CheckConnectivity(this);

            stopListView            = FindViewById <ListView>(Resource.Id.stopsListView);
            stopListView.ItemClick += StopListView_ItemClick;
            stopListView.SetMultiChoiceModeListener(new StopListMultChoiceHandler(this));

            // Get stops from DB
            db.CreateAllTables();

            // Set fragment that stores and updates stops
            departuresFragment = (DeparturesFragment)FragmentManager.FindFragmentByTag(TAG_TASK_FRAGMENT);

            if (Utils.CheckConnectivity(this))
            {
                // Activity first start, fragment not created
                if (departuresFragment == null)
                {
                    departuresFragment = new DeparturesFragment();
                    departuresFragment.TimeTableUpdated += Timetable_Updated;
                    FragmentManager.BeginTransaction().Add(departuresFragment, TAG_TASK_FRAGMENT).Commit();
                    requestTimetableUpdate();
                }
                // Fragment exists, but has no data - case when activity has been in background
                else if (departuresFragment != null && departuresFragment.Stops == null)
                {
                    departuresFragment.TimeTableUpdated += Timetable_Updated;
                    requestTimetableUpdate();
                }
                // Fragment exists with data - case when screen is rotated
                else
                {
                    adapter = new StopListAdapter(this, departuresFragment.Stops);
                    stopListView.Adapter = adapter;
                }
            }
            else
            {
                Toast.MakeText(this, Resources.GetString(Resource.String.no_connection), ToastLength.Long).Show();
            }
        }
        // Menu actions
        public override bool OnOptionsItemSelected(IMenuItem item)
        {
            int id = item.ItemId;

            switch (item.ItemId)
            {
            // Add line
            case Resource.Id.action_add_line:
                Intent intent = new Intent(this, typeof(AddLineActivity));
                StartActivityForResult(intent, REQUEST_DATABASE_UPDATE);
                break;

            // Refresh timetable
            case Resource.Id.action_refresh:
                if (Utils.CheckConnectivity(this))
                {
                    if (departuresFragment != null)
                    {
                        requestTimetableUpdate();
                    }
                    else
                    {
                        departuresFragment = new DeparturesFragment();
                        departuresFragment.TimeTableUpdated += Timetable_Updated;
                        FragmentManager.BeginTransaction().Add(departuresFragment, TAG_TASK_FRAGMENT).Commit();
                        requestTimetableUpdate();
                    }
                }
                else
                {
                    Toast.MakeText(this, Resources.GetString(Resource.String.no_connection), ToastLength.Long).Show();
                }
                break;

            default:
                break;
            }
            return(base.OnOptionsItemSelected(item));
        }