Skip to content
Snippets Groups Projects
Commit e57691a6 authored by fpeterfalvi's avatar fpeterfalvi
Browse files

Merge branch 'ClientGameActivity' of...

Merge branch 'ClientGameActivity' of https://git.sch.bme.hu/KGregPFerenc/AndroidOnlabKviz2018 into ClientGameActivity
parents c99a1b7c b5d7970f
No related branches found
No related tags found
No related merge requests found
...@@ -52,7 +52,7 @@ public class LobbyActivity extends AppCompatActivity implements ServerConnection ...@@ -52,7 +52,7 @@ public class LobbyActivity extends AppCompatActivity implements ServerConnection
private ArrayList<Thread> threads; private ArrayList<Thread> threads;
private RecyclerView recyclerView; private RecyclerView recyclerView;
private ServerListAdapter adapter; private ServerListAdapter adapter = null;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
...@@ -85,38 +85,14 @@ public class LobbyActivity extends AppCompatActivity implements ServerConnection ...@@ -85,38 +85,14 @@ public class LobbyActivity extends AppCompatActivity implements ServerConnection
@Override @Override
protected void onPause() { 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(); super.onPause();
} }
@Override @Override
protected void onResume() { protected void onResume() {
super.onResume();
initRecyclerView(); initRecyclerView();
if (mNsdManager != null && !discovering) { super.onResume();
mNsdManager.discoverServices(
SERVICE_TYPE, NsdManager.PROTOCOL_DNS_SD, mDiscoveryListener);
discovering = true;
}
} }
...@@ -126,6 +102,17 @@ public class LobbyActivity extends AppCompatActivity implements ServerConnection ...@@ -126,6 +102,17 @@ public class LobbyActivity extends AppCompatActivity implements ServerConnection
mNsdManager.stopServiceDiscovery(mDiscoveryListener); mNsdManager.stopServiceDiscovery(mDiscoveryListener);
discovering = false; 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(); super.onDestroy();
...@@ -403,6 +390,7 @@ public class LobbyActivity extends AppCompatActivity implements ServerConnection ...@@ -403,6 +390,7 @@ public class LobbyActivity extends AppCompatActivity implements ServerConnection
private void initRecyclerView() { private void initRecyclerView() {
recyclerView = (RecyclerView) findViewById(R.id.MainRecyclerView); recyclerView = (RecyclerView) findViewById(R.id.MainRecyclerView);
if(adapter == null)
adapter = new ServerListAdapter(this); adapter = new ServerListAdapter(this);
recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.addItemDecoration(new DividerItemDecoration(this, LinearLayoutManager.VERTICAL)); recyclerView.addItemDecoration(new DividerItemDecoration(this, LinearLayoutManager.VERTICAL));
......
...@@ -5,7 +5,7 @@ import java.net.Socket; ...@@ -5,7 +5,7 @@ import java.net.Socket;
import onlab.kvizclient.model.ServerModel; import onlab.kvizclient.model.ServerModel;
public class ServerHolder { public class ServerHolder {
private static ServerModel serverModel; private static ServerModel serverModel = null;
public static Socket getSocket() { public static Socket getSocket() {
return serverModel.getSocket(); return serverModel.getSocket();
......
...@@ -115,16 +115,22 @@ public class LobbyActivity extends AppCompatActivity { ...@@ -115,16 +115,22 @@ public class LobbyActivity extends AppCompatActivity {
@Override @Override
protected void onPause() { protected void onPause() {
try { super.onPause();
serverSocket.close(); }
} catch (IOException e) {
e.printStackTrace(); @Override
protected void onResume() {
super.onResume();
initRecyclerView();
} }
@Override
protected void onDestroy() {
if (mNsdManager != null && registred) { if (mNsdManager != null && registred) {
mNsdManager.unregisterService(mRegistrationListener); mNsdManager.unregisterService(mRegistrationListener);
registred = false; registred = false;
for (ClientModel client : allclients) { for (ClientModel client : allclients) {
boolean req = true; boolean req = true;
for(ClientModel c : clients) for(ClientModel c : clients)
...@@ -139,28 +145,6 @@ public class LobbyActivity extends AppCompatActivity { ...@@ -139,28 +145,6 @@ public class LobbyActivity extends AppCompatActivity {
for (Thread thread : threads) { for (Thread thread : threads) {
thread.interrupt(); 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 { try {
serverSocket.close(); serverSocket.close();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment