@@ -6,13 +6,10 @@ import android.os.Bundle
66import android.os.Handler
77import android.os.Looper
88import androidx.appcompat.app.AppCompatActivity
9- import androidx.fragment.app.Fragment
109
1110
1211class MainActivity : AppCompatActivity () {
1312 private var alarmSound = 0
14- private var settingsFrag: Fragment ? = null ;
15- private var timerFrag: Fragment ? = null ;
1613 private var playingSound = 0 ;
1714
1815 val attributes = AudioAttributes .Builder ()
@@ -33,34 +30,23 @@ class MainActivity : AppCompatActivity() {
3330 val activeTime = prefs.getInt(" activeTime" , 45 );
3431 val restTime = prefs.getInt(" restTime" , 15 );
3532
36- val ft = supportFragmentManager.beginTransaction();
37- settingsFrag = SettingsFragment .newInstance(activeTime, restTime);
38- ft.add(R .id.mainFrame, settingsFrag as Fragment );
39- ft.commit();
33+ if (savedInstanceState == null ) {
34+ supportFragmentManager.beginTransaction()
35+ .replace(R .id.mainFrame, SettingsFragment .newInstance(activeTime, restTime))
36+ .commit();
37+ }
4038 alarmSound = soundPool.load(this , R .raw.threesecbeep, 1 );
4139 }
4240
4341 fun startTimer (activeTime : Int , restTime : Int ) {
4442 savePreferences(activeTime, restTime);
45- val ft = supportFragmentManager.beginTransaction()
46- ft.hide(settingsFrag as Fragment );
47-
48- timerFrag = TimerFragment .newInstance(activeTime, restTime);
49- ft.add(R .id.mainFrame, timerFrag as Fragment )
50-
51- ft.commit()
52-
43+ supportFragmentManager.beginTransaction()
44+ .replace(R .id.mainFrame, TimerFragment .newInstance(activeTime, restTime))
45+ .addToBackStack(" start" ).commit()
5346 }
5447
5548 fun backToSettings () {
56- val ft = supportFragmentManager.beginTransaction()
57- if (timerFrag != null ) {
58- ft.remove(timerFrag as Fragment );
59- }
60-
61- ft.show(settingsFrag as Fragment )
62-
63- ft.commit()
49+ supportFragmentManager.popBackStack();
6450 }
6551
6652 fun savePreferences (activeTime : Int , restTime : Int ) {
0 commit comments