├── settings.gradle ├── app ├── src │ └── main │ │ ├── res │ │ ├── values-v11 │ │ │ ├── styles.xml │ │ │ └── themes.xml │ │ ├── drawable-hdpi │ │ │ ├── button_new.png │ │ │ ├── button_pen.png │ │ │ ├── toggle_pen.png │ │ │ ├── button_clear.png │ │ │ ├── button_equal.png │ │ │ ├── button_hint.png │ │ │ ├── button_minus.png │ │ │ ├── button_pause.png │ │ │ ├── button_plus.png │ │ │ ├── ic_launcher.png │ │ │ ├── toggle_grid.png │ │ │ ├── button_discard.png │ │ │ ├── button_divide.png │ │ │ ├── button_eraser.png │ │ │ ├── button_multiply.png │ │ │ ├── button_pen_blue.png │ │ │ ├── button_pencil.png │ │ │ ├── menu_back_icon.png │ │ │ ├── menu_help_icon.png │ │ │ ├── menu_hint_icon.png │ │ │ ├── menu_new_icon.png │ │ │ ├── menu_save_icon.png │ │ │ ├── menu_share_icon.png │ │ │ ├── menu_undo_icon.png │ │ │ ├── toggle_number.png │ │ │ ├── toggle_pencil.png │ │ │ ├── button_play_light.png │ │ │ ├── menu_replay_icon.png │ │ │ ├── toggle_eraser_off.png │ │ │ ├── button_discard_light.png │ │ │ ├── button_eraser_blue.png │ │ │ ├── button_pencil_blue.png │ │ │ ├── button_remove_light.png │ │ │ ├── menu_overflow_icon.png │ │ │ ├── menu_settings_icon.png │ │ │ └── menu_statistics_icon.png │ │ ├── drawable-ldpi │ │ │ └── ic_launcher.png │ │ ├── drawable-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_action_search.png │ │ ├── drawable-xhdpi │ │ │ ├── button_pen.png │ │ │ ├── ic_launcher.png │ │ │ ├── toggle_grid.png │ │ │ ├── toggle_pen.png │ │ │ ├── button_discard.png │ │ │ ├── button_eraser.png │ │ │ ├── button_pencil.png │ │ │ ├── menu_back_icon.png │ │ │ ├── menu_help_icon.png │ │ │ ├── menu_hint_icon.png │ │ │ ├── menu_new_icon.png │ │ │ ├── menu_save_icon.png │ │ │ ├── menu_undo_icon.png │ │ │ ├── toggle_number.png │ │ │ ├── toggle_pencil.png │ │ │ ├── ic_action_search.png │ │ │ ├── menu_replay_icon.png │ │ │ ├── menu_share_icon.png │ │ │ ├── button_play_light.png │ │ │ ├── button_remove_light.png │ │ │ ├── menu_overflow_icon.png │ │ │ ├── menu_settings_icon.png │ │ │ ├── toggle_eraser_off.png │ │ │ ├── button_discard_light.png │ │ │ └── menu_statistics_icon.png │ │ ├── color │ │ │ ├── text_button.xml │ │ │ └── text_button_dark.xml │ │ ├── drawable │ │ │ ├── text_button.xml │ │ │ ├── text_button_dark.xml │ │ │ ├── menu_button.xml │ │ │ ├── toggle_mode_bg.xml │ │ │ ├── toggle_mode_bg_dark.xml │ │ │ ├── radio_button.xml │ │ │ ├── radio_button_dark.xml │ │ │ ├── keypad_button.xml │ │ │ └── keypad_button_dark.xml │ │ ├── values-v13 │ │ │ └── themes.xml │ │ ├── menu │ │ │ ├── solutions.xml │ │ │ └── activity_main.xml │ │ ├── values │ │ │ ├── themes.xml │ │ │ ├── arrays.xml │ │ │ ├── styles.xml │ │ │ └── strings.xml │ │ ├── layout │ │ │ ├── dialog_help.xml │ │ │ ├── dialog_about.xml │ │ │ ├── dialog_mode.xml │ │ │ ├── activity_savegame.xml │ │ │ ├── object_savegame.xml │ │ │ ├── activity_main.xml │ │ │ └── activity_stats.xml │ │ ├── layout-sw480dp │ │ │ ├── object_savegame.xml │ │ │ └── activity_main.xml │ │ ├── xml │ │ │ └── activity_settings.xml │ │ ├── layout-small-land │ │ │ └── activity_main.xml │ │ ├── layout-land │ │ │ └── activity_main.xml │ │ ├── layout-small │ │ │ └── activity_main.xml │ │ └── layout-sw480dp-land │ │ │ └── activity_main.xml │ │ ├── java │ │ └── com │ │ │ ├── srlee │ │ │ └── DLX │ │ │ │ ├── DLXRow.java │ │ │ │ ├── DLXColumn.java │ │ │ │ ├── DLXNode.java │ │ │ │ ├── LL2DNode.java │ │ │ │ ├── LatinSquareDLX.java │ │ │ │ ├── MathDokuDLX.java │ │ │ │ └── DLX.java │ │ │ ├── holokenmod │ │ │ ├── Utils.java │ │ │ ├── UndoList.java │ │ │ ├── UndoState.java │ │ │ ├── SettingsActivity.java │ │ │ ├── StatsActivity.java │ │ │ ├── SaveGameListAdapter.java │ │ │ ├── SaveGameListActivity.java │ │ │ ├── SaveGame.java │ │ │ ├── GridCell.java │ │ │ └── GridCage.java │ │ │ └── mobiRic │ │ │ └── ui │ │ │ └── widget │ │ │ └── Boast.java │ │ └── AndroidManifest.xml └── build.gradle ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── README.md ├── .gitattributes ├── .gitignore ├── .travis.yml ├── gradlew.bat └── gradlew /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /app/src/main/res/values-v11/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/button_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/button_new.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/button_pen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/button_pen.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/toggle_pen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/toggle_pen.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/button_clear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/button_clear.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/button_equal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/button_equal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/button_hint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/button_hint.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/button_minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/button_minus.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/button_pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/button_pause.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/button_plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/button_plus.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/toggle_grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/toggle_grid.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-ldpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-ldpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/button_pen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-xhdpi/button_pen.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/toggle_grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-xhdpi/toggle_grid.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/toggle_pen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-xhdpi/toggle_pen.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/button_discard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/button_discard.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/button_divide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/button_divide.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/button_eraser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/button_eraser.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/button_multiply.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/button_multiply.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/button_pen_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/button_pen_blue.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/button_pencil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/button_pencil.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_back_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/menu_back_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_help_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/menu_help_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_hint_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/menu_hint_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_new_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/menu_new_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_save_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/menu_save_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_share_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/menu_share_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_undo_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/menu_undo_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/toggle_number.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/toggle_number.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/toggle_pencil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/toggle_pencil.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/button_discard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-xhdpi/button_discard.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/button_eraser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-xhdpi/button_eraser.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/button_pencil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-xhdpi/button_pencil.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_back_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-xhdpi/menu_back_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_help_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-xhdpi/menu_help_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_hint_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-xhdpi/menu_hint_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_new_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-xhdpi/menu_new_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_save_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-xhdpi/menu_save_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_undo_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-xhdpi/menu_undo_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/toggle_number.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-xhdpi/toggle_number.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/toggle_pencil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-xhdpi/toggle_pencil.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | holoken-dev 2 | =========== 3 | ![F-Droid (explicit metadata format)](https://img.shields.io/f-droid/v/com.holokenmod?metadata_format=yml) 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/button_play_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/button_play_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_replay_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/menu_replay_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/toggle_eraser_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/toggle_eraser_off.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-mdpi/ic_action_search.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-xhdpi/ic_action_search.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_replay_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-xhdpi/menu_replay_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_share_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-xhdpi/menu_share_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/button_discard_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/button_discard_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/button_eraser_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/button_eraser_blue.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/button_pencil_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/button_pencil_blue.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/button_remove_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/button_remove_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_overflow_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/menu_overflow_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_settings_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/menu_settings_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_statistics_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-hdpi/menu_statistics_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/button_play_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-xhdpi/button_play_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/button_remove_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-xhdpi/button_remove_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_overflow_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-xhdpi/menu_overflow_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_settings_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-xhdpi/menu_settings_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/toggle_eraser_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-xhdpi/toggle_eraser_off.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/button_discard_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-xhdpi/button_discard_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_statistics_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/queler/holokenmod/HEAD/app/src/main/res/drawable-xhdpi/menu_statistics_icon.png -------------------------------------------------------------------------------- /app/src/main/java/com/srlee/DLX/DLXRow.java: -------------------------------------------------------------------------------- 1 | package com.srlee.DLX; 2 | 3 | 4 | public class DLXRow 5 | { 6 | public DLXRow(DLXNode first) 7 | { 8 | FirstNode = first; 9 | } 10 | 11 | public DLXNode FirstNode; 12 | } 13 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Apr 03 14:47:23 EDT 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip 7 | -------------------------------------------------------------------------------- /app/src/main/res/color/text_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/color/text_button_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/text_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/text_button_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/values-v13/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/java/com/srlee/DLX/DLXColumn.java: -------------------------------------------------------------------------------- 1 | package com.srlee.DLX; 2 | 3 | 4 | public class DLXColumn extends LL2DNode 5 | { 6 | private int size; // Number of items in column 7 | public DLXColumn() 8 | { 9 | size = 0; 10 | SetUp(this); 11 | SetDown(this); 12 | } 13 | public int GetSize() { return size; } 14 | public void DecSize() { size--; } 15 | public void IncSize() { size++; } 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/java/com/holokenmod/Utils.java: -------------------------------------------------------------------------------- 1 | package com.holokenmod; 2 | 3 | import android.os.Build; 4 | 5 | public class Utils { 6 | public static String convertTimetoStr(long time) { 7 | int seconds = (int) (time / 1000); 8 | int minutes = seconds / 60 % 60; 9 | int hours = seconds / 3600; 10 | seconds = seconds % 60; 11 | 12 | return String.format("%02d:%02d:%02d", hours, minutes, seconds); 13 | } 14 | 15 | public static boolean hasHoneycomb() { 16 | return Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB; 17 | } 18 | 19 | } -------------------------------------------------------------------------------- /app/src/main/java/com/srlee/DLX/DLXNode.java: -------------------------------------------------------------------------------- 1 | package com.srlee.DLX; 2 | 3 | 4 | public class DLXNode extends LL2DNode 5 | { 6 | public DLXNode(DLXColumn col, int ri) 7 | { 8 | RowIdx = ri; 9 | C = col; 10 | col.GetUp().SetDown(this); 11 | SetUp(col.GetUp()); 12 | SetDown(col); 13 | col.SetUp(this); 14 | col.IncSize(); 15 | } 16 | public DLXColumn GetColumn() { return C; } 17 | public int GetRowIdx() { return RowIdx; } 18 | 19 | private DLXColumn C; // Pointer to Column Header 20 | private int RowIdx; // Index to row 21 | } 22 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Set the default behavior, in case people don't have core.autocrlf set. 2 | 3 | # Explicitly declare text files you want to always be normalized and converted 4 | # to native line endings on checkout. 5 | *.c text 6 | *.h text 7 | *.java text eol=lf 8 | 9 | 10 | # Declare files that will always have CRLF line endings on checkout. 11 | *.sln text eol=crlf 12 | *.bat text eol-crlf 13 | gradlew text eol=lf 14 | *.gradle text eol=lf 15 | .properties text eol=lf 16 | 17 | 18 | # Denote all files that are truly binary and should not be modified. 19 | *.png binary 20 | *.jpg binary 21 | *.jar binary 22 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | #built application files 2 | *.apk 3 | *.ap_ 4 | 5 | # files for the dex VM 6 | *.dex 7 | 8 | # Java class files 9 | *.class 10 | 11 | # generated files 12 | bin/ 13 | gen/ 14 | 15 | # Local configuration file (sdk path, etc) 16 | local.properties 17 | 18 | # Windows thumbnail db 19 | Thumbs.db 20 | 21 | # OSX files 22 | .DS_Store 23 | 24 | # Eclipse project files 25 | .classpath 26 | .project 27 | 28 | # Android Studio 29 | *.iml 30 | .idea 31 | #.idea/workspace.xml - remove # and delete .idea if it better suit your needs. 32 | .gradle 33 | build/ 34 | 35 | #NDK 36 | obj/ -------------------------------------------------------------------------------- /app/src/main/res/menu/solutions.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | 9 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | android { 3 | compileSdkVersion 22 4 | buildToolsVersion '29.0.3' 5 | lintOptions { 6 | disable "ExpiredTargetSdkVersion" 7 | } 8 | defaultConfig { 9 | applicationId "com.holokenmod" 10 | minSdkVersion 8 11 | targetSdkVersion 22 12 | } 13 | 14 | buildTypes { 15 | release { 16 | minifyEnabled false 17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 18 | } 19 | } 20 | } 21 | repositories { 22 | google() 23 | } 24 | 25 | dependencies { 26 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/menu_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-v11/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 10 | -------------------------------------------------------------------------------- /app/src/main/java/com/holokenmod/UndoList.java: -------------------------------------------------------------------------------- 1 | package com.holokenmod; 2 | 3 | import java.util.LinkedList; 4 | 5 | @SuppressWarnings("serial") 6 | public class UndoList extends LinkedList { 7 | private int maxSize; 8 | 9 | public UndoList(int maxSize) { 10 | this.maxSize = maxSize; 11 | } 12 | 13 | @Override 14 | public synchronized boolean add(UndoState object) { 15 | //if (size() == maxSize) 16 | // removeFirst(); 17 | return super.add(object); 18 | } 19 | 20 | @Override 21 | public synchronized UndoState removeFirst() { 22 | return super.removeFirst(); 23 | } 24 | 25 | @Override 26 | public synchronized UndoState removeLast() { 27 | return super.removeLast(); 28 | } 29 | 30 | } -------------------------------------------------------------------------------- /app/src/main/java/com/srlee/DLX/LL2DNode.java: -------------------------------------------------------------------------------- 1 | package com.srlee.DLX; 2 | 3 | public class LL2DNode extends Object 4 | { 5 | public void SetLeft(LL2DNode left) { L = left; } 6 | public void SetRight(LL2DNode right) { R = right; } 7 | public void SetUp(LL2DNode up) { U = up; } 8 | public void SetDown(LL2DNode down) { D = down; } 9 | public LL2DNode GetLeft() { return L; } 10 | public LL2DNode GetRight() { return R; } 11 | public LL2DNode GetUp() { return U; } 12 | public LL2DNode GetDown() { return D; } 13 | public LL2DNode() 14 | { 15 | L = R = U = D = null; 16 | } 17 | 18 | private LL2DNode L; // Pointer to left node 19 | private LL2DNode R; // Pointer to right node 20 | private LL2DNode U; // Pointer to node above 21 | private LL2DNode D; // Pointer to node below 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/toggle_mode_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | 14 | 15 | 18 | 19 | 20 | 21 | 22 | 23 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/toggle_mode_bg_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | 14 | 15 | 18 | 19 | 20 | 21 | 22 | 23 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: android 2 | android: 3 | components: 4 | - tools 5 | - build-tools-29.0.3 6 | - android-22 7 | script: 8 | - "./gradlew assembleDebug" 9 | deploy: 10 | skip_cleanup: true 11 | provider: releases 12 | api_key: 13 | secure: q5kCGbUuFaquVAWcNjPGAWuYXqs5MzWqtpVB/8maxFtKPRe7kby/invpqryA1ZOCwN3TeVEXSa97W15ks65RneQpBG9N3rj+C53nZucUzgJJ0kuh1edJDHSZwuqV3LU+1cbyeN03RbJGMkMIqbYX+1zmCDq31GbxYDMC2j8+TO8zX6bXlcuizvOv/x97jrGZTFJrCWZFM4zhA9z6R9Bmb6DLzg6Ay91kWKFS4jq8SzHodWnBqAsxcLRCtnB4ycX6dVtZNoMRJNs5GA3QjTNqA2JCFH/X6/0fDxfWfxanXQqfrspPtyb/e2Yd2VTQ6BMFbbI4pm7l+NRkyKlO9/G7WSMZmdLhb4MtBHViEAJnkeq8GByYkK3FrX40dU9bXVivqbgHapSChob5ychE/Sz2SgGWmHfp4fRsNQKM4Mu1HlORhYnSFvh+pbi92tZOhr8dPT+yt22MbKwKGr+J5MOVtBh6EOrFfPtWDsVTvTSUTnm9ADUQWzK9iRcKJLJyJTaQlNTdscfmfizSFSGT8Wh1XSK5kI8WWAvX+JLBoZWSh3gx6V19sjNShPQtNvlapQMXTgfim2JBMSoNwhwElkKKHbRyY859gVj43OWnmNYgOAWP5hlLJPKNNCJslITRM2UVMvGuJzvVPYJ6zQ2F8X60KQX9Qnby81KtpcdMFz9HlJI= 14 | file: app/build/outputs/apk/debug/app-debug.apk 15 | on: 16 | repo: queler/holokenmod 17 | all_branches: true 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_help.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 13 | 15 | 17 | 19 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/radio_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 21 | 22 | 23 | 24 | 25 | 26 | 29 | 30 | 31 | 32 | 33 | 34 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/radio_button_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 21 | 22 | 23 | 24 | 25 | 26 | 29 | 30 | 31 | 32 | 33 | 34 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /app/src/main/java/com/srlee/DLX/LatinSquareDLX.java: -------------------------------------------------------------------------------- 1 | package com.srlee.DLX; 2 | 3 | import java.util.ArrayList; 4 | 5 | import com.holokenmod.GridCell; 6 | 7 | 8 | public class LatinSquareDLX extends DLX { 9 | 10 | private int BOARD = 0; 11 | private int BOARD2 = 0; 12 | private int BOARD3 = 0; 13 | 14 | public LatinSquareDLX (int n, ArrayList cells) 15 | { 16 | BOARD = n; 17 | BOARD2 = BOARD * BOARD; 18 | BOARD3 = BOARD2 * BOARD; 19 | 20 | Init(BOARD2 * 3, BOARD3, BOARD3 * 3); 21 | 22 | int d, r, c; 23 | int moveidx = 0; 24 | 25 | // Setup all possible "moves" and the conditions they affect 26 | for (d = 1; d <= BOARD; d++) 27 | for (r = 1; r <= BOARD; r++) 28 | for (c = 1; c <= BOARD; c++) 29 | { 30 | AddNode((r - 1) * BOARD + c, moveidx); // 31 | AddNode(BOARD2 + (d - 1) * BOARD + r, moveidx); // 32 | AddNode(BOARD2 * 2 + (d - 1) * BOARD + c, moveidx); // 33 | moveidx++; 34 | } 35 | 36 | // Now apply the "moves" we already know 37 | for (GridCell cell : cells) 38 | if (cell.mValue != 0) 39 | if (!GivenRow((cell.mValue - 1)* BOARD2 + cell.mRow * BOARD + cell.mColumn + 1)) { 40 | isValid = false; 41 | return; 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 10 | 11 | 12 | 17 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 29 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /app/src/main/res/menu/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 10 | 14 | 18 | 22 | 26 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /app/src/main/java/com/holokenmod/UndoState.java: -------------------------------------------------------------------------------- 1 | 2 | package com.holokenmod; 3 | 4 | import java.util.ArrayList; 5 | import java.util.Collections; 6 | import java.util.List; 7 | 8 | public class UndoState { 9 | 10 | public int cellNum; 11 | public int userValue; 12 | public List possibles; 13 | public boolean batch; 14 | 15 | public UndoState (int cellNum, int userValue, List Possibles) { 16 | this.cellNum = cellNum; 17 | this.userValue = userValue; 18 | this.possibles = copyArrayList(Possibles); 19 | this.batch = false; 20 | } 21 | 22 | public UndoState (int cellNum, int userValue, List Possibles, boolean batch) { 23 | this.cellNum = cellNum; 24 | this.userValue = userValue; 25 | this.possibles = copyArrayList(Possibles); 26 | this.batch = batch; 27 | } 28 | 29 | public int getCellNum () { 30 | return this.cellNum; 31 | } 32 | 33 | public int getUserValue() { 34 | return this.userValue; 35 | } 36 | 37 | public List getPossibles() { 38 | return this.possibles; 39 | } 40 | 41 | public boolean getBatch() { 42 | return this.batch; 43 | } 44 | 45 | public List copyArrayList(List oldlist) { 46 | List copylist = Collections.synchronizedList( new ArrayList(oldlist)); 47 | Collections.copy(copylist,oldlist); 48 | return copylist; 49 | } 50 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/keypad_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/keypad_button_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_about.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 13 | 15 | 17 | 19 | 21 | 23 | 25 | 27 | 29 | 31 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_mode.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | 15 | 16 | 22 | 27 | 32 | 37 | 38 | 44 | 45 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_savegame.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 17 | 18 |