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";
|
||||
index = Intent.Extras.GetInt("index");
|
||||
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);
|
||||
if (!add)
|
||||
{
|
||||
|
|
|
@ -54,6 +54,8 @@ namespace OrarendAndroidApp
|
|||
handler.Post(() =>
|
||||
{
|
||||
var list = FindViewById<Spinner>(Resource.Id.spinner);
|
||||
int selected = list.SelectedItemPosition;
|
||||
int count = list.Count;
|
||||
ArrayAdapter adapter;
|
||||
if (list.Adapter != null)
|
||||
{
|
||||
|
@ -62,11 +64,15 @@ namespace OrarendAndroidApp
|
|||
adapter.AddAll(API.Órarendek);
|
||||
}
|
||||
else
|
||||
{
|
||||
adapter = new ArrayAdapter(this, Resource.Layout.simple_list_item_1, API.Órarendek);
|
||||
list.ItemSelected += ÓrarendClick;
|
||||
}
|
||||
list.Adapter = adapter;
|
||||
adapter.NotifyDataSetChanged();
|
||||
list.ItemSelected += ÓrarendClick;
|
||||
//list.SetSelection(list.SelectedItemPosition); //Szöveg frissítése - TODO: Teszt
|
||||
if (selected >= list.Count || list.Count > count) //TÖrlés vagy hozzáadás után
|
||||
selected = list.Count - 1;
|
||||
list.SetSelection(selected);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -105,30 +111,19 @@ namespace OrarendAndroidApp
|
|||
|
||||
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
|
||||
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(() => bar.Visibility = ViewStates.Visible);
|
||||
API.Frissítés(OpenFileOutput("orarend", FileCreationMode.Private), OpenFileOutput("osztaly", FileCreationMode.Private), ór).ContinueWith(t =>
|
||||
handler.Post(() =>
|
||||
{
|
||||
handler.Post(() =>
|
||||
{
|
||||
if (TaskHiba(t) && órarend != null && (ór == null || ór == órarend))
|
||||
órarendfrissítés();
|
||||
bar.Visibility = ViewStates.Gone;
|
||||
órarendlistafrissítés();
|
||||
Toast.MakeText(this, "Órarend" + (ór == null ? "ek" : "") + " és osztálylista frissítve", ToastLength.Short).Show();
|
||||
});
|
||||
if (TaskHiba(t) && (ór == null || ór == órarend))
|
||||
órarendfrissítés();
|
||||
bar.Visibility = ViewStates.Gone;
|
||||
ó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()
|
||||
|
@ -137,6 +132,8 @@ namespace OrarendAndroidApp
|
|||
if (table.ChildCount > 1)
|
||||
table.RemoveViews(1, table.ChildCount - 1);
|
||||
FindViewById<TextView>(Resource.Id.kivoraTV).Visibility = ViewStates.Gone;
|
||||
if (órarend == null)
|
||||
return;
|
||||
TableRow tr = new TableRow(this);
|
||||
addCell("", Color.Black, tr);
|
||||
addCell("Hétfő", Color.Black, tr);
|
||||
|
@ -221,6 +218,11 @@ namespace OrarendAndroidApp
|
|||
}
|
||||
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));
|
||||
intent.PutExtra("add", false);
|
||||
intent.PutExtra("index", API.Órarendek.IndexOf(órarend));
|
||||
|
@ -240,7 +242,12 @@ namespace OrarendAndroidApp
|
|||
|
||||
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>
|
||||
|
@ -253,7 +260,10 @@ namespace OrarendAndroidApp
|
|||
bool ret = true;
|
||||
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;
|
||||
}
|
||||
return ret;
|
||||
|
@ -323,10 +333,16 @@ namespace OrarendAndroidApp
|
|||
base.OnActivityResult(requestCode, resultCode, data);
|
||||
if (resultCode == Result.Canceled)
|
||||
return;
|
||||
int index = data.Extras.GetBoolean("add") ? API.Órarendek.Count - 1 : data.Extras.GetInt("index");
|
||||
if (requestCode == EDIT_ADD_ACT_REQUEST)
|
||||
{
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
<AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugSymbols>True</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
|
@ -29,6 +29,16 @@
|
|||
<WarningLevel>4</WarningLevel>
|
||||
<AndroidUseSharedRuntime>True</AndroidUseSharedRuntime>
|
||||
<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 Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?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">
|
||||
<uses-sdk android:minSdkVersion="16" />
|
||||
<application android:label="OrarendAndroidApp"></application>
|
||||
<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="14" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<application android:label="Orarend"></application>
|
||||
</manifest>
|
Loading…
Reference in a new issue