Revision 7b7d65ce
Added by Leszek Koltunski about 4 years ago
src/main/java/org/distorted/states/RubikStatePlay.java | ||
---|---|---|
281 | 281 |
mObject = obj; |
282 | 282 |
mSize = sizes[size]; |
283 | 283 |
act.changeObject(list,sizes[size]); |
284 |
|
|
285 |
int sizeIndex = RubikObjectList.getSizeIndex(mObject,mSize); |
|
286 |
int maxLevel = RubikObjectList.getMaxLevel(mObject, sizeIndex); |
|
287 |
String[] levels = new String[maxLevel]; |
|
288 |
|
|
289 |
for(int i=0; i<maxLevel; i++) |
|
290 |
{ |
|
291 |
levels[i] = act.getString(R.string.lv_placeholder,i+1); |
|
292 |
} |
|
293 |
|
|
294 |
mSpinnerAdapter = new ArrayAdapter<>(act,android.R.layout.simple_spinner_item, levels); |
|
295 |
mSpinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); |
|
296 |
mLevelSpinner.setAdapter(mSpinnerAdapter); |
|
284 |
adjustSpinner(act); |
|
297 | 285 |
} |
298 | 286 |
|
299 | 287 |
mPopup.dismiss(); |
... | ... | |
337 | 325 |
|
338 | 326 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
339 | 327 |
|
340 |
public boolean setObjectAndSize(RubikObjectList obj, int size) |
|
328 |
public boolean setObjectAndSize(RubikActivity act, RubikObjectList obj, int size)
|
|
341 | 329 |
{ |
342 |
boolean success = false; |
|
330 |
if( mObject!=obj.ordinal() || mSize != size ) |
|
331 |
{ |
|
332 |
boolean success = false; |
|
343 | 333 |
|
344 |
for( int s: obj.getSizes() ) |
|
345 |
if( s==size ) |
|
334 |
for( int s: obj.getSizes() ) |
|
335 |
if( s==size ) |
|
336 |
{ |
|
337 |
success = true; |
|
338 |
break; |
|
339 |
} |
|
340 |
|
|
341 |
if( success ) |
|
346 | 342 |
{ |
347 |
success = true; |
|
348 |
break; |
|
343 |
mObject = obj.ordinal(); |
|
344 |
mSize = size; |
|
345 |
adjustSpinner(act); |
|
349 | 346 |
} |
350 | 347 |
|
351 |
if( success ) |
|
348 |
return success; |
|
349 |
} |
|
350 |
|
|
351 |
return true; |
|
352 |
} |
|
353 |
|
|
354 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
355 |
|
|
356 |
private void adjustSpinner(RubikActivity act) |
|
357 |
{ |
|
358 |
int sizeIndex = RubikObjectList.getSizeIndex(mObject,mSize); |
|
359 |
int maxLevel = RubikObjectList.getMaxLevel(mObject, sizeIndex); |
|
360 |
String[] levels = new String[maxLevel]; |
|
361 |
|
|
362 |
for(int i=0; i<maxLevel; i++) |
|
352 | 363 |
{ |
353 |
mObject = obj.ordinal(); |
|
354 |
mSize = size; |
|
364 |
levels[i] = act.getString(R.string.lv_placeholder,i+1); |
|
355 | 365 |
} |
356 | 366 |
|
357 |
return success; |
|
367 |
mSpinnerAdapter = new ArrayAdapter<>(act,android.R.layout.simple_spinner_item, levels); |
|
368 |
mSpinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); |
|
369 |
mLevelSpinner.setAdapter(mSpinnerAdapter); |
|
358 | 370 |
} |
359 | 371 |
|
360 | 372 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
Also available in: Unified diff
- bump version to 1.1.2
- fix one crasher observed in the field ( we need to adjust the Levels Spinner in Play state if Object changed in Pattern or Solver states )