Skip to content
This repository was archived by the owner on Feb 25, 2022. It is now read-only.

Commit 10d1487

Browse files
author
Hisanobu Tomari
committed
Eliminate rare corner cases which could result in errornous counter updates
1 parent f25e355 commit 10d1487

File tree

1 file changed

+11
-14
lines changed

1 file changed

+11
-14
lines changed

src/com/example/javabutton/MainActivity.java

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ public class MainActivity extends Activity implements SensorEventListener, OnSha
4949
protected void onCreate(Bundle savedInstanceState) {
5050
super.onCreate(savedInstanceState);
5151
setContentView(R.layout.activity_main);
52-
5352
random=new java.util.Random();
5453

5554
javaPool=new SoundPool(maxJavaSounds,AudioManager.STREAM_MUSIC,0);
@@ -63,9 +62,7 @@ protected void onCreate(Bundle savedInstanceState) {
6362
accelerometer= sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
6463

6564
PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
66-
SharedPreferences shrPrefs=PreferenceManager.getDefaultSharedPreferences(this);
67-
shrPrefs.registerOnSharedPreferenceChangeListener(this);
68-
}
65+
}
6966

7067
private void loadPreferences(SharedPreferences shrPrefs) {
7168
float density=getResources().getDisplayMetrics().density;
@@ -96,25 +93,25 @@ private void loadPreferences(SharedPreferences shrPrefs) {
9693

9794
enableLucky=shrPrefs.getBoolean("pref_lucky_enable", false);
9895
enableShakeModulation=shrPrefs.getBoolean("pref_shakeJava_modulation_enable", true);
99-
100-
resetCounters();
10196
}
10297
private void resetCounters() {
10398
counterPress=0l;
10499
counterDJ=0l;
105100
counterShake=0l;
106101
counterVoice=0l;
107102
}
108-
@Override
109-
protected void onResume() {
110-
super.onResume();
111-
sensorManager.registerListener(this, accelerometer, SensorManager.SENSOR_STATUS_ACCURACY_LOW);
103+
@Override
104+
protected void onResume() {
105+
super.onResume();
106+
resetCounters();
107+
sensorManager.registerListener(this, accelerometer, SensorManager.SENSOR_STATUS_ACCURACY_LOW);
112108
loadPreferences(PreferenceManager.getDefaultSharedPreferences(this));
113-
}
109+
PreferenceManager.getDefaultSharedPreferences(this).registerOnSharedPreferenceChangeListener(this);
110+
}
114111

115-
@Override
116-
protected void onPause() {
117-
sensorManager.unregisterListener(this);
112+
@Override
113+
protected void onPause() {
114+
sensorManager.unregisterListener(this);
118115
PreferenceManager.getDefaultSharedPreferences(this).unregisterOnSharedPreferenceChangeListener(this);
119116
saveCounters();
120117
super.onPause();

0 commit comments

Comments
 (0)