From fcca066969a69a7784a79f5282629ccc6a115a9f Mon Sep 17 00:00:00 2001 From: m_broelemann Date: Sun, 3 Jan 2021 23:43:39 +0100 Subject: [PATCH] =?UTF-8?q?Umstruckturierung=20und=20hinzuf=C3=BCgung=20de?= =?UTF-8?q?r=20Favoriten=20Ansicht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../aped/ui/all_IOs/AllIOsFragment.java | 4 +- .../ui/favorite_IOs/FavoriteIOsFragment.java | 40 ++++++++++++ .../package-info.java | 2 +- .../MainListViewAdapter.java | 62 +++++++++++++++---- .../{all_IOs => visualization}/PinView.java | 4 +- .../aped/ui/your_IOs/YourIOsFragment.java | 45 -------------- .../src/main/res/layout/fragment_your_ios.xml | 2 +- .../main/res/navigation/mobile_navigation.xml | 2 +- 8 files changed, 97 insertions(+), 64 deletions(-) create mode 100644 APED/app/src/main/java/com/example/aped/ui/favorite_IOs/FavoriteIOsFragment.java rename APED/app/src/main/java/com/example/aped/ui/{your_IOs => favorite_IOs}/package-info.java (53%) rename APED/app/src/main/java/com/example/aped/ui/{all_IOs => visualization}/MainListViewAdapter.java (62%) rename APED/app/src/main/java/com/example/aped/ui/{all_IOs => visualization}/PinView.java (96%) delete mode 100644 APED/app/src/main/java/com/example/aped/ui/your_IOs/YourIOsFragment.java 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 f43fc95..47759de 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,6 +14,8 @@ import androidx.fragment.app.Fragment; import com.android.volley.Response; import com.example.aped.MainActivity; import com.example.aped.R; +import com.example.aped.ui.visualization.MainListViewAdapter; + import org.json.JSONException; import org.json.JSONObject; import java.util.List; @@ -48,7 +50,7 @@ public class AllIOsFragment extends Fragment { View view = inflater.inflate(R.layout.fragment_all_ios, container, false); ListView lv = (ListView) view.findViewById(R.id.idListView); - MainListViewAdapter mainListViewAdapter = new MainListViewAdapter(mainActivity); + MainListViewAdapter mainListViewAdapter = new MainListViewAdapter(mainActivity,0); lv.setAdapter(mainListViewAdapter); return view; } diff --git a/APED/app/src/main/java/com/example/aped/ui/favorite_IOs/FavoriteIOsFragment.java b/APED/app/src/main/java/com/example/aped/ui/favorite_IOs/FavoriteIOsFragment.java new file mode 100644 index 0000000..52dbfe2 --- /dev/null +++ b/APED/app/src/main/java/com/example/aped/ui/favorite_IOs/FavoriteIOsFragment.java @@ -0,0 +1,40 @@ +package com.example.aped.ui.favorite_IOs; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ListView; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; + +import com.example.aped.MainActivity; +import com.example.aped.R; +import com.example.aped.ui.visualization.MainListViewAdapter; + +public class FavoriteIOsFragment extends Fragment { + /** + * Einbinden der MainActivity. + */ + private MainActivity mainActivity; + /** + * + * @param inflater + * @param container + * @param savedInstanceState + * @return root + */ + public View onCreateView(final @NonNull LayoutInflater inflater, + final ViewGroup container, + final Bundle savedInstanceState) { + this.mainActivity = (MainActivity) getActivity(); + View view = inflater.inflate(R.layout.fragment_all_ios, container, + false); + ListView lv = (ListView) view.findViewById(R.id.idListView); + MainListViewAdapter mainListViewAdapter = new MainListViewAdapter(mainActivity,1); + lv.setAdapter(mainListViewAdapter); + + return view; + } +} diff --git a/APED/app/src/main/java/com/example/aped/ui/your_IOs/package-info.java b/APED/app/src/main/java/com/example/aped/ui/favorite_IOs/package-info.java similarity index 53% rename from APED/app/src/main/java/com/example/aped/ui/your_IOs/package-info.java rename to APED/app/src/main/java/com/example/aped/ui/favorite_IOs/package-info.java index e20666e..f47828a 100644 --- a/APED/app/src/main/java/com/example/aped/ui/your_IOs/package-info.java +++ b/APED/app/src/main/java/com/example/aped/ui/favorite_IOs/package-info.java @@ -1,5 +1,5 @@ /** * Package for the IO user interface. * */ -package com.example.aped.ui.your_IOs; +package com.example.aped.ui.favorite_IOs; 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/visualization/MainListViewAdapter.java similarity index 62% rename from APED/app/src/main/java/com/example/aped/ui/all_IOs/MainListViewAdapter.java rename to APED/app/src/main/java/com/example/aped/ui/visualization/MainListViewAdapter.java index 85992bd..a88c63f 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/visualization/MainListViewAdapter.java @@ -1,5 +1,6 @@ -package com.example.aped.ui.all_IOs; +package com.example.aped.ui.visualization; +import android.content.Intent; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; @@ -9,6 +10,8 @@ import android.widget.TextView; import com.android.volley.Response; import com.example.aped.MainActivity; import com.example.aped.R; +import com.example.aped.ui.visualization.PinView; + import org.json.JSONException; import org.json.JSONObject; import java.util.ArrayList; @@ -19,18 +22,34 @@ public class MainListViewAdapter extends BaseAdapter { private MainActivity mainActivity; + private int favoriteMode; + + private String deviceName; + private int image; private int favoriteImage; - public MainListViewAdapter(MainActivity pMainActivity){ + public MainListViewAdapter(MainActivity pMainActivity,int pFavoriteMode){ this.mainActivity = pMainActivity; + this.favoriteMode = pFavoriteMode; + /** + * pFavoriteMode 0 oder 1 möglich + * 1 für wir befinden uns in Anzeige favorite IOs + * 0 für wir befinden uns in Anzeige all IOs + */ } @Override public int getCount() { - return mainActivity.xml.getDeviceNames().size(); + int devices; + if (favoriteMode == 0){ + devices = mainActivity.xml.getDeviceNames().size(); + }else{ + devices = mainActivity.favorite.getFavorites().size(); + } + return devices; } @Override @@ -56,9 +75,14 @@ public class MainListViewAdapter extends BaseAdapter { R.id.idLinearLayoutPins); ImageView buttonViewFavoriten = (ImageView) view.findViewById( R.id.imageButtonFavoriten); + if (favoriteMode == 0){ + deviceName = mainActivity.xml.getDeviceNames().get(i); + }else{ + deviceName = mainActivity.favorite.getFavorites().get(i); + } if (mainActivity.favorite.getFavorites().contains( - mainActivity.xml.getDeviceNames().get(i))) { + deviceName)) { favoriteImage = android.R.drawable.btn_star_big_on; } else { favoriteImage = android.R.drawable.btn_star_big_off; @@ -68,20 +92,28 @@ public class MainListViewAdapter extends BaseAdapter { new View.OnClickListener() { @Override public void onClick(final View view) { + if (favoriteMode == 0){ + deviceName = mainActivity.xml.getDeviceNames().get(i); + }else{ + deviceName = mainActivity.favorite.getFavorites().get(i); + } if (mainActivity.favorite.getFavorites().contains( - mainActivity.xml.getDeviceNames().get(i))) { + deviceName)) { mainActivity.favorite.removeFavorite( - mainActivity.xml.getDeviceNames().get(i)); + deviceName); favoriteImage = android.R.drawable.btn_star_big_off; buttonViewFavoriten.setImageResource( favoriteImage); } else { mainActivity.favorite.addFavorite( - mainActivity.xml.getDeviceNames().get(i)); + deviceName); favoriteImage = android.R.drawable.btn_star_big_on; buttonViewFavoriten.setImageResource( favoriteImage); } + Intent intentneustart = mainActivity.getIntent();// gegen richtigen Befehl tauschen da nur die visualisierung neu gestartet werden soll + mainActivity.finish(); + mainActivity.startActivity(intentneustart); } }); //textViewPin.setText(((List) (mainActivity.xml.getPort(mainActivity.xml.getDeviceNames().get(i))).get("pins")).get(0)); @@ -89,22 +121,26 @@ public class MainListViewAdapter extends BaseAdapter { - mainActivity.uebergabe.read(mainActivity.xml.getDeviceNames().get(i), + mainActivity.uebergabe.read(deviceName, new Response.Listener() { @Override public void onResponse(final JSONObject response) { + if (favoriteMode == 0){ + deviceName = mainActivity.xml.getDeviceNames().get(i); + }else{ + deviceName = mainActivity.favorite.getFavorites().get(i); + } try { JSONObject state = response.getJSONObject("state"); List pinValues = new ArrayList<>(); for(String pinName: ((List)mainActivity.xml. - getPort(mainActivity.xml.getDeviceNames().get(i)). + getPort(deviceName). get("pins"))){ pinValues.add(state.getString(pinName)); } - PinView pinView = new PinView(mainActivity,mainActivity.xml. - getDeviceNames().get(i), pinValues); + PinView pinView = new PinView(mainActivity,deviceName, pinValues); for(int j = 0; j < ((List)mainActivity.xml. - getPort(mainActivity.xml.getDeviceNames().get(i)). + getPort(deviceName). get("pins")).size(); j++) { linearLayoutPin.addView(pinView.getView(j)); } @@ -119,7 +155,7 @@ public class MainListViewAdapter extends BaseAdapter { - textViewName.setText(mainActivity.xml.getDeviceNames().get(i)); + textViewName.setText(deviceName); buttonViewFavoriten.setImageResource(favoriteImage); return view; } 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/visualization/PinView.java similarity index 96% rename from APED/app/src/main/java/com/example/aped/ui/all_IOs/PinView.java rename to APED/app/src/main/java/com/example/aped/ui/visualization/PinView.java index a228454..578830c 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/visualization/PinView.java @@ -1,4 +1,4 @@ -package com.example.aped.ui.all_IOs; +package com.example.aped.ui.visualization; import android.content.Intent; import android.view.View; @@ -99,7 +99,7 @@ public class PinView { + " is not a output " , Toast.LENGTH_SHORT).show(); } - Intent intentneustart = mainActivity.getIntent(); + Intent intentneustart = mainActivity.getIntent();// gegen richtigen Befehl tauschen da nur die visualisierung neu gestartet werden soll mainActivity.finish(); mainActivity.startActivity(intentneustart); } diff --git a/APED/app/src/main/java/com/example/aped/ui/your_IOs/YourIOsFragment.java b/APED/app/src/main/java/com/example/aped/ui/your_IOs/YourIOsFragment.java deleted file mode 100644 index b0244c6..0000000 --- a/APED/app/src/main/java/com/example/aped/ui/your_IOs/YourIOsFragment.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.example.aped.ui.your_IOs; - -import android.os.Bundle; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.fragment.app.Fragment; -import androidx.lifecycle.Observer; -import androidx.lifecycle.ViewModelProvider; - -import com.example.aped.R; - -public class YourIOsFragment extends Fragment { - /**Azeige Modell.*/ - private YourIOsViewModel yourIOsViewModel; - - /** - * - * @param inflater - * @param container - * @param savedInstanceState - * @return root - */ - public View onCreateView(final @NonNull LayoutInflater inflater, - final ViewGroup container, - final Bundle savedInstanceState) { - yourIOsViewModel = - new ViewModelProvider(this).get(YourIOsViewModel.class); - View root = inflater.inflate(R.layout.fragment_your_ios, container, - false); - final TextView textView = root.findViewById(R.id.text_your_IOs); - yourIOsViewModel.getText().observe(getViewLifecycleOwner(), - new Observer() { - @Override - public void onChanged(final @Nullable String s) { - textView.setText(s); - } - }); - return root; - } -} diff --git a/APED/app/src/main/res/layout/fragment_your_ios.xml b/APED/app/src/main/res/layout/fragment_your_ios.xml index 57dddd6..b226ea5 100644 --- a/APED/app/src/main/res/layout/fragment_your_ios.xml +++ b/APED/app/src/main/res/layout/fragment_your_ios.xml @@ -4,7 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".ui.favorite_IOs.YourIOsFragment"> + tools:context=".ui.favorite_IOs.FavoriteIOsFragment">