Project

General

Profile

« Previous | Next » 

Revision 7b7d65ce

Added by Leszek Koltunski about 4 years ago

- 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 )

View differences:

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