Updated toolbar layout to match the new aesthetic

This commit is contained in:
Viktor De Pasquale 2020-02-06 15:55:28 +01:00 committed by John Wu
parent fdfa037dca
commit b512528148
3 changed files with 42 additions and 65 deletions

View File

@ -5,6 +5,7 @@ import android.Manifest.permission.WRITE_EXTERNAL_STORAGE
import android.content.res.Resources
import android.net.Uri
import android.os.Handler
import android.view.MenuItem
import androidx.core.os.postDelayed
import androidx.databinding.ObservableArrayList
import com.topjohnwu.magisk.BR
@ -86,7 +87,14 @@ class FlashViewModel(
}
}
fun savePressed() = withPermissions(READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE)
fun onMenuItemClicked(item: MenuItem): Boolean {
when (item.itemId) {
R.id.action_save -> savePressed()
}
return true
}
private fun savePressed() = withPermissions(READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE)
.map { now }
.map { it.toTime(timeFormatStandard) }
.map { Const.MAGISK_INSTALL_LOG_FILENAME.format(it) }

View File

@ -18,78 +18,38 @@
<com.google.android.material.appbar.AppBarLayout
style="@style/WidgetFoundation.Appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!--todo(diareuse) replace this with menus and navigation icon like a normal human being-->
android:layout_height="wrap_content"
android:paddingLeft="@{viewModel.insets.left}"
android:paddingRight="@{viewModel.insets.right}">
<com.google.android.material.appbar.MaterialToolbar
style="@style/WidgetFoundation.Toolbar"
onMenuClick="@{(item) -> viewModel.onMenuItemClicked(item)}"
onNavigationClick="@{() -> viewModel.backPressed()}"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:paddingTop="@{viewModel.insets.top}"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:layout_scrollFlags="scroll|enterAlways">
app:menu="@menu/menu_flash"
app:navigationIcon="@drawable/ic_back_md2">
<androidx.constraintlayout.widget.ConstraintLayout
<androidx.appcompat.widget.AppCompatTextView
style="@style/Widget.Text.Emphasize"
movieBehavior="@{viewModel.loading}"
movieBehaviorText="@{viewModel.behaviorText}"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_marginLeft="@{viewModel.insets.left}"
android:layout_marginTop="@{viewModel.insets.top}"
android:layout_marginRight="@{viewModel.insets.right}"
android:animateLayoutChanges="true">
<FrameLayout
invisibleScale="@{viewModel.loading}"
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="?attr/selectableItemBackgroundBorderless"
android:onClick="@{() -> viewModel.backPressed()}"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintLeft_toLeftOf="parent">
<androidx.appcompat.widget.AppCompatImageView
style="@style/Widget.Icon"
android:layout_gravity="center"
android:background="@android:color/transparent"
app:srcCompat="@drawable/ic_back"
app:tint="?colorOnSurface" />
</FrameLayout>
<androidx.appcompat.widget.AppCompatTextView
style="@style/Widget.Text.Emphasize"
movieBehavior="@{viewModel.loading}"
movieBehaviorText="@{viewModel.behaviorText}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="monospace"
android:textColor="?colorOnSurface"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="Flashing..." />
<FrameLayout
invisibleScale="@{viewModel.loading}"
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="?attr/selectableItemBackgroundBorderless"
android:onClick="@{() -> viewModel.savePressed()}"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintRight_toRightOf="parent">
<androidx.appcompat.widget.AppCompatImageView
style="@style/Widget.Icon"
android:layout_gravity="center"
android:background="@android:color/transparent"
app:srcCompat="@drawable/ic_save_compat"
app:tint="?colorOnSurface" />
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
android:layout_height="wrap_content"
android:layout_gravity="center"
android:fontFamily="monospace"
android:gravity="center"
android:textColor="?colorOnSurface"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="Flashing..." />
</com.google.android.material.appbar.MaterialToolbar>
@ -109,10 +69,10 @@
android:paddingBottom="@{viewModel.insets.bottom}"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:listitem="@layout/item_console" />
tools:listitem="@layout/item_console_md2" />
<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
invisibleScale="@{!viewModel.loaded || !viewModel.canShowReboot}"
gone="@{!viewModel.loaded || !viewModel.canShowReboot}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_save"
android:icon="@drawable/ic_save_md2"
android:title="@string/menuSaveLog"
app:showAsAction="always" />
</menu>