beta 0.1.1
[DHBWCampusApp.git] / app / src / main / java / de / dhbwloe / campusapp / fragments / DashboardNewsStuv.java
index 73d83ec74cfb31bbef19766fea834f776aa8f9fd..57bf356b299ba922779bc92504ade93100f12ffe 100644 (file)
@@ -6,15 +6,21 @@ import android.support.v4.app.Fragment;
 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 DashboardNewsStuv extends CampusAppFragment {
-
+public class DashboardNewsStuv extends News {
+    private View newsEntryPanel;
+    private View newsNonePanel;
 
     public DashboardNewsStuv() {
         // Required empty public constructor
@@ -24,8 +30,47 @@ public class DashboardNewsStuv extends CampusAppFragment {
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
                              Bundle savedInstanceState) {
-        // Inflate the layout for this fragment
-        return inflater.inflate(R.layout.fragment_dashboard_news_stuv, 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("STUV", false);
+        loadEventsSource("STUV", false);
+
+        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);
     }
 
 }