Skip to content
Snippets Groups Projects
Select Git revision
  • main default protected
1 result

backTasks.java

Blame
  • backTasks.java 2.14 KiB
    package com.slprojects.pizzeria;
    
    import android.os.AsyncTask;
    import android.util.Log;
    
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.net.Socket;
    
    public class backTasks extends AsyncTask<String, Void, Void> {
        private Socket socket;
        private PrintWriter output;
        private BufferedReader input;
        private MainActivity activity;
    
        public backTasks (MainActivity activity){
            this.activity = activity;
        }
    
        @Override
        protected Void doInBackground(String... message) {
            int serverPort = 9874;
            String address = "chadok.info";
    
            try {
                Log.i("backTasks:", "Connecting to " + address + ":"+ serverPort + "...");
                socket = new Socket(address, serverPort);
                Log.i("backTasks:", "Connected");
    
                output = new PrintWriter(socket.getOutputStream(), true);
                input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    
                registerCommand(message[0]);
    
                // Ici on va tout simplement lire les messages du serveur
                // Et arrêter la boucle avec un flag
                String receviedMsg = "";
                Integer receivedFlag = 0;
                while(receivedFlag < 2){
                    receviedMsg = input.readLine();
                    if (receviedMsg != null){ // Si le message n'est pas null
                        Log.i("backTasks", "received message: " + receviedMsg);
                        receivedFlag++; // On incrémente le flag
                    }
                }
                String finalReceviedMsg = receviedMsg; // On stocke le message dans une variable final
                activity.runOnUiThread(() -> { // On lance le code sur l'UI Thread
                    activity.createAlertMessage(finalReceviedMsg, "Message de la cuisine"); // On affiche le message reçu
                });
            } catch (Exception x) {
                x.printStackTrace();
            }
            return null;
        }
    
        public void registerCommand(String command){
            if(output != null){
                Log.i("backTasks", "registered command: "+command);
                output.write(command);
                output.flush();
            }
    
        }
    }