Skip to content

Commit 11d609a

Browse files
committed
Improved global UX.
Added settings and about screen. Fix sidebar selection. Prepared map and route activities. Updated icons.
1 parent 430bc04 commit 11d609a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+3638
-2454
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
5+
using Android.App;
6+
using Android.Content;
7+
using Android.Content.PM;
8+
using Android.Database;
9+
using Android.Graphics;
10+
using Android.OS;
11+
using Android.Runtime;
12+
using Android.Support.Design.Widget;
13+
using Android.Support.V4.Widget;
14+
using Android.Support.V4.View;
15+
using Android.Support.V7.App;
16+
using Android.Support.V7.Widget;
17+
using Android.Utilities;
18+
using Android.Views;
19+
using Android.Widget;
20+
21+
using Toolbar = Android.Support.V7.Widget.Toolbar;
22+
23+
namespace TramUrWay.Android
24+
{
25+
[Activity(Theme = "@style/AppTheme.NoActionBar")]
26+
public class AboutActivity : AppCompatActivity
27+
{
28+
protected override void OnCreate(Bundle savedInstanceState)
29+
{
30+
App.Initialize(this);
31+
32+
base.OnCreate(savedInstanceState);
33+
SetContentView(Resource.Layout.AboutActivity);
34+
Title = "A propos";
35+
36+
Toolbar toolbar = FindViewById<Toolbar>(Resource.Id.toolbar);
37+
SetSupportActionBar(toolbar);
38+
SupportActionBar.SetDisplayHomeAsUpEnabled(true);
39+
}
40+
41+
public override bool OnOptionsItemSelected(IMenuItem item)
42+
{
43+
switch (item.ItemId)
44+
{
45+
case global::Android.Resource.Id.Home:
46+
OnBackPressed();
47+
break;
48+
}
49+
50+
return base.OnOptionsItemSelected(item);
51+
}
52+
}
53+
}

TramUrWay.Android/Activities/MainActivity.cs

+44-36
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ public class MainActivity : AppCompatActivity, NavigationView.IOnNavigationItemS
2727
{
2828
private int currentItem = 0;
2929

30+
private DrawerLayout drawer;
31+
private NavigationView navigationView;
32+
3033
protected override void OnCreate(Bundle savedInstanceState)
3134
{
3235
App.Initialize(this);
@@ -38,12 +41,12 @@ protected override void OnCreate(Bundle savedInstanceState)
3841
SetSupportActionBar(toolbar);
3942

4043
// Initliaze UI
41-
DrawerLayout drawer = FindViewById<DrawerLayout>(Resource.Id.drawer_layout);
44+
drawer = FindViewById<DrawerLayout>(Resource.Id.drawer_layout);
4245
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar, Resource.String.navigation_drawer_open, Resource.String.navigation_drawer_close);
4346
drawer.SetDrawerListener(toggle);
4447
toggle.SyncState();
4548

46-
NavigationView navigationView = FindViewById<NavigationView>(Resource.Id.nav_view);
49+
navigationView = FindViewById<NavigationView>(Resource.Id.nav_view);
4750
navigationView.SetNavigationItemSelectedListener(this);
4851

4952
if (App.Database.GetFavoriteStops().Any())
@@ -54,7 +57,6 @@ protected override void OnCreate(Bundle savedInstanceState)
5457
protected override void OnResume()
5558
{
5659
base.OnResume();
57-
5860
Refresh();
5961
}
6062

@@ -68,54 +70,48 @@ public override void OnBackPressed()
6870
base.OnBackPressed();
6971
}
7072
public bool OnNavigationItemSelected(IMenuItem item)
71-
{
72-
currentItem = item.ItemId;
73-
Refresh();
74-
75-
DrawerLayout drawer = FindViewById<DrawerLayout>(Resource.Id.drawer_layout);
76-
drawer.CloseDrawer(GravityCompat.Start);
77-
78-
return true;
79-
}
80-
public override bool OnCreateOptionsMenu(IMenu menu)
81-
{
82-
MenuInflater.Inflate(Resource.Menu.MainMenu, menu);
83-
84-
for (int i = 0; i < menu.Size(); i++)
85-
{
86-
IMenuItem item = menu.GetItem(i);
87-
88-
if (item.ItemId == Resource.Id.MainMenu_Offline)
89-
item.SetChecked(App.Config.OfflineMode ? true : false);
90-
else if (item.ItemId == Resource.Id.MainMenu_Bug)
91-
item.SetChecked(App.Config.EnableTamBug ? true : false);
92-
}
93-
94-
return true;
95-
}
96-
public override bool OnOptionsItemSelected(IMenuItem item)
9773
{
9874
switch (item.ItemId)
9975
{
100-
case Resource.Id.MainMenu_Offline:
101-
item.SetChecked(App.Config.OfflineMode = !App.Config.OfflineMode);
102-
break;
103-
104-
case Resource.Id.MainMenu_Bug:
105-
item.SetChecked(App.Config.EnableTamBug = !App.Config.EnableTamBug);
76+
case Resource.Id.SideMenu_Settings:
77+
{
78+
Intent intent = new Intent(this, typeof(SettingsActivity));
79+
StartActivity(intent);
80+
break;
81+
}
82+
83+
case Resource.Id.SideMenu_About:
84+
{
85+
Intent intent = new Intent(this, typeof(AboutActivity));
86+
StartActivity(intent);
87+
break;
88+
}
89+
90+
default:
91+
currentItem = item.ItemId;
92+
Refresh();
10693
break;
10794
}
10895

109-
return base.OnOptionsItemSelected(item);
96+
drawer.CloseDrawer(GravityCompat.Start);
97+
return true;
11098
}
11199

