Merge remote-tracking branch 'origin/master'

This commit is contained in:
Christopher Beckmann 2017-06-29 14:34:32 +02:00
commit 0019663aa7
31 changed files with 289 additions and 328 deletions

22
.gitignore vendored
View file

@ -1,5 +1,6 @@
# Built application files
/*/build/
build/*
# Crashlytics configuations
com_crashlytics_export_strings.xml
@ -14,17 +15,7 @@ local.properties
.signing/
# User-specific configurations
.idea/libraries/
.idea/workspace.xml
.idea/tasks.xml
.idea/.name
.idea/compiler.xml
.idea/copyright/profiles_settings.xml
.idea/encodings.xml
.idea/misc.xml
.idea/modules.xml
.idea/scopes/scope_settings.xml
.idea/vcs.xml
.idea/*
*.iml
# OS-specific files
@ -35,3 +26,12 @@ local.properties
.Trashes
ehthumbs.db
Thumbs.db
# Documents
*.pdf
*.doc
*.docx
*.odt
# APKs
*.apk

View file

@ -1,22 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<resourceExtensions />
<wildcardResourcePatterns>
<entry name="!?*.java" />
<entry name="!?*.form" />
<entry name="!?*.class" />
<entry name="!?*.groovy" />
<entry name="!?*.scala" />
<entry name="!?*.flex" />
<entry name="!?*.kt" />
<entry name="!?*.clj" />
<entry name="!?*.aj" />
</wildcardResourcePatterns>
<annotationProcessing>
<profile default="true" name="Default" enabled="false">
<processorPath useClasspath="true" />
</profile>
</annotationProcessing>
</component>
</project>

View file

@ -1,3 +0,0 @@
<component name="CopyrightManager">
<settings default="" />
</component>

View file

@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
</set>
</option>
<option name="resolveModulePerSourceSet" value="false" />
</GradleProjectSettings>
</option>
</component>
</project>

View file

@ -1,88 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="EntryPointsManager">
<entry_points version="2.0" />
</component>
<component name="NullableNotNullManager">
<option name="myDefaultNullable" value="android.support.annotation.Nullable" />
<option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
<option name="myNullables">
<value>
<list size="4">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
<item index="3" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
</list>
</value>
</option>
<option name="myNotNulls">
<value>
<list size="4">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
<item index="3" class="java.lang.String" itemvalue="android.support.annotation.NonNull" />
</list>
</value>
</option>
</component>
<component name="ProjectInspectionProfilesVisibleTreeState">
<entry key="Project Default">
<profile-state>
<expanded-state>
<State>
<id />
</State>
</expanded-state>
<selected-state>
<State>
<id>Android</id>
</State>
</selected-state>
</profile-state>
</entry>
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
<OptionsSetting value="true" id="Add" />
<OptionsSetting value="true" id="Remove" />
<OptionsSetting value="true" id="Checkout" />
<OptionsSetting value="true" id="Update" />
<OptionsSetting value="true" id="Status" />
<OptionsSetting value="true" id="Edit" />
<ConfirmationsSetting value="0" id="Add" />
<ConfirmationsSetting value="0" id="Remove" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<option name="id" value="Android" />
</component>
<component name="masterDetails">
<states>
<state key="Copyright.UI">
<settings>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="ScopeChooserConfigurable.UI">
<settings>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
</states>
</component>
</project>

View file

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
<module fileurl="file://$PROJECT_DIR$/privacy-friendly-sudoku.iml" filepath="$PROJECT_DIR$/privacy-friendly-sudoku.iml" />
</modules>
</component>
</project>

View file

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RunConfigurationProducerService">
<option name="ignoredProducers">
<set>
<option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
</set>
</option>
</component>
</project>

33
CHANGELOG.md Normal file
View file

@ -0,0 +1,33 @@
Changelog
==========
Version 2.1.0 *(2017-07-25)*
----------------------------
* New difficulity level added
* New settings
* DB restructuring
Version 2.0.1 *(2016-11-07)*
----------------------------
* Splash Screen added
Version 2.0 *(2016-10-15)*
----------------------------
* Optimization of the level generator to save battery life
* Design-Update
* New Logo
* French translation updated
Version 1.1 *(2016-03-29)*
----------------------------
* French translation updated
Version 1.0 *(2016-03-22)*
----------------------------
* Initial Release

View file

@ -1,5 +1,7 @@
## Privacy Friendly Sudoku
[<img src="https://f-droid.org/badge/get-it-on.png" alt="Get it on F-Droid" height="60">](https://f-droid.org/repository/browse/?fdfilter=sudoku&fdid=org.secuso.privacyfriendlysudoku)<a href="https://play.google.com/store/apps/details?id=org.secuso.privacyfriendlysudoku"><img src="https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png" height="60"></a>
Privacy Friendly Sudoku is a logic based game and belongs to the group of Privacy Friendly Apps developed by Technische Universität Darmstadt, Germany.
This app is optimized regarding the user's privacy. It doesn't use any tracking mechanisms, neither it displays any advertisement.
@ -11,8 +13,7 @@ It also does neither include advertisement nor tracking mechanisms.
As it is part of the Privacy Friendly Apps developed by the SECUSO research group of the Technische
Universtität Darmstadt in Germany it is optimized due to user's privacy.
## Download and more Information
## Building
Further development requires Android Studio, we recommend to use at least version 2.2.3
@ -37,7 +38,7 @@ The icons ic_trophy_award_black_48dp and ic_trophy_black_48dp are licensed under
## Contributors
App-Icons:
App-Icon:
Markus Hau
Github-Users: <br />

View file

@ -1,122 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.id=":app" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="privacy-friendly-sudoku" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="android-gradle" name="Android-Gradle">
<configuration>
<option name="GRADLE_PROJECT_PATH" value=":app" />
</configuration>
</facet>
<facet type="android" name="Android">
<configuration>
<option name="SELECTED_BUILD_VARIANT" value="debug" />
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
<afterSyncTasks>
<task>generateDebugSources</task>
</afterSyncTasks>
<option name="ALLOW_USER_CONFIGURATION" value="false" />
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
<option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
<option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false">
<output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
<output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/builds" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-safeguard" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-resources" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-support" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/restart-dex" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/split-apk" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
<orderEntry type="jdk" jdkName="Android API 25 Platform" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" exported="" name="support-annotations-25.0.0" level="project" />
<orderEntry type="library" exported="" name="design-25.0.0" level="project" />
<orderEntry type="library" exported="" name="support-v4-25.0.0" level="project" />
<orderEntry type="library" exported="" name="support-media-compat-25.0.0" level="project" />
<orderEntry type="library" exported="" name="support-v13-25.0.0" level="project" />
<orderEntry type="library" exported="" name="transition-25.0.0" level="project" />
<orderEntry type="library" exported="" name="support-compat-25.0.0" level="project" />
<orderEntry type="library" exported="" name="support-fragment-25.0.0" level="project" />
<orderEntry type="library" exported="" name="animated-vector-drawable-25.0.0" level="project" />
<orderEntry type="library" exported="" name="support-core-ui-25.0.0" level="project" />
<orderEntry type="library" exported="" scope="TEST" name="hamcrest-core-1.3" level="project" />
<orderEntry type="library" exported="" name="appcompat-v7-25.0.0" level="project" />
<orderEntry type="library" exported="" name="support-vector-drawable-25.0.0" level="project" />
<orderEntry type="library" exported="" scope="TEST" name="junit-4.12" level="project" />
<orderEntry type="library" exported="" name="support-core-utils-25.0.0" level="project" />
<orderEntry type="library" exported="" name="recyclerview-v7-25.0.0" level="project" />
</component>
</module>

View file

@ -13,7 +13,7 @@ android {
minSdkVersion 16
targetSdkVersion 25
versionCode 4
versionName "2.1.1"
versionName "2.1.0"
}
buildTypes {
release {

View file

@ -208,6 +208,10 @@ public class NewLevelManager {
saveToDb(GameType.Default_9x9, GameDifficulty.Challenge, "040100800059408061700000002500000009080700000007004000000000090801009200000000685");
saveToDb(GameType.Default_9x9, GameDifficulty.Challenge, "007000050300710000140000000000500406001000907000370005790030001060004000005620000");
saveToDb(GameType.Default_12x12, GameDifficulty.Easy, "29B0087000060070A0039001000A69000023050007000600040020080590600000002108B03C000000040A50800100C00060004000A073000056C000A009300B0200C00001A00B89");
saveToDb(GameType.Default_12x12, GameDifficulty.Easy, "0000C5B03000003C000804000B64920005C06002080C1A500A0B0000030890000000C70440B800000007209000004030065340C0800201C0007598400080B0002600000609A30000");
saveToDb(GameType.Default_12x12, GameDifficulty.Easy, "0000000100C0C01000678000000B804570900A35000BC80047BC0020090001203000000000000003041000500100BA7C00C950006230030274081000000A960003070500C0000000");
saveToDb(GameType.Default_12x12, GameDifficulty.Moderate, "B30050A100701600070030800002894000007008000000B550100004020300B0000090000060000A010000000032050C0407008006A000000000400001000C290000000008005000");
saveToDb(GameType.Default_12x12, GameDifficulty.Moderate, "00B4008A09C002A030C00008007850003000030C000408AB000B00052000000000000070069500030C00B00010467000008000000A100000000800000C0020700001700000095400");
saveToDb(GameType.Default_12x12, GameDifficulty.Moderate, "90B08A00300100A000007B500054000B90000320000C05B0A00C0000090200050200000000000094C2000006000200303140000008006C0800000000003000C0010050007009AC60");

View file

@ -8,6 +8,7 @@ import android.text.method.LinkMovementMethod;
import android.view.MenuItem;
import android.widget.TextView;
import org.secuso.privacyfriendlysudoku.ui.view.BuildConfig;
import org.secuso.privacyfriendlysudoku.ui.view.R;
public class AboutActivity extends BaseActivity {
@ -19,6 +20,7 @@ public class AboutActivity extends BaseActivity {
((TextView)findViewById(R.id.secusoWebsite)).setMovementMethod(LinkMovementMethod.getInstance());
((TextView)findViewById(R.id.githubURL)).setMovementMethod(LinkMovementMethod.getInstance());
((TextView)findViewById(R.id.textFieldVersionName)).setText(BuildConfig.VERSION_NAME);
android.support.v7.app.ActionBar actionBar = getSupportActionBar();
actionBar.setTitle(R.string.menu_about);

View file

@ -83,10 +83,12 @@ public class GameActivity extends BaseActivity implements NavigationView.OnNavig
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
if(sharedPref.getBoolean("pref_keep_screen_on", true)) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
GameType gameType = GameType.Unspecified;
GameDifficulty gameDifficulty = GameDifficulty.Unspecified;
int loadLevelID = 0;

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M11,17h2v-6h-2v6zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8zM11,9h2L13,7h-2v2z"/>
</vector>

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M11,18h2v-2h-2v2zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8zM12,6c-2.21,0 -4,1.79 -4,4h2c0,-1.1 0.9,-2 2,-2s2,0.9 2,2c0,2 -3,1.75 -3,5h2c0,-2.25 3,-2.5 3,-5 0,-2.21 -1.79,-4 -4,-4z"/>
</vector>

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z"/>
</vector>

View file

@ -0,0 +1,5 @@
<vector android:alpha="0.60" android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M19.43,12.98c0.04,-0.32 0.07,-0.64 0.07,-0.98s-0.03,-0.66 -0.07,-0.98l2.11,-1.65c0.19,-0.15 0.24,-0.42 0.12,-0.64l-2,-3.46c-0.12,-0.22 -0.39,-0.3 -0.61,-0.22l-2.49,1c-0.52,-0.4 -1.08,-0.73 -1.69,-0.98l-0.38,-2.65C14.46,2.18 14.25,2 14,2h-4c-0.25,0 -0.46,0.18 -0.49,0.42l-0.38,2.65c-0.61,0.25 -1.17,0.59 -1.69,0.98l-2.49,-1c-0.23,-0.09 -0.49,0 -0.61,0.22l-2,3.46c-0.13,0.22 -0.07,0.49 0.12,0.64l2.11,1.65c-0.04,0.32 -0.07,0.65 -0.07,0.98s0.03,0.66 0.07,0.98l-2.11,1.65c-0.19,0.15 -0.24,0.42 -0.12,0.64l2,3.46c0.12,0.22 0.39,0.3 0.61,0.22l2.49,-1c0.52,0.4 1.08,0.73 1.69,0.98l0.38,2.65c0.03,0.24 0.24,0.42 0.49,0.42h4c0.25,0 0.46,-0.18 0.49,-0.42l0.38,-2.65c0.61,-0.25 1.17,-0.59 1.69,-0.98l2.49,1c0.23,0.09 0.49,0 0.61,-0.22l2,-3.46c0.12,-0.22 0.07,-0.49 -0.12,-0.64l-2.11,-1.65zM12,15.5c-1.93,0 -3.5,-1.57 -3.5,-3.5s1.57,-3.5 3.5,-3.5 3.5,1.57 3.5,3.5 -1.57,3.5 -3.5,3.5z"/>
</vector>

View file

@ -42,13 +42,32 @@
android:layout_marginTop="15dp"
android:text="@string/app_name_long" />
<TextView
android:id="@+id/textFieldVersion"
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
android:text="@string/version_number" />
android:gravity="center">
<TextView
android:id="@+id/textFieldVersion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="@string/version_number" />
<TextView
android:id="@+id/textFieldVersionName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:layout_marginLeft="4dp"
android:layout_marginTop="5dp"
android:layout_toRightOf="@+id/textFieldVersion"
android:layout_toEndOf="@+id/textFieldVersion" />
</RelativeLayout>
<TextView
android:id="@+id/textFieldAuthor"

View file

@ -40,10 +40,10 @@
android:layout_height="wrap_content"
android:text="@string/gametype_unspecified"
android:id="@+id/gameModeText"
android:layout_weight="8"/>
android:layout_weight="7"/>
<RelativeLayout
android:layout_width="0dp"
android:layout_weight="4"
android:layout_weight="5"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"

View file

@ -11,11 +11,11 @@
</group>
<group android:id="@+id/group5">
<item android:id="@+id/menu_settings" android:icon="@android:drawable/ic_menu_manage"
<item android:id="@+id/menu_settings" android:icon="@drawable/ic_menu_settings"
android:title="@string/menu_settings" />
<item android:id="@+id/menu_help" android:icon="@android:drawable/ic_menu_help"
<item android:id="@+id/menu_help" android:icon="@drawable/ic_menu_help"
android:title="@string/menu_help" />
<item android:id="@+id/menu_about" android:icon="@android:drawable/ic_menu_info_details"
<item android:id="@+id/menu_about" android:icon="@drawable/ic_menu_about"
android:title="@string/menu_about" />
</group>

View file

@ -3,7 +3,7 @@
<group android:id="@+id/group4"
android:checkableBehavior="all">
<item android:id="@+id/nav_newgame_main" android:icon="@android:drawable/ic_menu_today"
<item android:id="@+id/nav_newgame_main" android:icon="@drawable/ic_menu_home"
android:title="@string/menu_main" />
<item android:id="@+id/nav_highscore_main" android:icon="@android:drawable/ic_menu_myplaces"
android:title="@string/menu_highscore" />
@ -11,11 +11,11 @@
<group android:id="@+id/group2"
android:checkableBehavior="all">
<item android:id="@+id/menu_settings_main" android:icon="@android:drawable/ic_menu_manage"
<item android:id="@+id/menu_settings_main" android:icon="@drawable/ic_menu_settings"
android:title="@string/menu_settings" />
<item android:id="@+id/menu_help_main" android:icon="@android:drawable/ic_menu_help"
<item android:id="@+id/menu_help_main" android:icon="@drawable/ic_menu_help"
android:title="@string/menu_help" />
<item android:id="@+id/menu_about_main" android:icon="@android:drawable/ic_menu_info_details"
<item android:id="@+id/menu_about_main" android:icon="@drawable/ic_menu_about"
android:title="@string/menu_about" />
</group>
</menu>

View file

@ -14,7 +14,8 @@
<!-- About Page -->
<string name="about_affiliation">In Zusammenarbeit mit:</string>
<string name="about_author">Autor:</string>
<string name="about_author">Autoren:</string>
<string name="version_number">Version:</string>
<string name="about_author_contributors">und Mitwirkende.</string>
<string name="privacy_friendly">Diese App gehört zur Gruppe der Privacy Friendly Apps entwickelt von der Technischen Universität Darmstadt. Quelltext lizenziert unter GPLv3. Bilder copyright TU Darmstadt und Google Inc.</string>
<string name="more_info">Weitere Infos unter:</string>
@ -89,5 +90,9 @@
<string name="difficulty_description">Drücke oder wische über die Sterne um den Schwierigkeitsgrad zu ändern.</string>
<string name="view_help">Siehe Hilfe</string>
<string name="okay">Okay</string>
<string name="difficulty_challenge">Profi</string>
<string name="pref_keep_screen_on">Bildschirm dauerhaft an</string>
<string name="pref_keep_screen_on_summary">Der Bildschirm bleibt während des Spielens an.</string>
</resources>

View file

@ -9,6 +9,7 @@
<string name="difficulty_easy">Fácil</string>
<string name="difficulty_hard">Difícil</string>
<string name="difficulty_moderate">Normal</string>
<string name="difficulty_challenge">Reto</string>
<string name="gametype_unspecified">No especificado </string>
<string name="generating">Generando nuevo nivel en segundo plano…</string>
<string name="help_delete">Borrar</string>
@ -79,7 +80,10 @@
<string name="pref_timer_reset">Resetear Tiempo</string>
<string name="pref_timer_reset_summary">El tiempo se resetea tambien, cuando el tablero se resetea.</string>
<string name="welcome">Bienvenido a Privacy Friendly Sudoku.</string>
<string name="version_number">Versión:</string>
<string name="about_author_contributors">" "</string>
<string name="okay">Ok</string>
<string name="view_help">Ayuda</string>
<string name="pref_keep_screen_on">Keep Screen On</string>
<string name="pref_keep_screen_on_summary">Don\'t turn the screen off while playing</string>
</resources>

View file

@ -8,6 +8,7 @@
<string name="difficulty_easy">Facile</string>
<string name="difficulty_hard">Difficile</string>
<string name="difficulty_moderate">Normal</string>
<string name="difficulty_challenge">Challenge</string>
<string name="gametype_unspecified">Indéterminé</string>
<string name="generating">Générer nouveau niveau en arrière-plan…</string>
<string name="header_help">Aide</string>
@ -80,6 +81,9 @@
<string name="pref_timer_reset_summary">Aussi réinitialiser le minuteur en réinitialisant le jeux en cours.</string>
<string name="welcome">Bienvenue à Privacy Friendly Sudoku.</string>
<string name="about_author_contributors">" "</string>
<string name="version_number">Version:</string>
<string name="okay">Ok</string>
<string name="view_help">Aide</string>
<string name="pref_keep_screen_on">Keep Screen On</string>
<string name="pref_keep_screen_on_summary">Don\'t turn the screen off while playing</string>
</resources>

View file

@ -0,0 +1,131 @@
<resources>
<string name="cancel">キャンセル</string>
<!-- ###MAIN MENU### -->
<string name="new_game">新しいゲーム</string>
<string name="menu_main">メインメニュー</string>
<string name="menu_settings">設定</string>
<string name="menu_highscore">ハイスコア</string>
<string name="menu_group">グループ</string>
<string name="menu_help">ヘルプ</string>
<string name="menu_about">アプリについて</string>
<string name="menu_reset">ボードをリセット</string>
<string name="menu_continue_game">ゲームを続ける</string>
<string name="title_activity_load_game">ゲームをロード</string>
<string name="generating">バックグラウンドで新しいレベルを生成中&#8230;</string>
<!-- ###SETTINGS### -->
<string name="title_activity_settings">設定</string>
<!-- #Highlight -->
<string name="pref_header_highlight">ハイライト</string>
<string name="pref_group_highlight_selection">選択のハイライト</string>
<string name="pref_highlight_connected">接続したフィールド</string>
<string name="pref_group_highlight_value">数のハイライト</string>
<string name="pref_highlight_vals">同じ数</string>
<string name="pref_highlight_notes">メモ</string>
<!-- #Game -->
<string name="pref_header_game">ゲーム</string>
<string name="pref_group_game">ゲーム設定</string>
<string name="pref_symbols">シンボル</string>
<array name="pref_symbols_list_titles">
<item>デフォルト 1,2,3,..</item>
<item>ローマ I,II,III,..</item>
<item>ファンシー ♪,♫,☼,..</item>
<item>漢字 一,二,三,..</item>
<item>ギリシャ α,β,γ,..</item>
<item>インド १,२,३,..</item>
</array>
<array name="pref_symbols_list_values">
<item>Default</item>
<item>Roman</item>
<item>Fancy</item>
<item>Chinese</item>
<item>Greek</item>
<item>Indian</item>
</array>
<string name="pref_automatic_note_deletion">メモの削除</string>
<string name="pref_automatic_note_deletion_summary">接続されたセルの数をセットするときにメモを自動的に削除します</string>
<string name="pref_timer_reset">タイマーリセット</string>
<string name="pref_timer_reset_summary">ゲームボードをリセットするときに、タイマーもリセットします。</string>
<!-- ###ABOUT### -->
<string name="about_author">作者:</string>
<string name="about_author_contributors">と貢献者。</string>
<string name="version_number">バージョン</string>
<string name="about_affiliation">提携</string>
<string name="privacy_friendly">このアプリケーションは、ダルムシュタット工科大学 (Technische Universität Darmstadt, Germany) が開発したプライバシーフレンドリーアプリのグループに属しています。 ソースコードは GPLv3 の下でライセンスされます。画像の著作権は TU Darmstadt および Google Inc.</string>
<string name="more_info">さらに詳しい情報は以下でご覧ください:</string>
<string name="about_qqwing">このアプリケーションは QQWing v1.3.4 の修正版を使用しています</string>
<!-- ###GameDifficulty### -->
<string name="difficulty_easy">簡単</string>
<string name="difficulty_moderate">標準</string>
<string name="difficulty_hard">難しい</string>
<string name="difficulty_challenge">チャレンジ</string>
<!--###GameActivity -->
<string name="gametype_unspecified">未指定</string>
<string name="hint_usage">有効なフィールドを選択して、ヒントボタンを押すと、解決策を表示します。</string>
<string name="hint_confirmation">このヒントを使用してもよろしいですか? ヒントを使用すると、個人のベストタイムを達成することができなくなります。</string>
<string name="hint_confirmation_confirm">使用する</string>
<string name="reset_confirmation">ゲームボードをリセットしてもよろしいですか?</string>
<string name="reset_confirmation_confirm">リセット</string>
<!-- ### Welcome Dialog ### -->
<string name="welcome">プライバシーフレンドリー Sudoku へようこそ。</string>
<string name="field_select_description">スワイプまたは左右の矢印ボタンを押して、ゲームモードを変更します。</string>
<string name="field_select_description_headline">ゲームモード:</string>
<string name="difficulty_description">星を押すかスワイプして難易度を変えます。</string>
<string name="difficulty_description_headline">難易度:</string>
<!-- ### Continue Game ### -->
<string name="loadgame_delete_confirmation">このセーブを削除してもよろしいですか?</string>
<string name="loadgame_delete_confirm">削除</string>
<!-- ### Stats ###-->
<string name="stats_name">統計</string>
<string name="number_of_hints"># 使用したヒント:</string>
<string name="number_of_games"># 完了したゲーム:</string>
<string name="total_of_time">合計プレイタイム:</string>
<string name="average_time">平均タイム:</string>
<string name="min_time">ベストタイム:</string>
<string name="reset_stats">すべてリセット</string>
<!--### Win Strings -->
<string name="win_text">おめでとう!</string>
<string name="win_button_text">続ける</string>
<string name="title_activity_help">ヘルプ</string>
<string name="win_time">タイム:</string>
<string name="win_hint">ヒント:</string>
<string name="win_show_game">ゲームフィールドを表示</string>
<string name="win_best_time">新記録!</string>
<!-- ### HELP prefs ###-->
<string name="header_help">ヘルプ</string>
<string name="help_keyboard">キーボード</string>
<string name="help_gamefield">ゲームフィールド</string>
<string name="help_keyhighlighted_summary">数が選択されていることを示します。 このモードでは、フィールドを選択しなくても、フィールドに触れると数がすぐにセットされます。</string>
<string name="help_keyhighlighted_yellow_summary">ここに正しい数が置かれたことを示します。</string>
<!-- ### Special buttons description ###-->
<string name="help_do">実行ボタン</string>
<string name="help_do_summary">最後に取り消された操作をやり直します</string>
<string name="help_undo">取り消しボタン</string>
<string name="help_undo_summary">最後の操作を取り消します</string>
<string name="help_hint">ヒントボタン</string>
<string name="help_hint_summary">選択したフィールドを公開します\n警告: 使用すると、現在のゲームは新しいベストタイムにカウントされません。</string>
<string name="help_delete">削除ボタン</string>
<string name="help_delete_summary">選択したフィールドを削除します</string>
<string name="help_notes">メモ切り替えボタン</string>
<string name="help_notes_summary">フィールドの値を、数またはメモとしてセットするかどうかを切り替えます</string>
<string name="help_privacyInfo">プライバシー情報</string>
<string name="help_permissions">アクセス許可</string>
<string name="help_permissions_summary">プライバシーフレンドリー Sudoku はいかなるアクセス許可も使用していません。</string>
<string name="okay">OK</string>
<string name="view_help">ヘルプを表示</string>
<string name="pref_keep_screen_on">画面をオンのままにする</string>
<string name="pref_keep_screen_on_summary">プレイ中は画面をオフにしません</string>
</resources>

View file

@ -8,6 +8,7 @@
<string name="difficulty_easy">Легкий</string>
<string name="difficulty_hard">Сложный</string>
<string name="difficulty_moderate">Средний</string>
<string name="difficulty_challenge">вызов</string>
<string name="gametype_unspecified">Необычный</string>
<string name="generating">Генерирую новый уровень на заднем плане…</string>
<string name="header_help">Помощь</string>
@ -80,6 +81,10 @@
<string name="pref_timer_reset_summary">Сброс таймера при сбросе доски.</string>
<string name="welcome">Добро пожаловать в Privacy Friendly Sudoku.</string>
<string name="about_author_contributors">" "</string>
<string name="version_number">Версия:</string>
<string name="okay">Ok</string>
<string name="view_help">Помощь</string>
<string name="pref_keep_screen_on">Keep Screen On</string>
<string name="pref_keep_screen_on_summary">Don\'t turn the screen off while playing</string>
</resources>

View file

@ -8,6 +8,7 @@
<string name="difficulty_easy">简单</string>
<string name="difficulty_hard"></string>
<string name="difficulty_moderate">普通</string>
<string name="difficulty_challenge">挑战</string>
<string name="gametype_unspecified">未详细说明的</string>
<string name="help_delete">删除</string>
<string name="win_text">祝贺!</string>
@ -82,5 +83,8 @@
<string name="about_author_contributors">" "</string>
<string name="okay">Ok</string>
<string name="view_help">帮助</string>
<string name="version_number">Version</string>
<string name="pref_keep_screen_on">Keep Screen On</string>
<string name="pref_keep_screen_on_summary">Don\'t turn the screen off while playing</string>
</resources>

View file

@ -57,8 +57,8 @@
<!-- ###ABOUT### -->
<string name="app_name_long" translatable="false">Privacy Friendly Sudoku</string>
<string name="version_number" translatable="false">2.1.1</string>
<string name="about_author">Author:</string>
<string name="version_number">Version:</string>
<string name="about_author">Authors:</string>
<string name="about_author_names" translatable="false">Christopher Beckmann, Timm Lippert</string>
<string name="about_author_contributors">and contributors.</string>
<string name="about_affiliation">In affiliation with</string>
@ -141,5 +141,7 @@
<string name="okay">Okay</string>
<string name="view_help">View Help</string>
<string name="difficulty_challenge">Challenge</string>
<string name="pref_highlightInputError">Highlight input mistakes</string>
<string name="pref_highlightInputError" translatable="false">Highlight input mistakes</string>
<string name="pref_keep_screen_on">Keep Screen On</string>
<string name="pref_keep_screen_on_summary">Don\'t turn the screen off while playing</string>
</resources>

View file

@ -13,7 +13,13 @@
android:summary="@string/pref_timer_reset_summary"
android:defaultValue="true" />
<ListPreference
<SwitchPreference android:id="@+id/pref_keep_screen_on"
android:key="pref_keep_screen_on"
android:title="@string/pref_keep_screen_on"
android:summary="@string/pref_keep_screen_on_summary"
android:defaultValue="true"/>
<ListPreference
android:key="pref_symbols"
android:title="@string/pref_symbols"
android:defaultValue="Default"

View file

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.id="privacy-friendly-sudoku" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="java-gradle" name="Java-Gradle">
<configuration>
<option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" />
<option name="BUILDABLE" value="false" />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
</content>
<orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>