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:
Norbi Peti 2017-09-24 21:45:05 +02:00
parent e46a588a9f
commit e5915c8082
8 changed files with 35 additions and 19 deletions

View file

@ -9,6 +9,7 @@ using System.Linq;
using System.Net;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
using System.Security;
using System.Text.RegularExpressions;
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
[DataMember(Order = 2)]
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();
/// <summary>
/// <para>Visszatér az osztályok listájával.</para>
@ -284,14 +285,16 @@ namespace Orarend
{
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)
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
{
@ -309,7 +312,7 @@ namespace Orarend
private static DateTime utolsófrissítésplusz1óra = DateTime.MinValue;
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()
{
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
public static Órarend Órarend { get; private set; }
public static void ÓrarendKiválasztás(int position) => Órarend = Órarendek[position];
public static void ÓrarendKiválasztásTörlése() => Órarend = null;
public static void ÓrarendKiválasztás(int position) { Órarend = Órarendek[position]; CsengőTimer(null); }
public static void ÓrarendKiválasztásTörlése() { Órarend = null; CsengőTimer(null); }
private static bool nincstöbbóra = false;
public static event EventHandler<TimerEventArgs> CsengőTimerEvent;
@ -349,7 +352,7 @@ namespace Orarend
var most = DateTime.Now - DateTime.Today;
//var most = new TimeSpan(9, 46, 0);
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");
string kezdveg = null, kovora = null;
for (int i = 0; i < Órarend.Órakezdetek.Length - 1; i++)

View file

@ -33,6 +33,9 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>false</SignAssembly>
</PropertyGroup>
<ItemGroup>
<Compile Include="API.cs" />
<Compile Include="Events\TimerEventArgs.cs" />

View file

@ -2,6 +2,7 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
@ -15,6 +16,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: NeutralResourcesLanguage("en")]
[assembly: SecurityTransparent]
// Version information for an assembly consists of the following four values:
//

View file

@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Security;
using System.Text;
using System.Threading.Tasks;

View file

@ -2,6 +2,7 @@
using Android.App;
using Android.OS;
using Android.Preferences;
using System.Security;
namespace OrarendAndroidApp
{

View file

@ -12,6 +12,7 @@ using Android.Widget;
using Orarend;
using Android.Graphics;
using Android.Preferences;
using System.Security;
namespace OrarendAndroidApp
{

View file

@ -15,6 +15,7 @@ using System.IO;
using System.Net;
using Android.Preferences;
using Orarend.Events;
using System.Security;
namespace OrarendAndroidApp
{
@ -26,7 +27,7 @@ namespace OrarendAndroidApp
private const int EDIT_ADD_ACT_REQUEST = 1;
private const int SETTINGS_ACT_REQUEST = 2;
public const string DATA_FILENAME = "data.json";
protected override void OnCreate(Bundle bundle)
{
AndroidEnvironment.UnhandledExceptionRaiser += AndroidEnvironment_UnhandledExceptionRaiser;
@ -82,6 +83,7 @@ namespace OrarendAndroidApp
órarendfrissítés();
}
[SecuritySafeCritical]
private void addCell(string text, Color color, TableRow tr1, (int, int)? tag = null)
{
TextView textview = new TextView(this);
@ -95,6 +97,7 @@ namespace OrarendAndroidApp
tr1.AddView(textview);
}
[SecuritySafeCritical]
private class JavaTuple<T1, T2> : Java.Lang.Object
{
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" };
[SecuritySafeCritical]
private void órarendfrissítés()
{
var table = FindViewById<TableLayout>(Resource.Id.tableLayout1);
@ -220,6 +224,7 @@ namespace OrarendAndroidApp
/// <summary>
/// Kiválasztja az adott órát
/// </summary>
[SecuritySafeCritical]
private void ÓraClick(object sender, EventArgs e)
{
var tv = (TextView)sender;
@ -364,13 +369,16 @@ namespace OrarendAndroidApp
{
if (ex is WebException wex)
{
if (internethiba || wex.Status != WebExceptionStatus.NameResolutionFailure)
Hiba("Nem sikerült csatlakozni az E-naplóhoz.\n" + wex.Message);
else if (wex.Status == WebExceptionStatus.ConnectFailure)
if (internethiba && wex.Status == WebExceptionStatus.ConnectFailure)
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")
{
ÓrarendFrissítés(true);
Toast.MakeText(this, oex.Message, ToastLength.Short).Show();
}
else
Hiba(ex.ToString());
ret = false;
@ -384,14 +392,10 @@ namespace OrarendAndroidApp
{
var kezdveg = FindViewById<TextView>(Resource.Id.kezdvegTV);
var kovora = FindViewById<TextView>(Resource.Id.kovoraTV);
if (e.KövetkezőÓra == null)
kovora.Visibility = ViewStates.Invisible;
else
kovora.Text = e.KövetkezőÓra;
if (e.HátralévőIdő == null)
kezdveg.Visibility = ViewStates.Invisible;
else
kezdveg.Text = e.HátralévőIdő;
kovora.Visibility = e.KövetkezőÓra == null ? ViewStates.Invisible : ViewStates.Visible;
kovora.Text = e.KövetkezőÓra ?? "";
kezdveg.Visibility = e.HátralévőIdő == null ? ViewStates.Invisible : ViewStates.Visible;
kezdveg.Text = e.HátralévőIdő ?? "";
});
}

View file

@ -11,6 +11,7 @@ using Android.Views;
using Android.Widget;
using Android.Preferences;
using Orarend;
using System.Security;
namespace OrarendAndroidApp
{