Browse Source

begin stop routes picker

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

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

@@ -1,14 +1,18 @@
1 1
 package com.rthoni.stssaguenay.ui.activities;
2 2
 
3 3
 import android.os.Bundle;
4
-import android.app.Activity;
5 4
 import android.support.v7.app.AppCompatActivity;
6 5
 
7 6
 import com.rthoni.stssaguenay.R;
7
+import com.rthoni.stssaguenay.dataaccess.LuPromise;
8
+import com.rthoni.stssaguenay.dbo.StopsDbo;
8 9
 import com.rthoni.stssaguenay.ui.fragments.StopPickerFragment;
10
+import com.rthoni.stssaguenay.ui.fragments.StopRoutesPickerFragment;
9 11
 
10 12
 public class StopPickerActivity extends AppCompatActivity {
11 13
 
14
+    private StopPickerFragment _stopPickerFragment;
15
+
12 16
     @Override
13 17
     protected void onCreate(Bundle savedInstanceState) {
14 18
         super.onCreate(savedInstanceState);
@@ -19,18 +23,38 @@ public class StopPickerActivity extends AppCompatActivity {
19 23
         goToStops();
20 24
     }
21 25
 
26
+    @Override
27
+    public boolean onSupportNavigateUp() {
28
+        if (getSupportFragmentManager().getBackStackEntryCount() == 0) {
29
+            return super.onSupportNavigateUp();
30
+        }
31
+        getSupportFragmentManager().popBackStack();
32
+        return true;
33
+    }
34
+
22 35
     public void goToStops()
23 36
     {
24 37
         StopPickerFragment f = new StopPickerFragment();
38
+        f.setOnStopSelectedConsumer(new LuPromise.LuConsumer<StopsDbo>() {
39
+            @Override
40
+            public void execute(StopsDbo data) {
41
+                goToRoutes(data);
42
+            }
43
+        });
25 44
         getSupportFragmentManager()
26 45
                 .beginTransaction()
27 46
                 .replace(R.id.container, f)
28 47
                 .commit();
29 48
     }
30 49
 
31
-    public void goToRoutes()
50
+    public void goToRoutes(StopsDbo stopDbo)
32 51
     {
33
-
52
+        StopRoutesPickerFragment f = new StopRoutesPickerFragment();
53
+        f.setStopsDbo(stopDbo);
54
+        getSupportFragmentManager()
55
+                .beginTransaction()
56
+                .replace(R.id.container, f)
57
+                .addToBackStack("StopRoutesPickerFragment")
58
+                .commit();
34 59
     }
35
-
36 60
 }

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

@@ -26,6 +26,8 @@ import com.rthoni.stssaguenay.business.Utils;
26 26
 import com.rthoni.stssaguenay.dataaccess.LuPromise;
27 27
 import com.rthoni.stssaguenay.dbo.StopsDbo;
28 28
 
29
+import java.util.ArrayList;
30
+import java.util.Arrays;
29 31
 import java.util.List;
30 32
 import java.util.TimerTask;
31 33
 import java.util.Vector;
@@ -46,6 +48,8 @@ public class StopPickerFragment extends Fragment {
46 48
 
47 49
     private StopsAdapter _stopsAdapter;
48 50
 
51
+    private LuPromise.LuConsumer<StopsDbo> _onStopSelectedConsumer;
52
+
49 53
     public static class ViewHolder extends RecyclerView.ViewHolder {
50 54
         public TextView _textView;
51 55
         public ViewHolder(TextView v) {
@@ -90,6 +94,10 @@ public class StopPickerFragment extends Fragment {
90 94
             getFilter().filter(query);
91 95
         }
92 96
 
97
+        public List<StopsDbo> getStops() {
98
+            return _allStops;
99
+        }
100
+
93 101
         @Override
94 102
         public Filter getFilter() {
95 103
             return new Filter() {
@@ -190,6 +198,12 @@ public class StopPickerFragment extends Fragment {
190 198
 
191 199
     public void onStopSelected(StopsDbo stopsDbo)
192 200
     {
201
+        if (_onStopSelectedConsumer != null) {
202
+            _onStopSelectedConsumer.execute(stopsDbo);
203
+        }
204
+    }
193 205
 
206
+    public void setOnStopSelectedConsumer(LuPromise.LuConsumer<StopsDbo> onStopSelectedConsumer) {
207
+        _onStopSelectedConsumer = onStopSelectedConsumer;
194 208
     }
195 209
 }

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

@@ -1,20 +0,0 @@
1
-package com.rthoni.stssaguenay.ui.fragments;
2
-
3
-import android.os.Bundle;
4
-import android.support.annotation.Nullable;
5
-import android.support.v4.app.Fragment;
6
-import android.view.LayoutInflater;
7
-import android.view.View;
8
-import android.view.ViewGroup;
9
-
10
-/**
11
- * Created by robin on 9/29/16.
12
- */
13
-public class StopRoutePickerFragment extends Fragment {
14
-
15
-    @Nullable
16
-    @Override
17
-    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
18
-        return super.onCreateView(inflater, container, savedInstanceState);
19
-    }
20
-}

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

@@ -0,0 +1,49 @@
1
+package com.rthoni.stssaguenay.ui.fragments;
2
+
3
+import android.os.Bundle;
4
+import android.support.annotation.Nullable;
5
+import android.support.v4.app.Fragment;
6
+import android.support.v7.widget.RecyclerView;
7
+import android.view.LayoutInflater;
8
+import android.view.View;
9
+import android.view.ViewGroup;
10
+import android.widget.TextView;
11
+
12
+import com.rthoni.stssaguenay.R;
13
+import com.rthoni.stssaguenay.dbo.StopsDbo;
14
+
15
+import butterknife.BindView;
16
+import butterknife.ButterKnife;
17
+
18
+/**
19
+ * Created by robin on 9/29/16.
20
+ */
21
+public class StopRoutesPickerFragment extends Fragment {
22
+
23
+    @BindView(R.id.textView)
24
+    TextView _textView;
25
+
26
+    @BindView(R.id.listRoutes)
27
+    RecyclerView _listRoutes;
28
+
29
+    private StopsDbo _stopsDbo;
30
+
31
+    @Nullable
32
+    @Override
33
+    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
34
+        View v = inflater.inflate(R.layout.fragment_stop_route_picker, container, false);
35
+        ButterKnife.bind(this, v);
36
+
37
+        _textView.setText(getResources().getString(R.string.pick_routes, _stopsDbo.getFullName()));
38
+
39
+        return v;
40
+    }
41
+
42
+    public StopsDbo getStopsDbo() {
43
+        return _stopsDbo;
44
+    }
45
+
46
+    public void setStopsDbo(StopsDbo stopsDbo) {
47
+        _stopsDbo = stopsDbo;
48
+    }
49
+}

+ 8
- 8
app/src/main/res/layout/fragment_stop_route_picker.xml View File

@@ -3,29 +3,29 @@
3 3
                 android:layout_width="match_parent"
4 4
                 android:layout_height="match_parent">
5 5
 
6
-    <EditText
6
+    <TextView
7 7
         android:layout_width="wrap_content"
8 8
         android:layout_height="wrap_content"
9
-        android:id="@+id/textSearch"
10
-        android:hint="@string/search_stop"
9
+        android:textAppearance="?android:attr/textAppearanceMedium"
10
+        android:text="@string/pick_routes"
11
+        android:id="@+id/textView"
11 12
         android:layout_alignParentTop="true"
12 13
         android:layout_alignParentLeft="true"
13 14
         android:layout_alignParentStart="true"
14 15
         android:layout_alignParentRight="true"
15
-        android:layout_alignParentEnd="true"
16
-        android:inputType="text"
17
-        android:imeOptions="actionSearch"/>
16
+        android:layout_alignParentEnd="true"/>
18 17
 
19 18
     <android.support.v7.widget.RecyclerView
20 19
         android:layout_width="wrap_content"
21 20
         android:layout_height="wrap_content"
22
-        android:id="@+id/listStops"
21
+        android:id="@+id/listRoutes"
23 22
         android:scrollbars="vertical"
24 23
         android:fadeScrollbars="true"
25
-        android:layout_below="@id/textSearch"
24
+        android:layout_below="@id/textView"
26 25
         android:layout_alignParentLeft="true"
27 26
         android:layout_alignParentStart="true"
28 27
         android:layout_alignParentRight="true"
29 28
         android:layout_alignParentEnd="true"
30 29
         android:layout_alignParentBottom="true"/>
30
+
31 31
 </RelativeLayout>

+ 0
- 10
app/src/main/res/menu/menu_main.xml View File

@@ -1,10 +0,0 @@
1
-<menu xmlns:android="http://schemas.android.com/apk/res/android"
2
-      xmlns:app="http://schemas.android.com/apk/res-auto"
3
-      xmlns:tools="http://schemas.android.com/tools"
4
-      tools:context=".ui.activities.MainActivity">
5
-    <item
6
-        android:id="@+id/action_settings"
7
-        android:orderInCategory="100"
8
-        android:title="@string/action_settings"
9
-        app:showAsAction="never"/>
10
-</menu>

+ 0
- 9
app/src/main/res/menu/menu_stop_picker.xml View File

@@ -1,9 +0,0 @@
1
-<menu xmlns:android="http://schemas.android.com/apk/res/android"
2
-      xmlns:tools="http://schemas.android.com/tools"
3
-      tools:context="com.rthoni.stssaguenay.ui.activities.StopPickerActivity">
4
-    <item
5
-        android:id="@+id/action_settings"
6
-        android:orderInCategory="100"
7
-        android:showAsAction="never"
8
-        android:title="@string/action_settings"/>
9
-</menu>

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

@@ -1,7 +1,7 @@
1 1
 <resources>
2 2
     <string name="app_name">STS Saguenay</string>
3
-    <string name="action_settings">Settings</string>
3
+    <string name="title_activity_stop_picker">Pick a stop - STS Saguenay</string>
4 4
     <string name="favourites_stops">Favourites stops:</string>
5 5
     <string name="search_stop">Search a stop</string>
6
-    <string name="title_activity_stop_picker">Pick a stop - STS Saguenay</string>
6
+    <string name="pick_routes">Pick your routes for stop %1$s:</string>
7 7
 </resources>

Loading…
Cancel
Save