From d8d223b49ecc41f4d2d64fa5dcb96709c46f5cb4 Mon Sep 17 00:00:00 2001 From: gitknilch Date: Sat, 6 Apr 2013 21:01:21 +0200 Subject: [PATCH] fix stuff. Change-Id: I937e0af4470e8da785eeef2bf176c8ce8b59f5ca Signed-off-by: gitknilch --- src/de/cwde/freeshisen/ShisenSho.java | 20 ++--------------- src/de/cwde/freeshisen/ShisenShoActivity.java | 22 +++++++++++++++++++ src/de/cwde/freeshisen/ShisenShoView.java | 2 +- 3 files changed, 25 insertions(+), 19 deletions(-) diff --git a/src/de/cwde/freeshisen/ShisenSho.java b/src/de/cwde/freeshisen/ShisenSho.java index a1ee0eb..eb7aee3 100644 --- a/src/de/cwde/freeshisen/ShisenSho.java +++ b/src/de/cwde/freeshisen/ShisenSho.java @@ -1,8 +1,6 @@ package de.cwde.freeshisen; -import android.app.AlertDialog; import android.app.Application; -import android.content.DialogInterface; import android.content.SharedPreferences; import android.preference.PreferenceManager; import android.util.Log; @@ -21,6 +19,7 @@ public class ShisenSho extends Application { public boolean timeCounter=true; public void newPlay() { + loadOptions(); board = new Board(); board.buildRandomBoard(boardSize[0],boardSize[1],difficulty,gravity); } @@ -120,22 +119,7 @@ public class ShisenSho extends Application { } if (needsReset && (view != null) && (activity != null)) { - new AlertDialog.Builder(this) - .setTitle("Preferences changed!") // FIXME: hardcoded string - .setCancelable(true) - .setIcon(R.drawable.icon) - .setPositiveButton(android.R.string.yes, - new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - // User clicked OK button - reset game - ((ShisenSho) ((AlertDialog) dialog).getContext()).view.reset(); - } - }) - .setNegativeButton(android.R.string.no, null) - .setMessage("Changes in Preferences will only have an effect if" + - " a new game is started. Abort current game and start" + - " a new one?").create() // FIXME: hardcoded string - .show(); + activity.onOptionsChanged(); } else { Log.d("ShisenSho", "Preferences changed, but no view or activity online - huh?"); } diff --git a/src/de/cwde/freeshisen/ShisenShoActivity.java b/src/de/cwde/freeshisen/ShisenShoActivity.java index 311c7b1..0134ad7 100644 --- a/src/de/cwde/freeshisen/ShisenShoActivity.java +++ b/src/de/cwde/freeshisen/ShisenShoActivity.java @@ -2,6 +2,7 @@ package de.cwde.freeshisen; import android.app.Activity; import android.app.AlertDialog; +import android.content.DialogInterface; import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; @@ -120,4 +121,25 @@ public class ShisenShoActivity extends Activity { e.printStackTrace(); } } + + public void onOptionsChanged() + { + new AlertDialog.Builder(this) + .setTitle("Preferences changed!") // FIXME: hardcoded string + .setCancelable(true) + .setIcon(R.drawable.icon) + .setPositiveButton(android.R.string.yes, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + // User clicked OK button - reset game + view.reset(); + } + }) + .setNegativeButton(android.R.string.no, null) + .setMessage("Changes in Preferences will only have an effect if" + + " a new game is started. Abort current game and start" + + " a new one?") // FIXME: hardcoded string + .create() + .show(); + } } diff --git a/src/de/cwde/freeshisen/ShisenShoView.java b/src/de/cwde/freeshisen/ShisenShoView.java index 3dc6ff0..bf4ad9f 100644 --- a/src/de/cwde/freeshisen/ShisenShoView.java +++ b/src/de/cwde/freeshisen/ShisenShoView.java @@ -257,7 +257,7 @@ class ShisenShoView extends SurfaceView implements SurfaceHolder.Callback { try { if (canvas == null) canvas = surfaceHolder.lockCanvas(null); if (canvas == null) return; - if (cstate==StatePlay.UNINITIALIZED) initializeGame(); + if (cstate == StatePlay.UNINITIALIZED) initializeGame(); synchronized (surfaceHolder) { doDraw(canvas); } -- 2.39.5