Skip to content

Commit 909e73a

Browse files
Merge pull request Catrobat#4619 from bprattes/CATROID-1202
CATROID-1202 In Catroid in Catblocks mode, the bricks in the selection menus shall be shown with Catblocks bricks
2 parents 59cb5b2 + 963ab4c commit 909e73a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+539
-339
lines changed

catroid/src/androidTest/java/org/catrobat/catroid/uiespresso/content/brick/app/AddBrickCatblocksTest.java

-125
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
/*
2+
* Catroid: An on-device visual programming system for Android devices
3+
* Copyright (C) 2010-2022 The Catrobat Team
4+
* (<http://developer.catrobat.org/credits>)
5+
*
6+
* This program is free software: you can redistribute it and/or modify
7+
* it under the terms of the GNU Affero General Public License as
8+
* published by the Free Software Foundation, either version 3 of the
9+
* License, or (at your option) any later version.
10+
*
11+
* An additional term exception under section 7 of the GNU Affero
12+
* General Public License, version 3, is available at
13+
* http://developer.catrobat.org/license_additional_term
14+
*
15+
* This program is distributed in the hope that it will be useful,
16+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18+
* GNU Affero General Public License for more details.
19+
*
20+
* You should have received a copy of the GNU Affero General Public License
21+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
22+
*/
23+
24+
package org.catrobat.catroid.uiespresso.content.brick.app
25+
26+
import android.view.View
27+
import android.webkit.WebView
28+
import androidx.fragment.app.Fragment
29+
import androidx.fragment.app.FragmentManager
30+
import androidx.test.core.app.ApplicationProvider
31+
import androidx.test.ext.junit.runners.AndroidJUnit4
32+
import androidx.test.platform.app.InstrumentationRegistry
33+
import androidx.test.uiautomator.By
34+
import androidx.test.uiautomator.UiDevice
35+
import androidx.test.uiautomator.UiSelector
36+
import androidx.test.uiautomator.Until
37+
import org.catrobat.catroid.R
38+
import org.catrobat.catroid.UiTestCatroidApplication.Companion.projectManager
39+
import org.catrobat.catroid.content.Project
40+
import org.catrobat.catroid.content.Sprite
41+
import org.catrobat.catroid.content.StartScript
42+
import org.catrobat.catroid.ui.SpriteActivity
43+
import org.catrobat.catroid.ui.recyclerview.fragment.CatblocksScriptFragment
44+
import org.catrobat.catroid.ui.settingsfragments.SettingsFragment
45+
import org.catrobat.catroid.uiespresso.util.rules.FragmentActivityTestRule
46+
import org.junit.After
47+
import org.junit.Assert
48+
import org.junit.Before
49+
import org.junit.Rule
50+
import org.junit.Test
51+
import org.junit.runner.RunWith
52+
53+
@RunWith(AndroidJUnit4::class)
54+
class AddBrickCatblocksTest {
55+
56+
companion object {
57+
private const val TIMEOUT: Long = (5 * 1000).toLong()
58+
}
59+
60+
@get:Rule
61+
var baseActivityTestRule = FragmentActivityTestRule(
62+
SpriteActivity::class.java, SpriteActivity.EXTRA_FRAGMENT_POSITION,
63+
SpriteActivity.FRAGMENT_SCRIPTS
64+
)
65+
66+
@Before
67+
fun setUp() {
68+
SettingsFragment.setUseCatBlocks(ApplicationProvider.getApplicationContext(), true)
69+
createProject()
70+
baseActivityTestRule.launchActivity()
71+
}
72+
73+
@After
74+
fun tearDown() {
75+
SettingsFragment.setUseCatBlocks(ApplicationProvider.getApplicationContext(), false)
76+
baseActivityTestRule.finishActivity()
77+
}
78+
79+
@Test
80+
fun addBricksFromCatblocksView() {
81+
val uiDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
82+
uiDevice.wait(Until.findObject(By.clazz(WebView::class.java)), TIMEOUT)
83+
val catblocksView = baseActivityTestRule.activity.findViewById<View>(R.id.catblocksWebView)
84+
val catblocksFragment = FragmentManager.findFragment<Fragment>(catblocksView) as CatblocksScriptFragment
85+
catblocksFragment.activity?.runOnUiThread(Runnable {
86+
catblocksFragment.handleAddButton()
87+
})
88+
val categoryEvent = uiDevice.findObject(
89+
UiSelector().resourceId("categoryEVENT")
90+
)
91+
Assert.assertTrue(categoryEvent.waitForExists(TIMEOUT))
92+
categoryEvent.click()
93+
val brickStartScript = uiDevice.findObject(
94+
UiSelector().resourceId("brickStartScript")
95+
)
96+
Assert.assertTrue(brickStartScript.waitForExists(TIMEOUT))
97+
Assert.assertTrue(brickStartScript.exists())
98+
Assert.assertTrue(brickStartScript.click())
99+
Assert.assertTrue(brickStartScript.waitUntilGone(TIMEOUT))
100+
Assert.assertEquals(projectManager.currentSprite.scriptList.count(), 1)
101+
val addedScript = projectManager.currentSprite.scriptList.first()
102+
Assert.assertNotNull(addedScript)
103+
Assert.assertTrue(addedScript is StartScript)
104+
}
105+
106+
private fun createProject() {
107+
val projectName = javaClass.simpleName
108+
val project = Project(ApplicationProvider.getApplicationContext(), projectName)
109+
val sprite = Sprite("testSprite")
110+
project.defaultScene.addSprite(sprite)
111+
projectManager.currentProject = project
112+
projectManager.currentSprite = sprite
113+
}
114+
}

