Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -80,9 +80,16 @@ class ComposeActivity : DrawerActivity() {
composeViewModel.updateSelectedText(text.toString())
}

override fun getMenuItemId(): Int = R.id.nav_assistant

override fun onResume() {
super.onResume()
highlightNavigationViewItem(menuItemId)
}

private fun setupActivityUIFor(destination: ComposeDestination) {
if (destination is ComposeDestination.AssistantScreen) {
setupDrawer()
setupDrawer(R.id.nav_assistant)
setupToolbarShowOnlyMenuButtonAndTitle(destination.title) {
openDrawer()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,9 @@ import com.owncloud.android.ui.activity.DrawerActivity
import com.owncloud.android.ui.activity.FileDisplayActivity

fun DrawerActivity.navigateToAllFiles() {
DrawerActivity.menuItemId = R.id.nav_all_files
setNavigationViewItemChecked()

MainApp.showOnlyFilesOnDevice(false)
MainApp.showOnlyPersonalFiles(false)
highlightNavigationViewItem(R.id.nav_all_files)

Intent(applicationContext, FileDisplayActivity::class.java).apply {
addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/*
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2026 Alper Ozturk <alper.ozturk@nextcloud.com>
* SPDX-License-Identifier: AGPL-3.0-or-later
*/

package com.nextcloud.utils.extensions

import android.view.Menu
import androidx.core.view.forEach
import com.google.android.material.bottomnavigation.BottomNavigationView
import com.google.android.material.navigation.NavigationView

fun NavigationView.getSelectedMenuItemId(): Int {
menu.forEach {
if (it.isChecked) {
return it.itemId
}
}
return Menu.NONE
}

fun NavigationView.unsetAllNavigationItems() {
uncheckMenu(menu)
}

fun BottomNavigationView.unsetAllNavigationItems() {
uncheckMenu(menu)
}

private fun uncheckMenu(menu: Menu) {
menu.forEach { item ->
item.isChecked = false

// recursively uncheck submenu items
item.subMenu?.let { uncheckMenu(it) }
}
}
12 changes: 12 additions & 0 deletions app/src/main/java/com/owncloud/android/MainApp.java
Original file line number Diff line number Diff line change
Expand Up @@ -803,6 +803,18 @@ public static boolean isOnlyPersonFiles() {
return mOnlyPersonalFiles;
}

public static Integer getMenuItemId() {
if (MainApp.isOnlyPersonFiles()) {
return R.id.nav_personal_files;
}

if (MainApp.isOnlyOnDevice()) {
return R.id.nav_on_device;
}

return null;
}

public static String getUserAgent() {
// Mozilla/5.0 (Android) Nextcloud-android/2.1.0
return getUserAgent(R.string.nextcloud_user_agent);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ protected void onCreate(Bundle savedInstanceState) {
viewThemeUtils.androidx.themeSwipeRefreshLayout(binding.swipeContainingList);

// setup drawer
setupDrawer();
setupDrawer(R.id.nav_activity);
updateActionBarTitleAndHomeButtonByString(getString(R.string.drawer_item_activities));

binding.swipeContainingList.setOnRefreshListener(() -> {
Expand All @@ -88,6 +88,11 @@ protected void onCreate(Bundle savedInstanceState) {
});
}

@Override
protected int getMenuItemId() {
return R.id.nav_activity;
}

@VisibleForTesting
public ActivityListLayoutBinding getBinding() {
return binding;
Expand Down Expand Up @@ -153,6 +158,7 @@ public boolean onOptionsItemSelected(MenuItem item) {
@Override
protected void onResume() {
super.onResume();
highlightNavigationViewItem(getMenuItemId());
actionListener.onResume();
setupContent();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ open class CommunityActivity : DrawerActivity() {

setupToolbar()
updateActionBarTitleAndHomeButtonByString(getString(R.string.drawer_community))
setupDrawer()
setupDrawer(R.id.nav_community)
binding.communityReleaseCandidateText.movementMethod = LinkMovementMethod.getInstance()
setupContributeForumView()
setupContributeTranslationView()
Expand All @@ -39,6 +39,13 @@ open class CommunityActivity : DrawerActivity() {
setOnClickListeners()
}

override fun getMenuItemId(): Int = R.id.nav_community

override fun onResume() {
super.onResume()
highlightNavigationViewItem(menuItemId)
}

private fun setupContributeForumView() {
val htmlContent = getString(R.string.community_contribute_forum_text) + " " +
getString(
Expand Down
Loading
Loading