X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/FreeShisen/blobdiff_plain/d0e04237b00df7c11616f359200255a8b47e79d7..655c3517046d22b1b630ed350ed18f8082383929:/src/de/cwde/shisensho/ShisenSho.java diff --git a/src/de/cwde/shisensho/ShisenSho.java b/src/de/cwde/shisensho/ShisenSho.java index 8fe7d30..fc23d47 100644 --- a/src/de/cwde/shisensho/ShisenSho.java +++ b/src/de/cwde/shisensho/ShisenSho.java @@ -1,17 +1,18 @@ package de.cwde.shisensho; import android.app.Application; -import android.os.Bundle; +import android.content.SharedPreferences; +import android.preference.PreferenceManager; import android.util.Log; public class ShisenSho extends Application { private static ShisenSho instance = null; private ShisenShoView view = null; public ShisenShoActivity activity = null; - + public Board board; public int[] boardSize=new int[2]; - public int difficulty=1; // 1=Hard, 2=Easy + public int difficulty=1; // 1=Easy, 2=Hard public int size=3; // 1=Small, 2=Medium, 3=Big public boolean gravity=true; public boolean timeCounter=true; @@ -56,44 +57,39 @@ public class ShisenSho extends Application { instance = this; setSize(size); } - + public static synchronized ShisenSho app() { return instance; } - + public ShisenShoView getView() { if (view == null) view = new ShisenShoView(this); return view; } - + /** Called when the activity is first created. */ - @Override - public void onCreate() { - super.onCreate(); - } - - public Bundle getOptions() { - Bundle options = new Bundle(); - options.putInt("size", size); - options.putInt("difficulty", difficulty); - options.putBoolean("gravity", gravity); - options.putBoolean("timeCounter", timeCounter); - return options; + @Override + public void onCreate() { + super.onCreate(); + PreferenceManager.setDefaultValues(this, R.xml.preferences, false); + setOptions(); } - public void setOptions(Bundle options) { - int size = options.getInt("size"); - int difficulty = options.getInt("difficulty"); - boolean gravity = options.getBoolean("gravity"); - boolean timeCounter = options.getBoolean("timeCounter"); + public void setOptions() { + SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this); + + int size = sharedPref.getInt("size", 1); + int difficulty = sharedPref.getInt("difficulty", 1); + boolean gravity = sharedPref.getBoolean("gravity", true); + boolean timeCounter = sharedPref.getBoolean("timeCounter", true); boolean needsReset = false; - + if (size != this.size) { setSize(size); needsReset = true; } - + if (difficulty != this.difficulty) { this.difficulty = difficulty; needsReset = true; @@ -103,13 +99,13 @@ public class ShisenSho extends Application { this.gravity = gravity; needsReset = true; } - + if (timeCounter != this.timeCounter) { this.timeCounter = timeCounter; view.onTimeCounterActivate(); } - if (needsReset) { + if (needsReset && (view != null)) { view.reset(); } }