Skip to content

Commit 8d1f1f5

Browse files
committed
refactor: update edge-to-edge implementation
1 parent 54bbf91 commit 8d1f1f5

File tree

13 files changed

+88
-66
lines changed

13 files changed

+88
-66
lines changed

app/src/main/kotlin/org/fossify/phone/activities/CallActivity.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,11 @@ class CallActivity : SimpleActivity() {
7575
return
7676
}
7777

78+
setupEdgeToEdge(
79+
padTopSystem = listOf(binding.callHolder),
80+
padBottomSystem = listOf(binding.callHolder),
81+
)
82+
7883
updateTextColors(binding.callHolder)
7984
initButtons()
8085
audioManager.mode = AudioManager.MODE_IN_CALL
@@ -91,11 +96,6 @@ class CallActivity : SimpleActivity() {
9196
override fun onResume() {
9297
super.onResume()
9398
updateState()
94-
updateNavigationBarColor(getProperBackgroundColor())
95-
96-
if (isDynamicTheme()) {
97-
updateStatusbarColor(getProperBackgroundColor())
98-
}
9999
}
100100

101101
override fun onDestroy() {

app/src/main/kotlin/org/fossify/phone/activities/ConferenceActivity.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ class ConferenceActivity : SimpleActivity() {
1414
super.onCreate(savedInstanceState)
1515
setContentView(binding.root)
1616
binding.apply {
17-
updateEdgeToEdge(topAppBar = conferenceToolbar, scrollingView = conferenceList)
18-
setupMaterialScrollListener(conferenceList, conferenceToolbar)
17+
setupEdgeToEdge(padBottomSystem = listOf(conferenceList))
18+
setupMaterialScrollListener(binding.conferenceList, binding.conferenceAppbar)
1919
conferenceList.adapter = ConferenceCallsAdapter(this@ConferenceActivity, conferenceList, ArrayList(CallManager.getConferenceCalls())) {}
2020
}
2121
}
2222

2323
override fun onResume() {
2424
super.onResume()
25-
setupTopAppBar(binding.conferenceToolbar, NavigationIcon.Arrow)
25+
setupTopAppBar(binding.conferenceAppbar, NavigationIcon.Arrow)
2626
}
2727
}

app/src/main/kotlin/org/fossify/phone/activities/DialpadActivity.kt

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -98,15 +98,12 @@ class DialpadActivity : SimpleActivity() {
9898
hasRussianLocale = Locale.getDefault().language == "ru"
9999

100100
binding.apply {
101-
updateEdgeToEdge(
102-
topAppBar = dialpadToolbar,
103-
scrollingView = dialpadList,
101+
setupEdgeToEdge(
102+
padBottomImeAndSystem = listOf(dialpadList, dialpadHolder)
104103
)
105-
setupMaterialScrollListener(dialpadList, dialpadToolbar)
104+
setupMaterialScrollListener(binding.dialpadList, binding.dialpadAppbar)
106105
}
107106

108-
updateNavigationBarColor(getProperBackgroundColor())
109-
110107
if (checkAppSideloading()) {
111108
return
112109
}
@@ -229,8 +226,7 @@ class DialpadActivity : SimpleActivity() {
229226
super.onResume()
230227
updateTextColors(binding.dialpadHolder)
231228
binding.dialpadClearChar.applyColorFilter(getProperTextColor())
232-
updateNavigationBarColor(getProperBackgroundColor())
233-
setupTopAppBar(binding.dialpadToolbar, NavigationIcon.Arrow)
229+
setupTopAppBar(binding.dialpadAppbar, NavigationIcon.Arrow)
234230
}
235231

236232
private fun setupOptionsMenu() {

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

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ class MainActivity : SimpleActivity() {
6464
appLaunched(BuildConfig.APPLICATION_ID)
6565
setupOptionsMenu()
6666
refreshMenuItems()
67-
updateEdgeToEdge(topAppBar = binding.mainSearchMenu.getToolbar())
67+
setupEdgeToEdge(padBottomImeAndSystem = listOf(binding.mainTabsHolder))
6868

6969
EventBus.getDefault().register(this)
7070
launchedDialer = savedInstanceState?.getBoolean(OPEN_DIAL_PAD_AT_LAUNCH) ?: false
@@ -189,7 +189,7 @@ class MainActivity : SimpleActivity() {
189189

190190
private fun refreshMenuItems() {
191191
val currentFragment = getCurrentFragment()
192-
binding.mainMenu.getToolbar().menu.apply {
192+
binding.mainMenu.requireToolbar().menu.apply {
193193
findItem(R.id.clear_call_history).isVisible = currentFragment == getRecentsFragment()
194194
findItem(R.id.sort).isVisible = currentFragment != getRecentsFragment()
195195
findItem(R.id.filter).isVisible = currentFragment != getRecentsFragment()
@@ -202,7 +202,7 @@ class MainActivity : SimpleActivity() {
202202

203203
private fun setupOptionsMenu() {
204204
binding.mainMenu.apply {
205-
getToolbar().inflateMenu(R.menu.menu)
205+
requireToolbar().inflateMenu(R.menu.menu)
206206
toggleHideOnScroll(false)
207207
setupMenu()
208208

@@ -216,7 +216,7 @@ class MainActivity : SimpleActivity() {
216216
getCurrentFragment()?.onSearchQueryChanged(text)
217217
}
218218

219-
getToolbar().setOnMenuItemClickListener { menuItem ->
219+
requireToolbar().setOnMenuItemClickListener { menuItem ->
220220
when (menuItem.itemId) {
221221
R.id.clear_call_history -> clearCallHistory()
222222
R.id.create_new_contact -> launchCreateNewContactIntent()
@@ -258,7 +258,6 @@ class MainActivity : SimpleActivity() {
258258
}
259259

260260
private fun updateMenuColors() {
261-
updateStatusbarColor(getProperBackgroundColor())
262261
binding.mainMenu.updateColors()
263262
}
264263

@@ -321,7 +320,6 @@ class MainActivity : SimpleActivity() {
321320

322321
val bottomBarColor = getBottomNavigationBackgroundColor()
323322
binding.mainTabsHolder.setBackgroundColor(bottomBarColor)
324-
updateNavigationBarColor(bottomBarColor)
325323
}
326324

327325
private fun getInactiveTabIndexes(activeIndex: Int) = (0 until binding.mainTabsHolder.tabCount).filter { it != activeIndex }

app/src/main/kotlin/org/fossify/phone/activities/ManageSpeedDialActivity.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ class ManageSpeedDialActivity : SimpleActivity(), RemoveSpeedDialListener {
3131
setContentView(binding.root)
3232

3333
binding.apply {
34-
updateEdgeToEdge(topAppBar = manageSpeedDialToolbar, scrollingView = manageSpeedDialList)
35-
setupMaterialScrollListener(manageSpeedDialScrollview, manageSpeedDialToolbar)
34+
setupEdgeToEdge(padBottomSystem = listOf(manageSpeedDialScrollview))
35+
setupMaterialScrollListener(binding.manageSpeedDialScrollview, binding.manageSpeedDialAppbar)
3636

3737
}
3838

@@ -53,7 +53,7 @@ class ManageSpeedDialActivity : SimpleActivity(), RemoveSpeedDialListener {
5353

5454
override fun onResume() {
5555
super.onResume()
56-
setupTopAppBar(binding.manageSpeedDialToolbar, NavigationIcon.Arrow)
56+
setupTopAppBar(binding.manageSpeedDialAppbar, NavigationIcon.Arrow)
5757
}
5858

5959
override fun onStop() {

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,14 +83,14 @@ class SettingsActivity : SimpleActivity() {
8383
refreshMenuItems()
8484

8585
binding.apply {
86-
updateEdgeToEdge(topAppBar = settingsToolbar, scrollingView = settingsNestedScrollview)
87-
setupMaterialScrollListener(settingsNestedScrollview, settingsToolbar)
86+
setupEdgeToEdge(padBottomSystem = listOf(settingsNestedScrollview))
87+
setupMaterialScrollListener(binding.settingsNestedScrollview, binding.settingsAppbar)
8888
}
8989
}
9090

9191
override fun onResume() {
9292
super.onResume()
93-
setupTopAppBar(binding.settingsToolbar, NavigationIcon.Arrow)
93+
setupTopAppBar(binding.settingsAppbar, NavigationIcon.Arrow)
9494

9595
setupCustomizeColors()
9696
setupUseEnglish()

app/src/main/kotlin/org/fossify/phone/dialogs/SelectContactDialog.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,10 @@ class SelectContactDialog(val activity: SimpleActivity, val contacts: List<Conta
6565
}
6666

6767
private fun MySearchMenu.updateSearchViewUi() {
68-
getToolbar().beInvisible()
68+
requireToolbar().beInvisible()
6969
updateColors()
7070
setBackgroundColor(Color.TRANSPARENT)
71-
binding.topAppBarLayout.setBackgroundColor(Color.TRANSPARENT)
71+
binding.searchBarContainer.setBackgroundColor(Color.TRANSPARENT)
7272
}
7373

7474
private fun MySearchMenu.setSearchViewListeners() {

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

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,26 @@
66
android:layout_width="match_parent"
77
android:layout_height="match_parent">
88

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

1724
<FrameLayout
1825
android:id="@+id/conference_frame"
1926
android:layout_width="match_parent"
2027
android:layout_height="match_parent"
21-
android:layout_marginTop="?attr/actionBarSize">
28+
app:layout_behavior="@string/appbar_scrolling_view_behavior">
2229

2330
<org.fossify.commons.views.MyRecyclerView
2431
android:id="@+id/conference_list"

app/src/main/res/layout/activity_dialpad.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/dialpad_toolbar"
8+
<org.fossify.commons.views.MyAppBarLayout
9+
android:id="@+id/dialpad_appbar"
1010
android:layout_width="match_parent"
11-
android:layout_height="?attr/actionBarSize"
12-
android:background="@color/color_primary"
13-
app:menu="@menu/menu_dialpad"
14-
app:title="@string/dialpad"
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/dialpad_toolbar"
15+
android:layout_width="match_parent"
16+
android:layout_height="?attr/actionBarSize"
17+
android:background="@color/color_primary"
18+
app:menu="@menu/menu_dialpad"
19+
app:title="@string/dialpad"
20+
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
21+
22+
</org.fossify.commons.views.MyAppBarLayout>
1623

1724
<androidx.constraintlayout.widget.ConstraintLayout
1825
android:id="@+id/dialpad_holder"
1926
android:layout_width="match_parent"
2027
android:layout_height="match_parent"
2128
android:layout_alignParentBottom="true"
22-
android:layout_marginTop="?attr/actionBarSize"
23-
android:focusableInTouchMode="true">
29+
android:focusableInTouchMode="true"
30+
app:layout_behavior="@string/appbar_scrolling_view_behavior">
2431

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

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414
android:id="@+id/main_holder"
1515
android:layout_width="match_parent"
1616
android:layout_height="match_parent"
17-
android:layout_marginTop="?attr/actionBarSize"
1817
android:fillViewport="true"
19-
android:scrollbars="none">
18+
android:scrollbars="none"
19+
app:layout_behavior="@string/appbar_scrolling_view_behavior">
2020

2121
<org.fossify.commons.views.MyViewPager
2222
android:id="@+id/view_pager"

0 commit comments

Comments
 (0)