From 3b37461e4d236444d72a46ddbbb2eec1cdb9abda Mon Sep 17 00:00:00 2001
From: "ayu.annisa41" <ayu.annisa41@ui.ac.id>
Date: Thu, 24 Aug 2017 10:37:01 +0700
Subject: [PATCH] improve panic button layout, add dialog confirmation before
 log out and unbookmark news ayu&ivan

---
 .../myui/activity/epic_1/DrawerActivity.java  | 23 +++++++++-
 .../epic_1/news/NewsDetailActivity.java       | 46 ++++++++++++++++---
 .../activity/epic_2/NotificationActivity.java |  4 +-
 .../main/res/layout/activity_panic_button.xml | 25 ++++------
 app/src/main/res/values/strings.xml           |  7 ++-
 5 files changed, 76 insertions(+), 29 deletions(-)

diff --git a/app/src/main/java/id/ac/ui/cs/myui/activity/epic_1/DrawerActivity.java b/app/src/main/java/id/ac/ui/cs/myui/activity/epic_1/DrawerActivity.java
index 3d17dc51..a3a349b7 100644
--- a/app/src/main/java/id/ac/ui/cs/myui/activity/epic_1/DrawerActivity.java
+++ b/app/src/main/java/id/ac/ui/cs/myui/activity/epic_1/DrawerActivity.java
@@ -1,6 +1,7 @@
 package id.ac.ui.cs.myui.activity.epic_1;
 
 import android.content.Context;
+import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.SharedPreferences;
 import android.os.Bundle;
@@ -8,6 +9,7 @@ import android.support.design.widget.NavigationView;
 import android.support.v4.view.GravityCompat;
 import android.support.v4.widget.DrawerLayout;
 import android.support.v7.app.ActionBarDrawerToggle;
+import android.support.v7.app.AlertDialog;
 import android.support.v7.app.AppCompatActivity;
 import android.support.v7.widget.Toolbar;
 import android.text.Layout;
@@ -23,10 +25,12 @@ import id.ac.ui.cs.myui.R;
 import id.ac.ui.cs.myui.activity.epic_1.calendar.CalendarActivity;
 import id.ac.ui.cs.myui.activity.epic_1.news.BookmarkNewsActivity;
 import id.ac.ui.cs.myui.activity.epic_1.news.NewsHomeActivity;
+import id.ac.ui.cs.myui.activity.epic_2.NotificationActivity;
 import id.ac.ui.cs.myui.activity.epic_2.panic_button.PanicButtonActivity;
 import id.ac.ui.cs.myui.activity.epic_2.schedule.ScheduleActivity;
 
 import id.ac.ui.cs.myui.database.DatabaseHandler;
+import id.ac.ui.cs.myui.task.NotificationTask;
 import id.ac.ui.cs.myui.task.RefreshTokenTask;
 
 
@@ -139,8 +143,23 @@ public class DrawerActivity extends AppCompatActivity
                 if(sharedPreferences.getString("username","")==""){
                     caseDrawer(getApplicationContext(), LoginActivity.class);
                 } else {
-                    sharedPreferences.edit().clear().commit();
-                    caseDrawer(getApplicationContext(), NewsHomeActivity.class);
+                    AlertDialog.Builder dialog = new AlertDialog.Builder(DrawerActivity.this);
+                    dialog.setMessage(getResources().getString(R.string.confirmation));
+
+                    dialog.setPositiveButton(getResources().getString(R.string.logout_option), new DialogInterface.OnClickListener() {
+                        public void onClick(DialogInterface dialog, int whichButton) {
+                            sharedPreferences.edit().clear().commit();
+                            caseDrawer(getApplicationContext(), NewsHomeActivity.class);
+                        }
+                    });
+
+                    dialog.setNegativeButton(getResources().getString(R.string.cancel_option), new DialogInterface.OnClickListener() {
+                        public void onClick(DialogInterface dialog, int whichButton) {
+                            dialog.dismiss();
+                        }
+                    });
+                    dialog.show();
+
                 }
                 drawerLayout.closeDrawers();
                 break;
diff --git a/app/src/main/java/id/ac/ui/cs/myui/activity/epic_1/news/NewsDetailActivity.java b/app/src/main/java/id/ac/ui/cs/myui/activity/epic_1/news/NewsDetailActivity.java
index 84852485..d7c64d69 100644
--- a/app/src/main/java/id/ac/ui/cs/myui/activity/epic_1/news/NewsDetailActivity.java
+++ b/app/src/main/java/id/ac/ui/cs/myui/activity/epic_1/news/NewsDetailActivity.java
@@ -1,11 +1,13 @@
 package id.ac.ui.cs.myui.activity.epic_1.news;
 
 import android.content.Context;
