Browse Source

using fragment onAttach instead of consumer setters

develop
Robin Thoni 8 years ago
parent
commit
ab510cdcbf

+ 7
- 7
app/src/main/java/com/rthoni/stssaguenay/ui/activities/MainActivity.java View File

49
 import com.rthoni.stssaguenay.dbo.UsersSettingsDbo;
49
 import com.rthoni.stssaguenay.dbo.UsersSettingsDbo;
50
 import com.rthoni.stssaguenay.ui.fragments.HomeFragment;
50
 import com.rthoni.stssaguenay.ui.fragments.HomeFragment;
51
 import com.rthoni.stssaguenay.ui.fragments.StopViewerFragment;
51
 import com.rthoni.stssaguenay.ui.fragments.StopViewerFragment;
52
+import com.rthoni.stssaguenay.ui.interfaces.OnFavouriteStopClicked;
52
 
53
 
53
 import org.json.JSONObject;
54
 import org.json.JSONObject;
54
 
55
 
57
 import butterknife.BindView;
58
 import butterknife.BindView;
58
 import butterknife.ButterKnife;
59
 import butterknife.ButterKnife;
59
 
60
 
60
-public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
61
+public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener, OnFavouriteStopClicked {
61
 
62
 
62
     public static int ADD_FAVOURITE_STOP_REQUEST_CODE = 1;
63
     public static int ADD_FAVOURITE_STOP_REQUEST_CODE = 1;
63
     public static int SEARCH_STOP_REQUEST_CODE = 2;
64
     public static int SEARCH_STOP_REQUEST_CODE = 2;
216
     {
217
     {
217
         _fab.setVisibility(View.VISIBLE);
218
         _fab.setVisibility(View.VISIBLE);
218
         HomeFragment f = new HomeFragment();
219
         HomeFragment f = new HomeFragment();
219
-        f.setOnFavouriteStopClicked(new LuConsumer<UserFavouriteStopsDbo>() {
220
-            @Override
221
-            public void execute(UserFavouriteStopsDbo data) {
222
-                goToStop(data.getStop());
223
-            }
224
-        });
225
         getSupportFragmentManager().beginTransaction().replace(R.id.container, f).commit();
220
         getSupportFragmentManager().beginTransaction().replace(R.id.container, f).commit();
226
     }
221
     }
227
 
222
 
463
             }
458
             }
464
         });
459
         });
465
     }
460
     }
461
+
462
+    @Override
463
+    public void onFavouriteStopClicked(UserFavouriteStopsDbo favouriteStopsDbo) {
464
+        goToStop(favouriteStopsDbo.getStop());
465
+    }
466
 }
466
 }

+ 18
- 20
app/src/main/java/com/rthoni/stssaguenay/ui/activities/StopPickerActivity.java View File

16
 import com.rthoni.stssaguenay.ui.fragments.StopListPickerFragment;
16
 import com.rthoni.stssaguenay.ui.fragments.StopListPickerFragment;
17
 import com.rthoni.stssaguenay.ui.fragments.StopMapPickerFragment;
17
 import com.rthoni.stssaguenay.ui.fragments.StopMapPickerFragment;
18
 import com.rthoni.stssaguenay.ui.fragments.StopRoutesPickerFragment;
18
 import com.rthoni.stssaguenay.ui.fragments.StopRoutesPickerFragment;
19
+import com.rthoni.stssaguenay.ui.interfaces.OnRoutesSelected;
20
+import com.rthoni.stssaguenay.ui.interfaces.OnStopClicked;
19
 
21
 
