From b8d0fb614983242655ff498525bddbd020ed1ba8 Mon Sep 17 00:00:00 2001
From: KGreg <kgreg314@gmail.com>
Date: Sat, 7 Apr 2018 21:03:13 +0200
Subject: [PATCH] Pause/Resume

---
 .../java/onlab/kvizclient/LobbyActivity.java  | 44 +++++++------------
 .../java/onlab/kvizclient/ServerHolder.java   |  2 +-
 .../java/onlab/kvizserver/LobbyActivity.java  | 40 +++++------------
 3 files changed, 29 insertions(+), 57 deletions(-)

diff --git a/KvizClient/app/src/main/java/onlab/kvizclient/LobbyActivity.java b/KvizClient/app/src/main/java/onlab/kvizclient/LobbyActivity.java
index 389c79c..8e07e86 100644
--- a/KvizClient/app/src/main/java/onlab/kvizclient/LobbyActivity.java
+++ b/KvizClient/app/src/main/java/onlab/kvizclient/LobbyActivity.java
@@ -52,7 +52,7 @@ public class LobbyActivity extends AppCompatActivity implements ServerConnection
     private ArrayList<Thread> threads;
 
     private RecyclerView recyclerView;
-    private ServerListAdapter adapter;
+    private ServerListAdapter adapter = null;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -85,38 +85,14 @@ public class LobbyActivity extends AppCompatActivity implements ServerConnection
 
     @Override
     protected void onPause() {
-        if (mNsdManager != null && discovering) {
-            mNsdManager.stopServiceDiscovery(mDiscoveryListener);
-            discovering = false;
-
-
-            for (ServerModel server : servers) {
-                if(ServerHolder.getSocket() != server.getSocket() || exit)
-                    SendConnectionLost(server);
-                if(exit)
-                    ServerHolder.setServerModel(null);
-            }
-
-
-            for (Thread thread : threads) {
-                thread.interrupt();
-            }
-
-
-
-        }
         super.onPause();
     }
 
     @Override
     protected void onResume() {
-        super.onResume();
         initRecyclerView();
-        if (mNsdManager != null && !discovering) {
-            mNsdManager.discoverServices(
-                    SERVICE_TYPE, NsdManager.PROTOCOL_DNS_SD, mDiscoveryListener);
-            discovering = true;
-        }
+        super.onResume();
+
 
     }
 
@@ -126,6 +102,17 @@ public class LobbyActivity extends AppCompatActivity implements ServerConnection
             mNsdManager.stopServiceDiscovery(mDiscoveryListener);
             discovering = false;
 
+            for (ServerModel server : servers) {
+                if(exit || ServerHolder.getSocket() != server.getSocket())
+                    SendConnectionLost(server);
+                if(exit)
+                    ServerHolder.setServerModel(null);
+            }
+
+
+            for (Thread thread : threads) {
+                thread.interrupt();
+            }
 
         }
         super.onDestroy();
@@ -403,7 +390,8 @@ public class LobbyActivity extends AppCompatActivity implements ServerConnection
 
     private void initRecyclerView() {
         recyclerView = (RecyclerView) findViewById(R.id.MainRecyclerView);
-        adapter = new ServerListAdapter(this);
+        if(adapter == null)
+            adapter = new ServerListAdapter(this);
         recyclerView.setLayoutManager(new LinearLayoutManager(this));
         recyclerView.addItemDecoration(new DividerItemDecoration(this, LinearLayoutManager.VERTICAL));
         recyclerView.setAdapter(adapter);
diff --git a/KvizClient/app/src/main/java/onlab/kvizclient/ServerHolder.java b/KvizClient/app/src/main/java/onlab/kvizclient/ServerHolder.java
index bec71da..6fadbc8 100644
--- a/KvizClient/app/src/main/java/onlab/kvizclient/ServerHolder.java
+++ b/KvizClient/app/src/main/java/onlab/kvizclient/ServerHolder.java
@@ -5,7 +5,7 @@ import java.net.Socket;
 import onlab.kvizclient.model.ServerModel;
 
 public class ServerHolder {
-    private static ServerModel serverModel;
+    private static ServerModel serverModel = null;
 
     public static Socket getSocket() {
         return serverModel.getSocket();
diff --git a/KvizServer/app/src/main/java/onlab/kvizserver/LobbyActivity.java b/KvizServer/app/src/main/java/onlab/kvizserver/LobbyActivity.java
index 8489950..a5c596b 100644
--- a/KvizServer/app/src/main/java/onlab/kvizserver/LobbyActivity.java
+++ b/KvizServer/app/src/main/java/onlab/kvizserver/LobbyActivity.java
@@ -115,16 +115,22 @@ public class LobbyActivity extends AppCompatActivity {
 
     @Override
     protected void onPause() {
-        try {
-            serverSocket.close();
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
+        super.onPause();
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        initRecyclerView();
+
+    }
+
+    @Override
+    protected void onDestroy() {
         if (mNsdManager != null && registred) {
             mNsdManager.unregisterService(mRegistrationListener);
             registred = false;
 
-
             for (ClientModel client : allclients) {
                 boolean req = true;
                 for(ClientModel c : clients)
@@ -139,28 +145,6 @@ public class LobbyActivity extends AppCompatActivity {
             for (Thread thread : threads) {
                 thread.interrupt();
             }
-
-
-        }
-        super.onPause();
-    }
-
-    @Override
-    protected void onResume() {
-        super.onResume();
-        initRecyclerView();
-        if (mNsdManager != null && !registred) {
-            registerService(9000);
-            registred = true;
-        }
-
-    }
-
-    @Override
-    protected void onDestroy() {
-        if (mNsdManager != null && registred) {
-            mNsdManager.unregisterService(mRegistrationListener);
-            registred = false;
         }
         try {
             serverSocket.close();
-- 
GitLab