From b28e851685e79b3a215cb6d41ade454aee8932f1 Mon Sep 17 00:00:00 2001
From: Nitorac <nitorac.r@gmail.com>
Date: Wed, 7 Oct 2020 03:46:02 +0200
Subject: [PATCH] Corrected some bugs in init phase

---
 app/src/main/java/fr/nitorac/aurionweb/MainActivity.java   | 7 -------
 .../java/fr/nitorac/aurionweb/aurionweb/AurionManager.java | 5 +++++
 .../fr/nitorac/aurionweb/fragments/AurionViewFragment.java | 4 ++--
 .../fr/nitorac/aurionweb/security/SecurityManager.java     | 3 +++
 4 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/app/src/main/java/fr/nitorac/aurionweb/MainActivity.java b/app/src/main/java/fr/nitorac/aurionweb/MainActivity.java
index cf4a05a..d1e48ad 100644
--- a/app/src/main/java/fr/nitorac/aurionweb/MainActivity.java
+++ b/app/src/main/java/fr/nitorac/aurionweb/MainActivity.java
@@ -1,14 +1,12 @@
 package fr.nitorac.aurionweb;
 
 import android.os.Bundle;
-import android.util.SparseArray;
 import android.view.Menu;
 import android.view.MenuInflater;
 import android.view.MenuItem;
 import android.widget.Toast;
 
 import androidx.appcompat.app.AppCompatActivity;
-import androidx.fragment.app.Fragment;
 import androidx.navigation.NavController;
 import androidx.navigation.Navigation;
 import androidx.navigation.ui.NavigationUI;
@@ -27,11 +25,6 @@ public class MainActivity extends AppCompatActivity {
 
     private static MainActivity mainActivity;
 
-    public final static String SAVED_STATE_CONTAINER_KEY = "ContainerKey";
-    public final static String SAVED_STATE_CURRENT_TAB_KEY = "CurrentTabKey";
-    private SparseArray<Fragment.SavedState> savedStateSparseArray = new SparseArray<>();
-    private int currentSelectedId = R.id.navigation_home;
-
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         mainActivity = this;
diff --git a/app/src/main/java/fr/nitorac/aurionweb/aurionweb/AurionManager.java b/app/src/main/java/fr/nitorac/aurionweb/aurionweb/AurionManager.java
index 91c1a1e..d4f32c3 100644
--- a/app/src/main/java/fr/nitorac/aurionweb/aurionweb/AurionManager.java
+++ b/app/src/main/java/fr/nitorac/aurionweb/aurionweb/AurionManager.java
@@ -41,6 +41,10 @@ public class AurionManager {
             session = new AurionSession();
         }
 
+        if(cred.getLogin().isEmpty() || cred.getPlainPwd().isEmpty()){
+            return false;
+        }
+
         try {
             initConnection(session, cred.getLogin(), cred.getPlainPwd());
             return true;
@@ -205,6 +209,7 @@ public class AurionManager {
                     }catch (Exception e){
                         Toast.makeText(c, "Impossible de sauver les paramètres (Erreur : " + e.getLocalizedMessage() + ")", Toast.LENGTH_LONG).show();
                     }
+                    callback.accept(null);
                 }else{
                     Toast.makeText(c, "Mauvais mot de passe ou erreur de connexion !", Toast.LENGTH_LONG).show();
                 }
diff --git a/app/src/main/java/fr/nitorac/aurionweb/fragments/AurionViewFragment.java b/app/src/main/java/fr/nitorac/aurionweb/fragments/AurionViewFragment.java
index df7ebf8..6672690 100644
--- a/app/src/main/java/fr/nitorac/aurionweb/fragments/AurionViewFragment.java
+++ b/app/src/main/java/fr/nitorac/aurionweb/fragments/AurionViewFragment.java
@@ -52,8 +52,8 @@ public abstract class AurionViewFragment extends Fragment {
                 preload();
             }else{
                 AurionManager.getInstance().spawnLoginDialog(getContext(), (ignored) ->{
-                    setCookie();
-                    preload();
+                    currentSession.clear();
+                    initLoad();
                 });
             }
         }, this::networkInit);
diff --git a/app/src/main/java/fr/nitorac/aurionweb/security/SecurityManager.java b/app/src/main/java/fr/nitorac/aurionweb/security/SecurityManager.java
index 1950f9b..6d710d3 100644
--- a/app/src/main/java/fr/nitorac/aurionweb/security/SecurityManager.java
+++ b/app/src/main/java/fr/nitorac/aurionweb/security/SecurityManager.java
@@ -28,6 +28,9 @@ public class SecurityManager {
 
     public static void loadSavedCreds(Context c) throws GeneralSecurityException, IOException {
         creds = StorageManager.getInstance().getCreds(c);
+        if(creds == null){
+            creds = new AurionCred();
+        }
     }
 
     public static SecurityHelper getSecurityHelper(Context c) throws GeneralSecurityException, IOException {
-- 
GitLab