Skip to content

Commit ff3e379

Browse files
authored
Merge pull request #2497 from Catrobat/release-0.9.29
Release 0.9.29
2 parents 98efd85 + 9772056 commit ff3e379

1,704 files changed

Lines changed: 34398 additions & 16489 deletions

File tree

Some content is hidden

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

.idea/codeStyleSettings.xml

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ For reporting issues use our [JIRA Bugtracking System](https://jira.catrob.at/se
1717
If you want to contribute we suggest that you start with [forking](https://help.github.com/articles/fork-a-repo/) our repository and browse the code. Then you can look at our [Issue-Tracker](https://jira.catrob.at/secure/RapidBoard.jspa?rapidView=60) and start with fixing one ticket. We strictly use [Test-Driven Development](http://c2.com/cgi/wiki?TestDrivenDevelopment) and [Clean Code](http://www.planetgeek.ch/wp-content/uploads/2013/06/Clean-Code-V2.2.pdf), so first read everything you can about these development methods. Code developed in a different style will not be accepted.
1818
After you've created a pull request we will review your code and do a full testrun on your branch.
1919

20-
If you want to implement a new feature, please ask about the details in JIRA or our IRC channel (#catrobat or #catrobatdev) first.
20+
If you want to implement a new feature, please ask about the details on http://catrob.at/mailinglist
2121

22-
Start setting up the working environment by following the instructions in our [Wiki](https://github.com/Catrobat/Catroid/wiki/Setup-working-environment)!
22+
Start setting up the working environment by following the instructions: https://github.com/Catrobat/Catroid/wiki/Setup-working-environment
2323

2424
Also make sure to read our guidelines for [creating a pull request](https://github.com/Catrobat/Catroid/wiki/Creating-a-pull-request)
2525

@@ -35,7 +35,6 @@ Also make sure to read our guidelines for [creating a pull request](https://gith
3535
* [Google+](https://plus.google.com/u/0/+CatrobatOrgAdmin/posts)
3636
* [Facebook](https://www.facebook.com/CatrobatPocketCode?fref=ts)
3737
* [Our Google group](https://groups.google.com/forum/?fromgroups#!forum/catrobat)
38-
* Visit us on IRC: #catrobat or #catrobatdev on [freenode](http://freenode.net/)
3938

4039
# License #
4140
[License](http://developer.catrobat.org/licenses) of our project (mainly AGPL v3).

build.gradle

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,26 @@
1+
/*
2+
* Catroid: An on-device visual programming system for Android devices
3+
* Copyright (C) 2010-2017 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+
124
// Top-level build file where you can add configuration options common to all sub-projects/modules.
225

326
// Top-level build file where you can add configuration options common to all sub-projects/modules.
@@ -8,7 +31,7 @@ buildscript {
831
}
932

1033
dependencies {
11-
classpath 'com.android.tools.build:gradle:2.1.3'
34+
classpath 'com.android.tools.build:gradle:2.3.0'
1235
classpath 'com.google.gms:google-services:3.0.0'
1336
// NOTE: Do not place your application dependencies here; they belong
1437
// in the individual module build.gradle files
@@ -18,5 +41,6 @@ buildscript {
1841
allprojects {
1942
repositories {
2043
jcenter()
44+
maven { url "https://jitpack.io" }
2145
}
2246
}

catroid/build.gradle

Lines changed: 51 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
* Catroid: An on-device visual programming system for Android devices
3-
* Copyright (C) 2010-2016 The Catrobat Team
3+
* Copyright (C) 2010-2017 The Catrobat Team
44
* (<http://developer.catrobat.org/credits>)
55
*
66
* This program is free software: you can redistribute it and/or modify
@@ -24,17 +24,21 @@
2424
buildscript {
2525
repositories {
2626
jcenter()
27+
maven { url 'https://maven.fabric.io/public' }
2728
}
2829
dependencies {
29-
classpath 'com.android.tools.build:gradle:2.1.3'
30+
classpath 'com.android.tools.build:gradle:2.3.0'
31+
classpath 'io.fabric.tools:gradle:1.21.5'
3032
}
3133
}
3234

3335
repositories {
3436
jcenter()
37+
maven { url 'https://maven.fabric.io/public' }
3538
}
3639

3740
apply plugin: 'com.android.application'
41+
apply plugin: 'io.fabric'
3842
apply plugin: 'checkstyle'
3943
apply plugin: 'pmd'
4044

@@ -45,6 +49,20 @@ apply from: 'gradle/standalone_apk_tasks.gradle'
4549
check.dependsOn 'checkstyle'
4650
check.dependsOn 'pmd'
4751

52+
def appId = 'org.catrobat.catroid'
53+
def appName = '@string/app_name'
54+
55+
// When -Pindependent was provided on the gradle command the APP name is changed.
56+
// This allows to have multiple Catroid versions installed in parallel for testing purposes.
57+
// Furthermore these installations do not interfere with the actual Catroid app.
58+
if (project.hasProperty('independent')) {
59+
def today = new Date()
60+
appId += '.independent_' + today.format('YYYYMMdd_HHmm')
61+
appName = property('independent') ?: 'Code ' + today.format('MMdd HH:mm')
62+
}
63+
ant.copy(file: 'google-services-template.json', tofile: 'google-services.json', overwrite: true)
64+
ant.replace(file: 'google-services.json', token: '@appId@', value: appId)
65+
4866
android {
4967
dexOptions {
5068
javaMaxHeapSize "4g"
@@ -53,6 +71,7 @@ android {
5371
exclude 'META-INF/maven/com.google.guava/guava/pom.properties'
5472
exclude 'META-INF/maven/com.google.guava/guava/pom.xml'
5573
}
74+
5675
buildTypes {
5776

5877
debug {
@@ -66,8 +85,10 @@ android {
6685
buildConfigField "boolean", "FEATURE_ARDUINO_ENABLED", "true"
6786
buildConfigField "boolean", "FEATURE_RASPI_ENABLED", "true"
6887
buildConfigField "boolean", "FEATURE_POCKETMUSIC_ENABLED", "true"
69-
buildConfigField "boolean", "FIREBASE_CRASH_REPORT_ENABLED", "false"
88+
buildConfigField "boolean", "FEATURE_CAST_ENABLED", "true"
89+
buildConfigField "boolean", "CRASHLYTICS_CRASH_REPORT_ENABLED", "true"
7090
resValue "string", "SNACKBAR_HINTS_ENABLED", "false"
91+
ext.enableCrashlytics = false
7192
}
7293
release {
7394
buildConfigField "boolean", "FEATURE_LEGO_NXT_ENABLED", "true"
@@ -80,28 +101,30 @@ android {
80101
buildConfigField "boolean", "FEATURE_RASPI_ENABLED", "true"
81102
buildConfigField "boolean", "FEATURE_NFC_ENABLED", "true"
82103
buildConfigField "boolean", "FEATURE_POCKETMUSIC_ENABLED", "false"
83-
buildConfigField "boolean", "FIREBASE_CRASH_REPORT_ENABLED", "true"
104+
buildConfigField "boolean", "FEATURE_CAST_ENABLED", "true"
105+
buildConfigField "boolean", "CRASHLYTICS_CRASH_REPORT_ENABLED", "true"
84106
resValue "string", "SNACKBAR_HINTS_ENABLED", "true"
85107
}
86108
}
109+
87110
productFlavors {
88111
catroid {
89-
applicationId 'org.catrobat.catroid'
112+
applicationId appId
90113
buildConfigField "String", "START_PROJECT", "\"No Starting Project\""
91114
buildConfigField "String", "PROJECT_NAME", "\"No Standalone Project\""
92115
buildConfigField "boolean", "FEATURE_APK_GENERATOR_ENABLED", "false"
93-
buildConfigField "boolean", "FIREBASE_CRASH_REPORT_ENABLED", "true"
116+
buildConfigField "boolean", "CRASHLYTICS_CRASH_REPORT_ENABLED", "true"
94117
}
95118

96119
standalone {
97-
applicationId 'org.catrobat.catroid.' + getPackageNameSuffix()
120+
applicationId appId + '.' + getPackageNameSuffix()
98121
versionCode 1
99122
versionName '1.0'
100123

101124
buildConfigField "String", "PROJECT_NAME", "\"${(String) getProjectName()}\"";
102125
buildConfigField "String", "START_PROJECT", "\"${(String) getProgramId(true) }\""
103126
buildConfigField "boolean", "FEATURE_APK_GENERATOR_ENABLED", "true"
104-
buildConfigField "boolean", "FIREBASE_CRASH_REPORT_ENABLED", "false"
127+
buildConfigField "boolean", "CRASHLYTICS_CRASH_REPORT_ENABLED", "false"
105128
}
106129
}
107130
}
@@ -116,6 +139,10 @@ configurations {
116139
}
117140

118141
dependencies {
142+
//CAST
143+
compile 'com.android.support:mediarouter-v7:22.+'
144+
compile 'com.google.android.gms:play-services-cast:9.4.0'
145+
119146
compile 'com.google.guava:guava:19.0'
120147
compile 'com.squareup.okhttp:okhttp:2.3.0'
121148
compile 'com.google.code.gson:gson:2.7'
@@ -127,6 +154,7 @@ dependencies {
127154
compile 'com.squareup.picasso:picasso:2.5.2'
128155

129156
compile 'com.thoughtworks.xstream:xstream:1.4.7'
157+
compile 'com.github.oliewa92:MidiDroid:v1.1'
130158

131159
def gdxVersion = '1.6.2'
132160
compile 'com.badlogicgames.gdx:gdx:' + gdxVersion
@@ -142,15 +170,14 @@ dependencies {
142170
compile 'com.facebook.android:facebook-android-sdk:4.14.1'
143171
compile 'com.android.support:support-v4:24.1.1'
144172
compile 'com.google.android.gms:play-services-auth:9.4.0'
145-
compile 'com.google.firebase:firebase-crash:9.4.0'
146173
compile 'com.android.support:multidex:1.0.1'
147174

148175
compile group: 'ar.com.hjg', name: 'pngj', version: '2.1.0'
149176
compile fileTree(include: '*.jar', dir: 'src/main/libs')
150177
compile fileTree(include: '*.jar', dir: 'src/main/libs-natives')
151178
androidTestCompile fileTree(include: '*.jar', dir: 'src/androidTest/libs')
152179
androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.2.1'
153-
androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2'
180+
androidTestCompile 'com.linkedin.dexmaker:dexmaker-mockito:1.5.1'
154181
androidTestCompile 'org.mockito:mockito-core:1.10.19'
155182

156183
androidTestCompile ('com.android.support.test:runner:0.5') {
@@ -174,7 +201,10 @@ dependencies {
174201
testCompile 'org.mockito:mockito-core:1.10.19'
175202

176203
pmd 'net.sourceforge.pmd:pmd:5.1.1'
177-
checkstyle 'com.puppycrawl.tools:checkstyle:6.7'
204+
checkstyle 'com.puppycrawl.tools:checkstyle:7.6'
205+
compile('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') {
206+
transitive = true;
207+
}
178208
}
179209

180210
def getCurrentGitBranch() {
@@ -187,21 +217,20 @@ def getCurrentGitBranch() {
187217

188218
android {
189219
compileSdkVersion 23
190-
buildToolsVersion '23.0.3'
220+
buildToolsVersion '25.0.0'
191221
defaultConfig {
192222
minSdkVersion 16
193223
targetSdkVersion 22
194-
applicationId 'org.catrobat.catroid'
195-
testApplicationId "org.catrobat.catroid.test"
224+
applicationId appId
196225
testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
197-
testInstrumentationRunner 'pl.polidea.instrumentation.PolideaInstrumentationTestRunner'
198-
versionCode 35
226+
versionCode 36
199227
println "VersionCode is " + versionCode
200-
versionName "0.9.28"
228+
versionName "0.9.29"
201229
println "VersionName is " + versionName
202230
buildConfigField "String", "GIT_DESCRIBE", "\"${versionName}\""
203231
buildConfigField "String", "GIT_CURRENT_BRANCH", "\"${getCurrentGitBranch()}\""
204232
multiDexEnabled true
233+
manifestPlaceholders += [appName: appName]
205234
}
206235

207236
packagingOptions {
@@ -220,13 +249,15 @@ android {
220249
ignore 'ContentDescription', 'InvalidPackage', 'ValidFragment', 'GradleDependency',
221250
'ClickableViewAccessibility', 'UnusedAttribute', 'CommitPrefEdits', 'OldTargetApi',
222251
'RtlSymmetry', 'GradleDynamicVersion', 'RtlHardcoded', 'HandlerLeak', 'IconMissingDensityFolder',
223-
'WrongRegion', 'RelativeOverlap', 'IconColors', 'MissingTranslation', 'ExtraTranslation'
252+
'WrongRegion', 'RelativeOverlap', 'IconColors', 'MissingTranslation', 'ExtraTranslation',
253+
'GradleCompatible', 'WifiManagerLeak', 'ApplySharedPref', 'DefaultLocale', 'ObsoleteSdkInt',
254+
'StaticFieldLeak' , 'AppCompatResource'
224255

225256
textReport true
226257
xmlReport true
227258
htmlReport true
228-
xmlOutput file("build/reports/lint.xml")
229-
htmlOutput file("build/reports/lint.html")
259+
xmlOutput file("build/reports/lint-report.xml")
260+
htmlOutput file("build/reports/lint-report.html")
230261
}
231262
}
232263

catroid/catroidBluetoothTestServer/src/org/catrobat/catroid/bluetoothtestserver/BTClientHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
* Catroid: An on-device visual programming system for Android devices
3-
* Copyright (C) 2010-2016 The Catrobat Team
3+
* Copyright (C) 2010-2017 The Catrobat Team
44
* (<http://developer.catrobat.org/credits>)
55
*
66
* This program is free software: you can redistribute it and/or modify

catroid/catroidBluetoothTestServer/src/org/catrobat/catroid/bluetoothtestserver/BTServer.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
* Catroid: An on-device visual programming system for Android devices
3-
* Copyright (C) 2010-2016 The Catrobat Team
3+
* Copyright (C) 2010-2017 The Catrobat Team
44
* (<http://developer.catrobat.org/credits>)
55
*
66
* This program is free software: you can redistribute it and/or modify
@@ -132,7 +132,7 @@ private class InputConnectionHandler extends Thread {
132132

133133
private Client client;
134134

135-
public InputConnectionHandler(Client client) {
135+
InputConnectionHandler(Client client) {
136136
this.client = client;
137137
}
138138

catroid/catroidBluetoothTestServer/src/org/catrobat/catroid/bluetoothtestserver/BluetoothClientHandlerFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
* Catroid: An on-device visual programming system for Android devices
3-
* Copyright (C) 2010-2016 The Catrobat Team
3+
* Copyright (C) 2010-2017 The Catrobat Team
44
* (<http://developer.catrobat.org/credits>)
55
*
66
* This program is free software: you can redistribute it and/or modify

catroid/catroidBluetoothTestServer/src/org/catrobat/catroid/bluetoothtestserver/Client.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
* Catroid: An on-device visual programming system for Android devices
3-
* Copyright (C) 2010-2016 The Catrobat Team
3+
* Copyright (C) 2010-2017 The Catrobat Team
44
* (<http://developer.catrobat.org/credits>)
55
*
66
* This program is free software: you can redistribute it and/or modify

catroid/catroidBluetoothTestServer/src/org/catrobat/catroid/bluetoothtestserver/GUI.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
* Catroid: An on-device visual programming system for Android devices
3-
* Copyright (C) 2010-2016 The Catrobat Team
3+
* Copyright (C) 2010-2017 The Catrobat Team
44
* (<http://developer.catrobat.org/credits>)
55
*
66
* This program is free software: you can redistribute it and/or modify
@@ -80,7 +80,7 @@ public static void writeMessage(String message) {
8080
}
8181

8282
/**
83-
* Standard constructor
83+
* Standard constructor
8484
*/
8585
public GUI() {
8686
super();

catroid/catroidBluetoothTestServer/src/org/catrobat/catroid/bluetoothtestserver/clienthandlers/CommonBluetoothTestClientHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
* Catroid: An on-device visual programming system for Android devices
3-
* Copyright (C) 2010-2016 The Catrobat Team
3+
* Copyright (C) 2010-2017 The Catrobat Team
44
* (<http://developer.catrobat.org/credits>)
55
*
66
* This program is free software: you can redistribute it and/or modify

0 commit comments

Comments
 (0)