Project

General

Profile

« Previous | Next » 

Revision 17f9a695

Added by Leszek Koltunski about 4 years ago

progress with submitting one's high scores.

View differences:

src/main/java/org/distorted/scores/RubikScores.java
73 73
    mDeviceID= -1;
74 74
    }
75 75

  
76
///////////////////////////////////////////////////////////////////////////////////////////////////
77

  
78
  private int privateGetDeviceID()
79
    {
80
    int id;
81

  
82
    try
83
      {
84
      String s = UUID.randomUUID().toString();
85
      id = (s!=null ? s.hashCode():0);
86
      }
87
    catch(Exception ex)
88
      {
89
      id = 0;
90
      android.util.Log.e("scores", "Exception in getDeviceID()");
91
      }
92

  
93
    return id<0 ? -id : id;
94
    }
95

  
96
///////////////////////////////////////////////////////////////////////////////////////////////////
97

  
98
  private String getUnsubmittedList(int mode)
99
    {
100
    RubikObjectList list;
101
    StringBuilder builder = new StringBuilder();
102
    boolean first = true;
103
    int[] sizes;
104
    int length;
105

  
106
    for(int object=0; object<NUM_OBJECTS; object++)
107
      {
108
      list = RubikObjectList.getObject(object);
109
      sizes = list.getSizes();
110
      length = sizes.length;
111

  
112
      for(int size=0; size<length; size++)
113
        {
114
        for(int scramble=0; scramble<MAX_SCRAMBLE; scramble++)
115
          {
116
          if( mSubmitted[object][size][scramble]==0 && mRecords[object][size][scramble]<NO_RECORD )
117
            {
118
            if( !first ) builder.append(',');
119
            else         first=false;
120

  
121
            switch(mode)
122
              {
123
              case 0: builder.append(list.name());
124
                      builder.append("_");
125
                      builder.append(sizes[size]);
126
                      break;
127
              case 1: builder.append(scramble);
128
                      break;
129
              case 2: builder.append(mRecords[object][size][scramble]);
130
                      break;
131
              }
132
            }
133
          }
134
        }
135
      }
136

  
137
    return builder.toString();
138
    }
139

  
140
///////////////////////////////////////////////////////////////////////////////////////////////////
141
// PUBLIC API
76 142
///////////////////////////////////////////////////////////////////////////////////////////////////
77 143

  
78 144
  public static RubikScores getInstance()
......
170 236
            {
171 237
            mRecords  [object][size][scramble] = time;
172 238
            mSubmitted[object][size][scramble] = subm;
173

  
239
/*
174 240
            if( time<NO_RECORD )
175 241
              {
176 242
              android.util.Log.e("solv", "Set record for: object="+object+" size="+size+" scramble="+scramble+" time: "+time+" submitted: "+subm);
177 243
              }
244
*/
178 245
            }
179 246
          else
180 247
            {
......
190 257
    mNumRuns        = preferences.getInt("scores_numRuns" , 0);
191 258
    mDeviceID       = preferences.getInt("scores_deviceid",-1);
192 259

  
193
    if( mDeviceID==-1 ) mDeviceID = getDeviceID();
260
    if( mDeviceID==-1 ) mDeviceID = privateGetDeviceID();
194 261
    }
195 262

  
196 263
///////////////////////////////////////////////////////////////////////////////////////////////////
......
234 301
    }
235 302

  
236 303
///////////////////////////////////////////////////////////////////////////////////////////////////
237
// TODO
238 304

  
239
  public void successfulSubmit()
305
  void successfulSubmit()
240 306
    {
241 307
    mNameIsVerified = true;
242 308

  
......
271 337
    if( mCountry.equals("do") ) mCountry = "dm";
272 338
    }
273 339

  
274
///////////////////////////////////////////////////////////////////////////////////////////////////
275

  
276
  int getDeviceID()
277
    {
278
    int id;
279

  
280
    try
281
      {
282
      String s = UUID.randomUUID().toString();
283
      id = (s!=null ? s.hashCode():0);
284
      }
285
    catch(Exception ex)
286
      {
287
      id = 0;
288
      android.util.Log.e("scores", "Exception in getDeviceID()");
289
      }
290

  
291
    return id<0 ? -id : id;
292
    }
293

  
294 340
///////////////////////////////////////////////////////////////////////////////////////////////////
295 341

  
296 342
  public long getRecord(int object, int size, int scramble)
......
319 365
    return false;
320 366
    }
321 367

  
368
///////////////////////////////////////////////////////////////////////////////////////////////////
369

  
370
  int getDeviceID()
371
    {
372
    return mDeviceID;
373
    }
374

  
322 375
///////////////////////////////////////////////////////////////////////////////////////////////////
323 376

  
324 377
  boolean isVerified()
......
356 409

  
357 410
///////////////////////////////////////////////////////////////////////////////////////////////////
358 411

  
359
  private String getUnsubmittedList(int mode)
412
  boolean thereAreUnsubmittedRecords()
360 413
    {
361 414
    RubikObjectList list;
362
    StringBuilder builder = new StringBuilder();
363
    boolean first = true;
364
    int[] sizes;
365 415
    int length;
366 416

  
367 417
    for(int object=0; object<NUM_OBJECTS; object++)
368 418
      {
369 419
      list = RubikObjectList.getObject(object);
370
      sizes = list.getSizes();
371
      length = sizes.length;
420
      length = list.getSizes().length;
372 421

  
373 422
      for(int size=0; size<length; size++)
374
        {
375 423
        for(int scramble=0; scramble<MAX_SCRAMBLE; scramble++)
376
          {
377 424
          if( mSubmitted[object][size][scramble]==0 && mRecords[object][size][scramble]<NO_RECORD )
378 425
            {
379
            if( !first ) builder.append(',');
380
            else         first=false;
381

  
382
            switch(mode)
383
              {
384
              case 0: builder.append(list.name());
385
                      builder.append("_");
386
                      builder.append(sizes[size]);
387
                      break;
388
              case 1: builder.append(scramble);
389
                      break;
390
              case 2: builder.append(mRecords[object][size][scramble]);
391
                      break;
392
              }
426
            return true;
393 427
            }
394
          }
395
        }
396 428
      }
397 429

  
398
    return builder.toString();
430
    return false;
399 431
    }
400 432

  
401 433
///////////////////////////////////////////////////////////////////////////////////////////////////

Also available in: Unified diff