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); } }