112100
private void Refresh()
113101
{
102+
for (int i = 0; i < navigationView.Menu.Size(); i++)
103+
{
104+
IMenuItem menuItem = navigationView.Menu.GetItem(i);
105+
menuItem.SetChecked(menuItem.ItemId == currentItem);
106+
}
107+
114108
switch (currentItem)
115109
{
116110
case Resource.Id.SideMenu_Favorites: RefreshFavorites(); break;
117111
case Resource.Id.SideMenu_Lines: RefreshLines(); break;
118112
case Resource.Id.SideMenu_Stops: RefreshStops(); break;
113+
case Resource.Id.SideMenu_Routes: RefreshRoutes(); break;
114+
case Resource.Id.SideMenu_Map: RefreshMap(); break;
119115
}
120116
}
121117
private void RefreshFavorites()
@@ -136,5 +132,17 @@ private void RefreshStops()
136132
fragmentTransaction.Replace(Resource.Id.MainActivity_Fragment, new StopsFragment());
137133
fragmentTransaction.Commit();
138134
}
135+
private void RefreshRoutes()
136+
{
137+
FragmentTransaction fragmentTransaction = FragmentManager.BeginTransaction();
138+
fragmentTransaction.Replace(Resource.Id.MainActivity_Fragment, new RoutesFragment());
139+
fragmentTransaction.Commit();
140+
}
141+
private void RefreshMap()
142+
{
143+
FragmentTransaction fragmentTransaction = FragmentManager.BeginTransaction();
144+
fragmentTransaction.Replace(Resource.Id.MainActivity_Fragment, new MapFragment());
145+
fragmentTransaction.Commit();
146+
}
139147
}
140148
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
5+
using Android.App;
6+
using Android.Content;
7+
using Android.Content.PM;
8+
using Android.Database;
9+
using Android.Graphics;
10+
using Android.Graphics.Drawables;
11+
using Android.OS;
12+
using Android.Runtime;
13+
using Android.Support.Design.Widget;
14+
using Android.Support.V4.Widget;
15+
using Android.Support.V4.View;
16+
using Android.Support.V7.App;
17+
using Android.Support.V7.Widget;
18+
using Android.Utilities;
19+
using Android.Views;
20+
using Android.Widget;
21+
22+
using Toolbar = Android.Support.V7.Widget.Toolbar;
23+
using System.Threading.Tasks;
24+
using System.Threading;
25+
26+
namespace TramUrWay.Android
27+
{
28+
public class MapFragment : Fragment
29+
{
30+
}
31+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
5+
using Android.App;
6+
using Android.Content;
7+
using Android.Content.PM;
8+
using Android.Database;
9+
using Android.Graphics;
10+
using Android.Graphics.Drawables;
11+
using Android.OS;
12+
using Android.Runtime;
13+
using Android.Support.Design.Widget;
14+
using Android.Support.V4.Widget;
15+
using Android.Support.V4.View;
16+
using Android.Support.V7.App;
17+
using Android.Support.V7.Widget;
18+
using Android.Utilities;
19+
using Android.Views;
20+
using Android.Widget;
21+
22+
using Toolbar = Android.Support.V7.Widget.Toolbar;
23+
using System.Threading.Tasks;
24+
using System.Threading;
25+
26+
namespace TramUrWay.Android
27+
{
28+
[Activity(Theme = "@style/AppTheme.NoActionBar")]
29+
public class RouteActivity : AppCompatActivity
30+
{
31+
protected override void OnCreate(Bundle savedInstanceState)
32+
{
33+
App.Initialize(this);
34+
35+
base.OnCreate(savedInstanceState);
36+
SetContentView(Resource.Layout.LineActivity);
37+
38+
Toolbar toolbar = FindViewById<Toolbar>(Resource.Id.toolbar);
39+
SetSupportActionBar(toolbar);
40+
SupportActionBar.SetDisplayHomeAsUpEnabled(true);
41+
42+
// Initialize UI
43+
// TODO
44+
}
45+
46+
public override bool OnOptionsItemSelected(IMenuItem item)
47+
{
48+
switch (item.ItemId)
49+
{
50+
case global::Android.Resource.Id.Home:
51+
OnBackPressed();
52+
break;
53+
}
54+
55+
return base.OnOptionsItemSelected(item);
56+
}
57+
}
58+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
5+
using Android.App;
6+
using Android.Content;
7+
using Android.Content.PM;
8+
using Android.Database;
9+
using Android.Graphics;
10+
using Android.Graphics.Drawables;
11+
using Android.OS;
12+
using Android.Runtime;
13+
using Android.Support.Design.Widget;
14+
using Android.Support.V4.Widget;
15+
using Android.Support.V4.View;
16+
using Android.Support.V7.App;
17+
using Android.Support.V7.Widget;
18+
using Android.Utilities;
19+
using Android.Views;
20+
using Android.Widget;
21+
22+
using Toolbar = Android.Support.V7.Widget.Toolbar;
23+
using System.Threading.Tasks;
24+
using System.Threading;
25+
26+
namespace TramUrWay.Android
27+
{
28+
public class RoutesFragment : Fragment
29+
{
30+
}
31+
}

0 commit comments

Comments
 (0)