diff --git a/APED/app/src/main/java/com/example/aped/MainActivity.java b/APED/app/src/main/java/com/example/aped/MainActivity.java index ce937f4..96f1d79 100644 --- a/APED/app/src/main/java/com/example/aped/MainActivity.java +++ b/APED/app/src/main/java/com/example/aped/MainActivity.java @@ -4,6 +4,7 @@ import android.Manifest; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; +import android.net.Uri; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; diff --git a/APED/app/src/main/java/com/example/aped/ui/all_IOs/AllIOsFragment.java b/APED/app/src/main/java/com/example/aped/ui/all_IOs/AllIOsFragment.java index 20bd346..f43fc95 100644 --- a/APED/app/src/main/java/com/example/aped/ui/all_IOs/AllIOsFragment.java +++ b/APED/app/src/main/java/com/example/aped/ui/all_IOs/AllIOsFragment.java @@ -14,11 +14,8 @@ import androidx.fragment.app.Fragment; import com.android.volley.Response; import com.example.aped.MainActivity; import com.example.aped.R; - import org.json.JSONException; import org.json.JSONObject; - -import java.util.Dictionary; import java.util.List; diff --git a/APED/app/src/main/java/com/example/aped/ui/all_IOs/MainListViewAdapter.java b/APED/app/src/main/java/com/example/aped/ui/all_IOs/MainListViewAdapter.java index ebf6f4d..85992bd 100644 --- a/APED/app/src/main/java/com/example/aped/ui/all_IOs/MainListViewAdapter.java +++ b/APED/app/src/main/java/com/example/aped/ui/all_IOs/MainListViewAdapter.java @@ -5,20 +5,16 @@ import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.LinearLayout; -import android.widget.ListView; import android.widget.TextView; - import com.android.volley.Response; import com.example.aped.MainActivity; import com.example.aped.R; - import org.json.JSONException; import org.json.JSONObject; - -import java.io.LineNumberReader; import java.util.ArrayList; import java.util.List; + public class MainListViewAdapter extends BaseAdapter { private MainActivity mainActivity; @@ -34,7 +30,6 @@ public class MainListViewAdapter extends BaseAdapter { @Override public int getCount() { - int temp = mainActivity.xml.getDeviceNames().size(); return mainActivity.xml.getDeviceNames().size(); } @@ -92,17 +87,25 @@ public class MainListViewAdapter extends BaseAdapter { //textViewPin.setText(((List) (mainActivity.xml.getPort(mainActivity.xml.getDeviceNames().get(i))).get("pins")).get(0)); - mainActivity.uebergabe.read(mainActivity.xml.getDeviceNames().get(i), new Response.Listener() { + + + mainActivity.uebergabe.read(mainActivity.xml.getDeviceNames().get(i), + new Response.Listener() { @Override public void onResponse(final JSONObject response) { try { JSONObject state = response.getJSONObject("state"); List pinValues = new ArrayList<>(); - for(String pinName: ((List)mainActivity.xml.getPort(mainActivity.xml.getDeviceNames().get(i)).get("pins"))){ + for(String pinName: ((List)mainActivity.xml. + getPort(mainActivity.xml.getDeviceNames().get(i)). + get("pins"))){ pinValues.add(state.getString(pinName)); } - PinView pinView = new PinView(mainActivity,mainActivity.xml.getDeviceNames().get(i), pinValues); - for(int j = 0; j < ((List)mainActivity.xml.getPort(mainActivity.xml.getDeviceNames().get(i)).get("pins")).size(); j++) { + PinView pinView = new PinView(mainActivity,mainActivity.xml. + getDeviceNames().get(i), pinValues); + for(int j = 0; j < ((List)mainActivity.xml. + getPort(mainActivity.xml.getDeviceNames().get(i)). + get("pins")).size(); j++) { linearLayoutPin.addView(pinView.getView(j)); } } catch (JSONException e) { diff --git a/APED/app/src/main/java/com/example/aped/ui/all_IOs/PinView.java b/APED/app/src/main/java/com/example/aped/ui/all_IOs/PinView.java index 547c37d..a228454 100644 --- a/APED/app/src/main/java/com/example/aped/ui/all_IOs/PinView.java +++ b/APED/app/src/main/java/com/example/aped/ui/all_IOs/PinView.java @@ -1,13 +1,15 @@ package com.example.aped.ui.all_IOs; +import android.content.Intent; import android.view.View; -import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; - +import android.widget.Toast; +import com.android.volley.Response; import com.example.aped.MainActivity; import com.example.aped.R; - +import org.json.JSONException; +import org.json.JSONObject; import java.util.List; public class PinView { @@ -32,16 +34,78 @@ public class PinView { TextView textViewPin = (TextView) view.findViewById( R.id.textPin); - String pinState = pinValues.get(i); - - if(pinState.equals("1")) { - image=R.drawable.green_signal; - }else if (pinState.equals("0")) { - image = R.drawable.red_signal; - } else{ image = R.drawable.off_signal; } + switch (pinValues.get(i)){ + case "1": + image=R.drawable.green_signal; + break; + case "0": + image=R.drawable.red_signal; + break; + default: + image=R.drawable.off_signal; + break; + } imageView.setImageResource(image); + textViewPin.setText(((List) (mainActivity.xml.getPort(deviceName)).get("pins")).get(i)); + + + + view.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(final View view) { + if((mainActivity.xml.getPort(deviceName)).get("protocol").toString().equals("DO")) { + try {// Werte erst aktualisieren + String setState = null; + String test = pinValues.get(i); + if(pinValues.get(i).equals("0")) { + setState = "{\"output\": \"1\"}"; + }else{ + setState = "{\"output\": \"0\"}"; + } + JSONObject jsonObject = new JSONObject(setState); + mainActivity.uebergabe.write(deviceName, jsonObject, new Response.Listener() { + @Override + public void onResponse(JSONObject response) { + try { + if (!jsonObject.equals(response)) { + // Fehler + } + switch (response.getInt("output")){ + case 1: + image = R.drawable.green_signal; + break; + case 0: + image = R.drawable.red_signal; + break; + default: + image = R.drawable.off_signal; + break; + } + imageView.setImageResource(image); + + } catch (JSONException e) { + e.printStackTrace(); + } + } + }); + } catch (JSONException e) { + e.printStackTrace(); + } + + }else{ + Toast.makeText(mainActivity, deviceName + + " is not a output " , + Toast.LENGTH_SHORT).show(); + } + Intent intentneustart = mainActivity.getIntent(); + mainActivity.finish(); + mainActivity.startActivity(intentneustart); + } + }); + + return view; } }