protected async override void OnCreate(Bundle bundle)
        {
            //Generic onCreate for the activity
            base.OnCreate(bundle);

            //Gesture management
            gestureDetector = createGestureDetector(this);

            //Stops Glass from turning the screen off
            Window.AddFlags(WindowManagerFlags.KeepScreenOn);

            //Creates the AudioManager for the tap responses
            audioManager = (AudioManager)GetSystemService(Context.AudioService);

            //Load hashtag history using preferences
            prefs = GetSharedPreferences("tweets", 0);
            HashSet <String> defaultPrefs = new HashSet <String>();

            defaultPrefs.Add("YOlO");
            var tempHashtagPrefs = prefs.GetStringSet("hashtags", defaultPrefs);

            foreach (var x in tempHashtagPrefs)
            {
                hashtagPrefs.Add(x);
            }

            //Create title card
            cards = new List <Card>();
            AddCard("YOLO (for Glass", "Tap to load cards");

            //Set up card scroller
            scroller         = new CardScrollView(this);
            scroller.Adapter = adapter;

            //Handles touchpad tap
            scroller.ItemClick += (system, e) =>
                                  tweetRefresh();

            //Twitter auth and setup
            var tht = new TwitterHashtags.TwitterHashtags();

            auth = await tht.doAuth();

            //Activate the view
            SetContentView(scroller);
        }
        public async void tweetRefresh()
        {
            //If we're on the last card, get new tweets
            if (scroller.SelectedItemPosition == adapter.Count - 1)
            {
                //Play sound effect for feedback
                audioManager.PlaySoundEffect(SoundEffect.KeyClick);

                //Create twitter object and get search results
                var tht            = new TwitterHashtags.TwitterHashtags();
                var searchResponse = await tht.getTweets(hashtag, sinceId, auth);

                //As long as there's something
                if (searchResponse != null && searchResponse.Statuses != null)
                {
                    //Add each tweet as a card
                    foreach (var tweet in searchResponse.Statuses)
                    {
                        if (tweet.StatusID > sinceId)
                        {
                            AddCard(tweet.Text, tweet.User.Name + " - " + tweet.CreatedAt);
                        }
                    }

                    //Update the sinceId counter
                    sinceId = searchResponse.Statuses[0].StatusID;

                    //Play sound effect for notification
                    audioManager.PlaySoundEffect(SoundEffect.Invalid);
                }
            }
            //Otherwise, jump to the last card
            else
            {
                scroller.SetSelection(adapter.Count - 1);
            }
        }