Skip to content

Commit 5f62a27

Browse files
committed
Fixed issue BuildmLearn#271
1 parent e9c8607 commit 5f62a27

File tree

7 files changed

+40
-6
lines changed

7 files changed

+40
-6
lines changed

source-code/app/src/main/java/org/buildmlearn/toolkit/adapter/DraftProjectAdapter.java

+4
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,10 @@ public View getView(int position, View convertView, ViewGroup parent) {
119119
holder.draftTitle.setText(String.format(Locale.ENGLISH, "Drafted on %s", projectData.getDate()));
120120
holder.draftIcon.setText("D");
121121
convertView.setTag(holder);
122+
if (projectData.isSelected())
123+
{
124+
convertView.setBackgroundColor(ContextCompat.getColor(mContext, R.color.color_divider));
125+
}
122126
return convertView;
123127
}
124128

source-code/app/src/main/java/org/buildmlearn/toolkit/adapter/SavedApiAdapter.java

+4
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,10 @@ public View getView(int position, View convertView, ViewGroup parent) {
119119
holder.apkName.setText(apiData.getName());
120120
holder.projectIcon.setText(apiData.getName().substring(0, 1).toUpperCase(Locale.US));
121121
convertView.setTag(holder);
122+
if (apiData.isSelected())
123+
{
124+
convertView.setBackgroundColor(ContextCompat.getColor(mContext, R.color.color_divider));
125+
}
122126
return convertView;
123127
}
124128

source-code/app/src/main/java/org/buildmlearn/toolkit/fragment/DraftsFragment.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -324,11 +324,12 @@ public void onClick(View v) {
324324
for(int i=0;i<mAdapter.getCount();i++) {
325325
if (!mAdapter.isPositionSelected(i))
326326
{
327-
mListView.getChildAt(i).setBackgroundColor(ContextCompat.getColor(mToolkit, R.color.color_divider));
327+
draftProjects.get(i).setSelected(true);
328328
mAdapter.putSelectedPosition(i);
329329
changeColorScheme();
330330
}
331331
}
332+
mAdapter.notifyDataSetChanged();
332333
break;
333334

334335
case R.id.action_unselect_all:
@@ -363,9 +364,10 @@ public void onClick(View v) {
363364
private void unselectAll() {
364365
for (int i = 0; i < mAdapter.getCount(); i++)
365366
if (mAdapter.isPositionSelected(i)) {
366-
mListView.getChildAt(i).setBackgroundColor(0);
367+
draftProjects.get(i).setSelected(false);
367368
mAdapter.removeSelectedPosition(i);
368369
}
370+
mAdapter.notifyDataSetChanged();
369371
restoreColorScheme();
370372
}
371373

source-code/app/src/main/java/org/buildmlearn/toolkit/fragment/LoadApkFragment.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -416,11 +416,12 @@ public boolean onKey(View v, int keyCode, KeyEvent event) {
416416
for(int i=0;i<mAdapter.getCount();i++) {
417417
if (!mAdapter.isPositionSelected(i))
418418
{
419-
mListView.getChildAt(i).setBackgroundColor(ContextCompat.getColor(mToolkit, R.color.color_divider));
419+
savedApis.get(i).setSelected(true);
420420
mAdapter.putSelectedPosition(i);
421421
changeColorScheme();
422422
}
423423
}
424+
mAdapter.notifyDataSetChanged();
424425
break;
425426

426427
case R.id.action_unselect_all:
@@ -436,10 +437,11 @@ public boolean onKey(View v, int keyCode, KeyEvent event) {
436437
public void unselectAll() {
437438
for (int i = 0; i < mAdapter.getCount(); i++)
438439
if (mAdapter.isPositionSelected(i)) {
439-
mListView.getChildAt(i).setBackgroundColor(0);
440+
savedApis.get(i).setSelected(false);
440441
mAdapter.removeSelectedPosition(i);
441442
}
442443
restoreColorScheme();
444+
mAdapter.notifyDataSetChanged();
443445
}
444446

445447
/**

source-code/app/src/main/java/org/buildmlearn/toolkit/fragment/LoadProjectFragment.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -456,11 +456,12 @@ public boolean onKey(View v, int keyCode, KeyEvent event) {
456456
for(int i=0;i<mAdapter.getCount();i++) {
457457
if (!mAdapter.isPositionSelected(i))
458458
{
459-
mListView.getChildAt(i).setBackgroundColor(ContextCompat.getColor(mToolkit, R.color.color_divider));
459+
savedProjects.get(i).setSelected(true);
460460
mAdapter.putSelectedPosition(i);
461461
changeColorScheme();
462462
}
463463
}
464+
mAdapter.notifyDataSetChanged();
464465
break;
465466

466467
case R.id.action_unselect_all:
@@ -476,10 +477,11 @@ public boolean onKey(View v, int keyCode, KeyEvent event) {
476477
private void unselectAll() {
477478
for (int i = 0; i < mAdapter.getCount(); i++)
478479
if (mAdapter.isPositionSelected(i)) {
479-
mListView.getChildAt(i).setBackgroundColor(0);
480+
savedProjects.get(i).setSelected(false);
480481
mAdapter.removeSelectedPosition(i);
481482
}
482483
restoreColorScheme();
484+
mAdapter.notifyDataSetChanged();
483485
}
484486

485487
/**

source-code/app/src/main/java/org/buildmlearn/toolkit/model/SavedApi.java

+10
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,16 @@ public class SavedApi {
1818
private String name;
1919
private String author;
2020

21+
public boolean isSelected() {
22+
return isSelected;
23+
}
24+
25+
public void setSelected(boolean selected) {
26+
isSelected = selected;
27+
}
28+
29+
private boolean isSelected = false;
30+
2131
public SavedApi(File file, String fileName, long date) {
2232

2333
this.file = file;

source-code/app/src/main/java/org/buildmlearn/toolkit/model/SavedProject.java

+10
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,16 @@ public class SavedProject {
1919
private String author;
2020
private long unformattedDate;
2121

22+
public boolean isSelected() {
23+
return isSelected;
24+
}
25+
26+
public void setSelected(boolean selected) {
27+
isSelected = selected;
28+
}
29+
30+
private boolean isSelected = false;
31+
2232
public SavedProject(File file, String fileName, long date, String type, String fullPath) {
2333

2434
this.file = file;

0 commit comments

Comments
 (0)