Skip to content

Commit 9d124ae

Browse files
committed
Merge remote-tracking branch 'refs/remotes/commons-app/master'
2 parents d9caee8 + 6f19446 commit 9d124ae

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+626
-425
lines changed

CREDITS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ their contribution to the product.
2424
* Dmitry Brant
2525
* Adam Shorland
2626
* John Lubbock
27+
* Mikel Pascual
28+
* Jan Piotrowski
2729

2830
3rd party open source libraries used:
2931
* Butterknife

app/src/main/java/fr/free/nrw/commons/CommonsApplication.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import android.database.sqlite.SQLiteDatabase;
1212
import android.preference.PreferenceManager;
1313
import android.support.v4.util.LruCache;
14+
import android.util.Log;
1415

1516
import com.facebook.drawee.backends.pipeline.Fresco;
1617
import com.facebook.stetho.Stetho;
@@ -139,6 +140,10 @@ public void onCreate() {
139140
System.setProperty("in.yuvi.http.fluent.PROGRESS_TRIGGER_THRESHOLD", "3.0");
140141

141142
Fresco.initialize(this);
143+
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(
144+
CommonsApplication.getInstance());
145+
// Increase counter by one, starts from 1
146+
prefs.edit().putInt("app_start_counter", prefs.getInt("app_start_counter" ,0) + 1).commit();
142147

143148
//For caching area -> categories
144149
cacheData = new CacheController();

app/src/main/java/fr/free/nrw/commons/Media.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ public void setLicense(String license) {
142142
return coordinates;
143143
}
144144

145-
public void setCoordinates(LatLng coordinates) {
145+
public void setCoordinates(@Nullable LatLng coordinates) {
146146
this.coordinates = coordinates;
147147
}
148148

@@ -201,7 +201,7 @@ public Media(String filename) {
201201
this.filename = filename;
202202
}
203203

204-
public Media(Uri localUri, String imageUrl, String filename, String description, long dataLength, Date dateCreated, Date dateUploaded, String creator) {
204+
public Media(Uri localUri, String imageUrl, String filename, String description, long dataLength, Date dateCreated, @Nullable Date dateUploaded, String creator) {
205205
this();
206206
this.localUri = localUri;
207207
this.imageUrl = imageUrl;

app/src/main/java/fr/free/nrw/commons/category/CategoriesAdapter.java

Lines changed: 0 additions & 67 deletions
This file was deleted.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package fr.free.nrw.commons.category;
2+
3+
import com.pedrogomez.renderers.ListAdapteeCollection;
4+
import com.pedrogomez.renderers.RVRendererAdapter;
5+
import com.pedrogomez.renderers.RendererBuilder;
6+
7+
import java.util.Collections;
8+
import java.util.List;
9+
10+
class CategoriesAdapterFactory {
11+
private final CategoriesRenderer.CategoryClickedListener listener;
12+
13+
CategoriesAdapterFactory(CategoriesRenderer.CategoryClickedListener listener) {
14+
this.listener = listener;
15+
}
16+
17+
public RVRendererAdapter<CategoryItem> create(List<CategoryItem> placeList) {
18+
RendererBuilder<CategoryItem> builder = new RendererBuilder<CategoryItem>()
19+
.bind(CategoryItem.class, new CategoriesRenderer(listener));
20+
ListAdapteeCollection<CategoryItem> collection = new ListAdapteeCollection<>(
21+
placeList != null ? placeList : Collections.<CategoryItem>emptyList());
22+
return new RVRendererAdapter<>(builder, collection);
23+
}
24+
}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package fr.free.nrw.commons.category;
2+
3+
import android.view.LayoutInflater;
4+
import android.view.View;
5+
import android.view.ViewGroup;
6+
import android.widget.CheckedTextView;
7+
8+
import com.pedrogomez.renderers.Renderer;
9+
10+
import butterknife.BindView;
11+
import butterknife.ButterKnife;
12+
import fr.free.nrw.commons.R;
13+
14+
class CategoriesRenderer extends Renderer<CategoryItem> {
15+
@BindView(R.id.tvName) CheckedTextView checkedView;
16+
private final CategoryClickedListener listener;
17+
18+
CategoriesRenderer(CategoryClickedListener listener) {
19+
this.listener = listener;
20+
}
21+
22+
@Override
23+
protected View inflate(LayoutInflater layoutInflater, ViewGroup viewGroup) {
24+
return layoutInflater.inflate(R.layout.layout_categories_item, viewGroup, false);
25+
}
26+
27+
@Override
28+
protected void setUpView(View view) {
29+
ButterKnife.bind(this, view);
30+
}
31+
32+
@Override
33+
protected void hookListeners(View view) {
34+
view.setOnClickListener(new View.OnClickListener() {
35+
@Override
36+
public void onClick(View v) {
37+
CategoryItem item = getContent();
38+
item.setSelected(!item.isSelected());
39+
checkedView.setChecked(item.isSelected());
40+
if (listener != null) {
41+
listener.categoryClicked(item);
42+
}
43+
}
44+
});
45+
}
46+
47+
@Override
48+
public void render() {
49+
CategoryItem item = getContent();
50+
checkedView.setChecked(item.isSelected());
51+
checkedView.setText(item.getName());
52+
}
53+
54+
interface CategoryClickedListener {
55+
void categoryClicked(CategoryItem item);
56+
}
57+
}

0 commit comments

Comments
 (0)