20
-public class StopPickerActivity extends AppCompatActivity {
22
+public class StopPickerActivity extends AppCompatActivity implements OnStopClicked, OnRoutesSelected {
21
 
23
 
22
     public static String MAP_EXTRA_NAME = "MAP_EXTRA";
24
     public static String MAP_EXTRA_NAME = "MAP_EXTRA";
23
 
25
 
61
 
63
 
62
     public void goToStops()
64
     public void goToStops()
63
     {
65
     {
64
-        LuConsumer<StopsDbo> consumer = new LuConsumer<StopsDbo>() {
65
-            @Override
66
-            public void execute(StopsDbo data) {
67
-                if (_selectRoutes) {
68
-                    goToRoutes(data);
69
-                }
70
-                else {
71
-                    saveStop(data);
72
-                }
73
-            }
74
-        };
75
         if (_map) {
66
         if (_map) {
76
             StopMapPickerFragment f = new StopMapPickerFragment();
67
             StopMapPickerFragment f = new StopMapPickerFragment();
77
-            f.setOnStopSelectedConsumer(consumer);
78
             getSupportFragmentManager()
68
             getSupportFragmentManager()
79
                     .beginTransaction()
69
                     .beginTransaction()
80
                     .replace(R.id.container, f)
70
                     .replace(R.id.container, f)
82
         }
72
         }
83
         else {
73
         else {
84
             StopListPickerFragment f = new StopListPickerFragment();
74
             StopListPickerFragment f = new StopListPickerFragment();
85
-            f.setOnStopSelectedConsumer(consumer);
86
             getSupportFragmentManager()
75
             getSupportFragmentManager()
87
                     .beginTransaction()
76
                     .beginTransaction()
88
                     .replace(R.id.container, f)
77
                     .replace(R.id.container, f)
94
     {
83
     {
95
         StopRoutesPickerFragment f = new StopRoutesPickerFragment();
84
         StopRoutesPickerFragment f = new StopRoutesPickerFragment();
96
         f.setStopsDbo(stopDbo);
85
         f.setStopsDbo(stopDbo);
97
-        f.setOnRoutesSelected(new LuConsumer<UserFavouriteStopsDbo>() {
98
-            @Override
99
-            public void execute(UserFavouriteStopsDbo data) {
100
-                saveFavouriteStop(data);
101
-            }
102
-        });
103
         getSupportFragmentManager()
86
         getSupportFragmentManager()
104
                 .beginTransaction()
87
                 .beginTransaction()
105
                 .replace(R.id.container, f)
88
                 .replace(R.id.container, f)
122
         setResult(Activity.RESULT_OK, result);
105
         setResult(Activity.RESULT_OK, result);
123
         finish();
106
         finish();
124
     }
107
     }
108
+
109
+    @Override
110
+    public void onStopSlicker(StopsDbo stopsDbo) {
111
+        if (_selectRoutes) {
112
+            goToRoutes(stopsDbo);
113
+        }
114
+        else {
115
+            saveStop(stopsDbo);
116
+        }
117
+    }
118
+
119
+    @Override
120
+    public void onRoutesSelected(UserFavouriteStopsDbo favouriteStopsDbo) {
121
+        saveFavouriteStop(favouriteStopsDbo);
122
+    }
125
 }
123
 }

+ 13
- 5
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.app.Activity;
4
+import android.content.Context;
3
 import android.content.DialogInterface;
5
 import android.content.DialogInterface;
4
 import android.os.Bundle;
6
 import android.os.Bundle;
5
 import android.support.annotation.Nullable;
7
 import android.support.annotation.Nullable;
23
 import com.rthoni.stssaguenay.dbo.StopsDbo;
25
 import com.rthoni.stssaguenay.dbo.StopsDbo;
24
 import com.rthoni.stssaguenay.dbo.UserFavouriteStopsDbo;
26
 import com.rthoni.stssaguenay.dbo.UserFavouriteStopsDbo;
25
 import com.rthoni.stssaguenay.dbo.SchedulesDbo;
27
 import com.rthoni.stssaguenay.dbo.SchedulesDbo;
28
+import com.rthoni.stssaguenay.ui.interfaces.OnFavouriteStopClicked;
26
 
29
 
27
 import org.joda.time.DateTimeZone;
30
 import org.joda.time.DateTimeZone;
28
 import org.joda.time.LocalDateTime;
31
 import org.joda.time.LocalDateTime;
52
 
55
 
53
     private FavouriteStopsAdapter _adapter;
56
     private FavouriteStopsAdapter _adapter;
54
 
57
 
55
-    private LuConsumer<UserFavouriteStopsDbo> _onFavouriteStopClicked;
58
+    private OnFavouriteStopClicked _onFavouriteStopClicked;
56
 
59
 
57
     public static class ViewHolder extends RecyclerView.ViewHolder {
60
     public static class ViewHolder extends RecyclerView.ViewHolder {
58
         public View _parentView;
61
         public View _parentView;
172
         return v;
175
         return v;
173
     }
176
     }
174
 
177
 
178
+    @Override
179
+    public void onAttach(Context context) {
180
+        super.onAttach(context);
181
+        if (context instanceof OnFavouriteStopClicked) {
182
+            _onFavouriteStopClicked = (OnFavouriteStopClicked) context;
183
+        }
184
+    }
185
+
175
     public void setRefreshing(final boolean refreshing)
186
     public void setRefreshing(final boolean refreshing)
176
     {
187
     {
177
         _swipeRefreshLayout.post(new Runnable() {
188
         _swipeRefreshLayout.post(new Runnable() {
193
     public void onFavouriteClicked(UserFavouriteStopsDbo favouriteStopDbo)
204
     public void onFavouriteClicked(UserFavouriteStopsDbo favouriteStopDbo)
194
     {
205
     {
195
         if (_onFavouriteStopClicked != null) {
206
         if (_onFavouriteStopClicked != null) {
196
-            _onFavouriteStopClicked.execute(favouriteStopDbo);
207
+            _onFavouriteStopClicked.onFavouriteStopClicked(favouriteStopDbo);
197
         }
208
         }
198
     }
209
     }
199
 
210
 
250
                 });
261
                 });
251
     }
262
     }
252
 
263
 
253
-    public void setOnFavouriteStopClicked(LuConsumer<UserFavouriteStopsDbo> onFavouriteStopClicked) {
254
-        _onFavouriteStopClicked = onFavouriteStopClicked;
255
-    }
256
 }
264
 }

+ 13
- 6
app/src/main/java/com/rthoni/stssaguenay/ui/fragments/StopListPickerFragment.java View File

1
 package com.rthoni.stssaguenay.ui.fragments;
1
 package com.rthoni.stssaguenay.ui.fragments;
2
 
2
 
3
 import android.app.ProgressDialog;
3
 import android.app.ProgressDialog;
4
+import android.content.Context;
4
 import android.os.Bundle;
5
 import android.os.Bundle;
5
 import android.os.Handler;
6
 import android.os.Handler;
6
 import android.os.Looper;
7
 import android.os.Looper;
27
 import com.rthoni.stssaguenay.business.StopsBusiness;
28
 import com.rthoni.stssaguenay.business.StopsBusiness;
28
 import com.rthoni.stssaguenay.business.Utils;
29
 import com.rthoni.stssaguenay.business.Utils;
29
 import com.rthoni.stssaguenay.dbo.StopsDbo;
30
 import com.rthoni.stssaguenay.dbo.StopsDbo;
31
+import com.rthoni.stssaguenay.ui.activities.StopPickerActivity;
32
+import com.rthoni.stssaguenay.ui.interfaces.OnStopClicked;
30
 
33
 
31
 import java.util.List;
34
 import java.util.List;
32
 import java.util.TimerTask;
35
 import java.util.TimerTask;
48
 
51
 
49
     private StopsAdapter _stopsAdapter;
52
     private StopsAdapter _stopsAdapter;
50
 
53
 
51
-    private LuConsumer<StopsDbo> _onStopSelectedConsumer;
54
+    private OnStopClicked _onStopSelectedConsumer;
52
 
55
 
53
     public static class ViewHolder extends RecyclerView.ViewHolder {
56
     public static class ViewHolder extends RecyclerView.ViewHolder {
54
         public TextView _textView;
57
         public TextView _textView;
170
         return v;
173
         return v;
171
     }
174
     }
172
 
175
 
176
+    @Override
177
+    public void onAttach(Context context) {
178
+        super.onAttach(context);
179
+        if (context instanceof OnStopClicked) {
180
+            _onStopSelectedConsumer = (OnStopClicked) context;
181
+        }
182
+    }
183
+
173
     public void loadStops()
184
     public void loadStops()
174
     {
185
     {
175
         final ProgressDialog progressDialog = new ProgressDialog(getContext());
186
         final ProgressDialog progressDialog = new ProgressDialog(getContext());
199
     public void onStopSelected(StopsDbo stopsDbo)
210
     public void onStopSelected(StopsDbo stopsDbo)
200
     {
211
     {
201
         if (_onStopSelectedConsumer != null) {
212
         if (_onStopSelectedConsumer != null) {
202
-            _onStopSelectedConsumer.execute(stopsDbo);
213
+            _onStopSelectedConsumer.onStopSlicker(stopsDbo);
203
         }
214
         }
204
     }
215
     }
205
-
206
-    public void setOnStopSelectedConsumer(LuConsumer<StopsDbo> onStopSelectedConsumer) {
207
-        _onStopSelectedConsumer = onStopSelectedConsumer;
208
-    }
209
 }
216
 }

+ 12
- 6
app/src/main/java/com/rthoni/stssaguenay/ui/fragments/StopMapPickerFragment.java View File

31
 import com.rthoni.stssaguenay.business.STSBusiness;
31
 import com.rthoni.stssaguenay.business.STSBusiness;
32
 import com.rthoni.stssaguenay.business.StopsBusiness;
32
 import com.rthoni.stssaguenay.business.StopsBusiness;
33
 import com.rthoni.stssaguenay.dbo.StopsDbo;
33
 import com.rthoni.stssaguenay.dbo.StopsDbo;
34
+import com.rthoni.stssaguenay.ui.activities.StopPickerActivity;
35
+import com.rthoni.stssaguenay.ui.interfaces.OnStopClicked;
34
 
36
 
35
 import java.util.HashMap;
37
 import java.util.HashMap;
36
 import java.util.List;
38
 import java.util.List;
92
     @BindView(R.id.mapView)
94
     @BindView(R.id.mapView)
93
     MapView _mapView;
95
     MapView _mapView;
94
 
96
 
95
-    private LuConsumer<StopsDbo> _onStopSelectedConsumer;
97
+    private OnStopClicked _onStopSelectedConsumer;
96
 
98
 
97
     private GoogleMap _map;
99
     private GoogleMap _map;
98
 
100
 
162
         return v;
164
         return v;
163
     }
165
     }
