Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
likorn
/
vocabulary_notebook
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
e81663b6
authored
Apr 21, 2019
by
Paktalin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Removed EditWordFragment
parent
c4f241ed
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
56 additions
and
116 deletions
app/src/main/java/com/paktalin/vocabularynotebook/ui/fragments/EditWordFragment.kt
app/src/main/java/com/paktalin/vocabularynotebook/ui/fragments/WordFragment.kt
app/src/main/java/com/paktalin/vocabularynotebook/ui/recycler_view/ViewHolder.kt
app/src/main/java/com/paktalin/vocabularynotebook/ui/recycler_view/VocabularyAdapter.kt
app/src/main/java/com/paktalin/vocabularynotebook/utils/ActivityUtil.kt
app/src/main/java/com/paktalin/vocabularynotebook/ui/fragments/EditWordFragment.kt
deleted
100644 → 0
View file @
c4f241ed
package
com.paktalin.vocabularynotebook.ui.fragments
import
android.content.Context
import
android.os.Bundle
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
android.view.inputmethod.InputMethodManager
import
com.paktalin.vocabularynotebook.firestoreitems.WordPojo
import
com.paktalin.vocabularynotebook.ui.activities.MainActivity
import
com.paktalin.vocabularynotebook.utils.gone
import
com.paktalin.vocabularynotebook.utils.removeFragment
import
com.paktalin.vocabularynotebook.utils.visible
import
kotlinx.android.synthetic.main.content_main.*
import
kotlinx.android.synthetic.main.fragment_editable_word.*
import
kotlinx.android.synthetic.main.submit.*
import
kotlinx.android.synthetic.main.word_item.view.*
class
EditWordFragment
:
WordFragment
()
{
private
lateinit
var
wordPojo
:
WordPojo
private
var
container
:
ViewGroup
?
=
null
override
fun
cancel
()
{
stop
()
showPreviousViews
()
}
override
fun
onCreateView
(
inflater
:
LayoutInflater
,
container
:
ViewGroup
?,
savedInstanceState
:
Bundle
?):
View
?
{
mainActivity
=
activity
as
MainActivity
this
.
container
=
container
hidePreviousViews
()
wordPojo
=
arguments
!!
[
"wordPojo"
]
as
WordPojo
//(mainActivity.recyclerView.layoutManager as LockableLayoutManager).isScrollEnabled = false
return
super
.
onCreateView
(
inflater
,
container
,
savedInstanceState
)
}
override
fun
onActivityCreated
(
savedInstanceState
:
Bundle
?)
{
super
.
onActivityCreated
(
savedInstanceState
)
setWordItemData
()
setFocusOnWord
()
visible
(
mainActivity
.
btnSubmitLayout
)
}
private
fun
setWordItemData
()
{
word
.
setText
(
wordPojo
.
word
)
translation
.
setText
(
wordPojo
.
translation
)
}
private
fun
setFocusOnWord
()
{
word
.
requestFocus
()
val
imm
=
mainActivity
.
getSystemService
(
Context
.
INPUT_METHOD_SERVICE
)
as
InputMethodManager
?
imm
!!
.
toggleSoftInput
(
InputMethodManager
.
SHOW_FORCED
,
InputMethodManager
.
HIDE_IMPLICIT_ONLY
)
}
private
fun
hidePreviousViews
()
{
gone
(
container
!!
.
line
)
gone
(
container
!!
.
word
)
gone
(
container
!!
.
translation
)
}
private
fun
showPreviousViews
()
{
visible
(
container
!!
.
line
)
visible
(
container
!!
.
word
)
visible
(
container
!!
.
translation
)
}
override
fun
save
(
word
:
String
,
translation
:
String
)
{
wordPojo
.
word
=
word
wordPojo
.
translation
=
translation
mainActivity
.
vocabularyAdapter
.
updateWord
(
wordPojo
)
stop
()
}
private
fun
stop
()
{
// set onClickListener from AddWordFragment
mainActivity
.
btnSubmitWord
.
setOnClickListener
{
(
mainActivity
.
fragmentAddWord
as
AddWordFragment
).
submit
()
}
removeFragment
(
mainActivity
.
supportFragmentManager
,
this
)
mainActivity
.
hideKeyboardNotFromActivity
(
mainActivity
)
gone
(
mainActivity
.
btnSubmitLayout
)
}
companion
object
{
private
val
TAG
=
"VN/"
+
EditWordFragment
::
class
.
java
.
simpleName
}
}
\ No newline at end of file
app/src/main/java/com/paktalin/vocabularynotebook/ui/fragments/WordFragment.kt
View file @
e81663b6
...
@@ -27,7 +27,7 @@ abstract class WordFragment : Fragment() {
...
@@ -27,7 +27,7 @@ abstract class WordFragment : Fragment() {
btnClear
.
setOnClickListener
{
clearFields
()
}
btnClear
.
setOnClickListener
{
clearFields
()
}
}
}
fun
submit
()
{
private
fun
submit
()
{
gone
(
mainActivity
.
btnSubmitLayout
)
gone
(
mainActivity
.
btnSubmitLayout
)
save
(
word
.
text
.
toString
(),
translation
.
text
.
toString
())
save
(
word
.
text
.
toString
(),
translation
.
text
.
toString
())
return
return
...
...
app/src/main/java/com/paktalin/vocabularynotebook/ui/recycler_view/ViewHolder.kt
View file @
e81663b6
package
com.paktalin.vocabularynotebook.ui.recycler_view
package
com.paktalin.vocabularynotebook.ui.recycler_view
import
android.view.View
import
android.view.View
import
android.widget.
TextView
import
android.widget.
EditText
import
androidx.recyclerview.selection.ItemDetailsLookup
import
androidx.recyclerview.selection.ItemDetailsLookup
import
androidx.recyclerview.widget.RecyclerView
import
androidx.recyclerview.widget.RecyclerView
import
com.paktalin.vocabularynotebook.firestoreitems.WordPojo
import
com.paktalin.vocabularynotebook.firestoreitems.WordPojo
...
@@ -9,12 +9,12 @@ import kotlinx.android.synthetic.main.word_item.view.*
...
@@ -9,12 +9,12 @@ import kotlinx.android.synthetic.main.word_item.view.*
class
ViewHolder
(
itemView
:
View
)
:
RecyclerView
.
ViewHolder
(
itemView
)
{
class
ViewHolder
(
itemView
:
View
)
:
RecyclerView
.
ViewHolder
(
itemView
)
{
private
val
tvWord
:
TextView
=
itemView
.
word
private
val
tvWord
:
EditText
=
itemView
.
word
private
val
tvTranslation
:
TextView
=
itemView
.
translation
private
val
tvTranslation
:
EditText
=
itemView
.
translation
fun
bind
(
wordPojo
:
WordPojo
,
position
:
Int
,
isActivated
:
Boolean
,
showPopupMenu
:
(
View
,
Int
)
->
Unit
)
{
fun
bind
(
wordPojo
:
WordPojo
,
position
:
Int
,
isActivated
:
Boolean
,
showPopupMenu
:
(
View
,
Int
)
->
Unit
)
{
tvWord
.
text
=
wordPojo
.
word
tvWord
.
setText
(
wordPojo
.
word
)
tvTranslation
.
text
=
wordPojo
.
translation
tvTranslation
.
setText
(
wordPojo
.
translation
)
itemView
.
clickable_view
.
setOnClickListener
{
showPopupMenu
(
itemView
,
position
)
}
itemView
.
clickable_view
.
setOnClickListener
{
showPopupMenu
(
itemView
,
position
)
}
itemView
.
isActivated
=
isActivated
itemView
.
isActivated
=
isActivated
}
}
...
...
app/src/main/java/com/paktalin/vocabularynotebook/ui/recycler_view/VocabularyAdapter.kt
View file @
e81663b6
package
com.paktalin.vocabularynotebook.ui.recycler_view
package
com.paktalin.vocabularynotebook.ui.recycler_view
import
android.annotation.SuppressLint
import
android.annotation.SuppressLint
import
android.os.Build
import
android.os.Bundle
import
android.view.LayoutInflater
import
android.view.LayoutInflater
import
android.view.View
import
android.view.View
import
android.view.ViewGroup
import
android.view.ViewGroup
...
@@ -11,12 +9,15 @@ import androidx.recyclerview.widget.RecyclerView
...
@@ -11,12 +9,15 @@ import androidx.recyclerview.widget.RecyclerView
import
com.paktalin.vocabularynotebook.R
import
com.paktalin.vocabularynotebook.R
import
com.paktalin.vocabularynotebook.firestoreitems.WordPojo
import
com.paktalin.vocabularynotebook.firestoreitems.WordPojo
import
com.paktalin.vocabularynotebook.ui.activities.MainActivity
import
com.paktalin.vocabularynotebook.ui.activities.MainActivity
import
com.paktalin.vocabularynotebook.ui.fragments.EditWordFragment
import
com.paktalin.vocabularynotebook.ui.recycler_view.selection_tracker.MySelectionTracker
import
com.paktalin.vocabularynotebook.ui.recycler_view.selection_tracker.MySelectionTracker
import
com.paktalin.vocabularynotebook.utils.Log
import
com.paktalin.vocabularynotebook.utils.Log
import
com.paktalin.vocabularynotebook.utils.addFragment
import
com.paktalin.vocabularynotebook.utils.gone
import
com.paktalin.vocabularynotebook.utils.showKeyboard
import
com.paktalin.vocabularynotebook.utils.visible
import
com.paktalin.vocabularynotebook.vocabulary.Sort
import
com.paktalin.vocabularynotebook.vocabulary.Sort
import
com.paktalin.vocabularynotebook.vocabulary.VocabSet
import
com.paktalin.vocabularynotebook.vocabulary.VocabSet
import
kotlinx.android.synthetic.main.submit.*
import
kotlinx.android.synthetic.main.word_item.view.*
class
VocabularyAdapter
(
private
val
vocabulary
:
VocabSet
,
private
val
mainActivity
:
MainActivity
)
:
RecyclerView
.
Adapter
<
ViewHolder
>()
{
class
VocabularyAdapter
(
private
val
vocabulary
:
VocabSet
,
private
val
mainActivity
:
MainActivity
)
:
RecyclerView
.
Adapter
<
ViewHolder
>()
{
...
@@ -66,11 +67,9 @@ class VocabularyAdapter(private val vocabulary: VocabSet, private val mainActivi
...
@@ -66,11 +67,9 @@ class VocabularyAdapter(private val vocabulary: VocabSet, private val mainActivi
val
popup
=
PopupMenu
(
mainActivity
,
v
)
val
popup
=
PopupMenu
(
mainActivity
,
v
)
popup
.
menuInflater
.
inflate
(
R
.
menu
.
word_item_menu
,
popup
.
menu
)
popup
.
menuInflater
.
inflate
(
R
.
menu
.
word_item_menu
,
popup
.
menu
)
popup
.
setOnMenuItemClickListener
{
popup
.
setOnMenuItemClickListener
{
if
(
it
.
itemId
==
R
.
id
.
option_delete
)
{
when
(
it
.
itemId
)
{
deleteWord
(
vocabulary
.
displayedAt
(
position
),
position
)
R
.
id
.
option_delete
->
deleteWord
(
vocabulary
.
displayedAt
(
position
),
position
)
}
R
.
id
.
option_edit
->
editWord
(
v
,
vocabulary
.
displayedAt
(
position
))
if
(
it
.
itemId
==
R
.
id
.
option_edit
)
{
startEditFragment
(
v
,
vocabulary
.
displayedAt
(
position
))
}
}
true
true
}
}
...
@@ -95,27 +94,41 @@ class VocabularyAdapter(private val vocabulary: VocabSet, private val mainActivi
...
@@ -95,27 +94,41 @@ class VocabularyAdapter(private val vocabulary: VocabSet, private val mainActivi
this
.
sort
()
this
.
sort
()
}
}
fun
updateWord
(
updatedWord
:
WordPojo
)
{
vocabulary
.
updateWord
(
updatedWord
)
this
.
sort
()
}
private
fun
sort
()
{
private
fun
sort
()
{
vocabulary
.
sort
(
sort
)
vocabulary
.
sort
(
sort
)
this
.
notifyDataSetChanged
()
this
.
notifyDataSetChanged
()
}
}
@SuppressLint
(
"ResourceType"
)
@SuppressLint
(
"ResourceType"
)
private
fun
startEditFragment
(
container
:
View
,
wordPojo
:
WordPojo
)
{
private
fun
editWord
(
container
:
View
,
wordPojo
:
WordPojo
)
{
//set container id
showPopupMenu
=
false
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
JELLY_BEAN_MR1
)
{
gone
(
container
.
clickable_view
)
container
.
id
=
View
.
generateViewId
()
container
.
word
.
requestFocus
()
}
else
container
.
id
=
18071999
showKeyboard
(
mainActivity
)
visible
(
mainActivity
.
btnSubmitLayout
)
// start EditWordFragment
mainActivity
.
btnSubmitWord
.
setOnClickListener
{
val
arguments
=
Bundle
()
vocabulary
.
updateWord
(
wordPojo
.
apply
{
arguments
.
putSerializable
(
"wordPojo"
,
wordPojo
)
wordPojo
.
word
=
container
.
word
.
text
.
toString
()
addFragment
(
mainActivity
.
supportFragmentManager
,
EditWordFragment
(),
container
.
id
,
arguments
,
"edit_fragment"
)
wordPojo
.
translation
=
container
.
translation
.
text
.
toString
()
})
this
.
sort
()
gone
(
mainActivity
.
btnSubmitLayout
)
container
.
word
.
clearFocus
()
container
.
translation
.
clearFocus
()
visible
(
container
.
clickable_view
)
mainActivity
.
hideKeyboardNotFromActivity
(
mainActivity
)
showPopupMenu
=
true
}
mainActivity
.
btnCancelWord
.
setOnClickListener
{
container
.
word
.
setText
(
wordPojo
.
word
)
container
.
translation
.
setText
(
wordPojo
.
translation
)
gone
(
mainActivity
.
btnSubmitLayout
)
container
.
word
.
clearFocus
()
container
.
translation
.
clearFocus
()
visible
(
container
.
clickable_view
)
mainActivity
.
hideKeyboardNotFromActivity
(
mainActivity
)
showPopupMenu
=
true
}
}
}
fun
filter
(
query
:
String
)
{
fun
filter
(
query
:
String
)
{
...
...
app/src/main/java/com/paktalin/vocabularynotebook/utils/ActivityUtil.kt
View file @
e81663b6
...
@@ -4,7 +4,9 @@ import android.content.Context
...
@@ -4,7 +4,9 @@ import android.content.Context
import
android.content.Intent
import
android.content.Intent
import
android.os.Bundle
import
android.os.Bundle
import
android.view.View
import
android.view.View
import
android.view.inputmethod.InputMethodManager
import
android.widget.Toast
import
android.widget.Toast
import
androidx.appcompat.app.AppCompatActivity
import
androidx.fragment.app.Fragment
import
androidx.fragment.app.Fragment
import
androidx.fragment.app.FragmentManager
import
androidx.fragment.app.FragmentManager
import
com.paktalin.vocabularynotebook.R
import
com.paktalin.vocabularynotebook.R
...
@@ -79,3 +81,13 @@ fun invisible(view: View) {
...
@@ -79,3 +81,13 @@ fun invisible(view: View) {
fun
gone
(
view
:
View
)
{
fun
gone
(
view
:
View
)
{
view
.
visibility
=
View
.
GONE
view
.
visibility
=
View
.
GONE
}
}
fun
showKeyboard
(
activity
:
AppCompatActivity
)
{
val
imm
=
activity
.
getSystemService
(
Context
.
INPUT_METHOD_SERVICE
)
as
InputMethodManager
?
imm
!!
.
toggleSoftInput
(
InputMethodManager
.
SHOW_FORCED
,
InputMethodManager
.
HIDE_IMPLICIT_ONLY
)
}
fun
hideKeyboard
(
activity
:
AppCompatActivity
)
{
val
imm
=
activity
.
getSystemService
(
Context
.
INPUT_METHOD_SERVICE
)
as
InputMethodManager
?
imm
!!
.
toggleSoftInput
(
InputMethodManager
.
RESULT_HIDDEN
,
InputMethodManager
.
RESULT_HIDDEN
)
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment