Skip to content

Commit 5e82f6b

Browse files
committed
last updated v1.1
1 parent f4fb5fc commit 5e82f6b

File tree

10 files changed

+163
-7
lines changed

10 files changed

+163
-7
lines changed

AUBLibrary/app/src/main/java/com/tss/aublibrary/AllBooksActivity.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ protected void onCreate(Bundle savedInstanceState) {
1919
super.onCreate(savedInstanceState);
2020
setContentView(R.layout.activity_all_books);
2121

22-
adapter = new BookRecViewAdapter(this);
22+
adapter = new BookRecViewAdapter(this, "allBooks");
2323
booksRecView = findViewById(R.id.booksRecView);
2424

2525
booksRecView.setAdapter(adapter);

AUBLibrary/app/src/main/java/com/tss/aublibrary/AlreadyReadBookActivity.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ protected void onCreate(Bundle savedInstanceState) {
1818
RecyclerView recyclerView = findViewById(R.id.bookRecView);
1919

2020
// create adapter
21-
BookRecViewAdapter bookRecViewAdapter = new BookRecViewAdapter(this);
21+
BookRecViewAdapter bookRecViewAdapter = new BookRecViewAdapter(this, "alreadyReadBook");
2222

2323
// set adapter
2424
recyclerView.setAdapter(bookRecViewAdapter);

AUBLibrary/app/src/main/java/com/tss/aublibrary/BookRecViewAdapter.java

+129-1
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,20 @@
44

55
import android.annotation.SuppressLint;
66
import android.content.Context;
7+
import android.content.DialogInterface;
78
import android.content.Intent;
89
import android.util.Log;
910
import android.view.LayoutInflater;
1011
import android.view.View;
1112
import android.view.ViewGroup;
13+
import android.widget.Button;
1214
import android.widget.ImageView;
1315
import android.widget.RelativeLayout;
1416
import android.widget.TextView;
1517
import android.widget.Toast;
1618

1719
import androidx.annotation.NonNull;
20+
import androidx.appcompat.app.AlertDialog;
1821
import androidx.cardview.widget.CardView;
1922
import androidx.recyclerview.widget.RecyclerView;
2023
import androidx.transition.TransitionManager;
@@ -29,9 +32,11 @@ public class BookRecViewAdapter extends RecyclerView.Adapter<BookRecViewAdapter.
2932

3033
private ArrayList<Book> books = new ArrayList<>();
3134
private Context mContext;
35+
private String parentActivity;
3236

33-
public BookRecViewAdapter(Context mContext) {
37+
public BookRecViewAdapter(Context mContext, String parentActivity) {
3438
this.mContext = mContext;
39+
this.parentActivity = parentActivity;
3540
}
3641

3742
@NonNull
@@ -70,6 +75,127 @@ public void onClick(View v) {
7075
TransitionManager.beginDelayedTransition(holder.parent);
7176
holder.expandedRelLayout.setVisibility(View.VISIBLE);
7277
holder.downArrow.setVisibility(View.GONE);
78+
String removedBookName = books.get(position).getName();
79+
80+
if (parentActivity.equals("allBooks")) {
81+
holder.btnDelete.setVisibility(View.GONE);
82+
} else if (parentActivity.equals("alreadyReadBook")) {
83+
holder.btnDelete.setVisibility(View.VISIBLE);
84+
// String removedBookName = books.get(position).getName();
85+
holder.btnDelete.setOnClickListener(new View.OnClickListener() {
86+
@Override
87+
public void onClick(View v) {
88+
AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
89+
builder.setMessage("Are you sure you want to delete " + removedBookName);
90+
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
91+
@Override
92+
public void onClick(DialogInterface dialog, int which) {
93+
if (Utils.getInstance().removeFromAlreadyRead(books.get(position))) {
94+
Toast.makeText(mContext, removedBookName + " Removed!", Toast.LENGTH_SHORT).show();
95+
notifyDataSetChanged();
96+
} else {
97+
Toast.makeText(mContext, "Something wrong happened,\nPlease try again!", Toast.LENGTH_SHORT).show();
98+
}
99+
}
100+
});
101+
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
102+
@Override
103+
public void onClick(DialogInterface dialog, int which) {
104+
//
105+
}
106+
});
107+
108+
builder.create().show();
109+
}
110+
});
111+
} else if (parentActivity.equals("wantToReadBooks")) {
112+
holder.btnDelete.setVisibility(View.VISIBLE);
113+
// String removedBookName = books.get(position).getName();
114+
holder.btnDelete.setOnClickListener(new View.OnClickListener() {
115+
@Override
116+
public void onClick(View v) {
117+
AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
118+
builder.setMessage("Are you sure you want to delete " + removedBookName);
119+
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
120+
@Override
121+
public void onClick(DialogInterface dialog, int which) {
122+
if (Utils.getInstance().removeFromWantToRead(books.get(position))) {
123+
Toast.makeText(mContext, removedBookName + " Removed!", Toast.LENGTH_SHORT).show();
124+
notifyDataSetChanged();
125+
} else {
126+
Toast.makeText(mContext, "Something wrong happened,\nPlease try again!", Toast.LENGTH_SHORT).show();
127+
}
128+
}
129+
});
130+
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
131+
@Override
132+
public void onClick(DialogInterface dialog, int which) {
133+
//
134+
}
135+
});
136+
137+
builder.create().show();
138+
}
139+
});
140+
} else if (parentActivity.equals(("currentlyReadingBooks"))) {
141+
holder.btnDelete.setVisibility(View.VISIBLE);
142+
// String removedBookName = books.get(position).getName();
143+
holder.btnDelete.setOnClickListener(new View.OnClickListener() {
144+
@Override
145+
public void onClick(View v) {
146+
AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
147+
builder.setMessage("Are you sure you want to delete " + removedBookName);
148+
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
149+
@Override
150+
public void onClick(DialogInterface dialog, int which) {
151+
if (Utils.getInstance().removeFromCurrentlyReading(books.get(position))) {
152+
Toast.makeText(mContext, removedBookName + " Removed!", Toast.LENGTH_SHORT).show();
153+
notifyDataSetChanged();
154+
} else {
155+
Toast.makeText(mContext, "Something wrong happened,\nPlease try again!", Toast.LENGTH_SHORT).show();
156+
}
157+
}
158+
});
159+
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
160+
@Override
161+
public void onClick(DialogInterface dialog, int which) {
162+
//
163+
}
164+
});
165+
166+
builder.create().show();
167+
}
168+
});
169+
} else {
170+
holder.btnDelete.setVisibility(View.VISIBLE);
171+
// String removedBookName = books.get(position).getName();
172+
holder.btnDelete.setOnClickListener(new View.OnClickListener() {
173+
@Override
174+
public void onClick(View v) {
175+
AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
176+
builder.setMessage("Are you sure you want to delete " + removedBookName);
177+
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
178+
@Override
179+
public void onClick(DialogInterface dialog, int which) {
180+
if (Utils.getInstance().removeFromFavourite(books.get(position))) {
181+
Toast.makeText(mContext, removedBookName + " Removed!", Toast.LENGTH_SHORT).show();
182+
notifyDataSetChanged();
183+
} else {
184+
Toast.makeText(mContext, "Something wrong happened,\nPlease try again!", Toast.LENGTH_SHORT).show();
185+
}
186+
}
187+
});
188+
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
189+
@Override
190+
public void onClick(DialogInterface dialog, int which) {
191+
//
192+
}
193+
});
194+
195+
builder.create().show();
196+
}
197+
});
198+
}
73199
} else {
74200
TransitionManager.beginDelayedTransition(holder.parent);
75201
holder.expandedRelLayout.setVisibility(View.GONE);
@@ -95,6 +221,7 @@ public class ViewHolder extends RecyclerView.ViewHolder {
95221
private ImageView downArrow, upArrow;
96222
private RelativeLayout expandedRelLayout;
97223
private TextView txtAuthor, txtDescription;
224+
private TextView btnDelete;
98225

99226
public ViewHolder(@NonNull View itemView) {
100227
super(itemView);
@@ -109,6 +236,7 @@ public ViewHolder(@NonNull View itemView) {
109236
expandedRelLayout = itemView.findViewById(R.id.expandedRelLayout);
110237
txtAuthor = itemView.findViewById(R.id.txtAuthor);
111238
txtDescription = itemView.findViewById(R.id.shortDesc);
239+
btnDelete = itemView.findViewById(R.id.btnDelete);
112240

113241
// set click listener
114242
downArrow.setOnClickListener(new View.OnClickListener() {

AUBLibrary/app/src/main/java/com/tss/aublibrary/CurrentlyReadingBookActivity.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ protected void onCreate(Bundle savedInstanceState) {
1818
RecyclerView recyclerView = findViewById(R.id.currentlyReadingBookRecView);
1919

2020
// create adapter
21-
BookRecViewAdapter bookRecViewAdapter = new BookRecViewAdapter(this);
21+
BookRecViewAdapter bookRecViewAdapter = new BookRecViewAdapter(this, "currentlyReadingBooks");
2222

2323
// set adapter
2424
recyclerView.setAdapter(bookRecViewAdapter);

AUBLibrary/app/src/main/java/com/tss/aublibrary/FavoriteActivity.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ protected void onCreate(Bundle savedInstanceState) {
1818
RecyclerView recyclerView = findViewById(R.id.favBookRecView);
1919

2020
// create adapter
21-
BookRecViewAdapter bookRecViewAdapter = new BookRecViewAdapter(this);
21+
BookRecViewAdapter bookRecViewAdapter = new BookRecViewAdapter(this, "favoriteBooks");
2222

2323
// set adapter
2424
recyclerView.setAdapter(bookRecViewAdapter);

AUBLibrary/app/src/main/java/com/tss/aublibrary/Utils.java

+16
Original file line numberDiff line numberDiff line change
@@ -99,4 +99,20 @@ public boolean addToFavorite(Book book) {
9999
public boolean addCurrentlyReading(Book book) {
100100
return currentlyReadingBooks.add(book);
101101
}
102+
103+
public boolean removeFromAlreadyRead(Book book) {
104+
return alreadyReadBook.remove(book);
105+
}
106+
107+
public boolean removeFromWantToRead(Book book) {
108+
return wantToReadBooks.remove(book);
109+
}
110+
111+
public boolean removeFromCurrentlyReading(Book book) {
112+
return currentlyReadingBooks.remove(book);
113+
}
114+
115+
public boolean removeFromFavourite(Book book) {
116+
return favoriteBooks.remove(book);
117+
}
102118
}

AUBLibrary/app/src/main/java/com/tss/aublibrary/WantToReadActivity.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ protected void onCreate(Bundle savedInstanceState) {
1818
RecyclerView recyclerView = findViewById(R.id.booksRecView);
1919

2020
// create adapter
21-
BookRecViewAdapter bookRecViewAdapter = new BookRecViewAdapter(this);
21+
BookRecViewAdapter bookRecViewAdapter = new BookRecViewAdapter(this, "wantToReadBooks");
2222

2323
// set adapter
2424
recyclerView.setAdapter(bookRecViewAdapter);

AUBLibrary/app/src/main/res/layout/list_item_book.xml

+11
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,17 @@
8181
android:layout_alignParentRight="true"
8282
android:id="@+id/btnUpArrow"/>
8383

84+
<TextView
85+
android:layout_width="wrap_content"
86+
android:layout_height="wrap_content"
87+
android:text="Delete"
88+
android:layout_below="@id/shortDesc"
89+
android:layout_toStartOf="@id/btnUpArrow"
90+
android:layout_marginEnd="7dp"
91+
android:textColor="@color/remv_red"
92+
android:id="@+id/btnDelete"
93+
android:visibility="gone"/>
94+
8495
</RelativeLayout>
8596

8697
</RelativeLayout>

AUBLibrary/app/src/main/res/values/colors.xml

+1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@
99
<color name="white">#FFFFFFFF</color>
1010

1111
<color name="_aub_green">#3b7e5f</color>
12+
<color name="remv_red">#ED0707</color>
1213
</resources>

FaceDetection/app/src/main/java/com/tss/facedetection/MainActivity.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) {
145145
// SELECT_PICTURE constant
146146
if (requestCode == SELECT_PICTURE) {
147147
// Get the url of the image from data
148-
Uri selectedImageUri = data.getData();
148+
Uri selectedImageUri = data.getData(); // TODO: maybe Uri need to be removed from this statement
149149
if (null != selectedImageUri) {
150150
// update the preview image in the layout
151151
IVPreviewImage.setImageURI(selectedImageUri);

0 commit comments

Comments
 (0)