From 13aea6071e89cfebadedbd72f149bd0d8d411757 Mon Sep 17 00:00:00 2001
From: idiotme <meityadianti@gmail.com>
Date: Tue, 8 Aug 2017 16:40:40 +0700
Subject: [PATCH] Add method to convert date

---
 .../ui/cs/myui/database/DatabaseHandler.java  |   5 +-
 .../id/ac/ui/cs/myui/model/news/ItemNews.java | 107 ++++++++++++++++++
 .../id/ac/ui/cs/myui/task/NewsSceleTask.java  |  61 +++++-----
 .../ac/ui/cs/myui/task/NotificationTask.java  |   2 +-
 4 files changed, 142 insertions(+), 33 deletions(-)

diff --git a/app/src/main/java/id/ac/ui/cs/myui/database/DatabaseHandler.java b/app/src/main/java/id/ac/ui/cs/myui/database/DatabaseHandler.java
index c92674c0..88891fd8 100644
--- a/app/src/main/java/id/ac/ui/cs/myui/database/DatabaseHandler.java
+++ b/app/src/main/java/id/ac/ui/cs/myui/database/DatabaseHandler.java
@@ -195,6 +195,7 @@ public class DatabaseHandler extends SQLiteOpenHelper {
     public void insertNewsItem(List<News> newsItems) {
         for (News newsitem : newsItems) {
             addNews(newsitem);
+            Log.d("ADD NEWS DATE 1", newsitem.getDate());
         }
     }
 
@@ -211,6 +212,7 @@ public class DatabaseHandler extends SQLiteOpenHelper {
         values.put(COLUMN_LINK, news.getLink());
         values.put(COLUMN_BOOKMARKED, 0);
 
+        Log.d("ADD NEWS DATE 2", news.getDate());
 
         // Inserting Row
         db.insert(TABLE_NEWS, null, values);
@@ -362,8 +364,7 @@ public class DatabaseHandler extends SQLiteOpenHelper {
                 COLUMN_LINK
         };
         // sorting orders
-        String sortOrder =
-                COLUMN_ID + " ASC";
+        String sortOrder = COLUMN_ID + " DESC";
         ArrayList<News> bookmarkedNewsList = new ArrayList<News>();
 
         db = this.getReadableDatabase();
diff --git a/app/src/main/java/id/ac/ui/cs/myui/model/news/ItemNews.java b/app/src/main/java/id/ac/ui/cs/myui/model/news/ItemNews.java
index f35fc260..6f998282 100644
--- a/app/src/main/java/id/ac/ui/cs/myui/model/news/ItemNews.java
+++ b/app/src/main/java/id/ac/ui/cs/myui/model/news/ItemNews.java
@@ -7,6 +7,8 @@ import org.simpleframework.xml.Element;
 import org.simpleframework.xml.Path;
 import org.simpleframework.xml.Root;
 
+import java.util.ArrayList;
+
 /**
  * Created by agni.wira on 17/07/17.
  */
@@ -106,4 +108,109 @@ public class ItemNews {
         return stripHtml(akhir);
 
     }
+
+    public String getDate() {
+//        Mon, 07 Aug 2017 23:50:47 GMT
+        String dates[] = pubdate.split(" ");
+        String[] time = dates[4].split(":");
+
+        int date = Integer.parseInt(dates[1]);
+
+        if ((Integer.parseInt(time[0]) + 7) / 24 > 0) {
+            date += 1;
+            switch (dates[0]) {
+                case "Mon,":
+                    dates[0] = "Tue,";
+                    break;
+                case "Tue,":
+                    dates[0] = "Wed,";
+                    break;
+                case "Wed,":
+                    dates[0] = "Thu,";
+                    break;
+                case "Thu,":
+                    dates[0] = "Fri,";
+                    break;
+                case "Fri,":
+                    dates[0] = "Sat,";
+                    break;
+                case "Sat,":
+                    dates[0] = "Sun,";
+                    break;
+                case "Sun,":
+                    dates[0] = "Mon,";
+                    break;
+            }
+        }
+
+        int hour = (Integer.parseInt(time[0]) + 7) % 24;
+
+        String day = "";
+        switch (dates[0]) {
+            case "Mon,":
+                day = "Senin,";
+                break;
+            case "Tue,":
+                day = "Selasa,";
+                break;
+            case "Wed,":
+                day = "Rabu,";
+                break;
+            case "Thu,":
+                day = "Kamis,";
+                break;
+            case "Fri,":
+                day = "Jumat,";
+                break;
+            case "Sat,":
+                day = "Sabtu,";
+                break;
+            case "Sun,":
+                day = "Minggu,";
+                break;
+        }
+
+        String month = "";
+        switch (dates[2]) {
+            case "Jan":
+                month = "Januari";
+                break;
+            case "Feb":
+                month = "Februari";
+                break;
+            case "Mar":
+                month = "Maret";
+                break;
+            case "Apr":
+                month = "April";
+                break;
+            case "May":
+                month = "Mei";
+                break;
+            case "Jun":
+                month = "Juni";
+                break;
+            case "Jul":
+                month = "Juli";
+                break;
+            case "Aug":
+                month = "Agustus";
+                break;
+            case "Sep":
+                month = "September";
+                break;
+            case "Oct":
+                month = "Oktober";
+                break;
+            case "Nov":
+                month = "November";
+                break;
+            case "Dec":
+                month = "Desember";
+                break;
+        }
+        //        Mon, 07 Aug 2017 23:50:47 GMT
+
+        return day + " " + date + " " + month + " " + dates[3] + " " + hour + ":" +  time[1] + " WIB";
+    }
 }
diff --git a/app/src/main/java/id/ac/ui/cs/myui/task/NewsSceleTask.java b/app/src/main/java/id/ac/ui/cs/myui/task/NewsSceleTask.java
index 53f613ef..c3a2ddfb 100644
--- a/app/src/main/java/id/ac/ui/cs/myui/task/NewsSceleTask.java
+++ b/app/src/main/java/id/ac/ui/cs/myui/task/NewsSceleTask.java
@@ -63,7 +63,11 @@ public class NewsSceleTask extends AsyncTask<Object,Object,ArrayList<News>> {
                 String title = itemNews.get(i).getTitle();
                 String desc = itemNews.get(i).getContent();
                 String link = itemNews.get(i).getLink();
-                String date = itemNews.get(i).getPubdate();
+//                String date = itemNews.get(i).getPubdate();
+//                Log.d("NEWS DATE", date);
+//                Mon, 07 Aug 2017 23:50:47 GMT
+                String date = itemNews.get(i).getDate();
+                Log.d("NEWS DATE", date);
                 String author = itemNews.get(i).getAuthor();
 
                 if (dbhandler.findNews(title)) {
@@ -72,9 +76,8 @@ public class NewsSceleTask extends AsyncTask<Object,Object,ArrayList<News>> {
                     news.add(new News(title, desc, link, date, author));
 
                 }
-                Log.d("newsfeed", news.toString()+"news");
+                Log.d("NEWS FEED", news.toString()+"news");
             }
-
             return news;
 
         } catch (IOException e) {
@@ -91,35 +94,33 @@ public class NewsSceleTask extends AsyncTask<Object,Object,ArrayList<News>> {
         Activity newsHome = (Activity) context;
         final ListView listView = (ListView) newsHome.findViewById(R.id.list_news);
         if(newsSceles.size()!=0){
+            Log.d("NEWS WHEN INSERT TO DB", "EXECUTED");
             dbhandler.insertNewsItem(newsSceles);
         }
 
-        ArrayList<News> listMenuItems = dbhandler.getAllNews();
-
-
-        final NewsAdapter listMenuAdapter = new NewsAdapter(context, R.layout.news_item_layout, listMenuItems);
-        listView.setAdapter(listMenuAdapter);
-        final Intent intent = new Intent(context, NewsDetailActivity.class);
-
-        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
-            @Override
-            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
-                String title = listMenuAdapter.getItem(i).getTitle();
-                String description = listMenuAdapter.getItem(i).getDescription();
-                String date = listMenuAdapter.getItem(i).getDate();
-                String author = listMenuAdapter.getItem(i).getAuthor();
-                String link = listMenuAdapter.getItem(i).getLink();
-                intent.putExtra("Description", description);
-                intent.putExtra("Date", date);
-                intent.putExtra("Author", author);
-                intent.putExtra("Title", title);
-                intent.putExtra("link", link);
-                intent.putExtra("contextParent", "newsHome");
-
-                context.startActivity(intent);
-            }
-        });
-
-
+//        ArrayList<News> listMenuItems = dbhandler.getAllNews();
+//
+//        final NewsAdapter listMenuAdapter = new NewsAdapter(context, R.layout.news_item_layout, listMenuItems);
+//        listView.setAdapter(listMenuAdapter);
+//        final Intent intent = new Intent(context, NewsDetailActivity.class);
+//
+//        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+//            @Override
+//            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
+//                String title = listMenuAdapter.getItem(i).getTitle();
+//                String description = listMenuAdapter.getItem(i).getDescription();
+//                String date = listMenuAdapter.getItem(i).getDate();
+//                String author = listMenuAdapter.getItem(i).getAuthor();
+//                String link = listMenuAdapter.getItem(i).getLink();
+//                intent.putExtra("Description", description);
+//                intent.putExtra("Date", date);
+//                intent.putExtra("Author", author);
+//                intent.putExtra("Title", title);
+//                intent.putExtra("link", link);
+//                intent.putExtra("contextParent", "newsHome");
+//
+//                context.startActivity(intent);
+//            }
+//        });
     }
 }
diff --git a/app/src/main/java/id/ac/ui/cs/myui/task/NotificationTask.java b/app/src/main/java/id/ac/ui/cs/myui/task/NotificationTask.java
index 418b4e35..701aab90 100644
--- a/app/src/main/java/id/ac/ui/cs/myui/task/NotificationTask.java
+++ b/app/src/main/java/id/ac/ui/cs/myui/task/NotificationTask.java
@@ -69,7 +69,7 @@ public class NotificationTask extends AsyncTask<Object,Object,ArrayList<News>> {
                 String title = itemNews.get(i).getTitle();
                 String desc = itemNews.get(i).getContent();
                 String link = itemNews.get(i).getLink();
-                String date = itemNews.get(i).getPubdate();
+                String date = itemNews.get(i).getDate();
                 String author = itemNews.get(i).getAuthor();
 
                 if (!dbhandler.findNews(title)) {
-- 
GitLab