Skip to content

Commit 3129a06

Browse files
committed
refactor: update edge-to-edge implementation
1 parent f7d9051 commit 3129a06

16 files changed

+114
-101
lines changed

app/src/main/kotlin/org/fossify/filemanager/activities/DecompressActivity.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@ class DecompressActivity : SimpleActivity() {
4949
setContentView(binding.root)
5050
setupOptionsMenu()
5151
binding.apply {
52-
updateEdgeToEdge(topAppBar = decompressToolbar, scrollingView = decompressList)
53-
setupMaterialScrollListener(decompressList, decompressToolbar)
52+
setupEdgeToEdge(padBottomSystem = listOf(decompressList))
53+
setupMaterialScrollListener(binding.decompressList, binding.decompressAppbar)
5454
}
5555

5656
uri = intent.data
@@ -69,7 +69,7 @@ class DecompressActivity : SimpleActivity() {
6969

7070
override fun onResume() {
7171
super.onResume()
72-
setupTopAppBar(binding.decompressToolbar, NavigationIcon.Arrow)
72+
setupTopAppBar(binding.decompressAppbar, NavigationIcon.Arrow)
7373
}
7474

7575
override fun onSaveInstanceState(outState: Bundle) {

app/src/main/kotlin/org/fossify/filemanager/activities/FavoritesActivity.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ class FavoritesActivity : SimpleActivity(), RefreshRecyclerViewListener {
2323
setupOptionsMenu()
2424
updateFavorites()
2525
binding.apply {
26-
updateEdgeToEdge(topAppBar = manageFavoritesToolbar, scrollingView = manageFavoritesList)
27-
setupMaterialScrollListener(manageFavoritesList, manageFavoritesToolbar)
26+
setupEdgeToEdge(padBottomSystem = listOf(manageFavoritesList))
27+
setupMaterialScrollListener(binding.manageFavoritesList, binding.manageFavoritesAppbar)
2828
}
2929
}
3030

3131
override fun onResume() {
3232
super.onResume()
33-
setupTopAppBar(binding.manageFavoritesToolbar, NavigationIcon.Arrow)
33+
setupTopAppBar(binding.manageFavoritesAppbar, NavigationIcon.Arrow)
3434
}
3535

3636
private fun setupOptionsMenu() {

app/src/main/kotlin/org/fossify/filemanager/activities/MainActivity.kt

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -110,10 +110,7 @@ class MainActivity : SimpleActivity() {
110110
storeStateVariables()
111111
setupTabs()
112112

113-
updateEdgeToEdge(
114-
topAppBar = binding.mainMenu.getToolbar(),
115-
bottomBar = binding.mainTabsHolder
116-
)
113+
setupEdgeToEdge(padBottomImeAndSystem = listOf(binding.mainTabsHolder))
117114

118115
if (savedInstanceState == null) {
119116
config.temporarilyShowHidden = false
@@ -193,7 +190,7 @@ class MainActivity : SimpleActivity() {
193190
val currentViewType = config.getFolderViewType(currentFragment.currentPath)
194191
val favorites = config.favorites
195192

196-
binding.mainMenu.getToolbar().menu.apply {
193+
binding.mainMenu.requireToolbar().menu.apply {
197194
findItem(R.id.sort).isVisible = currentFragment is ItemsFragment
198195
findItem(R.id.change_view_type).isVisible = currentFragment !is StorageFragment
199196

@@ -218,7 +215,7 @@ class MainActivity : SimpleActivity() {
218215

219216
private fun setupOptionsMenu() {
220217
binding.mainMenu.apply {
221-
getToolbar().inflateMenu(R.menu.menu)
218+
requireToolbar().inflateMenu(R.menu.menu)
222219
toggleHideOnScroll(false)
223220
setupMenu()
224221

@@ -232,7 +229,7 @@ class MainActivity : SimpleActivity() {
232229
getCurrentFragment()?.searchQueryChanged(text)
233230
}
234231

235-
getToolbar().setOnMenuItemClickListener { menuItem ->
232+
requireToolbar().setOnMenuItemClickListener { menuItem ->
236233
if (getCurrentFragment() == null) {
237234
return@setOnMenuItemClickListener true
238235
}

app/src/main/kotlin/org/fossify/filemanager/activities/MimeTypesActivity.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@ class MimeTypesActivity : SimpleActivity(), ItemOperationsListener {
4949
setupOptionsMenu()
5050
refreshMenuItems()
5151
binding.apply {
52-
updateEdgeToEdge(topAppBar = mimetypesToolbar, scrollingView = mimetypesList)
53-
setupMaterialScrollListener(mimetypesList, mimetypesToolbar)
52+
setupEdgeToEdge(padBottomSystem = listOf(mimetypesList))
53+
setupMaterialScrollListener(binding.mimetypesList, binding.mimetypesAppbar)
5454
}
5555

5656
currentMimeType = intent.getStringExtra(SHOW_MIMETYPE) ?: return
@@ -84,7 +84,7 @@ class MimeTypesActivity : SimpleActivity(), ItemOperationsListener {
8484

8585
override fun onResume() {
8686
super.onResume()
87-
setupTopAppBar(binding.mimetypesToolbar, NavigationIcon.Arrow, searchMenuItem = searchMenuItem)
87+
setupTopAppBar(binding.mimetypesAppbar, NavigationIcon.Arrow, searchMenuItem = searchMenuItem)
8888
}
8989

9090
private fun refreshMenuItems() {

app/src/main/kotlin/org/fossify/filemanager/activities/ReadTextActivity.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ class ReadTextActivity : SimpleActivity() {
5555
setContentView(binding.root)
5656
setupOptionsMenu()
5757
binding.apply {
58-
updateEdgeToEdge(topAppBar = readTextToolbar, scrollingView = readTextView)
59-
setupMaterialScrollListener(readTextHolder, readTextToolbar)
58+
setupEdgeToEdge(padBottomImeAndSystem = listOf(readTextView))
59+
setupMaterialScrollListener(binding.readTextHolder, binding.readTextAppbar)
6060
}
6161

6262
searchQueryET = findViewById(R.id.search_query)
@@ -95,7 +95,7 @@ class ReadTextActivity : SimpleActivity() {
9595

9696
override fun onResume() {
9797
super.onResume()
98-
setupTopAppBar(binding.readTextToolbar, NavigationIcon.Arrow)
98+
setupTopAppBar(binding.readTextAppbar, NavigationIcon.Arrow)
9999
}
100100

101101
override fun onSaveInstanceState(outState: Bundle) {

app/src/main/kotlin/org/fossify/filemanager/activities/SaveAsActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ class SaveAsActivity : SimpleActivity() {
7979

8080
override fun onResume() {
8181
super.onResume()
82-
setupTopAppBar(binding.activitySaveAsToolbar, NavigationIcon.Arrow)
82+
setupTopAppBar(binding.activitySaveAsAppbar, NavigationIcon.Arrow)
8383
}
8484

8585
private fun sanitizeFilename(filename: String): String {

app/src/main/kotlin/org/fossify/filemanager/activities/SettingsActivity.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,14 @@ class SettingsActivity : SimpleActivity() {
2424
super.onCreate(savedInstanceState)
2525
setContentView(binding.root)
2626
binding.apply {
27-
updateEdgeToEdge(topAppBar = settingsToolbar, scrollingView = settingsNestedScrollview)
28-
setupMaterialScrollListener(settingsNestedScrollview, settingsToolbar)
27+
setupEdgeToEdge(padBottomSystem = listOf(settingsNestedScrollview))
28+
setupMaterialScrollListener(binding.settingsNestedScrollview, binding.settingsAppbar)
2929
}
3030
}
3131

3232
override fun onResume() {
3333
super.onResume()
34-
setupTopAppBar(binding.settingsToolbar, NavigationIcon.Arrow)
34+
setupTopAppBar(binding.settingsAppbar, NavigationIcon.Arrow)
3535

3636
setupCustomizeColors()
3737
setupUseEnglish()

app/src/main/kotlin/org/fossify/filemanager/extensions/Activity.kt

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ package org.fossify.filemanager.extensions
22

33
import android.app.Activity
44
import android.content.Intent
5-
import android.view.View
6-
import androidx.appcompat.app.AppCompatActivity
75
import androidx.core.content.FileProvider
86
import org.fossify.commons.activities.BaseSimpleActivity
97
import org.fossify.commons.extensions.getFilenameFromPath
@@ -85,27 +83,3 @@ fun BaseSimpleActivity.toggleItemVisibility(oldPath: String, hide: Boolean, call
8583
}
8684
}
8785
}
88-
89-
fun AppCompatActivity.showSystemUI(toggleActionBarVisibility: Boolean) {
90-
if (toggleActionBarVisibility) {
91-
supportActionBar?.show()
92-
}
93-
94-
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_STABLE or
95-
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or
96-
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
97-
}
98-
99-
fun AppCompatActivity.hideSystemUI(toggleActionBarVisibility: Boolean) {
100-
if (toggleActionBarVisibility) {
101-
supportActionBar?.hide()
102-
}
103-
104-
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_STABLE or
105-
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or
106-
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or
107-
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or
108-
View.SYSTEM_UI_FLAG_LOW_PROFILE or
109-
View.SYSTEM_UI_FLAG_FULLSCREEN or
110-
View.SYSTEM_UI_FLAG_IMMERSIVE
111-
}

app/src/main/res/layout/activity_decompress.xml

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,29 @@
55
android:layout_width="match_parent"
66
android:layout_height="match_parent">
77

8-
<com.google.android.material.appbar.MaterialToolbar
9-
android:id="@+id/decompress_toolbar"
8+
<org.fossify.commons.views.MyAppBarLayout
9+
android:id="@+id/decompress_appbar"
1010
android:layout_width="match_parent"
11-
android:layout_height="?attr/actionBarSize"
12-
android:background="@color/color_primary"
13-
app:menu="@menu/menu_decompress"
14-
app:title="@string/decompress"
15-
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
11+
android:layout_height="wrap_content">
12+
13+
<com.google.android.material.appbar.MaterialToolbar
14+
android:id="@+id/decompress_toolbar"
15+
android:layout_width="match_parent"
16+
android:layout_height="?attr/actionBarSize"
17+
android:background="@color/color_primary"
18+
app:menu="@menu/menu_decompress"
19+
app:title="@string/decompress"
20+
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
21+
22+
</org.fossify.commons.views.MyAppBarLayout>
1623

1724
<RelativeLayout
1825
android:id="@+id/decompress_wrapper"
1926
android:layout_width="match_parent"
2027
android:layout_height="wrap_content"
21-
android:layout_marginTop="?attr/actionBarSize"
2228
android:fillViewport="true"
23-
android:scrollbars="none">
29+
android:scrollbars="none"
30+
app:layout_behavior="@string/appbar_scrolling_view_behavior">
2431

2532
<org.fossify.commons.views.MyRecyclerView
2633
android:id="@+id/decompress_list"

app/src/main/res/layout/activity_favorites.xml

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,29 @@
66
android:layout_width="match_parent"
77
android:layout_height="match_parent">
88

9-
<com.google.android.material.appbar.MaterialToolbar
10-
android:id="@+id/manage_favorites_toolbar"
9+
<org.fossify.commons.views.MyAppBarLayout
10+
android:id="@+id/manage_favorites_appbar"
1111
android:layout_width="match_parent"
12-
android:layout_height="?attr/actionBarSize"
13-
android:background="@color/color_primary"
14-
app:menu="@menu/menu_favorites"
15-
app:title="@string/manage_favorites"
16-
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
12+
android:layout_height="wrap_content">
13+
14+
<com.google.android.material.appbar.MaterialToolbar
15+
android:id="@+id/manage_favorites_toolbar"
16+
android:layout_width="match_parent"
17+
android:layout_height="?attr/actionBarSize"
18+
android:background="@color/color_primary"
19+
app:menu="@menu/menu_favorites"
20+
app:title="@string/manage_favorites"
21+
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
22+
23+
</org.fossify.commons.views.MyAppBarLayout>
1724

1825
<RelativeLayout
1926
android:id="@+id/manage_favorites_holder"
2027
android:layout_width="match_parent"
2128
android:layout_height="wrap_content"
22-
android:layout_marginTop="?attr/actionBarSize"
2329
android:fillViewport="true"
24-
android:scrollbars="none">
30+
android:scrollbars="none"
31+
app:layout_behavior="@string/appbar_scrolling_view_behavior">
2532

2633
<org.fossify.commons.views.MyRecyclerView
2734
android:id="@+id/manage_favorites_list"

0 commit comments

Comments
 (0)