Skip to content

Commit 229f5d1

Browse files
Eduard Bosch BertranEduard Bosch Bertran
authored andcommitted
Merge commit '0516d241b09d55ea50233a86eff985668da69068' into feat/contains-all-starting-with
2 parents 7c8a423 + 0516d24 commit 229f5d1

18 files changed

+577
-453
lines changed

.travis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
branches:
22
only:
33
- master
4+
- /^\d+\.\d+\.\d+$/ # regex
45

56
language: android
67
sudo: false
@@ -12,10 +13,9 @@ android:
1213
components:
1314
- tools
1415
- platform-tools
15-
- build-tools-25.0.2
16+
- build-tools-25.0.3
1617
- android-25
1718
- doc-25
18-
- extra-android-m2repository
1919

2020
before_install:
2121
- pip install --user codecov

Parse/build.gradle

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ apply plugin: 'com.github.kt3k.coveralls'
55
apply plugin: 'com.jfrog.bintray'
66

77
group = 'com.parse'
8-
version = '1.15.8-SNAPSHOT'
8+
version = '1.15.8'
99

1010
ext {
1111
projDescription = 'A library that gives you access to the powerful Parse cloud platform from your Android app.'
@@ -51,14 +51,13 @@ android {
5151
}
5252

5353
ext {
54-
okhttpVersion = '3.6.0'
54+
okhttpVersion = '3.8.0'
5555
}
5656

5757
dependencies {
5858
compile "com.android.support:support-annotations:$supportLibVersion"
5959
compile 'com.parse.bolts:bolts-tasks:1.4.0'
6060
compile "com.squareup.okhttp3:okhttp:$okhttpVersion"
61-
provided 'com.facebook.stetho:stetho:1.4.2'
6261

6362
//Be aware, tests fail on 3.3.2 Wait to update until
6463
//java.lang.NoClassDefFoundError: android/content/pm/VersionedPackage

Parse/src/main/java/com/parse/Parse.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ static void setLocalDatastore(OfflineStore offlineStore) {
259259
Parse.offlineStore = offlineStore;
260260
}
261261

262-
static boolean isLocalDatastoreEnabled() {
262+
public static boolean isLocalDatastoreEnabled() {
263263
return isLocalDatastoreEnabled;
264264
}
265265

Parse/src/main/java/com/parse/ParseFieldOperation.java

Lines changed: 0 additions & 233 deletions
Original file line numberDiff line numberDiff line change
@@ -81,236 +81,3 @@
8181
Object apply(Object oldValue, String key);
8282
}
8383

84-
final class ParseFieldOperations {
85-
private ParseFieldOperations() {
86-
}
87-
88-
/**
89-
* A function that creates a ParseFieldOperation from a JSONObject or a Parcel.
90-
*/
91-
private interface ParseFieldOperationFactory {
92-
ParseFieldOperation decode(JSONObject object, ParseDecoder decoder) throws JSONException;
93-
ParseFieldOperation decode(Parcel source, ParseParcelDecoder decoder);
94-
}
95-
96-
// A map of all known decoders.
97-
private static Map<String, ParseFieldOperationFactory> opDecoderMap = new HashMap<>();
98-
99-
/**
100-
* Registers a single factory for a given __op field value.
101-
*/
102-
private static void registerDecoder(String opName, ParseFieldOperationFactory factory) {
103-
opDecoderMap.put(opName, factory);
104-
}
105-
106-
/**
107-
* Registers a list of default decoder functions that convert a JSONObject with an __op field,
108-
* or a Parcel with a op name string, into a ParseFieldOperation.
109-
*/
110-
static void registerDefaultDecoders() {
111-
registerDecoder(ParseRelationOperation.OP_NAME_BATCH, new ParseFieldOperationFactory() {
112-
@Override
113-
public ParseFieldOperation decode(JSONObject object, ParseDecoder decoder)
114-
throws JSONException {
115-
ParseFieldOperation op = null;
116-
JSONArray ops = object.getJSONArray("ops");
117-
for (int i = 0; i < ops.length(); ++i) {
118-
ParseFieldOperation nextOp = ParseFieldOperations.decode(ops.getJSONObject(i), decoder);
119-
op = nextOp.mergeWithPrevious(op);
120-
}
121-
return op;
122-
}
123-
124-
@Override
125-
public ParseFieldOperation decode(Parcel source, ParseParcelDecoder decoder) {
126-
// Decode AddRelation and then RemoveRelation
127-
ParseFieldOperation add = ParseFieldOperations.decode(source, decoder);
128-
ParseFieldOperation remove = ParseFieldOperations.decode(source, decoder);
129-
return remove.mergeWithPrevious(add);
130-
}
131-
});
132-
133-
registerDecoder(ParseDeleteOperation.OP_NAME, new ParseFieldOperationFactory() {
134-
@Override
135-
public ParseFieldOperation decode(JSONObject object, ParseDecoder decoder)
136-
throws JSONException {
137-
return ParseDeleteOperation.getInstance();
138-
}
139-
140-
@Override
141-
public ParseFieldOperation decode(Parcel source, ParseParcelDecoder decoder) {
142-
return ParseDeleteOperation.getInstance();
143-
}
144-
});
145-
146-
registerDecoder(ParseIncrementOperation.OP_NAME, new ParseFieldOperationFactory() {
147-
@Override
148-
public ParseFieldOperation decode(JSONObject object, ParseDecoder decoder)
149-
throws JSONException {
150-
return new ParseIncrementOperation((Number) decoder.decode(object.opt("amount")));
151-
}
152-
153-
@Override
154-
public ParseFieldOperation decode(Parcel source, ParseParcelDecoder decoder) {
155-
return new ParseIncrementOperation((Number) decoder.decode(source));
156-
}
157-
});
158-
159-
registerDecoder(ParseAddOperation.OP_NAME, new ParseFieldOperationFactory() {
160-
@Override
161-
public ParseFieldOperation decode(JSONObject object, ParseDecoder decoder)
162-
throws JSONException {
163-
return new ParseAddOperation((Collection) decoder.decode(object.opt("objects")));
164-
}
165-
166-
@Override
167-
public ParseFieldOperation decode(Parcel source, ParseParcelDecoder decoder) {
168-
int size = source.readInt();
169-
List<Object> list = new ArrayList<>(size);
170-
for (int i = 0; i < size; i++) {
171-
list.set(i, decoder.decode(source));
172-
}
173-
return new ParseAddOperation(list);
174-
}
175-
});
176-
177-
registerDecoder(ParseAddUniqueOperation.OP_NAME, new ParseFieldOperationFactory() {
178-
@Override
179-
public ParseFieldOperation decode(JSONObject object, ParseDecoder decoder)
180-
throws JSONException {
181-
return new ParseAddUniqueOperation((Collection) decoder.decode(object.opt("objects")));
182-
}
183-
184-
@Override
185-
public ParseFieldOperation decode(Parcel source, ParseParcelDecoder decoder) {
186-
int size = source.readInt();
187-
List<Object> list = new ArrayList<>(size);
188-
for (int i = 0; i < size; i++) {
189-
list.set(i, decoder.decode(source));
190-
}
191-
return new ParseAddUniqueOperation(list);
192-
}
193-
});
194-
195-
registerDecoder(ParseRemoveOperation.OP_NAME, new ParseFieldOperationFactory() {
196-
@Override
197-
public ParseFieldOperation decode(JSONObject object, ParseDecoder decoder)
198-
throws JSONException {
199-
return new ParseRemoveOperation((Collection) decoder.decode(object.opt("objects")));
200-
}
201-
202-
@Override
203-
public ParseFieldOperation decode(Parcel source, ParseParcelDecoder decoder) {
204-
int size = source.readInt();
205-
List<Object> list = new ArrayList<>(size);
206-
for (int i = 0; i < size; i++) {
207-
list.set(i, decoder.decode(source));
208-
}
209-
return new ParseRemoveOperation(list);
210-
}
211-
});
212-
213-
registerDecoder(ParseRelationOperation.OP_NAME_ADD, new ParseFieldOperationFactory() {
214-
@Override
215-
public ParseFieldOperation decode(JSONObject object, ParseDecoder decoder)
216-
throws JSONException {
217-
JSONArray objectsArray = object.optJSONArray("objects");
218-
List<ParseObject> objectsList = (List<ParseObject>) decoder.decode(objectsArray);
219-
return new ParseRelationOperation<>(new HashSet<>(objectsList), null);
220-
}
221-
222-
@Override
223-
public ParseFieldOperation decode(Parcel source, ParseParcelDecoder decoder) {
224-
int size = source.readInt();
225-
Set<ParseObject> set = new HashSet<>(size);
226-
for (int i = 0; i < size; i++) {
227-
set.add((ParseObject) decoder.decode(source));
228-
}
229-
return new ParseRelationOperation<>(set, null);
230-
}
231-
});
232-
233-
registerDecoder(ParseRelationOperation.OP_NAME_REMOVE, new ParseFieldOperationFactory() {
234-
@Override
235-
public ParseFieldOperation decode(JSONObject object, ParseDecoder decoder)
236-
throws JSONException {
237-
JSONArray objectsArray = object.optJSONArray("objects");
238-
List<ParseObject> objectsList = (List<ParseObject>) decoder.decode(objectsArray);
239-
return new ParseRelationOperation<>(null, new HashSet<>(objectsList));
240-
}
241-
242-
@Override
243-
public ParseFieldOperation decode(Parcel source, ParseParcelDecoder decoder) {
244-
int size = source.readInt();
245-
Set<ParseObject> set = new HashSet<>(size);
246-
for (int i = 0; i < size; i++) {
247-
set.add((ParseObject) decoder.decode(source));
248-
}
249-
return new ParseRelationOperation<>(null, set);
250-
}
251-
});
252-
253-
registerDecoder(ParseSetOperation.OP_NAME, new ParseFieldOperationFactory() {
254-
@Override
255-
public ParseFieldOperation decode(JSONObject object, ParseDecoder decoder) throws JSONException {
256-
return null; // Not called.
257-
}
258-
259-
@Override
260-
public ParseFieldOperation decode(Parcel source, ParseParcelDecoder decoder) {
261-
return new ParseSetOperation(decoder.decode(source));
262-
}
263-
});
264-
}
265-
266-
/**
267-
* Converts a parsed JSON object into a ParseFieldOperation.
268-
*
269-
* @param encoded
270-
* A JSONObject containing an __op field.
271-
* @return A ParseFieldOperation.
272-
*/
273-
static ParseFieldOperation decode(JSONObject encoded, ParseDecoder decoder) throws JSONException {
274-
String op = encoded.optString("__op");
275-
ParseFieldOperationFactory factory = opDecoderMap.get(op);
276-
if (factory == null) {
277-
throw new RuntimeException("Unable to decode operation of type " + op);
278-
}
279-
return factory.decode(encoded, decoder);
280-
}
281-
282-
/**
283-
* Reads a ParseFieldOperation out of the given Parcel.
284-
*
285-
* @param source
286-
* The source Parcel.
287-
* @param decoder
288-
* The given ParseParcelableDecoder.
289-
*
290-
* @return A ParseFieldOperation.
291-
*/
292-
static ParseFieldOperation decode(Parcel source, ParseParcelDecoder decoder) {
293-
String op = source.readString();
294-
ParseFieldOperationFactory factory = opDecoderMap.get(op);
295-
if (factory == null) {
296-
throw new RuntimeException("Unable to decode operation of type " + op);
297-
}
298-
return factory.decode(source, decoder);
299-
}
300-
301-
/**
302-
* Converts a JSONArray into an ArrayList.
303-
*/
304-
static ArrayList<Object> jsonArrayAsArrayList(JSONArray array) {
305-
ArrayList<Object> result = new ArrayList<>(array.length());
306-
for (int i = 0; i < array.length(); ++i) {
307-
try {
308-
result.add(array.get(i));
309-
} catch (JSONException e) {
310-
// This can't actually happen.
311-
throw new RuntimeException(e);
312-
}
313-
}
314-
return result;
315-
}
316-
}

0 commit comments

Comments
 (0)