Browse Source

favourite remove

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

+ 1
- 0
app/build.gradle View File

31
     apt 'com.jakewharton:butterknife-compiler:8.0.1'
31
     apt 'com.jakewharton:butterknife-compiler:8.0.1'
32
     compile project(path: ':luticateutils')
32
     compile project(path: ':luticateutils')
33
     compile 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
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

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

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

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
 package com.rthoni.stssaguenay.ui.fragments;
1
 package com.rthoni.stssaguenay.ui.fragments;
2
 
2
 
3
+import android.content.DialogInterface;
3
 import android.os.Bundle;
4
 import android.os.Bundle;
4
 import android.support.annotation.Nullable;
5
 import android.support.annotation.Nullable;
5
 import android.support.v4.app.Fragment;
6
 import android.support.v4.app.Fragment;
7
+import android.support.v7.app.AlertDialog;
6
 import android.support.v7.widget.LinearLayoutManager;
8
 import android.support.v7.widget.LinearLayoutManager;
7
 import android.support.v7.widget.RecyclerView;
9
 import android.support.v7.widget.RecyclerView;
8
 import android.view.LayoutInflater;
10
 import android.view.LayoutInflater;
9
 import android.view.View;
11
 import android.view.View;
10
 import android.view.ViewGroup;
12
 import android.view.ViewGroup;
11
 import android.widget.TextView;
13
 import android.widget.TextView;
14
+import android.widget.Toast;
12
 
15
 
13
 import com.rthoni.stssaguenay.R;
16
 import com.rthoni.stssaguenay.R;
14
 import com.rthoni.stssaguenay.business.STSBusiness;
17
 import com.rthoni.stssaguenay.business.STSBusiness;
15
 import com.rthoni.stssaguenay.dbo.FavouriteStopDbo;
18
 import com.rthoni.stssaguenay.dbo.FavouriteStopDbo;
16
 
19
 
17
 import java.util.List;
20
 import java.util.List;
21
+import java.util.Vector;
18
 
22
 
19
 import butterknife.BindView;
23
 import butterknife.BindView;
20
 import butterknife.ButterKnife;
24
 import butterknife.ButterKnife;
61
                     onFavouriteClicked(favouriteStopDbo);
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
         @Override
77
         @Override
97
 
108
 
98
     public void onFavouriteClicked(FavouriteStopDbo favouriteStopDbo)
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
     <string name="loading_schedules">Loading schedules&#8230;</string>
9
     <string name="loading_schedules">Loading schedules&#8230;</string>
10
     <string name="loading_routes">Loading schedules&#8230;</string>
10
     <string name="loading_routes">Loading schedules&#8230;</string>
11
     <string name="loading_stops">Loading stops&#8230;</string>
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
 </resources>
15
 </resources>

Loading…
Cancel
Save