diff --git a/lawnchair/res/drawable/ic_back.xml b/lawnchair/res/drawable/ic_back.xml
new file mode 100644
index 0000000000..eeb51e457e
--- /dev/null
+++ b/lawnchair/res/drawable/ic_back.xml
@@ -0,0 +1,14 @@
+
+
+
diff --git a/lawnchair/res/drawable/ic_general.xml b/lawnchair/res/drawable/ic_general.xml
new file mode 100644
index 0000000000..4154b0cf69
--- /dev/null
+++ b/lawnchair/res/drawable/ic_general.xml
@@ -0,0 +1,14 @@
+
+
+
diff --git a/lawnchair/res/drawable/ic_home_screen.xml b/lawnchair/res/drawable/ic_home_screen.xml
new file mode 100644
index 0000000000..638e242edc
--- /dev/null
+++ b/lawnchair/res/drawable/ic_home_screen.xml
@@ -0,0 +1,19 @@
+
+
+
+
diff --git a/lawnchair/res/xml/general_settings.xml b/lawnchair/res/xml/general_settings.xml
index 9b42a8bfec..9819459a04 100644
--- a/lawnchair/res/xml/general_settings.xml
+++ b/lawnchair/res/xml/general_settings.xml
@@ -7,7 +7,6 @@
android:key="pref_icon_badging"
android:title="@string/notification_dots_title"
android:persistent="false"
- app:iconSpaceReserved="false"
android:widgetLayout="@layout/notification_pref_warning" >
+ android:persistent="true" />
+ android:persistent="true" />
+ android:persistent="true" />
\ No newline at end of file
diff --git a/lawnchair/res/xml/settings.xml b/lawnchair/res/xml/settings.xml
index 36f08e5f59..a24fce9bd1 100644
--- a/lawnchair/res/xml/settings.xml
+++ b/lawnchair/res/xml/settings.xml
@@ -5,11 +5,13 @@
\ No newline at end of file
diff --git a/lawnchair/src/ch/deletescape/lawnchair/settings/SettingsActivity.kt b/lawnchair/src/ch/deletescape/lawnchair/settings/SettingsActivity.kt
index c11b30a495..dd74bb3b82 100644
--- a/lawnchair/src/ch/deletescape/lawnchair/settings/SettingsActivity.kt
+++ b/lawnchair/src/ch/deletescape/lawnchair/settings/SettingsActivity.kt
@@ -3,6 +3,7 @@ package ch.deletescape.lawnchair.settings
import android.os.Bundle
import android.view.View
import androidx.appcompat.app.AppCompatActivity
+import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.preference.Preference
@@ -12,9 +13,15 @@ import com.google.android.material.appbar.MaterialToolbar
class SettingsActivity : AppCompatActivity(), PreferenceFragmentCompat.OnPreferenceStartFragmentCallback {
private lateinit var topAppBar: MaterialToolbar
+ private val context = this
private val fragmentListener = object: FragmentManager.FragmentLifecycleCallbacks() {
override fun onFragmentViewCreated(fm: FragmentManager, fragment: Fragment, v: View, savedInstanceState: Bundle?) {
+ if (fragment !is SettingsFragment && topAppBar.navigationIcon == null) {
+ topAppBar.navigationIcon = ContextCompat.getDrawable(context, R.drawable.ic_back)
+ } else {
+ topAppBar.navigationIcon = null
+ }
topAppBar.title = (fragment as? TitledFragment)?.title
}
}
@@ -23,6 +30,9 @@ class SettingsActivity : AppCompatActivity(), PreferenceFragmentCompat.OnPrefere
super.onCreate(savedInstanceState)
setContentView(R.layout.settings_activity)
topAppBar = findViewById(R.id.top_app_bar)
+ topAppBar.setNavigationOnClickListener {
+ supportFragmentManager.popBackStack()
+ }
supportFragmentManager.registerFragmentLifecycleCallbacks(fragmentListener, false)
supportFragmentManager
.beginTransaction()