Javítások, stb.
- Hozzáadás/szerk./törlés után a megfelelő órarendet választja ki - Hibakezelés - Egyéb javítások
This commit is contained in:
parent
d7bd486071
commit
aedb08a6be
4 changed files with 62 additions and 30 deletions
|
@ -26,6 +26,11 @@ namespace OrarendAndroidApp
|
||||||
Title = (add = Intent.Extras.GetBoolean("add")) ? "Hozzáadás" : "Szerkesztés";
|
Title = (add = Intent.Extras.GetBoolean("add")) ? "Hozzáadás" : "Szerkesztés";
|
||||||
index = Intent.Extras.GetInt("index");
|
index = Intent.Extras.GetInt("index");
|
||||||
var osztálySpinner = FindViewById<Spinner>(Resource.Id.osztálySpinner);
|
var osztálySpinner = FindViewById<Spinner>(Resource.Id.osztálySpinner);
|
||||||
|
if (API.Osztályok == null)
|
||||||
|
{
|
||||||
|
MainActivity.Hiba(this, "Az osztálylista üres! Válaszd a Teljes frissítést a menüből.");
|
||||||
|
Finish();
|
||||||
|
}
|
||||||
osztálySpinner.Adapter = new ArrayAdapter(this, Resource.Layout.simple_list_item_1, API.Osztályok);
|
osztálySpinner.Adapter = new ArrayAdapter(this, Resource.Layout.simple_list_item_1, API.Osztályok);
|
||||||
if (!add)
|
if (!add)
|
||||||
{
|
{
|
||||||
|
|
|
@ -54,6 +54,8 @@ namespace OrarendAndroidApp
|
||||||
handler.Post(() =>
|
handler.Post(() =>
|
||||||
{
|
{
|
||||||
var list = FindViewById<Spinner>(Resource.Id.spinner);
|
var list = FindViewById<Spinner>(Resource.Id.spinner);
|
||||||
|
int selected = list.SelectedItemPosition;
|
||||||
|
int count = list.Count;
|
||||||
ArrayAdapter adapter;
|
ArrayAdapter adapter;
|
||||||
if (list.Adapter != null)
|
if (list.Adapter != null)
|
||||||
{
|
{
|
||||||
|
@ -62,11 +64,15 @@ namespace OrarendAndroidApp
|
||||||
adapter.AddAll(API.Órarendek);
|
adapter.AddAll(API.Órarendek);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
adapter = new ArrayAdapter(this, Resource.Layout.simple_list_item_1, API.Órarendek);
|
adapter = new ArrayAdapter(this, Resource.Layout.simple_list_item_1, API.Órarendek);
|
||||||
|
list.ItemSelected += ÓrarendClick;
|
||||||
|
}
|
||||||
list.Adapter = adapter;
|
list.Adapter = adapter;
|
||||||
adapter.NotifyDataSetChanged();
|
adapter.NotifyDataSetChanged();
|
||||||
list.ItemSelected += ÓrarendClick;
|
if (selected >= list.Count || list.Count > count) //TÖrlés vagy hozzáadás után
|
||||||
//list.SetSelection(list.SelectedItemPosition); //Szöveg frissítése - TODO: Teszt
|
selected = list.Count - 1;
|
||||||
|
list.SetSelection(selected);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -105,30 +111,19 @@ namespace OrarendAndroidApp
|
||||||
|
|
||||||
private void ÓrarendFrissítés(Órarend ór = null)
|
private void ÓrarendFrissítés(Órarend ór = null)
|
||||||
{ //TODO: Meghívni minden tervezett alkalommal; hozzáadásnál csak a hozzáadott órarendet frissítse
|
{ //TODO: Meghívni minden tervezett alkalommal; hozzáadásnál csak a hozzáadott órarendet frissítse
|
||||||
try
|
var bar = FindViewById<ProgressBar>(Resource.Id.progressBar1);
|
||||||
|
handler.Post(() => bar.Visibility = ViewStates.Visible);
|
||||||
|
API.Frissítés(OpenFileOutput("orarend", FileCreationMode.Private), OpenFileOutput("osztaly", FileCreationMode.Private), ór).ContinueWith(t =>
|
||||||
{
|
{
|
||||||
var bar = FindViewById<ProgressBar>(Resource.Id.progressBar1);
|
handler.Post(() =>
|
||||||
handler.Post(() => bar.Visibility = ViewStates.Visible);
|
|
||||||
API.Frissítés(OpenFileOutput("orarend", FileCreationMode.Private), OpenFileOutput("osztaly", FileCreationMode.Private), ór).ContinueWith(t =>
|
|
||||||
{
|
{
|
||||||
handler.Post(() =>
|
if (TaskHiba(t) && (ór == null || ór == órarend))
|
||||||
{
|
órarendfrissítés();
|
||||||
if (TaskHiba(t) && órarend != null && (ór == null || ór == órarend))
|
bar.Visibility = ViewStates.Gone;
|
||||||
órarendfrissítés();
|
órarendlistafrissítés();
|
||||||
bar.Visibility = ViewStates.Gone;
|
Toast.MakeText(this, "Órarend" + (ór == null ? "ek" : "") + " és osztálylista frissítve", ToastLength.Short).Show();
|
||||||
órarendlistafrissítés();
|
|
||||||
Toast.MakeText(this, "Órarend" + (ór == null ? "ek" : "") + " és osztálylista frissítve", ToastLength.Short).Show();
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
}
|
});
|
||||||
catch(WebException)
|
|
||||||
{
|
|
||||||
Hiba("Nem sikerült az órarend" + (ór == null ? "ek" : "") + "et frissíteni");
|
|
||||||
}
|
|
||||||
catch(System.Exception e)
|
|
||||||
{
|
|
||||||
Hiba(e.ToString());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void órarendfrissítés()
|
private void órarendfrissítés()
|
||||||
|
@ -137,6 +132,8 @@ namespace OrarendAndroidApp
|
||||||
if (table.ChildCount > 1)
|
if (table.ChildCount > 1)
|
||||||
table.RemoveViews(1, table.ChildCount - 1);
|
table.RemoveViews(1, table.ChildCount - 1);
|
||||||
FindViewById<TextView>(Resource.Id.kivoraTV).Visibility = ViewStates.Gone;
|
FindViewById<TextView>(Resource.Id.kivoraTV).Visibility = ViewStates.Gone;
|
||||||
|
if (órarend == null)
|
||||||
|
return;
|
||||||
TableRow tr = new TableRow(this);
|
TableRow tr = new TableRow(this);
|
||||||
addCell("", Color.Black, tr);
|
addCell("", Color.Black, tr);
|
||||||
addCell("Hétfő", Color.Black, tr);
|
addCell("Hétfő", Color.Black, tr);
|
||||||
|
@ -221,6 +218,11 @@ namespace OrarendAndroidApp
|
||||||
}
|
}
|
||||||
case Resource.Id.menu_edit:
|
case Resource.Id.menu_edit:
|
||||||
{
|
{
|
||||||
|
if (órarend == null)
|
||||||
|
{
|
||||||
|
Toast.MakeText(this, "Nincs órarend kiválasztva", ToastLength.Short).Show();
|
||||||
|
break;
|
||||||
|
}
|
||||||
var intent = new Intent(this, typeof(EditActivity));
|
var intent = new Intent(this, typeof(EditActivity));
|
||||||
intent.PutExtra("add", false);
|
intent.PutExtra("add", false);
|
||||||
intent.PutExtra("index", API.Órarendek.IndexOf(órarend));
|
intent.PutExtra("index", API.Órarendek.IndexOf(órarend));
|
||||||
|
@ -240,7 +242,12 @@ namespace OrarendAndroidApp
|
||||||
|
|
||||||
private void Hiba(string msg)
|
private void Hiba(string msg)
|
||||||
{
|
{
|
||||||
new AlertDialog.Builder(this).SetMessage(msg).SetNeutralButton("OK", (s, e) => { ((AlertDialog)s).Dismiss(); ((AlertDialog)s).Dispose(); }).SetTitle("Hiba").Show();
|
Hiba(this, msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void Hiba(Context c, string msg)
|
||||||
|
{
|
||||||
|
new AlertDialog.Builder(c).SetMessage(msg).SetNeutralButton("OK", (s, e) => { ((AlertDialog)s).Dismiss(); ((AlertDialog)s).Dispose(); }).SetTitle("Hiba").Show();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -253,7 +260,10 @@ namespace OrarendAndroidApp
|
||||||
bool ret = true;
|
bool ret = true;
|
||||||
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());
|
if (ex is WebException)
|
||||||
|
Hiba("Nem sikerült csatlakozni az E-naplóhoz.\n" + ex.Message);
|
||||||
|
else
|
||||||
|
Hiba(ex.ToString());
|
||||||
ret = false;
|
ret = false;
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -323,10 +333,16 @@ namespace OrarendAndroidApp
|
||||||
base.OnActivityResult(requestCode, resultCode, data);
|
base.OnActivityResult(requestCode, resultCode, data);
|
||||||
if (resultCode == Result.Canceled)
|
if (resultCode == Result.Canceled)
|
||||||
return;
|
return;
|
||||||
|
int index = data.Extras.GetBoolean("add") ? API.Órarendek.Count - 1 : data.Extras.GetInt("index");
|
||||||
if (requestCode == EDIT_ADD_ACT_REQUEST)
|
if (requestCode == EDIT_ADD_ACT_REQUEST)
|
||||||
{
|
{
|
||||||
if (!data.Extras.GetBoolean("deleted"))
|
if (!data.Extras.GetBoolean("deleted"))
|
||||||
ÓrarendFrissítés(data.Extras.GetBoolean("add") ? API.Órarendek.Last() : API.Órarendek[data.Extras.GetInt("index")]);
|
ÓrarendFrissítés(API.Órarendek[index]);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
órarend = null;
|
||||||
|
órarendfrissítés();
|
||||||
|
}
|
||||||
órarendlistafrissítés();
|
órarendlistafrissítés();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
<AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
|
<AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>True</DebugSymbols>
|
||||||
<DebugType>full</DebugType>
|
<DebugType>full</DebugType>
|
||||||
<Optimize>false</Optimize>
|
<Optimize>false</Optimize>
|
||||||
<OutputPath>bin\Debug\</OutputPath>
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
|
@ -29,6 +29,16 @@
|
||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
<AndroidUseSharedRuntime>True</AndroidUseSharedRuntime>
|
<AndroidUseSharedRuntime>True</AndroidUseSharedRuntime>
|
||||||
<AndroidLinkMode>None</AndroidLinkMode>
|
<AndroidLinkMode>None</AndroidLinkMode>
|
||||||
|
<AndroidLinkSkip />
|
||||||
|
<EmbedAssembliesIntoApk>False</EmbedAssembliesIntoApk>
|
||||||
|
<BundleAssemblies>False</BundleAssemblies>
|
||||||
|
<AndroidCreatePackagePerAbi>False</AndroidCreatePackagePerAbi>
|
||||||
|
<AndroidSupportedAbis>
|
||||||
|
</AndroidSupportedAbis>
|
||||||
|
<AndroidStoreUncompressedFileExtensions />
|
||||||
|
<MandroidI18n />
|
||||||
|
<Debugger>Xamarin</Debugger>
|
||||||
|
<AndroidEnableMultiDex>False</AndroidEnableMultiDex>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
<DebugType>pdbonly</DebugType>
|
<DebugType>pdbonly</DebugType>
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="OrarendAndroidApp.OrarendAndroidApp" android:versionCode="1" android:versionName="1.0">
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="io.github.norbipeti.orarend" android:versionCode="1" android:versionName="1.0" android:installLocation="auto">
|
||||||
<uses-sdk android:minSdkVersion="16" />
|
<uses-sdk android:minSdkVersion="14" />
|
||||||
<application android:label="OrarendAndroidApp"></application>
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
|
<application android:label="Orarend"></application>
|
||||||
</manifest>
|
</manifest>
|
Loading…
Reference in a new issue