Revision 286d73ae
Added by Leszek Koltunski about 4 years ago
src/main/java/org/distorted/scores/RubikScores.java | ||
---|---|---|
37 | 37 |
private static RubikScores mThis; |
38 | 38 |
|
39 | 39 |
private long[][][] mRecords; |
40 |
private int [][][] mSubmitted; |
|
41 |
|
|
40 | 42 |
private String mName; |
41 | 43 |
private boolean mNameIsVerified; |
42 | 44 |
private int mNumRuns; |
... | ... | |
47 | 49 |
|
48 | 50 |
private RubikScores() |
49 | 51 |
{ |
50 |
mRecords = new long[NUM_OBJECTS][MAX_SIZE][MAX_SCRAMBLE]; |
|
52 |
mRecords = new long[NUM_OBJECTS][MAX_SIZE][MAX_SCRAMBLE]; |
|
53 |
mSubmitted = new int [NUM_OBJECTS][MAX_SIZE][MAX_SCRAMBLE]; |
|
51 | 54 |
|
52 | 55 |
for(int i=0; i<NUM_OBJECTS; i++) |
53 | 56 |
for(int j=0; j<MAX_SIZE; j++) |
54 | 57 |
for(int k=0; k<MAX_SCRAMBLE; k++) |
55 | 58 |
{ |
56 |
mRecords[i][j][k] = NO_RECORD; |
|
59 |
mRecords[i][j][k] = NO_RECORD; |
|
60 |
mSubmitted[i][j][k] = 0; |
|
57 | 61 |
} |
58 | 62 |
|
59 | 63 |
mName = "YOU"; |
60 | 64 |
mNameIsVerified = false; |
61 | 65 |
mNumPlays= -1; |
62 | 66 |
mNumRuns = -1; |
63 |
mCountryID = R.drawable.unk;
|
|
67 |
mCountryID = R.drawable.un; |
|
64 | 68 |
} |
65 | 69 |
|
66 | 70 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
101 | 105 |
builder.append(sizes[size]); |
102 | 106 |
builder.append("="); |
103 | 107 |
builder.append(mRecords[object][size][scramble]); |
108 |
builder.append(","); |
|
109 |
builder.append(mSubmitted[object][size][scramble]); |
|
104 | 110 |
builder.append(" "); |
105 | 111 |
} |
106 | 112 |
} |
... | ... | |
118 | 124 |
|
119 | 125 |
public void restorePreferences(SharedPreferences preferences) |
120 | 126 |
{ |
121 |
String recordStr, subStr, nameStr, sizeStr, timeStr; |
|
122 |
int start, end, equals, underscore; |
|
123 |
int object, size; |
|
127 |
String recordStr, subStr, nameStr, sizeStr, timeStr, submStr;
|
|
128 |
int start, end, equals, underscore, comma;
|
|
129 |
int object, size, subm;
|
|
124 | 130 |
long time; |
125 | 131 |
|
126 | 132 |
for(int scramble=0; scramble<MAX_SCRAMBLE; scramble++) |
... | ... | |
139 | 145 |
|
140 | 146 |
underscore = subStr.indexOf("_"); |
141 | 147 |
equals = subStr.indexOf("="); |
148 |
comma = subStr.indexOf(","); |
|
142 | 149 |
|
143 |
if( underscore>=0 && equals>=0 ) |
|
150 |
if( underscore>=0 && equals>=0 && comma>=0 )
|
|
144 | 151 |
{ |
145 | 152 |
nameStr = subStr.substring(0,underscore); |
146 | 153 |
sizeStr = subStr.substring(underscore+1, equals); |
147 |
timeStr = subStr.substring(equals+1); |
|
154 |
timeStr = subStr.substring(equals+1,comma); |
|
155 |
submStr = subStr.substring(comma+1); |
|
148 | 156 |
|
149 | 157 |
object = RubikObjectList.getOrdinal(nameStr); |
150 | 158 |
size = RubikObjectList.getSize(object,Integer.parseInt(sizeStr)); |
151 | 159 |
time = Long.parseLong(timeStr); |
160 |
subm = Integer.parseInt(submStr); |
|
152 | 161 |
|
153 |
if( object>=0 && object< NUM_OBJECTS && size>=0 && size<MAX_SIZE ) |
|
162 |
if( object>=0 && object< NUM_OBJECTS && size>=0 && size<MAX_SIZE && subm>=0 && subm<=1 )
|
|
154 | 163 |
{ |
155 |
mRecords[object][size][scramble] = time; |
|
164 |
mRecords [object][size][scramble] = time; |
|
165 |
mSubmitted[object][size][scramble] = subm; |
|
156 | 166 |
|
157 | 167 |
if( time<NO_RECORD ) |
158 | 168 |
{ |
159 |
android.util.Log.e("solv", "Set record for: object="+object+" size="+size+" scramble="+scramble+" time: "+time); |
|
169 |
android.util.Log.e("solv", "Set record for: object="+object+" size="+size+" scramble="+scramble+" time: "+time+" submitted: "+subm);
|
|
160 | 170 |
} |
161 | 171 |
} |
162 | 172 |
else |
... | ... | |
227 | 237 |
mCountryID = country; |
228 | 238 |
} |
229 | 239 |
|
240 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
241 |
// TODO |
|
242 |
|
|
243 |
public void setSubmitted(int object, int size, int scramble) |
|
244 |
{ |
|
245 |
int maxsize = RubikObjectList.getObject(object).getSizes().length; |
|
246 |
|
|
247 |
if( object>=0 && object<NUM_OBJECTS && size>=0 && size<maxsize && scramble>=1 && scramble<=MAX_SCRAMBLE ) |
|
248 |
{ |
|
249 |
mSubmitted[object][size][scramble] = 1; |
|
250 |
} |
|
251 |
} |
|
252 |
|
|
230 | 253 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
231 | 254 |
|
232 | 255 |
public long getRecord(int object, int size, int scramble) |
... | ... | |
241 | 264 |
return -1; |
242 | 265 |
} |
243 | 266 |
|
267 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
268 |
|
|
269 |
public boolean isSubmitted(int object, int size, int scramble) |
|
270 |
{ |
|
271 |
int maxsize = RubikObjectList.getObject(object).getSizes().length; |
|
272 |
|
|
273 |
if( object>=0 && object<NUM_OBJECTS && size>=0 && size<maxsize && scramble>=0 && scramble<MAX_SCRAMBLE ) |
|
274 |
{ |
|
275 |
return mSubmitted[object][size][scramble]==1; |
|
276 |
} |
|
277 |
|
|
278 |
return false; |
|
279 |
} |
|
280 |
|
|
244 | 281 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
245 | 282 |
// TODO |
246 | 283 |
|
Also available in: Unified diff
Port the downloading into the new 'magic' server.