Skip to content

Commit 0c6d842

Browse files
committed
fix: crash in PreferencesActivity when changing app theme
1 parent 9d2bc54 commit 0c6d842

File tree

1 file changed

+26
-27
lines changed

1 file changed

+26
-27
lines changed

core/app/src/main/java/com/itsaky/androidide/activities/PreferencesActivity.kt

Lines changed: 26 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,21 @@ import com.itsaky.androidide.R
2424
import com.itsaky.androidide.app.EdgeToEdgeIDEActivity
2525
import com.itsaky.androidide.databinding.ActivityPreferencesBinding
2626
import com.itsaky.androidide.fragments.IDEPreferencesFragment
27-
import com.itsaky.androidide.preferences.addRootPreferences
2827
import com.itsaky.androidide.preferences.IDEPreferences as prefs
28+
import com.itsaky.androidide.preferences.addRootPreferences
2929

3030
class PreferencesActivity : EdgeToEdgeIDEActivity() {
3131

3232
private var _binding: ActivityPreferencesBinding? = null
3333
private val binding: ActivityPreferencesBinding
3434
get() = checkNotNull(_binding) { "Activity has been destroyed" }
3535

36-
private val rootFragment by lazy {
37-
IDEPreferencesFragment()
36+
private val rootFragment by lazy { IDEPreferencesFragment() }
37+
38+
override fun bindLayout(): View {
39+
return ActivityPreferencesBinding.inflate(layoutInflater)
40+
.also { _binding = it }
41+
.root
3842
}
3943

4044
override fun onCreate(savedInstanceState: Bundle?) {
@@ -44,7 +48,9 @@ class PreferencesActivity : EdgeToEdgeIDEActivity() {
4448
supportActionBar!!.setTitle(R.string.ide_preferences)
4549
supportActionBar!!.setDisplayHomeAsUpEnabled(true)
4650

47-
binding.toolbar.setNavigationOnClickListener { onBackPressedDispatcher.onBackPressed() }
51+
binding.toolbar.setNavigationOnClickListener {
52+
onBackPressedDispatcher.onBackPressed()
53+
}
4854

4955
if (savedInstanceState != null) {
5056
return
@@ -57,36 +63,29 @@ class PreferencesActivity : EdgeToEdgeIDEActivity() {
5763
val args = Bundle()
5864
args.putParcelableArrayList(
5965
IDEPreferencesFragment.EXTRA_CHILDREN,
60-
ArrayList(prefs.children)
66+
ArrayList(prefs.children),
6167
)
6268

6369
rootFragment.arguments = args
6470
loadFragment(rootFragment)
6571
}
6672

6773
override fun onApplySystemBarInsets(insets: Insets) {
68-
val toolbar: View = binding.toolbar
69-
toolbar.setPadding(
70-
toolbar.paddingLeft + insets.left,
71-
toolbar.paddingTop,
72-
toolbar.paddingRight + insets.right,
73-
toolbar.paddingBottom
74-
)
75-
76-
val fragmentContainer: View = binding.fragmentContainerParent
77-
fragmentContainer.setPadding(
78-
fragmentContainer.paddingLeft + insets.left,
79-
fragmentContainer.paddingTop,
80-
fragmentContainer.paddingRight + insets.right,
81-
fragmentContainer.paddingBottom
82-
)
83-
}
84-
85-
override fun bindLayout(): View {
86-
_binding = ActivityPreferencesBinding.inflate(
87-
layoutInflater
88-
)
89-
return binding.root
74+
_binding?.apply {
75+
toolbar.setPadding(
76+
toolbar.paddingLeft + insets.left,
77+
toolbar.paddingTop,
78+
toolbar.paddingRight + insets.right,
79+
toolbar.paddingBottom,
80+
)
81+
82+
fragmentContainer.setPadding(
83+
fragmentContainer.paddingLeft + insets.left,
84+
fragmentContainer.paddingTop,
85+
fragmentContainer.paddingRight + insets.right,
86+
fragmentContainer.paddingBottom,
87+
)
88+
}
9089
}
9190

9291
private fun loadFragment(fragment: Fragment) {

0 commit comments

Comments
 (0)