mirror of
https://github.com/Xcreen/RestSMS.git
synced 2026-04-18 06:07:40 -04:00
Added Start/Stop Logic
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user