diff --git a/app/src/main/java/com/itsaky/androidide/activities/PreferencesActivity.java b/app/src/main/java/com/itsaky/androidide/activities/PreferencesActivity.java index a472f6b55..39d99a2d0 100755 --- a/app/src/main/java/com/itsaky/androidide/activities/PreferencesActivity.java +++ b/app/src/main/java/com/itsaky/androidide/activities/PreferencesActivity.java @@ -20,6 +20,7 @@ package com.itsaky.androidide.activities; import android.os.Bundle; import android.view.View; +import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; import com.itsaky.androidide.R; @@ -46,7 +47,11 @@ public class PreferencesActivity extends IDEActivity { getSupportActionBar().setDisplayHomeAsUpEnabled(true); binding.toolbar.setNavigationOnClickListener(v -> onBackPressed()); - + + if (savedInstanceState != null) { + return; + } + final var prefs = IDEPreferences.INSTANCE; prefs.getChildren().clear(); prefs.addPreference(new ConfigurationPreferences()); @@ -55,10 +60,12 @@ public class PreferencesActivity extends IDEActivity { final var args = new Bundle(); args.putParcelableArrayList( IDEPreferencesFragment.EXTRA_CHILDREN, new ArrayList<>(prefs.getChildren())); - getRootFragment().setArguments(args); - loadFragment(getRootFragment()); + + final var root = getRootFragment(); + root.setArguments(args); + loadFragment(root); } - + @Override protected View bindLayout() { binding = ActivityPreferencesBinding.inflate(getLayoutInflater()); diff --git a/app/src/main/res/layout/activity_preferences.xml b/app/src/main/res/layout/activity_preferences.xml index 8474e1380..7c702f689 100755 --- a/app/src/main/res/layout/activity_preferences.xml +++ b/app/src/main/res/layout/activity_preferences.xml @@ -21,16 +21,11 @@ - - - - - + app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior" /> diff --git a/common/src/main/java/com/itsaky/androidide/app/BaseIDEActivity.kt b/common/src/main/java/com/itsaky/androidide/app/BaseIDEActivity.kt index 0bcbffa9a..631aceea2 100755 --- a/common/src/main/java/com/itsaky/androidide/app/BaseIDEActivity.kt +++ b/common/src/main/java/com/itsaky/androidide/app/BaseIDEActivity.kt @@ -40,9 +40,9 @@ abstract class BaseIDEActivity : AppCompatActivity() { open val statusBarColor: Int get() = resolveAttr(R.attr.colorSurface) - fun loadFragment(fragment: Fragment?, id: Int) { + fun loadFragment(fragment: Fragment, id: Int) { val transaction = supportFragmentManager.beginTransaction() - transaction.replace(id, fragment!!) + transaction.replace(id, fragment) transaction.commit() } diff --git a/tests/test-home/.androidide/init/model.jar b/tests/test-home/.androidide/init/model.jar index 4442b5cae..50a935774 100644 Binary files a/tests/test-home/.androidide/init/model.jar and b/tests/test-home/.androidide/init/model.jar differ