Óra eltolás, auto. fr.-t nem jelzi egy ideig, gyakori óranevek
This commit is contained in:
parent
55ab6467f4
commit
e46a588a9f
5 changed files with 78 additions and 19 deletions
|
@ -30,7 +30,7 @@ namespace Orarend
|
||||||
public Osztály[] osztályok { get; private set; } = new Osztály[0]; //Ez az initializáció csak akkor fut le, ha nem tölti be fájlból
|
public Osztály[] osztályok { get; private set; } = new Osztály[0]; //Ez az initializáció csak akkor fut le, ha nem tölti be fájlból
|
||||||
[DataMember(Order = 2)]
|
[DataMember(Order = 2)]
|
||||||
public List<Órarend> órarendek { get; private set; } = new List<Órarend>();
|
public List<Órarend> órarendek { get; private set; } = new List<Órarend>();
|
||||||
//[DataMember]
|
[DataMember]
|
||||||
public Settings beállítások { get; private set; } = new Settings();
|
public Settings beállítások { get; private set; } = new Settings();
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// <para>Visszatér az osztályok listájával.</para>
|
/// <para>Visszatér az osztályok listájával.</para>
|
||||||
|
@ -89,10 +89,11 @@ namespace Orarend
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
int x = int.Parse(node.FirstChild.InnerText) - 1;
|
int x = int.Parse(node.FirstChild.InnerText) - 1, y = x - Beállítások.ÓraOffset;
|
||||||
maxx = x > maxx ? x : maxx;
|
maxx = x > maxx ? x : maxx;
|
||||||
órarend.Órakezdetek[x] = TimeSpan.Parse(node.FirstChild.Attributes["title"].Value.Split('-')[0].Trim());
|
if (y >= 0 && y < órarend.Órakezdetek.Length)
|
||||||
var órák = (ahét ? órarend.ÓrákAHét : órarend.ÓrákBHét);
|
órarend.Órakezdetek[y] = TimeSpan.Parse(node.FirstChild.Attributes["title"].Value.Split('-')[0].Trim());
|
||||||
|
var órák = ahét ? órarend.ÓrákAHét : órarend.ÓrákBHét;
|
||||||
for (int i = 0; i < 5; i++) //Napok
|
for (int i = 0; i < 5; i++) //Napok
|
||||||
{
|
{
|
||||||
var óranode = node.ChildNodes[i + 1].FirstChild;
|
var óranode = node.ChildNodes[i + 1].FirstChild;
|
||||||
|
|
|
@ -18,6 +18,7 @@ namespace Orarend
|
||||||
set(";prggy", "Programozás gyakorlat");
|
set(";prggy", "Programozás gyakorlat");
|
||||||
set("testns", "Tesi");
|
set("testns", "Tesi");
|
||||||
set("tapism", "Töri");
|
set("tapism", "Töri");
|
||||||
|
set("torten", "Töri");
|
||||||
set("matema", "Matek");
|
set("matema", "Matek");
|
||||||
set("bioege", "Biosz");
|
set("bioege", "Biosz");
|
||||||
set("foldra", "Föci");
|
set("foldra", "Föci");
|
||||||
|
@ -29,5 +30,8 @@ namespace Orarend
|
||||||
if (ÓraTípus.Típusok.ContainsKey(id))
|
if (ÓraTípus.Típusok.ContainsKey(id))
|
||||||
ÓraTípus.Típusok[id].EgyediNév = name;
|
ÓraTípus.Típusok[id].EgyediNév = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[DataMember]
|
||||||
|
public sbyte ÓraOffset { get; set; } = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,7 +107,10 @@ namespace OrarendAndroidApp
|
||||||
var bar = FindViewById<ProgressBar>(Resource.Id.progressBar1);
|
var bar = FindViewById<ProgressBar>(Resource.Id.progressBar1);
|
||||||
//var menu = FindViewById<ActionMenuView>(Resource.Id.actionMenuView1);
|
//var menu = FindViewById<ActionMenuView>(Resource.Id.actionMenuView1);
|
||||||
Action loadstart = () => bar.Visibility = ViewStates.Visible;
|
Action loadstart = () => bar.Visibility = ViewStates.Visible;
|
||||||
handler.Post(loadstart);
|
if (internethiba)
|
||||||
|
handler.Post(loadstart);
|
||||||
|
else
|
||||||
|
handler.PostDelayed(loadstart, 500);
|
||||||
API.HelyettesítésFrissítés(() => OpenFileOutput(DATA_FILENAME, FileCreationMode.Private)).ContinueWith(t =>
|
API.HelyettesítésFrissítés(() => OpenFileOutput(DATA_FILENAME, FileCreationMode.Private)).ContinueWith(t =>
|
||||||
{
|
{
|
||||||
handler.RemoveCallbacks(loadstart);
|
handler.RemoveCallbacks(loadstart);
|
||||||
|
@ -125,11 +128,14 @@ namespace OrarendAndroidApp
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ÓrarendFrissítés(Órarend ór = null)
|
private void ÓrarendFrissítés(bool auto, Órarend ór = null)
|
||||||
{
|
{
|
||||||
var bar = FindViewById<ProgressBar>(Resource.Id.progressBar1);
|
var bar = FindViewById<ProgressBar>(Resource.Id.progressBar1);
|
||||||
Action loadstart = () => bar.Visibility = ViewStates.Visible;
|
Action loadstart = () => bar.Visibility = ViewStates.Visible;
|
||||||
handler.Post(loadstart);
|
if (auto)
|
||||||
|
handler.PostDelayed(loadstart, 500);
|
||||||
|
else
|
||||||
|
handler.Post(loadstart);
|
||||||
API.Frissítés(() => OpenFileOutput(DATA_FILENAME, FileCreationMode.Private), ór).ContinueWith(t =>
|
API.Frissítés(() => OpenFileOutput(DATA_FILENAME, FileCreationMode.Private), ór).ContinueWith(t =>
|
||||||
{
|
{
|
||||||
handler.RemoveCallbacks(loadstart);
|
handler.RemoveCallbacks(loadstart);
|
||||||
|
@ -290,7 +296,7 @@ namespace OrarendAndroidApp
|
||||||
menu.FindItem(Resource.Id.menu_preferences).SetIcon(Resource.Drawable.ic_settings_white_24dp);
|
menu.FindItem(Resource.Id.menu_preferences).SetIcon(Resource.Drawable.ic_settings_white_24dp);
|
||||||
}
|
}
|
||||||
if (API.Osztályok == null || API.Osztályok.Length == 0)
|
if (API.Osztályok == null || API.Osztályok.Length == 0)
|
||||||
ÓrarendFrissítés();
|
ÓrarendFrissítés(true);
|
||||||
else
|
else
|
||||||
órarendlistafrissítés();
|
órarendlistafrissítés();
|
||||||
return base.OnCreateOptionsMenu(menu);
|
return base.OnCreateOptionsMenu(menu);
|
||||||
|
@ -333,7 +339,7 @@ namespace OrarendAndroidApp
|
||||||
}
|
}
|
||||||
case Resource.Id.menu_fullrefresh:
|
case Resource.Id.menu_fullrefresh:
|
||||||
{
|
{
|
||||||
ÓrarendFrissítés();
|
ÓrarendFrissítés(false);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -364,7 +370,7 @@ namespace OrarendAndroidApp
|
||||||
Hiba("Nem sikerült csatlakozni az E-naplóhoz.\nHa van internet, próbáld újraindítani az alkalmazást.");
|
Hiba("Nem sikerült csatlakozni az E-naplóhoz.\nHa van internet, próbáld újraindítani az alkalmazást.");
|
||||||
}
|
}
|
||||||
else if (ex is InvalidOperationException oex && oex.Data.Contains("OERROR") && (string)oex.Data["OERROR"] == "CLS_NOT_FOUND")
|
else if (ex is InvalidOperationException oex && oex.Data.Contains("OERROR") && (string)oex.Data["OERROR"] == "CLS_NOT_FOUND")
|
||||||
ÓrarendFrissítés();
|
ÓrarendFrissítés(true);
|
||||||
else
|
else
|
||||||
Hiba(ex.ToString());
|
Hiba(ex.ToString());
|
||||||
ret = false;
|
ret = false;
|
||||||
|
@ -398,7 +404,7 @@ namespace OrarendAndroidApp
|
||||||
return;
|
return;
|
||||||
int index = data.Extras.GetBoolean("add") ? API.Órarendek.Count - 1 : data.Extras.GetInt("index");
|
int index = data.Extras.GetBoolean("add") ? API.Órarendek.Count - 1 : data.Extras.GetInt("index");
|
||||||
if (!data.Extras.GetBoolean("deleted"))
|
if (!data.Extras.GetBoolean("deleted"))
|
||||||
ÓrarendFrissítés(API.Órarendek[index]);
|
ÓrarendFrissítés(false, API.Órarendek[index]);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
API.ÓrarendKiválasztásTörlése();
|
API.ÓrarendKiválasztásTörlése();
|
||||||
|
@ -407,7 +413,11 @@ namespace OrarendAndroidApp
|
||||||
órarendlistafrissítés();
|
órarendlistafrissítés();
|
||||||
}
|
}
|
||||||
else if (requestCode == SETTINGS_ACT_REQUEST)
|
else if (requestCode == SETTINGS_ACT_REQUEST)
|
||||||
|
{
|
||||||
|
if (data?.Extras?.GetBoolean("offsetchanged") ?? false)
|
||||||
|
ÓrarendFrissítés(false);
|
||||||
Recreate();
|
Recreate();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnWindowFocusChanged(bool hasFocus)
|
public override void OnWindowFocusChanged(bool hasFocus)
|
||||||
|
|
|
@ -1,8 +1,18 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
android:key="pref_theme"
|
android:key="pref_theme"
|
||||||
android:title="Sötét téma"
|
android:title="Sötét téma"
|
||||||
android:summary="Sötét téma"
|
android:summary="Sötét téma"
|
||||||
android:defaultValue="false" />
|
android:defaultValue="false" />
|
||||||
|
<Preference
|
||||||
|
android:key="pref_commonnames"
|
||||||
|
android:title="Gyakori óranevek"
|
||||||
|
android:summary="Gyakori óranevek használata" />
|
||||||
|
<EditTextPreference
|
||||||
|
android:key="pref_offset"
|
||||||
|
android:title="Óra eltolás"
|
||||||
|
android:summary="Pl. ha 1, akkor az első óra 8:15-kor kezdődik."
|
||||||
|
android:defaultValue="0"
|
||||||
|
android:numeric="integer" />
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
|
@ -10,11 +10,12 @@ using Android.Runtime;
|
||||||
using Android.Views;
|
using Android.Views;
|
||||||
using Android.Widget;
|
using Android.Widget;
|
||||||
using Android.Preferences;
|
using Android.Preferences;
|
||||||
|
using Orarend;
|
||||||
|
|
||||||
namespace OrarendAndroidApp
|
namespace OrarendAndroidApp
|
||||||
{
|
{
|
||||||
[Activity(Label = "Beállítások", Theme = "@android:style/Theme.Holo.Light")]
|
[Activity(Label = "Beállítások", Theme = "@android:style/Theme.Holo.Light")]
|
||||||
public class SettingsActivity : PreferenceActivity, ISharedPreferencesOnSharedPreferenceChangeListener
|
public class SettingsActivity : PreferenceActivity, ISharedPreferencesOnSharedPreferenceChangeListener, Preference.IOnPreferenceClickListener
|
||||||
{
|
{
|
||||||
protected override void OnCreate(Bundle savedInstanceState)
|
protected override void OnCreate(Bundle savedInstanceState)
|
||||||
{
|
{
|
||||||
|
@ -26,14 +27,30 @@ namespace OrarendAndroidApp
|
||||||
base.OnCreate(savedInstanceState);
|
base.OnCreate(savedInstanceState);
|
||||||
#pragma warning disable CS0618 // Type or member is obsolete
|
#pragma warning disable CS0618 // Type or member is obsolete
|
||||||
AddPreferencesFromResource(Resource.Xml.preferences);
|
AddPreferencesFromResource(Resource.Xml.preferences);
|
||||||
|
FindPreference("pref_commonnames").OnPreferenceClickListener = this;
|
||||||
#pragma warning restore CS0618 // Type or member is obsolete
|
#pragma warning restore CS0618 // Type or member is obsolete
|
||||||
PreferenceManager.SetDefaultValues(this, Resource.Xml.preferences, false);
|
PreferenceManager.SetDefaultValues(this, Resource.Xml.preferences, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Intent intent;
|
||||||
public void OnSharedPreferenceChanged(ISharedPreferences sharedPreferences, string key)
|
public void OnSharedPreferenceChanged(ISharedPreferences sharedPreferences, string key)
|
||||||
{
|
{
|
||||||
if (key == "pref_theme")
|
switch (key)
|
||||||
Recreate();
|
{
|
||||||
|
case "pref_theme":
|
||||||
|
Recreate();
|
||||||
|
break;
|
||||||
|
case "pref_commonnames":
|
||||||
|
API.Beállítások.UseCommonNames();
|
||||||
|
Toast.MakeText(this, "Óranevek frissítve", ToastLength.Short).Show();
|
||||||
|
break;
|
||||||
|
case "pref_offset":
|
||||||
|
API.Beállítások.ÓraOffset = sbyte.Parse(sharedPreferences.GetString(key, "0"));
|
||||||
|
intent = new Intent(Intent);
|
||||||
|
intent.PutExtra("offsetchanged", true);
|
||||||
|
SetResult(Result.Ok, intent);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void OnResume()
|
protected override void OnResume()
|
||||||
|
@ -47,5 +64,22 @@ namespace OrarendAndroidApp
|
||||||
base.OnPause();
|
base.OnPause();
|
||||||
PreferenceManager.GetDefaultSharedPreferences(this).UnregisterOnSharedPreferenceChangeListener(this);
|
PreferenceManager.GetDefaultSharedPreferences(this).UnregisterOnSharedPreferenceChangeListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void OnBackPressed()
|
||||||
|
{
|
||||||
|
SetResult(Result.Ok, intent);
|
||||||
|
//base.OnBackPressed();
|
||||||
|
Finish();
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool OnPreferenceClick(Preference preference)
|
||||||
|
{
|
||||||
|
if (preference.Key == "pref_commonnames")
|
||||||
|
{
|
||||||
|
API.Beállítások.UseCommonNames();
|
||||||
|
Toast.MakeText(this, "Óranevek frissítve", ToastLength.Short).Show();
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in a new issue