Updated to new design and fixed a timer issue.

This commit is contained in:
Christopher Beckmann 2016-10-15 22:17:18 +02:00
parent ce95048034
commit f9cb4be89b
55 changed files with 921 additions and 580 deletions

View file

@ -1 +1 @@
Sudoku
privacy-friendly-sudoku

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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'
}

View file

@ -1,45 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.secuso.privacyfriendlysudoku.ui.view" >
package="org.secuso.privacyfriendlysudoku.ui.view">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
android:theme="@style/AppTheme">
<activity
android:name="org.secuso.privacyfriendlysudoku.ui.MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar" >
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>

View file

@ -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 + ");");
}
}

View file

@ -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);

View file

@ -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);
}
}
}

View file

@ -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.
gameController.removeAllListeners();
gameController.setContextAndSettings(getApplicationContext(), sharedPref);
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,10 +227,21 @@ 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) {
gameController.startTimer();
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
gameController.startTimer();
}
}, MAIN_CONTENT_FADEIN_DURATION);
}
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
@ -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();
}
});

View file

@ -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.

View file

@ -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);

View file

@ -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);

View file

@ -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);
}
}
/**

View file

@ -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);
}

View file

@ -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");
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

@ -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"
android:orientation="horizontal"
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:background="#FFFFFF">
<LinearLayout
android:layout_width="0px"
android:layout_height="fill_parent"
<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:layout_weight="1">
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:weightSum="1"
tools:context=".AboutActivity">
<ImageView
android:id="@+id/barcodeLogo"
android:layout_width="fill_parent"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/privacyfriendlyappslogo" />
android:layout_weight="0.36">
<ImageView
android:id="@+id/barcodeLogo"
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" />
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:text="@string/more_info"/>
android:layout_marginTop="10dp"
android:gravity="center_horizontal"
android:text="@string/privacy_friendly" />
<TextView
android:id="@+id/linkID"
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:layout_marginTop="15dp"
android:gravity="center"
android:text="@string/more_info" />
<TextView
android:id="@+id/secusoWebsite"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
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>

View file

@ -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>
</android.support.v4.widget.DrawerLayout>

View file

@ -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"

View file

@ -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>

View file

@ -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"
android:orientation="horizontal"
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:background="#FFFFFF">
<LinearLayout
android:layout_width="0px"
android:layout_height="fill_parent"
<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:layout_weight="1">
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:weightSum="1"
tools:context=".AboutActivity">
<ImageView
android:id="@+id/barcodeLogo"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/privacyfriendlyappslogo" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.36">
<ImageView
android:id="@+id/barcodeLogo"
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" />
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:gravity="center"
android:text="@string/more_info"/>
android:layout_marginTop="10dp"
android:gravity="center_horizontal"
android:text="@string/privacy_friendly" />
<TextView
android:id="@+id/linkID"
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:layout_marginTop="15dp"
android:gravity="center"
android:text="@string/more_info" />
<TextView
android:id="@+id/secusoWebsite"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
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>

View file

@ -1,111 +1,142 @@
<?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"
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:background="#FFFFFF">
<ImageView
android:id="@+id/barcodeLogo"
android:layout_width="fill_parent"
<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:adjustViewBounds="true"
android:src="@drawable/privacyfriendlyappslogo" />
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"
android:weightSum="1"
tools:context=".AboutActivity">
<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:text="@string/app_name_long" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.36">
<TextView
android:id="@+id/textFieldVersion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10dp"
android:text="@string/version_number" />
<ImageView
android:id="@+id/barcodeLogo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/privacyfriendlyappslogo" />
<TextView
android:id="@+id/textFieldAuthor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10dp"
android:text="@string/about_author" />
</LinearLayout>
<TextView
android:id="@+id/textFieldAuthorNames"
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:id="@+id/appName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="15dp"
android:text="@string/app_name_long" />
<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:text="@string/about_affiliation"
android:textStyle="bold" />
<TextView
android:id="@+id/textFieldVersion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
android:text="@string/version_number" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/secuso_logo_blau_blau" />
<TextView
android:id="@+id/textFieldAuthor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
android:text="@string/about_author" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginTop="10dp"
android:layout_gravity="center_horizontal"
android:text="@string/privacy_friendly"/>
<TextView
android:id="@+id/authornames"
android:layout_marginTop="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="@string/about_author_names"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp"
android:text="@string/more_info"/>
<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/linkID"
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"/>
<TextView
android:id="@+id/textFieldAffiliation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="15dp"
android:text="@string/about_affiliation"
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:text="@string/about_qqwing"
android:layout_gravity="center_horizontal"/>
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/secuso_logo_blau_blau" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/about_qqwingLink"
android:layout_gravity="center_horizontal"
android:autoLink="web"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10dp"
android:gravity="center_horizontal"
android:text="@string/privacy_friendly" />
</LinearLayout>
<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/secusoWebsite"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
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:layout_height="wrap_content"
android:gravity="center"
android:text="@string/about_qqwing"
android:layout_gravity="center_horizontal"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/about_qqwingLink"
android:layout_gravity="center_horizontal"
android:autoLink="web"/>
</LinearLayout>
</ScrollView>

View file

@ -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>
</android.support.v4.widget.DrawerLayout>

View file

@ -1,120 +1,142 @@
<?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
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF"
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"
tools:context=".AboutActivity">
<ImageView
android:id="@+id/barcodeLogo"
android:layout_width="fill_parent"
<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:adjustViewBounds="true"
android:src="@drawable/privacyfriendlyappslogo" />
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"
android:weightSum="1"
tools:context=".AboutActivity">
<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:text="@string/app_name_long" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.36">
<TextView
android:id="@+id/textFieldVersion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10dp"
android:text="@string/version_number" />
<ImageView
android:id="@+id/barcodeLogo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/privacyfriendlyappslogo" />
<TextView
android:id="@+id/textFieldAuthor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10dp"
android:text="@string/about_author" />
</LinearLayout>
<TextView
android:id="@+id/textFieldAuthorNames"
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:id="@+id/appName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="15dp"
android:text="@string/app_name_long" />
<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:text="@string/about_affiliation"
android:textStyle="bold" />
<TextView
android:id="@+id/textFieldVersion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
android:text="@string/version_number" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/secuso_logo_blau_blau" />
<TextView
android:id="@+id/textFieldAuthor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
android:text="@string/about_author" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_gravity="center_horizontal"
android:gravity="center"
android:text="@string/privacy_friendly"/>
<TextView
android:id="@+id/authornames"
android:layout_marginTop="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="@string/about_author_names"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp"
android:gravity="center"
android:text="@string/more_info"/>
<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/linkID"
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"/>
<TextView
android:id="@+id/textFieldAffiliation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="15dp"
android:text="@string/about_affiliation"
android:textStyle="bold" />
<TextView
android:id="@+id/qqWing"
android:layout_marginTop="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/about_qqwing"
android:layout_gravity="center_horizontal"/>
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/secuso_logo_blau_blau" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/about_qqwingLink"
android:layout_gravity="center_horizontal"
android:autoLink="web"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
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:layout_gravity="center_horizontal"
android:layout_marginTop="15dp"
android:gravity="center"
android:text="@string/more_info" />
<TextView
android:id="@+id/secusoWebsite"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
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:layout_height="wrap_content"
android:gravity="center"
android:text="@string/about_qqwing"
android:layout_gravity="center_horizontal"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/about_qqwingLink"
android:layout_gravity="center_horizontal"
android:autoLink="web"/>
</LinearLayout>
</LinearLayout>
</ScrollView>

View file

@ -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:layout_height="match_parent"
android:layout_gravity="start"
android:background="@color/white"
app:menu="@menu/menu_drawer" />
<!--app:headerLayout="@layout/nav_header_game_view"-->
</android.support.v4.widget.DrawerLayout>
<include layout="@layout/content_game_view" />
</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" />
</android.support.v4.widget.DrawerLayout>

View 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>

View file

@ -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">

View file

@ -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>
</android.support.v4.widget.DrawerLayout>

View file

@ -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" />

View file

@ -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"

View file

@ -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">

View 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>

View file

@ -1,27 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_reset" android:icon="@android:drawable/ic_menu_delete"
android:title="@string/menu_reset" />
<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>

View file

@ -1,19 +1,14 @@
<?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>
<item android:id="@+id/nav_highscore_main" android:icon="@android:drawable/ic_menu_myplaces"
android:title="@string/menu_highscore" />
<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" />
android:title="@string/menu_settings" />
<item android:id="@+id/menu_help_main" android:icon="@android:drawable/ic_menu_help"
android:title="@string/menu_help" />
<item android:id="@+id/menu_about_main" android:icon="@android:drawable/ic_menu_info_details"
android:title="@string/menu_about" />
</group>
</menu>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -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>

View file

@ -1,4 +1,5 @@
<resources>>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>

View 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>

View 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>

View file

@ -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>
@ -87,7 +89,7 @@
<string name="reset_confirmation_confirm">Reset</string>
<!-- ### Welcome Dialog ### -->
<string name="welcome">Welcome to Privacy Friendly Sudoku. </string>
<string name="welcome">Welcome to Privacy Friendly Sudoku.</string>
<string name="field_select_description">Swipe or press the arrow buttons on the left and right to change the game mode.</string>
<string name="field_select_description_headline">Game mode:</string>
<string name="difficulty_description">Press or swipe the stars to change the difficulty.</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>

View file

@ -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>

View file

@ -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"/>

View file

@ -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

View file

@ -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