164
 
166
 
167
+    @Override
168
+    public void onAttach(Context context) {
169
+        super.onAttach(context);
170
+        if (context instanceof OnStopClicked) {
171
+            _onStopSelectedConsumer = (OnStopClicked) context;
172
+        }
173
+    }
174
+
165
     @Override
175
     @Override
166
     public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
176
     public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
167
         if (ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED ||
177
         if (ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED ||
245
     public void onStopSelected(StopsDbo stopsDbo)
255
     public void onStopSelected(StopsDbo stopsDbo)
246
     {
256
     {
247
         if (_onStopSelectedConsumer != null) {
257
         if (_onStopSelectedConsumer != null) {
248
-            _onStopSelectedConsumer.execute(stopsDbo);
258
+            _onStopSelectedConsumer.onStopSlicker(stopsDbo);
249
         }
259
         }
250
     }
260
     }
251
-
252
-    public void setOnStopSelectedConsumer(LuConsumer<StopsDbo> onStopSelectedConsumer) {
253
-        _onStopSelectedConsumer = onStopSelectedConsumer;
254
-    }
255
 }
261
 }

+ 12
- 6
app/src/main/java/com/rthoni/stssaguenay/ui/fragments/StopRoutesPickerFragment.java View File

1
 package com.rthoni.stssaguenay.ui.fragments;
