public override async void OnListItemClick(ListView l, View v, int position, long id) { RecentTimeEntriesAdapter adapter = null; if (l.Adapter is HeaderViewListAdapter) { var headerAdapter = (HeaderViewListAdapter)l.Adapter; adapter = headerAdapter.WrappedAdapter as RecentTimeEntriesAdapter; // Adjust the position by taking into account the fact that we've got headers position -= headerAdapter.HeadersCount; } else if (l.Adapter is RecentTimeEntriesAdapter) { adapter = (RecentTimeEntriesAdapter)l.Adapter; } if (adapter == null || position < 0 || position >= adapter.Count) { return; } var data = adapter.GetEntry(position); if (data == null) { return; } var model = new TimeEntryModel(data); // Show a notice about tapping on entries acts as continue. if (RecentTimeEntryContinueDialogFragment.TryShow(FragmentManager, model)) { return; } // Scroll to top (where the new model will appear) ListView.SmoothScrollToPosition(0); DurOnlyNoticeDialogFragment.TryShow(FragmentManager); var entry = await model.ContinueAsync(); // Notify that the user explicitly started something var bus = ServiceContainer.Resolve <MessageBus> (); bus.Send(new UserTimeEntryStateChangeMessage(this, entry)); // Ping analytics ServiceContainer.Resolve <ITracker> ().SendTimerStartEvent(TimerStartSource.AppContinue); }
private void EnsureAdapter() { if (ListAdapter == null && UserVisibleHint && IsAdded) { var settingsStore = ServiceContainer.Resolve <SettingsStore> (); if (!settingsStore.GotWelcomeMessage) { welcomeManager = new WelcomeBoxManager(ListView); } var adapter = new RecentTimeEntriesAdapter(); ListAdapter = adapter; } }
public override void OnListItemClick(ListView l, View v, int position, long id) { RecentTimeEntriesAdapter adapter = null; if (l.Adapter is HeaderViewListAdapter) { var headerAdapter = (HeaderViewListAdapter)l.Adapter; adapter = headerAdapter.WrappedAdapter as RecentTimeEntriesAdapter; // Adjust the position by taking into account the fact that we've got headers position -= headerAdapter.HeadersCount; } else if (l.Adapter is RecentTimeEntriesAdapter) { adapter = (RecentTimeEntriesAdapter)l.Adapter; } if (adapter == null || position < 0 || position >= adapter.Count) { return; } var model = adapter.GetEntry(position); if (model == null) { return; } var entry = model.Continue(); // Scroll to top (where the new model will appear) ListView.SmoothScrollToPosition(0); // Notify that the user explicitly started something var bus = ServiceContainer.Resolve <MessageBus> (); bus.Send(new UserTimeEntryStateChangeMessage(this, entry)); DurOnlyNoticeDialogFragment.TryShow(FragmentManager); }
private void EnsureAdapter () { if (ListAdapter == null && UserVisibleHint && IsAdded) { var settingsStore = ServiceContainer.Resolve<SettingsStore> (); if (!settingsStore.GotWelcomeMessage) { welcomeManager = new WelcomeBoxManager (ListView); } var adapter = new RecentTimeEntriesAdapter (); ListAdapter = adapter; } }