diff --git a/APED/app/src/main/java/com/example/aped/ui/visualization/PinView.java b/APED/app/src/main/java/com/example/aped/ui/visualization/PinView.java index 048eaf1..00793e4 100644 --- a/APED/app/src/main/java/com/example/aped/ui/visualization/PinView.java +++ b/APED/app/src/main/java/com/example/aped/ui/visualization/PinView.java @@ -3,22 +3,16 @@ package com.example.aped.ui.visualization; import android.content.DialogInterface; import android.text.Html; import android.view.View; -import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; - -import androidx.annotation.NonNull; - import com.android.volley.Response; import com.example.aped.MainActivity; import com.example.aped.R; import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.slider.RangeSlider; - import org.json.JSONException; import org.json.JSONObject; - import java.util.ArrayList; import java.util.List; @@ -60,130 +54,162 @@ public class PinView { */ public View getView(final int i) { dutyValue = ""; - View view = mainActivity.getLayoutInflater().inflate(R.layout.pin_listview_layout, null); + View view = mainActivity.getLayoutInflater().inflate(R.layout. + pin_listview_layout, null); TextView textViewPin = (TextView) view.findViewById(R.id.textPin); - textViewPin.setText(((List) (mainActivity.xml.getPort(deviceName)).get("pins")).get(i)); - mainActivity.uebergabe.read(deviceName, new Response.Listener() { + textViewPin.setText(((List) (mainActivity.xml.getPort( + deviceName)).get("pins")).get(i)); + mainActivity.uebergabe.read(deviceName, new Response. + Listener() { @Override public void onResponse(final JSONObject response) { displayLamp(response, view, i); - if((mainActivity.xml.getPort(deviceName)).get("protocol").toString().equals("PWM")){ - textViewPin.setText(Html.fromHtml(((List) (mainActivity.xml.getPort(deviceName)).get("pins")).get(i)+" (DC: " + pinValues.get(i) + "%) ")); + if ((mainActivity.xml.getPort(deviceName)).get("protocol"). + toString().equals("PWM")) { + textViewPin.setText(Html.fromHtml(((List) + (mainActivity.xml.getPort(deviceName)).get("pins")). + get(i) + " (DC: " + pinValues.get(i) + "%) " + )); } } }); - view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(final View view) { - switch ((mainActivity.xml.getPort(deviceName)).get("protocol").toString()) { - case "DO": + switch ((mainActivity.xml.getPort(deviceName)).get("protocol"). + toString()) { + case "DO": try { - String setState = null; - if (pinValues.get(i).equals("0")) { - setState = "\"1\""; - } else { - setState = "\"0\""; - } - JSONObject jsonObject = new JSONObject("{\"output\":{\"" + ((List) (mainActivity.xml.getPort(deviceName)).get("pins")).get(i) + "\":" + setState + "}}"); - mainActivity.uebergabe.write(deviceName, jsonObject, new Response.Listener() { - @Override - public void onResponse(final JSONObject response) { - displayLamp(response, view, i); + String setState = null; + if (pinValues.get(i).equals("0")) { + setState = "\"1\""; + } else { + setState = "\"0\""; } - }); - } catch (JSONException e) { - e.printStackTrace(); - } + JSONObject jsonObject = new JSONObject( + "{\"output\":{\"" + ((List) + (mainActivity.xml.getPort( + deviceName)).get("pins")). + get(i) + "\":" + setState + "}}"); + mainActivity.uebergabe.write(deviceName, jsonObject, + new Response.Listener() { + @Override + public void onResponse(final JSONObject response + ) { + displayLamp(response, view, i); + } + }); + } catch (JSONException e) { + e.printStackTrace(); + } break; case "PWM": - MaterialAlertDialogBuilder alert = new MaterialAlertDialogBuilder(mainActivity); - View viewAlert = mainActivity.getLayoutInflater().inflate(R.layout.alert_dialog_pwm, null); - RangeSlider readDuty = (RangeSlider) viewAlert.findViewById(R.id.range_slider_duty); - readDuty.setValues((float) Float.valueOf(pinValues.get(i))); - alert.setView(viewAlert); - alert.setPositiveButton("set", - new DialogInterface.OnClickListener() { - public void onClick( - final DialogInterface dialog, final int which) { - int value = readDuty.getValues().get(0).intValue(); - try { - JSONObject jsonObject = new JSONObject("{\"output\":{\"" + ((List) (mainActivity.xml.getPort(deviceName)).get("pins")).get(i) + "\":\"" + value + "\"}}"); - mainActivity.uebergabe.write(deviceName, jsonObject, new Response.Listener() { - @Override - public void onResponse(JSONObject response) { - displayLamp(response, view, i); - textViewPin.setText(Html.fromHtml(((List) (mainActivity.xml.getPort(deviceName)).get("pins")).get(i)+" (DC: " + pinValues.get(i) + "%) ")); - } - }); - } catch (JSONException e) { - e.printStackTrace();// aaaaa + MaterialAlertDialogBuilder alert = + new MaterialAlertDialogBuilder(mainActivity); + View viewAlert = mainActivity.getLayoutInflater(). + inflate(R.layout.alert_dialog_pwm, null); + RangeSlider readDuty = (RangeSlider) viewAlert. + findViewById(R.id.range_slider_duty); + readDuty.setValues((float) Float.valueOf(pinValues. + get(i))); + alert.setView(viewAlert); + alert.setPositiveButton("set", + new DialogInterface.OnClickListener() { + public void onClick( + final DialogInterface dialog, + final int which) { + int value = readDuty.getValues().get(0). + intValue(); + try { + JSONObject jsonObject = + new JSONObject( + "{\"output\":{\"" + + ((List) + (mainActivity.xml. + getPort(deviceName)). + get("pins")).get(i) + + "\":\"" + value + + "\"}}"); + mainActivity.uebergabe.write( + deviceName, jsonObject, + new Response. + Listener() { + @Override + public void onResponse( + final JSONObject response) { + displayLamp(response, view, + i); + textViewPin.setText(Html. + fromHtml(( + (List) ( + mainActivity.xml. + getPort(deviceName)). + get("pins")).get(i) + + " (DC: " + + pinValues.get(i) + + "%) ")); + } + }); + } catch (JSONException e) { + e.printStackTrace(); // aaaaa + } + dialog.cancel(); } - // Write your code here to execute after dialog + }); + alert.setNegativeButton("exit", + new DialogInterface.OnClickListener() { + public void onClick( + final DialogInterface dialog, + final int which) { dialog.cancel(); - } - }); - alert.setNegativeButton("exit", new DialogInterface.OnClickListener() { - public void onClick( - final DialogInterface dialog, final int which) { - dialog.cancel(); - } - }); - alert.show(); - break; + } + }); + alert.show(); + break; default: - Toast.makeText(mainActivity, deviceName + " is not an output ", Toast.LENGTH_SHORT).show(); - break; + Toast.makeText(mainActivity, deviceName + + " is not an output ", Toast.LENGTH_SHORT). + show(); + break; } } }); - - - - - return view; + } - -} - - - private void displayLamp(final JSONObject response, final View view, final int i) { - ImageView imageView = (ImageView) view.findViewById(R.id.images); - try { - JSONObject state = response.getJSONObject("state"); - if (pinValues.size() != 0) { - pinValues.clear(); - } - for (String pinName: ((List) mainActivity.xml.getPort(deviceName).get("pins"))){ - pinValues.add(state.getString(pinName)); - } - switch (pinValues.get(i)) { - case "1": - image = R.drawable.green_signal; - break; - case "0": - image = R.drawable.red_signal; - break; - case "100": - image = R.drawable.green_signal; - break; - default: - image = R.drawable.off_signal; - break; - } - imageView.setImageResource(image); - - } catch (JSONException e) { - // Richtigen log erstellen - e.printStackTrace(); - } - + private void displayLamp(final JSONObject response, final View view, + final int i) { + ImageView imageView = (ImageView) view.findViewById(R.id.images); + try { + JSONObject state = response.getJSONObject("state"); + if (pinValues.size() != 0) { + pinValues.clear(); + } + for (String pinName: ((List) mainActivity.xml. + getPort(deviceName).get("pins"))) { + pinValues.add(state.getString(pinName)); + } + switch (pinValues.get(i)) { + case "1": + image = R.drawable.green_signal; + break; + case "0": + image = R.drawable.red_signal; + break; + case "100": + image = R.drawable.green_signal; + break; + default: + image = R.drawable.off_signal; + break; + } + imageView.setImageResource(image); + } catch (JSONException e) { + // Richtigen log erstellen + e.printStackTrace(); } - - - + } }