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
d6a372f9
authored
Apr 19, 2019
by
Paktalin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Removed vocabularyFragment
parent
781ae10e
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
61 additions
and
104 deletions
app/src/main/java/com/paktalin/vocabularynotebook/ui/activities/MainActivity.kt
app/src/main/java/com/paktalin/vocabularynotebook/ui/fragments/AddWordFragment.kt
app/src/main/java/com/paktalin/vocabularynotebook/ui/fragments/EditWordFragment.kt
app/src/main/java/com/paktalin/vocabularynotebook/ui/fragments/VocabularyFragment.kt
app/src/main/java/com/paktalin/vocabularynotebook/ui/views/LockableLayoutManager.kt
app/src/main/java/com/paktalin/vocabularynotebook/utils/ActivityUtil.kt
app/src/main/res/layout/content_main.xml
app/src/main/res/layout/fragment_vocabulary.xml
app/src/main/java/com/paktalin/vocabularynotebook/ui/activities/MainActivity.kt
View file @
d6a372f9
package
com.paktalin.vocabularynotebook.ui.activities
package
com.paktalin.vocabularynotebook.ui.activities
import
android.app.Activity
import
android.os.Bundle
import
android.os.Bundle
import
android.support.v7.app.AppCompatActivity
import
android.support.v7.app.AppCompatActivity
import
android.support.v7.widget.SearchView
import
kotlinx.android.synthetic.main.activity_main.*
import
android.app.Activity
import
android.view.Menu
import
android.view.Menu
import
android.view.MenuItem
import
android.view.MenuItem
import
android.view.View
import
android.view.View
import
android.view.inputmethod.InputMethodManager
import
kotlinx.android.synthetic.main.fragment_vocabulary.*
import
android.support.v7.widget.SearchView
import
android.view.WindowManager
import
android.view.WindowManager
import
com.paktalin.vocabularynotebook.*
import
android.view.inputmethod.InputMethodManager
import
com.paktalin.vocabularynotebook.R
import
com.paktalin.vocabularynotebook.Vocabulary
import
com.paktalin.vocabularynotebook.Vocabulary.Companion.SORT_BY_TIME
import
com.paktalin.vocabularynotebook.Vocabulary.Companion.SORT_BY_TIME
import
com.paktalin.vocabularynotebook.Vocabulary.Companion.SORT_BY_TRANSLATION
import
com.paktalin.vocabularynotebook.Vocabulary.Companion.SORT_BY_TRANSLATION
import
com.paktalin.vocabularynotebook.Vocabulary.Companion.SORT_BY_WORD
import
com.paktalin.vocabularynotebook.Vocabulary.Companion.SORT_BY_WORD
import
com.paktalin.vocabularynotebook.ui.fragments.VocabularyFragment
import
com.paktalin.vocabularynotebook.VocabularyAdapter
import
com.paktalin.vocabularynotebook.firestoreitems.WordItem
import
com.paktalin.vocabularynotebook.ui.views.LockableLayoutManager
import
com.paktalin.vocabularynotebook.utils.*
import
com.paktalin.vocabularynotebook.utils.*
import
kotlinx.android.synthetic.main.content_main.swipeRefresh
import
kotlinx.android.synthetic.main.activity_main.*
import
kotlinx.android.synthetic.main.content_main.*
class
MainActivity
:
AppCompatActivity
()
{
class
MainActivity
:
AppCompatActivity
()
{
lateinit
var
vocabularyFragment
:
VocabularyFragment
lateinit
var
searchView
:
SearchView
lateinit
var
searchView
:
SearchView
lateinit
var
vocabularyAdapter
:
VocabularyAdapter
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
super
.
onCreate
(
savedInstanceState
)
...
@@ -39,12 +40,11 @@ class MainActivity : AppCompatActivity() {
...
@@ -39,12 +40,11 @@ class MainActivity : AppCompatActivity() {
searchView
=
menu
!!
.
findItem
(
R
.
id
.
search
).
actionView
as
SearchView
searchView
=
menu
!!
.
findItem
(
R
.
id
.
search
).
actionView
as
SearchView
// extract vocabulary data only after searchView is initialized,
// extract vocabulary data only after searchView is initialized,
// since it needs to be called in the VocabularyFragment initialization
// since it needs to be called in the VocabularyFragment initialization
setUpVocabulary
Fragment
()
setUpVocabulary
Adapter
()
return
true
return
true
}
}
override
fun
onOptionsItemSelected
(
item
:
MenuItem
?):
Boolean
{
override
fun
onOptionsItemSelected
(
item
:
MenuItem
?):
Boolean
{
val
vocabularyAdapter
=
recyclerView
.
adapter
as
VocabularyAdapter
if
(
item
!!
.
itemId
==
R
.
id
.
sortByTime
)
if
(
item
!!
.
itemId
==
R
.
id
.
sortByTime
)
vocabularyAdapter
.
sortOrder
=
SORT_BY_TIME
vocabularyAdapter
.
sortOrder
=
SORT_BY_TIME
if
(
item
.
itemId
==
R
.
id
.
sortByWord
)
if
(
item
.
itemId
==
R
.
id
.
sortByWord
)
...
@@ -61,7 +61,7 @@ class MainActivity : AppCompatActivity() {
...
@@ -61,7 +61,7 @@ class MainActivity : AppCompatActivity() {
}
}
private
fun
refreshVocabulary
()
{
private
fun
refreshVocabulary
()
{
(
recyclerView
.
adapter
as
VocabularyAdapter
)
.
refresh
()
vocabularyAdapter
.
refresh
()
swipeRefresh
.
isRefreshing
=
false
swipeRefresh
.
isRefreshing
=
false
}
}
...
@@ -81,13 +81,20 @@ class MainActivity : AppCompatActivity() {
...
@@ -81,13 +81,20 @@ class MainActivity : AppCompatActivity() {
swipeRefresh
.
setColorSchemeResources
(
R
.
color
.
colorAccent
)
swipeRefresh
.
setColorSchemeResources
(
R
.
color
.
colorAccent
)
}
}
private
fun
setUpVocabulary
Fragment
()
{
private
fun
setUpVocabulary
Adapter
()
{
addProgressBar
()
addProgressBar
()
FirestoreManager
().
extractVocabularyId
(
FirestoreManager
().
extractVocabularyId
({
{
vocabularyFragment
=
VocabularyFragment
()
// recyclerView.adapter = VocabularyAdapter(Vocabulary(), this@MainActivity)
val
arguments
=
Bundle
()
recyclerView
.
layoutManager
=
LockableLayoutManager
(
this
@MainActivity
)
arguments
.
putString
(
"vocabularyId"
,
FirestoreManager
.
vocabularyId
!!
)
FirestoreManager
().
extractVocabulary
{
documents
->
addFragment
(
supportFragmentManager
,
vocabularyFragment
,
R
.
id
.
swipeRefresh
,
arguments
)
run
{
if
(
documents
.
isNotEmpty
())
{
vocabularyAdapter
=
VocabularyAdapter
(
Vocabulary
(
documents
),
this
@MainActivity
)
recyclerView
.
adapter
=
vocabularyAdapter
}
else
showToastNoWords
()
}
}
},
},
{
showToastNoWords
()
},
{
showToastNoWords
()
},
{
removeProgressBar
()
},
this
)
{
removeProgressBar
()
},
this
)
...
@@ -114,10 +121,18 @@ class MainActivity : AppCompatActivity() {
...
@@ -114,10 +121,18 @@ class MainActivity : AppCompatActivity() {
com
.
paktalin
.
vocabularynotebook
.
utils
.
removeProgressBar
(
supportFragmentManager
)
com
.
paktalin
.
vocabularynotebook
.
utils
.
removeProgressBar
(
supportFragmentManager
)
}
}
fun
showToastNoWords
()
{
private
fun
showToastNoWords
()
{
shortToast
(
this
,
getString
(
R
.
string
.
toast_empty_vocabulary
))
shortToast
(
this
,
getString
(
R
.
string
.
toast_empty_vocabulary
))
}
}
fun
addWord
(
newWord
:
WordItem
)
{
vocabularyAdapter
.
addWord
(
newWord
)
}
fun
updateWord
(
updatedWord
:
WordItem
)
{
vocabularyAdapter
.
updateWord
(
updatedWord
)
}
override
fun
onPause
()
{
override
fun
onPause
()
{
super
.
onPause
()
super
.
onPause
()
// TODO save changes
// TODO save changes
...
...
app/src/main/java/com/paktalin/vocabularynotebook/ui/fragments/AddWordFragment.kt
View file @
d6a372f9
...
@@ -46,7 +46,7 @@ class AddWordFragment : WordFragment() {
...
@@ -46,7 +46,7 @@ class AddWordFragment : WordFragment() {
}
}
override
fun
updateRecycleView
(
wordItem
:
WordItem
)
{
override
fun
updateRecycleView
(
wordItem
:
WordItem
)
{
mainActivity
.
vocabularyFragment
.
addWord
(
wordItem
)
mainActivity
.
addWord
(
wordItem
)
}
}
private
fun
textWatcher
(
setEmpty
:
()
->
Unit
):
TextWatcher
{
private
fun
textWatcher
(
setEmpty
:
()
->
Unit
):
TextWatcher
{
...
...
app/src/main/java/com/paktalin/vocabularynotebook/ui/fragments/EditWordFragment.kt
View file @
d6a372f9
...
@@ -2,19 +2,18 @@ package com.paktalin.vocabularynotebook.ui.fragments
...
@@ -2,19 +2,18 @@ package com.paktalin.vocabularynotebook.ui.fragments
import
android.content.Context
import
android.content.Context
import
android.os.Bundle
import
android.os.Bundle
import
android.support.v4.content.ContextCompat
import
android.view.LayoutInflater
import
android.view.LayoutInflater
import
android.view.View
import
android.view.View
import
android.view.ViewGroup
import
android.view.ViewGroup
import
android.view.inputmethod.InputMethodManager
import
android.view.inputmethod.InputMethodManager
import
com.paktalin.vocabularynotebook.*
import
com.paktalin.vocabularynotebook.firestoreitems.WordItem
import
com.paktalin.vocabularynotebook.firestoreitems.WordItem
import
com.paktalin.vocabularynotebook.ui.activities.MainActivity
import
com.paktalin.vocabularynotebook.ui.activities.MainActivity
import
com.paktalin.vocabularynotebook.ui.views.LockableLayoutManager
import
com.paktalin.vocabularynotebook.utils.FirestoreManager
import
com.paktalin.vocabularynotebook.utils.*
import
com.paktalin.vocabularynotebook.utils.gone
import
kotlinx.android.synthetic.main.fragment_editable_word.*
import
com.paktalin.vocabularynotebook.utils.removeFragment
import
com.paktalin.vocabularynotebook.utils.visible
import
kotlinx.android.synthetic.main.content_main.*
import
kotlinx.android.synthetic.main.content_main.*
import
kotlinx.android.synthetic.main.fragment_
vocabulary
.*
import
kotlinx.android.synthetic.main.fragment_
editable_word
.*
import
kotlinx.android.synthetic.main.word_item.view.*
import
kotlinx.android.synthetic.main.word_item.view.*
class
EditWordFragment
:
WordFragment
()
{
class
EditWordFragment
:
WordFragment
()
{
...
@@ -43,7 +42,7 @@ class EditWordFragment : WordFragment() {
...
@@ -43,7 +42,7 @@ class EditWordFragment : WordFragment() {
}
}
override
fun
updateRecycleView
(
wordItem
:
WordItem
)
{
override
fun
updateRecycleView
(
wordItem
:
WordItem
)
{
mainActivity
.
vocabularyFragment
.
updateWord
(
wordItem
)
mainActivity
.
updateWord
(
wordItem
)
}
}
private
fun
setWordItemData
()
{
private
fun
setWordItemData
()
{
...
...
app/src/main/java/com/paktalin/vocabularynotebook/ui/fragments/VocabularyFragment.kt
deleted
100644 → 0
View file @
781ae10e
package
com.paktalin.vocabularynotebook.ui.fragments
import
android.os.Bundle
import
android.support.v4.app.Fragment
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
com.google.firebase.firestore.DocumentSnapshot
import
com.paktalin.vocabularynotebook.*
import
com.paktalin.vocabularynotebook.Vocabulary
import
com.paktalin.vocabularynotebook.firestoreitems.WordItem
import
com.paktalin.vocabularynotebook.ui.activities.MainActivity
import
com.paktalin.vocabularynotebook.ui.views.LockableLayoutManager
import
com.paktalin.vocabularynotebook.utils.FirestoreManager
import
kotlinx.android.synthetic.main.fragment_vocabulary.*
class
VocabularyFragment
:
Fragment
()
{
companion
object
{
private
val
TAG
=
"VN/"
+
VocabularyFragment
::
class
.
simpleName
}
private
lateinit
var
mainActivity
:
MainActivity
override
fun
onCreateView
(
inflater
:
LayoutInflater
,
container
:
ViewGroup
?,
savedInstanceState
:
Bundle
?):
View
?
{
return
inflater
.
inflate
(
R
.
layout
.
fragment_vocabulary
,
container
,
false
)
}
override
fun
onActivityCreated
(
savedInstanceState
:
Bundle
?)
{
super
.
onActivityCreated
(
savedInstanceState
)
mainActivity
=
activity
as
MainActivity
setEmptyVocabularyAdapter
()
extractVocabularyById
()
}
private
fun
extractVocabularyById
()
{
FirestoreManager
().
extractVocabulary
{
documents
->
run
{
if
(
documents
.
isNotEmpty
())
setVocabularyAdapter
(
documents
)
else
mainActivity
.
showToastNoWords
()
}
}
}
private
fun
setEmptyVocabularyAdapter
()
{
recyclerView
.
adapter
=
VocabularyAdapter
(
Vocabulary
(),
mainActivity
)
recyclerView
.
layoutManager
=
LockableLayoutManager
(
mainActivity
)
}
private
fun
setVocabularyAdapter
(
documents
:
MutableList
<
DocumentSnapshot
>)
{
recyclerView
.
adapter
=
VocabularyAdapter
(
Vocabulary
(
documents
),
mainActivity
)
}
fun
addWord
(
newWord
:
WordItem
)
{
(
recyclerView
.
adapter
as
VocabularyAdapter
).
addWord
(
newWord
)
}
fun
updateWord
(
updatedWord
:
WordItem
)
{
(
recyclerView
.
adapter
as
VocabularyAdapter
).
updateWord
(
updatedWord
)
}
}
\ No newline at end of file
app/src/main/java/com/paktalin/vocabularynotebook/ui/views/LockableLayoutManager.kt
View file @
d6a372f9
...
@@ -2,7 +2,6 @@ package com.paktalin.vocabularynotebook.ui.views
...
@@ -2,7 +2,6 @@ package com.paktalin.vocabularynotebook.ui.views
import
android.content.Context
import
android.content.Context
import
android.support.v7.widget.LinearLayoutManager
import
android.support.v7.widget.LinearLayoutManager
import
com.paktalin.vocabularynotebook.ui.fragments.VocabularyFragment
class
LockableLayoutManager
(
context
:
Context
)
:
LinearLayoutManager
(
context
)
{
class
LockableLayoutManager
(
context
:
Context
)
:
LinearLayoutManager
(
context
)
{
private
var
isScrollEnabled
=
true
private
var
isScrollEnabled
=
true
...
...
app/src/main/java/com/paktalin/vocabularynotebook/utils/ActivityUtil.kt
View file @
d6a372f9
...
@@ -13,7 +13,7 @@ import org.apache.commons.lang3.StringUtils
...
@@ -13,7 +13,7 @@ import org.apache.commons.lang3.StringUtils
val
progressFragment
:
Fragment
=
ProgressFragment
()
val
progressFragment
:
Fragment
=
ProgressFragment
()
fun
addFragment
(
fragmentManager
:
FragmentManager
,
fragment
:
Fragment
,
containerId
:
Int
,
arguments
:
Bundle
?,
tag
:
String
?
=
null
)
{
fun
addFragment
(
fragmentManager
:
FragmentManager
,
fragment
:
Fragment
,
containerId
:
Int
,
arguments
:
Bundle
?
=
null
,
tag
:
String
?
=
null
)
{
fragment
.
arguments
=
arguments
fragment
.
arguments
=
arguments
// remove progressFragment if it exists
// remove progressFragment if it exists
if
(
fragmentManager
.
findFragmentById
(
fragment
.
id
)
!=
null
)
if
(
fragmentManager
.
findFragmentById
(
fragment
.
id
)
!=
null
)
...
...
app/src/main/res/layout/content_main.xml
View file @
d6a372f9
...
@@ -32,7 +32,24 @@
...
@@ -32,7 +32,24 @@
android:layout_marginEnd=
"@dimen/small_margin"
android:layout_marginEnd=
"@dimen/small_margin"
android:layout_marginLeft=
"@dimen/small_margin"
android:layout_marginLeft=
"@dimen/small_margin"
android:layout_marginRight=
"@dimen/small_margin"
android:layout_marginRight=
"@dimen/small_margin"
android:layout_marginStart=
"@dimen/small_margin"
/>
android:layout_marginStart=
"@dimen/small_margin"
>
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
app:layout_behavior=
"@string/appbar_scrolling_view_behavior"
>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/recyclerView"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
/>
</FrameLayout>
</android.support.v4.widget.SwipeRefreshLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
<LinearLayout
...
...
app/src/main/res/layout/fragment_vocabulary.xml
deleted
100644 → 0
View file @
781ae10e
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
app:layout_behavior=
"@string/appbar_scrolling_view_behavior"
tools:context=
"com.paktalin.vocabularynotebook.ui.fragments.VocabularyFragment"
>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/recyclerView"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
/>
</FrameLayout>
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