diff --git a/app/src/main/java/id/ac/ui/cs/myui/activity/NewsHomeActivity.java b/app/src/main/java/id/ac/ui/cs/myui/activity/NewsHomeActivity.java index 14adbc0229c52f31cd0765973852e9017c487058..70d91be95d424b3b74d6bad6bbd123c0b0ce3e19 100644 --- a/app/src/main/java/id/ac/ui/cs/myui/activity/NewsHomeActivity.java +++ b/app/src/main/java/id/ac/ui/cs/myui/activity/NewsHomeActivity.java @@ -4,11 +4,13 @@ import android.content.Intent; import android.os.Bundle; +import android.util.Log; import android.widget.FrameLayout; import com.crashlytics.android.Crashlytics; import id.ac.ui.cs.myui.R; +import id.ac.ui.cs.myui.helper.Error; import id.ac.ui.cs.myui.task.NewsSceleTask; import io.fabric.sdk.android.Fabric; @@ -23,7 +25,6 @@ public class NewsHomeActivity extends DrawerActivity { FrameLayout contentFrameLayout = (FrameLayout) findViewById(R.id.content_bookmark); //Remember this is the FrameLayout area within your activity_main.xml getLayoutInflater().inflate(R.layout.activity_news_home, contentFrameLayout); - new NewsSceleTask(this).execute(); diff --git a/app/src/main/java/id/ac/ui/cs/myui/helper/Error.java b/app/src/main/java/id/ac/ui/cs/myui/helper/Error.java new file mode 100644 index 0000000000000000000000000000000000000000..65ffe0f79d30591a7fb3113c0f90a90d1025792b --- /dev/null +++ b/app/src/main/java/id/ac/ui/cs/myui/helper/Error.java @@ -0,0 +1,38 @@ +package id.ac.ui.cs.myui.helper; + +/** + * Created by muhammad.yusuf43 and Siti Ina on 24/07/17. + */ + +public enum Error { + DATABASE(0, "A database error has occured."), + UNAUTHORIZED(1, "Failed login"), + INVALID_TOKEN(2, "Invalid Token"), + EXPIRED_TOKEN(3, "Token Expired"), + NETWORK(4, "Connection not established"), + SERVER_ERROR(5, "Bad gateway"), + NO_CONTENT(6, "Success connected but retrieve nothing"), + RTO(7, "request time out"), + UMT(8, "Unsupported media type"); + + private final int code; + private final String description; + + private Error(int code, String description) { + this.code = code; + this.description = description; + } + + public String getDescription() { + return description; + } + + public int getCode() { + return code; + } + + @Override + public String toString() { + return code + ": " + description; + } +} diff --git a/app/src/main/java/id/ac/ui/cs/myui/task/CalendarTask.java b/app/src/main/java/id/ac/ui/cs/myui/task/CalendarTask.java index 4dbe40c22ce837d5a7f32ef23e9dc789e8c07f25..674df56a388a2a202cc621cf0d7bf3a8af3cc00b 100644 --- a/app/src/main/java/id/ac/ui/cs/myui/task/CalendarTask.java +++ b/app/src/main/java/id/ac/ui/cs/myui/task/CalendarTask.java @@ -6,6 +6,8 @@ import android.content.Context; import android.content.Intent; import android.os.AsyncTask; import android.util.Log; +import android.widget.Toast; + import android.view.View; import android.widget.AdapterView; import android.widget.ListAdapter; @@ -32,6 +34,7 @@ public class CalendarTask extends AsyncTask<String, Void, String> { private Context context; private DatabaseHandler dbHelper; final String URL2 = "https://academic.ui.ac.id/main/CalendarUI/Index"; + private String error_message; public CalendarTask(Context context) { this.context = context; @@ -47,14 +50,71 @@ public class CalendarTask extends AsyncTask<String, Void, String> { @Override protected String doInBackground(String... params) { - + // try { + List<CalendarItem> calendarItemList = createCalenderItem(); dbHelper.insertMenu(calendarItemList); - Log.d("kalendar","insert"); +// Connection.Response initial = Jsoup +// .connect(params[0]) +// .method(Connection.Method.GET).execute(); +// +// Connection.Response login = Jsoup +// .connect(params[0]) +// .data("u","") +// .data("p","") +// .cookies(initial.cookies()) +// .method(Connection.Method.POST) +// .execute(); +// +// /*Document page = Jsoup +// .connect("ANY_PAGE_INSIDE_THE_SITE") +// .cookies(login.cookies()) //use this with any page you parse. it will log you in +// .get();*/ +// +// Log.d("masuk", "test"); +// Document doc = Jsoup.connect(URL2).cookies(login.cookies()).maxBodySize(0).get(); +// Log.i("ha", doc.title().toString()); +//// Elements tableElement = doc.select(".box"); +//// Log.d("nama jsoup", tableElement.toString()); +//// Elements tableRows = tableElement.select("tr"); +//// for (Element row : tableRows) { +//// Elements cells = row.select("td"); +//// if (cells.size() >0) { +//// // System.out.print("haiahai"); +//// Log.d("CALENDAR TASK",cells.get(0).text()+"; "+cells.get(1).text()+"; "+cells.get(2).text()+"; "+cells.get(3).text()); +//// } +//// } +// +// //Element table = doc.select("table").first(); +// Boolean html = doc.html().contains("class\"box\""); +// Element table = doc.getElementsByClass("box").first(); +// +// if(table == null) { +// Log.d("hasil", "masih null nih :(" + html); +// } +// +// else { +// +// +// Elements tableRows = table.select("tr"); +// for (int i = 1; i < tableRows.size(); i++) { //first row is the col names so skip it. +// Element row = tableRows.get(i); +// Elements cols = row.select("td"); +// Log.d("CALENDAR TASK", cols.get(0).text()+"; "+cols.get(1).text()+"; "+cols.get(2).text()+"; "+cols.get(3).text()); +// } +// } + +// return "halo halo"; +// } +// +// catch (IOException e) { +// e.printStackTrace(); +// } return data; } + private List<CalendarItem> createCalenderItem() { CalendarItem item1 = new CalendarItem(1, "19 Mei 2017", "01 Jun 2017" , 14, "Universitas Indonesia","Registrasi Akademik"); CalendarItem item2 = new CalendarItem(2, "24 Mei 2017", "01 Jun 2017", 9, "Program Studi S1 Paralel Sistem Informasi","Registrasi Akademik"); @@ -99,6 +159,9 @@ public class CalendarTask extends AsyncTask<String, Void, String> { @Override protected void onPostExecute(String s) { + if (error_message != null) { + Toast.makeText(context,error_message,Toast.LENGTH_LONG).show(); + } Activity actCalendar = (Activity) context; ListView dateList = (ListView) actCalendar.findViewById(R.id.list_tanggal); final List<CalendarItem> myCalendar = dbHelper.getAllParentMenu(); //Harus ambil data dari serviceL 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 209e3fb8db70961c4dec0b788ed0566e3492bdcd..7ac11665e43a64ca7cf93c955649679fbf2b984c 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 @@ -19,6 +19,8 @@ import id.ac.ui.cs.myui.R; import id.ac.ui.cs.myui.activity.NewsDetailActivity; import id.ac.ui.cs.myui.activity.NewsHomeActivity; import id.ac.ui.cs.myui.adapter.NewsAdapter; +import id.ac.ui.cs.myui.helper.Error; + import id.ac.ui.cs.myui.database.DatabaseHandler; import id.ac.ui.cs.myui.model.ItemNews; import id.ac.ui.cs.myui.model.News; @@ -35,8 +37,8 @@ import retrofit2.converter.simplexml.SimpleXmlConverterFactory; public class NewsSceleTask extends AsyncTask<Object,Object,ArrayList<News>> { private Context context; + private String error_message; private DatabaseHandler dbhandler; - public NewsSceleTask(Context context) { this.context = context; this.dbhandler = new DatabaseHandler(context); @@ -83,6 +85,7 @@ public class NewsSceleTask extends AsyncTask<Object,Object,ArrayList<News>> { } catch (IOException e) { e.printStackTrace(); + error_message = Error.DATABASE.getDescription(); } return null;