Skip to content
Snippets Groups Projects
Commit ee05cc1d authored by Julian Catoni's avatar Julian Catoni
Browse files

Added cardview for current activity, updated url

parent 3cdbae6d
No related branches found
No related tags found
No related merge requests found
...@@ -10,7 +10,7 @@ import com.google.gson.annotations.SerializedName; ...@@ -10,7 +10,7 @@ import com.google.gson.annotations.SerializedName;
* By Muhammad Ibrahim Rahman * By Muhammad Ibrahim Rahman
*/ */
public class Recognitions { public class Recognition {
@SerializedName("identifier") @SerializedName("identifier")
@Expose @Expose
......
...@@ -5,15 +5,17 @@ import android.os.Bundle; ...@@ -5,15 +5,17 @@ import android.os.Bundle;
import android.view.MenuItem; import android.view.MenuItem;
import org.openhab.habdroid.R; import org.openhab.habdroid.R;
import org.openhab.habdroid.model.ChangedItem; import org.openhab.habdroid.model.Recognition;
import org.openhab.habdroid.util.Util; import org.openhab.habdroid.util.Util;
import org.openhab.habdroid.model.Recognitions;
import org.openhab.habdroid.util.GetDataService; import org.openhab.habdroid.util.GetDataService;
import org.openhab.habdroid.util.RetrofitClientInstance; import org.openhab.habdroid.util.RetrofitClientInstance;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Locale;
import androidx.cardview.widget.CardView;
import retrofit2.Call; import retrofit2.Call;
import retrofit2.Callback; import retrofit2.Callback;
import retrofit2.Response; import retrofit2.Response;
...@@ -23,11 +25,12 @@ import androidx.appcompat.app.AppCompatActivity; ...@@ -23,11 +25,12 @@ import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar; import androidx.appcompat.widget.Toolbar;
import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.LinearLayoutManager;
import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
/* /*
* Activity for OpenLicht Recognitions * Activity for OpenLicht Recognition
* By Muhammad Ibrahim Rahman * By Muhammad Ibrahim Rahman
*/ */
...@@ -35,6 +38,10 @@ public class RecognitionsActivity extends AppCompatActivity{ ...@@ -35,6 +38,10 @@ public class RecognitionsActivity extends AppCompatActivity{
private RecognitionsAdapter adapter; private RecognitionsAdapter adapter;
private RecyclerView recyclerView; private RecyclerView recyclerView;
private TextView mCurrentActivityTitle;
private TextView mCurrentActivityTime;
private RecyclerView mCurrentActivityChangedItems;
ProgressDialog progressDialog; ProgressDialog progressDialog;
@Override @Override
...@@ -64,34 +71,45 @@ public class RecognitionsActivity extends AppCompatActivity{ ...@@ -64,34 +71,45 @@ public class RecognitionsActivity extends AppCompatActivity{
// Interface for the RetrofitInstance // Interface for the RetrofitInstance
GetDataService service = RetrofitClientInstance.getRetrofitInstance().create(GetDataService.class); GetDataService service = RetrofitClientInstance.getRetrofitInstance().create(GetDataService.class);
Call<List<Recognitions>> call = service.getAllRecognitions(); Call<List<Recognition>> call = service.getAllRecognitions();
call.enqueue(new Callback<List<Recognitions>>() { call.enqueue(new Callback<List<Recognition>>() {
@Override @Override
public void onResponse(Call<List<Recognitions>> call, Response<List<Recognitions>> response) { public void onResponse(Call<List<Recognition>> call, Response<List<Recognition>> response) {
progressDialog.dismiss(); progressDialog.dismiss();
generateDataList(response.body()); //generateDataList(response.body());
generateCurrentActivity(response.body().get(0));
} }
@Override @Override
public void onFailure(Call<List<Recognitions>> call, Throwable t) { public void onFailure(Call<List<Recognition>> call, Throwable t) {
progressDialog.dismiss(); progressDialog.dismiss();
Toast.makeText(RecognitionsActivity.this, "Error loading Recognitions. Please check your network connection.", Toast.LENGTH_SHORT).show(); Toast.makeText(RecognitionsActivity.this, "Error loading Recognition. Please check your network connection.", Toast.LENGTH_SHORT).show();
} }
}); });
} }
private void generateCurrentActivity(Recognition recognition) {
mCurrentActivityTitle = findViewById(R.id.text_recognition_current_title);
mCurrentActivityTime = findViewById(R.id.text_recognition_current_time);
mCurrentActivityChangedItems = findViewById(R.id.rv_recognition_current_items);
mCurrentActivityTitle.setText(recognition.getDescription().toString());
DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.SHORT, Locale.US);
mCurrentActivityTime.setText(dateFormat.format(new Date(recognition.getTimestamp())));
}
/*
// Generates a List using RecyclerView with the RecognitionsAdapter // Generates a List using RecyclerView with the RecognitionsAdapter
private void generateDataList(List<Recognitions> recognitionsList) { private void generateDataList(List<Recognition> recognitionsList) {
recyclerView = findViewById(R.id.customRecyclerView); recyclerView = findViewById(R.id.customRecyclerView);
adapter = new RecognitionsAdapter(this,recognitionsList); adapter = new RecognitionsAdapter(this,recognitionsList);
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(RecognitionsActivity.this); RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(RecognitionsActivity.this);
recyclerView.setLayoutManager(layoutManager); recyclerView.setLayoutManager(layoutManager);
recyclerView.setAdapter(adapter); recyclerView.setAdapter(adapter);
} }*/
@Override @Override
public boolean onOptionsItemSelected(MenuItem item) { public boolean onOptionsItemSelected(MenuItem item) {
......
...@@ -4,19 +4,12 @@ import android.content.Context; ...@@ -4,19 +4,12 @@ import android.content.Context;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast;
import org.json.JSONArray;
import org.openhab.habdroid.R; import org.openhab.habdroid.R;
import org.openhab.habdroid.model.ChangedItem; import org.openhab.habdroid.model.Recognition;
import org.openhab.habdroid.model.Recognitions;
import java.text.DateFormat; import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
...@@ -29,11 +22,10 @@ import androidx.recyclerview.widget.RecyclerView; ...@@ -29,11 +22,10 @@ import androidx.recyclerview.widget.RecyclerView;
public class RecognitionsAdapter extends RecyclerView.Adapter<RecognitionsAdapter.CustomViewHolder> { public class RecognitionsAdapter extends RecyclerView.Adapter<RecognitionsAdapter.CustomViewHolder> {
private List<Recognitions> dataList; private List<Recognition> dataList;
private Context context; private Context context;
// private ArrayList<String> changedStates = new ArrayList<>();
public RecognitionsAdapter(Context context, List<Recognitions> dataList/*, List<ChangedItem> changedItemList*/){ public RecognitionsAdapter(Context context, List<Recognition> dataList/*, List<ChangedItem> changedItemList*/){
this.context = context; this.context = context;
this.dataList = dataList; this.dataList = dataList;
...@@ -49,10 +41,6 @@ public class RecognitionsAdapter extends RecyclerView.Adapter<RecognitionsAdapte ...@@ -49,10 +41,6 @@ public class RecognitionsAdapter extends RecyclerView.Adapter<RecognitionsAdapte
TextView recTimestamp; TextView recTimestamp;
TextView recChangedState; TextView recChangedState;
// ArrayList<String> cS = new ArrayList<>();
CustomViewHolder(View itemView) { CustomViewHolder(View itemView) {
super(itemView); super(itemView);
mView = itemView; mView = itemView;
......
package org.openhab.habdroid.util; package org.openhab.habdroid.util;
import org.openhab.habdroid.model.Recognitions; import org.openhab.habdroid.model.Recognition;
import java.util.List; import java.util.List;
...@@ -16,8 +16,9 @@ import retrofit2.http.GET; ...@@ -16,8 +16,9 @@ import retrofit2.http.GET;
public interface GetDataService { public interface GetDataService {
@GET("/events/long") @GET("/events/long")
Call<List<Recognitions>> getAllRecognitions(); Call<List<Recognition>> getAllRecognitions();
// @GET("/recognitions") // @GET("/recognitions")
// Call<List<Recognitions>> getAllRecognitions(); // Call<List<Recognition>> getAllRecognitions();
} }
...@@ -12,7 +12,7 @@ import retrofit2.converter.gson.GsonConverterFactory; ...@@ -12,7 +12,7 @@ import retrofit2.converter.gson.GsonConverterFactory;
public class RetrofitClientInstance { public class RetrofitClientInstance {
private static Retrofit retrofit; private static Retrofit retrofit;
private static final String BASE_URL = "http://10.0.2.2:5000"; private static final String BASE_URL = "http://141.76.65.46:5000"; //"http://10.0.2.2:5000";
public static Retrofit getRetrofitInstance() { public static Retrofit getRetrofitInstance() {
if (retrofit == null) { if (retrofit == null) {
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!--Layout for OpenLicht Recognitions--> <!--Layout for OpenLicht Recognition--><!--By Muhammad Ibrahim Rahman-->
<!--By Muhammad Ibrahim Rahman-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<androidx.appcompat.widget.Toolbar <androidx.appcompat.widget.Toolbar
...@@ -18,8 +16,8 @@ ...@@ -18,8 +16,8 @@
android:elevation="8dp" android:elevation="8dp"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" /> app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />
<!--
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="?android:activatedBackgroundIndicator" android:background="?android:activatedBackgroundIndicator"
...@@ -46,9 +44,56 @@ ...@@ -46,9 +44,56 @@
android:src="?themedArrowDownIcon" /> android:src="?themedArrowDownIcon" />
</LinearLayout> </LinearLayout>
-->
<com.google.android.material.card.MaterialCardView
android:id="@+id/card_recognition_current"
style="@style/Widget.MaterialComponents.CardView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/mtrl_card_spacing"
android:layout_marginTop="@dimen/mtrl_card_spacing"
android:layout_marginRight="@dimen/mtrl_card_spacing">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Current Activity"
android:textAllCaps="true"
android:textColor="@color/black"
android:textSize="10dp" />
<TextView
android:id="@+id/text_recognition_current_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="This is an activity"
android:textColor="@color/black"
android:textSize="24sp" />
<TextView
android:id="@+id/text_recognition_current_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="This is an activity time" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_recognition_current_items"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="16dp" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<!--
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/customRecyclerView" android:id="@+id/customRecyclerView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" /> android:layout_height="match_parent" />-->
</LinearLayout> </LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!--OpenLicht--> <!--OpenLicht--><!--Layout for RecyclerView--><!--By Muhammad Ibrahim Rahman-->
<!--Layout for RecyclerView-->
<!--By Muhammad Ibrahim Rahman-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:card_view="http://schemas.android.com/apk/res-auto" xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="6dp" android:padding="6dp">
>
<androidx.cardview.widget.CardView <androidx.cardview.widget.CardView
android:id="@+id/card_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:id="@+id/card_view"
card_view:cardUseCompatPadding="true"
card_view:cardCornerRadius="2dp" card_view:cardCornerRadius="2dp"
card_view:cardUseCompatPadding="true">
>
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="6dp" android:padding="6dp">
>
<TextView <TextView
android:id="@+id/recognitionDescription"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:id="@+id/recognitionDescription"
android:layout_alignParentTop="true" android:layout_alignParentTop="true"
android:textSize="30sp" android:textSize="30sp"
tools:text="Sample Text" /> tools:text="Sample Text" />
<TextView <TextView
android:id="@+id/recognitionType"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:id="@+id/recognitionType"
android:layout_below="@+id/recognitionDescription" android:layout_below="@+id/recognitionDescription"
tools:text="Sample Text" /> tools:text="Sample Text" />
<TextView <TextView
android:id="@+id/recognitionActivity"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:id="@+id/recognitionActivity"
android:layout_below="@+id/recognitionType" android:layout_below="@+id/recognitionType"
tools:text="Sample Text" /> tools:text="Sample Text" />
<TextView <TextView
android:id="@+id/recognitionTimestamp"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:id="@+id/recognitionTimestamp"
android:layout_below="@+id/recognitionActivity" android:layout_below="@+id/recognitionActivity"
tools:text="Sample Text" /> tools:text="Sample Text" />
<TextView <TextView
android:id="@+id/recognitionChangedState"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:id="@+id/recognitionChangedState"
android:layout_below="@+id/recognitionTimestamp" android:layout_below="@+id/recognitionTimestamp"
tools:text="Sample Text" /> tools:text="Sample Text" />
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<item <item
android:id="@+id/recognitions" android:id="@+id/recognitions"
android:icon="@drawable/ic_info_outline" android:icon="@drawable/ic_info_outline"
android:title="@string/recognitions" /> android:title="@string/mainmenu_openhab_recognitions" />
<item <item
android:id="@+id/notifications" android:id="@+id/notifications"
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<!-- Main menu items --> <!-- Main menu items -->
<string name="mainmenu_openhab_sitemaps">Sitemaps</string> <string name="mainmenu_openhab_sitemaps">Sitemaps</string>
<!-- OpenLicht --> <!-- OpenLicht -->
<string name="recognitions">Recognitions</string> <string name="mainmenu_openhab_recognitions">Recognitions</string>
<!-- /OpenLicht--> <!-- /OpenLicht-->
<string name="mainmenu_openhab_preferences">Settings</string> <string name="mainmenu_openhab_preferences">Settings</string>
<string name="mainmenu_openhab_selectsitemap">Select default Sitemap</string> <string name="mainmenu_openhab_selectsitemap">Select default Sitemap</string>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment