Revision 2a1f50b0
Added by Leszek Koltunski almost 3 years ago
| src/main/java/org/distorted/dialogs/RubikDialogScoresPagerAdapter.java | ||
|---|---|---|
| 23 | 23 |
import org.distorted.main.R; |
| 24 | 24 |
import org.distorted.external.RubikScores; |
| 25 | 25 |
import org.distorted.external.RubikNetwork; |
| 26 |
import org.distorted.objects.RubikObject; |
|
| 26 | 27 |
import org.distorted.objects.RubikObjectList; |
| 27 | 28 |
import org.distorted.screens.RubikScreenPlay; |
| 28 | 29 |
|
| ... | ... | |
| 65 | 66 |
|
| 66 | 67 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 67 | 68 |
|
| 68 |
private void addSection(int tab, int level, final RubikDialogScoresView view, final String[] country, final String[] name, final float[] time) |
|
| 69 |
private void addSection(int tab, int level, int numLevels, final RubikDialogScoresView view, final String[] country, final String[] name, final float[] time)
|
|
| 69 | 70 |
{
|
| 70 |
String title = level==RubikScreenPlay.LEVELS_SHOWN ?
|
|
| 71 |
String title = level==numLevels ?
|
|
| 71 | 72 |
mAct.getString(R.string.levelM) : |
| 72 | 73 |
mAct.getString(R.string.lv_placeholder,level+1); |
| 73 | 74 |
|
| ... | ... | |
| 94 | 95 |
|
| 95 | 96 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 96 | 97 |
|
| 97 |
private void getNext(int currentTab, int[] toDoTab) |
|
| 98 |
private void getNext(int currentTab, int[] toDoTab, int[] numLevels)
|
|
| 98 | 99 |
{
|
| 99 |
int MAX = RubikScreenPlay.LEVELS_SHOWN; |
|
| 100 |
|
|
| 101 |
if( toDoTab[currentTab]<=MAX ) |
|
| 100 |
if( toDoTab[currentTab]<=numLevels[currentTab] ) |
|
| 102 | 101 |
{
|
| 103 | 102 |
mToDoTab = currentTab; |
| 104 | 103 |
mToDoLvl = toDoTab[currentTab]; |
| ... | ... | |
| 108 | 107 |
{
|
| 109 | 108 |
for(int tab=0; tab<mNumTabs; tab++) |
| 110 | 109 |
{
|
| 111 |
if( toDoTab[tab]<=MAX )
|
|
| 110 |
if( toDoTab[tab]<=numLevels[currentTab] )
|
|
| 112 | 111 |
{
|
| 113 | 112 |
mToDoTab = tab; |
| 114 | 113 |
mToDoLvl = toDoTab[tab]; |
| ... | ... | |
| 125 | 124 |
{
|
| 126 | 125 |
prepareView(); |
| 127 | 126 |
int toDo=0; |
| 128 |
int[] toDoTab = new int[mNumTabs]; |
|
| 127 |
int[] toDoTab = new int[mNumTabs]; |
|
| 128 |
int[] numLevels = new int[mNumTabs]; |
|
| 129 | 129 |
|
| 130 | 130 |
for(int i=0; i<mNumTabs; i++) |
| 131 | 131 |
{
|
| 132 | 132 |
toDoTab[i]= 0; |
| 133 |
toDo += (RubikScreenPlay.LEVELS_SHOWN+1); |
|
| 133 |
RubikObject object = RubikObjectList.getObject(i); |
|
| 134 |
int numScramble = object==null ? 1 : object.getNumScramble(); |
|
| 135 |
numLevels[i] = Math.min(numScramble-1,RubikScreenPlay.LEVELS_SHOWN); |
|
| 136 |
toDo += (numLevels[i]+1); |
|
| 134 | 137 |
} |
| 135 | 138 |
|
| 136 | 139 |
while( toDo>0 ) |
| 137 | 140 |
{
|
| 138 | 141 |
toDo--; |
| 139 |
getNext(mViewPager.getCurrentItem(), toDoTab); |
|
| 140 |
addSection( mToDoTab, mToDoLvl, mViews[mToDoTab], country[mToDoTab][mToDoLvl], name[mToDoTab][mToDoLvl], time[mToDoTab][mToDoLvl]); |
|
| 142 |
getNext(mViewPager.getCurrentItem(), toDoTab, numLevels);
|
|
| 143 |
addSection( mToDoTab, mToDoLvl, numLevels[mToDoTab], mViews[mToDoTab], country[mToDoTab][mToDoLvl], name[mToDoTab][mToDoLvl], time[mToDoTab][mToDoLvl]);
|
|
| 141 | 144 |
} |
| 142 | 145 |
} |
| 143 | 146 |
|
Also available in: Unified diff
Records dialog: support objects with less than 8 number of scrambles.