beta 0.1.1
[DHBWCampusApp.git] / app / src / main / java / de / dhbwloe / campusapp / fragments / DashboardNewsDhbw.java
index 3f1c3c2fa49aeddd3b71fb30baf6f9ccb7807fce..20f1ad8f18fd04380e134e5fbd2b72e7b8781e25 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 DashboardNewsDhbw extends CampusAppFragment {
-
+public class DashboardNewsDhbw extends News {
+    private View newsEntryPanel;
+    private View newsNonePanel;
 
     public DashboardNewsDhbw() {
         // Required empty public constructor
@@ -24,8 +30,46 @@ public class DashboardNewsDhbw 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_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);
     }
 
 }