Órarészletezés, következő óra, javítások
- Órakiválasztás, a kiválasztott óra részletezése - A következő óra részletezése, visszaszámlálás - Most már nem rak be üres órákat, csak nullt
This commit is contained in:
parent
2a8dbe811d
commit
0e73f5df24
4 changed files with 199 additions and 50 deletions
|
@ -71,11 +71,11 @@ namespace Orarend
|
||||||
var óra = (ahét ? órarend.ÓrákAHét : órarend.ÓrákBHét)[i, x];
|
var óra = (ahét ? órarend.ÓrákAHét : órarend.ÓrákBHét)[i, x];
|
||||||
if (óranode.ChildNodes.Count == 0)
|
if (óranode.ChildNodes.Count == 0)
|
||||||
continue;
|
continue;
|
||||||
if (óra == null)
|
|
||||||
(ahét ? órarend.ÓrákAHét : órarend.ÓrákBHét)[i, x] = óra = new Óra();
|
|
||||||
var csoport = óranode.FirstChild.InnerText.TrimEnd(':');
|
var csoport = óranode.FirstChild.InnerText.TrimEnd(':');
|
||||||
if (csoport != "Egész osztály" && !órarend.Csoportok.Contains(csoport))
|
if (csoport != "Egész osztály" && !órarend.Csoportok.Contains(csoport))
|
||||||
continue;
|
continue;
|
||||||
|
if (óra == null)
|
||||||
|
(ahét ? órarend.ÓrákAHét : órarend.ÓrákBHét)[i, x] = óra = new Óra();
|
||||||
óra.Sorszám = x + 1;
|
óra.Sorszám = x + 1;
|
||||||
óra.Csoportok = new string[] { csoport }; //Az állandó órarendben osztályonként csak egy csoport van egy órán
|
óra.Csoportok = new string[] { csoport }; //Az állandó órarendben osztályonként csak egy csoport van egy órán
|
||||||
óra.Azonosító = óranode.ChildNodes[2].InnerText;
|
óra.Azonosító = óranode.ChildNodes[2].InnerText;
|
||||||
|
|
|
@ -11,6 +11,7 @@ using Android.Graphics;
|
||||||
using Java.Lang;
|
using Java.Lang;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using System.Threading;
|
||||||
|
|
||||||
namespace OrarendAndroidApp
|
namespace OrarendAndroidApp
|
||||||
{
|
{
|
||||||
|
@ -35,40 +36,22 @@ namespace OrarendAndroidApp
|
||||||
API.Órarendek.Add(órarend);
|
API.Órarendek.Add(órarend);
|
||||||
API.Frissítés().ContinueWith(tt => HelyettesítésFrissítés());
|
API.Frissítés().ContinueWith(tt => HelyettesítésFrissítés());
|
||||||
});
|
});
|
||||||
|
var timer = new Timer(CsengőTimer, null, TimeSpan.Zero, new TimeSpan(0, 0, 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
private int a = 0; //TODO: TMP
|
|
||||||
private void HelyettesítésFrissítés()
|
private void HelyettesítésFrissítés()
|
||||||
{
|
{
|
||||||
var table = FindViewById<TableLayout>(Resource.Id.tableLayout1);
|
var table = FindViewById<TableLayout>(Resource.Id.tableLayout1);
|
||||||
Action<string, Color, TableRow> addCell = (text, color, tr1) =>
|
Action<string, Color, TableRow, bool, int[]> addCell = (text, color, tr1, clickable, tag) =>
|
||||||
{
|
{
|
||||||
TextView textview = new TextView(this);
|
TextView textview = new TextView(this);
|
||||||
textview.SetText(text, TextView.BufferType.Normal);
|
textview.SetText(text, TextView.BufferType.Normal);
|
||||||
textview.SetTextColor(color);
|
textview.SetTextColor(color);
|
||||||
textview.SetPadding(10, 10, 10, 10);
|
textview.SetPadding(10, 10, 10, 10);
|
||||||
switch(a)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
textview.SetBackgroundResource(Resource.Drawable.cell_shape_light);
|
textview.SetBackgroundResource(Resource.Drawable.cell_shape_light);
|
||||||
a++;
|
textview.Tag = tag;
|
||||||
break;
|
if (textview.Clickable = clickable)
|
||||||
case 1:
|
textview.Click += ÓraClick;
|
||||||
textview.SetBackgroundResource(Resource.Drawable.cell_shape_selected_light);
|
|
||||||
a++;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
textview.SetBackgroundResource(Resource.Drawable.cell_shape_removed_light);
|
|
||||||
a++;
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
textview.SetBackgroundResource(Resource.Drawable.cell_shape_added_light);
|
|
||||||
a++;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
a = 0;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tr1.AddView(textview);
|
tr1.AddView(textview);
|
||||||
};
|
};
|
||||||
API.HelyettesítésFrissítés().ContinueWith(t =>
|
API.HelyettesítésFrissítés().ContinueWith(t =>
|
||||||
|
@ -78,13 +61,13 @@ namespace OrarendAndroidApp
|
||||||
TaskHiba(t);
|
TaskHiba(t);
|
||||||
{
|
{
|
||||||
TableRow tr = new TableRow(this);
|
TableRow tr = new TableRow(this);
|
||||||
addCell("", Color.Black, tr);
|
addCell("", Color.Black, tr, false, null);
|
||||||
addCell("Hétfő", Color.Black, tr);
|
addCell("Hétfő", Color.Black, tr, false, null);
|
||||||
addCell("Kedd", Color.Black, tr);
|
addCell("Kedd", Color.Black, tr, false, null);
|
||||||
addCell("Szerda", Color.Black, tr);
|
addCell("Szerda", Color.Black, tr, false, null);
|
||||||
addCell("Csütörtök", Color.Black, tr);
|
addCell("Csütörtök", Color.Black, tr, false, null);
|
||||||
addCell("Péntek", Color.Black, tr);
|
addCell("Péntek", Color.Black, tr, false, null);
|
||||||
addCell("Szombat", Color.Black, tr);
|
addCell("Szombat", Color.Black, tr, false, null);
|
||||||
table.AddView(tr, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent));
|
table.AddView(tr, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -104,9 +87,9 @@ namespace OrarendAndroidApp
|
||||||
}
|
}
|
||||||
if (notnull)
|
if (notnull)
|
||||||
{
|
{
|
||||||
addCell((j + 1).ToString(), Color.Black, tr);
|
addCell((j + 1).ToString(), Color.Black, tr, false, null);
|
||||||
for (int i = 0; i < órarend.ÓrákAHét.GetLength(0); i++)
|
for (int i = 0; i < órarend.ÓrákAHét.GetLength(0); i++)
|
||||||
addCell(órarend.ÓrákAHét[i, j] != null ? órarend.ÓrákAHét[i, j].EgyediNév : "", Color.Black, tr);
|
addCell(órarend.ÓrákAHét[i, j] != null ? órarend.ÓrákAHét[i, j].EgyediNév : "", Color.Black, tr, true, new int[2] { i, j });
|
||||||
table.AddView(tr, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent));
|
table.AddView(tr, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -115,6 +98,33 @@ namespace OrarendAndroidApp
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private TextView selected;
|
||||||
|
/// <summary>
|
||||||
|
/// Kiválasztja az adott órát
|
||||||
|
/// </summary>
|
||||||
|
private void ÓraClick(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var tv = (TextView)sender;
|
||||||
|
var ij = (int[])tv.Tag;
|
||||||
|
Óra óra = órarend.ÓrákAHét[ij[0], ij[1]];
|
||||||
|
if (óra == null)
|
||||||
|
return;
|
||||||
|
if (selected != null && selected != sender)
|
||||||
|
selected.SetBackgroundResource(Resource.Drawable.cell_shape_light);
|
||||||
|
tv.SetBackgroundResource(Resource.Drawable.cell_shape_selected_light);
|
||||||
|
selected = tv;
|
||||||
|
FindViewById<TextView>(Resource.Id.pozTV).Text = ((TextView)((TableRow)FindViewById<TableLayout>(Resource.Id.tableLayout1).GetChildAt(1)).GetChildAt(ij[0] + 1)).Text + " " + (ij[1] + 1) + ". óra";
|
||||||
|
FindViewById<TextView>(Resource.Id.pozTV).Visibility = ViewStates.Visible;
|
||||||
|
FindViewById<TextView>(Resource.Id.nevTV).Text = óra.TeljesNév;
|
||||||
|
FindViewById<TextView>(Resource.Id.nevTV).Visibility = ViewStates.Visible;
|
||||||
|
FindViewById<TextView>(Resource.Id.teremTV).Text = óra.Terem;
|
||||||
|
FindViewById<TextView>(Resource.Id.teremTV).Visibility = ViewStates.Visible;
|
||||||
|
FindViewById<TextView>(Resource.Id.tanarTV).Text = óra.Tanár.Név;
|
||||||
|
FindViewById<TextView>(Resource.Id.tanarTV).Visibility = ViewStates.Visible;
|
||||||
|
FindViewById<TextView>(Resource.Id.idoTV).Text = órarend.Órakezdetek[ij[1]].ToString("hh\\:mm") + "-" + órarend.Órakezdetek[ij[1]].Add(new TimeSpan(0, 45, 0)).ToString("hh\\:mm");
|
||||||
|
FindViewById<TextView>(Resource.Id.idoTV).Visibility = ViewStates.Visible;
|
||||||
|
}
|
||||||
|
|
||||||
public override bool OnCreateOptionsMenu(IMenu menu)
|
public override bool OnCreateOptionsMenu(IMenu menu)
|
||||||
{
|
{
|
||||||
MenuInflater.Inflate(Resource.Menu.main_menu_light, menu);
|
MenuInflater.Inflate(Resource.Menu.main_menu_light, menu);
|
||||||
|
@ -165,5 +175,63 @@ namespace OrarendAndroidApp
|
||||||
foreach (var ex in (IEnumerable<System.Exception>)t.Exception?.InnerExceptions ?? new System.Exception[0])
|
foreach (var ex in (IEnumerable<System.Exception>)t.Exception?.InnerExceptions ?? new System.Exception[0])
|
||||||
Hiba(ex.ToString());
|
Hiba(ex.ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void CsengőTimer(object state)
|
||||||
|
{
|
||||||
|
handler.Post(() =>
|
||||||
|
{
|
||||||
|
if (órarend == null)
|
||||||
|
return;
|
||||||
|
var kezdveg = FindViewById<TextView>(Resource.Id.kezdvegTV);
|
||||||
|
//var most = DateTime.Now - DateTime.Today;
|
||||||
|
var most = new TimeSpan(10, 0, 0) + (DateTime.Now - DateTime.Today - new TimeSpan(22, 0, 0));
|
||||||
|
bool talált = false;
|
||||||
|
var kovora = FindViewById<TextView>(Resource.Id.kovoraTV);
|
||||||
|
for (int i = 0; i < órarend.Órakezdetek.Length - 1; i++)
|
||||||
|
{
|
||||||
|
var vége = órarend.Órakezdetek[i].Add(new TimeSpan(0, 45, 0));
|
||||||
|
if (most > órarend.Órakezdetek[i])
|
||||||
|
{
|
||||||
|
if (most < vége)
|
||||||
|
{
|
||||||
|
kezdveg.Text = "Kicsengetés: " + (vége - most).ToString("hh\\:mm\\:ss");
|
||||||
|
talált = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (órarend.Órakezdetek[i] == TimeSpan.Zero)
|
||||||
|
{ //Még nincsenek beállítva a kezdetek
|
||||||
|
kezdveg.Text = "Betöltés";
|
||||||
|
talált = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
kezdveg.Text = "Becsengetés: " + (órarend.Órakezdetek[i] - most).ToString("hh\\:mm\\:ss");
|
||||||
|
talált = true;
|
||||||
|
kovora.Visibility = ViewStates.Invisible;
|
||||||
|
}
|
||||||
|
int x = (int)DateTime.Today.DayOfWeek - 1;
|
||||||
|
var óra = órarend.ÓrákAHét[x, i];
|
||||||
|
if (x < 6 && óra != null)
|
||||||
|
{
|
||||||
|
kovora.Text = "Következő óra: " + óra.EgyediNév + "\n" + óra.Terem + "\n" + óra.Tanár.Név+"\n"+"ASD";
|
||||||
|
kovora.Visibility = ViewStates.Visible;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
kovora.Visibility = ViewStates.Invisible;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (!talált)
|
||||||
|
{
|
||||||
|
kezdveg.Text = "Nincs több óra ma";
|
||||||
|
kovora.Visibility = ViewStates.Invisible;
|
||||||
|
}
|
||||||
|
kezdveg.Visibility = ViewStates.Visible;
|
||||||
|
}); //TODO: Az egészet függőlegesen görgethetővé tenni
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
41
OrarendAndroidApp/Resources/Resource.Designer.cs
generated
41
OrarendAndroidApp/Resources/Resource.Designer.cs
generated
|
@ -93,20 +93,35 @@ namespace OrarendAndroidApp
|
||||||
// aapt resource value: 0x7f060001
|
// aapt resource value: 0x7f060001
|
||||||
public const int horizontalView = 2131099649;
|
public const int horizontalView = 2131099649;
|
||||||
|
|
||||||
// aapt resource value: 0x7f060006
|
|
||||||
public const int menu_add = 2131099654;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f060007
|
|
||||||
public const int menu_edit = 2131099655;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f060009
|
// aapt resource value: 0x7f060009
|
||||||
public const int menu_fullrefresh = 2131099657;
|
public const int idoTV = 2131099657;
|
||||||
|
|
||||||
// aapt resource value: 0x7f060008
|
// aapt resource value: 0x7f06000a
|
||||||
public const int menu_preferences = 2131099656;
|
public const int kezdvegTV = 2131099658;
|
||||||
|
|
||||||
|
// aapt resource value: 0x7f06000b
|
||||||
|
public const int kovoraTV = 2131099659;
|
||||||
|
|
||||||
|
// aapt resource value: 0x7f06000d
|
||||||
|
public const int menu_add = 2131099661;
|
||||||
|
|
||||||
|
// aapt resource value: 0x7f06000e
|
||||||
|
public const int menu_edit = 2131099662;
|
||||||
|
|
||||||
|
// aapt resource value: 0x7f060010
|
||||||
|
public const int menu_fullrefresh = 2131099664;
|
||||||
|
|
||||||
|
// aapt resource value: 0x7f06000f
|
||||||
|
public const int menu_preferences = 2131099663;
|
||||||
|
|
||||||
|
// aapt resource value: 0x7f06000c
|
||||||
|
public const int menu_refresh = 2131099660;
|
||||||
|
|
||||||
|
// aapt resource value: 0x7f060006
|
||||||
|
public const int nevTV = 2131099654;
|
||||||
|
|
||||||
// aapt resource value: 0x7f060005
|
// aapt resource value: 0x7f060005
|
||||||
public const int menu_refresh = 2131099653;
|
public const int pozTV = 2131099653;
|
||||||
|
|
||||||
// aapt resource value: 0x7f060003
|
// aapt resource value: 0x7f060003
|
||||||
public const int progressBar1 = 2131099651;
|
public const int progressBar1 = 2131099651;
|
||||||
|
@ -114,6 +129,12 @@ namespace OrarendAndroidApp
|
||||||
// aapt resource value: 0x7f060002
|
// aapt resource value: 0x7f060002
|
||||||
public const int tableLayout1 = 2131099650;
|
public const int tableLayout1 = 2131099650;
|
||||||
|
|
||||||
|
// aapt resource value: 0x7f060008
|
||||||
|
public const int tanarTV = 2131099656;
|
||||||
|
|
||||||
|
// aapt resource value: 0x7f060007
|
||||||
|
public const int teremTV = 2131099655;
|
||||||
|
|
||||||
static Id()
|
static Id()
|
||||||
{
|
{
|
||||||
global::Android.Runtime.ResourceIdManager.UpdateIdValues();
|
global::Android.Runtime.ResourceIdManager.UpdateIdValues();
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
android:minHeight="25px">
|
android:minHeight="25px">
|
||||||
<ScrollView
|
<ScrollView
|
||||||
android:id="@+id/ScrollView01"
|
android:id="@+id/ScrollView01"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:scrollbars="horizontal|vertical"
|
android:scrollbars="horizontal|vertical"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_marginTop="5dip"
|
android:layout_marginTop="5dip"
|
||||||
|
@ -34,11 +34,71 @@
|
||||||
android:indeterminateOnly="true"
|
android:indeterminateOnly="true"
|
||||||
android:indeterminateTintMode="add"
|
android:indeterminateTintMode="add"
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
<ActionMenuView
|
|
||||||
android:minWidth="25px"
|
|
||||||
android:minHeight="25px"
|
|
||||||
android:id="@+id/actionMenuView1" />
|
|
||||||
</TableLayout>
|
</TableLayout>
|
||||||
</HorizontalScrollView>
|
</HorizontalScrollView>
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
|
<ActionMenuView
|
||||||
|
android:minWidth="25px"
|
||||||
|
android:minHeight="25px"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:id="@+id/actionMenuView1" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/pozTV"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="Hétfő 2. óra"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
android:visibility="gone" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/nevTV"
|
||||||
|
android:text="Név"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="gone" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/teremTV"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="222"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
android:visibility="gone" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tanarTV"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="Tanár"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
android:visibility="gone" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/idoTV"
|
||||||
|
android:text="8:15-9:00"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="gone" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/kezdvegTV"
|
||||||
|
android:text="Becsengetés: 00:10:00"
|
||||||
|
android:textSize="32sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
android:gravity="center"
|
||||||
|
android:layout_width="fill_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="invisible" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/kovoraTV"
|
||||||
|
android:text="Következő óra"
|
||||||
|
android:textSize="16sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
android:gravity="center"
|
||||||
|
android:layout_width="fill_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="invisible" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
Loading…
Reference in a new issue