Revision b20e89d2
Added by Leszek Koltunski over 2 years ago
src/main/java/org/distorted/main/RubikActivity.java | ||
---|---|---|
19 | 19 |
|
20 | 20 |
package org.distorted.main; |
21 | 21 |
|
22 |
import java.io.InputStream; |
|
22 | 23 |
import java.util.Locale; |
23 | 24 |
|
24 | 25 |
import android.content.Intent; |
... | ... | |
41 | 42 |
|
42 | 43 |
import com.google.firebase.analytics.FirebaseAnalytics; |
43 | 44 |
|
45 |
import org.distorted.dmesh.ObjectMesh; |
|
46 |
import org.distorted.jsons.ObjectJson; |
|
44 | 47 |
import org.distorted.library.main.DistortedLibrary; |
45 | 48 |
|
46 | 49 |
import org.distorted.objectlib.main.ObjectControl; |
... | ... | |
250 | 253 |
|
251 | 254 |
RubikScreenPlay play = (RubikScreenPlay) ScreenList.PLAY.getScreenClass(); |
252 | 255 |
ObjectType object = play.getObject(); |
253 |
view.getObjectControl().changeObject(object);
|
|
256 |
changeIfDifferent(object,view.getObjectControl());
|
|
254 | 257 |
|
255 | 258 |
if( mIsChinese && !mPolicyAccepted ) PrivacyPolicy(); |
256 | 259 |
} |
... | ... | |
266 | 269 |
|
267 | 270 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
268 | 271 |
|
269 |
private String getAppVers() |
|
270 |
{ |
|
271 |
try |
|
272 |
private String getAppVers() |
|
272 | 273 |
{ |
273 |
PackageInfo pInfo = getPackageManager().getPackageInfo( getPackageName(), 0); |
|
274 |
return pInfo.versionName; |
|
275 |
} |
|
276 |
catch (PackageManager.NameNotFoundException e) |
|
277 |
{ |
|
278 |
return "unknown"; |
|
274 |
try |
|
275 |
{ |
|
276 |
PackageInfo pInfo = getPackageManager().getPackageInfo( getPackageName(), 0); |
|
277 |
return pInfo.versionName; |
|
278 |
} |
|
279 |
catch (PackageManager.NameNotFoundException e) |
|
280 |
{ |
|
281 |
return "unknown"; |
|
282 |
} |
|
279 | 283 |
} |
280 |
} |
|
281 | 284 |
|
282 | 285 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
283 | 286 |
|
... | ... | |
435 | 438 |
{ |
436 | 439 |
RubikSurfaceView view = findViewById(R.id.rubikSurfaceView); |
437 | 440 |
ObjectControl control = view.getObjectControl(); |
441 |
TwistyObject oldObject = control.getObject(); |
|
442 |
changeIfDifferent(newObject,control); |
|
438 | 443 |
|
439 |
if( reportChange ) |
|
444 |
if( reportChange && oldObject!=null )
|
|
440 | 445 |
{ |
441 |
TwistyObject oldObject = control.getObject(); |
|
442 |
|
|
443 |
if( oldObject!=null ) |
|
446 |
float fps = view.getRenderer().getFPS(); |
|
447 |
fps = (int)(fps+0.5f); |
|
448 |
StringBuilder name = new StringBuilder(); |
|
449 |
name.append(oldObject.getShortName()); |
|
450 |
name.append(' '); |
|
451 |
name.append(fps); |
|
452 |
name.append(" --> "); |
|
453 |
name.append(newObject.name()); |
|
454 |
|
|
455 |
if( BuildConfig.DEBUG ) |
|
444 | 456 |
{ |
445 |
ObjectType oldType = oldObject.getObjectType(); |
|
446 |
float fps = view.getRenderer().getFPS(); |
|
447 |
fps = (int)(fps+0.5f); |
|
448 |
StringBuilder name = new StringBuilder(); |
|
449 |
name.append(oldType.name()); |
|
450 |
name.append(' '); |
|
451 |
name.append(fps); |
|
452 |
name.append(" --> "); |
|
453 |
name.append(newObject.name()); |
|
454 |
|
|
455 |
if( BuildConfig.DEBUG ) |
|
456 |
{ |
|
457 |
android.util.Log.e("rubik", name.toString()); |
|
458 |
} |
|
459 |
else |
|
460 |
{ |
|
461 |
FirebaseAnalytics analytics = getAnalytics(); |
|
457 |
android.util.Log.e("rubik", name.toString()); |
|
458 |
} |
|
459 |
else |
|
460 |
{ |
|
461 |
FirebaseAnalytics analytics = getAnalytics(); |
|
462 | 462 |
|
463 |
if( analytics!=null ) |
|
464 |
{ |
|
465 |
Bundle bundle = new Bundle(); |
|
466 |
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name.toString()); |
|
467 |
analytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM, bundle); |
|
468 |
} |
|
463 |
if( analytics!=null ) |
|
464 |
{ |
|
465 |
Bundle bundle = new Bundle(); |
|
466 |
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name.toString()); |
|
467 |
analytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM, bundle); |
|
469 | 468 |
} |
470 | 469 |
} |
471 | 470 |
} |
471 |
} |
|
472 |
|
|
473 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
472 | 474 |
|
473 |
control.changeObject(newObject); |
|
475 |
public void changeIfDifferent(ObjectType type,ObjectControl control) |
|
476 |
{ |
|
477 |
InputStream jsonStream = ObjectJson.getStream(type,this); |
|
478 |
InputStream meshStream = ObjectMesh.getStream(type,this); |
|
479 |
control.changeIfDifferent(type.ordinal(),jsonStream,meshStream); |
|
474 | 480 |
} |
475 | 481 |
|
476 | 482 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
Also available in: Unified diff
Move the main app to the 'J1M1' object creation mode, i.e. create them from the Json files and using the Dmesh fiels as well.
Make it possible for any app descending from the 'objectlib' to use any of the J0M0, J0M1, J1M0, J1M1 modes.