Project

General

Profile

« Previous | Next » 

Revision 47f42042

Added by Leszek Koltunski about 13 hours ago

  • ID 47f420429a337453aa3a85dd44144ee5889dc790
  • Parent b84f8cd9

Reconfigure for Java 11
Beginnings of real support for moving objects around in ListObjects

View differences:

build.gradle
35 35
        buildConfig = true
36 36
    }
37 37
    namespace 'org.distorted.main'
38
    compileOptions {
39
        sourceCompatibility JavaVersion.VERSION_11
40
        targetCompatibility JavaVersion.VERSION_11
41
    }
38 42
}
39 43

  
40 44
buildscript {
src/main/java/org/distorted/dialogs/DialogSolvers.java
86 86

  
87 87
    SolverActivity sact = (SolverActivity) getContext();
88 88
    int objectOrdinal = ListObjects.getObjectOrdinal(mArgument);
89
    int[] solverOrdinals = ImplementedVerifierList.getSolverOrdinals(objectOrdinal);
89
    ListObjects list = ListObjects.getObject(objectOrdinal);
90
    int[] solverOrdinals = ImplementedVerifierList.getSolverOrdinals(list);
90 91
    int len = solverOrdinals==null ? 0 : solverOrdinals.length;
91 92

  
92 93
    for(int o=0; o<len; o++ )
src/main/java/org/distorted/objects/RubikObject.java
81 81
    int patternOrdinal  = RubikPatternList.getOrdinal(mObjectIndex);
82 82
    mPatterns = RubikPatternList.getPatterns(patternOrdinal);
83 83

  
84
    int[] solverOrdinals= ImplementedVerifierList.getSolverOrdinals(mObjectOrdinal);
84
    ListObjects list = ListObjects.getObject(mObjectOrdinal);
85
    int[] solverOrdinals= ImplementedVerifierList.getSolverOrdinals(list);
85 86
    mNumSolvers = solverOrdinals==null ? 0 : solverOrdinals.length;
86 87
    mExtrasOrdinal = -1;
87 88

  
src/main/java/org/distorted/solvers/ScreenSetupPosition.java
65 65
  private int mNumBitmapRows;
66 66
  private float mBitmapSize;
67 67
  private WeakReference<SolverActivity> mWeakAct;
68
  private int mObjectOrdinal;
68
  private ListObjects mObject;
69 69
  private String[] mPhaseNames;
70 70
  private Timer mTimer;
71 71
  private SolverAbstract mSolver;
......
92 92
    mSolving = false;
93 93
    mPhaseNames = null;
94 94

  
95
    mObjectOrdinal = act.getObjectOrdinal();
95
    mObject = act.getObjectList();
96 96
    control.solveOnly();
97
    generateFaceColors(mObjectOrdinal);
97
    generateFaceColors(mObject);
98 98

  
99 99
    mNumBitmapRows = mNumColors>8 ? 2 : 1;
100 100
    mBitmapSize = computeBitmapSize(width,heigh);
......
181 181
// This doesn't quite work in many cases, but in case of the solvers that will pop up in foreseeable
182 182
// future it should be ok.
183 183

  
184
  public void generateFaceColors(int object)
184
  public void generateFaceColors(ListObjects object)
185 185
    {
186 186
    mColorMode = MODE_NORMAL;
187 187

  
188
    if( object==PYRA_3.ordinal() ||
189
        object==PYRA_4.ordinal() ||
190
        object==PYRA_5.ordinal() ||
191
        object==PDUO_2.ordinal() ||
192
        object==JING_2.ordinal() ||
193
        object==MORP_2.ordinal() ||
194
        object==MORP_3.ordinal() ||
195
        object==MORP_4.ordinal()  )
188
    if( object==PYRA_3 ||
189
        object==PYRA_4 ||
190
        object==PYRA_5 ||
191
        object==PDUO_2 ||
192
        object==JING_2 ||
193
        object==MORP_2 ||
194
        object==MORP_3 ||
195
        object==MORP_4  )
196 196
      {
197 197
      mNumColors  = ShapeTetrahedron.NUM_FACES;
198 198
      mFaceColors = ShapeTetrahedron.FACE_COLORS;
199 199
      }
200
    else if( object==DIAM_2.ordinal() ||
201
             object==DIAM_3.ordinal() ||
202
             object==DIAM_4.ordinal() ||
203
             object==TRAJ_3.ordinal() ||
204
             object==TRAJ_4.ordinal() ||
205
             object==PDIA_3.ordinal()  )
200
    else if( object==DIAM_2 ||
201
             object==DIAM_3 ||
202
             object==DIAM_4 ||
203
             object==TRAJ_3 ||
204
             object==TRAJ_4 ||
205
             object==PDIA_3  )
206 206
      {
207 207
      mNumColors  = ShapeOctahedron.NUM_FACES;
208 208
      mFaceColors = ShapeOctahedron.FACE_COLORS;
209 209
      }
210
    else if( object==CRYS_3.ordinal() ||
211
             object==STAR_3.ordinal() ||
212
             object==PENT_2.ordinal() ||
213
             object==KILO_3.ordinal() ||
214
             object==KILO_5.ordinal() ||
215
             object==MEGA_3.ordinal() ||
216
             object==MEGA_5.ordinal()  )
210
    else if( object==CRYS_3 ||
211
             object==STAR_3 ||
212
             object==PENT_2 ||
213
             object==KILO_3 ||
214
             object==KILO_5 ||
215
             object==MEGA_3 ||
216
             object==MEGA_5  )
217 217
      {
218 218
      mNumColors  = ShapeDodecahedron.NUM_FACES;
219 219
      mFaceColors = ShapeDodecahedron.FACE_COLORS;
220 220
      }
221
    else if( object==BALL_4.ordinal() )
221
    else if( object==BALL_4 )
222 222
      {
223 223
      mNumColors  = ShapeDiamond.NUM_FACES;
224 224
      mFaceColors = ShapeDiamond.FACE_COLORS;
225 225
      }
226
    else if( object==ICOS_2.ordinal() )
226
    else if( object==ICOS_2 )
227 227
      {
228 228
      mNumColors  = ShapeIcosahedron.NUM_FACES;
229 229
      mFaceColors = ShapeIcosahedron.FACE_COLORS;
230 230
      }
231
    else if( object==DIN4_3.ordinal() )
231
    else if( object==DIN4_3 )
232 232
      {
233 233
      mNumColors  = 4;
234 234
      mFaceColors = new int[] { ShapeColors.COLOR_YELLOW, ShapeColors.COLOR_RED, ShapeColors.COLOR_BLUE, ShapeColors.COLOR_WHITE};
......
292 292

  
293 293
  private void pressSolve(SolverActivity act)
294 294
    {
295
    int[] solverOrdinals = ImplementedVerifierList.getSolverOrdinals(mObjectOrdinal);
295
    int[] solverOrdinals = ImplementedVerifierList.getSolverOrdinals(mObject);
296 296

  
297 297
    if( solverOrdinals!=null  )
298 298
      {
......
314 314
            }
315 315
          else // more than one solver - pop up a choosing dialog
316 316
            {
317
            ListObjects objList = ListObjects.getObject(mObjectOrdinal);
318
            String upperName = objList.name();
317
            String upperName = mObject.name();
319 318
            Bundle bundle = new Bundle();
320 319
            bundle.putString("argument", upperName );
321 320
            DialogSolvers dialog = new DialogSolvers();
......
327 326
        }
328 327
      else displayErrorDialog(act.getString(R.string.solver_generic_not_implemented));
329 328
      }
330
    else displayErrorDialog("No solvers found for object "+mObjectOrdinal);
329
    else displayErrorDialog("No solvers found for object "+mObject.name() );
331 330
    }
332 331

  
333 332
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/solvers/SolverActivity.java
26 26
import org.distorted.objectlib.main.InitAssets;
27 27
import org.distorted.objectlib.main.ObjectControl;
28 28
import org.distorted.objectlib.main.TwistyObject;
29
import org.distorted.objectlib.metadata.ListObjects;
29 30
import org.distorted.objectlib.solvers.verifiers.SolverAbstract;
30 31
import org.distorted.objects.RubikObject;
31 32
import org.distorted.objects.RubikObjectList;
......
226 227

  
227 228
///////////////////////////////////////////////////////////////////////////////////////////////////
228 229

  
229
    public int getObjectOrdinal()
230
    public ListObjects getObjectList()
230 231
      {
231
      return mObjectOrdinal;
232
      return ListObjects.getObject(mObjectOrdinal);
232 233
      }
233 234

  
234 235
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/solvers/SolverObjectLibInterface.java
16 16
import org.distorted.objectlib.helpers.BlockController;
17 17
import org.distorted.objectlib.helpers.ObjectLibInterface;
18 18
import org.distorted.objectlib.main.ObjectControl;
19
import org.distorted.objectlib.metadata.ListObjects;
19 20
import org.distorted.objects.RubikObject;
20 21
import org.distorted.objects.RubikObjectList;
21 22
import org.distorted.objectlib.solvers.verifiers.ImplementedVerifierList;
......
172 173
    SolverActivity act = mAct.get();
173 174
    ScreenSetupPosition solver = (ScreenSetupPosition) ScreenList.SVER.getScreenClass();
174 175
    int color = solver.getCurrentColor();
175
    int currObject = act.getObjectOrdinal();
176
    ListObjects currObject = act.getObjectList();
176 177
    mLastCubitColor = ImplementedVerifierList.cubitIsLocked(currObject,cubit);
177 178
    mLastCubit = cubit;
178 179
    mLastCubitFace = face;

Also available in: Unified diff