1
 package com.rthoni.stssaguenay.ui.fragments;
2
 
2
 
3
 import android.app.ProgressDialog;
3
 import android.app.ProgressDialog;
4
+import android.content.Context;
4
 import android.graphics.Color;
5
 import android.graphics.Color;
5
 import android.os.Bundle;
6
 import android.os.Bundle;
6
 import android.support.annotation.Nullable;
7
 import android.support.annotation.Nullable;
25
 import com.rthoni.stssaguenay.dbo.UserFavouriteStopsDbo;
26
 import com.rthoni.stssaguenay.dbo.UserFavouriteStopsDbo;
26
 import com.rthoni.stssaguenay.dbo.RoutesDbo;
27
 import com.rthoni.stssaguenay.dbo.RoutesDbo;
27
 import com.rthoni.stssaguenay.dbo.StopsDbo;
28
 import com.rthoni.stssaguenay.dbo.StopsDbo;
29
+import com.rthoni.stssaguenay.ui.interfaces.OnRoutesSelected;
28
 
30
 
29
 import java.util.List;
31
 import java.util.List;
30
 import java.util.Vector;
32
 import java.util.Vector;
50
 
52
 
51
     private RoutesAdapter _routesAdapter;
53
     private RoutesAdapter _routesAdapter;
52
 
