package org.wordpress.android.ui.stats; import android.os.Bundle; import android.view.ViewGroup; import android.widget.LinearLayout; import android.widget.TextView; import org.wordpress.android.R; import org.wordpress.android.ui.stats.models.InsightsAllTimeModel; import org.wordpress.android.ui.stats.service.StatsService; import org.wordpress.android.util.FormatUtils; public class StatsInsightsAllTimeFragment extends StatsAbstractInsightsFragment { public static final String TAG = StatsInsightsAllTimeFragment.class.getSimpleName(); private InsightsAllTimeModel mInsightsAllTimeModel; @Override protected boolean hasDataAvailable() { return mInsightsAllTimeModel != null; } @Override protected void saveStatsData(Bundle outState) { if (hasDataAvailable()) { outState.putSerializable(ARG_REST_RESPONSE, mInsightsAllTimeModel); } } @Override protected void restoreStatsData(Bundle savedInstanceState) { if (savedInstanceState.containsKey(ARG_REST_RESPONSE)) { mInsightsAllTimeModel = (InsightsAllTimeModel) savedInstanceState.getSerializable(ARG_REST_RESPONSE); } } @SuppressWarnings("unused") public void onEventMainThread(StatsEvents.InsightsAllTimeUpdated event) { if (!shouldUpdateFragmentOnUpdateEvent(event)) { return; } mInsightsAllTimeModel = event.mInsightsAllTimeModel; updateUI(); } @SuppressWarnings("unused") public void onEventMainThread(StatsEvents.SectionUpdateError event) { if (!shouldUpdateFragmentOnErrorEvent(event)) { return; } mInsightsAllTimeModel = null; showErrorUI(event.mError); } protected void updateUI() { super.updateUI(); if (!isAdded() || !hasDataAvailable()) { return; } LinearLayout ll = (LinearLayout) getActivity().getLayoutInflater() .inflate(R.layout.stats_insights_all_time_item, (ViewGroup) mResultContainer.getRootView(), false); TextView postsTextView = (TextView) ll.findViewById(R.id.stats_all_time_posts); TextView viewsTextView = (TextView) ll.findViewById(R.id.stats_all_time_views); TextView visitorsTextView = (TextView) ll.findViewById(R.id.stats_all_time_visitors); TextView besteverTextView = (TextView) ll.findViewById(R.id.stats_all_time_bestever); TextView besteverDateTextView = (TextView) ll.findViewById(R.id.stats_all_time_bestever_date); postsTextView.setText(FormatUtils.formatDecimal(mInsightsAllTimeModel.getPosts())); viewsTextView.setText(FormatUtils.formatDecimal(mInsightsAllTimeModel.getViews())); visitorsTextView.setText(FormatUtils.formatDecimal(mInsightsAllTimeModel.getVisitors())); besteverTextView.setText(FormatUtils.formatDecimal(mInsightsAllTimeModel.getViewsBestDayTotal())); besteverDateTextView.setText( StatsUtils.parseDate(mInsightsAllTimeModel.getViewsBestDay(), StatsConstants.STATS_INPUT_DATE_FORMAT, "MMMM dd, yyyy") ); mResultContainer.addView(ll); } @Override protected StatsService.StatsEndpointsEnum[] sectionsToUpdate() { return new StatsService.StatsEndpointsEnum[]{ StatsService.StatsEndpointsEnum.INSIGHTS_ALL_TIME }; } @Override public String getTitle() { return getString(R.string.stats_insights_all_time); } }