Project

General

Profile

« Previous | Next » 

Revision 80f574a1

Added by Leszek Koltunski almost 2 years ago

IAP, part 1: Introduce the concept of a 'free' and 'not free' object to

- ObjectType
- DownloadedObject
- RubikObject
- jsons

View differences:

src/main/java/org/distorted/bandaged/BandagedCreatorRenderer.java
445 445
     try
446 446
       {
447 447
       JsonWriter writer = JsonWriter.getInstance();
448
       String json = writer.createObjectString(object,24);
448
       String json = writer.createObjectString(object,24,true);
449 449
       writer.write(filename,json);
450 450
       return true;
451 451
       }
src/main/java/org/distorted/bandaged/BandagedCreatorScreen.java
175 175
    mSpinnerX = act.findViewById(R.id.bandagedCreatorX);
176 176
    mSpinnerX.setOnItemSelectedListener(this);
177 177
    ArrayAdapter<String> adX = new ArrayAdapter<>(act, R.layout.spinner_item, createSizes("X") );
178
    adX.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
179 178
    mSpinnerX.setAdapter(adX);
180 179

  
181 180
    mSpinnerY = act.findViewById(R.id.bandagedCreatorY);
182 181
    mSpinnerY.setOnItemSelectedListener(this);
183 182
    ArrayAdapter<String> adY = new ArrayAdapter<>(act, R.layout.spinner_item, createSizes("Y") );
184
    adY.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
185 183
    mSpinnerY.setAdapter(adY);
186 184

  
187 185
    mSpinnerZ = act.findViewById(R.id.bandagedCreatorZ);
188 186
    mSpinnerZ.setOnItemSelectedListener(this);
189 187
    ArrayAdapter<String> adZ = new ArrayAdapter<>(act, R.layout.spinner_item, createSizes("Z") );
190
    adZ.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
191 188
    mSpinnerZ.setAdapter(adZ);
192 189

  
193 190
    ViewGroup.MarginLayoutParams paramsX = (ViewGroup.MarginLayoutParams) mSpinnerX.getLayoutParams();
src/main/java/org/distorted/dialogs/RubikDialogUpdateView.java
194 194
        try
195 195
          {
196 196
          JsonReader reader = JsonReader.getInstance();
197
          mInfo.mNumScrambles = reader.readNumScrambles(act,objectName);
198
          if( SHOW_DOWNLOADED_DEBUG ) android.util.Log.e("D", "Read from JSON numScrambles="+mInfo.mNumScrambles);
197
          reader.readNumScramblesAndIsFree(act,objectName);
198
          mInfo.mNumScrambles = reader.getNumScrambles();
199
          mInfo.mIsFree       = reader.isFree();
200
          if( SHOW_DOWNLOADED_DEBUG ) android.util.Log.e("D", "Read from JSON numScrambles="+mInfo.mNumScrambles+" isFree="+mInfo.mIsFree);
199 201

  
200 202
          if( mInfo.mExtrasStream!=null )
201 203
            {
......
211 213

  
212 214
            if( SHOW_DOWNLOADED_DEBUG ) android.util.Log.e("D", "1");
213 215

  
214
            boolean success = RubikObjectList.addDownloadedObject(act, mInfo.mObjectShortName,mInfo.mNumScrambles, mInfo.mObjectMinorVersion,
215
                                                                  mInfo.mExtrasMinorVersion, mIconSaved, oSuccess, eSuccess);
216
            boolean success = RubikObjectList.addDownloadedObject(act, mInfo.mObjectShortName, mInfo.mNumScrambles, mInfo.mIsFree,
217
                                                                  mInfo.mObjectMinorVersion, mInfo.mExtrasMinorVersion, mIconSaved, oSuccess, eSuccess);
216 218
            if( success )
217 219
              {
218 220
              if( SHOW_DOWNLOADED_DEBUG ) android.util.Log.e("D", "2");
src/main/java/org/distorted/external/RubikUpdates.java
36 36
    public final boolean mUpdateExtras;
37 37

  
38 38
    public int mNumScrambles;
39
    public boolean mIsFree;
39 40
    public Bitmap mIcon;
40 41
    public InputStream mObjectStream;
41 42
    public InputStream mExtrasStream;
src/main/java/org/distorted/objects/RubikObject.java
40 40
  private final String mLowerName, mUpperName;
41 41
  private final int mIconID;
42 42
  private final String[][] mPatterns;
43
  private final boolean mIsFree;
43 44

  
44 45
  private int mJsonID, mMeshID, mExtrasID;
45 46
  private int mObjectMinor, mExtrasMinor;
......
57 58
    mUpperName   = type.name();
58 59
    mLowerName   = type.name().toLowerCase(Locale.ENGLISH);
59 60
    mNumScramble = type.getNumScramble();
61
    mIsFree      = type.isFree();
60 62

  
61 63
    mIconID      = type.getIconID();
62 64
    mJsonID      = ObjectJson.getObjectJsonID(ordinal);
......
85 87
    mLowerName     = object.shortName;
86 88
    mUpperName     = object.shortName.toUpperCase(Locale.ENGLISH);
87 89
    mNumScramble   = object.numScrambles;
90
    mIsFree        = object.free;
88 91
    mObjectMinor   = object.objectMinor;
89 92
    mExtrasMinor   = object.extrasMinor;
90 93

  
......
211 214
    return mNumScramble;
212 215
    }
213 216

  
217
///////////////////////////////////////////////////////////////////////////////////////////////////
218

  
219
  public boolean isFree()
220
    {
221
    return mIsFree;
222
    }
223

  
214 224
///////////////////////////////////////////////////////////////////////////////////////////////////
215 225

  
216 226
  public int getObjectMinor()
src/main/java/org/distorted/objects/RubikObjectList.java
38 38
  public static class DownloadedObject
39 39
    {
40 40
    String shortName;
41
    boolean icon,object,extras;
41
    boolean icon,object,extras,free;
42 42
    int numScrambles, objectMinor, extrasMinor;
43 43

  
44
    DownloadedObject(String sName, int scrambles, int oMinor, int eMinor, boolean i, boolean o, boolean e)
44
    DownloadedObject(String sName, int scrambles, boolean isFree, int oMinor, int eMinor, boolean i, boolean o, boolean e)
45 45
      {
46 46
      shortName = sName;
47 47

  
48 48
      numScrambles= scrambles;
49
      free        = isFree;
49 50
      objectMinor = oMinor;
50 51
      extrasMinor = eMinor;
51 52

  
......
133 134
///////////////////////////////////////////////////////////////////////////////////////////////////
134 135
// PUBLIC API
135 136

  
136
  public static boolean addDownloadedObject(Context context, String shortName, int numScrambles, int objectMinor,
137
  public static boolean addDownloadedObject(Context context, String shortName, int numScrambles, boolean isFree, int objectMinor,
137 138
                                         int extrasMinor, boolean icon, boolean object, boolean extras)
138 139
    {
139 140
    if( SHOW_DOWNLOADED_DEBUG ) android.util.Log.e("D", "New downloaded object "+shortName+" icon="+icon+" object="+object+" extras="+extras);
......
171 172
    if( !object ) objectMinor=-1;
172 173
    if( !extras ) extrasMinor=-1;
173 174

  
174
    DownloadedObject obj = new DownloadedObject(shortName,numScrambles,objectMinor,extrasMinor,icon,object,extras);
175
    DownloadedObject obj = new DownloadedObject(shortName,numScrambles,isFree,objectMinor,extrasMinor,icon,object,extras);
175 176
    if ( internalAddDownloadedObject(obj) )
176 177
      {
177 178
      if( SHOW_DOWNLOADED_DEBUG ) android.util.Log.e("D", "Adding new downloaded object "+shortName+" icon="+obj.icon+" object="+obj.object+" extras="+obj.extras);
......
234 235
        downloadedObjects.append(object.object ? "1":"0");
235 236
        downloadedObjects.append(' ');
236 237
        downloadedObjects.append(object.extras ? "1":"0");
238
        downloadedObjects.append(' ');
239
        downloadedObjects.append(object.free ? "true":"false");
237 240
        }
238 241

  
239 242
      String objects = downloadedObjects.toString();
......
279 282
      for(String dObj : dObjects)
280 283
        {
281 284
        String[] parts = dObj.split(" ");
285
        int length = parts.length;
282 286

  
283
        if( parts.length==7 )
287
        if( length==7 || length==8 )
284 288
          {
285 289
          String name = parts[0];
286 290
          String scra = parts[1];
......
289 293
          String icon = parts[4];
290 294
          String obje = parts[5];
291 295
          String extr = parts[6];
296
          boolean isFree = (length==7 || Boolean.parseBoolean(parts[7]));
292 297

  
293 298
          int scrambles = Integer.parseInt(scra);
294 299
          int oMinor    = Integer.parseInt(objM);
......
298 303
          boolean bObje = obje.equals("1");
299 304
          boolean bExtr = extr.equals("1");
300 305

  
301
          addDownloadedObject(context,name,scrambles,oMinor,eMinor,bIcon,bObje,bExtr);
306
          addDownloadedObject(context,name,scrambles,isFree,oMinor,eMinor,bIcon,bObje,bExtr);
302 307
          }
303 308
        }
304 309
      }

Also available in: Unified diff