Nach einen erneuten Login wird der Nutzer nun auf das FRAGMENT weitergeleitet, das er vor der Aktualisierung gesehen hat. Allerdings beim Kalender auf das Aktuelle Datum und bei einem Modul immer zur Modul Übersicht.

Deutsche Strings für Kantine erweitert
This commit is contained in:
Joshua
2018-08-15 17:34:48 +02:00
parent 14fa440237
commit 662f9bc240
2 changed files with 48 additions and 4 deletions

View File

@@ -54,6 +54,10 @@ public class MainActivity extends AppCompatActivity
private static final int FRAGMENT_CANTEENS_DETAILS = 6; private static final int FRAGMENT_CANTEENS_DETAILS = 6;
private static final int FRAGMENT_PREFERENCES = 7; private static final int FRAGMENT_PREFERENCES = 7;
//zum speichern des angezeigten FRAGMENTs bei einem erneuten login (z.B. Cookies abgelaufen)
private int last_Fragment = FRAGMENT_NONE;
private String last_Fragment_id = "";
private static final String ARG_FRAGMENT_PAGE = "fragment_page"; private static final String ARG_FRAGMENT_PAGE = "fragment_page";
private static final String ARG_FRAGMENT_STATUS = "fragment_status"; private static final String ARG_FRAGMENT_STATUS = "fragment_status";
@@ -162,7 +166,6 @@ public class MainActivity extends AppCompatActivity
public boolean onNavigationItemSelected(@NonNull MenuItem item) { public boolean onNavigationItemSelected(@NonNull MenuItem item) {
// Handle navigation view item clicks here. // Handle navigation view item clicks here.
int id = item.getItemId(); int id = item.getItemId();
switch (id) { switch (id) {
case R.id.nav_modules: case R.id.nav_modules:
changeFragment(FRAGMENT_MODULES); changeFragment(FRAGMENT_MODULES);
@@ -192,8 +195,8 @@ public class MainActivity extends AppCompatActivity
this.toLogoutState(); this.toLogoutState();
}); });
break; break;
}
}
DrawerLayout drawer = findViewById(R.id.drawer_layout); DrawerLayout drawer = findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START); drawer.closeDrawer(GravityCompat.START);
@@ -245,7 +248,22 @@ public class MainActivity extends AppCompatActivity
} }
private int getDefaultFragmentAfterLogin() { private int getDefaultFragmentAfterLogin() {
return FRAGMENT_MODULES; return getDefaultFragmentAfterLogin(new String[1]);
}
private int getDefaultFragmentAfterLogin(String[] id) {
//log.d("Cookies last_Fragment", last_Fragment);
if (last_Fragment == FRAGMENT_NONE){
id[0]="";
return FRAGMENT_MODULES;
}
else {
//log.d("changeFragment last_Fragment_id gesetzt", last_Fragment_id);
id[0] = last_Fragment_id;
return last_Fragment;
}
} }
private void toLogoutState() { private void toLogoutState() {
@@ -277,7 +295,12 @@ public class MainActivity extends AppCompatActivity
toLogoutState(); toLogoutState();
return; return;
} }
this.getKVV().login(credentials.getUsername(), credentials.getPassword(), success -> toLoginState(success, getDefaultFragmentAfterLogin(), ""), String[] id = new String[1];
id[0] = "";
int fragment = getDefaultFragmentAfterLogin(id);
//log.d("changeFragment in checkAndDoLogin:", fragment, id[0]);
this.getKVV().login(credentials.getUsername(), credentials.getPassword(), success -> toLoginState(success, fragment , id[0]),
error -> { error -> {
log.e(error); log.e(error);
toLogoutState(); toLogoutState();
@@ -290,32 +313,45 @@ public class MainActivity extends AppCompatActivity
} }
private void changeFragment(int newFragment, String newData) { private void changeFragment(int newFragment, String newData) {
//log.d("changeFragment: ", newFragment, newData);
onTitleTextChange(R.string.courses); onTitleTextChange(R.string.courses);
Fragment fragment; Fragment fragment;
switch (newFragment) { switch (newFragment) {
case FRAGMENT_MODULES: case FRAGMENT_MODULES:
fragment = ModulesFragment.newInstance(); fragment = ModulesFragment.newInstance();
last_Fragment = FRAGMENT_MODULES;
last_Fragment_id = "";
break; break;
case FRAGMENT_MODULES_DETAILS: case FRAGMENT_MODULES_DETAILS:
fragment = ModDetailFragment.newInstance(newData); fragment = ModDetailFragment.newInstance(newData);
last_Fragment = FRAGMENT_MODULES_DETAILS;
last_Fragment_id = newData;
break; break;
case FRAGMENT_LOGIN: case FRAGMENT_LOGIN:
fragment = LoginFragment.newInstance(); fragment = LoginFragment.newInstance();
break; break;
case FRAGMENT_SCHEDULE: case FRAGMENT_SCHEDULE:
fragment = ScheduleFragment.newInstance(); fragment = ScheduleFragment.newInstance();
last_Fragment = FRAGMENT_SCHEDULE;
last_Fragment_id = "";
break; break;
case FRAGMENT_CANTEENS: case FRAGMENT_CANTEENS:
fragment = CanteensFragment.newInstance(); fragment = CanteensFragment.newInstance();
last_Fragment = FRAGMENT_CANTEENS;
last_Fragment_id = "";
break; break;
case FRAGMENT_CANTEENS_DETAILS: case FRAGMENT_CANTEENS_DETAILS:
fragment = DaySwitcherFragment.newInstance(Integer.parseInt(newData)); fragment = DaySwitcherFragment.newInstance(Integer.parseInt(newData));
last_Fragment = FRAGMENT_NONE;
last_Fragment_id = newData;
break; break;
case FRAGMENT_PREFERENCES: case FRAGMENT_PREFERENCES:
fragment = PrefsFragment.newInstance(); fragment = PrefsFragment.newInstance();
//last_Fragment = FRAGMENT_NONE;
break; break;
default: // FRAGMENT_STARTUP default: // FRAGMENT_STARTUP
fragment = StartupFragment.newInstance(); fragment = StartupFragment.newInstance();
//last_Fragment = FRAGMENT_NONE;
break; break;
} }

View File

@@ -46,4 +46,12 @@
<string name="pref_price_group_title">Kantinenpreisgruppe</string> <string name="pref_price_group_title">Kantinenpreisgruppe</string>
<string name="pref_price_group_summary">Zeige nur Preise einer Gruppe</string> <string name="pref_price_group_summary">Zeige nur Preise einer Gruppe</string>
<string name="pref_price_group_dialog">Preisgruppe</string> <string name="pref_price_group_dialog">Preisgruppe</string>
<string name="meals">Hauptgerichte</string>
<string name="special_meals">Spezial Gerichte</string>
<string name="side_dishes">Beilagen</string>
<string name="desserts">Nachtisch</string>
<string name="salats">Salate</string>
<string name="soups">Suppen</string>
<string name="starters">Vorspeisen</string>
<string name="others">Sonstiges</string>
</resources> </resources>