8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/sudoq-app/sudoq-app/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/sudoq-app/sudoq-app/.idea/copyright/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/sudoq-app/sudoq-app/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/sudoq-app/sudoq-app/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/sudoq-app/sudoq-app/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 21
5 | buildToolsVersion "22.0.1"
6 |
7 | defaultConfig {
8 | applicationId "de.sudoq"
9 | minSdkVersion 8
10 | targetSdkVersion 21
11 |
12 | testApplicationId "de.sudoq.test"
13 | testInstrumentationRunner "android.test.InstrumentationTestRunner"
14 | }
15 |
16 | buildTypes {
17 | release {
18 | minifyEnabled false
19 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
20 | }
21 | }
22 | }
23 |
24 | dependencies {
25 | compile project(':sudoqmodel')
26 | compile "com.android.support:appcompat-v7:21.0.+"
27 | compile 'com.android.support:support-v4:21.0.0'
28 | compile 'org.apache.directory.studio:org.apache.commons.io:2.4'
29 | androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.4.1'
30 | androidTestCompile files('libs/robotium-solo-4.1.jar')
31 | }
32 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/generated/source/buildConfig/androidTest/debug/de/sudoq/test/BuildConfig.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Automatically generated file. DO NOT MODIFY
3 | */
4 | package de.sudoq.test;
5 |
6 | public final class BuildConfig {
7 | public static final boolean DEBUG = Boolean.parseBoolean("true");
8 | public static final String APPLICATION_ID = "de.sudoq.test";
9 | public static final String BUILD_TYPE = "debug";
10 | public static final String FLAVOR = "";
11 | public static final int VERSION_CODE = -1;
12 | public static final String VERSION_NAME = "";
13 | }
14 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/generated/source/buildConfig/debug/de/sudoq/BuildConfig.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Automatically generated file. DO NOT MODIFY
3 | */
4 | package de.sudoq;
5 |
6 | public final class BuildConfig {
7 | public static final boolean DEBUG = Boolean.parseBoolean("true");
8 | public static final String APPLICATION_ID = "de.sudoq";
9 | public static final String BUILD_TYPE = "debug";
10 | public static final String FLAVOR = "";
11 | public static final int VERSION_CODE = 13;
12 | public static final String VERSION_NAME = "";
13 | }
14 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/generated/source/r/androidTest/debug/de/sudoq/test/R.java:
--------------------------------------------------------------------------------
1 | /* AUTO-GENERATED FILE. DO NOT MODIFY.
2 | *
3 | * This class was automatically generated by the
4 | * aapt tool from the resource data it found. It
5 | * should not be modified by hand.
6 | */
7 |
8 | package de.sudoq.test;
9 |
10 | public final class R {
11 | public static final class attr {
12 | }
13 | public static final class drawable {
14 | public static final int ic_launcher=0x7f020000;
15 | }
16 | public static final class layout {
17 | public static final int main=0x7f030000;
18 | }
19 | public static final class string {
20 | public static final int app_name=0x7f040000;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/incremental/aidl/androidTest/debug/dependency.store:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/incremental/aidl/debug/dependency.store:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/incremental/mergeAssets/androidTest/debug/merger.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/incremental/mergeResources/androidTest/debug/merger.xml:
--------------------------------------------------------------------------------
1 |
2 | SudoQRobotiumTests
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/androidTest/debug/drawable-hdpi-v4/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/androidTest/debug/drawable-hdpi-v4/ic_launcher.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/androidTest/debug/drawable-ldpi-v4/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/androidTest/debug/drawable-ldpi-v4/ic_launcher.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/androidTest/debug/drawable-mdpi-v4/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/androidTest/debug/drawable-mdpi-v4/ic_launcher.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/androidTest/debug/layout/main.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/androidTest/debug/values/values.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SudoQRobotiumTests
6 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-hdpi-v4/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-hdpi-v4/background.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-hdpi-v4/help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-hdpi-v4/help.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-hdpi-v4/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-hdpi-v4/ic_launcher.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-hdpi-v4/launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-hdpi-v4/launcher.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-hdpi-v4/redo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-hdpi-v4/redo.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-hdpi-v4/tutorial_bookmark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-hdpi-v4/tutorial_bookmark.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-hdpi-v4/tutorial_branching.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-hdpi-v4/tutorial_branching.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-hdpi-v4/tutorial_current_state.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-hdpi-v4/tutorial_current_state.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-hdpi-v4/tutorial_state.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-hdpi-v4/tutorial_state.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-hdpi-v4/undo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-hdpi-v4/undo.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-ldpi-v4/tutorial_bookmark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-ldpi-v4/tutorial_bookmark.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-ldpi-v4/tutorial_branching.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-ldpi-v4/tutorial_branching.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-ldpi-v4/tutorial_current_state.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-ldpi-v4/tutorial_current_state.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-ldpi-v4/tutorial_state.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-ldpi-v4/tutorial_state.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-mdpi-v4/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-mdpi-v4/background.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-mdpi-v4/help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-mdpi-v4/help.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-mdpi-v4/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-mdpi-v4/ic_launcher.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-mdpi-v4/launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-mdpi-v4/launcher.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-mdpi-v4/redo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-mdpi-v4/redo.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-mdpi-v4/tutorial_bookmark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-mdpi-v4/tutorial_bookmark.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-mdpi-v4/tutorial_branching.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-mdpi-v4/tutorial_branching.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-mdpi-v4/tutorial_current_state.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-mdpi-v4/tutorial_current_state.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-mdpi-v4/tutorial_state.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-mdpi-v4/tutorial_state.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-mdpi-v4/undo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-mdpi-v4/undo.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-xhdpi-v4/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-xhdpi-v4/background.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-xhdpi-v4/help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-xhdpi-v4/help.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-xhdpi-v4/launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-xhdpi-v4/launcher.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-xhdpi-v4/redo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-xhdpi-v4/redo.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-xhdpi-v4/tutorial_bookmark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-xhdpi-v4/tutorial_bookmark.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-xhdpi-v4/tutorial_branching.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-xhdpi-v4/tutorial_branching.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-xhdpi-v4/tutorial_current_state.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-xhdpi-v4/tutorial_current_state.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-xhdpi-v4/tutorial_state.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-xhdpi-v4/tutorial_state.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-xhdpi-v4/undo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-xhdpi-v4/undo.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-xxxhdpi-v4/help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable-xxxhdpi-v4/help.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/action_tree.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/action_tree.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/action_tree_tutorial.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/action_tree_tutorial.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/background_gradient.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/background_serious.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/empty_sudoku.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/empty_sudoku.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/gesture_button_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
9 |
10 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/gesture_checked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/gesture_checked.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/gesture_unchecked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/gesture_unchecked.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/help.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/help_tutorial.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/help_tutorial.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/launcher.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/redo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/redo.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/rootkuh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/rootkuh.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/squiggly.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/squiggly.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/sudoku_tutorial.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/sudoku_tutorial.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/tutorial_bookmark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/tutorial_bookmark.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/tutorial_branching.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/tutorial_branching.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/tutorial_current_state.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/tutorial_current_state.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/tutorial_state.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/tutorial_state.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/undo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/undo.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/xsudoku.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/drawable/xsudoku.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/layout/list.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/layout/tutorial.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
11 |
16 |
20 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/menu/action_bar_gesture_builder.xml:
--------------------------------------------------------------------------------
1 |
2 |
23 |
24 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/menu/action_bar_player_preferences.xml:
--------------------------------------------------------------------------------
1 |
2 |
28 |
29 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/menu/action_bar_restrict_types.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/menu/action_bar_standard.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/menu/action_bar_sudoku.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/menu/action_bar_sudoku_loading.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/build/intermediates/res/debug/raw/gestures:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/build/intermediates/res/debug/raw/gestures
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/libs/robotium-solo-4.1-javadoc.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/libs/robotium-solo-4.1-javadoc.jar
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/libs/robotium-solo-4.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/libs/robotium-solo-4.1.jar
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/androidTest/java/de/sudoq/test/SplashTest.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.test;
2 |
3 | import android.app.Activity;
4 | import android.test.ActivityInstrumentationTestCase2;
5 |
6 | import com.jayway.android.robotium.solo.Solo;
7 |
8 | import de.sudoq.controller.menus.MainActivity;
9 | import de.sudoq.controller.menus.SplashActivity;
10 |
11 | public class SplashTest extends ActivityInstrumentationTestCase2 {
12 | private Solo solo;
13 |
14 | public SplashTest() {
15 | super("de.sudoq", SplashActivity.class);
16 | }
17 |
18 | public void setUp() throws Exception {
19 | solo = new Solo(getInstrumentation(), getActivity());
20 | }
21 |
22 | public void testSplashFinish() throws Exception {
23 | /*
24 | * ok this is kinda silly but it is a way to get the inizialization done
25 | * so that the mainmenu wont throw exceptions. Just run the whole
26 | * project to prevent this.
27 | */
28 | Activity a = this.getActivity();
29 | // wait for initialization to finish
30 | while (solo.getCurrentActivity() == a) {
31 | solo.sleep(100);
32 | }
33 |
34 | solo.assertCurrentActivity("Should be MainAcitivty", MainActivity.class);
35 | }
36 |
37 | @Override
38 | public void tearDown() throws Exception {
39 | solo.finishOpenedActivities();
40 | }
41 | }
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/androidTest/java/de/sudoq/test/SudokuUtilities.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.test;
2 |
3 | import android.widget.LinearLayout;
4 | import de.sudoq.R;
5 | import de.sudoq.controller.sudoku.SudokuActivity;
6 | import de.sudoq.model.sudoku.Position;
7 | import de.sudoq.view.SudokuFieldView;
8 | import de.sudoq.view.VirtualKeyboardButtonView;
9 | import de.sudoq.view.VirtualKeyboardLayout;
10 |
11 | public class SudokuUtilities {
12 |
13 | public static SudokuFieldView[][] getViewArray(SudokuActivity a) {
14 | Position dim = a.getGame().getSudoku().getSudokuType().getSize();
15 | SudokuFieldView[][] oldViews = a.getSudokuLayout().getSudokuFieldViews();
16 | SudokuFieldView[][] views = new SudokuFieldView[dim.getX()][dim.getY()];
17 | for (int i = 0; i < dim.getX(); i++) {
18 | for (int j = 0; j < dim.getY(); j++) {
19 | views[i][j] = oldViews[i][j];
20 | }
21 | }
22 | return views;
23 | }
24 |
25 | /**
26 | * Gets a Button of the VirtualKeyboard with the given symbol. It expects a real value and the transformation to abstract is done automatically.
27 | *
28 | * @param a The current {@link SudokuActivity}
29 | * @param value The value, of the Button (Not the abstract symbol!)
30 | * @return The View of the {@link VirtualKeyboardButtonView}
31 | */
32 | public static VirtualKeyboardButtonView getKeyboardButton(SudokuActivity a, int value) {
33 | if (value > 0) {
34 | VirtualKeyboardLayout view = (VirtualKeyboardLayout) a.findViewById(R.id.virtual_keyboard);
35 | int columns = (int) Math.ceil(Math.sqrt(a.getGame().getSudoku().getSudokuType().getNumberOfSymbols()));
36 | LinearLayout linearLayout = (LinearLayout) view.getChildAt((value - 1) / columns);
37 | VirtualKeyboardButtonView virtualKeyboardButtonView = (VirtualKeyboardButtonView) linearLayout.getChildAt((value - 1) % columns);
38 | return virtualKeyboardButtonView;
39 | } else {
40 | return null;
41 | }
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/androidTest/java/de/sudoq/test/SudoqTestCase.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.test;
2 |
3 | import android.test.ActivityInstrumentationTestCase2;
4 |
5 | import com.jayway.android.robotium.solo.Solo;
6 |
7 | import de.sudoq.R;
8 | import de.sudoq.controller.menus.MainActivity;
9 | import de.sudoq.controller.menus.SplashActivity;
10 |
11 | /**
12 | * Diese Klasse stellt eine basis für alle unsere Robotium Tests dar. Sie stellt sicher, dass die App richtig
13 | * initialisiert ist und dass für jeden Test ein sauberes neues Profil genutzt wird. Jeder Test startet im Hauptmenü
14 | */
15 | public class SudoqTestCase extends ActivityInstrumentationTestCase2 {
16 | protected Solo solo;
17 |
18 | public SudoqTestCase() {
19 | super("de.sudoq", SplashActivity.class);
20 | }
21 |
22 | public void setUp() {
23 | solo = new Solo(getInstrumentation(), getActivity());
24 | int save = SplashActivity.splashTime;
25 | SplashActivity.splashTime = 0;
26 | // wait for initialization to finish
27 | while (solo.getCurrentActivity().getClass() == SplashActivity.class) {
28 | solo.sleep(100);
29 | }
30 | SplashActivity.splashTime = save;
31 |
32 | /* AT 150 (create profile) */
33 | solo.assertCurrentActivity("Should be MainAcitivty", MainActivity.class);
34 | solo.clickOnButton(solo.getCurrentActivity().getString(R.string.sf_mainmenu_profile));
35 | solo.sendKey(Solo.MENU);
36 | solo.clickOnText(solo.getCurrentActivity().getString(R.string.action_new_profile));
37 | solo.goBack();
38 | }
39 |
40 | @Override
41 | public void tearDown() {
42 | solo.goBackToActivity("MainActivity");
43 | solo.waitForActivity("MainActivity",15000);
44 | solo.clickOnButton(solo.getString(R.string.sf_mainmenu_profile));//faster?
45 | solo.sendKey(Solo.MENU);
46 | solo.clickOnText(solo.getCurrentActivity().getString(R.string.action_delete_profile));
47 | solo.finishOpenedActivities();
48 | }
49 | }
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/androidTest/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/androidTest/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/androidTest/res/drawable-ldpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/androidTest/res/drawable-ldpi/ic_launcher.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/androidTest/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/androidTest/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/androidTest/res/layout/main.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/androidTest/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | SudoQRobotiumTests
4 |
5 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/assets/sudokus/standard4x4/easy/sudoku_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/assets/sudokus/standard4x4/easy/sudoku_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/assets/sudokus/standard4x4/easy/sudoku_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/java/de/sudoq/controller/AppBarLayoutBehavior.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.controller;
2 |
3 | import android.support.design.widget.AppBarLayout;
4 | import android.support.design.widget.CoordinatorLayout;
5 | import android.view.MotionEvent;
6 |
7 | /**
8 | * Created by timo on 02.09.15.
9 | */
10 |
11 | public class AppBarLayoutBehavior extends AppBarLayout.Behavior {
12 |
13 | @Override
14 | public boolean onInterceptTouchEvent(CoordinatorLayout parent, AppBarLayout child, MotionEvent ev) {
15 | return !(parent != null && child != null && ev != null) || super.onInterceptTouchEvent(parent, child, ev);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/java/de/sudoq/controller/sudoku/FieldInteractionListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SudoQ is a Sudoku-App for Adroid Devices with Version 2.2 at least.
3 | * Copyright (C) 2012 Heiko Klare, Julian Geppert, Jan-Bernhard Kordaß, Jonathan Kieling, Tim Zeitz, Timo Abele
4 | * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
5 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
6 | * You should have received a copy of the GNU General Public License along with this program; if not, see .
7 | */
8 | package de.sudoq.controller.sudoku;
9 |
10 | import de.sudoq.view.SudokuFieldView;
11 |
12 | /**
13 | * Ein Listener für Änderungen an Sudoku-Feldern, wie das Auswählen eines Feld
14 | * bzw. die Änderung des Feldinhaltes.
15 | */
16 | public interface FieldInteractionListener {
17 |
18 | /**
19 | * Wird aufgerufen, falls ein neues Feld ausgewählt wurde.
20 | *
21 | * @param view
22 | * Die View, welche neu ausgewählt wurde
23 | */
24 | public void onFieldSelected(SudokuFieldView view);
25 |
26 | /**
27 | * Wird aufgerufen, falls ein Feld geändert wurde.
28 | *
29 | * @param view
30 | * Die View, welche geändert wurde
31 | */
32 | public void onFieldChanged(SudokuFieldView view);
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/java/de/sudoq/controller/sudoku/InputListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SudoQ is a Sudoku-App for Adroid Devices with Version 2.2 at least.
3 | * Copyright (C) 2012 Heiko Klare, Julian Geppert, Jan-Bernhard Kordaß, Jonathan Kieling, Tim Zeitz, Timo Abele
4 | * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
5 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
6 | * You should have received a copy of the GNU General Public License along with this program; if not, see .
7 | */
8 | package de.sudoq.controller.sudoku;
9 |
10 | /**
11 | * Dieses Interface ermöglicht es Klassen zu reagieren, sobald ein Wert auf der
12 | * Tastatur eingegeben wurde.
13 | */
14 | public interface InputListener {
15 | /**
16 | * Wird aufgerufen, falls etwas eingegeben wird.
17 | *
18 | * @param symbol
19 | * Das eingegebene Symbol
20 | */
21 | public void onInput(int symbol);
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/java/de/sudoq/controller/sudoku/ObservableActionCaster.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SudoQ is a Sudoku-App for Adroid Devices with Version 2.2 at least.
3 | * Copyright (C) 2012 Heiko Klare, Julian Geppert, Jan-Bernhard Kordaß, Jonathan Kieling, Tim Zeitz, Timo Abele
4 | * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
5 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
6 | * You should have received a copy of the GNU General Public License along with this program; if not, see .
7 | */
8 | package de.sudoq.controller.sudoku;
9 |
10 | /**
11 | * Interface, welches von Klassen implementiert werden kann, die Actions in
12 | * einem Sudoku ausführen.
13 | *
14 | * @see ActionListener
15 | */
16 | public interface ObservableActionCaster {
17 |
18 | /**
19 | * Benachrichtigt die Listener.
20 | */
21 | void notifyListener();
22 |
23 | /**
24 | * Registriert einen Listener. Ist dieser null, so wird nichts getan.
25 | *
26 | * @param listener
27 | * Der Listener der hinzugefügt werden soll.
28 | */
29 | void registerListener(ActionListener listener);
30 |
31 | /**
32 | * Entfernt einen Listener. Ist dieser nicht registriert, so wird nichts
33 | * getan.
34 | *
35 | * @param listener
36 | * Der Listener der entfernt werden soll.
37 | */
38 | void removeListener(ActionListener listener);
39 | }
40 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/java/de/sudoq/controller/sudoku/ObservableFieldInteraction.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SudoQ is a Sudoku-App for Adroid Devices with Version 2.2 at least.
3 | * Copyright (C) 2012 Heiko Klare, Julian Geppert, Jan-Bernhard Kordaß, Jonathan Kieling, Tim Zeitz, Timo Abele
4 | * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
5 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
6 | * You should have received a copy of the GNU General Public License along with this program; if not, see .
7 | */
8 | package de.sudoq.controller.sudoku;
9 |
10 | /**
11 | * Interface, welches von Klassen implementiert werden kann, die auf denen
12 | * Feld-Interaktionen ausgeführt werden. einem Sudoku ausführen.
13 | *
14 | * @see FieldInteractionListener
15 | */
16 | public interface ObservableFieldInteraction {
17 |
18 | /**
19 | * Benachrichtigt die Listener.
20 | */
21 | void notifyListener();
22 |
23 | /**
24 | * Registriert einen Listener. Ist dieser null, so wird nichts getan.
25 | *
26 | * @param listener
27 | * Der Listener der hinzugefügt werden soll.
28 | */
29 | void registerListener(FieldInteractionListener listener);
30 |
31 | /**
32 | * Entfernt einen Listener. Ist dieser nicht registriert, so wird nichts
33 | * getan.
34 | *
35 | * @param listener
36 | * Der Listener der entfernt werden soll.
37 | */
38 | void removeListener(FieldInteractionListener listener);
39 | }
40 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/java/de/sudoq/controller/tutorial/FragmentActionTree.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.controller.tutorial;
2 |
3 | import de.sudoq.R;
4 | import android.os.Bundle;
5 | import android.support.v4.app.Fragment;
6 | import android.view.LayoutInflater;
7 | import android.view.View;
8 | import android.view.ViewGroup;
9 |
10 | public class FragmentActionTree extends Fragment {
11 | @Override
12 | public View onCreateView(LayoutInflater inflater, ViewGroup group, Bundle saved)
13 | {
14 | return inflater.inflate(R.layout.tutorial_actiontree, group, false);
15 | }
16 |
17 | }
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/java/de/sudoq/controller/tutorial/FragmentAssistances.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.controller.tutorial;
2 |
3 | import de.sudoq.R;
4 | import android.os.Bundle;
5 | import android.support.v4.app.Fragment;
6 | import android.view.LayoutInflater;
7 | import android.view.View;
8 | import android.view.ViewGroup;
9 |
10 | public class FragmentAssistances extends Fragment {
11 | @Override
12 | public View onCreateView(LayoutInflater inflater, ViewGroup group, Bundle saved)
13 | {
14 | return inflater.inflate(R.layout.tutorial_assistances, group, false);
15 | }
16 | }
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/java/de/sudoq/controller/tutorial/FragmentSudoku.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.controller.tutorial;
2 |
3 | import de.sudoq.R;
4 | import android.os.Bundle;
5 | import android.support.v4.app.Fragment;
6 | import android.view.LayoutInflater;
7 | import android.view.View;
8 | import android.view.ViewGroup;
9 |
10 | public class FragmentSudoku extends Fragment {
11 | @Override
12 | public View onCreateView(LayoutInflater inflater, ViewGroup group, Bundle saved)
13 | {
14 | return inflater.inflate(R.layout.tutorial_sudoku, group, false);
15 | }
16 | }
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/java/de/sudoq/view/SquareImageButton.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.view;
2 |
3 | import android.content.Context;
4 | import android.util.AttributeSet;
5 | import android.widget.ImageButton;
6 |
7 | public class SquareImageButton extends ImageButton {
8 |
9 | public SquareImageButton(Context context, AttributeSet attrs) {
10 | super(context, attrs);
11 | }
12 |
13 | @Override
14 | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
15 | int temp = Math.max(widthMeasureSpec, heightMeasureSpec);
16 | super.onMeasure(temp, temp);
17 | }
18 |
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/java/de/sudoq/view/ZoomableView.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.view;
2 |
3 | /**
4 | * Ein Interface für eine zoombare View, die einem FullScrollLayout als Child übergeben werden kann.
5 | */
6 | public interface ZoomableView {
7 | /**
8 | * Setzt den aktuellen Zoom-Faktor für diese View und refresht sie.
9 | *
10 | * @param factor
11 | * Der Zoom-Faktor
12 | * @return Gibt zurück, ob das Zoom-Event verarbeitet wurde
13 | */
14 | boolean zoom(float factor);
15 |
16 | /**
17 | * Gibt den minimalen Zoomfaktor für die View zurück.
18 | * @return den minimalen Zoomfaktor für die View
19 | */
20 | float getMinZoomFactor();
21 |
22 | /**
23 | * Gibt den maximalen Zoomfaktor für die View zurück.
24 | * @return den maximalen Zoomfaktor für die View
25 | */
26 | float getMaxZoomFactor();
27 | }
28 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/background.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/help.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/ic_arrow_back_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/ic_arrow_back_black_24dp.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/ic_arrow_back_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/ic_arrow_back_white_24dp.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/ic_close_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/ic_close_white_24dp.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/ic_delete_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/ic_delete_white_24dp.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/launcher.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/redo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/redo.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/tutorial_bookmark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/tutorial_bookmark.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/tutorial_branching.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/tutorial_branching.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/tutorial_current_state.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/tutorial_current_state.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/tutorial_state.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/tutorial_state.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/undo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-hdpi/undo.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-ldpi/ic_dashboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-ldpi/ic_dashboard.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-ldpi/ic_discuss.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-ldpi/ic_discuss.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-ldpi/ic_done.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-ldpi/ic_done.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-ldpi/ic_event.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-ldpi/ic_event.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-ldpi/ic_forum.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-ldpi/ic_forum.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-ldpi/ic_headset.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-ldpi/ic_headset.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-ldpi/tutorial_bookmark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-ldpi/tutorial_bookmark.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-ldpi/tutorial_branching.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-ldpi/tutorial_branching.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-ldpi/tutorial_current_state.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-ldpi/tutorial_current_state.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-ldpi/tutorial_state.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-ldpi/tutorial_state.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/background.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/help.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/ic_arrow_back_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/ic_arrow_back_black_24dp.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/ic_arrow_back_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/ic_arrow_back_white_24dp.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/ic_close_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/ic_close_white_24dp.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/ic_delete_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/ic_delete_white_24dp.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/launcher.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/redo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/redo.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/tutorial_bookmark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/tutorial_bookmark.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/tutorial_branching.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/tutorial_branching.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/tutorial_current_state.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/tutorial_current_state.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/tutorial_state.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/tutorial_state.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/undo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-mdpi/undo.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-xhdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-xhdpi/background.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-xhdpi/help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-xhdpi/help.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-xhdpi/ic_arrow_back_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-xhdpi/ic_arrow_back_black_24dp.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-xhdpi/ic_arrow_back_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-xhdpi/ic_arrow_back_white_24dp.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-xhdpi/ic_close_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-xhdpi/ic_close_white_24dp.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-xhdpi/ic_delete_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-xhdpi/ic_delete_white_24dp.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-xhdpi/launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-xhdpi/launcher.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-xhdpi/redo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-xhdpi/redo.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-xhdpi/tutorial_bookmark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-xhdpi/tutorial_bookmark.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-xhdpi/tutorial_branching.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-xhdpi/tutorial_branching.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-xhdpi/tutorial_current_state.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-xhdpi/tutorial_current_state.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-xhdpi/tutorial_state.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-xhdpi/tutorial_state.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-xhdpi/undo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-xhdpi/undo.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-xxhdpi/ic_arrow_back_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-xxhdpi/ic_arrow_back_black_24dp.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-xxhdpi/ic_arrow_back_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-xxhdpi/ic_arrow_back_white_24dp.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-xxxhdpi/help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-xxxhdpi/help.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-xxxhdpi/ic_arrow_back_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-xxxhdpi/ic_arrow_back_black_24dp.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-xxxhdpi/ic_arrow_back_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-xxxhdpi/ic_arrow_back_white_24dp.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-xxxhdpi/ic_close_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-xxxhdpi/ic_close_white_24dp.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable-xxxhdpi/ic_delete_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable-xxxhdpi/ic_delete_white_24dp.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/action_tree.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable/action_tree.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/action_tree_tutorial.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable/action_tree_tutorial.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/background_gradient.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/background_serious.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/empty_sudoku.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable/empty_sudoku.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/gesture_button_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
9 |
10 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/gesture_checked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable/gesture_checked.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/gesture_unchecked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable/gesture_unchecked.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable/help.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/help_tutorial.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable/help_tutorial.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/ic_clear_white_24px.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/ic_close_white_24dp.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable/ic_close_white_24dp.zip
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/ic_close_white_24dp/android/drawable-xxhdpi/ic_close_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable/ic_close_white_24dp/android/drawable-xxhdpi/ic_close_white_24dp.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/ic_close_white_24dp/android/drawable-xxxhdpi/ic_close_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable/ic_close_white_24dp/android/drawable-xxxhdpi/ic_close_white_24dp.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/ic_close_white_24px.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/ic_delete_white_24px.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable/launcher.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/redo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable/redo.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/rootkuh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable/rootkuh.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/squiggly.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable/squiggly.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/sudoku_tutorial.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable/sudoku_tutorial.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/tutorial_bookmark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable/tutorial_bookmark.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/tutorial_branching.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable/tutorial_branching.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/tutorial_current_state.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable/tutorial_current_state.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/tutorial_state.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable/tutorial_state.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/undo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable/undo.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/drawable/xsudoku.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/drawable/xsudoku.png
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
26 |
27 |
35 |
36 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/layout/gesturebuilder.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
11 |
12 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/layout/list.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/layout/nav_header.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
26 |
27 |
32 |
33 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/layout/profilelist.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
13 |
14 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/layout/profilelist_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/layout/restricttypes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
11 |
12 |
13 |
14 |
24 |
25 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/layout/splash.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
12 |
22 |
23 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/layout/toolbar:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/layout/tutorial.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
11 |
16 |
20 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/layout/tutorial2.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
26 |
27 |
28 |
29 |
37 |
38 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/menu/action_bar_gesture_builder.xml:
--------------------------------------------------------------------------------
1 |
2 |
23 |
24 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/menu/action_bar_player_preferences.xml:
--------------------------------------------------------------------------------
1 |
2 |
28 |
29 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/menu/action_bar_restrict_types.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/menu/action_bar_standard.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/menu/action_bar_sudoku.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/menu/action_bar_sudoku_loading.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/menu/drawer_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
50 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/menu/sample_actions.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
9 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/raw/gestures:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqapp/src/main/res/raw/gestures
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 | #FFF5F5F5
20 | #d5e8e6
21 | #FFFFFF
22 | #FFFFFF
23 | #FF0000
24 | #0000FF
25 | #00FF00
26 | #00FFFF
27 | #FF00FF
28 | #00695c
29 |
30 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 | 256dp
20 | 16dp
21 | 16dp
22 | 40dp
23 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqapp/src/main/res/values/sudoku_preferences_arrays.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | @string/sudoku_type_standard_9x9
9 | @string/sudoku_type_standard_4x4
10 | @string/sudoku_type_standard_6x6
11 | @string/sudoku_type_standard_16x16
12 | @string/sudoku_type_squiggly_a_9x9
13 | @string/sudoku_type_squiggly_b_9x9
14 | @string/sudoku_type_stairstep_9x9
15 | @string/sudoku_type_samurai
16 | @string/sudoku_type_hyper
17 | @string/sudoku_type_xsudoku
18 |
19 |
20 |
21 | @string/complexity_easy
22 | @string/complexity_medium
23 | @string/complexity_difficult
24 | @string/complexity_infernal
25 |
26 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'java'
2 |
3 |
4 | dependencies {
5 | testCompile 'junit:junit:4.7'
6 | testCompile 'org.apache.directory.studio:org.apache.commons.io:2.4'
7 | testCompile 'org.kie.modules:org-apache-commons-lang3:6.3.0.CR1'
8 | }
9 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/libs/commons-io-1.3.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqmodel/libs/commons-io-1.3.jar
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/libs/junit-4.7.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tim3z/SudoQ/8c734d6c68e75c13fb92f7bdf734d447933c6e78/sudoq-app/sudoqmodel/libs/junit-4.7.jar
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/res/compromised.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/res/game.dtd:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
13 |
14 |
15 |
19 |
20 |
21 |
26 |
27 |
28 |
31 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/res/game_example.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/res/games.dtd:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/res/games_example.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/res/profile.dtd:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/res/profiles.dtd:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
17 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/res/sudoku.dtd:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
12 |
13 |
14 |
17 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/res/sudoku_example.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/res/tmp.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/res/tmp2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | xyz
4 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/main/java/de/sudoq/model/ModelChangeListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SudoQ is a Sudoku-App for Adroid Devices with Version 2.2 at least.
3 | * Copyright (C) 2012 Heiko Klare, Julian Geppert, Jan-Bernhard Kordaß, Jonathan Kieling, Tim Zeitz, Timo Abele
4 | * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
5 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
6 | * You should have received a copy of the GNU General Public License along with this program; if not, see .
7 | */
8 | package de.sudoq.model;
9 |
10 | /**
11 | * Dieses Interface definiert die Schnittstelle für alle Klassen die über
12 | * Änderungen in einer Model-Klasse benachrichtigt werden wollen.
13 | *
14 | * @param
15 | * der Typ des Objekts welches bei Änderungen mitgegeben wird
16 | */
17 | public interface ModelChangeListener {
18 | /** Methods */
19 |
20 | /**
21 | * Diese Methode wird aufgerufen, falls sich etwas im beobachteten Model
22 | * ändert.
23 | *
24 | * @param obj
25 | * Das Objekt, das sich geaendert hat. Kann auch null sein
26 | */
27 | public void onModelChanged(T obj);
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/main/java/de/sudoq/model/actionTree/ActionFactory.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SudoQ is a Sudoku-App for Adroid Devices with Version 2.2 at least.
3 | * Copyright (C) 2012 Heiko Klare, Julian Geppert, Jan-Bernhard Kordaß, Jonathan Kieling, Tim Zeitz, Timo Abele
4 | * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
5 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
6 | * You should have received a copy of the GNU General Public License along with this program; if not, see .
7 | */
8 | package de.sudoq.model.actionTree;
9 |
10 | import de.sudoq.model.sudoku.Field;
11 |
12 | /**
13 | * Dieses Interface definiert die Schnittstelle für Klassen, die konkrete
14 | * Actions für das Arbeiten auf bestimmten Eigenschaften eines Sudoku-Feldes
15 | * erzeugen und instanziieren können. Auf welcher Eigenschaft sie arbeitet
16 | * definiert die implementierende Klasse.
17 | */
18 | public interface ActionFactory {
19 |
20 | /**
21 | * Erzeugt eine neue Action die bei Ausführung den gegebenen Wert in die
22 | * zugehörige Eigenschaft (die der implementierenden Klasse) des gegebenen
23 | * Feldes einträgt.
24 | *
25 | * @param value
26 | * Der einzutragende Wert
27 | * @param field
28 | * Das von der Action zu bearbeitende Feld
29 | * @return Die erzeugt Aktion
30 | */
31 | public Action createAction(int value, Field field);
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/main/java/de/sudoq/model/actionTree/NoteActionFactory.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SudoQ is a Sudoku-App for Adroid Devices with Version 2.2 at least.
3 | * Copyright (C) 2012 Heiko Klare, Julian Geppert, Jan-Bernhard Kordaß, Jonathan Kieling, Tim Zeitz, Timo Abele
4 | * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
5 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
6 | * You should have received a copy of the GNU General Public License along with this program; if not, see .
7 | */
8 | package de.sudoq.model.actionTree;
9 |
10 | import de.sudoq.model.sudoku.Field;
11 |
12 | /**
13 | * Diese Klasse dient der Erzeugung von NoteActions.
14 | *
15 | * @see NoteAction
16 | */
17 | public class NoteActionFactory implements ActionFactory {
18 |
19 | /**
20 | * {@inheritDoc}
21 | */
22 | public Action createAction(int value, Field field) {
23 | return new NoteAction(value, field);
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/main/java/de/sudoq/model/actionTree/SolveActionFactory.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SudoQ is a Sudoku-App for Adroid Devices with Version 2.2 at least.
3 | * Copyright (C) 2012 Heiko Klare, Julian Geppert, Jan-Bernhard Kordaß, Jonathan Kieling, Tim Zeitz, Timo Abele
4 | * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
5 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
6 | * You should have received a copy of the GNU General Public License along with this program; if not, see .
7 | */
8 | package de.sudoq.model.actionTree;
9 |
10 | import de.sudoq.model.sudoku.Field;
11 |
12 | /**
13 | * Diese Klasse dient der Erzeugung von NoteActions.
14 | *
15 | * @see NoteAction
16 | */
17 | public class SolveActionFactory implements ActionFactory {
18 |
19 | /**
20 | * {@inheritDoc}
21 | */
22 | public Action createAction(int value, Field field) {
23 | if (field != null) {
24 | return new SolveAction(value - field.getCurrentValue(), field);
25 | } else {
26 | throw new IllegalArgumentException();
27 | }
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/main/java/de/sudoq/model/solverGenerator/GeneratorCallback.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SudoQ is a Sudoku-App for Adroid Devices with Version 2.2 at least.
3 | * Copyright (C) 2012 Heiko Klare, Julian Geppert, Jan-Bernhard Kordaß, Jonathan Kieling, Tim Zeitz, Timo Abele
4 | * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
5 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
6 | * You should have received a copy of the GNU General Public License along with this program; if not, see .
7 | */
8 | package de.sudoq.model.solverGenerator;
9 |
10 | import de.sudoq.model.sudoku.Sudoku;
11 |
12 | /**
13 | * Dieses Interface muss implementiert werden, um die generate-Methode des
14 | * Generator zu benutzen. Dieser führt die Generierung in einem anderen Thread
15 | * aus und ruft die generationFinished-Methode dieses Callback-Objektes auf,
16 | * sobald er fertig ist.
17 | */
18 | public interface GeneratorCallback {
19 | /** Methods */
20 |
21 | /**
22 | * Diese Methode wird vom Generator aufgerufen, nachdem er die Generierung
23 | * eines Sudokus abgeschlossen hat. Das übergebene Sudoku soll dabei ein
24 | * generiertes, valides Sudoku sein. Ist das spezifizierte Sudoku null, so
25 | * wird nichts ausgeführt.
26 | *
27 | * @param sudoku
28 | * Das vom Generator erzeugte, valide Sudoku
29 | */
30 | public void generationFinished(Sudoku sudoku);
31 | }
32 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/main/java/de/sudoq/model/solverGenerator/solution/DerivationBlock.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.model.solverGenerator.solution;
2 |
3 | import de.sudoq.model.sudoku.Constraint;
4 |
5 | /**
6 | * Ein DerivationBlock stellt ein Constraint dar, welches für einen
7 | * Lössungsschritt zum Lösen eines Sudoku-Feldes relevant ist.
8 | */
9 | public class DerivationBlock {
10 | /** Attributes */
11 |
12 | /**
13 | * Das Constraint, welches von diesem DerivationBlock als relevant für den
14 | * zugehörigen Lösungsschritt repräsentiert wird
15 | */
16 | private Constraint block;
17 |
18 | /** Constructors */
19 |
20 | /**
21 | * Dies Methode initiiert einen neuen DerivationBlock für das
22 | * spezifiziertem, für einen Lössungsschritt relevante Constraint. Ist
23 | * dieses null, so wird eine IllegalArgumentException geworfen.
24 | *
25 | * @param block
26 | * Das Constraint, welches von diesem DerivationBlock als für
27 | * einen Lössungsschritt relevant repräsentiert werden soll
28 | * @throws IllegalArgumentException
29 | * Wird geworfen, falls das spezifizierten Constraint null ist
30 | */
31 | public DerivationBlock(Constraint block) {
32 | if (block == null)
33 | throw new IllegalArgumentException("specified block was null");
34 | this.block = block;
35 | }
36 |
37 | /** Methods */
38 |
39 | /**
40 | * Diese Methode gibt das Constraint zurück, welches diesem DerivationBlock
41 | * zugewiesen wurde.
42 | *
43 | * @return Das Constraint, welches diesem DerivationBlock zugewiesen wurde
44 | */
45 | public Constraint getBlock() {
46 | return block;
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/main/java/de/sudoq/model/solverGenerator/solver/ComplexityRelation.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.model.solverGenerator.solver;
2 |
3 | /**
4 | * Ein Enum um die Relationen zwischen Schwierigkeiten zu klassifizieren
5 | */
6 | public enum ComplexityRelation {
7 | /**
8 | * Das Sudoku war gemäß den Constraints ungültig
9 | */
10 | INVALID,
11 |
12 | /**
13 | * Das Sudoku ist innerhalb der Constraints lösbar
14 | */
15 | CONSTRAINT_SATURATION,
16 |
17 | /**
18 | * Das Sudoku ist einfacher als die Constraints erlauben
19 | */
20 | TO_EASY,
21 |
22 | /**
23 | * Das Sudoku ist viel einfacher als die Constraints erlauben
24 | */
25 | MUCH_TO_EASY,
26 |
27 | /**
28 | * Das Sudoku ist schwieriger als die Constraints erlauben
29 | */
30 | TO_DIFFICULT,
31 |
32 | /**
33 | * Das Sudoku ist viel schwieriger als die Constraints erlauben
34 | */
35 | MUCH_TO_DIFFICULT
36 | }
37 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/main/java/de/sudoq/model/solverGenerator/solver/helper/Helpers.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.model.solverGenerator.solver.helper;
2 |
3 | public enum Helpers {
4 | HiddenHelper, NakedHelper, SubsetHelper, Backtracking
5 | }
6 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/main/java/de/sudoq/model/solverGenerator/transformations/HorizontalBlockPermutation.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SudoQ is a Sudoku-App for Adroid Devices with Version 2.2 at least.
3 | * Copyright (C) 2012 Heiko Klare, Julian Geppert, Jan-Bernhard Kordaß, Jonathan Kieling, Tim Zeitz, Timo Abele
4 | * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
5 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
6 | * You should have received a copy of the GNU General Public License along with this program; if not, see .
7 | */
8 | package de.sudoq.model.solverGenerator.transformations;
9 |
10 | import de.sudoq.model.sudoku.Sudoku;
11 | import de.sudoq.model.sudoku.sudokuTypes.PermutationProperties;
12 |
13 | public class HorizontalBlockPermutation implements Permutation {
14 |
15 | @Override
16 | public void permutate(Sudoku sudoku) {
17 | TransformationUtilities.horizontalBlockPermutation(sudoku);
18 | }
19 |
20 | @Override
21 | public PermutationProperties getCondition() {
22 | return PermutationProperties.horizontal_Blockshift;
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/main/java/de/sudoq/model/solverGenerator/transformations/InBlockColumnPermutation.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SudoQ is a Sudoku-App for Adroid Devices with Version 2.2 at least.
3 | * Copyright (C) 2012 Heiko Klare, Julian Geppert, Jan-Bernhard Kordaß, Jonathan Kieling, Tim Zeitz, Timo Abele
4 | * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
5 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
6 | * You should have received a copy of the GNU General Public License along with this program; if not, see .
7 | */
8 | package de.sudoq.model.solverGenerator.transformations;
9 |
10 | import de.sudoq.model.sudoku.Sudoku;
11 | import de.sudoq.model.sudoku.sudokuTypes.PermutationProperties;
12 |
13 | public class InBlockColumnPermutation implements Permutation {
14 |
15 | @Override
16 | public void permutate(Sudoku sudoku) {
17 | TransformationUtilities.inBlockCollumnPermutation(sudoku);
18 | }
19 |
20 | @Override
21 | public PermutationProperties getCondition() {
22 | return PermutationProperties.inBlock_Collumnshift;
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/main/java/de/sudoq/model/solverGenerator/transformations/InBlockRowPermutation.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SudoQ is a Sudoku-App for Adroid Devices with Version 2.2 at least.
3 | * Copyright (C) 2012 Heiko Klare, Julian Geppert, Jan-Bernhard Kordaß, Jonathan Kieling, Tim Zeitz, Timo Abele
4 | * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
5 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
6 | * You should have received a copy of the GNU General Public License along with this program; if not, see .
7 | */
8 | package de.sudoq.model.solverGenerator.transformations;
9 |
10 | import de.sudoq.model.sudoku.Sudoku;
11 | import de.sudoq.model.sudoku.sudokuTypes.PermutationProperties;
12 |
13 | public class InBlockRowPermutation implements Permutation {
14 |
15 | @Override
16 | public void permutate(Sudoku sudoku) {
17 | TransformationUtilities.inBlockRowPermutation(sudoku);
18 | }
19 |
20 | @Override
21 | public PermutationProperties getCondition() {
22 | return PermutationProperties.inBlock_Rowshift;
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/main/java/de/sudoq/model/solverGenerator/transformations/MirrorDiagonallyDown.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SudoQ is a Sudoku-App for Adroid Devices with Version 2.2 at least.
3 | * Copyright (C) 2012 Heiko Klare, Julian Geppert, Jan-Bernhard Kordaß, Jonathan Kieling, Tim Zeitz, Timo Abele
4 | * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
5 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
6 | * You should have received a copy of the GNU General Public License along with this program; if not, see .
7 | */
8 | package de.sudoq.model.solverGenerator.transformations;
9 |
10 | import de.sudoq.model.sudoku.Sudoku;
11 | import de.sudoq.model.sudoku.sudokuTypes.PermutationProperties;
12 |
13 | public class MirrorDiagonallyDown implements Permutation {
14 |
15 | @Override
16 | public void permutate(Sudoku sudoku) {
17 | TransformationUtilities.mirrorDiagonallyDown(sudoku);
18 | }
19 |
20 | @Override
21 | public PermutationProperties getCondition() {
22 | return PermutationProperties.diagonal_down;
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/main/java/de/sudoq/model/solverGenerator/transformations/MirrorDiagonallyUp.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SudoQ is a Sudoku-App for Adroid Devices with Version 2.2 at least.
3 | * Copyright (C) 2012 Heiko Klare, Julian Geppert, Jan-Bernhard Kordaß, Jonathan Kieling, Tim Zeitz, Timo Abele
4 | * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
5 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
6 | * You should have received a copy of the GNU General Public License along with this program; if not, see .
7 | */
8 | package de.sudoq.model.solverGenerator.transformations;
9 |
10 | import de.sudoq.model.sudoku.Sudoku;
11 | import de.sudoq.model.sudoku.sudokuTypes.PermutationProperties;
12 |
13 | public class MirrorDiagonallyUp implements Permutation {
14 |
15 | @Override
16 | public void permutate(Sudoku sudoku) {
17 | TransformationUtilities.mirrorDiagonallyUp(sudoku);
18 | }
19 |
20 | @Override
21 | public PermutationProperties getCondition() {
22 | return PermutationProperties.diagonal_up;
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/main/java/de/sudoq/model/solverGenerator/transformations/MirrorHorizontally.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SudoQ is a Sudoku-App for Adroid Devices with Version 2.2 at least.
3 | * Copyright (C) 2012 Heiko Klare, Julian Geppert, Jan-Bernhard Kordaß, Jonathan Kieling, Tim Zeitz, Timo Abele
4 | * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
5 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
6 | * You should have received a copy of the GNU General Public License along with this program; if not, see .
7 | */
8 | package de.sudoq.model.solverGenerator.transformations;
9 |
10 | import de.sudoq.model.sudoku.Sudoku;
11 | import de.sudoq.model.sudoku.sudokuTypes.PermutationProperties;
12 |
13 | public class MirrorHorizontally implements Permutation {
14 |
15 | @Override
16 | public void permutate(Sudoku sudoku) {
17 | TransformationUtilities.mirrorHorizontally(sudoku);
18 | }
19 |
20 | @Override
21 | public PermutationProperties getCondition() {
22 | return PermutationProperties.mirror_horizontal;
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/main/java/de/sudoq/model/solverGenerator/transformations/MirrorVertically.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SudoQ is a Sudoku-App for Adroid Devices with Version 2.2 at least.
3 | * Copyright (C) 2012 Heiko Klare, Julian Geppert, Jan-Bernhard Kordaß, Jonathan Kieling, Tim Zeitz, Timo Abele
4 | * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
5 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
6 | * You should have received a copy of the GNU General Public License along with this program; if not, see .
7 | */
8 | package de.sudoq.model.solverGenerator.transformations;
9 |
10 | import de.sudoq.model.sudoku.Sudoku;
11 | import de.sudoq.model.sudoku.sudokuTypes.PermutationProperties;
12 |
13 | public class MirrorVertically implements Permutation {
14 |
15 | @Override
16 | public void permutate(Sudoku sudoku) {
17 | TransformationUtilities.mirrorVertically(sudoku);
18 | }
19 |
20 | @Override
21 | public PermutationProperties getCondition() {
22 | return PermutationProperties.mirror_vertical;
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/main/java/de/sudoq/model/solverGenerator/transformations/Permutation.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SudoQ is a Sudoku-App for Adroid Devices with Version 2.2 at least.
3 | * Copyright (C) 2012 Heiko Klare, Julian Geppert, Jan-Bernhard Kordaß, Jonathan Kieling, Tim Zeitz, Timo Abele
4 | * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
5 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
6 | * You should have received a copy of the GNU General Public License along with this program; if not, see .
7 | */
8 | package de.sudoq.model.solverGenerator.transformations;
9 |
10 | import de.sudoq.model.sudoku.Sudoku;
11 | import de.sudoq.model.sudoku.sudokuTypes.PermutationProperties;
12 |
13 | public interface Permutation {
14 |
15 | void permutate(Sudoku sudoku);
16 |
17 | PermutationProperties getCondition();
18 | }
19 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/main/java/de/sudoq/model/solverGenerator/transformations/Rotate180.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SudoQ is a Sudoku-App for Adroid Devices with Version 2.2 at least.
3 | * Copyright (C) 2012 Heiko Klare, Julian Geppert, Jan-Bernhard Kordaß, Jonathan Kieling, Tim Zeitz, Timo Abele
4 | * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
5 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
6 | * You should have received a copy of the GNU General Public License along with this program; if not, see .
7 | */
8 | package de.sudoq.model.solverGenerator.transformations;
9 |
10 | import de.sudoq.model.sudoku.Sudoku;
11 | import de.sudoq.model.sudoku.sudokuTypes.PermutationProperties;
12 |
13 | public class Rotate180 implements Permutation {
14 |
15 | @Override
16 | public void permutate(Sudoku sudoku) {
17 | TransformationUtilities.rotate180(sudoku);
18 | }
19 |
20 | @Override
21 | public PermutationProperties getCondition() {
22 | return PermutationProperties.rotate180;
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/main/java/de/sudoq/model/solverGenerator/transformations/Rotate270.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SudoQ is a Sudoku-App for Adroid Devices with Version 2.2 at least.
3 | * Copyright (C) 2012 Heiko Klare, Julian Geppert, Jan-Bernhard Kordaß, Jonathan Kieling, Tim Zeitz, Timo Abele
4 | * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
5 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
6 | * You should have received a copy of the GNU General Public License along with this program; if not, see .
7 | */
8 | package de.sudoq.model.solverGenerator.transformations;
9 |
10 | import de.sudoq.model.sudoku.Sudoku;
11 | import de.sudoq.model.sudoku.sudokuTypes.PermutationProperties;
12 |
13 | public class Rotate270 implements Permutation {
14 |
15 | @Override
16 | public void permutate(Sudoku sudoku) {
17 | TransformationUtilities.rotate270(sudoku);
18 | }
19 |
20 | @Override
21 | public PermutationProperties getCondition() {
22 | return PermutationProperties.rotate90;
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/main/java/de/sudoq/model/solverGenerator/transformations/Rotate90.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SudoQ is a Sudoku-App for Adroid Devices with Version 2.2 at least.
3 | * Copyright (C) 2012 Heiko Klare, Julian Geppert, Jan-Bernhard Kordaß, Jonathan Kieling, Tim Zeitz, Timo Abele
4 | * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
5 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
6 | * You should have received a copy of the GNU General Public License along with this program; if not, see .
7 | */
8 | package de.sudoq.model.solverGenerator.transformations;
9 |
10 | import de.sudoq.model.sudoku.Sudoku;
11 | import de.sudoq.model.sudoku.sudokuTypes.PermutationProperties;
12 |
13 | public class Rotate90 implements Permutation {
14 |
15 | @Override
16 | public void permutate(Sudoku sudoku) {
17 | TransformationUtilities.rotate90(sudoku);
18 | }
19 |
20 | @Override
21 | public PermutationProperties getCondition() {
22 | return PermutationProperties.rotate90;
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/main/java/de/sudoq/model/solverGenerator/transformations/VerticalBlockPermutation.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SudoQ is a Sudoku-App for Adroid Devices with Version 2.2 at least.
3 | * Copyright (C) 2012 Heiko Klare, Julian Geppert, Jan-Bernhard Kordaß, Jonathan Kieling, Tim Zeitz, Timo Abele
4 | * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
5 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
6 | * You should have received a copy of the GNU General Public License along with this program; if not, see .
7 | */
8 | package de.sudoq.model.solverGenerator.transformations;
9 |
10 | import de.sudoq.model.sudoku.Sudoku;
11 | import de.sudoq.model.sudoku.sudokuTypes.PermutationProperties;
12 |
13 | public class VerticalBlockPermutation implements Permutation {
14 |
15 | @Override
16 | public void permutate(Sudoku sudoku) {
17 | TransformationUtilities.verticalBlockPermutation(sudoku);
18 | }
19 |
20 | @Override
21 | public PermutationProperties getCondition() {
22 | return PermutationProperties.vertical_Blockshift;
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/main/java/de/sudoq/model/sudoku/ConstraintBehavior.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SudoQ is a Sudoku-App for Adroid Devices with Version 2.2 at least.
3 | * Copyright (C) 2012 Heiko Klare, Julian Geppert, Jan-Bernhard Kordaß, Jonathan Kieling, Tim Zeitz, Timo Abele
4 | * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
5 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
6 | * You should have received a copy of the GNU General Public License along with this program; if not, see .
7 | */
8 | package de.sudoq.model.sudoku;
9 |
10 | /**
11 | * Dieses Interface definiert eine check Methode, welche überprüft, ob ein
12 | * spezifiziertes Constraint ein bestimmtes Verhalten erfüllt.
13 | */
14 | public interface ConstraintBehavior {
15 | /** Methods */
16 |
17 | /**
18 | * Diese Methode überprüft, ob ein bestimmtes (durch die Methode
19 | * implementiertes) Verhalten auf den durch das Constraint spezifizierten
20 | * Feldern des uebergebenen Sudokus erfüllt ist. Ist das Constraint oder das
21 | * Sudoku null, so wird false zurückgegeben.
22 | *
23 | * @param constraint
24 | * Das Constraint, welches auf ein bestimmtes Verhalten überprüft
25 | * werden soll
26 | * @param sudoku
27 | * Sudoku, auf welchem das Constraint ueberprueft werden soll
28 | * @return true, falls das Constraint die Vorgaben erfüllt, false falls es
29 | * dies nicht tut oder null ist
30 | */
31 | public abstract boolean check(Constraint constraint, Sudoku sudoku);
32 | }
33 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/main/java/de/sudoq/model/sudoku/ConstraintType.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SudoQ is a Sudoku-App for Adroid Devices with Version 2.2 at least.
3 | * Copyright (C) 2012 Heiko Klare, Julian Geppert, Jan-Bernhard Kordaß, Jonathan Kieling, Tim Zeitz, Timo Abele
4 | * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
5 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
6 | * You should have received a copy of the GNU General Public License along with this program; if not, see .
7 | */
8 | package de.sudoq.model.sudoku;
9 |
10 | /**
11 | * Definiert die Typen von Constraints.
12 | */
13 | public enum ConstraintType {
14 | /**
15 | * Eine Zeile oder Spalte
16 | */
17 | LINE,
18 |
19 | /**
20 | * Ein Block, wobei alle Blöcke eines Sudokus sich nicht überschneiden
21 | */
22 | BLOCK,
23 |
24 | /**
25 | * Ein gesondertes Constraints, das sich mit Blöcken überschneiden kann.
26 | */
27 | EXTRA
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/main/java/de/sudoq/model/sudoku/sudokuTypes/ComplexityConstraintBuilder.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.model.sudoku.sudokuTypes;
2 |
3 | import java.util.HashMap;
4 | import java.util.Iterator;
5 | import java.util.Map;
6 | import java.util.Map.Entry;
7 |
8 | import de.sudoq.model.sudoku.complexity.Complexity;
9 | import de.sudoq.model.sudoku.complexity.ComplexityConstraint;
10 | import de.sudoq.model.xml.XmlTree;
11 | import de.sudoq.model.xml.Xmlable;
12 |
13 | public class ComplexityConstraintBuilder implements Xmlable {
14 |
15 | public Map specimen = new HashMap();
16 |
17 | public ComplexityConstraintBuilder(){
18 |
19 | }
20 |
21 | public ComplexityConstraintBuilder(Map specimen){
22 | this.specimen = specimen;
23 | }
24 |
25 | public ComplexityConstraint getComplexityConstraint(Complexity complexity){
26 | if (complexity != null && specimen.containsKey(complexity)) {
27 | return (ComplexityConstraint) specimen.get(complexity).clone();
28 | }
29 | return null;
30 | }
31 |
32 |
33 | public static final String TITLE = "ComplexityConstraintBuilder";
34 |
35 | @Override
36 | public XmlTree toXmlTree() {
37 | XmlTree representation = new XmlTree(TITLE);
38 | for (ComplexityConstraint v : specimen.values()){
39 | representation.addChild( v.toXmlTree() );
40 | }
41 | return representation;
42 | }
43 |
44 | @Override
45 | public void fillFromXml(XmlTree xmlTreeRepresentation) throws IllegalArgumentException {
46 | specimen = new HashMap();
47 | for (XmlTree sub : xmlTreeRepresentation) {
48 | ComplexityConstraint cc = new ComplexityConstraint();
49 | cc.fillFromXml(sub);
50 | specimen.put(cc.getComplexity(), cc);
51 | }
52 |
53 | }
54 |
55 | }
56 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/main/java/de/sudoq/model/xml/GameXmlHandler.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SudoQ is a Sudoku-App for Adroid Devices with Version 2.2 at least.
3 | * Copyright (C) 2012 Heiko Klare, Julian Geppert, Jan-Bernhard Kordaß, Jonathan Kieling, Tim Zeitz, Timo Abele
4 | * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
5 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
6 | * You should have received a copy of the GNU General Public License along with this program; if not, see .
7 | */
8 | package de.sudoq.model.xml;
9 |
10 | import java.io.File;
11 |
12 | import de.sudoq.model.files.FileManager;
13 | import de.sudoq.model.game.Game;
14 |
15 | /**
16 | * Eine Klasse um konkret Games aus Xml zu bekommen bzw in Xml umzuwandeln
17 | */
18 | public class GameXmlHandler extends XmlHandler {
19 |
20 | private int id;
21 |
22 | /**
23 | * Erzeugt einen GameXmlHandler um ein Game zu speichern
24 | */
25 | public GameXmlHandler() {
26 | this(-1);
27 | }
28 |
29 | /**
30 | * Erzeugt einen GameXmlHandler, der auf das Game mit der gegebenen ID
31 | * schreibt und liest.
32 | *
33 | * @param loadingId
34 | * die id des zu aendernden/erstellenden games
35 | */
36 | public GameXmlHandler(int loadingId) {
37 | this.id = loadingId;
38 | }
39 |
40 | /**
41 | * {@inheritDoc}
42 | */
43 | @Override
44 | protected File getFileFor(Game g) {
45 | return FileManager.getGameFile(id > 0 ? id : g.getId());
46 | }
47 |
48 | }
49 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/main/java/de/sudoq/model/xml/ProfileXmlHandler.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SudoQ is a Sudoku-App for Adroid Devices with Version 2.2 at least.
3 | * Copyright (C) 2012 Heiko Klare, Julian Geppert, Jan-Bernhard Kordaß, Jonathan Kieling, Tim Zeitz, Timo Abele
4 | * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
5 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
6 | * You should have received a copy of the GNU General Public License along with this program; if not, see .
7 | */
8 | package de.sudoq.model.xml;
9 |
10 | import java.io.File;
11 |
12 | import de.sudoq.model.files.FileManager;
13 | import de.sudoq.model.profile.Profile;
14 |
15 | /**
16 | * Der konkrete XmlHandler für Profile
17 | */
18 | public class ProfileXmlHandler extends XmlHandler {
19 |
20 | /**
21 | * {@inheritDoc}
22 | */
23 | @Override
24 | protected File getFileFor(Profile obj) {
25 | return FileManager.getProfileXmlFor(obj.getCurrentProfileID());
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/main/java/de/sudoq/model/xml/Xmlable.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SudoQ is a Sudoku-App for Adroid Devices with Version 2.2 at least.
3 | * Copyright (C) 2012 Heiko Klare, Julian Geppert, Jan-Bernhard Kordaß, Jonathan Kieling, Tim Zeitz, Timo Abele
4 | * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
5 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
6 | * You should have received a copy of the GNU General Public License along with this program; if not, see .
7 | */
8 | package de.sudoq.model.xml;
9 |
10 | /**
11 | * Dieses Interface definiert eine Schnittstelle für Klassen, die durch XML
12 | * Dateien repräsentiert werden können müssen.
13 | */
14 | public interface Xmlable {
15 |
16 | /** Methods */
17 |
18 | /**
19 | * Erzeugt ein XmlTree Objekt, welches die, für eine Speicherrepräsentation
20 | * notwendigen, Daten enthält.
21 | *
22 | * @return XML-Baum-Repräsentation der implementierenden Klasse
23 | */
24 | public XmlTree toXmlTree();
25 |
26 | /**
27 | * Lädt Daten aus einer XML Repräsentation der Klasse in die
28 | * implementierende Klasse
29 | *
30 | * @param xmlTreeRepresentation
31 | * Repräsentation der implementierenden Klasse.
32 | * @throws IllegalArgumentException
33 | * Wird geworfen, falls die Xml Repräsentation eine nicht
34 | * unterstützte Struktur aufweist.
35 | */
36 | public void fillFromXml(XmlTree xmlTreeRepresentation) throws IllegalArgumentException;
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/test/java/de/sudoq/model/ObservableModelTest.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.model;
2 |
3 | import static org.junit.Assert.assertTrue;
4 | import static org.junit.Assert.fail;
5 |
6 | import org.junit.Test;
7 |
8 | import de.sudoq.model.ModelChangeListener;
9 | import de.sudoq.model.ObservableModel;
10 | import de.sudoq.model.ObservableModelImpl;
11 |
12 | public class ObservableModelTest {
13 |
14 | @Test
15 | public void test() {
16 | ObservableModel observable = new ObservableModelImpl() {
17 | };
18 | Listener listener = new Listener<>();
19 |
20 | testNotification(observable, listener);
21 | }
22 |
23 | @SuppressWarnings("unchecked")
24 | public void testNotification(@SuppressWarnings("rawtypes") ObservableModel observable, @SuppressWarnings("rawtypes") Listener listener) {
25 | try {
26 | observable.registerListener(null);
27 | fail("No Exception thrown");
28 | } catch (IllegalArgumentException e) {
29 | }
30 |
31 | observable.registerListener(listener);
32 | assertTrue(listener.callCount == 0);
33 |
34 | observable.notifyListeners(null);
35 | assertTrue(listener.callCount == 1);
36 |
37 | observable.removeListener(listener);
38 | observable.notifyListeners(null);
39 | assertTrue(listener.callCount == 1);
40 | }
41 |
42 | class Listener implements ModelChangeListener {
43 | int callCount = 0;
44 |
45 | @Override
46 | public void onModelChanged(T obj) {
47 | callCount++;
48 | }
49 |
50 | }
51 |
52 | }
53 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/test/java/de/sudoq/model/Utility.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.model;
2 |
3 | import org.apache.commons.io.FileUtils;
4 |
5 | import java.io.File;
6 | import java.io.IOException;
7 |
8 | import de.sudoq.model.files.FileManager;
9 |
10 | /**
11 | * abstract utility class for operations shared by several tests
12 | */
13 | public abstract class Utility {
14 |
15 | public static File sudokus;
16 | public static File profiles;
17 |
18 | /*
19 | * Copy files from assets to temporary dir for testing
20 | * also init Filemanager
21 | * */
22 | public static void copySudokus() {
23 | String res = "res" + File.separator;
24 | sudokus = new File(res + "tmp_suds");
25 | profiles = new File(res + "tmp_profiles");
26 | sudokus.mkdir();
27 |
28 | try {
29 | String path = "sudoqapp/src/main/assets/sudokus/".replaceAll("/",File.separator);
30 | FileUtils.copyDirectory(new File(path), sudokus);
31 | System.out.println("path:");
32 | System.out.println((new File(res)).getAbsolutePath());
33 | } catch (IOException e) {
34 | e.printStackTrace();
35 | }
36 | profiles.mkdir();
37 | FileManager.initialize(profiles, sudokus);
38 | }
39 | }
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/test/java/de/sudoq/model/game/AssistancesTests.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.model.game;
2 |
3 | import static org.junit.Assert.assertTrue;
4 |
5 | import org.junit.Test;
6 |
7 | import de.sudoq.model.game.Assistances;
8 |
9 | public class AssistancesTests {
10 |
11 | @Test
12 | public void test() {
13 | Assistances[] types = Assistances.values();
14 | for (Assistances type : types) {
15 | assertTrue(Assistances.valueOf(type.toString()).equals(type));
16 | }
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/test/java/de/sudoq/model/profile/StatisticsTests.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.model.profile;
2 |
3 | import static org.junit.Assert.assertTrue;
4 |
5 | import org.junit.Test;
6 |
7 | import de.sudoq.model.profile.Statistics;
8 |
9 | public class StatisticsTests {
10 |
11 | @Test
12 | public void test() {
13 | Statistics[] types = Statistics.values();
14 | for (Statistics type : types) {
15 | assertTrue(Statistics.valueOf(type.toString()).equals(type));
16 | }
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/test/java/de/sudoq/model/solverGenerator/GeneratorUnitTests.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.model.solverGenerator;
2 |
3 | import static org.junit.Assert.assertFalse;
4 |
5 | import org.junit.Test;
6 |
7 | import de.sudoq.model.solverGenerator.Generator;
8 | import de.sudoq.model.solverGenerator.GeneratorCallback;
9 | import de.sudoq.model.sudoku.Sudoku;
10 | import de.sudoq.model.sudoku.complexity.Complexity;
11 | import de.sudoq.model.sudoku.sudokuTypes.SudokuTypes;
12 |
13 | public class GeneratorUnitTests implements GeneratorCallback {
14 |
15 | @Test
16 | public void testNull() {
17 | assertFalse(new Generator().generate(null, Complexity.arbitrary, this));
18 | assertFalse(new Generator().generate(SudokuTypes.standard9x9, null, this));
19 | assertFalse(new Generator().generate(SudokuTypes.standard9x9, Complexity.arbitrary, null));
20 | }
21 |
22 | @Override
23 | public void generationFinished(Sudoku sudoku) {
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/test/java/de/sudoq/model/solverGenerator/solution/DerivationBlockTests.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.model.solverGenerator.solution;
2 |
3 | import static org.junit.Assert.assertEquals;
4 |
5 | import org.junit.Test;
6 |
7 | import de.sudoq.model.solverGenerator.solution.DerivationBlock;
8 | import de.sudoq.model.sudoku.Constraint;
9 | import de.sudoq.model.sudoku.ConstraintType;
10 | import de.sudoq.model.sudoku.UniqueConstraintBehavior;
11 |
12 | public class DerivationBlockTests {
13 |
14 | @Test
15 | public void standardTest() {
16 | Constraint constr = new Constraint(new UniqueConstraintBehavior(), ConstraintType.LINE);
17 | DerivationBlock block = new DerivationBlock(constr);
18 | assertEquals(block.getBlock(), constr);
19 | }
20 |
21 | @Test(expected = IllegalArgumentException.class)
22 | public void constraintNull() {
23 | new DerivationBlock(null);
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/test/java/de/sudoq/model/solverGenerator/solution/DerivationFieldTests.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.model.solverGenerator.solution;
2 |
3 | import static org.junit.Assert.assertEquals;
4 |
5 | import java.util.BitSet;
6 |
7 | import org.junit.Test;
8 |
9 | import de.sudoq.model.solverGenerator.solution.DerivationField;
10 | import de.sudoq.model.sudoku.Position;
11 |
12 | public class DerivationFieldTests {
13 |
14 | @Test
15 | public void standardTest() {
16 | BitSet relevantCandidates = new BitSet();
17 | relevantCandidates.set(5);
18 | relevantCandidates.set(3);
19 | BitSet irrelevantCandidates = new BitSet();
20 | irrelevantCandidates.set(1);
21 | irrelevantCandidates.set(2);
22 | DerivationField derivation = new DerivationField(Position.get(1, 1), relevantCandidates, irrelevantCandidates);
23 | assertEquals(derivation.getPosition(), Position.get(1, 1));
24 | assertEquals(derivation.getRelevantCandidates(), relevantCandidates);
25 | assertEquals(derivation.getIrrelevantCandidates(), irrelevantCandidates);
26 | }
27 |
28 | @Test(expected = IllegalArgumentException.class)
29 | public void positionNull() {
30 | new DerivationField(null, new BitSet(), new BitSet());
31 | }
32 |
33 | @Test(expected = IllegalArgumentException.class)
34 | public void candidatesNull() {
35 | new DerivationField(Position.get(1, 1), null, null);
36 | }
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/test/java/de/sudoq/model/solverGenerator/solver/BranchingPoolTests.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.model.solverGenerator.solver;
2 |
3 | import static org.junit.Assert.assertEquals;
4 |
5 | import org.junit.Test;
6 |
7 | import de.sudoq.model.solverGenerator.solver.BranchingPool;
8 | import de.sudoq.model.sudoku.Position;
9 |
10 | public class BranchingPoolTests {
11 |
12 | @Test(expected = IllegalArgumentException.class)
13 | public void testComplete() {
14 | BranchingPool pool = new BranchingPool();
15 | assertEquals(pool.getBranching(Position.get(1, 5), 1).candidate, 1);
16 | assertEquals(pool.getBranching(Position.get(1, 5), 2).position, Position.get(1, 5));
17 | // new branchings to be initialized
18 | pool.getBranching(Position.get(1, 5), 4);
19 |
20 | pool.returnAll();
21 | // return another branching
22 | pool.returnBranching();
23 |
24 | // should throw exception
25 | pool.getBranching(null, 5);
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/test/java/de/sudoq/model/solverGenerator/solver/ComplexityRelationTests.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.model.solverGenerator.solver;
2 |
3 | import static org.junit.Assert.assertTrue;
4 |
5 | import org.junit.Test;
6 |
7 | import de.sudoq.model.solverGenerator.solver.ComplexityRelation;
8 |
9 | public class ComplexityRelationTests {
10 |
11 | @Test
12 | public void test() {
13 | ComplexityRelation[] types = ComplexityRelation.values();
14 | for (ComplexityRelation type : types) {
15 | assertTrue(ComplexityRelation.valueOf(type.toString()).equals(type));
16 | }
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/test/java/de/sudoq/model/solverGenerator/solver/SudokuTestUtilities.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.model.solverGenerator.solver;
2 |
3 | import de.sudoq.model.sudoku.Position;
4 | import de.sudoq.model.sudoku.Sudoku;
5 |
6 | public final class SudokuTestUtilities {
7 |
8 | private SudokuTestUtilities() {
9 |
10 | }
11 |
12 | public static void printSudoku(Sudoku sudoku) {
13 | StringBuilder sb = new StringBuilder();
14 | for (int j = 0; j < sudoku.getSudokuType().getSize().getY(); j++) {
15 | for (int i = 0; i < sudoku.getSudokuType().getSize().getX(); i++) {
16 | int value = sudoku.getField(Position.get(i, j)).getCurrentValue();
17 | String op = value + "";
18 | if (String.valueOf(value).length() < 2)
19 | op = " " + value;
20 | if (value == -1)
21 | op = "--";
22 | sb.append(op + ", ");
23 | }
24 | sb.append("\n");
25 | }
26 | System.out.println(sb);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/test/java/de/sudoq/model/sudoku/ConstraintTypeTests.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.model.sudoku;
2 |
3 | import static org.junit.Assert.assertTrue;
4 |
5 | import org.junit.Test;
6 |
7 | import de.sudoq.model.sudoku.ConstraintType;
8 |
9 | public class ConstraintTypeTests {
10 |
11 | @Test
12 | public void test() {
13 | ConstraintType[] types = ConstraintType.values();
14 | for (ConstraintType type : types) {
15 | assertTrue(ConstraintType.valueOf(type.toString()).equals(type));
16 | }
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/test/java/de/sudoq/model/sudoku/complexity/ComplexityTests.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.model.sudoku.complexity;
2 |
3 | import static org.junit.Assert.assertTrue;
4 |
5 | import org.junit.Test;
6 |
7 | import de.sudoq.model.sudoku.complexity.Complexity;
8 |
9 | public class ComplexityTests {
10 |
11 | @Test
12 | public void test() {
13 | Complexity[] types = Complexity.values();
14 | for (Complexity type : types) {
15 | assertTrue(Complexity.valueOf(type.toString()).equals(type));
16 | }
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/test/java/de/sudoq/model/sudoku/sudokuTypes/PermutationPropertiesTests.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.model.sudoku.sudokuTypes;
2 |
3 | import static org.junit.Assert.assertTrue;
4 |
5 | import org.junit.Test;
6 |
7 | import de.sudoq.model.sudoku.sudokuTypes.PermutationProperties;
8 |
9 | public class PermutationPropertiesTests {
10 |
11 | @Test
12 | public void test() {
13 | PermutationProperties[] types = PermutationProperties.values();
14 | for (PermutationProperties type : types) {
15 | assertTrue(PermutationProperties.valueOf(type.toString()).equals(type));
16 | }
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/test/java/de/sudoq/model/sudoku/sudokuTypes/SudokuTypesTests.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.model.sudoku.sudokuTypes;
2 |
3 | import static org.junit.Assert.assertTrue;
4 |
5 | import org.junit.Test;
6 |
7 | import de.sudoq.model.sudoku.sudokuTypes.SudokuTypes;
8 |
9 | public class SudokuTypesTests {
10 |
11 | @Test
12 | public void test() {
13 | SudokuTypes[] types = SudokuTypes.values();
14 | for (SudokuTypes type : types) {
15 | assertTrue(SudokuTypes.valueOf(type.toString()).equals(type));
16 | }
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/test/java/de/sudoq/model/sudoku/sudokuTypes/TypeBuilder.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.model.sudoku.sudokuTypes;
2 |
3 | import java.io.File;
4 |
5 | import de.sudoq.model.files.FileManager;
6 |
7 | public class TypeBuilder {
8 |
9 | public static SudokuType getType(SudokuTypes st){
10 |
11 | File profiles = new File("res" + File.separator + "tmp_profiles");
12 | profiles.mkdirs();
13 |
14 | File sudokus = new File("res" + File.separator + "sudokus");
15 |
16 | FileManager.initialize(profiles, sudokus);
17 |
18 | return SudokuType.getSudokuType(st);
19 | }
20 |
21 | public static SudokuType get99(){
22 |
23 | File profiles = new File("res" + File.separator + "tmp_profiles");
24 | profiles.mkdirs();
25 |
26 | File sudokus = new File("res" + File.separator + "sudokus");
27 |
28 | FileManager.initialize(profiles, sudokus);
29 |
30 | return SudokuType.getSudokuType(SudokuTypes.standard9x9);
31 | }
32 |
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/sudoq-app/sudoqmodel/src/test/java/de/sudoq/model/xml/XmlAttributeTests.java:
--------------------------------------------------------------------------------
1 | package de.sudoq.model.xml;
2 |
3 | import static org.junit.Assert.assertEquals;
4 | import static org.junit.Assert.assertTrue;
5 |
6 | import org.junit.Rule;
7 | import org.junit.Test;
8 | import org.junit.rules.ExpectedException;
9 |
10 | import de.sudoq.model.xml.XmlAttribute;
11 |
12 | public class XmlAttributeTests {
13 |
14 | @Rule
15 | public ExpectedException thrown = ExpectedException.none();
16 |
17 | @Test
18 | public void testConstructorStringStringIllegalArgumentException1() {
19 | thrown.expect(IllegalArgumentException.class);
20 | new XmlAttribute("name", null);
21 | }
22 |
23 | @Test
24 | public void testConstructorStringStringIllegalArgumentException2() {
25 | thrown.expect(IllegalArgumentException.class);
26 | new XmlAttribute("", "value");
27 | }
28 |
29 | @Test
30 | public void testConstructorStringStringIllegalArgumentException3() {
31 | thrown.expect(IllegalArgumentException.class);
32 | new XmlAttribute(null, "value");
33 | }
34 |
35 | @Test
36 | public void testGetName() {
37 | XmlAttribute attribute = new XmlAttribute("xyzName", "");
38 | assertEquals(attribute.getName(), "xyzName");
39 | }
40 |
41 | @Test
42 | public void testGetValue() {
43 | XmlAttribute attribute = new XmlAttribute("xyzName", "xyzValue");
44 | assertEquals(attribute.getValue(), "xyzValue");
45 | }
46 |
47 | @Test
48 | public void testIsSameAttribute() {
49 | assertTrue(new XmlAttribute("xyzName", "value").isSameAttribute(new XmlAttribute("xyzName", "differentvalue")));
50 | }
51 |
52 | @Test
53 | public void testIsSameAttributeIllegalArgumentException() {
54 | thrown.expect(IllegalArgumentException.class);
55 | new XmlAttribute("xyzName", "value").isSameAttribute(null);
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/utilities/README:
--------------------------------------------------------------------------------
1 | This folder contains all things related to the app but not immediate part of it, e.g. promotional material, svgs, scripts to check which strings need to be translated...
2 |
--------------------------------------------------------------------------------
/utilities/compareStringFiles.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/python
2 | # -*- coding: utf-8 -*-
3 |
4 | #aufruf: python comparebla.py english foreign ignore
5 |
6 | import sys
7 | import datetime
8 | import re
9 | from collections import defaultdict
10 |
11 | englishLinesRaw = open(sys.argv[1]).readlines()
12 | #fill a dictionary variable_name:string_value for english
13 | only_english_strings =[l.strip() for l in filter(lambda x:'(.*)<')
17 |
18 | for line in only_english_strings:
19 | key = line.split('"')[1]
20 | value = p_value.search(line).group(1)
21 | engDic[key]=value
22 |
23 |
24 | #delete all keys found in foreign
25 | foreignLinesRaw = open(sys.argv[2]).readlines()
26 | only_foreign_strings =[l.strip() for l in filter(lambda x:'
2 |
3 |
4 |
5 | Layer 1
6 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/utilities/svgs/tutorial_branching.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/utilities/svgs/tutorial_current_state.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/utilities/svgs/tutorial_state.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------