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;
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();
- PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
- }
-
+ @Override
+ public void onCreate() {
+ super.onCreate();
+ PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
+ setOptions();
+ }
+
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;
this.gravity = gravity;
needsReset = true;
}
-
+
if (timeCounter != this.timeCounter) {
this.timeCounter = timeCounter;
view.onTimeCounterActivate();
}
- if (needsReset) {
+ if (needsReset && (view != null)) {
view.reset();
}
}