Added Start/Stop Logic

This commit is contained in:
Xcreen
2018-09-27 13:07:55 +02:00
parent 919b9d48cf
commit f667e378df
3 changed files with 86 additions and 11 deletions

View File

@@ -7,6 +7,7 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Toast;
public class HomeFragment extends Fragment {
@@ -28,20 +29,52 @@ public class HomeFragment extends Fragment {
toggleServerBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new Thread(new Runnable() {
@Override
public void run() {
try {
appContext.smsServer.start();
//Check if Server is running
if(appContext.smsServer.isRunning() && !appContext.smsServer.isStopping()){
//Stop Server
new Thread(new Runnable() {
@Override
public void run() {
try {
appContext.smsServer.stop();
}
catch (Exception ex){
ex.printStackTrace();
}
}
catch (Exception ex){
ex.printStackTrace();
}).start();
//Switch Button-Text
toggleServerBtn.setText(getResources().getText(R.string.start_server));
}
else if(!appContext.smsServer.isStopping()){
//Start Server
new Thread(new Runnable() {
@Override
public void run() {
try {
appContext.smsServer.start();
}
catch (Exception ex){
ex.printStackTrace();
Toast.makeText(getContext(), getResources().getText(R.string.server_failed_to_start), Toast.LENGTH_SHORT).show();
}
}
}
}).start();
}).start();
//Switch Button-Text
toggleServerBtn.setText(getResources().getText(R.string.stop_server));
}
else{
//Server is stopping
Toast.makeText(getContext(), getResources().getText(R.string.server_is_stopping), Toast.LENGTH_SHORT).show();
}
}
});
//Check Server is running, to set correct Button-Text
if(appContext.smsServer.isRunning()){
toggleServerBtn.setText(getResources().getText(R.string.stop_server));
}
return rootView;
}
}

View File

@@ -24,9 +24,49 @@ public class SMSServer {
jettyServer.join();
}
/**
* Stopping Jetty-Server
* @throws Exception - Jetty Exception
*/
public void stop() throws Exception{
Log.i("SMS-Server", "Stopping Server...");
jettyServer.stop();
if(jettyServer != null) {
Log.i("SMS-Server", "Stopping Server...");
jettyServer.stop();
}
}
/**
* Checks if the Jetty is running
* @return boolean - true when server is running/starting/stopping, false otherwise
*/
public boolean isRunning(){
if(jettyServer != null){
if(jettyServer.isRunning()){
return true;
}
else if(jettyServer.isStopping()){
return true;
}
else{
return false;
}
}
else{
return false;
}
}
/**
* Checks if Jetty is stopping
* @return boolean - True when server is stopping
*/
public boolean isStopping(){
if(jettyServer != null) {
return jettyServer.isStopping();
}
else{
return false;
}
}
/**

View File

@@ -12,4 +12,6 @@
<string name="start_server">Start Server</string>
<string name="stop_server">Stop Server</string>
<string name="server_is_stopping">Server is shutting down. Please wait.</string>
<string name="server_failed_to_start">Server failed to start!</string>
</resources>