add a menu item for Adding favorites at the manage favorites screen

This commit is contained in:
tibbi 2017-03-18 19:02:08 +01:00
parent 54b13bb54e
commit fde83fdc5a
4 changed files with 41 additions and 7 deletions

View File

@ -32,7 +32,7 @@ android {
} }
dependencies { dependencies {
compile 'com.simplemobiletools:commons:2.12.7' compile 'com.simplemobiletools:commons:2.12.8'
compile 'com.bignerdranch.android:recyclerview-multiselect:0.2' compile 'com.bignerdranch.android:recyclerview-multiselect:0.2'
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
} }

View File

@ -2,6 +2,9 @@ package com.simplemobiletools.filemanager.activities
import android.graphics.PorterDuff import android.graphics.PorterDuff
import android.os.Bundle import android.os.Bundle
import android.view.Menu
import android.view.MenuItem
import com.simplemobiletools.commons.dialogs.FilePickerDialog
import com.simplemobiletools.commons.extensions.beVisibleIf import com.simplemobiletools.commons.extensions.beVisibleIf
import com.simplemobiletools.filemanager.R import com.simplemobiletools.filemanager.R
import com.simplemobiletools.filemanager.extensions.config import com.simplemobiletools.filemanager.extensions.config
@ -38,4 +41,24 @@ class FavoritesActivity : SimpleActivity() {
} }
} }
} }
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.menu_favorites, menu)
return true
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
R.id.add_favorite -> addFavorite()
else -> return super.onOptionsItemSelected(item)
}
return true
}
private fun addFavorite() {
FilePickerDialog(this, pickFile = false, showHidden = config.showHidden) {
config.addFavorite(it)
updateFavorites()
}
}
} }

View File

@ -57,6 +57,7 @@ class MainActivity : SimpleActivity(), ItemsFragment.ItemInteractionListener, Br
breadcrumbs.setTextColor(mStoredTextColor) breadcrumbs.setTextColor(mStoredTextColor)
openPath(currentPath) openPath(currentPath)
} }
invalidateOptionsMenu()
} }
override fun onPause() { override fun onPause() {
@ -82,12 +83,13 @@ class MainActivity : SimpleActivity(), ItemsFragment.ItemInteractionListener, Br
} }
private fun openPath(path: String) { private fun openPath(path: String) {
breadcrumbs.setBreadcrumb(path) val realPath = path.trimEnd('/')
breadcrumbs.setBreadcrumb(realPath)
val bundle = Bundle() val bundle = Bundle()
bundle.putString(PATH, path) bundle.putString(PATH, realPath)
if (mScrollStates.containsKey(path.trimEnd('/'))) { if (mScrollStates.containsKey(realPath)) {
bundle.putParcelable(SCROLL_STATE, mScrollStates[path.trimEnd('/')]) bundle.putParcelable(SCROLL_STATE, mScrollStates[realPath])
} }
if (latestFragment != null) { if (latestFragment != null) {
@ -97,9 +99,9 @@ class MainActivity : SimpleActivity(), ItemsFragment.ItemInteractionListener, Br
latestFragment = ItemsFragment().apply { latestFragment = ItemsFragment().apply {
arguments = bundle arguments = bundle
setListener(this@MainActivity) setListener(this@MainActivity)
supportFragmentManager.beginTransaction().replace(R.id.fragment_holder, this).addToBackStack(path).commitAllowingStateLoss() supportFragmentManager.beginTransaction().replace(R.id.fragment_holder, this).addToBackStack(realPath).commitAllowingStateLoss()
} }
currentPath = path currentPath = realPath
invalidateOptionsMenu() invalidateOptionsMenu()
} }

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/add_favorite"
android:icon="@drawable/ic_plus"
android:title="@string/add_to_favorites"
app:showAsAction="ifRoom"/>
</menu>