54
 
53
-    private LuConsumer<UserFavouriteStopsDbo> _onRoutesSelected;
55
+    private OnRoutesSelected _onRoutesSelected;
54
 
56
 
55
     public static class ViewHolder extends RecyclerView.ViewHolder {
57
     public static class ViewHolder extends RecyclerView.ViewHolder {
56
         public ImageView _imageView;
58
         public ImageView _imageView;
145
         return v;
147
         return v;
146
     }
148
     }
147
 
149
 
150
+    @Override
151
+    public void onAttach(Context context) {
152
+        super.onAttach(context);
153
+        if (context instanceof OnRoutesSelected) {
154
+            _onRoutesSelected = (OnRoutesSelected) context;
155
+        }
156
+    }
157
+
148
     public void setStopsDbo(StopsDbo stopsDbo) {
158
     public void setStopsDbo(StopsDbo stopsDbo) {
149
         _stopsDbo = stopsDbo;
159
         _stopsDbo = stopsDbo;
150
     }
160
     }
182
             UserFavouriteStopsDbo favourite = new UserFavouriteStopsDbo();
192
             UserFavouriteStopsDbo favourite = new UserFavouriteStopsDbo();
183
             favourite.setStop(_stopsDbo);
193
             favourite.setStop(_stopsDbo);
184
             favourite.setRoutes(_routesAdapter.getSelectRoutes());
194
             favourite.setRoutes(_routesAdapter.getSelectRoutes());
185
-            _onRoutesSelected.execute(favourite);
195
+            _onRoutesSelected.onRoutesSelected(favourite);
186
         }
196
         }
187
     }
197
     }
188
-
189
-    public void setOnRoutesSelected(LuConsumer<UserFavouriteStopsDbo> onRoutesSelected) {
190
-        _onRoutesSelected = onRoutesSelected;
191
-    }
192
 }
198
 }

+ 11
- 0
app/src/main/java/com/rthoni/stssaguenay/ui/interfaces/OnFavouriteStopClicked.java View File

1
+package com.rthoni.stssaguenay.ui.interfaces;
2
+
3
+import com.rthoni.stssaguenay.dbo.UserFavouriteStopsDbo;
4
+
5
+/**
6
+ * Created by robin on 12/10/16.
7
+ */
8
+
9
+public interface OnFavouriteStopClicked {
10
+    void onFavouriteStopClicked(UserFavouriteStopsDbo favouriteStopsDbo);
11
+}

+ 11
- 0
app/src/main/java/com/rthoni/stssaguenay/ui/interfaces/OnRoutesSelected.java View File

1
+package com.rthoni.stssaguenay.ui.interfaces;
2
+
3
+import com.rthoni.stssaguenay.dbo.UserFavouriteStopsDbo;
4
+
5
+/**
6
+ * Created by robin on 12/10/16.
7
+ */
8
+
9
+public interface OnRoutesSelected {
10
+    void onRoutesSelected(UserFavouriteStopsDbo favouriteStopsDbo);
11
+}

+ 11
- 0
app/src/main/java/com/rthoni/stssaguenay/ui/interfaces/OnStopClicked.java View File

1
+package com.rthoni.stssaguenay.ui.interfaces;
2
+
3
+import com.rthoni.stssaguenay.dbo.StopsDbo;
4
+
5
+/**
6
+ * Created by robin on 12/10/16.
7
+ */
8
+
9
+public interface OnStopClicked {
10
+    void onStopSlicker(StopsDbo stopsDbo);
11
+}

Loading…
Cancel
Save