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);
changeFragment(newFragment);
registerSync();
}
private void registerSync() {
@@ -659,8 +658,11 @@ public class MainActivity extends AppCompatActivity
@Override
public void onLogin(LoginToken token) {
public void onLogin(LoginToken token, boolean isOnlyRefresh) {
toLoginState(token.getFullName(), token.getEmail(), getDefaultFragmentAfterLogin());
if (!isOnlyRefresh) {
registerSync();
}
}
@Override

View File

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

View File

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

View File

@@ -93,7 +93,7 @@
<string name="error_field_required">Pflichtfeld</string>
<string name="kvv_sync">KVV-Synchronisation</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="assignment_updated">Aufgabe aktualisiert: %1$s</string>
<string name="event_updated">Event aktualisiert: %1$s</string>