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.content.Context;
import android.content.DialogInterface;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
@ -14,9 +13,9 @@ import android.widget.ListView;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
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.model.ShoppingList;
import java.util.ArrayList;
@ -29,7 +28,7 @@ public class ListPickerDialogFragment extends DialogFragment {
public OnListPickListener onListPickListener;
ListView userListsView;
DisplayShoppingListsAdapter displayShoppingListsAdapter;
ShoppingListsAdapter shoppingListsAdapter;
Button btnMinus;
Button btnPlus;
EditText etQuantity;
@ -67,8 +66,8 @@ public class ListPickerDialogFragment extends DialogFragment {
// Display user's shopping lists
userListsView = (ListView) root.findViewById(R.id.user_lists);
displayShoppingListsAdapter = new DisplayShoppingListsAdapter(getActivity(), userLists);
userListsView.setAdapter(displayShoppingListsAdapter);
shoppingListsAdapter = new ShoppingListsAdapter(getActivity(), userLists);
userListsView.setAdapter(shoppingListsAdapter);
// TODO: fix highlighting error
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;
public class DisplayShoppingListsAdapter extends BaseAdapter {
public class ShoppingListsSwipeableAdapter extends BaseAdapter {
private Activity activity;
private ArrayList<List> lists;
private LayoutInflater inflater;
private final ViewBinderHelper binderHelper;
public DisplayShoppingListsAdapter(Activity activity, ArrayList<List> lists){
public ShoppingListsSwipeableAdapter(Activity activity, ArrayList<List> lists){
binderHelper = new ViewBinderHelper();
this.activity = activity;
this.lists = lists;
@ -53,7 +53,7 @@ public class DisplayShoppingListsAdapter extends BaseAdapter {
inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
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.swipeLayout = (SwipeRevealLayout)convertView.findViewById(R.id.swipe_layout);

View File

@ -1,35 +1,22 @@
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.view.View;
import android.view.ViewGroup;
import android.view.LayoutInflater;
import android.view.Window;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.ListFragment;
import com.amplifyframework.auth.AuthException;
import com.example.listify.AuthManager;
import com.example.listify.CreateListAddDialogFragment;
import com.example.listify.CreateListDialogFragment;
import com.example.listify.ItemDetails;
import com.example.listify.ListPage;
import com.example.listify.LoadingCircleDialog;
import com.example.listify.R;
import com.example.listify.Requestor;
import com.example.listify.SearchResults;
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.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 {
ArrayList<List> shoppingLists = new ArrayList<>();
DisplayShoppingListsAdapter displayShoppingListsAdapter;
ShoppingListsSwipeableAdapter shoppingListsSwipeableAdapter;
Requestor requestor;
ListView shoppingListsView;
ProgressBar loadingLists;
@ -127,7 +114,7 @@ public class ListsFragment extends Fragment implements CreateListDialogFragment.
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
displayShoppingListsAdapter.notifyDataSetChanged();
shoppingListsSwipeableAdapter.notifyDataSetChanged();
loadingDialog.cancel();
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
displayShoppingListsAdapter = new DisplayShoppingListsAdapter(getActivity(), shoppingLists);
shoppingListsSwipeableAdapter = new ShoppingListsSwipeableAdapter(getActivity(), shoppingLists);
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
shoppingListsView.setAdapter(displayShoppingListsAdapter);
shoppingListsView.setAdapter(shoppingListsSwipeableAdapter);
// shoppingListsView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
// @Override
// 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>