Merge pull request #92 from ClaytonWWilson/master

Merge code from master
This commit is contained in:
Aaron Sun 2020-11-01 10:33:23 -08:00 committed by GitHub
commit e35ef127ff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 88 additions and 27 deletions

View File

@ -2,7 +2,6 @@ package com.example.listify;
import android.app.Dialog; import android.app.Dialog;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.graphics.Color;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log; import android.util.Log;
import android.view.LayoutInflater; import android.view.LayoutInflater;
@ -14,9 +13,9 @@ import android.widget.ListView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.DialogFragment; import androidx.fragment.app.DialogFragment;
import com.example.listify.adapter.DisplayShoppingListsAdapter; import com.example.listify.adapter.ShoppingListsAdapter;
import com.example.listify.data.List; import com.example.listify.data.List;
import com.example.listify.model.ShoppingList;
import java.util.ArrayList; import java.util.ArrayList;
@ -29,7 +28,7 @@ public class ListPickerDialogFragment extends DialogFragment {
public OnListPickListener onListPickListener; public OnListPickListener onListPickListener;
ListView userListsView; ListView userListsView;
DisplayShoppingListsAdapter displayShoppingListsAdapter; ShoppingListsAdapter shoppingListsAdapter;
Button btnMinus; Button btnMinus;
Button btnPlus; Button btnPlus;
EditText etQuantity; EditText etQuantity;
@ -67,8 +66,8 @@ public class ListPickerDialogFragment extends DialogFragment {
// Display user's shopping lists // Display user's shopping lists
userListsView = (ListView) root.findViewById(R.id.user_lists); userListsView = (ListView) root.findViewById(R.id.user_lists);
displayShoppingListsAdapter = new DisplayShoppingListsAdapter(getActivity(), userLists); shoppingListsAdapter = new ShoppingListsAdapter(getActivity(), userLists);
userListsView.setAdapter(displayShoppingListsAdapter); userListsView.setAdapter(shoppingListsAdapter);
// TODO: fix highlighting error // TODO: fix highlighting error
userListsView.setOnItemClickListener(new AdapterView.OnItemClickListener() { userListsView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

View File

@ -0,0 +1,55 @@
package com.example.listify.adapter;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import com.example.listify.R;
import com.example.listify.data.List;
import java.util.ArrayList;
public class ShoppingListsAdapter extends BaseAdapter {
private Activity activity;
private ArrayList<List> lists;
private LayoutInflater inflater;
public ShoppingListsAdapter(Activity activity, ArrayList<List> lists){
this.activity = activity;
this.lists = lists;
}
@Override
public int getCount() {
return lists.size();
}
@Override
public Object getItem(int position) {
return lists.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (inflater == null) {
inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
if (convertView == null) {
convertView = inflater.inflate(R.layout.shopping_lists_name_item, null);
}
List curList = lists.get(position);
TextView tvListName = (TextView) convertView.findViewById(R.id.shopping_list_name);
tvListName.setText(curList.getName());
return convertView;
}
}

View File

@ -18,13 +18,13 @@ import com.example.listify.data.List;
import java.util.ArrayList; import java.util.ArrayList;
public class DisplayShoppingListsAdapter extends BaseAdapter { public class ShoppingListsSwipeableAdapter extends BaseAdapter {
private Activity activity; private Activity activity;
private ArrayList<List> lists; private ArrayList<List> lists;
private LayoutInflater inflater; private LayoutInflater inflater;
private final ViewBinderHelper binderHelper; private final ViewBinderHelper binderHelper;
public DisplayShoppingListsAdapter(Activity activity, ArrayList<List> lists){ public ShoppingListsSwipeableAdapter(Activity activity, ArrayList<List> lists){
binderHelper = new ViewBinderHelper(); binderHelper = new ViewBinderHelper();
this.activity = activity; this.activity = activity;
this.lists = lists; this.lists = lists;
@ -53,7 +53,7 @@ public class DisplayShoppingListsAdapter extends BaseAdapter {
inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
} }
if (convertView == null) { if (convertView == null) {
convertView = inflater.inflate(R.layout.display_shopping_lists_item, null); convertView = inflater.inflate(R.layout.shopping_lists_swipeable_name_item, null);
holder = new ViewHolder(); holder = new ViewHolder();
holder.swipeLayout = (SwipeRevealLayout)convertView.findViewById(R.id.swipe_layout); holder.swipeLayout = (SwipeRevealLayout)convertView.findViewById(R.id.swipe_layout);

View File

@ -1,35 +1,22 @@
package com.example.listify.ui.lists; package com.example.listify.ui.lists;
import android.app.Dialog;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle; import android.os.Bundle;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.Window;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.ListView; import android.widget.ListView;
import android.widget.ProgressBar; import android.widget.ProgressBar;
import android.widget.Toast; import android.widget.Toast;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import androidx.fragment.app.ListFragment;
import com.amplifyframework.auth.AuthException;
import com.example.listify.AuthManager; import com.example.listify.AuthManager;
import com.example.listify.CreateListAddDialogFragment;
import com.example.listify.CreateListDialogFragment; import com.example.listify.CreateListDialogFragment;
import com.example.listify.ItemDetails;
import com.example.listify.ListPage;
import com.example.listify.LoadingCircleDialog; import com.example.listify.LoadingCircleDialog;
import com.example.listify.R; import com.example.listify.R;
import com.example.listify.Requestor; import com.example.listify.Requestor;
import com.example.listify.SearchResults;
import com.example.listify.SynchronousReceiver; import com.example.listify.SynchronousReceiver;
import com.example.listify.adapter.DisplayShoppingListsAdapter; import com.example.listify.adapter.ShoppingListsSwipeableAdapter;
import com.example.listify.data.List; import com.example.listify.data.List;
import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.android.material.floatingactionbutton.FloatingActionButton;
@ -44,7 +31,7 @@ import static com.example.listify.MainActivity.am;
public class ListsFragment extends Fragment implements CreateListDialogFragment.OnNewListListener, Requestor.Receiver { public class ListsFragment extends Fragment implements CreateListDialogFragment.OnNewListListener, Requestor.Receiver {
ArrayList<List> shoppingLists = new ArrayList<>(); ArrayList<List> shoppingLists = new ArrayList<>();
DisplayShoppingListsAdapter displayShoppingListsAdapter; ShoppingListsSwipeableAdapter shoppingListsSwipeableAdapter;
Requestor requestor; Requestor requestor;
ListView shoppingListsView; ListView shoppingListsView;
ProgressBar loadingLists; ProgressBar loadingLists;
@ -127,7 +114,7 @@ public class ListsFragment extends Fragment implements CreateListDialogFragment.
getActivity().runOnUiThread(new Runnable() { getActivity().runOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
displayShoppingListsAdapter.notifyDataSetChanged(); shoppingListsSwipeableAdapter.notifyDataSetChanged();
loadingDialog.cancel(); loadingDialog.cancel();
Toast.makeText(getContext(), String.format("%s created", name), Toast.LENGTH_LONG).show(); Toast.makeText(getContext(), String.format("%s created", name), Toast.LENGTH_LONG).show();
} }
@ -172,12 +159,12 @@ public class ListsFragment extends Fragment implements CreateListDialogFragment.
} }
// Set adapter and display this users lists // Set adapter and display this users lists
displayShoppingListsAdapter = new DisplayShoppingListsAdapter(getActivity(), shoppingLists); shoppingListsSwipeableAdapter = new ShoppingListsSwipeableAdapter(getActivity(), shoppingLists);
getActivity().runOnUiThread(new Runnable() { getActivity().runOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
shoppingListsView.setAdapter(displayShoppingListsAdapter); shoppingListsView.setAdapter(shoppingListsSwipeableAdapter);
// shoppingListsView.setOnItemClickListener(new AdapterView.OnItemClickListener() { // shoppingListsView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
// @Override // @Override
// public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<TextView
android:id="@+id/shopping_list_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:layout_marginEnd="8dp"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</RelativeLayout>