Revision 2afc6754
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.util.Locale; |
|
23 |
|
|
22 | 24 |
import android.content.Intent; |
23 | 25 |
import android.content.SharedPreferences; |
24 | 26 |
import android.os.Build; |
... | ... | |
37 | 39 |
|
38 | 40 |
import org.distorted.library.main.DistortedLibrary; |
39 | 41 |
import org.distorted.library.main.DistortedScreen; |
40 |
import org.distorted.library.type.Static4D; |
|
41 | 42 |
|
42 |
import org.distorted.objectlib.main.ObjectPreRender;
|
|
43 |
import org.distorted.objectlib.main.ObjectControl;
|
|
43 | 44 |
import org.distorted.objectlib.main.TwistyObject; |
44 | 45 |
import org.distorted.objectlib.main.ObjectType; |
45 | 46 |
import org.distorted.objectlib.helpers.BlockController; |
47 |
import org.distorted.objectlib.effects.BaseEffect; |
|
48 |
import org.distorted.objectlib.helpers.TwistyActivity; |
|
46 | 49 |
|
47 | 50 |
import org.distorted.dialogs.RubikDialogError; |
48 | 51 |
import org.distorted.dialogs.RubikDialogPrivacy; |
49 |
import org.distorted.objectlib.effects.BaseEffect; |
|
50 |
import org.distorted.objectlib.helpers.TwistyActivity; |
|
51 | 52 |
import org.distorted.network.RubikScores; |
52 | 53 |
import org.distorted.network.RubikNetwork; |
53 | 54 |
import org.distorted.screens.ScreenList; |
54 | 55 |
import org.distorted.screens.RubikScreenPlay; |
55 | 56 |
import org.distorted.tutorials.TutorialActivity; |
56 | 57 |
|
57 |
import java.util.Locale; |
|
58 |
|
|
59 | 58 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
60 | 59 |
|
61 | 60 |
public class RubikActivity extends TwistyActivity |
... | ... | |
122 | 121 |
hideNavigationBar(); |
123 | 122 |
cutoutHack(); |
124 | 123 |
computeBarHeights(); |
125 |
// askForPermissions(); |
|
126 | 124 |
} |
127 | 125 |
|
128 | 126 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
216 | 214 |
} |
217 | 215 |
} |
218 | 216 |
|
219 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
220 |
|
|
221 |
private void askForPermissions() |
|
222 |
{ |
|
223 |
final int REQUEST_EXTERNAL_STORAGE = 1; |
|
224 |
|
|
225 |
String[] PERMISSIONS_STORAGE = |
|
226 |
{ |
|
227 |
android.Manifest.permission.READ_EXTERNAL_STORAGE, |
|
228 |
android.Manifest.permission.WRITE_EXTERNAL_STORAGE |
|
229 |
}; |
|
230 |
|
|
231 |
int permission = androidx.core.app.ActivityCompat.checkSelfPermission(this, android.Manifest.permission.WRITE_EXTERNAL_STORAGE); |
|
232 |
|
|
233 |
if (permission != android.content.pm.PackageManager.PERMISSION_GRANTED) |
|
234 |
{ |
|
235 |
androidx.core.app.ActivityCompat.requestPermissions( this, PERMISSIONS_STORAGE, REQUEST_EXTERNAL_STORAGE ); |
|
236 |
} |
|
237 |
} |
|
238 |
|
|
239 | 217 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
240 | 218 |
|
241 | 219 |
@Override |
... | ... | |
274 | 252 |
|
275 | 253 |
RubikScreenPlay play = (RubikScreenPlay) ScreenList.PLAY.getScreenClass(); |
276 | 254 |
ObjectType object = play.getObject(); |
277 |
view.getPreRender().changeObject(object);
|
|
255 |
view.getObjectControl().changeObject(object);
|
|
278 | 256 |
|
279 | 257 |
if( mIsChinese && !mPolicyAccepted ) PrivacyPolicy(); |
280 | 258 |
} |
... | ... | |
309 | 287 |
|
310 | 288 |
ScreenList.savePreferences(editor); |
311 | 289 |
RubikSurfaceView view = findViewById(R.id.rubikSurfaceView); |
312 |
view.getPreRender().savePreferences(editor);
|
|
290 |
view.getObjectControl().savePreferences(editor);
|
|
313 | 291 |
|
314 | 292 |
editor.apply(); |
315 | 293 |
} |
... | ... | |
335 | 313 |
ScreenList.restorePreferences(preferences); |
336 | 314 |
|
337 | 315 |
RubikSurfaceView view = findViewById(R.id.rubikSurfaceView); |
338 |
view.getPreRender().restorePreferences(preferences);
|
|
316 |
view.getObjectControl().restorePreferences(preferences);
|
|
339 | 317 |
|
340 | 318 |
RubikScores scores = RubikScores.getInstance(); |
341 | 319 |
|
... | ... | |
390 | 368 |
public TwistyObject getObject() |
391 | 369 |
{ |
392 | 370 |
RubikSurfaceView view = findViewById(R.id.rubikSurfaceView); |
393 |
ObjectPreRender pre = view.getPreRender(); |
|
394 |
return pre.getObject(); |
|
371 |
return view.getObjectControl().getObject(); |
|
395 | 372 |
} |
396 | 373 |
|
397 | 374 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
398 | 375 |
|
399 |
public DistortedScreen getScreen()
|
|
376 |
public ObjectControl getControl()
|
|
400 | 377 |
{ |
401 | 378 |
RubikSurfaceView view = findViewById(R.id.rubikSurfaceView); |
402 |
RubikRenderer renderer = view.getRenderer(); |
|
403 |
return renderer.getScreen(); |
|
379 |
return view.getObjectControl(); |
|
404 | 380 |
} |
405 | 381 |
|
406 | 382 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
407 | 383 |
|
408 |
public ObjectPreRender getPreRender()
|
|
384 |
public DistortedScreen getScreen()
|
|
409 | 385 |
{ |
410 | 386 |
RubikSurfaceView view = findViewById(R.id.rubikSurfaceView); |
411 |
return view.getPreRender(); |
|
412 |
} |
|
413 |
|
|
414 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
415 |
|
|
416 |
public RubikSurfaceView getSurfaceView() |
|
417 |
{ |
|
418 |
return findViewById(R.id.rubikSurfaceView); |
|
387 |
RubikRenderer renderer = view.getRenderer(); |
|
388 |
return renderer.getScreen(); |
|
419 | 389 |
} |
420 | 390 |
|
421 | 391 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
437 | 407 |
public void changeObject(ObjectType newObject, boolean reportChange) |
438 | 408 |
{ |
439 | 409 |
RubikSurfaceView view = findViewById(R.id.rubikSurfaceView); |
440 |
ObjectPreRender pre = view.getPreRender();
|
|
410 |
ObjectControl control = view.getObjectControl();
|
|
441 | 411 |
|
442 | 412 |
if( reportChange ) |
443 | 413 |
{ |
444 |
TwistyObject oldObject = pre.getObject();
|
|
414 |
TwistyObject oldObject = control.getObject();
|
|
445 | 415 |
|
446 | 416 |
if( oldObject!=null ) |
447 | 417 |
{ |
... | ... | |
473 | 443 |
} |
474 | 444 |
} |
475 | 445 |
|
476 |
pre.changeObject(newObject);
|
|
446 |
control.changeObject(newObject);
|
|
477 | 447 |
} |
478 | 448 |
|
479 | 449 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
495 | 465 |
public void setupObject(ObjectType object, int[][] moves) |
496 | 466 |
{ |
497 | 467 |
RubikSurfaceView view = findViewById(R.id.rubikSurfaceView); |
498 |
ObjectPreRender pre = view.getPreRender();
|
|
499 |
pre.setupObject(object,moves);
|
|
468 |
ObjectControl control = view.getObjectControl();
|
|
469 |
control.setupObject(object,moves);
|
|
500 | 470 |
} |
501 | 471 |
|
502 | 472 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
534 | 504 |
} |
535 | 505 |
} |
536 | 506 |
|
537 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
538 |
|
|
539 |
public void setControlState(boolean on) |
|
540 |
{ |
|
541 |
RubikSurfaceView view = findViewById(R.id.rubikSurfaceView); |
|
542 |
RubikRenderer renderer = view.getRenderer(); |
|
543 |
renderer.setControlState(on); |
|
544 |
} |
|
545 |
|
|
546 | 507 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
547 | 508 |
|
548 | 509 |
public void acceptPrivacy() |
... | ... | |
589 | 550 |
{ |
590 | 551 |
setLock(); |
591 | 552 |
|
592 |
ObjectPreRender pre = getPreRender(); |
|
593 |
pre.blockEverything(place); |
|
553 |
RubikSurfaceView view = findViewById(R.id.rubikSurfaceView); |
|
554 |
ObjectControl control = view.getObjectControl(); |
|
555 |
control.blockEverything(place); |
|
594 | 556 |
|
595 | 557 |
RubikScreenPlay play = (RubikScreenPlay) ScreenList.PLAY.getScreenClass(); |
596 | 558 |
play.setLockState(this); |
... | ... | |
602 | 564 |
{ |
603 | 565 |
unsetLock(); |
604 | 566 |
|
605 |
ObjectPreRender pre = getPreRender(); |
|
606 |
pre.unblockEverything(); |
|
567 |
RubikSurfaceView view = findViewById(R.id.rubikSurfaceView); |
|
568 |
ObjectControl control = view.getObjectControl(); |
|
569 |
control.unblockEverything(); |
|
607 | 570 |
|
608 | 571 |
RubikScreenPlay play = (RubikScreenPlay) ScreenList.PLAY.getScreenClass(); |
609 | 572 |
play.setLockState(this); |
610 | 573 |
} |
611 | 574 |
|
612 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
613 |
|
|
614 |
public Static4D getCurrQuat() |
|
615 |
{ |
|
616 |
RubikSurfaceView view = findViewById(R.id.rubikSurfaceView); |
|
617 |
return view.getQuat(); |
|
618 |
} |
|
619 |
|
|
620 | 575 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
621 | 576 |
|
622 | 577 |
public void switchTutorial(String url, ObjectType object) |
Also available in: Unified diff
Move RubikControl to objectlib (as 'ObjectAutomator')
Hide ObjectPreRender inside objectlib and move its APi to ObjectControl.