Skip to content

Commit 3f59ea9

Browse files
committed
Merge remote-tracking branch 'github/master'
2 parents e8d0134 + f803a33 commit 3f59ea9

File tree

5 files changed

+109
-19
lines changed

5 files changed

+109
-19
lines changed

app/src/main/kotlin/com/rayfantasy/icode/BaseApplication.kt

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,19 @@
1616

1717
package com.rayfantasy.icode
1818

19+
import android.app.Application
1920
import android.content.Context
2021
import android.content.pm.PackageManager
21-
import android.support.multidex.MultiDexApplication
22+
import android.widget.Toast
2223
import com.raizlabs.android.dbflow.config.FlowManager
2324
import com.rayfantasy.icode.model.ICodeTheme
2425
import com.rayfantasy.icode.postutil.PostUtil
2526
import com.rayfantasy.icode.postutil.extension.v
2627
import com.squareup.leakcanary.LeakCanary
2728
import com.squareup.leakcanary.RefWatcher
2829
import com.tencent.bugly.crashreport.CrashReport
30+
import com.tencent.bugly.proguard.t
31+
import android.support.multidex.MultiDexApplication
2932
import org.evilbinary.managers.ConfigureManager
3033
import kotlin.properties.Delegates
3134

@@ -64,6 +67,7 @@ class BaseApplication : MultiDexApplication() {
6467

6568
ICodeTheme.init(this)
6669

70+
loadFavorite()
6771
}
6872

6973
override fun onTerminate() {
@@ -83,4 +87,13 @@ class BaseApplication : MultiDexApplication() {
8387
}
8488

8589
}
90+
fun loadFavorite(){
91+
PostUtil.findFavorite({
92+
Toast.makeText(this,"同步收藏中", Toast.LENGTH_SHORT).show()
93+
it.forEach {
94+
it.save()
95+
}
96+
Toast.makeText(this,"同步收藏完成", Toast.LENGTH_SHORT).show()
97+
},{t,rc -> Toast.makeText(this,"取消收藏失败,$rc", Toast.LENGTH_SHORT).show()})
98+
}
8699
}

app/src/main/kotlin/com/rayfantasy/icode/ui/activity/MainActivity.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,7 @@ class MainActivity : ActivityBase(), NavigationView.OnNavigationItemSelectedList
214214
requestQueue.add(request)
215215
}
216216

217+
217218
override fun onPause() {
218219
super.onPause()
219220
requestQueue.cancelAll(TAG_CHECK_UPDATE)
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
package com.rayfantasy.icode.ui.adapter
2+
3+
import android.app.Activity
4+
import android.support.v7.widget.RecyclerView
5+
import android.view.View
6+
import android.view.ViewGroup
7+
import com.rayfantasy.icode.R
8+
import com.rayfantasy.icode.databinding.ItemRecyclerCodeListBinding
9+
import com.rayfantasy.icode.extension.inflate
10+
import com.rayfantasy.icode.extension.loadPortrait
11+
import com.rayfantasy.icode.model.ICodeTheme
12+
import com.rayfantasy.icode.postutil.bean.CodeGood
13+
import com.rayfantasy.icode.ui.activity.BlocksActivity
14+
import com.rayfantasy.icode.ui.activity.UserActivity
15+
import com.rayfantasy.icode.util.ms2RelativeDate
16+
import kotlinx.android.synthetic.main.item_recycler_code_list.view.*
17+
import org.jetbrains.anko.onClick
18+
import org.jetbrains.anko.startActivity
19+
20+
class FavoriteAdapter(val activity: Activity, var codeGoods: MutableList<CodeGood>, onLoadingMore: () -> Unit) :
21+
LoadMoreAdapter<FavoriteAdapter.NormalViewHolder>(activity, onLoadingMore) {
22+
override val normalItemCount: Int
23+
get() = codeGoods.size
24+
25+
override fun onBindNormalViewHolder(holder: NormalViewHolder, position: Int) {
26+
val codeGood = codeGoods[position]
27+
28+
holder.title.text = codeGood.title
29+
holder.subTitle.text = codeGood.subtitle
30+
holder.time.text = ms2RelativeDate(activity, codeGood.createAt!!)
31+
holder.username.text = codeGood.username
32+
holder.pic.loadPortrait(codeGood.username)
33+
holder.pic.onClick {
34+
activity.startActivity<UserActivity>("username" to codeGood.username.toString())
35+
}
36+
holder.binding.highlight = codeGood.highlight ?: false
37+
/*if (codeGood.highlight ?: false) {
38+
holder.title.setTextColor(Color.RED)
39+
holder.username.setTextColor(Color.RED)
40+
holder.subTitle.setTextColor(Color.RED)
41+
holder.username.append("被管理员临时高亮!")
42+
}*/
43+
44+
holder.bg.onClick {
45+
activity.startActivity<BlocksActivity>("codeGood" to codeGood)
46+
}
47+
}
48+
49+
override fun onCreateNormalViewHolder(parent: ViewGroup, viewType: Int)
50+
= NormalViewHolder(parent.inflate(R.layout.item_recycler_code_list))
51+
52+
class NormalViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
53+
val pic = itemView.pic
54+
val username = itemView.username
55+
val time = itemView.time
56+
val title = itemView.title
57+
val subTitle = itemView.sub_title
58+
val bg = itemView.element_bg
59+
val binding: ItemRecyclerCodeListBinding
60+
61+
init {
62+
binding = ItemRecyclerCodeListBinding.bind(itemView)
63+
binding.theme = ICodeTheme
64+
}
65+
}
66+
}

