Browse Source

favourite remove

tags/v1.0.0
Robin Thoni 7 years ago
parent
commit
cf95e98c2d

+ 1
- 0
app/build.gradle View File

@@ -31,4 +31,5 @@ dependencies {
31 31
     apt 'com.jakewharton:butterknife-compiler:8.0.1'
32 32
     compile project(path: ':luticateutils')
33 33
     compile 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
34
+    compile 'net.danlew:android.joda:2.9.4.2'
34 35
 }

+ 19
- 0
app/src/main/java/com/rthoni/stssaguenay/business/SchedulesBusiness.java View File

@@ -0,0 +1,19 @@
1
+package com.rthoni.stssaguenay.business;
2
+
3
+import com.luticate.utils.business.LuPromise;
4
+import com.luticate.utils.dbo.LuDataAccessConfigDbo;
5
+import com.rthoni.stssaguenay.dbo.FavouriteStopDbo;
6
+
7
+import java.util.List;
8
+
9
+/**
10
+ * Created by robin on 10/1/16.
11
+ */
12
+
13
+public class SchedulesBusiness {
14
+
15
+//    public static LuPromise<List> getMultiple(LuDataAccessConfigDbo config, List<FavouriteStopDbo> favouriteStopDbos)
16
+//    {
17
+//
18
+//    }
19
+}

+ 20
- 0
app/src/main/java/com/rthoni/stssaguenay/dataaccess/SchedulesDataAccess.java View File

@@ -0,0 +1,20 @@
1
+package com.rthoni.stssaguenay.dataaccess;
2
+
3
+import com.luticate.utils.business.LuPromise;
4
+import com.luticate.utils.business.LuRequest;
5
+import com.luticate.utils.dbo.LuDataAccessConfigDbo;
6
+import com.rthoni.stssaguenay.dbo.FavouriteStopDbo;
7
+
8
+import java.util.List;
9
+
10
+/**
11
+ * Created by robin on 10/1/16.
12
+ */
13
+
14
+public class SchedulesDataAccess {
15
+
16
+//    public static LuPromise<List> getMultiple(LuDataAccessConfigDbo config, List<FavouriteStopDbo> favouriteStopDbos)
17
+//    {
18
+//        return LuRequest.post(config, )
19
+//    }
20
+}

+ 33
- 0
app/src/main/java/com/rthoni/stssaguenay/dbo/SchedulesDbo.java View File

@@ -0,0 +1,33 @@
1
+package com.rthoni.stssaguenay.dbo;
2
+
3
+import com.luticate.utils.dbo.LuDbo;
4
+
5
+import org.joda.time.LocalTime;
6
+import org.json.JSONException;
7
+import org.json.JSONObject;
8
+
9
+import java.util.HashMap;
10
+import java.util.List;
11
+
12
+/**
13
+ * Created by robin on 10/1/16.
14
+ */
15
+
16
+public class SchedulesDbo extends LuDbo {
17
+
18
+    protected String _stopId;
19
+
20
+    protected String _routeId;
21
+
22
+    protected List<LocalTime> _schedules;
23
+
24
+    @Override
25
+    public void fromJson(JSONObject json) throws JSONException {
26
+
27
+    }
28
+
29
+    @Override
30
+    public HashMap<String, Object> toArray() {
31
+        return null;
32
+    }
33
+}

+ 38
- 0
app/src/main/java/com/rthoni/stssaguenay/ui/fragments/HomeFragment.java View File

@@ -1,20 +1,24 @@
1 1
 package com.rthoni.stssaguenay.ui.fragments;
2 2
 
3
+import android.content.DialogInterface;
3 4
 import android.os.Bundle;
4 5
 import android.support.annotation.Nullable;
5 6
 import android.support.v4.app.Fragment;
7
+import android.support.v7.app.AlertDialog;
6 8
 import android.support.v7.widget.LinearLayoutManager;
7 9
 import android.support.v7.widget.RecyclerView;
8 10
 import android.view.LayoutInflater;
9 11
 import android.view.View;
10 12
 import android.view.ViewGroup;
11 13
 import android.widget.TextView;
14
+import android.widget.Toast;
12 15
 
13 16
 import com.rthoni.stssaguenay.R;
14 17
 import com.rthoni.stssaguenay.business.STSBusiness;
15 18
 import com.rthoni.stssaguenay.dbo.FavouriteStopDbo;
16 19
 
17 20
 import java.util.List;
21
+import java.util.Vector;
18 22
 
19 23
 import butterknife.BindView;
20 24
 import butterknife.ButterKnife;
@@ -61,6 +65,13 @@ public class HomeFragment extends Fragment {
61 65
                     onFavouriteClicked(favouriteStopDbo);
62 66
                 }
63 67
             });
68
+            holder._parentView.setOnLongClickListener(new View.OnLongClickListener() {
69
+                @Override
70
+                public boolean onLongClick(View v) {
71
+                    onFavouriteLongClicked(favouriteStopDbo);
72
+                    return true;
73
+                }
74
+            });
64 75
         }
65 76
 
66 77
         @Override
@@ -97,6 +108,33 @@ public class HomeFragment extends Fragment {
97 108
 
98 109
     public void onFavouriteClicked(FavouriteStopDbo favouriteStopDbo)
99 110
     {
111
+    }
100 112
 
113
+    public void onFavouriteLongClicked(final FavouriteStopDbo favouriteStopDbo)
114
+    {
115
+        new AlertDialog.Builder(getContext())
116
+                .setIcon(android.R.drawable.ic_dialog_alert)
117
+                .setTitle(R.string.favourite_remove)
118
+                .setMessage(getString(R.string.favourite_remove_confirm, favouriteStopDbo.getStop().getFullName()))
119
+                .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener()
120
+                {
121
+                    @Override
122
+                    public void onClick(DialogInterface dialog, int which) {
123
+
124
+                        List<FavouriteStopDbo> favouriteStopDbos = STSBusiness.getFavouriteStops(getContext());
125
+                        for (int i = 0; i < favouriteStopDbos.size(); ++i) {
126
+                            if (favouriteStopDbos.get(i).getStop().getId().equals(favouriteStopDbo.getStop().getId())) {
127
+                                favouriteStopDbos.remove(i--);
128
+                            }
129
+                        }
130
+                        STSBusiness.setFavouriteStops(getContext(), favouriteStopDbos);
131
+
132
+                        Toast.makeText(getContext(), getString(R.string.favourite_removed, favouriteStopDbo.getStop().getFullName()), Toast.LENGTH_LONG).show();
133
+                        loadFavourites();
134
+                    }
135
+
136
+                })
137
+                .setNegativeButton(android.R.string.no, null)
138
+                .show();
101 139
     }
102 140
 }

+ 3
- 0
app/src/main/res/values/strings.xml View File

@@ -9,4 +9,7 @@
9 9
     <string name="loading_schedules">Loading schedules&#8230;</string>
10 10
     <string name="loading_routes">Loading schedules&#8230;</string>
11 11
     <string name="loading_stops">Loading stops&#8230;</string>
12
+    <string name="favourite_remove">Remove favourite</string>
13
+    <string name="favourite_remove_confirm">Do you really want to remove %1$s?</string>
14
+    <string name="favourite_removed">%1$s has been removed</string>
12 15
 </resources>

Loading…
Cancel
Save