-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #13513 from nextcloud/bugfix/unify-drawer-menu-ite…
…m-handling BugFix - Unify Drawer Menu Item Handling
- Loading branch information
Showing
12 changed files
with
157 additions
and
153 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
53 changes: 53 additions & 0 deletions
53
app/src/main/java/com/nextcloud/utils/extensions/DrawerActivityExtensions.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
/* | ||
* Nextcloud - Android Client | ||
* | ||
* SPDX-FileCopyrightText: 2024 Alper Ozturk <[email protected]> | ||
* SPDX-License-Identifier: AGPL-3.0-or-later | ||
*/ | ||
|
||
package com.nextcloud.utils.extensions | ||
|
||
import com.owncloud.android.MainApp | ||
import com.owncloud.android.R | ||
import com.owncloud.android.ui.activity.DrawerActivity | ||
|
||
/** | ||
* Determines the appropriate menu item ID based on the current ActionBar title. | ||
* | ||
* This function serves as a workaround solution because not all drawer menu item | ||
* navigations extend from DrawerActivity and back button changes content but not the drawer menu item. | ||
* As a result, the content and highlighted | ||
* menu item may not always match. This function helps maintain consistency between | ||
* the displayed content and the highlighted menu item. | ||
* | ||
* @return The menu item ID corresponding to the current ActionBar title, or null if | ||
* the ActionBar is not available. | ||
*/ | ||
fun DrawerActivity.getMenuItemIdFromTitle(): Int? { | ||
val actionBar = supportActionBar ?: return null | ||
|
||
return when (actionBar.title.toString()) { | ||
getString(R.string.drawer_item_all_files) -> R.id.nav_all_files | ||
getString(R.string.drawer_item_personal_files) -> R.id.nav_personal_files | ||
getString(R.string.drawer_item_activities) -> R.id.nav_activity | ||
getString(R.string.drawer_item_favorites) -> R.id.nav_favorites | ||
getString(R.string.drawer_item_gallery) -> R.id.nav_gallery | ||
getString(R.string.drawer_item_shared) -> R.id.nav_shared | ||
getString(R.string.drawer_item_groupfolders) -> R.id.nav_groupfolders | ||
getString(R.string.drawer_item_on_device) -> R.id.nav_on_device | ||
getString(R.string.drawer_item_recently_modified) -> R.id.nav_recently_modified | ||
getString(R.string.drawer_item_notifications) -> R.id.nav_notifications | ||
getString(R.string.drawer_item_assistant) -> R.id.nav_assistant | ||
getString(R.string.drawer_item_uploads_list) -> R.id.nav_uploads | ||
getString(R.string.drawer_item_trashbin) -> R.id.nav_trashbin | ||
else -> { | ||
if (MainApp.isOnlyPersonFiles()) { | ||
R.id.nav_personal_files | ||
} else if (MainApp.isOnlyOnDevice()) { | ||
R.id.nav_on_device | ||
} else { | ||
DrawerActivity.menuItemId | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.