Handle register sync properly

This commit is contained in:
Caesar2011
2019-01-14 13:53:42 +01:00
parent 6a56573c6b
commit 6f1705ccf4
4 changed files with 10 additions and 8 deletions

View File

@@ -359,7 +359,6 @@ public class MainActivity extends AppCompatActivity
((TextView) header.findViewById(R.id.login_mail)).setText(email); ((TextView) header.findViewById(R.id.login_mail)).setText(email);
changeFragment(newFragment); changeFragment(newFragment);
registerSync();
} }
private void registerSync() { private void registerSync() {
@@ -659,8 +658,11 @@ public class MainActivity extends AppCompatActivity
@Override @Override
public void onLogin(LoginToken token) { public void onLogin(LoginToken token, boolean isOnlyRefresh) {
toLoginState(token.getFullName(), token.getEmail(), getDefaultFragmentAfterLogin()); toLoginState(token.getFullName(), token.getEmail(), getDefaultFragmentAfterLogin());
if (!isOnlyRefresh) {
registerSync();
}
} }
@Override @Override

View File

@@ -6,7 +6,7 @@ import de.sebse.fuplanner.services.kvv.types.LoginToken;
import de.sebse.fuplanner.tools.CustomAccountManager; import de.sebse.fuplanner.tools.CustomAccountManager;
public interface KVVListener { public interface KVVListener {
default void onLogin(LoginToken token) {} default void onLogin(LoginToken token, boolean isOnlyRefresh) {}
default void onLogout() {} default void onLogout() {}

View File

@@ -52,7 +52,7 @@ public class Login extends HTTPService {
if (delete) if (delete)
mToken.delete(mListener.getAccountManager()); mToken.delete(mListener.getAccountManager());
mToken = null; mToken = null;
return handleCallbacks(); return handleCallbacks(false);
} }
public boolean isLoginPending() { public boolean isLoginPending() {
@@ -103,9 +103,9 @@ public class Login extends HTTPService {
private boolean handleCallbacks() { private boolean handleCallbacks(boolean isOnlyRefresh) {
if (mToken != null) { if (mToken != null) {
mListener.onLogin(mToken); mListener.onLogin(mToken, isOnlyRefresh);
return true; return true;
} else { } else {
mListener.onLogout(); mListener.onLogout();
@@ -118,7 +118,7 @@ public class Login extends HTTPService {
return false; return false;
boolean isOnlyRefresh = mToken != null; boolean isOnlyRefresh = mToken != null;
mToken = token; mToken = token;
return isOnlyRefresh || handleCallbacks(); return isOnlyRefresh || handleCallbacks(isOnlyRefresh);
} }
public interface BooleanInterface { public interface BooleanInterface {

View File

@@ -93,7 +93,7 @@
<string name="error_field_required">Pflichtfeld</string> <string name="error_field_required">Pflichtfeld</string>
<string name="kvv_sync">KVV-Synchronisation</string> <string name="kvv_sync">KVV-Synchronisation</string>
<string name="channel_name">Neue Daten verfügbar</string> <string name="channel_name">Neue Daten verfügbar</string>
<string name="channel_description">Benachrichtigen, wenn neue Ankündigungen, Aufgaben, Noten oder Resourcen verfügbar sind</string> <string name="channel_description">Benachrichtigen, wenn neue Ankündigungen, Aufgaben, Noten oder Ressourcen verfügbar sind</string>
<string name="announcement_updated">Ankündigung aktualisiert: %1$s</string> <string name="announcement_updated">Ankündigung aktualisiert: %1$s</string>
<string name="assignment_updated">Aufgabe aktualisiert: %1$s</string> <string name="assignment_updated">Aufgabe aktualisiert: %1$s</string>
<string name="event_updated">Event aktualisiert: %1$s</string> <string name="event_updated">Event aktualisiert: %1$s</string>