Skip to content

Commit 52c9edb

Browse files
committed
Move state restoring to base code
1 parent 30bfe69 commit 52c9edb

File tree

5 files changed

+33
-35
lines changed

5 files changed

+33
-35
lines changed

app/src/main/java/cn/nekocode/gank/base/BaseActivity.kt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717
package cn.nekocode.gank.base
1818

1919
import android.annotation.SuppressLint
20+
import android.os.Bundle
2021
import androidx.appcompat.app.AppCompatActivity
22+
import com.evernote.android.state.StateSaver
2123
import com.uber.autodispose.*
2224
import com.uber.autodispose.android.lifecycle.AndroidLifecycleScopeProvider
2325
import io.reactivex.*
@@ -31,6 +33,16 @@ import io.reactivex.parallel.ParallelFlowable
3133
open class BaseActivity : AppCompatActivity() {
3234
private val scopeProvider by lazy { AndroidLifecycleScopeProvider.from(this) }
3335

36+
override fun onCreate(savedInstanceState: Bundle?) {
37+
super.onCreate(savedInstanceState)
38+
StateSaver.restoreInstanceState(this, savedInstanceState)
39+
}
40+
41+
override fun onSaveInstanceState(outState: Bundle) {
42+
super.onSaveInstanceState(outState)
43+
StateSaver.saveInstanceState(this, outState)
44+
}
45+
3446
/**
3547
* Modified from https://github.com/uber/AutoDispose
3648
*/

app/src/main/java/cn/nekocode/gank/base/BaseFragment.kt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package cn.nekocode.gank.base
22

3+
import android.os.Bundle
34
import androidx.fragment.app.Fragment
5+
import com.evernote.android.state.StateSaver
46
import com.uber.autodispose.*
57
import com.uber.autodispose.android.lifecycle.AndroidLifecycleScopeProvider
68
import io.reactivex.*
@@ -13,6 +15,16 @@ import io.reactivex.parallel.ParallelFlowable
1315
open class BaseFragment : Fragment() {
1416
private val scopeProvider by lazy { AndroidLifecycleScopeProvider.from(this) }
1517

18+
override fun onCreate(savedInstanceState: Bundle?) {
19+
super.onCreate(savedInstanceState)
20+
StateSaver.restoreInstanceState(this, savedInstanceState)
21+
}
22+
23+
override fun onSaveInstanceState(outState: Bundle) {
24+
super.onSaveInstanceState(outState)
25+
StateSaver.saveInstanceState(this, outState)
26+
}
27+
1628
/**
1729
* Modified from https://github.com/uber/AutoDispose
1830
*/

app/src/main/java/cn/nekocode/gank/ui/MainActivity.kt

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,27 +21,19 @@ import androidx.navigation.findNavController
2121
import androidx.navigation.ui.setupActionBarWithNavController
2222
import cn.nekocode.gank.R
2323
import cn.nekocode.gank.base.BaseActivity
24-
import com.evernote.android.state.StateSaver
2524

2625
/**
2726
* @author nekocode ([email protected])
2827
*/
2928
class MainActivity : BaseActivity() {
3029
override fun onCreate(savedInstanceState: Bundle?) {
3130
super.onCreate(savedInstanceState)
32-
StateSaver.restoreInstanceState(this, savedInstanceState)
33-
3431
setContentView(R.layout.activity_main)
3532

3633
val navController = findNavController(R.id.frag_nav_host)
3734
setupActionBarWithNavController(navController)
3835
}
3936

40-
override fun onSaveInstanceState(outState: Bundle) {
41-
super.onSaveInstanceState(outState)
42-
StateSaver.saveInstanceState(this, outState)
43-
}
44-
4537
override fun onSupportNavigateUp() =
4638
findNavController(R.id.frag_nav_host).navigateUp()
4739
}

app/src/main/java/cn/nekocode/gank/ui/home/HomeFragment.kt

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,20 +24,16 @@ import android.view.ViewGroup
2424
import androidx.navigation.fragment.findNavController
2525
import cn.nekocode.gank.R
2626
import cn.nekocode.gank.base.BaseFragment
27-
import com.evernote.android.state.StateSaver
2827
import kotlinx.android.synthetic.main.fragment_home.*
2928

3029
/**
3130
* @author nekocode ([email protected])
3231
*/
3332
class HomeFragment : BaseFragment() {
34-
override fun onCreate(savedInstanceState: Bundle?) {
35-
super.onCreate(savedInstanceState)
36-
StateSaver.restoreInstanceState(this, savedInstanceState)
37-
}
38-
39-
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
40-
savedInstanceState: Bundle?): View? {
33+
override fun onCreateView(
34+
inflater: LayoutInflater, container: ViewGroup?,
35+
savedInstanceState: Bundle?
36+
): View? {
4137
return inflater.inflate(R.layout.fragment_home, container, false)
4238
}
4339

@@ -49,9 +45,4 @@ class HomeFragment : BaseFragment() {
4945
findNavController().navigate(HomeFragmentDirections.actionHomeToPic())
5046
}
5147
}
52-
53-
override fun onSaveInstanceState(outState: Bundle) {
54-
super.onSaveInstanceState(outState)
55-
StateSaver.saveInstanceState(this, outState)
56-
}
5748
}

app/src/main/java/cn/nekocode/gank/ui/pic/PicFragment.kt

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,10 @@ import android.view.View
2222
import android.view.ViewGroup
2323
import android.widget.Toast
2424
import cn.nekocode.gank.R
25-
import cn.nekocode.gank.backend.model.MeiziPic
2625
import cn.nekocode.gank.apis
26+
import cn.nekocode.gank.backend.model.MeiziPic
2727
import cn.nekocode.gank.base.BaseFragment
2828
import com.evernote.android.state.State
29-
import com.evernote.android.state.StateSaver
3029
import com.squareup.picasso.Picasso
3130
import io.reactivex.Single
3231
import io.reactivex.android.schedulers.AndroidSchedulers
@@ -40,13 +39,10 @@ class PicFragment : BaseFragment() {
4039
@State
4140
var pic: MeiziPic? = null
4241

43-
override fun onCreate(savedInstanceState: Bundle?) {
44-
super.onCreate(savedInstanceState)
45-
StateSaver.restoreInstanceState(this, savedInstanceState)
46-
}
47-
48-
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
49-
savedInstanceState: Bundle?): View? {
42+
override fun onCreateView(
43+
inflater: LayoutInflater, container: ViewGroup?,
44+
savedInstanceState: Bundle?
45+
): View? {
5046
return inflater.inflate(R.layout.fragment_pic, container, false)
5147
}
5248

@@ -76,9 +72,4 @@ class PicFragment : BaseFragment() {
7672
Toast.makeText(requireActivity(), R.string.sth_went_wrong, Toast.LENGTH_SHORT).show()
7773
})
7874
}
79-
80-
override fun onSaveInstanceState(outState: Bundle) {
81-
super.onSaveInstanceState(outState)
82-
StateSaver.saveInstanceState(this, outState)
83-
}
8475
}

0 commit comments

Comments
 (0)