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
 package com.rthoni.stssaguenay.ui.activities;
1
 package com.rthoni.stssaguenay.ui.activities;
2
 
2
 
3
 import android.os.Bundle;
3
 import android.os.Bundle;
4
-import android.app.Activity;
5
 import android.support.v7.app.AppCompatActivity;
4
 import android.support.v7.app.AppCompatActivity;
6
 
5
 
7
 import com.rthoni.stssaguenay.R;
6
 import com.rthoni.stssaguenay.R;
7
+import com.rthoni.stssaguenay.dataaccess.LuPromise;
8
+import com.rthoni.stssaguenay.dbo.StopsDbo;
8
 import com.rthoni.stssaguenay.ui.fragments.StopPickerFragment;
9
 import com.rthoni.stssaguenay.ui.fragments.StopPickerFragment;
10
+import com.rthoni.stssaguenay.ui.fragments.StopRoutesPickerFragment;
9
 
11
 
10
 public class StopPickerActivity extends AppCompatActivity {
12
 public class StopPickerActivity extends AppCompatActivity {
11
 
13
 
14
+    private StopPickerFragment _stopPickerFragment;
15
+
12
     @Override
16
     @Override
13
     protected void onCreate(Bundle savedInstanceState) {
17
     protected void onCreate(Bundle savedInstanceState) {
14
         super.onCreate(savedInstanceState);
18
         super.onCreate(savedInstanceState);
19
         goToStops();
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
     public void goToStops()
35
     public void goToStops()
23
     {
36
     {
24
         StopPickerFragment f = new StopPickerFragment();
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
         getSupportFragmentManager()
44
         getSupportFragmentManager()
26
                 .beginTransaction()
45
                 .beginTransaction()
27
                 .replace(R.id.container, f)
46
                 .replace(R.id.container, f)
28
                 .commit();
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
 import com.rthoni.stssaguenay.dataaccess.LuPromise;
26
 import com.rthoni.stssaguenay.dataaccess.LuPromise;
27
 import com.rthoni.stssaguenay.dbo.StopsDbo;
27
 import com.rthoni.stssaguenay.dbo.StopsDbo;
28
 
28
 
29
+import java.util.ArrayList;
30
+import java.util.Arrays;
29
 import java.util.List;
31
 import java.util.List;
30
 import java.util.TimerTask;
32
 import java.util.TimerTask;
31
 import java.util.Vector;
33
 import java.util.Vector;
46
 
48
 
47
     private StopsAdapter _stopsAdapter;
49
     private StopsAdapter _stopsAdapter;
48
 
50
 
51
+    private LuPromise.LuConsumer<StopsDbo> _onStopSelectedConsumer;
52
+
49
     public static class ViewHolder extends RecyclerView.ViewHolder {
53
     public static class ViewHolder extends RecyclerView.ViewHolder {
50
         public TextView _textView;
54
         public TextView _textView;
51
         public ViewHolder(TextView v) {
55
         public ViewHolder(TextView v) {
90
             getFilter().filter(query);
94
             getFilter().filter(query);
91
         }
95
         }
92
 
96
 
97
+        public List<StopsDbo> getStops() {
98
+            return _allStops;
99
+        }
100
+
93
         @Override
101
         @Override
94
         public Filter getFilter() {
102
         public Filter getFilter() {
95
             return new Filter() {
103
             return new Filter() {
190
 
198
 
191
     public void onStopSelected(StopsDbo stopsDbo)
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
-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

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
                 android:layout_width="match_parent"
3
                 android:layout_width="match_parent"
4
                 android:layout_height="match_parent">
4
                 android:layout_height="match_parent">
5
 
5
 
6
-    <EditText
6
+    <TextView
7
         android:layout_width="wrap_content"
7
         android:layout_width="wrap_content"
8
         android:layout_height="wrap_content"
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
         android:layout_alignParentTop="true"
12
         android:layout_alignParentTop="true"
12
         android:layout_alignParentLeft="true"
13
         android:layout_alignParentLeft="true"
13
         android:layout_alignParentStart="true"
14
         android:layout_alignParentStart="true"
14
         android:layout_alignParentRight="true"
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
     <android.support.v7.widget.RecyclerView
18
     <android.support.v7.widget.RecyclerView
20
         android:layout_width="wrap_content"
19
         android:layout_width="wrap_content"
21
         android:layout_height="wrap_content"
20
         android:layout_height="wrap_content"
22
-        android:id="@+id/listStops"
21
+        android:id="@+id/listRoutes"
23
         android:scrollbars="vertical"
22
         android:scrollbars="vertical"
24
         android:fadeScrollbars="true"
23
         android:fadeScrollbars="true"
25
-        android:layout_below="@id/textSearch"
24
+        android:layout_below="@id/textView"
26
         android:layout_alignParentLeft="true"
25
         android:layout_alignParentLeft="true"
27
         android:layout_alignParentStart="true"
26
         android:layout_alignParentStart="true"
28
         android:layout_alignParentRight="true"
27
         android:layout_alignParentRight="true"
29
         android:layout_alignParentEnd="true"
28
         android:layout_alignParentEnd="true"
30
         android:layout_alignParentBottom="true"/>
29
         android:layout_alignParentBottom="true"/>
30
+
31
 </RelativeLayout>
31
 </RelativeLayout>

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

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
-<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
 <resources>
1
 <resources>
2
     <string name="app_name">STS Saguenay</string>
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
     <string name="favourites_stops">Favourites stops:</string>
4
     <string name="favourites_stops">Favourites stops:</string>
5
     <string name="search_stop">Search a stop</string>
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
 </resources>
7
 </resources>

Loading…
Cancel
Save