import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Date;
-import de.dhbwloe.campusapp.CampusAppFragment;
import de.dhbwloe.campusapp.R;
/**
* A simple {@link Fragment} subclass.
*/
-public class DashboardNewsDhbw extends CampusAppFragment {
-
+public class DashboardNewsDhbw extends News {
+ private View newsEntryPanel;
+ private View newsNonePanel;
public DashboardNewsDhbw() {
// Required empty public constructor
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
- // Inflate the layout for this fragment
- return inflater.inflate(R.layout.fragment_dashboard_news_dhbw, container, false);
+
+ oFragmentView = new RelativeLayout(inflater.getContext());
+ newsEntryPanel = inflater.inflate(R.layout.fragment_dashboard_news_entry, container, false);
+ newsNonePanel = inflater.inflate(R.layout.fragment_dashboard_news_none, container, false);
+
+ return oFragmentView;
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+
+ refreshStuvNews();
+ }
+
+ private void refreshStuvNews() {
+ loadNewsSource("DHBW", true);
+
+ Collections.sort(newsListItems, new Comparator<NewsListItem>() {
+ @Override
+ public int compare(NewsListItem item2, NewsListItem item1) {
+ long now = (new Date()).getTime() / 1000;
+ return (int) (item2.getTimeDifference(now) - item1.getTimeDifference(now));
+ }
+ });
+
+ RelativeLayout container = (RelativeLayout) oFragmentView;
+ container.removeAllViews();
+
+ if(newsListItems.size() > 0) {
+ container.addView(newsEntryPanel);
+
+ TextView dateView = (TextView) newsEntryPanel.findViewById(R.id.newsDate);
+ TextView titleView = (TextView) newsEntryPanel.findViewById(R.id.newsTitle);
+ NewsListItem newsItem = newsListItems.get(0);
+
+ dateView.setText(newsItem.getFormatedDate());
+ titleView.setText(newsItem.getTitle());
+ } else
+ container.addView(newsNonePanel);
}
}