diff --git a/app/src/debug/res/values/setup.xml b/app/src/debug/res/values/setup.xml
new file mode 100644
index 000000000000..046f7830a774
--- /dev/null
+++ b/app/src/debug/res/values/setup.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/nextcloud/client/account/UserAccountManagerImpl.java b/app/src/main/java/com/nextcloud/client/account/UserAccountManagerImpl.java
index 7557c393055b..fb748424d436 100644
--- a/app/src/main/java/com/nextcloud/client/account/UserAccountManagerImpl.java
+++ b/app/src/main/java/com/nextcloud/client/account/UserAccountManagerImpl.java
@@ -22,6 +22,7 @@
import com.nextcloud.common.NextcloudClient;
import com.nextcloud.utils.extensions.AccountExtensionsKt;
+import com.nmc.android.ui.LauncherActivity;
import com.owncloud.android.MainApp;
import com.owncloud.android.R;
import com.owncloud.android.authentication.AuthenticatorActivity;
@@ -398,6 +399,10 @@ private String getAccountType() {
@Override
public void startAccountCreation(final Activity activity) {
+ // NMC-3278 fix
+ // Splash screen should be shown properly before navigating to Login screen
+ if(activity instanceof LauncherActivity) return;
+
Intent intent = new Intent(context, AuthenticatorActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
diff --git a/app/src/main/java/com/owncloud/android/authentication/AuthenticatorActivity.java b/app/src/main/java/com/owncloud/android/authentication/AuthenticatorActivity.java
index f285b2abb635..5e0cdebacf85 100644
--- a/app/src/main/java/com/owncloud/android/authentication/AuthenticatorActivity.java
+++ b/app/src/main/java/com/owncloud/android/authentication/AuthenticatorActivity.java
@@ -388,7 +388,13 @@ public boolean onKeyDown(int keyCode, KeyEvent event) {
if (accountSetupWebviewBinding != null && event.getAction() == KeyEvent.ACTION_DOWN &&
keyCode == KeyEvent.KEYCODE_BACK) {
if (accountSetupWebviewBinding.loginWebview.canGoBack()) {
- accountSetupWebviewBinding.loginWebview.goBack();
+ // NMC-2602 Fix
+ // On back press "Webpage not available" error comes
+ // because login urls doesn't maintain the backstack hierarchy
+ // to solve it we are recreating the activity with the actual login url
+ // if user presses back from other urls which is not first or login url
+ // it will recreate the activity else it will finish the activity
+ recreate();
} else {
finish();
}
@@ -430,6 +436,10 @@ public boolean shouldOverrideUrlLoading(WebView view, String url) {
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
+ //scroll to top when url loads
+ //because directly loading Telekom login page it scrolls down automatically
+ view.scrollTo(0,0);
+
accountSetupWebviewBinding.loginWebviewProgressBar.setVisibility(View.GONE);
accountSetupWebviewBinding.loginWebview.setVisibility(View.VISIBLE);
diff --git a/app/src/main/java/com/owncloud/android/ui/activity/BaseActivity.java b/app/src/main/java/com/owncloud/android/ui/activity/BaseActivity.java
index 7a57b67b745b..563d073a8dc5 100644
--- a/app/src/main/java/com/owncloud/android/ui/activity/BaseActivity.java
+++ b/app/src/main/java/com/owncloud/android/ui/activity/BaseActivity.java
@@ -115,7 +115,10 @@ protected void onNewIntent(Intent intent) {
protected void onRestart() {
Log_OC.v(TAG, "onRestart() start");
super.onRestart();
- mixinRegistry.onRestart();
+ //Fix of NMC-2303 and NMC-2441
+ if (enableAccountHandling) {
+ mixinRegistry.onRestart();
+ }
}
private void onThemeSettingsModeChanged() {
diff --git a/app/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java b/app/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java
index 13d6230800d4..acd4d5005c47 100644
--- a/app/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java
+++ b/app/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java
@@ -1220,7 +1220,8 @@ protected void onStop() {
@Subscribe(threadMode = ThreadMode.MAIN)
public void onAccountRemovedEvent(AccountRemovedEvent event) {
- restart();
+ //NMC customization
+ finish();
}
/**
diff --git a/app/src/release/res/values/setup.xml b/app/src/release/res/values/setup.xml
new file mode 100644
index 000000000000..a4600f0ff88a
--- /dev/null
+++ b/app/src/release/res/values/setup.xml
@@ -0,0 +1,5 @@
+
+
+
+ https://magentacloud.de/index.php/login/flow
+
\ No newline at end of file