Skip to content

Commit e67b54e

Browse files
committed
Merge branch 'bug-fixes' of https://github.com/BuildmLearn/BuildmLearn-Toolkit-Android into bug-fixes
2 parents 305ff3c + 5f316e6 commit e67b54e

23 files changed

Lines changed: 423 additions & 145 deletions

source-code/app/build.gradle

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ android {
4747
lintOptions {
4848
abortOnError false
4949
}
50+
sourceSets { main { res.srcDirs = ['src/main/res', 'src/main/res/anim'] } }
5051
}
5152

5253
dependencies {
@@ -71,8 +72,6 @@ dependencies {
7172
compile files('libs/axml.jar')
7273
compile 'com.viewpagerindicator:library:2.4.1@aar'
7374
compile 'com.nineoldandroids:library:2.4.0'
74-
compile 'com.daimajia.easing:library:1.0.1@aar'
75-
compile 'com.daimajia.androidanimations:library:1.1.3@aar'
7675
compile 'com.squareup.picasso:picasso:2.5.2'
7776
compile 'org.jsoup:jsoup:1.9.1'
7877
androidTestCompile 'com.android.support:support-annotations:23.4.0'

source-code/app/src/main/java/org/buildmlearn/toolkit/activity/FirstRunActivity.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77
import android.support.v7.app.AppCompatActivity;
88
import android.view.KeyEvent;
99
import android.view.View;
10+
import android.view.animation.Animation;
11+
import android.view.animation.AnimationUtils;
1012
import android.widget.EditText;
1113
import android.widget.Toast;
1214

1315
import com.crashlytics.android.Crashlytics;
14-
import com.daimajia.androidanimations.library.Techniques;
15-
import com.daimajia.androidanimations.library.YoYo;
1616

1717
import org.buildmlearn.toolkit.R;
1818
import org.buildmlearn.toolkit.constant.Constants;
@@ -46,13 +46,9 @@ protected void onCreate(Bundle savedInstanceState) {
4646

4747

4848
findViewById(R.id.focus_thief).clearFocus();
49-
YoYo.with(Techniques.BounceInUp)
50-
.duration(2700)
51-
.playOn(findViewById(R.id.first_name));
52-
53-
49+
Animation anim_bounceinup=AnimationUtils.loadAnimation(getBaseContext(),R.anim.bounceinup);
5450
name = (EditText) findViewById(R.id.first_name);
55-
51+
name.startAnimation(anim_bounceinup);
5652

5753
name.setOnKeyListener(new View.OnKeyListener() {
5854
@Override

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

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.buildmlearn.toolkit.adapter;
22

33
import android.content.Context;
4+
import android.support.v4.content.ContextCompat;
45
import android.view.LayoutInflater;
56
import android.view.View;
67
import android.view.ViewGroup;
@@ -11,7 +12,10 @@
1112
import org.buildmlearn.toolkit.views.TextViewPlus;
1213

1314
import java.util.ArrayList;
15+
import java.util.Collections;
16+
import java.util.HashMap;
1417
import java.util.Locale;
18+
import java.util.Map;
1519

1620
/**
1721
* @brief Adapter used for showing saved APIs in a list
@@ -23,10 +27,12 @@ public class SavedApiAdapter extends BaseAdapter {
2327

2428
private final Context mContext;
2529
private final ArrayList<SavedApi> data;
30+
private Map selectedPositions;
2631

2732
public SavedApiAdapter(Context mContext, ArrayList<SavedApi> data) {
2833
this.mContext = mContext;
2934
this.data = data;
35+
selectedPositions = new HashMap();
3036
}
3137

3238
/**
@@ -56,6 +62,37 @@ public long getItemId(int i) {
5662
/**
5763
* {@inheritDoc}
5864
*/
65+
66+
public boolean isPositionSelected(int position)
67+
{
68+
return selectedPositions.containsKey(position);
69+
}
70+
71+
public void putSelectedPosition(int position) {
72+
selectedPositions.put(position,true);
73+
}
74+
75+
public ArrayList<Integer> getSelectedPositions()
76+
{
77+
ArrayList<Integer> positions = new ArrayList<>();
78+
for(Object key : selectedPositions.keySet())
79+
{
80+
positions.add((Integer)key);
81+
}
82+
Collections.sort(positions);
83+
return positions;
84+
}
85+
86+
public void removeSelectedPosition(int position)
87+
{
88+
selectedPositions.remove(position);
89+
}
90+
91+
public int selectedPositionsSize()
92+
{
93+
return selectedPositions.size();
94+
}
95+
5996
@Override
6097
public View getView(int position, View convertView, ViewGroup parent) {
6198
LayoutInflater mInflater;
@@ -71,6 +108,12 @@ public View getView(int position, View convertView, ViewGroup parent) {
71108
holder = (ApiHolder) convertView.getTag();
72109
}
73110

111+
if (selectedPositions.containsKey(position)) {
112+
convertView.setBackgroundColor(ContextCompat.getColor(mContext, R.color.color_divider));
113+
} else {
114+
convertView.setBackgroundColor(0);
115+
}
116+
74117
SavedApi apiData = getItem(position);
75118
holder.details.setText(String.format(Locale.ENGLISH, "Modified: %s, Author: ", apiData.getDate(), apiData.getAuthor()));
76119
holder.apkName.setText(apiData.getName());

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

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@
1212
import org.buildmlearn.toolkit.views.TextViewPlus;
1313

1414
import java.util.ArrayList;
15+
import java.util.Collections;
16+
import java.util.HashMap;
1517
import java.util.Locale;
18+
import java.util.Map;
1619

1720
/**
1821
* @brief Adapter used for showing saved projects in a list
@@ -23,12 +26,12 @@ public class SavedProjectAdapter extends BaseAdapter {
2326

2427
private final Context mContext;
2528
private final ArrayList<SavedProject> data;
26-
private int selectedPosition;
29+
private Map selectedPositions;
2730

2831
public SavedProjectAdapter(Context mContext, ArrayList<SavedProject> data) {
2932
this.mContext = mContext;
3033
this.data = data;
31-
selectedPosition = -1;
34+
selectedPositions = new HashMap();
3235
}
3336

3437
/**
@@ -55,14 +58,35 @@ public long getItemId(int i) {
5558
return i;
5659
}
5760

58-
public int getSelectedPosition() {
59-
return selectedPosition;
61+
public boolean isPositionSelected(int position)
62+
{
63+
return selectedPositions.containsKey(position);
6064
}
6165

62-
public void setSelectedPosition(int selectedPosition) {
63-
this.selectedPosition = selectedPosition;
66+
public void putSelectedPosition(int position) {
67+
selectedPositions.put(position,true);
6468
}
6569

70+
public ArrayList<Integer> getSelectedPositions()
71+
{
72+
ArrayList<Integer> positions = new ArrayList<>();
73+
for(Object key : selectedPositions.keySet())
74+
{
75+
positions.add((Integer)key);
76+
}
77+
Collections.sort(positions);
78+
return positions;
79+
}
80+
81+
public void removeSelectedPosition(int position)
82+
{
83+
selectedPositions.remove(position);
84+
}
85+
86+
public int selectedPositionsSize()
87+
{
88+
return selectedPositions.size();
89+
}
6690
/**
6791
* {@inheritDoc}
6892
*/
@@ -81,7 +105,7 @@ public View getView(int position, View convertView, ViewGroup parent) {
81105
holder = (ProjectHolder) convertView.getTag();
82106
}
83107

84-
if (selectedPosition == position) {
108+
if (selectedPositions.containsKey(position)) {
85109
convertView.setBackgroundColor(ContextCompat.getColor(mContext, R.color.color_divider));
86110
} else {
87111
convertView.setBackgroundColor(0);

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,11 +146,13 @@ private void setAdapter(DraftProjectAdapter adapter) {
146146
}
147147

148148
private void setEmptyText() {
149-
149+
getView().findViewById(R.id.newProject).setVisibility(View.GONE);
150+
getView().findViewById(R.id.no_saved_project).setVisibility(View.GONE);
151+
getView().findViewById(R.id.no_saved_apks).setVisibility(View.GONE);
150152
if (mListView.getAdapter().getCount() == 0) {
151-
getView().findViewById(R.id.empty).setVisibility(View.VISIBLE);
153+
getView().findViewById(R.id.no_saved_drafts).setVisibility(View.VISIBLE);
152154
} else {
153-
getView().findViewById(R.id.empty).setVisibility(View.GONE);
155+
getView().findViewById(R.id.no_saved_drafts).setVisibility(View.GONE);
154156
}
155157
}
156158

@@ -251,6 +253,7 @@ public void onPrepareOptionsMenu(Menu menu) {
251253
menu.clear();
252254
if (showTemplateSelectedMenu) {
253255
activity.getMenuInflater().inflate(R.menu.menu_project_selected, menu);
256+
menu.findItem(R.id.action_share).setVisible(false);
254257
} else if (mAdapter.getCount() > 0) {
255258
activity.getMenuInflater().inflate(R.menu.menu_draft, menu);
256259
}

0 commit comments

Comments
 (0)