From 4bfc42e8c46d71526c701d987dce2c9fa8b6c0f9 Mon Sep 17 00:00:00 2001
From: SofianeLasri <alasri250@gmail.com>
Date: Mon, 21 Feb 2022 12:15:34 +0100
Subject: [PATCH] partie 5 conn

---
 .idea/misc.xml                                |  2 +-
 app/src/main/AndroidManifest.xml              |  5 ++
 .../com/slprojects/pizzeria/MainActivity.java | 11 +++-
 .../com/slprojects/pizzeria/backTasks.java    | 51 +++++++++++++++++++
 build.gradle                                  |  4 +-
 5 files changed, 69 insertions(+), 4 deletions(-)
 create mode 100644 app/src/main/java/com/slprojects/pizzeria/backTasks.java

diff --git a/.idea/misc.xml b/.idea/misc.xml
index 2afd246..e893483 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -3,7 +3,7 @@
   <component name="DesignSurface">
     <option name="filePathToZoomLevelMap">
       <map>
-        <entry key="..\:/Git/application-android-iut/app/src/main/res/layout-land/activity_main.xml" value="0.1" />
+        <entry key="..\:/Git/application-android-iut/app/src/main/res/layout-land/activity_main.xml" value="0.19635416666666666" />
         <entry key="..\:/Git/application-android-iut/app/src/main/res/layout/activity_main.xml" value="0.176" />
         <entry key="..\:/Git/application-android-iut/app/src/main/res/layout/activity_num_table.xml" value="0.264" />
         <entry key="..\:/Z IUT Orsay/AndroidStudioProjects/Pizzeria/app/src/main/res/layout-land/activity_main.xml" value="0.1" />
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3b26bf8..90169b1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -23,4 +23,9 @@
             android:exported="true" />
     </application>
 
+    <uses-permission
+        android:name="android.permission.INTERNET" />
+    <uses-permission
+        android:name="android.permission.ACCESS_NETWORK_STATE" />
+
 </manifest>
\ No newline at end of file
diff --git a/app/src/main/java/com/slprojects/pizzeria/MainActivity.java b/app/src/main/java/com/slprojects/pizzeria/MainActivity.java
index d70a804..f090909 100644
--- a/app/src/main/java/com/slprojects/pizzeria/MainActivity.java
+++ b/app/src/main/java/com/slprojects/pizzeria/MainActivity.java
@@ -1,5 +1,7 @@
 package com.slprojects.pizzeria;
 
+import static com.slprojects.pizzeria.NumTable.numTable;
+
 import androidx.annotation.NonNull;
 import androidx.appcompat.app.AppCompatActivity;
 
@@ -18,6 +20,8 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
     private ArrayList<Integer> idIndexes;
     private ArrayList<Integer> numCommands;
     private ArrayList<String> nomBoutons;
+    private int numTable;
+    private backTasks tacheDeFond;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -27,7 +31,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
         Intent intent = getIntent();
 
         // On récupère le num de la table
-        int numTable = intent.getIntExtra(NumTable.numTable, 1);
+        numTable = intent.getIntExtra(NumTable.numTable, 1);
         TextView textView = findViewById(R.id.textNumTable);
         String numTableText = textView.getText().toString() + numTable;
         textView.setText(numTableText);
@@ -67,6 +71,8 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
             // On réserve les espaces pour les commandes
             boutons.forEach((btn) -> numCommands.add(idIndexes.indexOf(btn.getId()), 0));
         }
+        tacheDeFond = new backTasks();
+        tacheDeFond.execute();
     }
 
     @Override
@@ -80,6 +86,9 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
             Button bouton = boutons.get(idIndexes.indexOf(v.getId()));
             numCommands.set(idIndexes.indexOf(v.getId()), numCommands.get(idIndexes.indexOf(v.getId()))+1);
             setButtonText(bouton);
+
+            // Envoie de la commande
+            tacheDeFond.registerCommand(numTable+nomBoutons.get(idIndexes.indexOf(v.getId())));
         }catch ( Exception e ){
             Log.e("Erreur", e.getMessage());
         }
diff --git a/app/src/main/java/com/slprojects/pizzeria/backTasks.java b/app/src/main/java/com/slprojects/pizzeria/backTasks.java
new file mode 100644
index 0000000..aae53be
--- /dev/null
+++ b/app/src/main/java/com/slprojects/pizzeria/backTasks.java
@@ -0,0 +1,51 @@
+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.InetAddress;
+import java.net.Socket;
+
+public class backTasks extends AsyncTask {
+    private Socket socket;
+    private PrintWriter output;
+    private BufferedReader input;
+
+    @Override
+    protected Object doInBackground(Object[] objects) {
+        int serverPort = 9874;
+        String address = "chadok.info";
+
+        try {
+            InetAddress ipAddress = InetAddress.getByName(address);
+            Log.i("backTasks:", "Connecting to " + address + ":"+ serverPort + "...");
+            socket = new Socket(ipAddress, serverPort);
+            Log.i("backTasks:", "Connected");
+
+            output = new PrintWriter(socket.getOutputStream(), true);
+            input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
+
+            while(true){
+                String message = input.readLine();
+                if (message != null){
+                    Log.i("backTasks", "received message: " + message);
+                }
+            }
+
+        } catch (Exception x) {
+            x.printStackTrace();
+        }
+        return null;
+    }
+
+    public void registerCommand(String command){
+        if(output != null){
+            Log.i("backTasks", "registered command: "+command);
+            output.write(command);
+        }
+
+    }
+}
diff --git a/build.gradle b/build.gradle
index eb06d7b..b0e1af8 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,7 +1,7 @@
 // Top-level build file where you can add configuration options common to all sub-projects/modules.
 plugins {
-    id 'com.android.application' version '7.1.0' apply false
-    id 'com.android.library' version '7.1.0' apply false
+    id 'com.android.application' version '7.1.1' apply false
+    id 'com.android.library' version '7.1.1' apply false
 }
 
 task clean(type: Delete) {
-- 
GitLab