app/src/main/kotlin/com/rayfantasy/icode/ui/fragment/FavoriteFragment.kt

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,29 @@ import android.os.Bundle
44
import android.view.LayoutInflater
55
import android.view.View
66
import android.view.ViewGroup
7+
import com.android.volley.Request
8+
import com.raizlabs.android.dbflow.sql.language.Select
79
import com.rayfantasy.icode.R
10+
import com.rayfantasy.icode.databinding.FragmentMainBinding
11+
import com.rayfantasy.icode.extra.PreloadLinearLayoutManager
12+
import com.rayfantasy.icode.model.ICodeTheme
13+
import com.rayfantasy.icode.postutil.PostUtil
14+
import com.rayfantasy.icode.postutil.bean.CodeGood
15+
import com.rayfantasy.icode.postutil.bean.CodeGood_Table
16+
import com.rayfantasy.icode.postutil.bean.Favorite
17+
import com.rayfantasy.icode.postutil.bean.Favorite_Table
18+
import com.rayfantasy.icode.ui.adapter.CodeListAdapter
19+
import com.rayfantasy.icode.ui.adapter.LoadMoreAdapter
20+
import kotlinx.android.synthetic.main.fragment_favorite.*
21+
import kotlinx.android.synthetic.main.fragment_favorite.view.*
22+
import org.apache.commons.collections4.list.SetUniqueList
23+
import org.jetbrains.anko.support.v4.onRefresh
824

925
class FavoriteFragment : FragmentBase() {
10-
11-
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
12-
savedInstanceState: Bundle?): View? {
13-
// Inflate the layout for this fragment
14-
return inflater.inflate(R.layout.fragment_favorite, container, false)
26+
override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
27+
super.onViewCreated(view, savedInstanceState)
1528

1629
}
1730

1831

19-
override fun onResume() {
20-
super.onResume()
21-
22-
}
2332
}
Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
1-
<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
2-
xmlns:tools="http://schemas.android.com/tools"
3-
android:layout_width="match_parent"
4-
android:layout_height="match_parent"
5-
android:id="@+id/favo_swipe"
6-
tools:context=".ui.fragment.FavoriteFragment">
1+
<android.support.v4.widget.SwipeRefreshLayout
2+
xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:tools="http://schemas.android.com/tools"
4+
android:layout_width="match_parent"
5+
android:layout_height="match_parent"
6+
android:id="@+id/favo_swipe"
7+
tools:context=".ui.fragment.FavoriteFragment">
78

89
<android.support.v7.widget.RecyclerView
9-
android:id="@+id/favorite_recycler_view"
10-
android:layout_width="match_parent"
11-
android:layout_height="match_parent"/>
10+
android:id="@+id/favorite_recycler_view"
11+
android:layout_width="match_parent"
12+
android:layout_height="match_parent"/>
1213

1314
</android.support.v4.widget.SwipeRefreshLayout>

0 commit comments

Comments
 (0)