A/B hét javítva, 09.01-től számolja már, egyéb jav.
- Kódanalízis, biztonsági attribútumok - Hibakezelés javítva (internethiba, stb.)
This commit is contained in:
parent
e46a588a9f
commit
e5915c8082
8 changed files with 35 additions and 19 deletions
|
@ -9,6 +9,7 @@ using System.Linq;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
using System.Runtime.Serialization;
|
using System.Runtime.Serialization;
|
||||||
using System.Runtime.Serialization.Json;
|
using System.Runtime.Serialization.Json;
|
||||||
|
using System.Security;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
@ -30,7 +31,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(Order = 3)]
|
||||||
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>
|
||||||
|
@ -284,14 +285,16 @@ namespace Orarend
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
int jelenlegihét = CultureInfo.InvariantCulture.Calendar.GetWeekOfYear(DateTime.Today, CalendarWeekRule.FirstFullWeek, DayOfWeek.Monday);
|
int jelenlegihét = napbólhét(DateTime.Today);
|
||||||
if (DateTime.Today.DayOfWeek > DayOfWeek.Friday || DateTime.Today.DayOfWeek == DayOfWeek.Sunday)
|
if (DateTime.Today.DayOfWeek > DayOfWeek.Friday || DateTime.Today.DayOfWeek == DayOfWeek.Sunday)
|
||||||
jelenlegihét++;
|
jelenlegihét++;
|
||||||
return jelenlegihét;
|
return jelenlegihét;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool AHét { get => Hét % 2 == 0; }
|
private static int napbólhét(DateTime nap) => CultureInfo.InvariantCulture.Calendar.GetWeekOfYear(nap, CalendarWeekRule.FirstFullWeek, DayOfWeek.Monday);
|
||||||
|
|
||||||
|
public static bool AHét { get => Hét % 2 == napbólhét(new DateTime(DateTime.Today.Year - (DateTime.Today.Month < 8 ? 1 : 0), 9, 1)) % 2; }
|
||||||
|
|
||||||
public static bool Fókusz
|
public static bool Fókusz
|
||||||
{
|
{
|
||||||
|
@ -309,7 +312,7 @@ namespace Orarend
|
||||||
|
|
||||||
private static DateTime utolsófrissítésplusz1óra = DateTime.MinValue;
|
private static DateTime utolsófrissítésplusz1óra = DateTime.MinValue;
|
||||||
public static event EventHandler<FrissítésEventArgs> Frissítéskor;
|
public static event EventHandler<FrissítésEventArgs> Frissítéskor;
|
||||||
public class FrissítésEventArgs { public bool Siker { get; set; } = false; }
|
public class FrissítésEventArgs : EventArgs { public bool Siker { get; set; } = false; }
|
||||||
private static void frissítésHa1ÓraEltelt()
|
private static void frissítésHa1ÓraEltelt()
|
||||||
{
|
{
|
||||||
if (utolsófrissítésplusz1óra > DateTime.Now)
|
if (utolsófrissítésplusz1óra > DateTime.Now)
|
||||||
|
@ -336,8 +339,8 @@ namespace Orarend
|
||||||
//Ha az eredeti óra elmarad, és ide lesz helyezve egy másik, az áthelyezést mutassa
|
//Ha az eredeti óra elmarad, és ide lesz helyezve egy másik, az áthelyezést mutassa
|
||||||
|
|
||||||
public static Órarend Órarend { get; private set; }
|
public static Órarend Órarend { get; private set; }
|
||||||
public static void ÓrarendKiválasztás(int position) => Órarend = Órarendek[position];
|
public static void ÓrarendKiválasztás(int position) { Órarend = Órarendek[position]; CsengőTimer(null); }
|
||||||
public static void ÓrarendKiválasztásTörlése() => Órarend = null;
|
public static void ÓrarendKiválasztásTörlése() { Órarend = null; CsengőTimer(null); }
|
||||||
|
|
||||||
private static bool nincstöbbóra = false;
|
private static bool nincstöbbóra = false;
|
||||||
public static event EventHandler<TimerEventArgs> CsengőTimerEvent;
|
public static event EventHandler<TimerEventArgs> CsengőTimerEvent;
|
||||||
|
@ -349,7 +352,7 @@ namespace Orarend
|
||||||
var most = DateTime.Now - DateTime.Today;
|
var most = DateTime.Now - DateTime.Today;
|
||||||
//var most = new TimeSpan(9, 46, 0);
|
//var most = new TimeSpan(9, 46, 0);
|
||||||
bool talált = false;
|
bool talált = false;
|
||||||
if (Órarend.Órakezdetek[0] == TimeSpan.Zero) //Még nincsenek beállítva a kezdetek
|
if (Órarend.Órakezdetek[Beállítások.ÓraOffset] == TimeSpan.Zero) //Még nincsenek beállítva a kezdetek
|
||||||
return new TimerEventArgs(null, "Betöltés");
|
return new TimerEventArgs(null, "Betöltés");
|
||||||
string kezdveg = null, kovora = null;
|
string kezdveg = null, kovora = null;
|
||||||
for (int i = 0; i < Órarend.Órakezdetek.Length - 1; i++)
|
for (int i = 0; i < Órarend.Órakezdetek.Length - 1; i++)
|
||||||
|
|
|
@ -33,6 +33,9 @@
|
||||||
<ErrorReport>prompt</ErrorReport>
|
<ErrorReport>prompt</ErrorReport>
|
||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<SignAssembly>false</SignAssembly>
|
||||||
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="API.cs" />
|
<Compile Include="API.cs" />
|
||||||
<Compile Include="Events\TimerEventArgs.cs" />
|
<Compile Include="Events\TimerEventArgs.cs" />
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.CompilerServices;
|
using System.Runtime.CompilerServices;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
using System.Security;
|
||||||
|
|
||||||
// General Information about an assembly is controlled through the following
|
// General Information about an assembly is controlled through the following
|
||||||
// set of attributes. Change these attribute values to modify the information
|
// set of attributes. Change these attribute values to modify the information
|
||||||
|
@ -15,6 +16,7 @@ using System.Runtime.InteropServices;
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: NeutralResourcesLanguage("en")]
|
[assembly: NeutralResourcesLanguage("en")]
|
||||||
|
[assembly: SecurityTransparent]
|
||||||
|
|
||||||
// Version information for an assembly consists of the following four values:
|
// Version information for an assembly consists of the following four values:
|
||||||
//
|
//
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Runtime.Serialization;
|
using System.Runtime.Serialization;
|
||||||
|
using System.Security;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
using Android.App;
|
using Android.App;
|
||||||
using Android.OS;
|
using Android.OS;
|
||||||
using Android.Preferences;
|
using Android.Preferences;
|
||||||
|
using System.Security;
|
||||||
|
|
||||||
namespace OrarendAndroidApp
|
namespace OrarendAndroidApp
|
||||||
{
|
{
|
||||||
|
|
|
@ -12,6 +12,7 @@ using Android.Widget;
|
||||||
using Orarend;
|
using Orarend;
|
||||||
using Android.Graphics;
|
using Android.Graphics;
|
||||||
using Android.Preferences;
|
using Android.Preferences;
|
||||||
|
using System.Security;
|
||||||
|
|
||||||
namespace OrarendAndroidApp
|
namespace OrarendAndroidApp
|
||||||
{
|
{
|
||||||
|
|
|
@ -15,6 +15,7 @@ using System.IO;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
using Android.Preferences;
|
using Android.Preferences;
|
||||||
using Orarend.Events;
|
using Orarend.Events;
|
||||||
|
using System.Security;
|
||||||
|
|
||||||
namespace OrarendAndroidApp
|
namespace OrarendAndroidApp
|
||||||
{
|
{
|
||||||
|
@ -26,7 +27,7 @@ namespace OrarendAndroidApp
|
||||||
private const int EDIT_ADD_ACT_REQUEST = 1;
|
private const int EDIT_ADD_ACT_REQUEST = 1;
|
||||||
private const int SETTINGS_ACT_REQUEST = 2;
|
private const int SETTINGS_ACT_REQUEST = 2;
|
||||||
public const string DATA_FILENAME = "data.json";
|
public const string DATA_FILENAME = "data.json";
|
||||||
|
|
||||||
protected override void OnCreate(Bundle bundle)
|
protected override void OnCreate(Bundle bundle)
|
||||||
{
|
{
|
||||||
AndroidEnvironment.UnhandledExceptionRaiser += AndroidEnvironment_UnhandledExceptionRaiser;
|
AndroidEnvironment.UnhandledExceptionRaiser += AndroidEnvironment_UnhandledExceptionRaiser;
|
||||||
|
@ -82,6 +83,7 @@ namespace OrarendAndroidApp
|
||||||
órarendfrissítés();
|
órarendfrissítés();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[SecuritySafeCritical]
|
||||||
private void addCell(string text, Color color, TableRow tr1, (int, int)? tag = null)
|
private void addCell(string text, Color color, TableRow tr1, (int, int)? tag = null)
|
||||||
{
|
{
|
||||||
TextView textview = new TextView(this);
|
TextView textview = new TextView(this);
|
||||||
|
@ -95,6 +97,7 @@ namespace OrarendAndroidApp
|
||||||
tr1.AddView(textview);
|
tr1.AddView(textview);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[SecuritySafeCritical]
|
||||||
private class JavaTuple<T1, T2> : Java.Lang.Object
|
private class JavaTuple<T1, T2> : Java.Lang.Object
|
||||||
{
|
{
|
||||||
public (T1, T2) obj;
|
public (T1, T2) obj;
|
||||||
|
@ -156,6 +159,7 @@ namespace OrarendAndroidApp
|
||||||
|
|
||||||
private string[] Napok = new string[6] { "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat" };
|
private string[] Napok = new string[6] { "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat" };
|
||||||
|
|
||||||
|
[SecuritySafeCritical]
|
||||||
private void órarendfrissítés()
|
private void órarendfrissítés()
|
||||||
{
|
{
|
||||||
var table = FindViewById<TableLayout>(Resource.Id.tableLayout1);
|
var table = FindViewById<TableLayout>(Resource.Id.tableLayout1);
|
||||||
|
@ -220,6 +224,7 @@ namespace OrarendAndroidApp
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Kiválasztja az adott órát
|
/// Kiválasztja az adott órát
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[SecuritySafeCritical]
|
||||||
private void ÓraClick(object sender, EventArgs e)
|
private void ÓraClick(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var tv = (TextView)sender;
|
var tv = (TextView)sender;
|
||||||
|
@ -364,13 +369,16 @@ namespace OrarendAndroidApp
|
||||||
{
|
{
|
||||||
if (ex is WebException wex)
|
if (ex is WebException wex)
|
||||||
{
|
{
|
||||||
if (internethiba || wex.Status != WebExceptionStatus.NameResolutionFailure)
|
if (internethiba && wex.Status == WebExceptionStatus.ConnectFailure)
|
||||||
Hiba("Nem sikerült csatlakozni az E-naplóhoz.\n" + wex.Message);
|
|
||||||
else if (wex.Status == WebExceptionStatus.ConnectFailure)
|
|
||||||
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 (internethiba || wex.Status != WebExceptionStatus.NameResolutionFailure)
|
||||||
|
Hiba("Nem sikerült csatlakozni az E-naplóhoz.\n" + wex.Message);
|
||||||
}
|
}
|
||||||
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(true);
|
ÓrarendFrissítés(true);
|
||||||
|
Toast.MakeText(this, oex.Message, ToastLength.Short).Show();
|
||||||
|
}
|
||||||
else
|
else
|
||||||
Hiba(ex.ToString());
|
Hiba(ex.ToString());
|
||||||
ret = false;
|
ret = false;
|
||||||
|
@ -384,14 +392,10 @@ namespace OrarendAndroidApp
|
||||||
{
|
{
|
||||||
var kezdveg = FindViewById<TextView>(Resource.Id.kezdvegTV);
|
var kezdveg = FindViewById<TextView>(Resource.Id.kezdvegTV);
|
||||||
var kovora = FindViewById<TextView>(Resource.Id.kovoraTV);
|
var kovora = FindViewById<TextView>(Resource.Id.kovoraTV);
|
||||||
if (e.KövetkezőÓra == null)
|
kovora.Visibility = e.KövetkezőÓra == null ? ViewStates.Invisible : ViewStates.Visible;
|
||||||
kovora.Visibility = ViewStates.Invisible;
|
kovora.Text = e.KövetkezőÓra ?? "";
|
||||||
else
|
kezdveg.Visibility = e.HátralévőIdő == null ? ViewStates.Invisible : ViewStates.Visible;
|
||||||
kovora.Text = e.KövetkezőÓra;
|
kezdveg.Text = e.HátralévőIdő ?? "";
|
||||||
if (e.HátralévőIdő == null)
|
|
||||||
kezdveg.Visibility = ViewStates.Invisible;
|
|
||||||
else
|
|
||||||
kezdveg.Text = e.HátralévőIdő;
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,7 @@ using Android.Views;
|
||||||
using Android.Widget;
|
using Android.Widget;
|
||||||
using Android.Preferences;
|
using Android.Preferences;
|
||||||
using Orarend;
|
using Orarend;
|
||||||
|
using System.Security;
|
||||||
|
|
||||||
namespace OrarendAndroidApp
|
namespace OrarendAndroidApp
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue