Revision 80f574a1
Added by Leszek Koltunski over 2 years ago
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
IAP, part 1: Introduce the concept of a 'free' and 'not free' object to
- ObjectType
- DownloadedObject
- RubikObject
- jsons