| 91 |
91 |
private int mBottomHeight;
|
| 92 |
92 |
private float mScreenWidth;
|
| 93 |
93 |
private WeakReference<RubikActivity> mWeakAct;
|
|
94 |
private String mObjectsPlayed;
|
| 94 |
95 |
|
| 95 |
96 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
| 96 |
97 |
|
| ... | ... | |
| 492 |
493 |
public void savePreferences(SharedPreferences.Editor editor)
|
| 493 |
494 |
{
|
| 494 |
495 |
editor.putInt("play_LevelValue", mLevelValue );
|
|
496 |
editor.putString("play_objectsPlayed", mObjectsPlayed );
|
| 495 |
497 |
|
| 496 |
498 |
if( mObjectPopup!=null )
|
| 497 |
499 |
{
|
| ... | ... | |
| 512 |
514 |
}
|
| 513 |
515 |
}
|
| 514 |
516 |
|
|
517 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
518 |
|
|
519 |
private void addToPlayedObjects()
|
|
520 |
{
|
|
521 |
String name = RubikObjectList.getCurrentName();
|
|
522 |
if( !mObjectsPlayed.contains(name) ) mObjectsPlayed += (" "+name);
|
|
523 |
}
|
|
524 |
|
|
525 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
526 |
|
|
527 |
private boolean hasBeenPlayed()
|
|
528 |
{
|
|
529 |
String name = RubikObjectList.getCurrentName();
|
|
530 |
return mObjectsPlayed.contains(name);
|
|
531 |
}
|
|
532 |
|
| 515 |
533 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
| 516 |
534 |
|
| 517 |
535 |
public void restorePreferences(SharedPreferences preferences)
|
| 518 |
536 |
{
|
| 519 |
|
mLevelValue = preferences.getInt("play_LevelValue", 0);
|
|
537 |
mLevelValue = preferences.getInt("play_LevelValue", 0);
|
|
538 |
mObjectsPlayed = preferences.getString("play_objectsPlayed", "");
|
| 520 |
539 |
}
|
| 521 |
540 |
|
| 522 |
541 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
| ... | ... | |
| 586 |
605 |
{
|
| 587 |
606 |
int level = i<numLevel-1 ? i : dbLevel;
|
| 588 |
607 |
Button button = (Button)mPlayLayout.getChildAt(i);
|
| 589 |
|
int icon = scores.isSolved(currObject, level-1) ? R.drawable.ui_solved : R.drawable.ui_notsolved;
|
|
608 |
boolean isSolved = i>0 ? scores.isSolved(currObject, level-1) : hasBeenPlayed();
|
|
609 |
int icon = isSolved ? R.drawable.ui_solved : R.drawable.ui_notsolved;
|
| 590 |
610 |
button.setCompoundDrawablesWithIntrinsicBounds(icon,0,0,0);
|
| 591 |
611 |
}
|
| 592 |
612 |
}
|
| ... | ... | |
| 650 |
670 |
mShouldReactToEndOfScrambling = true;
|
| 651 |
671 |
control.scrambleObject(scrambles);
|
| 652 |
672 |
}
|
| 653 |
|
else
|
|
673 |
else
|
| 654 |
674 |
{
|
|
675 |
addToPlayedObjects();
|
| 655 |
676 |
ScreenList.switchScreen(act, ScreenList.FREE);
|
| 656 |
677 |
}
|
| 657 |
678 |
}
|
Mark the 'Free Play' with green or red dot.