Skip to content

Commit fdc46e0

Browse files
committed
恢复被误删的文件
1 parent bccd3e0 commit fdc46e0

File tree

6 files changed

+157
-1
lines changed

6 files changed

+157
-1
lines changed

app/src/main/AndroidManifest.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,10 @@
5555
android:name=".ui.activity.RegisterActivity"
5656
android:label="@string/title_activity_register"
5757
android:theme="@style/AppTheme.NoActionBar" />
58+
<activity
59+
android:name=".ui.activity.WriteCodeActivity"
60+
android:label="@string/title_activity_write_code"
61+
android:theme="@style/AppTheme.NoActionBar.TransparentBackground" />
5862
<activity
5963
android:name=".ui.activity.AccountSettingActivity"
6064
android:label="@string/title_activity_account_setting"
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
package com.rayfantasy.icode.ui.activity
2+
3+
import android.databinding.DataBindingUtil
4+
import android.os.Bundle
5+
import android.support.design.widget.Snackbar
6+
import android.view.ViewGroup
7+
import com.android.volley.Request
8+
import com.h6ah4i.android.widget.advrecyclerview.animator.RefactoredDefaultItemAnimator
9+
import com.h6ah4i.android.widget.advrecyclerview.draggable.RecyclerViewDragDropManager
10+
import com.rayfantasy.icode.R
11+
import com.rayfantasy.icode.databinding.ActivityWriteCodeBinding
12+
import com.rayfantasy.icode.extension.snackBar
13+
import com.rayfantasy.icode.extra.PreloadLinearLayoutManager
14+
import com.rayfantasy.icode.model.ICodeTheme
15+
import com.rayfantasy.icode.postutil.PostUtil
16+
import com.rayfantasy.icode.postutil.bean.CodeGood
17+
import com.rayfantasy.icode.postutil.extension.e
18+
import com.rayfantasy.icode.ui.adapter.EditBlockAdapter
19+
import com.rayfantasy.icode.util.error
20+
import io.codetail.animation.SupportAnimator
21+
import kotlinx.android.synthetic.main.activity_write_code.*
22+
import kotlinx.android.synthetic.main.content_write_code.*
23+
import org.jetbrains.anko.onClick
24+
25+
class WriteCodeActivity : FabTransformActivity() {
26+
private lateinit var supportAnimator: SupportAnimator
27+
private var request: Request<*>? = null
28+
override val revealLayout: ViewGroup
29+
get() = reveal_layout
30+
31+
override val bindingStatus: Boolean
32+
get() = true
33+
34+
override fun onCreate(savedInstanceState: Bundle?) {
35+
super.onCreate(savedInstanceState)
36+
DataBindingUtil.setContentView<ActivityWriteCodeBinding>(this, R.layout.activity_write_code).theme = ICodeTheme
37+
38+
val blockAdapter = EditBlockAdapter(this)
39+
val recyclerViewDragDropManager = RecyclerViewDragDropManager()
40+
recyclerViewDragDropManager.setInitiateOnLongPress(true)
41+
recyclerViewDragDropManager.setInitiateOnMove(false)
42+
with(recyclerView) {
43+
layoutManager = PreloadLinearLayoutManager(this@WriteCodeActivity)
44+
itemAnimator = RefactoredDefaultItemAnimator()
45+
}
46+
write_code_tv_fab.onClick {
47+
if (request != null) return@onClick
48+
49+
request = PostUtil.insertCodeGood(CodeGood(
50+
blockAdapter.title,
51+
blockAdapter.subTitle,
52+
blockAdapter.content)) {
53+
onSuccess {
54+
write_code_tv_fab.snackBar(getText(R.string.upload_success), Snackbar.LENGTH_LONG)
55+
finish()
56+
request = null
57+
}
58+
onFailed { t, rc ->
59+
e("failed, rc = $rc")
60+
write_code_tv_fab.snackBar("${getText(R.string.cannot_upload)}${error("insertCodeGood",
61+
rc, this@WriteCodeActivity)}", Snackbar.LENGTH_LONG)
62+
request = null
63+
}
64+
}
65+
}
66+
67+
onStartAnimEnd = {
68+
recyclerView.adapter = recyclerViewDragDropManager.createWrappedAdapter(blockAdapter)
69+
recyclerViewDragDropManager.attachRecyclerView(recyclerView)
70+
}
71+
}
72+
73+
override fun onBackPressed() {
74+
recyclerView.adapter = null
75+
super.onBackPressed()
76+
}
77+
78+
override fun onDestroy() {
79+
super.onDestroy()
80+
request?.let {
81+
PostUtil.cancel(request)
82+
request = null
83+
}
84+
}
85+
}

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ import com.rayfantasy.icode.postutil.PostUtil
1717
import com.rayfantasy.icode.postutil.bean.CodeGood
1818
import com.rayfantasy.icode.postutil.bean.CodeGood_Table
1919
import com.rayfantasy.icode.ui.activity.AccountActivity
20+
import com.rayfantasy.icode.ui.activity.WriteCodeActivity
21+
import com.rayfantasy.icode.ui.activity.startFabTransformActivity
2022
import com.rayfantasy.icode.ui.adapter.CodeListAdapter
2123
import com.rayfantasy.icode.ui.adapter.LoadMoreAdapter
2224
import com.rayfantasy.icode.util.SpaceItemDecoration
@@ -60,7 +62,7 @@ class MainFragment : FragmentBase() {
6062

6163
initRecyclerView()
6264
loadCodeGoods(true)
63-
fab_main.onClick { /* fab_main.startFabTransformActivity<WriteCodeActivity>()*/ startActivity<AccountActivity>() }
65+
fab_main.onClick {fab_main.startFabTransformActivity<WriteCodeActivity>() }
6466
recyclerView.addItemDecoration(SpaceItemDecoration())
6567
}
6668

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<layout xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:app="http://schemas.android.com/apk/res-auto"
4+
xmlns:tools="http://schemas.android.com/tools">
5+
6+
<data>
7+
8+
<variable
9+
name="theme"
10+
type="com.rayfantasy.icode.model.ICodeTheme" />
11+
</data>
12+
13+
<android.support.design.widget.CoordinatorLayout
14+
android:layout_width="match_parent"
15+
android:layout_height="match_parent"
16+
app:statusBarBackgroundColor="@{theme.colorPrimaryDark}"
17+
tools:context=".ui.activity.WriteCodeActivity">
18+
19+
<android.support.design.widget.AppBarLayout
20+
android:layout_width="match_parent"
21+
android:layout_height="wrap_content"
22+
android:theme="@style/AppTheme.AppBarOverlay">
23+
24+
<android.support.v7.widget.Toolbar
25+
android:id="@+id/toolbar"
26+
android:layout_width="match_parent"
27+
android:layout_height="wrap_content"
28+
android:background="@{theme.colorPrimary}"
29+
android:fitsSystemWindows="true"
30+
android:minHeight="?attr/actionBarSize"
31+
app:popupTheme="@style/AppTheme.PopupOverlay" />
32+
33+
</android.support.design.widget.AppBarLayout>
34+
35+
<include layout="@layout/content_write_code" />
36+
37+
<android.support.design.widget.FloatingActionButton
38+
android:id="@+id/write_code_tv_fab"
39+
android:layout_width="wrap_content"
40+
android:layout_height="wrap_content"
41+
android:layout_gravity="bottom|end"
42+
android:layout_margin="@dimen/fab_margin"
43+
android:src="@mipmap/ic_upload_white"
44+
app:backgroundTintList="@{theme.colorAccent}" />
45+
46+
</android.support.design.widget.CoordinatorLayout>
47+
</layout>
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<io.codetail.widget.RevealFrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:app="http://schemas.android.com/apk/res-auto"
4+
xmlns:tools="http://schemas.android.com/tools"
5+
android:id="@+id/reveal_layout"
6+
android:layout_width="match_parent"
7+
android:layout_height="match_parent"
8+
app:layout_behavior="@string/appbar_scrolling_view_behavior"
9+
tools:context=".ui.activity.WriteCodeActivity"
10+
tools:showIn="@layout/activity_write_code">
11+
12+
<android.support.v7.widget.RecyclerView
13+
android:id="@+id/recyclerView"
14+
android:layout_width="match_parent"
15+
android:layout_height="match_parent" />
16+
</io.codetail.widget.RevealFrameLayout>

app/src/main/res/values/styles.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@
3636
<style name="FullWidthCardView" parent="CardView.Light">
3737
<item name="android:layout_marginLeft">-3dp</item>
3838
<item name="android:layout_marginRight">-3dp</item>
39+
<item name="android:layout_marginTop">-6dp</item>
40+
<item name="android:layout_marginBottom">4dp</item>
3941
<item name="cardCornerRadius">0dp</item>
4042
<item name="cardElevation">1dp</item>
4143
<item name="cardPreventCornerOverlap">false</item>

0 commit comments

Comments
 (0)