Skip to content

Commit 7e2a229

Browse files
committed
# Conflicts: resolved # library/build.gradle
2 parents b25f3d9 + 28b91d4 commit 7e2a229

File tree

15 files changed

+375
-259
lines changed

15 files changed

+375
-259
lines changed

build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ buildscript {
1010
repositories {
1111
google()
1212
jcenter()
13-
1413
}
1514

1615
dependencies {

library/build.gradle

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,8 @@ dependencies {
6161
api 'com.google.android.exoplayer:exoplayer-dash:2.9.6'
6262
api 'com.google.android.exoplayer:exoplayer-hls:2.9.6'
6363
api 'com.google.android.exoplayer:exoplayer-smoothstreaming:2.9.6'
64-
65-
// testImplementation 'junit:junit:4.12'
66-
// androidTestImplementation 'com.android.support.test:runner:1.0.2'
67-
// androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
64+
testImplementation 'com.github.junit-team.junit5:junit-jupiter:r5.5.1'
65+
testImplementation 'com.github.junit-team.junit5:junit-bom:r5.5.1'
6866
// JWT TOKEN
6967
// implementation 'io.jsonwebtoken:jjwt-api:0.10.5'
7068
// implementation 'io.jsonwebtoken:jjwt-impl:0.10.5'

library/src/main/java/com/getstream/sdk/chat/adapter/ChannelListItemAdapter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,8 @@ private void configChannelInfo(ListItemChannelBinding binding, ChannelResponse c
128128
if (!TextUtils.isEmpty(channel.getName())) {
129129
binding.tvInitials.setText(channel.getInitials());
130130
binding.tvName.setText(channel.getName());
131-
Utils.circleImageLoad(binding.ivAvatar, channel.getImageURL());
132-
if (StringUtility.isValidImageUrl(channel.getImageURL())) {
131+
Utils.circleImageLoad(binding.ivAvatar, channel.getImage());
132+
if (StringUtility.isValidImageUrl(channel.getImage())) {
133133
binding.ivAvatar.setVisibility(View.VISIBLE);
134134
binding.tvInitials.setVisibility(View.INVISIBLE);
135135
} else {

library/src/main/java/com/getstream/sdk/chat/component/Component.java

Lines changed: 16 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,9 @@
22

33
import com.getstream.sdk.chat.R;
44
import com.getstream.sdk.chat.adapter.MessageListItemViewHolder;
5-
import com.getstream.sdk.chat.enums.FilterQuery;
5+
import com.getstream.sdk.chat.enums.FilterObject;
66
import com.getstream.sdk.chat.enums.ReadIndicator;
77

8-
import java.util.List;
98
import java.util.Map;
109

1110
/**
@@ -23,8 +22,12 @@ public class Component{
2322
public class Channel{
2423
private boolean invitation = true;
2524
private boolean showReadIndicator = true;
26-
private List<FilterOption> filterOptions;
27-
private FilterQuery query;
25+
26+
public FilterObject getFilter() {
27+
return _filter;
28+
}
29+
30+
private FilterObject _filter;
2831
private Map<String, Object> sortOptions;
2932
private ReadIndicator readIndicator = ReadIndicator.LAST_READ_USER;
3033
/**
@@ -65,25 +68,14 @@ public void setInvitation(boolean invitation) {
6568
this.invitation = invitation;
6669
}
6770

68-
public List<FilterOption> getFilterOptions() {
69-
return filterOptions;
70-
}
7171
/**
7272
* Setter Method for Channels filter option
73-
* @param query FilterQuery for query operator
74-
* @param filterOptions Query syntax
73+
* @param filter FilterQuery for query operator
7574
*/
76-
public void setFilterOptions(FilterQuery query, List<FilterOption> filterOptions) {
77-
this.query = query;
78-
this.filterOptions = filterOptions;
75+
public void filter(FilterObject filter) {
76+
this._filter = filter;
7977
}
8078

81-
82-
public FilterQuery getQuery() {
83-
return query;
84-
}
85-
86-
8779
public Map<String, Object> getSortOptions() {
8880
return sortOptions;
8981
}
@@ -101,27 +93,21 @@ public void setSortOptions(Map<String, Object> sortOptions) {
10193
*/
10294
public class User {
10395

104-
private List<FilterOption> filterOptions;
105-
private FilterQuery query;
96+
private FilterObject _filter;
10697
private Map<String, Object> sortOptions;
10798

108-
public List<FilterOption> getFilterOptions() {
109-
return filterOptions;
99+
public FilterObject getFilter() {
100+
return _filter;
110101
}
111102

112103
/**
113104
* Setter Method for Users filter option
114-
* @param query FilterQuery for query operator
115-
* @param filterOptions Query syntax
105+
* @param filter FilterQuery for query operator
116106
*/
117-
public void setFilterOptions(FilterQuery query, List<FilterOption> filterOptions) {
118-
this.filterOptions = filterOptions;
119-
this.query = query;
107+
public void filter(FilterObject filter) {
108+
this._filter = filter;
120109
}
121110

122-
public FilterQuery getQuery() {
123-
return query;
124-
}
125111

126112
public Map<String, Object> getSortOptions() {
127113
return sortOptions;

library/src/main/java/com/getstream/sdk/chat/component/FilterOption.java

Lines changed: 0 additions & 26 deletions
This file was deleted.
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
package com.getstream.sdk.chat.enums;
2+
3+
import com.google.gson.annotations.JsonAdapter;
4+
5+
import java.util.ArrayList;
6+
import java.util.HashMap;
7+
import java.util.Map;
8+
9+
/**
10+
* FilterObject holds the filtering data
11+
*
12+
* If you need to serialize this to JSON make sure to either use gson or serialize the result of
13+
* getData()
14+
**/
15+
@JsonAdapter(FilterObjectAdapter.class)
16+
public class FilterObject {
17+
18+
public HashMap<String, Object> getData() {
19+
HashMap<String, Object> data = new HashMap<>();
20+
for (Map.Entry<String, Object> set: this.data.entrySet()) {
21+
if (set.getValue() instanceof FilterObject) {
22+
data.put(set.getKey(), ((FilterObject) set.getValue()).getData());
23+
continue;
24+
}
25+
if (set.getValue() instanceof FilterObject[]){
26+
ArrayList<HashMap<String, Object>> listOfMaps = new ArrayList<>();
27+
FilterObject[] values = (FilterObject[]) set.getValue();
28+
for (FilterObject subVal: values) {
29+
listOfMaps.add(subVal.getData());
30+
}
31+
data.put(set.getKey(), listOfMaps);
32+
continue;
33+
}
34+
data.put(set.getKey(), set.getValue());
35+
}
36+
return data;
37+
}
38+
39+
private HashMap<String, Object> data;
40+
41+
public FilterObject(HashMap<String, Object> data) {
42+
this.data = data;
43+
}
44+
45+
public FilterObject(String key, Object v) {
46+
this.data = new HashMap<>();
47+
this.data.put(key, v);
48+
}
49+
50+
public FilterObject put(String key, Object v) {
51+
HashMap<String, Object> clone = new HashMap<>(this.data);
52+
clone.put(key, v);
53+
return new FilterObject(clone);
54+
}
55+
56+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.getstream.sdk.chat.enums;
2+
3+
import com.google.gson.Gson;
4+
import com.google.gson.TypeAdapter;
5+
import com.google.gson.stream.JsonReader;
6+
import com.google.gson.stream.JsonWriter;
7+
8+
import java.io.IOException;
9+
import java.util.HashMap;
10+
11+
12+
/**
13+
* FilterObjectAdapter makes it easier to serialize this to JSON via gson
14+
**/
15+
class FilterObjectAdapter extends TypeAdapter<FilterObject> {
16+
@Override
17+
public void write(JsonWriter out, FilterObject value) throws IOException {
18+
TypeAdapter adapter = new Gson().getAdapter(HashMap.class);
19+
adapter.write(out, value.getData());
20+
}
21+
22+
@Override
23+
public FilterObject read(JsonReader in) throws IOException {
24+
throw new IOException("not supported");
25+
}
26+
}

library/src/main/java/com/getstream/sdk/chat/enums/FilterQuery.java

Lines changed: 0 additions & 31 deletions
This file was deleted.
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
package com.getstream.sdk.chat.enums;
2+
3+
import java.util.List;
4+
5+
/**
6+
* Filters a set of static methods to build a filter object
7+
**/
8+
public class Filters {
9+
10+
static public FilterObject and(FilterObject... filters) {
11+
return new FilterObject("$and", filters);
12+
}
13+
14+
static public FilterObject or(FilterObject... filters) {
15+
return new FilterObject("$or", filters);
16+
}
17+
18+
static public FilterObject nor(FilterObject... filters) {
19+
return new FilterObject("$nor", filters);
20+
}
21+
22+
static public FilterObject eq(String field, Object value){
23+
return new FilterObject(field, value);
24+
}
25+
26+
static public FilterObject ne(String field, Object value){
27+
return new FilterObject(field, new FilterObject("$ne", value));
28+
}
29+
30+
static public FilterObject greaterThan(String field, Object value){
31+
return new FilterObject(field, new FilterObject("$gt", value));
32+
}
33+
34+
static public FilterObject greaterThanEquals(String field, Object value){
35+
return new FilterObject(field, new FilterObject("$gte", value));
36+
}
37+
38+
static public FilterObject lessThan(String field, Object value){
39+
return new FilterObject(field, new FilterObject("$lt", value));
40+
}
41+
42+
static public FilterObject lessThanEquals(String field, Object value){
43+
return new FilterObject(field, new FilterObject("$lte", value));
44+
}
45+
46+
static public FilterObject in(String field, String... values){
47+
return new FilterObject(field, new FilterObject("$in", values));
48+
}
49+
50+
static public FilterObject in(String field, List values){
51+
return new FilterObject(field, new FilterObject("$in", values));
52+
}
53+
54+
static public FilterObject in(String field, Number... values){
55+
return new FilterObject(field, new FilterObject("$in", values));
56+
}
57+
58+
static public FilterObject nin(String field, String... values){
59+
return new FilterObject(field, new FilterObject("$nin", values));
60+
}
61+
62+
static public FilterObject nin(String field, List values){
63+
return new FilterObject(field, new FilterObject("$nin", values));
64+
}
65+
66+
static public FilterObject nin(String field, Number... values){
67+
return new FilterObject(field, new FilterObject("$nin", values));
68+
}
69+
}

0 commit comments

Comments
 (0)