Updated to new design and fixed a timer issue.
|
@ -1 +1 @@
|
|||
Sudoku
|
||||
privacy-friendly-sudoku
|
|
@ -3,16 +3,15 @@
|
|||
<component name="GradleSettings">
|
||||
<option name="linkedExternalProjectsSettings">
|
||||
<GradleProjectSettings>
|
||||
<option name="distributionType" value="LOCAL" />
|
||||
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||
<option name="gradleHome" value="C:\Program Files\Android\Android Studio\gradle\gradle-2.4" />
|
||||
<option name="gradleJvm" value="1.8" />
|
||||
<option name="modules">
|
||||
<set>
|
||||
<option value="$PROJECT_DIR$" />
|
||||
<option value="$PROJECT_DIR$/app" />
|
||||
</set>
|
||||
</option>
|
||||
<option name="resolveModulePerSourceSet" value="false" />
|
||||
</GradleProjectSettings>
|
||||
</option>
|
||||
</component>
|
||||
|
|
|
@ -27,6 +27,22 @@
|
|||
</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" />
|
||||
|
@ -43,4 +59,30 @@
|
|||
<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>
|
66
app/app.iml
|
@ -9,15 +9,11 @@
|
|||
<facet type="android" name="Android">
|
||||
<configuration>
|
||||
<option name="SELECTED_BUILD_VARIANT" value="debug" />
|
||||
<option name="SELECTED_TEST_ARTIFACT" value="_unit_test_" />
|
||||
<option name="SELECTED_TEST_ARTIFACT" value="_android_test_" />
|
||||
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
|
||||
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
|
||||
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugUnitTest" />
|
||||
<option name="COMPILE_JAVA_TEST_TASK_NAME" value="compileDebugUnitTestSources" />
|
||||
<afterSyncTasks>
|
||||
<task>generateDebugSources</task>
|
||||
<task>mockableAndroidJar</task>
|
||||
<task>prepareDebugUnitTestDependencies</task>
|
||||
</afterSyncTasks>
|
||||
<option name="ALLOW_USER_CONFIGURATION" value="false" />
|
||||
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
|
||||
|
@ -36,8 +32,16 @@
|
|||
<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" />
|
||||
|
@ -45,6 +49,7 @@
|
|||
<sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/debug/jni" 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" />
|
||||
|
@ -52,6 +57,7 @@
|
|||
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/jni" 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" />
|
||||
|
@ -59,6 +65,7 @@
|
|||
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" 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/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" />
|
||||
|
@ -66,37 +73,66 @@
|
|||
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
|
||||
<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/jni" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/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/bundles" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/debug" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.1.0/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/design/23.1.0/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/recyclerview-v7/23.1.0/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/23.1.0/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/animated-vector-drawable/24.2.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/appcompat-v7/24.2.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/design/24.2.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/recyclerview-v7/24.2.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-compat/24.2.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-core-ui/24.2.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-core-utils/24.2.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-fragment/24.2.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-media-compat/24.2.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v13/24.2.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/24.2.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-vector-drawable/24.2.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-safeguard" />
|
||||
<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/mockable-android-23.jar" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/tmp" />
|
||||
<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 23 Platform" jdkType="Android SDK" />
|
||||
<orderEntry type="jdk" jdkName="Android API 24 Platform" jdkType="Android SDK" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" exported="" name="recyclerview-v7-23.1.0" level="project" />
|
||||
<orderEntry type="library" exported="" name="support-compat-24.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="support-v4-24.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="support-media-compat-24.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="support-v13-24.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="animated-vector-drawable-24.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="support-fragment-24.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="support-core-ui-24.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="recyclerview-v7-24.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="appcompat-v7-24.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="support-vector-drawable-24.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="support-core-utils-24.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="support-annotations-24.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" scope="TEST" name="hamcrest-core-1.3" level="project" />
|
||||
<orderEntry type="library" exported="" scope="TEST" name="junit-4.12" level="project" />
|
||||
<orderEntry type="library" exported="" name="support-v4-23.1.0" level="project" />
|
||||
<orderEntry type="library" exported="" name="design-23.1.0" level="project" />
|
||||
<orderEntry type="library" exported="" name="appcompat-v7-23.1.0" level="project" />
|
||||
<orderEntry type="library" exported="" name="support-annotations-23.1.0" level="project" />
|
||||
<orderEntry type="library" exported="" name="design-24.2.1" level="project" />
|
||||
</component>
|
||||
</module>
|
|
@ -1,8 +1,8 @@
|
|||
apply plugin: 'com.android.application'
|
||||
|
||||
android {
|
||||
compileSdkVersion 23
|
||||
buildToolsVersion "23.0.2"
|
||||
compileSdkVersion 24
|
||||
buildToolsVersion '24.0.1'
|
||||
|
||||
testOptions {
|
||||
unitTests.returnDefaultValues = true
|
||||
|
@ -11,9 +11,9 @@ android {
|
|||
defaultConfig {
|
||||
applicationId "org.secuso.privacyfriendlysudoku"
|
||||
minSdkVersion 16
|
||||
targetSdkVersion 23
|
||||
targetSdkVersion 24
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
versionName "2.0"
|
||||
}
|
||||
buildTypes {
|
||||
release {
|
||||
|
@ -21,12 +21,20 @@ android {
|
|||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_7
|
||||
targetCompatibility JavaVersion.VERSION_1_7
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile fileTree(dir: 'libs', include: ['*.jar'])
|
||||
compile fileTree(include: ['*.jar'], dir: 'libs')
|
||||
testCompile 'junit:junit:4.12'
|
||||
compile 'com.android.support:appcompat-v7:23.1.0'
|
||||
compile 'com.android.support:design:23.1.0'
|
||||
compile 'com.android.support:support-v4:23.1.0'
|
||||
compile 'com.android.support:support-compat:24.2.1'
|
||||
compile 'com.android.support:support-v4:24.2.1'
|
||||
compile 'com.android.support:support-v13:24.2.1'
|
||||
compile 'com.android.support:appcompat-v7:24.2.1'
|
||||
compile 'com.android.support:design:24.2.1'
|
||||
compile 'com.android.support:support-core-ui:24.2.1'
|
||||
compile 'com.android.support:support-core-utils:24.2.1'
|
||||
}
|
||||
|
|
|
@ -14,32 +14,25 @@
|
|||
android:theme="@style/AppTheme.NoActionBar">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity
|
||||
android:name="org.secuso.privacyfriendlysudoku.ui.SettingsActivity"
|
||||
android:label="@string/title_activity_settings"
|
||||
android:parentActivityName="org.secuso.privacyfriendlysudoku.ui.MainActivity" >
|
||||
</activity>
|
||||
android:parentActivityName="org.secuso.privacyfriendlysudoku.ui.MainActivity" />
|
||||
<activity
|
||||
android:name="org.secuso.privacyfriendlysudoku.ui.GameActivity"
|
||||
android:label="@string/title_activity_game_view"
|
||||
android:theme="@style/AppTheme.NoActionBar" >
|
||||
</activity>
|
||||
<activity android:name="org.secuso.privacyfriendlysudoku.ui.AboutActivity" >
|
||||
</activity>
|
||||
<activity android:name="org.secuso.privacyfriendlysudoku.ui.LoadGameActivity" >
|
||||
</activity>
|
||||
android:theme="@style/AppTheme.NoActionBar" />
|
||||
<activity android:name="org.secuso.privacyfriendlysudoku.ui.AboutActivity" />
|
||||
<activity android:name="org.secuso.privacyfriendlysudoku.ui.LoadGameActivity" />
|
||||
<activity
|
||||
android:name="org.secuso.privacyfriendlysudoku.ui.StatsActivity"
|
||||
android:theme="@style/AppTheme.NoActionBar" >
|
||||
</activity>
|
||||
android:theme="@style/AppTheme.NoActionBar" />
|
||||
<activity
|
||||
android:name="org.secuso.privacyfriendlysudoku.ui.HelpActivity"
|
||||
android:label="@string/title_activity_help" >
|
||||
</activity>
|
||||
android:label="@string/title_activity_help" />
|
||||
</application>
|
||||
|
||||
</manifest>
|
|
@ -320,6 +320,7 @@ public class GameController implements IModelChangedListener, Parcelable {
|
|||
|
||||
if(settings.getBoolean("pref_timer_reset", true)) {
|
||||
time = 0;
|
||||
notifyTimerListener(0);
|
||||
undoRedoManager = new UndoRedoManager(gameBoard);
|
||||
} else {
|
||||
undoRedoManager.addState(gameBoard);
|
||||
|
@ -611,6 +612,11 @@ public class GameController implements IModelChangedListener, Parcelable {
|
|||
return usedHints;
|
||||
}
|
||||
|
||||
public void resetTime() {
|
||||
time = 0;
|
||||
notifyTimerListener(0);
|
||||
}
|
||||
|
||||
public void initTimer() {
|
||||
deleteTimer();
|
||||
|
||||
|
@ -621,7 +627,7 @@ public class GameController implements IModelChangedListener, Parcelable {
|
|||
@Override
|
||||
public void run() {
|
||||
if(timerRunning.get()) {
|
||||
notifyTimerListener(time++);
|
||||
notifyTimerListener(++time);
|
||||
//Log.d("Timer", "calling notifyTimerListener(" + time + ");");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,17 +4,22 @@ import android.graphics.Color;
|
|||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.os.Bundle;
|
||||
import android.text.method.LinkMovementMethod;
|
||||
import android.view.MenuItem;
|
||||
import android.widget.TextView;
|
||||
|
||||
import org.secuso.privacyfriendlysudoku.ui.view.R;
|
||||
|
||||
public class AboutActivity extends AppCompatActivity {
|
||||
public class AboutActivity extends BaseActivity {
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_about);
|
||||
|
||||
((TextView)findViewById(R.id.secusoWebsite)).setMovementMethod(LinkMovementMethod.getInstance());
|
||||
((TextView)findViewById(R.id.githubURL)).setMovementMethod(LinkMovementMethod.getInstance());
|
||||
|
||||
android.support.v7.app.ActionBar actionBar = getSupportActionBar();
|
||||
actionBar.setTitle(R.string.menu_about);
|
||||
actionBar.setDisplayHomeAsUpEnabled(true);
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
package org.secuso.privacyfriendlysudoku.ui;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.view.View;
|
||||
|
||||
import org.secuso.privacyfriendlysudoku.ui.view.R;
|
||||
|
||||
/**
|
||||
* Created by Chris on 15.10.2016.
|
||||
*/
|
||||
|
||||
public class BaseActivity extends AppCompatActivity {
|
||||
|
||||
static final int NAVDRAWER_LAUNCH_DELAY = 250;
|
||||
static final int MAIN_CONTENT_FADEOUT_DURATION = 150;
|
||||
static final int MAIN_CONTENT_FADEIN_DURATION = 250;
|
||||
|
||||
protected Handler mHandler;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
mHandler = new Handler();
|
||||
|
||||
overridePendingTransition(0, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
|
||||
View mainContent = findViewById(R.id.main_content);
|
||||
if (mainContent != null) {
|
||||
mainContent.animate().alpha(1).setDuration(MAIN_CONTENT_FADEIN_DURATION);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostCreate(Bundle savedInstanceState) {
|
||||
super.onPostCreate(savedInstanceState);
|
||||
|
||||
View mainContent = findViewById(R.id.main_content);
|
||||
if (mainContent != null) {
|
||||
mainContent.setAlpha(0);
|
||||
mainContent.animate().alpha(1).setDuration(MAIN_CONTENT_FADEIN_DURATION);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -47,8 +47,9 @@ import org.secuso.privacyfriendlysudoku.ui.view.WinDialog;
|
|||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.RunnableFuture;
|
||||
|
||||
public class GameActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener, IGameSolvedListener ,ITimerListener, IHintDialogFragmentListener, IResetDialogFragmentListener {
|
||||
public class GameActivity extends BaseActivity implements NavigationView.OnNavigationItemSelectedListener, IGameSolvedListener ,ITimerListener, IHintDialogFragmentListener, IResetDialogFragmentListener {
|
||||
|
||||
GameController gameController;
|
||||
SudokuFieldLayout layout;
|
||||
|
@ -61,12 +62,30 @@ public class GameActivity extends AppCompatActivity implements NavigationView.On
|
|||
SaveLoadStatistics statistics = new SaveLoadStatistics(this);
|
||||
WinDialog dialog = null;
|
||||
|
||||
@Override
|
||||
protected void onPostCreate(Bundle savedInstanceState) {
|
||||
super.onPostCreate(savedInstanceState);
|
||||
|
||||
if(gameSolved) {
|
||||
gameController.pauseTimer();
|
||||
} else {
|
||||
// start the game
|
||||
mHandler.postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
gameController.startTimer();
|
||||
}
|
||||
}, MAIN_CONTENT_FADEIN_DURATION);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
|
||||
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
|
||||
|
||||
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
|
||||
GameType gameType = GameType.Unspecified;
|
||||
GameDifficulty gameDifficulty = GameDifficulty.Unspecified;
|
||||
|
@ -103,8 +122,17 @@ public class GameActivity extends AppCompatActivity implements NavigationView.On
|
|||
gameController = savedInstanceState.getParcelable("gameController");
|
||||
// in case we get the same object back
|
||||
// because parceling the Object does not always parcel it. Only if needed.
|
||||
if(gameController != null) {
|
||||
gameController.removeAllListeners();
|
||||
gameController.setContextAndSettings(getApplicationContext(), sharedPref);
|
||||
} else {
|
||||
// Error: no game could be restored. Go back to main menu.
|
||||
Intent intent = new Intent(this, MainActivity.class);
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
overridePendingTransition(0, 0);
|
||||
}
|
||||
gameSolved = savedInstanceState.getInt("gameSolved") == 1;
|
||||
}
|
||||
|
||||
|
@ -177,17 +205,15 @@ public class GameActivity extends AppCompatActivity implements NavigationView.On
|
|||
layout.setEnabled(false);
|
||||
keyboard.setButtonsEnabled(false);
|
||||
specialButtonLayout.setButtonsEnabled(false);
|
||||
gameController.pauseTimer();
|
||||
} else {
|
||||
// start the game
|
||||
gameController.startTimer();
|
||||
}
|
||||
|
||||
gameController.notifyHighlightChangedListeners();
|
||||
gameController.notifyTimerListener(gameController.getTime());
|
||||
|
||||
// run this so the error list gets build again.
|
||||
gameController.onModelChange(null);
|
||||
|
||||
overridePendingTransition(0, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -201,11 +227,22 @@ public class GameActivity extends AppCompatActivity implements NavigationView.On
|
|||
@Override
|
||||
public void onResume(){
|
||||
super.onResume();
|
||||
|
||||
View mainContent = findViewById(R.id.main_content);
|
||||
if (mainContent != null) {
|
||||
mainContent.animate().alpha(1).setDuration(MAIN_CONTENT_FADEOUT_DURATION);
|
||||
}
|
||||
|
||||
gameController.initTimer();
|
||||
|
||||
if(!gameSolved) {
|
||||
mHandler.postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
gameController.startTimer();
|
||||
}
|
||||
}, MAIN_CONTENT_FADEIN_DURATION);
|
||||
}
|
||||
|
||||
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
|
||||
Symbol s = Symbol.valueOf(Symbol.class, sharedPref.getString("pref_symbols", "Default"));
|
||||
|
@ -238,7 +275,7 @@ public class GameActivity extends AppCompatActivity implements NavigationView.On
|
|||
// Handle navigation view item clicks here.
|
||||
int id = item.getItemId();
|
||||
|
||||
Intent intent;
|
||||
Intent intent = null;
|
||||
|
||||
switch(id) {
|
||||
case R.id.menu_reset:
|
||||
|
@ -250,7 +287,6 @@ public class GameActivity extends AppCompatActivity implements NavigationView.On
|
|||
//create new game
|
||||
intent = new Intent(this, MainActivity.class);
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
break;
|
||||
|
||||
|
@ -259,31 +295,44 @@ public class GameActivity extends AppCompatActivity implements NavigationView.On
|
|||
intent = new Intent(this,SettingsActivity.class);
|
||||
intent.putExtra( PreferenceActivity.EXTRA_SHOW_FRAGMENT, SettingsActivity.GamePreferenceFragment.class.getName() );
|
||||
intent.putExtra( PreferenceActivity.EXTRA_NO_HEADERS, true );
|
||||
startActivity(intent);
|
||||
break;
|
||||
|
||||
case R.id.nav_highscore:
|
||||
// see highscore list
|
||||
intent = new Intent(this, StatsActivity.class);
|
||||
startActivity(intent);
|
||||
break;
|
||||
|
||||
case R.id.menu_about:
|
||||
//open about page
|
||||
intent = new Intent(this,AboutActivity.class);
|
||||
startActivity(intent);
|
||||
break;
|
||||
|
||||
case R.id.menu_help:
|
||||
//open about page
|
||||
intent = new Intent(this,HelpActivity.class);
|
||||
intent.putExtra( HelpActivity.EXTRA_SHOW_FRAGMENT, HelpActivity.HelpFragment.class.getName() );
|
||||
intent.putExtra( HelpActivity.EXTRA_NO_HEADERS, true );
|
||||
startActivity(intent);
|
||||
break;
|
||||
default:
|
||||
}
|
||||
|
||||
if(intent != null) {
|
||||
|
||||
final Intent i = intent;
|
||||
// fade out the active activity
|
||||
View mainContent = findViewById(R.id.main_content);
|
||||
if (mainContent != null) {
|
||||
mainContent.animate().alpha(0).setDuration(MAIN_CONTENT_FADEOUT_DURATION);
|
||||
}
|
||||
|
||||
mHandler.postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
startActivity(i);
|
||||
overridePendingTransition(0, 0);
|
||||
}
|
||||
}, NAVDRAWER_LAUNCH_DELAY);
|
||||
|
||||
}
|
||||
|
||||
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
|
||||
drawer.closeDrawer(GravityCompat.START);
|
||||
return true;
|
||||
|
@ -326,6 +375,7 @@ public class GameActivity extends AppCompatActivity implements NavigationView.On
|
|||
Intent intent = new Intent(activity, MainActivity.class);
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
||||
startActivity(intent);
|
||||
overridePendingTransition(0, 0);
|
||||
activity.finish();
|
||||
}
|
||||
});
|
||||
|
|
|
@ -19,6 +19,7 @@ import android.preference.PreferenceManager;
|
|||
import android.preference.RingtonePreference;
|
||||
import android.text.TextUtils;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
|
||||
import org.secuso.privacyfriendlysudoku.ui.view.R;
|
||||
|
||||
|
@ -35,11 +36,13 @@ import java.util.List;
|
|||
* href="http://developer.android.com/guide/topics/ui/settings.html">Settings
|
||||
* API Guide</a> for more information on developing a Settings UI.
|
||||
*/
|
||||
public class HelpActivity extends AppCompatPreferenceActivity {
|
||||
public class HelpActivity extends BaseActivity {
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setupActionBar();
|
||||
|
||||
setContentView(R.layout.activity_help);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -53,33 +56,6 @@ public class HelpActivity extends AppCompatPreferenceActivity {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public boolean onIsMultiPane() {
|
||||
return isXLargeTablet(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper method to determine if the device has an extra-large screen. For
|
||||
* example, 10" tablets are extra-large.
|
||||
*/
|
||||
private static boolean isXLargeTablet(Context context) {
|
||||
return (context.getResources().getConfiguration().screenLayout
|
||||
& Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_XLARGE;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
|
||||
public void onBuildHeaders(List<Header> target) {
|
||||
loadHeadersFromResource(R.xml.pref_help_headers, target);
|
||||
}
|
||||
|
||||
/**
|
||||
* A preference value change listener that updates the preference's summary
|
||||
* to reflect its new value.
|
||||
|
|
|
@ -10,7 +10,6 @@ import android.content.Intent;
|
|||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
|
@ -34,7 +33,7 @@ import java.util.LinkedList;
|
|||
import java.util.List;
|
||||
import java.util.TimeZone;
|
||||
|
||||
public class LoadGameActivity extends AppCompatActivity implements IDeleteDialogFragmentListener {
|
||||
public class LoadGameActivity extends BaseActivity implements IDeleteDialogFragmentListener {
|
||||
|
||||
List<GameInfoContainer> loadableGameList;
|
||||
SharedPreferences settings;
|
||||
|
@ -93,7 +92,7 @@ public class LoadGameActivity extends AppCompatActivity implements IDeleteDialog
|
|||
}
|
||||
};
|
||||
|
||||
ListView listView = (ListView)findViewById(R.id.load_game_list);
|
||||
ListView listView = (ListView)findViewById(R.id.main_content);
|
||||
loadGameAdapter = new LoadGameAdapter(this, loadableGameList);
|
||||
listView.setAdapter(loadGameAdapter);
|
||||
listView.setOnItemClickListener(clickListener);
|
||||
|
|
|
@ -4,6 +4,7 @@ import android.app.Activity;
|
|||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
import android.app.DialogFragment;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
|
@ -40,12 +41,13 @@ import java.io.Serializable;
|
|||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener{
|
||||
public class MainActivity extends BaseActivity implements NavigationView.OnNavigationItemSelectedListener{
|
||||
|
||||
RatingBar difficultyBar;
|
||||
TextView difficultyText;
|
||||
SharedPreferences settings;
|
||||
ImageView arrowLeft, arrowRight;
|
||||
DrawerLayout drawer;
|
||||
|
||||
/**
|
||||
* The {@link ViewPager} that will host the section contents.
|
||||
|
@ -160,7 +162,7 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
|
|||
|
||||
|
||||
// set Nav_Bar
|
||||
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout_main);
|
||||
drawer = (DrawerLayout) findViewById(R.id.drawer_layout_main);
|
||||
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
|
||||
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
|
||||
drawer.setDrawerListener(toggle);
|
||||
|
@ -169,7 +171,9 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
|
|||
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view_main);
|
||||
navigationView.setNavigationItemSelectedListener(this);
|
||||
|
||||
overridePendingTransition(0, 0);
|
||||
}
|
||||
|
||||
public void callFragment(View view){
|
||||
/*FragmentManager fm = getSupportFragmentManager();
|
||||
DialogWinScreen winScreen = new DialogWinScreen();
|
||||
|
@ -219,8 +223,23 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
|
|||
break;
|
||||
default:
|
||||
}
|
||||
if(i != null) {
|
||||
startActivity(i);
|
||||
|
||||
final Intent intent = i;
|
||||
|
||||
if(intent != null) {
|
||||
|
||||
View mainContent = findViewById(R.id.main_content);
|
||||
if (mainContent != null) {
|
||||
mainContent.animate().alpha(0).setDuration(MAIN_CONTENT_FADEOUT_DURATION);
|
||||
}
|
||||
|
||||
mHandler.postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
startActivity(intent);
|
||||
}
|
||||
}, MAIN_CONTENT_FADEOUT_DURATION);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -248,8 +267,27 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
|
|||
@Override
|
||||
public boolean onNavigationItemSelected(MenuItem item) {
|
||||
// Handle navigation view item clicks here.
|
||||
int id = item.getItemId();
|
||||
final int id = item.getItemId();
|
||||
|
||||
// delay transition so the drawer can close
|
||||
mHandler.postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
goToNavigationItem(id);
|
||||
}
|
||||
}, NAVDRAWER_LAUNCH_DELAY);
|
||||
|
||||
drawer.closeDrawer(GravityCompat.START);
|
||||
|
||||
// fade out the active activity
|
||||
View mainContent = findViewById(R.id.main_content);
|
||||
if (mainContent != null) {
|
||||
mainContent.animate().alpha(0).setDuration(MAIN_CONTENT_FADEOUT_DURATION);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private boolean goToNavigationItem(int id) {
|
||||
Intent intent;
|
||||
|
||||
switch(id) {
|
||||
|
@ -259,6 +297,7 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
|
|||
intent.putExtra( PreferenceActivity.EXTRA_SHOW_FRAGMENT, SettingsActivity.GamePreferenceFragment.class.getName() );
|
||||
intent.putExtra( PreferenceActivity.EXTRA_NO_HEADERS, true );
|
||||
startActivity(intent);
|
||||
overridePendingTransition(0, 0);
|
||||
break;
|
||||
|
||||
case R.id.nav_highscore_main:
|
||||
|
@ -266,26 +305,24 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
|
|||
|
||||
intent = new Intent(this, StatsActivity.class);
|
||||
startActivity(intent);
|
||||
overridePendingTransition(0, 0);
|
||||
break;
|
||||
|
||||
case R.id.menu_about_main:
|
||||
//open about page
|
||||
intent = new Intent(this,AboutActivity.class);
|
||||
startActivity(intent);
|
||||
overridePendingTransition(0, 0);
|
||||
break;
|
||||
|
||||
case R.id.menu_help_main:
|
||||
//open about page
|
||||
intent = new Intent(this,HelpActivity.class);
|
||||
intent.putExtra( HelpActivity.EXTRA_SHOW_FRAGMENT, HelpActivity.HelpFragment.class.getName() );
|
||||
intent.putExtra( HelpActivity.EXTRA_NO_HEADERS, true );
|
||||
startActivity(intent);
|
||||
overridePendingTransition(0, 0);
|
||||
break;
|
||||
default:
|
||||
}
|
||||
|
||||
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout_main);
|
||||
drawer.closeDrawer(GravityCompat.START);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -389,7 +426,7 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
|
|||
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
|
||||
|
||||
builder.setView(i.inflate(R.layout.welcome_dialog, null));
|
||||
builder.setIcon(R.mipmap.ic_launcher);
|
||||
builder.setIcon(R.mipmap.ic_launcher_nopfa);
|
||||
builder.setTitle(getActivity().getString(R.string.app_name_long));
|
||||
builder.setPositiveButton(getActivity().getString(R.string.win_button_text), null);
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@ import android.support.v7.app.ActionBar;
|
|||
import android.preference.PreferenceFragment;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
|
||||
import org.secuso.privacyfriendlysudoku.ui.view.R;
|
||||
|
||||
|
@ -34,6 +35,14 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
|
|||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setupActionBar();
|
||||
|
||||
overridePendingTransition(0, 0);
|
||||
|
||||
View mainContent = findViewById(R.id.main_content);
|
||||
if (mainContent != null) {
|
||||
mainContent.setAlpha(0);
|
||||
mainContent.animate().alpha(1).setDuration(BaseActivity.MAIN_CONTENT_FADEIN_DURATION);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -9,7 +9,6 @@ import android.support.v4.app.Fragment;
|
|||
import android.support.v4.app.FragmentManager;
|
||||
import android.support.v4.app.FragmentPagerAdapter;
|
||||
import android.support.v4.view.ViewPager;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
|
@ -27,7 +26,7 @@ import org.secuso.privacyfriendlysudoku.ui.view.R;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
public class StatsActivity extends AppCompatActivity {
|
||||
public class StatsActivity extends BaseActivity {
|
||||
|
||||
/**
|
||||
* The {@link android.support.v4.view.PagerAdapter} that will provide
|
||||
|
@ -62,12 +61,11 @@ public class StatsActivity extends AppCompatActivity {
|
|||
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
|
||||
|
||||
// Set up the ViewPager with the sections adapter.
|
||||
mViewPager = (ViewPager) findViewById(R.id.container);
|
||||
mViewPager = (ViewPager) findViewById(R.id.main_content);
|
||||
mViewPager.setAdapter(mSectionsPagerAdapter);
|
||||
|
||||
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
|
||||
tabLayout.setupWithViewPager(mViewPager);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,11 +1,15 @@
|
|||
package org.secuso.privacyfriendlysudoku.ui.view;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import org.secuso.privacyfriendlysudoku.ui.listener.IResetDialogFragmentListener;
|
||||
|
||||
/**
|
||||
* Created by TMZ_LToP on 30.01.2016.
|
||||
*/
|
||||
|
@ -41,8 +45,25 @@ public class WinDialog extends Dialog {
|
|||
if(isNewBestTime){
|
||||
((TextView)findViewById(R.id.win_new_besttime)).setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Bundle onSaveInstanceState() {
|
||||
Bundle bundle = super.onSaveInstanceState();
|
||||
bundle.putString("hintString", hintString);
|
||||
bundle.putString("timeString", timeString);
|
||||
bundle.putBoolean("isNewBestTime", isNewBestTime);
|
||||
return bundle;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRestoreInstanceState(Bundle savedInstanceState) {
|
||||
super.onRestoreInstanceState(savedInstanceState);
|
||||
|
||||
if(savedInstanceState == null) return;
|
||||
|
||||
hintString = savedInstanceState.getString("hintString");
|
||||
timeString = savedInstanceState.getString("timeString");
|
||||
isNewBestTime = savedInstanceState.getBoolean("isNewBestTime");
|
||||
}
|
||||
}
|
||||
|
|
BIN
app/src/main/res/drawable/nav_header.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
|
@ -1,38 +1,45 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="#FFFFFF">
|
||||
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="#FFFFFF"
|
||||
android:orientation="horizontal"
|
||||
android:id="@+id/main_content"
|
||||
android:fitsSystemWindows="true"
|
||||
android:orientation="vertical"
|
||||
android:paddingBottom="@dimen/activity_vertical_margin"
|
||||
android:paddingLeft="@dimen/activity_horizontal_margin"
|
||||
android:paddingRight="@dimen/activity_horizontal_margin"
|
||||
android:paddingTop="@dimen/activity_vertical_margin"
|
||||
tools:context=".AboutActivity"
|
||||
android:weightSum="2">
|
||||
android:weightSum="1"
|
||||
tools:context=".AboutActivity">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0px"
|
||||
android:layout_height="fill_parent"
|
||||
android:orientation="vertical"
|
||||
android:layout_weight="1">
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.36">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/barcodeLogo"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:adjustViewBounds="true"
|
||||
android:src="@drawable/privacyfriendlyappslogo" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/appName"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="20dp"
|
||||
android:textSize="@dimen/text_size"
|
||||
android:layout_marginTop="15dp"
|
||||
android:text="@string/app_name_long" />
|
||||
|
||||
<TextView
|
||||
|
@ -40,8 +47,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="10dp"
|
||||
android:textSize="@dimen/text_size"
|
||||
android:layout_marginTop="5dp"
|
||||
android:text="@string/version_number" />
|
||||
|
||||
<TextView
|
||||
|
@ -49,49 +55,35 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="10dp"
|
||||
android:textSize="@dimen/text_size"
|
||||
android:layout_marginTop="5dp"
|
||||
android:text="@string/about_author" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textFieldAuthorNames"
|
||||
android:id="@+id/authornames"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:gravity="center"
|
||||
android:layout_marginTop="0dp"
|
||||
android:textSize="@dimen/text_size"
|
||||
android:text="@string/about_author_names"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="30dp"
|
||||
android:gravity="center"
|
||||
android:textSize="@dimen/text_size"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:text="@string/privacy_friendly"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0px"
|
||||
android:layout_height="fill_parent"
|
||||
android:orientation="vertical"
|
||||
android:layout_weight="1">
|
||||
android:text="@string/about_author_contributors"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textFieldAffiliation"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:textSize="@dimen/text_size"
|
||||
android:layout_marginTop="15dp"
|
||||
android:text="@string/about_affiliation"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageView1"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:adjustViewBounds="true"
|
||||
android:src="@drawable/secuso_logo_blau_blau" />
|
||||
|
@ -100,19 +92,34 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="20dp"
|
||||
android:textSize="@dimen/text_size"
|
||||
android:layout_marginTop="10dp"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="@string/privacy_friendly" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="15dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/more_info" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/linkID"
|
||||
android:id="@+id/secusoWebsite"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/url"
|
||||
android:textStyle="bold"
|
||||
android:textSize="@dimen/text_size"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:autoLink="web"/>
|
||||
android:text="@string/url"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/githubURL"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="@string/github"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/qqWing"
|
||||
|
@ -121,7 +128,6 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:text="@string/about_qqwing"
|
||||
android:textSize="@dimen/text_size"
|
||||
android:layout_gravity="center_horizontal"/>
|
||||
|
||||
<TextView
|
||||
|
@ -133,16 +139,4 @@
|
|||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
|
||||
<!--
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-->
|
||||
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
|
@ -1,4 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<android.support.v4.widget.DrawerLayout android:id="@+id/drawer_layout_main"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent"
|
||||
android:fitsSystemWindows="true"
|
||||
tools:openDrawer="start"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<android.support.design.widget.CoordinatorLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
|
@ -26,19 +35,13 @@
|
|||
|
||||
</android.support.design.widget.AppBarLayout>
|
||||
|
||||
<android.support.v4.widget.DrawerLayout
|
||||
android:id="@+id/drawer_layout_main"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_marginTop="?attr/actionBarSize"
|
||||
android:fitsSystemWindows="true"
|
||||
tools:openDrawer="start">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:weightSum="2"
|
||||
android:orientation="horizontal">
|
||||
android:id="@+id/main_content"
|
||||
android:orientation="horizontal"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="0px"
|
||||
|
@ -154,14 +157,15 @@
|
|||
|
||||
</LinearLayout>
|
||||
|
||||
</android.support.design.widget.CoordinatorLayout>
|
||||
<android.support.design.widget.NavigationView
|
||||
android:id="@+id/nav_view_main"
|
||||
android:layout_width="200dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="start"
|
||||
android:fitsSystemWindows="true"
|
||||
android:background="@color/white"
|
||||
app:menu="@menu/menu_drawer_main"/>
|
||||
app:menu="@menu/menu_drawer_main"
|
||||
app:headerLayout="@layout/nav_header" />
|
||||
|
||||
</android.support.v4.widget.DrawerLayout>
|
||||
|
||||
</android.support.design.widget.CoordinatorLayout>
|
|
@ -5,12 +5,12 @@
|
|||
android:layoutDirection="ltr"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:id="@+id/main_content"
|
||||
android:paddingLeft="@dimen/activity_horizontal_margin"
|
||||
android:paddingRight="@dimen/activity_horizontal_margin"
|
||||
android:paddingTop="@dimen/activity_vertical_margin"
|
||||
android:paddingBottom="@dimen/activity_vertical_margin"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior"
|
||||
tools:context="tu_darmstadt.sudoku.activity.GameActivity">
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<org.secuso.privacyfriendlysudoku.ui.view.SudokuSpecialButtonLayout
|
||||
android:id="@+id/sudokuSpecialLayout"
|
||||
|
|
|
@ -1,4 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<android.support.v4.widget.DrawerLayout android:id="@+id/drawer_layout_main"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent"
|
||||
android:fitsSystemWindows="true"
|
||||
tools:openDrawer="start"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<android.support.design.widget.CoordinatorLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
|
@ -26,20 +35,14 @@
|
|||
|
||||
</android.support.design.widget.AppBarLayout>
|
||||
|
||||
<android.support.v4.widget.DrawerLayout
|
||||
android:id="@+id/drawer_layout_main"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_marginTop="?attr/actionBarSize"
|
||||
android:fitsSystemWindows="true"
|
||||
tools:openDrawer="start">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:weightSum="10"
|
||||
style="?android:buttonBarStyle">
|
||||
android:id="@+id/main_content"
|
||||
style="?android:buttonBarStyle"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
<RelativeLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="0dp"
|
||||
|
@ -226,14 +229,16 @@
|
|||
|
||||
</LinearLayout>
|
||||
|
||||
</android.support.design.widget.CoordinatorLayout>
|
||||
|
||||
<android.support.design.widget.NavigationView
|
||||
android:id="@+id/nav_view_main"
|
||||
android:layout_width="200dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="start"
|
||||
android:fitsSystemWindows="true"
|
||||
android:background="@color/white"
|
||||
app:menu="@menu/menu_drawer_main"/>
|
||||
app:menu="@menu/menu_drawer_main"
|
||||
app:headerLayout="@layout/nav_header" />
|
||||
|
||||
</android.support.v4.widget.DrawerLayout>
|
||||
|
||||
</android.support.design.widget.CoordinatorLayout>
|
|
@ -1,39 +1,45 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="#FFFFFF">
|
||||
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="#FFFFFF"
|
||||
android:orientation="horizontal"
|
||||
android:id="@+id/main_content"
|
||||
android:fitsSystemWindows="true"
|
||||
android:orientation="vertical"
|
||||
android:paddingBottom="@dimen/activity_vertical_margin"
|
||||
android:paddingLeft="@dimen/activity_horizontal_margin"
|
||||
android:paddingRight="@dimen/activity_horizontal_margin"
|
||||
android:paddingTop="@dimen/activity_vertical_margin"
|
||||
tools:context=".AboutActivity"
|
||||
android:weightSum="2">
|
||||
android:weightSum="1"
|
||||
tools:context=".AboutActivity">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0px"
|
||||
android:layout_height="fill_parent"
|
||||
android:orientation="vertical"
|
||||
android:layout_weight="1">
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="0.36">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/barcodeLogo"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:adjustViewBounds="true"
|
||||
android:src="@drawable/privacyfriendlyappslogo" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/appName"
|
||||
android:layout_width="wrap_content"
|
||||
android:gravity="center"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="20dp"
|
||||
android:textSize="@dimen/text_size"
|
||||
android:layout_marginTop="15dp"
|
||||
android:text="@string/app_name_long" />
|
||||
|
||||
<TextView
|
||||
|
@ -41,8 +47,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="10dp"
|
||||
android:textSize="@dimen/text_size"
|
||||
android:layout_marginTop="5dp"
|
||||
android:text="@string/version_number" />
|
||||
|
||||
<TextView
|
||||
|
@ -50,50 +55,35 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="10dp"
|
||||
android:textSize="@dimen/text_size"
|
||||
android:layout_marginTop="5dp"
|
||||
android:text="@string/about_author" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textFieldAuthorNames"
|
||||
android:id="@+id/authornames"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:gravity="center"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="0dp"
|
||||
android:textSize="@dimen/text_size"
|
||||
android:text="@string/about_author_names"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:layout_marginTop="30dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:textSize="@dimen/text_size"
|
||||
android:text="@string/privacy_friendly"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0px"
|
||||
android:layout_height="fill_parent"
|
||||
android:orientation="vertical"
|
||||
android:layout_weight="1">
|
||||
android:text="@string/about_author_contributors"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textFieldAffiliation"
|
||||
android:layout_width="wrap_content"
|
||||
android:gravity="center"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:textSize="@dimen/text_size"
|
||||
android:layout_marginTop="15dp"
|
||||
android:text="@string/about_affiliation"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageView1"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:adjustViewBounds="true"
|
||||
android:src="@drawable/secuso_logo_blau_blau" />
|
||||
|
@ -102,21 +92,34 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:textSize="@dimen/text_size"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="@string/privacy_friendly" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="15dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/more_info" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/linkID"
|
||||
android:id="@+id/secusoWebsite"
|
||||
android:layout_width="wrap_content"
|
||||
android:gravity="center"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/url"
|
||||
android:textSize="@dimen/text_size"
|
||||
android:textStyle="bold"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:autoLink="web"/>
|
||||
android:text="@string/url"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/githubURL"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="@string/github"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/qqWing"
|
||||
|
@ -124,31 +127,16 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:textSize="@dimen/text_size"
|
||||
android:text="@string/about_qqwing"
|
||||
android:layout_gravity="center_horizontal"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="@dimen/text_size"
|
||||
android:text="@string/about_qqwingLink"
|
||||
android:gravity="center"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:autoLink="web"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
|
||||
<!--
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-->
|
||||
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
|
@ -1,30 +1,45 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="#FFFFFF">
|
||||
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="#FFFFFF"
|
||||
android:id="@+id/main_content"
|
||||
android:fitsSystemWindows="true"
|
||||
android:orientation="vertical"
|
||||
android:paddingBottom="@dimen/activity_vertical_margin"
|
||||
android:paddingLeft="@dimen/activity_horizontal_margin"
|
||||
android:paddingRight="@dimen/activity_horizontal_margin"
|
||||
android:paddingTop="@dimen/activity_vertical_margin"
|
||||
tools:context=".AboutActivity"
|
||||
android:weightSum="1">
|
||||
android:weightSum="1"
|
||||
tools:context=".AboutActivity">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.36">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/barcodeLogo"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:adjustViewBounds="true"
|
||||
android:src="@drawable/privacyfriendlyappslogo" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/appName"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginTop="15dp"
|
||||
android:text="@string/app_name_long" />
|
||||
|
||||
<TextView
|
||||
|
@ -32,7 +47,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:text="@string/version_number" />
|
||||
|
||||
<TextView
|
||||
|
@ -40,29 +55,35 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:text="@string/about_author" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textFieldAuthorNames"
|
||||
android:id="@+id/authornames"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="0dp"
|
||||
android:text="@string/about_author_names"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:text="@string/about_author_contributors"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textFieldAffiliation"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="30dp"
|
||||
android:layout_marginTop="15dp"
|
||||
android:text="@string/about_affiliation"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageView1"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:adjustViewBounds="true"
|
||||
android:src="@drawable/secuso_logo_blau_blau" />
|
||||
|
@ -70,34 +91,42 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="10dp"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="@string/privacy_friendly" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginTop="15dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/more_info" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/linkID"
|
||||
android:id="@+id/secusoWebsite"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/url"
|
||||
android:textStyle="bold"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:autoLink="web"/>
|
||||
android:text="@string/url"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/githubURL"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="@string/github"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/qqWing"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:gravity="center"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:text="@string/about_qqwing"
|
||||
android:layout_gravity="center_horizontal"/>
|
||||
|
||||
|
@ -109,3 +138,5 @@
|
|||
android:autoLink="web"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</ScrollView>
|
|
@ -1,4 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<android.support.v4.widget.DrawerLayout android:id="@+id/drawer_layout_main"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent"
|
||||
android:fitsSystemWindows="true"
|
||||
tools:openDrawer="start"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<android.support.design.widget.CoordinatorLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
|
@ -26,20 +35,14 @@
|
|||
|
||||
</android.support.design.widget.AppBarLayout>
|
||||
|
||||
<android.support.v4.widget.DrawerLayout
|
||||
android:id="@+id/drawer_layout_main"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_marginTop="?attr/actionBarSize"
|
||||
android:fitsSystemWindows="true"
|
||||
tools:openDrawer="start">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:weightSum="10"
|
||||
style="?android:buttonBarStyle">
|
||||
android:id="@+id/main_content"
|
||||
style="?android:buttonBarStyle"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
<RelativeLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="0dp"
|
||||
|
@ -78,11 +81,12 @@
|
|||
android:layout_centerVertical="true"
|
||||
android:onClick="onClick"/>
|
||||
</RelativeLayout>
|
||||
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_below="@+id/scroller"
|
||||
android:layout_below="@id/scroller"
|
||||
android:layout_weight="6"
|
||||
android:paddingLeft="@dimen/activity_horizontal_margin"
|
||||
android:paddingRight="@dimen/activity_horizontal_margin"
|
||||
|
@ -129,7 +133,7 @@
|
|||
android:textSize="@dimen/text_size"
|
||||
android:id="@+id/playButton"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_weight="3"
|
||||
android:layout_weight="2"
|
||||
android:onClick="onClick"
|
||||
android:capitalize="none"
|
||||
android:clickable="false"
|
||||
|
@ -148,18 +152,11 @@
|
|||
android:textSize="@dimen/text_size"
|
||||
android:id="@+id/continueButton"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_weight="3"
|
||||
android:layout_weight="2"
|
||||
android:onClick="onClick"
|
||||
android:capitalize="none"
|
||||
android:clickable="false"
|
||||
android:background="@drawable/standalone_button"/>
|
||||
|
||||
<Button
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Win Debug"
|
||||
android:visibility="invisible"
|
||||
android:onClick="callFragment"/>
|
||||
<!--
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
@ -230,14 +227,16 @@
|
|||
|
||||
</LinearLayout>
|
||||
|
||||
</android.support.design.widget.CoordinatorLayout>
|
||||
|
||||
<android.support.design.widget.NavigationView
|
||||
android:id="@+id/nav_view_main"
|
||||
android:layout_width="200dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="start"
|
||||
android:fitsSystemWindows="true"
|
||||
android:background="@color/white"
|
||||
app:menu="@menu/menu_drawer_main"/>
|
||||
app:menu="@menu/menu_drawer_main"
|
||||
app:headerLayout="@layout/nav_header" />
|
||||
|
||||
</android.support.v4.widget.DrawerLayout>
|
||||
|
||||
</android.support.design.widget.CoordinatorLayout>
|
|
@ -1,37 +1,45 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ScrollView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="match_parent"
|
||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="#FFFFFF">
|
||||
|
||||
<LinearLayout
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="#FFFFFF"
|
||||
android:id="@+id/main_content"
|
||||
android:fitsSystemWindows="true"
|
||||
android:orientation="vertical"
|
||||
android:isScrollContainer="true"
|
||||
android:paddingBottom="@dimen/activity_vertical_margin"
|
||||
android:paddingLeft="@dimen/activity_horizontal_margin"
|
||||
android:paddingRight="@dimen/activity_horizontal_margin"
|
||||
android:paddingTop="@dimen/activity_vertical_margin"
|
||||
android:gravity="center"
|
||||
android:weightSum="1"
|
||||
tools:context=".AboutActivity">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.36">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/barcodeLogo"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:adjustViewBounds="true"
|
||||
android:src="@drawable/privacyfriendlyappslogo" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/appName"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:gravity="center"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginTop="15dp"
|
||||
android:text="@string/app_name_long" />
|
||||
|
||||
<TextView
|
||||
|
@ -39,7 +47,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:text="@string/version_number" />
|
||||
|
||||
<TextView
|
||||
|
@ -47,30 +55,35 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:text="@string/about_author" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textFieldAuthorNames"
|
||||
android:id="@+id/authornames"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:gravity="center"
|
||||
android:layout_marginTop="0dp"
|
||||
android:text="@string/about_author_names"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:text="@string/about_author_contributors"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textFieldAffiliation"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="30dp"
|
||||
android:layout_marginTop="15dp"
|
||||
android:text="@string/about_affiliation"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageView1"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:adjustViewBounds="true"
|
||||
android:src="@drawable/secuso_logo_blau_blau" />
|
||||
|
@ -78,27 +91,35 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:gravity="center"
|
||||
android:layout_marginTop="10dp"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="@string/privacy_friendly" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginTop="15dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/more_info" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/linkID"
|
||||
android:id="@+id/secusoWebsite"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/url"
|
||||
android:textStyle="bold"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:autoLink="web"/>
|
||||
android:text="@string/url"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/githubURL"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="@string/github"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/qqWing"
|
||||
|
@ -117,4 +138,5 @@
|
|||
android:autoLink="web"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</ScrollView>
|
|
@ -1,4 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/drawer_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fitsSystemWindows="true"
|
||||
tools:openDrawer="start">
|
||||
|
||||
<android.support.design.widget.CoordinatorLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
|
@ -7,7 +15,6 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fitsSystemWindows="true"
|
||||
android:id="@+id/game_coordinate_layout"
|
||||
tools:context="tu_darmstadt.sudoku.activity.GameActivity">
|
||||
|
||||
<android.support.design.widget.AppBarLayout
|
||||
|
@ -68,26 +75,18 @@
|
|||
|
||||
</android.support.design.widget.AppBarLayout>
|
||||
|
||||
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/drawer_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="?attr/actionBarSize"
|
||||
android:fitsSystemWindows="true"
|
||||
tools:openDrawer="start">
|
||||
|
||||
<include layout="@layout/content_game_view" />
|
||||
|
||||
<android.support.design.widget.NavigationView android:id="@+id/nav_view"
|
||||
android:layout_width="200dp"
|
||||
</android.support.design.widget.CoordinatorLayout>
|
||||
|
||||
<android.support.design.widget.NavigationView
|
||||
android:id="@+id/nav_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:fitsSystemWindows="true"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="start"
|
||||
android:background="@color/white"
|
||||
app:menu="@menu/menu_drawer" />
|
||||
<!--app:headerLayout="@layout/nav_header_game_view"-->
|
||||
app:menu="@menu/menu_drawer"
|
||||
app:headerLayout="@layout/nav_header" />
|
||||
|
||||
</android.support.v4.widget.DrawerLayout>
|
||||
|
||||
</android.support.design.widget.CoordinatorLayout>
|
||||
|
|
13
app/src/main/res/layout/activity_help.xml
Normal file
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:id="@+id/main_content"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<fragment android:name="org.secuso.privacyfriendlysudoku.ui.HelpActivity$HelpFragment"
|
||||
android:id="@+id/help_fragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"/>
|
||||
|
||||
</LinearLayout>
|
|
@ -1,14 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
|
||||
android:paddingRight="@dimen/activity_horizontal_margin"
|
||||
android:paddingTop="@dimen/activity_vertical_margin"
|
||||
android:paddingBottom="@dimen/activity_vertical_margin"
|
||||
tools:context="tu_darmstadt.sudoku.ui.LoadGameActivity">
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<ListView
|
||||
android:id="@+id/load_game_list"
|
||||
android:id="@+id/main_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
|
|
|
@ -1,7 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<android.support.design.widget.CoordinatorLayout
|
||||
<android.support.v4.widget.DrawerLayout android:id="@+id/drawer_layout_main"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent"
|
||||
android:fitsSystemWindows="true"
|
||||
tools:openDrawer="start"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<android.support.design.widget.CoordinatorLayout
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:fitsSystemWindows="true"
|
||||
tools:context="tu_darmstadt.sudoku.ui.MainActivity"
|
||||
|
@ -26,20 +33,15 @@
|
|||
|
||||
</android.support.design.widget.AppBarLayout>
|
||||
|
||||
<android.support.v4.widget.DrawerLayout
|
||||
android:id="@+id/drawer_layout_main"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_marginTop="?attr/actionBarSize"
|
||||
android:fitsSystemWindows="true"
|
||||
tools:openDrawer="start">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:weightSum="10"
|
||||
style="?android:buttonBarStyle">
|
||||
android:id="@+id/main_content"
|
||||
style="?android:buttonBarStyle"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="0dp"
|
||||
|
@ -222,14 +224,16 @@
|
|||
|
||||
</LinearLayout>
|
||||
|
||||
</android.support.design.widget.CoordinatorLayout>
|
||||
|
||||
<android.support.design.widget.NavigationView
|
||||
android:id="@+id/nav_view_main"
|
||||
android:layout_width="200dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="start"
|
||||
android:fitsSystemWindows="true"
|
||||
android:background="@color/white"
|
||||
app:menu="@menu/menu_drawer_main"/>
|
||||
app:menu="@menu/menu_drawer_main"
|
||||
app:headerLayout="@layout/nav_header" />
|
||||
|
||||
</android.support.v4.widget.DrawerLayout>
|
||||
|
||||
</android.support.design.widget.CoordinatorLayout>
|
|
@ -2,9 +2,9 @@
|
|||
<android.support.design.widget.CoordinatorLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/main_content"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent" android:layout_height="match_parent"
|
||||
android:fitsSystemWindows="true" tools:context="tu_darmstadt.sudoku.ui.StatsActivity">
|
||||
android:fitsSystemWindows="true">
|
||||
|
||||
<android.support.design.widget.AppBarLayout android:id="@+id/appbar"
|
||||
android:layout_width="match_parent" android:layout_height="wrap_content"
|
||||
|
@ -22,7 +22,7 @@
|
|||
|
||||
</android.support.design.widget.AppBarLayout>
|
||||
|
||||
<android.support.v4.view.ViewPager android:id="@+id/container"
|
||||
<android.support.v4.view.ViewPager android:id="@+id/main_content"
|
||||
android:layout_width="fill_parent" android:layout_height="fill_parent"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
|
||||
|
||||
|
|
|
@ -4,12 +4,14 @@
|
|||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:id="@+id/main_content"
|
||||
android:paddingLeft="@dimen/activity_horizontal_margin"
|
||||
android:paddingRight="@dimen/activity_horizontal_margin"
|
||||
android:paddingTop="@dimen/activity_vertical_margin"
|
||||
android:paddingBottom="@dimen/activity_vertical_margin"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior"
|
||||
tools:context="tu_darmstadt.sudoku.activity.GameActivity">
|
||||
tools:context="org.secuso.privacyfriendlysudoku.ui.GameActivity">
|
||||
|
||||
<org.secuso.privacyfriendlysudoku.ui.view.SudokuFieldLayout
|
||||
android:id="@+id/sudokuLayout"
|
||||
android:layout_width="match_parent"
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="16dp"
|
||||
android:id="@+id/main_content"
|
||||
android:weightSum="10"
|
||||
android:orientation="horizontal">
|
||||
|
||||
|
|
40
app/src/main/res/layout/nav_header.xml
Normal file
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/nav_header_height"
|
||||
android:background="@drawable/nav_header"
|
||||
android:gravity="bottom"
|
||||
android:orientation="vertical"
|
||||
android:paddingBottom="@dimen/text_margin"
|
||||
android:paddingLeft="@dimen/text_margin"
|
||||
android:paddingRight="@dimen/text_margin"
|
||||
android:paddingTop="@dimen/text_margin"
|
||||
android:theme="@style/ThemeOverlay.AppCompat.Dark">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@mipmap/ic_launcher_nopfa"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingStart="@dimen/text_margin"
|
||||
android:paddingLeft="@dimen/text_margin"
|
||||
android:text="@string/Sudoku"
|
||||
android:textColor="@color/colorPrimaryDark"
|
||||
android:textSize="18sp"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_toRightOf="@+id/imageView"
|
||||
android:layout_toEndOf="@+id/imageView"/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</LinearLayout>
|
|
@ -1,27 +1,20 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<group android:id="@+id/group1">
|
||||
<item android:id="@+id/menu_reset" android:icon="@android:drawable/ic_menu_delete"
|
||||
android:title="@string/menu_reset" />
|
||||
</group>
|
||||
|
||||
<group android:id="@+id/group4">
|
||||
<item android:id="@+id/nav_newgame" android:icon="@android:drawable/ic_menu_today"
|
||||
android:title="@string/menu_main" />
|
||||
</group>
|
||||
<group android:id="@+id/group2">
|
||||
<item android:id="@+id/nav_highscore" android:icon="@android:drawable/ic_menu_myplaces"
|
||||
android:title="@string/menu_highscore" />
|
||||
</group>
|
||||
|
||||
<group android:id="@+id/group5">
|
||||
<item android:id="@+id/menu_settings" android:icon="@android:drawable/ic_menu_manage"
|
||||
android:title="@string/menu_settings" />
|
||||
</group>
|
||||
<group android:id="@+id/group3">
|
||||
<item android:id="@+id/menu_help" android:icon="@android:drawable/ic_menu_help"
|
||||
android:title="@string/menu_help" />
|
||||
</group>
|
||||
<group android:id="@+id/group6">
|
||||
<item android:id="@+id/menu_about" android:icon="@android:drawable/ic_menu_info_details"
|
||||
android:title="@string/menu_about" />
|
||||
</group>
|
||||
|
|
|
@ -1,18 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<group android:id="@+id/group1">
|
||||
<item android:id="@+id/nav_highscore_main" android:icon="@android:drawable/ic_menu_myplaces"
|
||||
android:title="@string/menu_highscore" />
|
||||
</group>
|
||||
|
||||
<group android:id="@+id/group2">
|
||||
<item android:id="@+id/menu_settings_main" android:icon="@android:drawable/ic_menu_manage"
|
||||
android:title="@string/menu_settings" />
|
||||
</group>
|
||||
<group android:id="@+id/group3">
|
||||
<item android:id="@+id/menu_help_main" android:icon="@android:drawable/ic_menu_help"
|
||||
android:title="@string/menu_help" />
|
||||
</group>
|
||||
<group android:id="@+id/group4">
|
||||
<item android:id="@+id/menu_about_main" android:icon="@android:drawable/ic_menu_info_details"
|
||||
android:title="@string/menu_about" />
|
||||
</group>
|
||||
|
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 5.4 KiB |
BIN
app/src/main/res/mipmap-hdpi/ic_launcher_nopfa.png
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
app/src/main/res/mipmap-ldpi/ic_launcher_nopfa.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 3.2 KiB |
BIN
app/src/main/res/mipmap-mdpi/ic_launcher_nopfa.png
Normal file
After Width: | Height: | Size: 3 KiB |
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 7.6 KiB |
BIN
app/src/main/res/mipmap-xhdpi/ic_launcher_nopfa.png
Normal file
After Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 12 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/ic_launcher_nopfa.png
Normal file
After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
BIN
app/src/main/res/mipmap-xxxhdpi/ic_launcher_nopfa.png
Normal file
After Width: | Height: | Size: 15 KiB |
|
@ -13,10 +13,11 @@
|
|||
<string name="title_activity_settings">Einstellungen</string>
|
||||
|
||||
<!-- About Page -->
|
||||
<string name="privacy_friendly">Diese App gehört zur Gruppe der Privacy Friendly Apps.</string>
|
||||
<string name="more_info">Mehr Informationen unter:</string>
|
||||
<string name="about_affiliation">In Zusammenarbeit mit:</string>
|
||||
<string name="about_author">Autor:</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>
|
||||
|
||||
<!-- ###GameDifficulty### -->
|
||||
<string name="difficulty_easy">Leicht</string>
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<resources>>
|
||||
|
||||
<style name="AppTheme.NoActionBar">
|
||||
<item name="windowActionBar">false</item>
|
||||
<item name="windowNoTitle">true</item>
|
||||
|
|
6
app/src/main/res/values-w820dp/dimens.xml
Normal file
|
@ -0,0 +1,6 @@
|
|||
<resources>
|
||||
<!-- Example customization of dimensions originally defined in res/values/dimens.xml
|
||||
(such as screen margins) for screens with more than 820dp of available width. This
|
||||
would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). -->
|
||||
<dimen name="activity_horizontal_margin">64dp</dimen>
|
||||
</resources>
|
8
app/src/main/res/values/drawables.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<resources xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item name="ic_menu_camera" type="drawable">@android:drawable/ic_menu_camera</item>
|
||||
<item name="ic_menu_gallery" type="drawable">@android:drawable/ic_menu_gallery</item>
|
||||
<item name="ic_menu_slideshow" type="drawable">@android:drawable/ic_menu_slideshow</item>
|
||||
<item name="ic_menu_manage" type="drawable">@android:drawable/ic_menu_manage</item>
|
||||
<item name="ic_menu_share" type="drawable">@android:drawable/ic_menu_share</item>
|
||||
<item name="ic_menu_send" type="drawable">@android:drawable/ic_menu_send</item>
|
||||
</resources>
|
|
@ -57,13 +57,15 @@
|
|||
|
||||
<!-- ###ABOUT### -->
|
||||
<string name="app_name_long" translatable="false">Privacy Friendly Sudoku</string>
|
||||
<string name="version_number" translatable="false">v1.0</string>
|
||||
<string name="version_number" translatable="false">v2.0</string>
|
||||
<string name="about_author">Author:</string>
|
||||
<string name="about_author_names" translatable="false">Christopher Beckmann,\nTimm Lippert</string>
|
||||
<string name="about_affiliation">In affiliation with:</string>
|
||||
<string name="privacy_friendly">This application belongs to the Privacy Friendly Apps.</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>
|
||||
<string name="privacy_friendly">This application belongs to the group of Privacy Friendly Apps developed by Technische Universität Darmstadt. Sourcecode licensed under GPLv3. Images copyright TU Darmstadt and Google Inc.</string>
|
||||
<string name="more_info">More information can be found on:</string>
|
||||
<string name="url" translatable="false"><a href="https://www.secuso.informatik.tu-darmstadt.de/en/research/results/">https://www.secuso.org</a></string>
|
||||
<string name="github" translatable="false"><a href="https://github.com/SecUSo/privacy-friendly-sudoku">Github-Repo</a></string>
|
||||
<string name="url" translatable="false"><a href="https://www.secuso.org/pfa">SECUSO-Website</a></string>
|
||||
<string name="about_qqwing">This application uses a modified version of QQWing v1.3.4</string>
|
||||
<string name="about_qqwingLink" translatable="false"><a href="http://qqwing.com/download.html">http://qqwing.com/</a></string>
|
||||
|
||||
|
@ -136,4 +138,6 @@
|
|||
<string name="help_privacyInfo">Privacy Info</string>
|
||||
<string name="help_permissions">Permissions</string>
|
||||
<string name="help_permissions_summary">Privacy Friendly Sudoku does not use any permissions.</string>
|
||||
|
||||
<string name="action_settings">Settings</string>
|
||||
</resources>
|
||||
|
|
|
@ -12,7 +12,9 @@
|
|||
<item name="windowActionBar">false</item>
|
||||
<item name="windowNoTitle">true</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
|
||||
|
||||
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
|
||||
|
||||
<style name="WinDialog">
|
||||
|
@ -55,12 +57,9 @@
|
|||
</style>
|
||||
|
||||
|
||||
|
||||
<!-- <style name="FontStyle">
|
||||
<item name="android:fontFamily"></item>
|
||||
</style> -->
|
||||
|
||||
|
||||
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -3,10 +3,14 @@
|
|||
<PreferenceCategory android:title="@string/help_keyboard">
|
||||
|
||||
<Preference android:title=""
|
||||
android:id="@+id/help1"
|
||||
android:key="help1"
|
||||
android:selectable="false"
|
||||
android:icon="@drawable/numfirst"
|
||||
android:summary="@string/help_keyhighlighted_summary"/>
|
||||
<Preference android:title=""
|
||||
android:id="@+id/help2"
|
||||
android:key="help2"
|
||||
android:selectable="false"
|
||||
android:icon="@drawable/numfull"
|
||||
android:summary="@string/help_keyhighlighted_yellow_summary"/>
|
||||
|
|
|
@ -5,7 +5,7 @@ buildscript {
|
|||
jcenter()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:1.5.0'
|
||||
classpath 'com.android.tools.build:gradle:2.2.0'
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
|
|
4
gradle/wrapper/gradle-wrapper.properties
vendored
|
@ -1,6 +1,6 @@
|
|||
#Fri Nov 06 14:34:10 CET 2015
|
||||
#Wed Oct 05 22:51:31 CEST 2016
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
|
||||
|
|