1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
package org.happysanta.gd.API;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import java.io.*;
import java.util.LinkedList;
import java.util.List;
import static org.happysanta.gd.Helpers.getDeviceName;
public class API {
public static final String URL = "http://gdtr.net/api.php";
public static final String DEBUG_URL = "http://dev.gdtr.net/api.php";
public static final String MRG_URL = "http://gdtr.net/mrg/%d.mrg";
public static final int VERSION = 2;
public static Request getLevels(int offset, int limit, LevelsSortType sort, ResponseHandler handler)
throws Exception {
List<NameValuePair> params = new LinkedList<NameValuePair>();
params.add(new BasicNameValuePair("sort", sort.toString()));
params.add(new BasicNameValuePair("offset", String.valueOf(offset)));
params.add(new BasicNameValuePair("limit", String.valueOf(limit)));
return new Request("getLevels", params, handler);
}
public static Request getNotifications(boolean installedFromAPK, ResponseHandler handler) {
List<NameValuePair> params = new LinkedList<NameValuePair>();
params.add(new BasicNameValuePair("apk", String.valueOf(installedFromAPK ? 1 : 0)));
return new Request("getNotifications", params, handler);
}
public static Request sendStats(String statsJSON, String installationID, int useCheats, ResponseHandler handler) {
List<NameValuePair> params = new LinkedList<NameValuePair>();
params.add(new BasicNameValuePair("stats", statsJSON));
params.add(new BasicNameValuePair("id", installationID));
params.add(new BasicNameValuePair("use_cheats", String.valueOf(useCheats)));
return new Request("sendStats", params, handler);
}
public static Request sendKeyboardLogs(String log, ResponseHandler handler) {
List<NameValuePair> params = new LinkedList<NameValuePair>();
params.add(new BasicNameValuePair("log", log));
params.add(new BasicNameValuePair("device", getDeviceName()));
return new Request("sendKeyboardLogs", params, handler, true);
}
public static DownloadFile downloadMrg(long id, FileOutputStream output, DownloadHandler handler) {
return new DownloadFile(String.format(MRG_URL, id), output, handler);
}
public static String getMrgURL(long id) {
return String.format(MRG_URL, id);
}
public static enum LevelsSortType {
POPULAR("popular"), TRACKS("tracks"), RECENT("recent"), OLDEST("oldest");
private final String text;
private LevelsSortType(final String text) {
this.text = text;
}
@Override
public String toString() {
return text;
}
}
public static LevelsSortType getSortTypeById(int id) {
switch (id) {
case 0:
return LevelsSortType.POPULAR;
case 1:
return LevelsSortType.RECENT;
case 2:
return LevelsSortType.OLDEST;
case 3:
return LevelsSortType.TRACKS;
}
return null;
}
public static int getIdBySortType(LevelsSortType type) {
switch (type) {
case POPULAR:
return 0;
case RECENT:
return 1;
case OLDEST:
return 2;
case TRACKS:
return 3;
}
return 0;
}
}
|