catroid/src/main/assets/catblocks/CatBlocks.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

catroid/src/main/assets/catblocks/i18n/af.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/ar.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/az.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/bg.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/bn.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/bs.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/ca.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/chr.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/cs.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/da.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/de.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/el.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/en.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/en_AU.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/en_CA.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/en_GB.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/es.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/eu_ES.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/fa.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/fa_IR.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/fi.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/fr.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/gl.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/gu.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/ha.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/hi.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/hr.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/hu.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/ig.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/in.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/it.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/iw.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/ja.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/ka.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/kab.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/kk.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/kn.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/ko.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/lt.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/mk.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/ml.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/ml_IN.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/ms.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/nl.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/no.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/pa_IN.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/pl.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/ps.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/pt.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/pt_BR.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/ro.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/ru.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/sd.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/si.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/sk.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/sl.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/sq.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/sr.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/sr_CS.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/sr_SP.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/sv.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/sw.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/ta.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/te.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/th.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/tl.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/tr.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/tw.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/uk.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/ur.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/uz.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/vi.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/yo_NG.json

+1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/zh_CN.json

+1-1
Large diffs are not rendered by default.

catroid/src/main/assets/catblocks/i18n/zh_TW.json

+1-1
Large diffs are not rendered by default.
+61-16
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,49 @@
11
<!DOCTYPE html>
22
<html lang="en">
3-
<head>
4-
<meta charset="UTF-8" />
5-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6-
<title>Catblocks 2D view</title>
7-
<link href="main.css" rel="stylesheet">
8-
</head>
3+
<head>
4+
<meta charset="UTF-8" />
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6+
<title>Android Release</title>
97

10-
<body>
11-
<div id="catroid-catblocks-container"></div>
12-
<script type="text/javascript"
13-
src="https://appassets.androidplatform.net/assets/catblocks/CatBlocks.js"></script>
8+
<link
9+
rel="stylesheet"
10+
href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
11+
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
12+
crossorigin="anonymous"
13+
/>
14+
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" />
1415

15-
<script>
16+
<link href="https://cdnjs.cloudflare.com/ajax/libs/mdbootstrap/4.15.0/css/mdb.min.css" rel="stylesheet" />
17+
<link href="main.css?a54aa1ae5714dedd3117" rel="stylesheet"></head>
18+
19+
<body>
20+
<div id="catroid-catblocks-container"></div>
21+
22+
<div id="catroid-catblocks-hidden-container" style="display:none;"></div>
23+
24+
<div id="catroid-catblocks-add-brick-dialog" style="display:none;">
25+
<div id="catroid-catblocks-add-brick-dialog-header">
26+
<div id="catroid-catblocks-add-brick-dialog-header-content-container">
27+
<div id="catroid-catblocks-add-brick-back-container">
28+
<img
29+
src="https://appassets.androidplatform.net/assets/catblocks/media/arrow_back_ios_black_36dp.svg" />
30+
</div>
31+
<div id="catroid-catblocks-add-brick-text-container">
32+
<h3 id="catroid-catblocks-add-brick-dialog-header-text"></h3>
33+
</div>
34+
</div>
35+
<div id="catroid-catblocks-add-brick-dialog-close-container">
36+
<img
37+
src="https://appassets.androidplatform.net/assets/catblocks/media/close_black_36dp.svg" />
38+
</div>
39+
</div>
40+
<div id="catroid-catblocks-add-brick-dialog-content">
41+
<div id="catroid-catblocks-brick-category-container" class="list-group" style="display:none;"></div>
42+
<div id="catroid-catblocks-bricks-container" style="display:none;"></div>
43+
</div>
44+
</div>
45+
46+
<script>
1647
window.onload = function () {
1748
CatBlocks.init({
1849
container: 'catroid-catblocks-container',
@@ -28,13 +59,27 @@
2859
readOnly: false
2960
}).then(() => {
3061
const programXML = Android.getCurrentProject();
31-
3262
const scene = Android.getSceneNameToDisplay();
3363
const object = Android.getSpriteNameToDisplay();
34-
const brickIDToFocus = Android.getBrickIDToFocus();
35-
CatBlocks.render(programXML, scene, object, brickIDToFocus);
64+
CatBlocks.render(programXML, scene, object);
3665
});
3766
};
3867
</script>
39-
</body>
40-
</html>
68+
<script
69+
src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"
70+
integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="
71+
crossorigin="anonymous"
72+
></script>
73+
<script
74+
src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"
75+
integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1"
76+
crossorigin="anonymous"
77+
></script>
78+
<script
79+
src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
80+
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
81+
crossorigin="anonymous"
82+
></script>
83+
<script type="text/javascript"
84+
src="https://appassets.androidplatform.net/assets/catblocks/CatBlocks.js?a54aa1ae5714dedd3117"></script></body>
85+
</html>

0 commit comments

Comments
 (0)