mirror of
https://github.com/nextcloud/android.git
synced 2024-11-26 15:15:51 +03:00
Toggle drawer from Assistant screen via menu button
Signed-off-by: alperozturk <alper_ozturk@proton.me>
This commit is contained in:
parent
afeb87ff78
commit
0200e51eb7
4 changed files with 70 additions and 5 deletions
|
@ -53,11 +53,14 @@ class ComposeActivity : DrawerActivity() {
|
|||
val titleId = intent.getIntExtra(TITLE, R.string.empty)
|
||||
menuItemId = intent.getIntExtra(MENU_ITEM, -1)
|
||||
|
||||
setupToolbar()
|
||||
updateActionBarTitleAndHomeButtonByString(getString(titleId))
|
||||
|
||||
if (menuItemId != -1) {
|
||||
setupDrawer(menuItemId!!)
|
||||
} else {
|
||||
setupDrawer()
|
||||
}
|
||||
|
||||
setupToolbarShowOnlyMenuButtonAndTitle(getString(titleId)) {
|
||||
toggleDrawer()
|
||||
}
|
||||
|
||||
binding.composeView.setContent {
|
||||
|
@ -80,7 +83,7 @@ class ComposeActivity : DrawerActivity() {
|
|||
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
||||
return when (item.itemId) {
|
||||
android.R.id.home -> {
|
||||
if (isDrawerOpen) closeDrawer() else openDrawer()
|
||||
toggleDrawer()
|
||||
true
|
||||
}
|
||||
else -> super.onOptionsItemSelected(item)
|
||||
|
|
|
@ -506,6 +506,8 @@ public abstract class DrawerActivity extends ToolbarActivity
|
|||
intent.putExtra(FileDisplayActivity.DRAWER_MENU_ID, menuItem.getItemId());
|
||||
startActivity(intent);
|
||||
}
|
||||
|
||||
closeDrawer();
|
||||
} else if (itemId == R.id.nav_favorites) {
|
||||
handleSearchEvents(new SearchEvent("", SearchRemoteOperation.SearchType.FAVORITE_SEARCH),
|
||||
menuItem.getItemId());
|
||||
|
@ -681,6 +683,14 @@ public abstract class DrawerActivity extends ToolbarActivity
|
|||
return mDrawerLayout != null && mDrawerLayout.isDrawerOpen(GravityCompat.START);
|
||||
}
|
||||
|
||||
public void toggleDrawer() {
|
||||
if (isDrawerOpen()) {
|
||||
closeDrawer();
|
||||
} else {
|
||||
openDrawer();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* closes the drawer.
|
||||
*/
|
||||
|
|
|
@ -104,6 +104,22 @@ public abstract class ToolbarActivity extends BaseActivity implements Injectable
|
|||
viewThemeUtils.material.colorMaterialTextButton(mSwitchAccountButton);
|
||||
}
|
||||
|
||||
public void setupToolbarShowOnlyMenuButtonAndTitle(String title, View.OnClickListener toggleDrawer) {
|
||||
setupToolbar(false, false);
|
||||
|
||||
ActionBar actionBar = getSupportActionBar();
|
||||
if (actionBar != null) {
|
||||
actionBar.setDisplayShowTitleEnabled(false);
|
||||
}
|
||||
|
||||
LinearLayout toolbar = findViewById(R.id.toolbar_linear_layout);
|
||||
MaterialButton menuButton = findViewById(R.id.toolbar_menu_button);
|
||||
MaterialTextView titleTextView = findViewById(R.id.toolbar_title);
|
||||
titleTextView.setText(title);
|
||||
toolbar.setVisibility(View.VISIBLE);
|
||||
menuButton.setOnClickListener(toggleDrawer);
|
||||
}
|
||||
|
||||
public void setupToolbar() {
|
||||
setupToolbar(false, false);
|
||||
}
|
||||
|
@ -278,7 +294,7 @@ public abstract class ToolbarActivity extends BaseActivity implements Injectable
|
|||
|
||||
public void clearToolbarSubtitle() {
|
||||
ActionBar actionBar = getSupportActionBar();
|
||||
if(actionBar != null){
|
||||
if (actionBar != null) {
|
||||
actionBar.setSubtitle(null);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -114,6 +114,42 @@
|
|||
|
||||
</RelativeLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/toolbar_linear_layout"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginBottom="4dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/toolbar_menu_button"
|
||||
style="@style/Widget.AppTheme.Button.IconButton"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
app:cornerRadius="@dimen/button_corner_radius"
|
||||
app:icon="@drawable/ic_menu"
|
||||
app:iconTint="@color/black" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/toolbar_title"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/black"
|
||||
android:lines="1"
|
||||
android:textSize="16sp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="48dp"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<!-- home/search toolbar -->
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:id="@+id/home_toolbar"
|
||||
|
|
Loading…
Reference in a new issue