Revision c020555e
Added by Leszek Koltunski over 3 years ago
| src/main/java/org/distorted/bandaged/BandagedCreatorActivity.java | ||
|---|---|---|
| 292 | 292 |
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); |
| 293 | 293 |
SharedPreferences.Editor editor = preferences.edit(); |
| 294 | 294 |
TwistyObject object = new TwistyJson( jsonStream, meshState, iconMode, null, null, 1.0f, null); |
| 295 |
object.removePreferences(editor); |
|
| 295 |
if( !object.getError() ) object.removePreferences(editor);
|
|
| 296 | 296 |
editor.apply(); |
| 297 | 297 |
} |
| 298 | 298 |
|
| src/main/java/org/distorted/bandaged/BandagedPlayLibInterface.java | ||
|---|---|---|
| 50 | 50 |
public void onObjectCreated(long time) { }
|
| 51 | 51 |
public void onReplaceModeDown(int cubit, int face) { }
|
| 52 | 52 |
public void onReplaceModeUp() { }
|
| 53 |
public void reportJSONError(String error, int ordinal) { }
|
|
| 53 | 54 |
|
| 54 | 55 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 55 | 56 |
|
| src/main/java/org/distorted/config/ConfigObjectLibInterface.java | ||
|---|---|---|
| 39 | 39 |
public void onReplaceModeUp() { }
|
| 40 | 40 |
public void onFinishRotation(int axis, int row, int angle) { }
|
| 41 | 41 |
public void failedToDrag() { }
|
| 42 |
public void reportJSONError(String error, int ordinal) { }
|
|
| 42 | 43 |
|
| 43 | 44 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 44 | 45 |
|
| src/main/java/org/distorted/config/ConfigScreenPane.java | ||
|---|---|---|
| 78 | 78 |
|
| 79 | 79 |
mObjectOrdinal = objectOrdinal; |
| 80 | 80 |
JsonReader reader = JsonReader.getInstance(); |
| 81 |
reader.parseJsonFileMetadata(stream); |
|
| 81 |
String name,author; |
|
| 82 |
int year, difficulty; |
|
| 83 |
|
|
| 84 |
try |
|
| 85 |
{
|
|
| 86 |
reader.parseJsonFileMetadata(stream); |
|
| 87 |
name = reader.getObjectName(); |
|
| 88 |
author = reader.getInventor(); |
|
| 89 |
year = reader.getYearOfInvention(); |
|
| 90 |
difficulty = reader.getComplexity(); |
|
| 91 |
} |
|
| 92 |
catch(Exception ex) |
|
| 93 |
{
|
|
| 94 |
name = "?"; |
|
| 95 |
author = "?"; |
|
| 96 |
year = 0; |
|
| 97 |
difficulty = 0; |
|
| 98 |
} |
|
| 82 | 99 |
|
| 83 |
String name = reader.getObjectName(); |
|
| 84 |
String author = reader.getInventor(); |
|
| 85 |
int year = reader.getYearOfInvention(); |
|
| 86 | 100 |
String both = year>0 ? author+" "+year : author; |
| 87 | 101 |
|
| 88 | 102 |
LinearLayout layout = act.findViewById(R.id.configLayout); |
| ... | ... | |
| 91 | 105 |
view = layout.findViewById(R.id.configDetailsAuthor2); |
| 92 | 106 |
view.setText(both); |
| 93 | 107 |
|
| 94 |
int difficulty = reader.getComplexity(); |
|
| 95 |
|
|
| 96 | 108 |
if( difficulty<0 ) difficulty=0; |
| 97 | 109 |
if( difficulty>NUM_IMAGES ) difficulty=NUM_IMAGES; |
| 98 | 110 |
|
| src/main/java/org/distorted/dialogs/RubikDialogTutorialView.java | ||
|---|---|---|
| 77 | 77 |
|
| 78 | 78 |
if( jsonStream!=null ) |
| 79 | 79 |
{
|
| 80 |
JsonReader reader = JsonReader.getInstance(); |
|
| 81 |
reader.parseJsonTutorial(jsonStream); |
|
| 82 |
tutorials = reader.getTutorials(); |
|
| 80 |
try |
|
| 81 |
{
|
|
| 82 |
JsonReader reader = JsonReader.getInstance(); |
|
| 83 |
reader.parseJsonTutorial(jsonStream); |
|
| 84 |
tutorials = reader.getTutorials(); |
|
| 85 |
} |
|
| 86 |
catch(Exception ex) |
|
| 87 |
{
|
|
| 88 |
tutorials = null; |
|
| 89 |
} |
|
| 83 | 90 |
} |
| 84 | 91 |
|
| 85 | 92 |
if( tutorials!=null ) |
| src/main/java/org/distorted/dialogs/RubikDialogUpdateView.java | ||
|---|---|---|
| 201 | 201 |
|
| 202 | 202 |
if( SHOW_DOWNLOADED_DEBUG ) android.util.Log.e("D", "Saving JSON "+name+" to a file "+oSuccess);
|
| 203 | 203 |
|
| 204 |
JsonReader reader = JsonReader.getInstance(); |
|
| 205 |
mInfo.mNumScrambles = reader.readNumScrambles(act,name); |
|
| 206 |
|
|
| 207 |
if( SHOW_DOWNLOADED_DEBUG ) android.util.Log.e("D", "Read from JSON numScrambles="+mInfo.mNumScrambles);
|
|
| 204 |
try |
|
| 205 |
{
|
|
| 206 |
JsonReader reader = JsonReader.getInstance(); |
|
| 207 |
mInfo.mNumScrambles = reader.readNumScrambles(act,name); |
|
| 208 |
if( SHOW_DOWNLOADED_DEBUG ) android.util.Log.e("D", "Read from JSON numScrambles="+mInfo.mNumScrambles);
|
|
| 209 |
} |
|
| 210 |
catch(Exception ex) |
|
| 211 |
{
|
|
| 212 |
mInfo.mNumScrambles = 25; |
|
| 213 |
if( SHOW_DOWNLOADED_DEBUG ) android.util.Log.e("D", "Error reading numScrambles");
|
|
| 214 |
} |
|
| 208 | 215 |
} |
| 209 | 216 |
|
| 210 | 217 |
if( mInfo.mExtrasStream!=null ) |
| src/main/java/org/distorted/main/RubikObjectLibInterface.java | ||
|---|---|---|
| 436 | 436 |
} |
| 437 | 437 |
} |
| 438 | 438 |
|
| 439 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
| 440 |
|
|
| 441 |
public void reportJSONError(String error, int ordinal) |
|
| 442 |
{
|
|
| 443 |
RubikObject object = RubikObjectList.getObject(ordinal); |
|
| 444 |
String name = object==null ? "NULL" : object.getUpperName(); |
|
| 445 |
|
|
| 446 |
if( BuildConfig.DEBUG ) |
|
| 447 |
{
|
|
| 448 |
android.util.Log.e("libInterface", "name="+name+" JSON error: "+error);
|
|
| 449 |
} |
|
| 450 |
else |
|
| 451 |
{
|
|
| 452 |
Exception ex = new Exception(error); |
|
| 453 |
FirebaseCrashlytics crashlytics = FirebaseCrashlytics.getInstance(); |
|
| 454 |
crashlytics.setCustomKey("name" , name );
|
|
| 455 |
crashlytics.setCustomKey("JSONerror", error );
|
|
| 456 |
crashlytics.recordException(ex); |
|
| 457 |
} |
|
| 458 |
} |
|
| 459 |
|
|
| 439 | 460 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 440 | 461 |
|
| 441 | 462 |
public void onReplaceModeDown(int cubit, int face) |
| src/main/java/org/distorted/tutorials/TutorialObjectLibInterface.java | ||
|---|---|---|
| 48 | 48 |
public void onObjectCreated(long time) { }
|
| 49 | 49 |
public void onReplaceModeDown(int cubit, int face) { }
|
| 50 | 50 |
public void onReplaceModeUp() { }
|
| 51 |
public void reportJSONError(String error, int ordinal) { }
|
|
| 51 | 52 |
|
| 52 | 53 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 53 | 54 |
|
Also available in: Unified diff
Do not crash when something's wrong with the JSON file - handle this gracefully, do not change the object then, and report this to Firebase.