diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 253fb67..b493584 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,21 +1,30 @@
+
+
+
-
+ android:theme="@style/AppTheme"
+ tools:ignore="GoogleAppIndexingWarning">
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/it/unisannio/ding/ids/wedroid/app/DriverActivity.java b/app/src/main/java/it/unisannio/ding/ids/wedroid/app/DriverActivity.java
new file mode 100644
index 0000000..94011c4
--- /dev/null
+++ b/app/src/main/java/it/unisannio/ding/ids/wedroid/app/DriverActivity.java
@@ -0,0 +1,46 @@
+package it.unisannio.ding.ids.wedroid.app;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AppCompatActivity;
+
+import it.unisannio.ding.ids.wedroid.app.util.SharedPreferenceHelper;
+import it.unisannio.ding.ids.wedroid.app.view.BoardViewActivity;
+
+public class DriverActivity extends AppCompatActivity {
+
+ SharedPreferenceHelper sharedPreferences;
+ EditText idBoard;
+ Button send;
+
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_main);
+ sharedPreferences = new SharedPreferenceHelper(this);
+
+ String baseUrl = sharedPreferences.getBaseUrl();
+ String token = sharedPreferences.getToken();
+ String userId = sharedPreferences.getUserId();
+
+ sharedPreferences.setBaseUrl("https://board.norangeb.it/");
+ sharedPreferences.setToken("4waGrVlk0fkLhiQRDgN_rkbIamp4IyB6mThS0IpKbPx");
+ sharedPreferences.setUserId("");
+
+ idBoard = findViewById(R.id.idBoard);
+
+ send= findViewById(R.id.send);
+ send.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Intent i = new Intent(getApplicationContext(), BoardViewActivity.class);
+ i.putExtra("idBoard", idBoard.getText().toString());
+ startActivity(i);
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/it/unisannio/ding/ids/wedroid/app/view/BoardViewActivity.java b/app/src/main/java/it/unisannio/ding/ids/wedroid/app/view/BoardViewActivity.java
new file mode 100644
index 0000000..a25cdc5
--- /dev/null
+++ b/app/src/main/java/it/unisannio/ding/ids/wedroid/app/view/BoardViewActivity.java
@@ -0,0 +1,66 @@
+package it.unisannio.ding.ids.wedroid.app.view;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+import android.widget.TextView;
+
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AppCompatActivity;
+
+import it.unisannio.ding.ids.wedroid.app.R;
+import it.unisannio.ding.ids.wedroid.app.util.ServicesFactory;
+import it.unisannio.ding.ids.wedroid.app.util.SharedPreferenceHelper;
+import it.unisannio.ding.ids.wedroid.wrapper.entity.Board;
+import retrofit2.Call;
+import retrofit2.Callback;
+import retrofit2.Response;
+
+public class BoardViewActivity extends AppCompatActivity {
+
+ TextView boardTitle;
+ Button getLists;
+ SharedPreferenceHelper sp;
+ ServicesFactory service;
+
+ @Override
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_board_view);
+
+ Intent i = getIntent();
+ final String idBoard= i.getStringExtra("idBoard");
+ boardTitle = findViewById(R.id.title_board);
+ getLists = findViewById(R.id.getLists);
+
+ sp = new SharedPreferenceHelper(this);
+ sp.setBoardId(idBoard);
+
+ initializeUI(idBoard);
+
+ getLists.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Intent i = new Intent(getApplicationContext(), WListsListActivity.class);
+ i.putExtra("idBoard", idBoard);
+ startActivity(i);
+ }
+ });
+ }
+
+ private void initializeUI(String idBoard) {
+ service = new ServicesFactory(sp);
+ service.getBoardService().getBoard(idBoard).enqueue(new Callback() {
+ @Override
+ public void onResponse(Call call, Response response) {
+ boardTitle.setText(boardTitle.getText().toString() + response.body().getTitle());
+ }
+
+ @Override
+ public void onFailure(Call call, Throwable t) {
+ boardTitle.setText(t.toString());
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/it/unisannio/ding/ids/wedroid/app/view/WListsListActivity.java b/app/src/main/java/it/unisannio/ding/ids/wedroid/app/view/WListsListActivity.java
new file mode 100644
index 0000000..5ae01d7
--- /dev/null
+++ b/app/src/main/java/it/unisannio/ding/ids/wedroid/app/view/WListsListActivity.java
@@ -0,0 +1,48 @@
+package it.unisannio.ding.ids.wedroid.app.view;
+
+import android.os.Bundle;
+
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.lifecycle.Observer;
+import androidx.lifecycle.ViewModelProvider;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import java.util.List;
+
+import it.unisannio.ding.ids.wedroid.app.R;
+import it.unisannio.ding.ids.wedroid.app.data.entity.WList;
+import it.unisannio.ding.ids.wedroid.app.util.PreferenceReader;
+import it.unisannio.ding.ids.wedroid.app.util.SharedPreferenceHelper;
+import it.unisannio.ding.ids.wedroid.app.view.adapter.WListsAdapter;
+import it.unisannio.ding.ids.wedroid.app.viewModel.WListsListViewModel;
+
+public class WListsListActivity extends AppCompatActivity {
+
+ private WListsListViewModel viewModel;
+
+ @Override
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_wlists_view);
+
+ PreferenceReader reader =new SharedPreferenceHelper(this);
+
+ RecyclerView recyclerView = findViewById(R.id.recyclerviewWList);
+ final WListsAdapter adapter = new WListsAdapter(this);
+ recyclerView.setAdapter(adapter);
+ recyclerView.setLayoutManager(new LinearLayoutManager(this));
+ //linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
+ //recyclerView.setHasFixedSize(true);
+
+ viewModel = new ViewModelProvider(this).get(WListsListViewModel.class);
+
+ viewModel.getAllWLists().observe(this, new Observer>() {
+ @Override
+ public void onChanged(List wLists) {
+ adapter.setWLists(wLists);
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/it/unisannio/ding/ids/wedroid/app/view/adapter/WListsAdapter.java b/app/src/main/java/it/unisannio/ding/ids/wedroid/app/view/adapter/WListsAdapter.java
new file mode 100644
index 0000000..11dd361
--- /dev/null
+++ b/app/src/main/java/it/unisannio/ding/ids/wedroid/app/view/adapter/WListsAdapter.java
@@ -0,0 +1,99 @@
+package it.unisannio.ding.ids.wedroid.app.view.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import java.util.List;
+
+import it.unisannio.ding.ids.wedroid.app.R;
+import it.unisannio.ding.ids.wedroid.app.data.entity.WList;
+
+public class WListsAdapter extends RecyclerView.Adapter {
+
+ private final LayoutInflater mInflater;
+ private List mWLists; // Cached copy of words
+ public WListsAdapter(Context context) { mInflater = LayoutInflater.from(context); }
+
+ class WListViewHolder extends RecyclerView.ViewHolder{
+ private final TextView wListItemView;
+ private WListViewHolder(View itemView){
+ super(itemView);
+ wListItemView= itemView.findViewById(R.id.wListTitle);
+ }
+ }
+
+ @NonNull
+ @Override
+ public WListViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View itemView = mInflater.inflate(R.layout.wlist_recyclerview_item, parent, false);
+ return new WListViewHolder(itemView);
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull WListViewHolder holder, int position) {
+ if (mWLists != null) {
+ WList current = mWLists.get(position);
+ holder.wListItemView.setText(current.getTitle());
+ } else {
+ // Covers the case of data not being ready yet.
+ holder.wListItemView.setText("No wList");
+ }
+ }
+
+ @Override
+ public int getItemCount() {
+ if (mWLists != null)
+ return mWLists.size();
+ else return 0;
+ }
+
+ public void setWLists(List wList){
+ mWLists = wList;
+ notifyDataSetChanged();
+ }
+
+}
+
+/** Vecchia versione
+ private List wLists;
+ private Context context;
+
+ public WListsAdapter(Context context, List wLists){
+ this.wLists = wLists;
+ this.context = context;
+ }
+
+ public class WListViewHolder extends RecyclerView.ViewHolder {
+ private TextView title;
+ public WListViewHolder(View itemView) {
+ super(itemView);
+ title = (TextView) itemView.findViewById(R.id.zWListTitle);
+ }
+ }
+
+ @NonNull
+ @Override
+ public WListViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View itemView = LayoutInflater.from(parent.getContext())
+ .inflate(R.layout.z_wlist_recycle_item, parent, false);
+ return new WListViewHolder(itemView);
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull WListViewHolder holder, int position) {
+ WList wList = wLists.get(position);
+ holder.title.setText(wList.getTitle());
+
+ }
+
+ @Override
+ public int getItemCount() {
+ return 0;
+ }
+ **/
diff --git a/app/src/main/java/it/unisannio/ding/ids/wedroid/app/viewModel/WListsListViewModel.java b/app/src/main/java/it/unisannio/ding/ids/wedroid/app/viewModel/WListsListViewModel.java
new file mode 100644
index 0000000..651aea3
--- /dev/null
+++ b/app/src/main/java/it/unisannio/ding/ids/wedroid/app/viewModel/WListsListViewModel.java
@@ -0,0 +1,40 @@
+package it.unisannio.ding.ids.wedroid.app.viewModel;
+
+import android.app.Application;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.AndroidViewModel;
+import androidx.lifecycle.LiveData;
+
+import java.util.List;
+
+import it.unisannio.ding.ids.wedroid.app.data.database.WListDatabase;
+import it.unisannio.ding.ids.wedroid.app.data.entity.WList;
+import it.unisannio.ding.ids.wedroid.app.data.repository.WListRepository;
+import it.unisannio.ding.ids.wedroid.app.util.PreferenceReader;
+import it.unisannio.ding.ids.wedroid.app.util.ServicesFactory;
+import it.unisannio.ding.ids.wedroid.app.util.SharedPreferenceHelper;
+
+
+public class WListsListViewModel extends AndroidViewModel {
+ private WListRepository wListRepository;
+ private LiveData> allWLists;
+
+ public WListsListViewModel(@NonNull Application application) {
+ super(application);
+ PreferenceReader reader = new SharedPreferenceHelper(application);
+ wListRepository = new WListRepository(
+ WListDatabase.getDatabase(application).wListDao(),
+ ServicesFactory.Companion.getInstance(reader).getListService(),
+ reader);
+ allWLists = wListRepository.getAllWLists();
+ }
+
+ public LiveData> getAllWLists(){
+ return allWLists;
+ }
+
+ public void refresh() {
+ wListRepository.synchronize();
+ }
+}
diff --git a/app/src/main/res/layout/activity_board_view.xml b/app/src/main/res/layout/activity_board_view.xml
new file mode 100644
index 0000000..8d379e7
--- /dev/null
+++ b/app/src/main/res/layout/activity_board_view.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 4fc2444..707df3a 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -6,13 +6,35 @@
android:layout_height="match_parent"
tools:context=".MainActivity">
-
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_bias="0.033"
+ tools:ignore="MissingConstraints"
+ tools:layout_editor_absoluteX="16dp">
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_wlists_view.xml b/app/src/main/res/layout/activity_wlists_view.xml
new file mode 100644
index 0000000..a0480ed
--- /dev/null
+++ b/app/src/main/res/layout/activity_wlists_view.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/wlist_recyclerview_item.xml b/app/src/main/res/layout/wlist_recyclerview_item.xml
new file mode 100644
index 0000000..607cf71
--- /dev/null
+++ b/app/src/main/res/layout/wlist_recyclerview_item.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
new file mode 100644
index 0000000..59a0b0c
--- /dev/null
+++ b/app/src/main/res/values/dimens.xml
@@ -0,0 +1,3 @@
+
+ 16dp
+
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 5885930..de2f2f4 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -8,4 +8,14 @@
- @color/colorAccent
+
+
+
+
+
+
+