+import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.net.Uri;
 import android.os.Bundle;
+import android.support.v7.app.AlertDialog;
 import android.support.v7.app.AppCompatActivity;
 import android.util.Log;
 import android.view.Menu;
@@ -22,6 +24,7 @@ import org.sufficientlysecure.htmltextview.HtmlTextView;
 import java.util.List;
 
 import id.ac.ui.cs.myui.R;
+import id.ac.ui.cs.myui.activity.epic_1.DrawerActivity;
 import id.ac.ui.cs.myui.activity.epic_2.NotificationActivity;
 import id.ac.ui.cs.myui.database.DatabaseHandler;
 import id.ac.ui.cs.myui.database.NewsHandler;
@@ -139,14 +142,45 @@ public class NewsDetailActivity extends AppCompatActivity {
                     newsHandler.setBookmark(news);
                 } else {
                     if (toast == null) {
-                        toast = Toast.makeText(NewsDetailActivity.this, context.getResources().getString(R.string.remove_news_from_bookmark), Toast.LENGTH_SHORT);
-                        toast.show();
+                        AlertDialog.Builder dialog = new AlertDialog.Builder(NewsDetailActivity.this);
+                        dialog.setMessage(getResources().getString(R.string.confirmation));
+
+                        dialog.setPositiveButton(getResources().getString(R.string.unbookmark_option), new DialogInterface.OnClickListener() {
+                            public void onClick(DialogInterface dialog, int whichButton) {
+                                newsHandler.deleteBookmark(news);
+                                ibBookmark.setBackgroundDrawable(getResources().getDrawable(R.drawable.unbookmark));
+                                toast = Toast.makeText(NewsDetailActivity.this, context.getResources().getString(R.string.remove_news_from_bookmark), Toast.LENGTH_SHORT);
+                                toast.show();
+                            }
+                        });
+
+                        dialog.setNegativeButton(getResources().getString(R.string.cancel_option), new DialogInterface.OnClickListener() {
+                            public void onClick(DialogInterface dialog, int whichButton) {
+                                dialog.dismiss();
+                            }
+                        });
+                        dialog.show();
                     }else if (!toast.getView().isShown()){
-                        toast = Toast.makeText(NewsDetailActivity.this, context.getResources().getString(R.string.remove_news_from_bookmark), Toast.LENGTH_SHORT);
-                        toast.show();
+                        AlertDialog.Builder dialog = new AlertDialog.Builder(NewsDetailActivity.this);
+                        dialog.setMessage(getResources().getString(R.string.confirmation));
+
+                        dialog.setPositiveButton(getResources().getString(R.string.unbookmark_option), new DialogInterface.OnClickListener() {
+                            public void onClick(DialogInterface dialog, int whichButton) {
+                                newsHandler.deleteBookmark(news);
+                                ibBookmark.setBackgroundDrawable(getResources().getDrawable(R.drawable.unbookmark));
+                                toast = Toast.makeText(NewsDetailActivity.this, context.getResources().getString(R.string.remove_news_from_bookmark), Toast.LENGTH_SHORT);
+                                toast.show();
+                            }
+                        });
+
+                        dialog.setNegativeButton(getResources().getString(R.string.cancel_option), new DialogInterface.OnClickListener() {
+                            public void onClick(DialogInterface dialog, int whichButton) {
+                                dialog.dismiss();
+                            }
+                        });
+                        dialog.show();
                     }
-                    newsHandler.deleteBookmark(news);
-                    ibBookmark.setBackgroundDrawable(getResources().getDrawable(R.drawable.unbookmark));
+
                     if (parent_activity.equals("bookmark")) {
                         Intent intent = new Intent(NewsDetailActivity.this, BookmarkNewsActivity.class);
                         startActivity(intent);
diff --git a/app/src/main/java/id/ac/ui/cs/myui/activity/epic_2/NotificationActivity.java b/app/src/main/java/id/ac/ui/cs/myui/activity/epic_2/NotificationActivity.java
index 6cd20c7c..4879e950 100644
--- a/app/src/main/java/id/ac/ui/cs/myui/activity/epic_2/NotificationActivity.java
+++ b/app/src/main/java/id/ac/ui/cs/myui/activity/epic_2/NotificationActivity.java
@@ -121,7 +121,7 @@ public class NotificationActivity extends DrawerActivity {
                 }
             });
 
-            dialog.setNegativeButton(getResources().getString(R.string.cancel_option_notification), new DialogInterface.OnClickListener() {
+            dialog.setNegativeButton(getResources().getString(R.string.cancel_option), new DialogInterface.OnClickListener() {
                 public void onClick(DialogInterface dialog, int whichButton) {
                     dialog.dismiss();
                 }
@@ -140,7 +140,7 @@ public class NotificationActivity extends DrawerActivity {
                 }
             });
 
-            dialog.setNegativeButton(getResources().getString(R.string.cancel_option_notification), new DialogInterface.OnClickListener() {
+            dialog.setNegativeButton(getResources().getString(R.string.cancel_option), new DialogInterface.OnClickListener() {
                 public void onClick(DialogInterface dialog, int whichButton) {
                     dialog.dismiss();
                 }
diff --git a/app/src/main/res/layout/activity_panic_button.xml b/app/src/main/res/layout/activity_panic_button.xml
index 25a21a41..f2bbe04b 100644
--- a/app/src/main/res/layout/activity_panic_button.xml
+++ b/app/src/main/res/layout/activity_panic_button.xml
@@ -15,32 +15,23 @@
         android:gravity="center"
         android:orientation="vertical">
 
-        <TextView
-            android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:layout_weight="1"
-            android:gravity="center"
-            android:text="Memanggil"
-            android:textColor="@color/colorWhite"
-            android:textAppearance="@style/MenuFont"/>
-
         <RelativeLayout
             android:layout_width="wrap_content"
-            android:layout_height="0dp"
-            android:background="@drawable/spinner_border"
-            android:layout_weight="2">
+            android:layout_height="wrap_content"
+            android:background="@drawable/spinner_border">
 
             <Spinner
                 style="@style/Widget.AppCompat.DropDownItem.Spinner"
                 android:id="@+id/list_all_panic_number"
                 android:layout_width="wrap_content"
-                android:layout_height="70dp"
+                android:layout_height="60dp"
                 android:dropDownWidth="65dp"
                 android:gravity="center"
                 android:entries="@array/numbers_array"
                 android:prompt="@string/select_numbers"
                 android:spinnerMode="dialog"
-                />
+                android:layout_alignParentTop="true"
+                android:layout_alignParentStart="true" />
         </RelativeLayout>
 
 
@@ -63,9 +54,9 @@
             android:layout_centerVertical="true"
             android:layout_gravity="center"
             android:background="@drawable/panic_button_toggle"
-            android:text="HELP!"
+            android:text="Panggil Bantuan"
             android:textColor="@color/colorWhite"
-            android:textSize="25pt"
+            android:textSize="18pt"
             android:textStyle="bold" />
 
     </LinearLayout>
@@ -79,7 +70,7 @@
         android:text="@string/panic_hold_button"
         android:textAlignment="center"
         android:textColor="#ffffff"
-        android:textSize="9pt" />
+        android:textSize="10pt"/>
 
 
 </LinearLayout>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index aefaab10..818e5645 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -72,7 +72,7 @@
     <string name="confirm_delete_notification">Hapus</string>
     <string name="ask_mark_read_notification">Tandai semua notifikasi sebagai dibaca?</string>
     <string name="confirm_mark_read_notification">Tandai</string>
-    <string name="cancel_option_notification">Batal</string>
+    <string name="cancel_option">Batal</string>
 
     <!--String related to schedule-->
     <string name="title_schedule">Jadwal Kuliah</string>
@@ -95,7 +95,7 @@
     <string name="select_numbers">Pilih Nomor</string>
     <string-array name="numbers_array">
         <item>Nomor Darurat</item>
-        <item>PLK</item>
+        <item>PLK UI</item>
         <item>Kantor Polisi</item>
         <item>Klinik Satelit</item>
         <item>Pemadam Kebakaran</item>
@@ -162,5 +162,8 @@
     <string name="rto_error">Request time out</string>
     <string name="umt_error">Unsupported media type</string>
     <string name="task_presence_error_empty">Data tidak ada</string>
+    <string name="confirmation">Apakah kamu yakin?</string>
+    <string name="logout_option">Keluar</string>
+    <string name="unbookmark_option">Unbookmark</string>
 
 </resources>
-- 
GitLab