Project

General

Profile

« Previous | Next » 

Revision b20e89d2

Added by Leszek Koltunski over 2 years ago

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.

View differences:

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