Ó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
|
||||
[DataMember(Order = 2)]
|
||||
public List<Órarend> órarendek { get; private set; } = new List<Órarend>();
|
||||
//[DataMember]
|
||||
[DataMember]
|
||||
public Settings beállítások { get; private set; } = new Settings();
|
||||
/// <summary>
|
||||
/// <para>Visszatér az osztályok listájával.</para>
|
||||
|
@ -89,10 +89,11 @@ namespace Orarend
|
|||
break;
|
||||
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;
|
||||
órarend.Órakezdetek[x] = TimeSpan.Parse(node.FirstChild.Attributes["title"].Value.Split('-')[0].Trim());
|
||||
var órák = (ahét ? órarend.ÓrákAHét : órarend.ÓrákBHét);
|
||||
if (y >= 0 && y < órarend.Órakezdetek.Length)
|
||||
ó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
|
||||
{
|
||||
var óranode = node.ChildNodes[i + 1].FirstChild;
|
||||
|
|
|
@ -18,6 +18,7 @@ namespace Orarend
|
|||
set(";prggy", "Programozás gyakorlat");
|
||||
set("testns", "Tesi");
|
||||
set("tapism", "Töri");
|
||||
set("torten", "Töri");
|
||||
set("matema", "Matek");
|
||||
set("bioege", "Biosz");
|
||||
set("foldra", "Föci");
|
||||
|
@ -29,5 +30,8 @@ namespace Orarend
|
|||
if (ÓraTípus.Típusok.ContainsKey(id))
|
||||
Ó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 menu = FindViewById<ActionMenuView>(Resource.Id.actionMenuView1);
|
||||
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 =>
|
||||
{
|
||||
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);
|
||||
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 =>
|
||||
{
|
||||
handler.RemoveCallbacks(loadstart);
|
||||
|
@ -290,7 +296,7 @@ namespace OrarendAndroidApp
|
|||
menu.FindItem(Resource.Id.menu_preferences).SetIcon(Resource.Drawable.ic_settings_white_24dp);
|
||||
}
|
||||
if (API.Osztályok == null || API.Osztályok.Length == 0)
|
||||
ÓrarendFrissítés();
|
||||
ÓrarendFrissítés(true);
|
||||
else
|
||||
órarendlistafrissítés();
|
||||
return base.OnCreateOptionsMenu(menu);
|
||||
|
@ -333,7 +339,7 @@ namespace OrarendAndroidApp
|
|||
}
|
||||
case Resource.Id.menu_fullrefresh:
|
||||
{
|
||||
ÓrarendFrissítés();
|
||||
ÓrarendFrissítés(false);
|
||||
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.");
|
||||
}
|
||||
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
|
||||
Hiba(ex.ToString());
|
||||
ret = false;
|
||||
|
@ -398,7 +404,7 @@ namespace OrarendAndroidApp
|
|||
return;
|
||||
int index = data.Extras.GetBoolean("add") ? API.Órarendek.Count - 1 : data.Extras.GetInt("index");
|
||||
if (!data.Extras.GetBoolean("deleted"))
|
||||
ÓrarendFrissítés(API.Órarendek[index]);
|
||||
ÓrarendFrissítés(false, API.Órarendek[index]);
|
||||
else
|
||||
{
|
||||
API.ÓrarendKiválasztásTörlése();
|
||||
|
@ -407,7 +413,11 @@ namespace OrarendAndroidApp
|
|||
órarendlistafrissítés();
|
||||
}
|
||||
else if (requestCode == SETTINGS_ACT_REQUEST)
|
||||
{
|
||||
if (data?.Extras?.GetBoolean("offsetchanged") ?? false)
|
||||
ÓrarendFrissítés(false);
|
||||
Recreate();
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnWindowFocusChanged(bool hasFocus)
|
||||
|
|
|
@ -1,8 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<CheckBoxPreference
|
||||
android:key="pref_theme"
|
||||
android:title="Sötét téma"
|
||||
android:summary="Sötét téma"
|
||||
android:defaultValue="false" />
|
||||
<CheckBoxPreference
|
||||
android:key="pref_theme"
|
||||
android:title="Sötét téma"
|
||||
android:summary="Sötét téma"
|
||||
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>
|
|
@ -10,11 +10,12 @@ using Android.Runtime;
|
|||
using Android.Views;
|
||||
using Android.Widget;
|
||||
using Android.Preferences;
|
||||
using Orarend;
|
||||
|
||||
namespace OrarendAndroidApp
|
||||
{
|
||||
[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)
|
||||
{
|
||||
|
@ -26,14 +27,30 @@ namespace OrarendAndroidApp
|
|||
base.OnCreate(savedInstanceState);
|
||||
#pragma warning disable CS0618 // Type or member is obsolete
|
||||
AddPreferencesFromResource(Resource.Xml.preferences);
|
||||
FindPreference("pref_commonnames").OnPreferenceClickListener = this;
|
||||
#pragma warning restore CS0618 // Type or member is obsolete
|
||||
PreferenceManager.SetDefaultValues(this, Resource.Xml.preferences, false);
|
||||
}
|
||||
|
||||
private Intent intent;
|
||||
public void OnSharedPreferenceChanged(ISharedPreferences sharedPreferences, string key)
|
||||
{
|
||||
if (key == "pref_theme")
|
||||
Recreate();
|
||||
switch (key)
|
||||
{
|
||||
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()
|
||||
|
@ -47,5 +64,22 @@ namespace OrarendAndroidApp
|
|||
base.OnPause();
|
||||
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