Revision 84d746d7
Added by Leszek Koltunski about 2 years ago
src/main/java/org/distorted/objects/RubikObjectList.java | ||
---|---|---|
49 | 49 |
{ |
50 | 50 |
String shortName; |
51 | 51 |
boolean icon,object,extras; |
52 |
int numScrambles, objectMinor, extrasMinor; |
|
52 | 53 |
|
53 |
DownloadedObject(String sName, boolean i, boolean o, boolean e) |
|
54 |
DownloadedObject(String sName, int scrambles, int oMinor, int eMinor, boolean i, boolean o, boolean e)
|
|
54 | 55 |
{ |
55 | 56 |
shortName = sName; |
57 |
|
|
58 |
numScrambles= scrambles; |
|
59 |
objectMinor = oMinor; |
|
60 |
extrasMinor = eMinor; |
|
61 |
|
|
56 | 62 |
icon = i; |
57 | 63 |
object = o; |
58 | 64 |
extras = e; |
... | ... | |
98 | 104 |
mObjects.add(obj); |
99 | 105 |
mNumObjects++; |
100 | 106 |
|
107 |
android.util.Log.e("D", "creating local object "+type.name() ); |
|
108 |
|
|
101 | 109 |
if( obj.hasExtras() ) |
102 | 110 |
{ |
111 |
android.util.Log.e("D", "has extras "+mNumExtras ); |
|
112 |
|
|
113 |
|
|
103 | 114 |
obj.setExtrasOrdinal(mNumExtras); |
104 | 115 |
mNumExtras++; |
116 |
} |
|
117 |
else |
|
118 |
{ |
|
119 |
android.util.Log.e("D", "no extras"); |
|
120 |
|
|
105 | 121 |
} |
106 | 122 |
} |
107 | 123 |
} |
108 | 124 |
|
109 | 125 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
110 | 126 |
|
111 |
private static void internalAddDownloadedObject(DownloadedObject object)
|
|
127 |
private static boolean internalAddDownloadedObject(DownloadedObject object)
|
|
112 | 128 |
{ |
113 |
/* |
|
114 |
boolean existsAlready = false; |
|
115 | 129 |
String name = object.shortName; |
116 | 130 |
|
117 | 131 |
for(RubikObject ro : mObjects ) |
118 |
if( ro.getName().equals(name) ) |
|
132 |
if( ro.getLowerName().equals(name) )
|
|
119 | 133 |
{ |
120 |
ro.updateObject(object); |
|
121 |
existsAlready = true; |
|
122 |
break; |
|
134 |
return ro.updateObject(object); |
|
123 | 135 |
} |
124 | 136 |
|
125 |
if( !existsAlready ) |
|
137 |
RubikObject obj = new RubikObject(object); |
|
138 |
mObjects.add(obj); |
|
139 |
mNumObjects++; |
|
140 |
|
|
141 |
|
|
142 |
android.util.Log.e("D", "creating downloaded object "+obj.getUpperName() ); |
|
143 |
|
|
144 |
if( obj.hasExtras() ) |
|
126 | 145 |
{ |
127 |
RubikObject obj = new RubikObject(object); |
|
128 |
mObjects.add(obj); |
|
129 |
mNumObjects++; |
|
146 |
android.util.Log.e("D", "has extras "+mNumExtras ); |
|
130 | 147 |
|
131 |
if( obj.getExtrasJsonID()!=0 ) |
|
132 |
{ |
|
133 |
obj.setExtrasOrdinal(mNumExtras); |
|
134 |
mNumExtras++; |
|
135 |
} |
|
148 |
obj.setExtrasOrdinal(mNumExtras); |
|
149 |
mNumExtras++; |
|
150 |
} |
|
151 |
else |
|
152 |
{ |
|
153 |
android.util.Log.e("D", "no extras"); |
|
136 | 154 |
} |
137 |
*/ |
|
155 |
|
|
156 |
return true; |
|
138 | 157 |
} |
139 | 158 |
|
140 | 159 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
167 | 186 |
|
168 | 187 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
169 | 188 |
|
170 |
public static void addDownloadedObject(String shortName, boolean icon, boolean object, boolean extras) |
|
189 |
public static void addDownloadedObject(String shortName, int numScrambles, int objectMinor, int extrasMinor, |
|
190 |
boolean icon, boolean object, boolean extras) |
|
171 | 191 |
{ |
172 | 192 |
for( DownloadedObject obj : mDownloadedObjects ) |
173 | 193 |
{ |
... | ... | |
177 | 197 |
obj.object|= object; |
178 | 198 |
obj.extras|= extras; |
179 | 199 |
|
180 |
android.util.Log.e("D", "UPDATING "+shortName);
|
|
200 |
android.util.Log.e("D", "Updating downloaded object "+shortName);
|
|
181 | 201 |
|
182 | 202 |
return; |
183 | 203 |
} |
184 | 204 |
} |
185 | 205 |
|
186 |
DownloadedObject extra = new DownloadedObject(shortName,icon,object,extras); |
|
187 |
mDownloadedObjects.add(extra); |
|
188 |
|
|
189 |
internalAddDownloadedObject(extra); |
|
206 |
DownloadedObject extra = new DownloadedObject(shortName,numScrambles,objectMinor,extrasMinor,icon,object,extras); |
|
207 |
if ( internalAddDownloadedObject(extra) ) |
|
208 |
{ |
|
209 |
android.util.Log.e("D", "Adding new downloaded object "+shortName); |
|
210 |
mDownloadedObjects.add(extra); |
|
211 |
} |
|
190 | 212 |
} |
191 | 213 |
|
192 | 214 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
208 | 230 |
public static void savePreferences(SharedPreferences.Editor editor) |
209 | 231 |
{ |
210 | 232 |
RubikObject obj = getObject(mObject); |
211 |
if( obj!=null ) editor.putString("rol_objName", obj.getName() ); |
|
233 |
if( obj!=null ) editor.putString("rol_objName", obj.getUpperName() );
|
|
212 | 234 |
|
213 | 235 |
int numDownloaded = mDownloadedObjects.size(); |
214 | 236 |
|
... | ... | |
223 | 245 |
DownloadedObject object = mDownloadedObjects.get(i); |
224 | 246 |
downloadedObjects.append(object.shortName); |
225 | 247 |
downloadedObjects.append(' '); |
248 |
downloadedObjects.append(object.numScrambles); |
|
249 |
downloadedObjects.append(' '); |
|
250 |
downloadedObjects.append(object.objectMinor); |
|
251 |
downloadedObjects.append(' '); |
|
252 |
downloadedObjects.append(object.extrasMinor); |
|
253 |
downloadedObjects.append(' '); |
|
226 | 254 |
downloadedObjects.append(object.icon ? "1":"0"); |
227 | 255 |
downloadedObjects.append(' '); |
228 | 256 |
downloadedObjects.append(object.object ? "1":"0"); |
... | ... | |
230 | 258 |
downloadedObjects.append(object.extras ? "1":"0"); |
231 | 259 |
} |
232 | 260 |
|
233 |
editor.putString("rol_downloaded", downloadedObjects.toString() ); |
|
261 |
String objects = downloadedObjects.toString(); |
|
262 |
android.util.Log.e("D", "saving: "+objects); |
|
263 |
|
|
264 |
editor.putString("rol_downloaded", objects ); |
|
234 | 265 |
} |
235 | 266 |
} |
236 | 267 |
|
... | ... | |
244 | 275 |
|
245 | 276 |
if( obj!=null ) |
246 | 277 |
{ |
247 |
String name = obj.getName(); |
|
278 |
String name = obj.getUpperName();
|
|
248 | 279 |
editor.putInt("rol_"+name, obj.getMeshState() ); |
249 | 280 |
} |
250 | 281 |
} |
... | ... | |
255 | 286 |
public static void restorePreferences(SharedPreferences preferences) |
256 | 287 |
{ |
257 | 288 |
RubikObject object = getObject(DEF_OBJECT); |
258 |
String defName = object==null ? "CUBE_3" : object.getName(); |
|
289 |
String defName = object==null ? "CUBE_3" : object.getUpperName();
|
|
259 | 290 |
String objName= preferences.getString("rol_objName",defName); |
260 | 291 |
mObject = getOrdinal(objName); |
261 | 292 |
|
... | ... | |
273 | 304 |
{ |
274 | 305 |
String[] parts = dObj.split(" "); |
275 | 306 |
|
276 |
if( parts.length==4 )
|
|
307 |
if( parts.length==7 )
|
|
277 | 308 |
{ |
278 | 309 |
String name = parts[0]; |
279 |
String icon = parts[1]; |
|
280 |
String obje = parts[2]; |
|
281 |
String extr = parts[3]; |
|
310 |
String scra = parts[1]; |
|
311 |
String objM = parts[2]; |
|
312 |
String extM = parts[3]; |
|
313 |
String icon = parts[4]; |
|
314 |
String obje = parts[5]; |
|
315 |
String extr = parts[6]; |
|
316 |
|
|
317 |
int scrambles = Integer.parseInt(scra); |
|
318 |
int oMinor = Integer.parseInt(objM); |
|
319 |
int eMinor = Integer.parseInt(extM); |
|
282 | 320 |
|
283 | 321 |
boolean bIcon = icon.equals("1"); |
284 | 322 |
boolean bObje = obje.equals("1"); |
285 | 323 |
boolean bExtr = extr.equals("1"); |
286 | 324 |
|
287 |
android.util.Log.e("D", "adding: "+name); |
|
288 |
|
|
289 |
addDownloadedObject(name,bIcon,bObje,bExtr); |
|
325 |
addDownloadedObject(name,scrambles,oMinor,eMinor,bIcon,bObje,bExtr); |
|
290 | 326 |
} |
291 | 327 |
} |
292 | 328 |
} |
... | ... | |
302 | 338 |
|
303 | 339 |
if( obj!=null ) |
304 | 340 |
{ |
305 |
String name = obj.getName(); |
|
341 |
String name = obj.getUpperName();
|
|
306 | 342 |
int meshState= preferences.getInt("rol_"+name,MESH_NICE); |
307 | 343 |
obj.setMeshState(meshState); |
308 | 344 |
} |
... | ... | |
353 | 389 |
{ |
354 | 390 |
if( mThis==null ) mThis = new RubikObjectList(); |
355 | 391 |
|
392 |
String lowerName = name.toLowerCase(); |
|
393 |
|
|
356 | 394 |
for(int i=0; i<mNumObjects; i++) |
357 | 395 |
{ |
358 | 396 |
RubikObject obj = mObjects.get(i); |
359 |
|
|
360 |
if( obj.getName().equals(name) ) return i; |
|
397 |
if( obj.getLowerName().equals(lowerName) ) return i; |
|
361 | 398 |
} |
362 | 399 |
|
363 | 400 |
return -1; |
Also available in: Unified diff
Downloaded Objects more or less work now.