diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/app/TabletAndDesktopApplicationClientFactory.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/app/TabletAndDesktopApplicationClientFactory.java old mode 100755 new mode 100644 index 621a89a51f9..bc72f8cf2f9 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/app/TabletAndDesktopApplicationClientFactory.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/app/TabletAndDesktopApplicationClientFactory.java @@ -39,6 +39,7 @@ import com.sap.sse.security.ui.authentication.AuthenticationManagerImpl; import com.sap.sse.security.ui.authentication.AuthenticationPlaceManagementController; import com.sap.sse.security.ui.authentication.WrappedPlaceManagementController; import com.sap.sse.security.ui.authentication.info.LoggedInUserInfoPlace; +import com.sap.sse.security.ui.authentication.login.LoginPopup; import com.sap.sse.security.ui.authentication.view.FlyoutAuthenticationPresenter; import com.sap.sse.security.ui.client.UserStatusEventHandler; import com.sap.sse.security.ui.client.i18n.StringMessages; @@ -91,7 +92,12 @@ public class TabletAndDesktopApplicationClientFactory extends AbstractApplicatio @Override public void onUserStatusChange(UserDTO user) { - checkNewUserPopup(user, true, () -> placesNavigator.goToPlace(placesNavigator.getMoreLoginInfo())); + checkNewUserPopup(user, () -> new LoginPopup(true, () -> { + setUserLoginHintToStorage(); + }, () -> { + setUserLoginHintToStorage(); + placesNavigator.goToPlace(placesNavigator.getMoreLoginInfo()); + }).show()); } }, true); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/app/MobileApplicationClientFactory.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/app/MobileApplicationClientFactory.java index 5e3abdb13ca..39819283c76 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/app/MobileApplicationClientFactory.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/app/MobileApplicationClientFactory.java @@ -32,6 +32,7 @@ import com.sap.sse.security.ui.authentication.AuthenticationManager; import com.sap.sse.security.ui.authentication.AuthenticationManagerImpl; import com.sap.sse.security.ui.authentication.WithAuthenticationManager; import com.sap.sse.security.ui.authentication.WithUserService; +import com.sap.sse.security.ui.authentication.login.LoginPopup; import com.sap.sse.security.ui.client.SecureClientFactoryImpl; import com.sap.sse.security.ui.client.UserStatusEventHandler; import com.sap.sse.security.ui.client.i18n.StringMessages; @@ -83,7 +84,12 @@ public class MobileApplicationClientFactory extends @Override public void onUserStatusChange(UserDTO user) { - checkNewUserPopup(user, false, () -> navigator.goToPlace(navigator.getMoreLoginInfo())); + checkNewUserPopup(user, () -> new LoginPopup(false, () -> { + setUserLoginHintToStorage(); + }, () -> { + setUserLoginHintToStorage(); + navigator.goToPlace(navigator.getMoreLoginInfo()); + }).show()); } }, true); } diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/SecureClientFactoryImpl.java b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/SecureClientFactoryImpl.java index b364536a897..1796bf4d66b 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/SecureClientFactoryImpl.java +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/SecureClientFactoryImpl.java @@ -11,7 +11,6 @@ import com.sap.sse.common.TimePoint; import com.sap.sse.common.impl.MillisecondsTimePoint; import com.sap.sse.gwt.client.mvp.ClientFactoryImpl; import com.sap.sse.gwt.client.mvp.TopLevelView; -import com.sap.sse.security.ui.authentication.login.LoginPopup; import com.sap.sse.security.ui.shared.UserDTO; /** @@ -50,7 +49,7 @@ public abstract class SecureClientFactoryImpl extends return securityProvider.getUserService(); } - protected void checkNewUserPopup(UserDTO user, boolean desktop, Runnable gotoMoreInfo) { + protected void checkNewUserPopup(UserDTO user, Runnable newUserRunnable) { final TimePoint currentTime = MillisecondsTimePoint.now(); if (user != null) { setUserLoginHintToStorage(); @@ -58,12 +57,7 @@ public abstract class SecureClientFactoryImpl extends final TimePoint lastLoginOrSupression = parseLastNewUserSupression(); if (lastLoginOrSupression == null || lastLoginOrSupression.plus(SUPRESSION_DELAY).before(currentTime)) { - new LoginPopup(desktop, () -> { - setUserLoginHintToStorage(); - }, () -> { - setUserLoginHintToStorage(); - gotoMoreInfo.run(); - }).show(); + newUserRunnable.run(); } else { log.fine("No logininfo required, user was logged in recently, or clicked dismiss " + lastLoginOrSupression + " cur " + currentTime); @@ -88,7 +82,7 @@ public abstract class SecureClientFactoryImpl extends return lastLoginOrSupression; } - private void setUserLoginHintToStorage() { + protected void setUserLoginHintToStorage() { final Storage storage = Storage.getLocalStorageIfSupported(); if(storage != null) { storage.setItem(STORAGE_KEY_FOR_USER_LOGIN_HINT, String.valueOf(MillisecondsTimePoint.now().asMillis()));