Skip to content

Commit b1f9320

Browse files
committed
2.2.1更新
1 parent 172b76c commit b1f9320

File tree

9 files changed

+285
-25
lines changed

9 files changed

+285
-25
lines changed

app/build.gradle

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,21 @@ android {
1212
applicationId "ceui.lisa.pixiv"
1313
minSdkVersion 21
1414
targetSdkVersion 28
15-
versionCode 108
16-
versionName "2.2.0"
15+
versionCode 109
16+
versionName "2.2.1"
1717
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
18+
19+
javaCompileOptions {
20+
annotationProcessorOptions {
21+
arguments = [
22+
//必须,告知RxHttp你依赖的okhttp版本,目前已适配 v3.12.0 - v4.7.2版本 (v4.3.0除外)
23+
rxhttp_okhttp: '4.4.0',
24+
//使用asXxx方法时必须,告知RxHttp你依赖的rxjava版本,可传入rxjava2、rxjava3
25+
rxhttp_rxjava: 'rxjava3',
26+
rxhttp_package: 'rxhttp' //非必须,指定RxHttp相关类的生成路径,即包名
27+
]
28+
}
29+
}
1830
}
1931

2032
buildTypes {
@@ -105,15 +117,14 @@ dependencies {
105117
implementation 'com.makeramen:roundedimageview:2.3.0'
106118
//
107119
//
108-
// implementation 'com.ljx.rxhttp:rxhttp:2.3.3'
109-
// implementation 'com.squareup.okhttp3:okhttp:4.7.2' //rxhttp v2.2.2版本起,需要手动依赖okhttp
110-
// kapt 'com.ljx.rxhttp:rxhttp-compiler:2.3.3'
111-
//
112-
// implementation 'com.ljx.rxlife:rxlife-coroutine:2.0.0'
113-
//
114-
// implementation 'io.reactivex.rxjava3:rxjava:3.0.4'
115-
// implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'
116-
// implementation 'com.ljx.rxlife3:rxlife-rxjava:3.0.0'
120+
implementation 'com.ljx.rxhttp:rxhttp:2.3.3'
121+
kapt 'com.ljx.rxhttp:rxhttp-compiler:2.3.3'
122+
123+
implementation 'com.ljx.rxlife:rxlife-coroutine:2.0.0'
124+
125+
implementation 'io.reactivex.rxjava3:rxjava:3.0.4'
126+
implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'
127+
implementation 'com.ljx.rxlife3:rxlife-rxjava:3.0.0'
117128

118129
implementation project(path: ':models')
119130
implementation project(path: ':base')

app/src/main/java/ceui/lisa/activities/TemplateActivity.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@
1717
import ceui.lisa.fragments.FragmentAnime;
1818
import ceui.lisa.fragments.FragmentBh;
1919
import ceui.lisa.fragments.FragmentFileName;
20+
import ceui.lisa.fragments.FragmentHttpTest;
2021
import ceui.lisa.fragments.FragmentListSimpleUser;
2122
import ceui.lisa.fragments.FragmentMultiDownld;
23+
import ceui.lisa.fragments.FragmentNew;
2224
import ceui.lisa.fragments.FragmentNewNovel;
2325
import ceui.lisa.fragments.FragmentNovelSeries;
2426
import ceui.lisa.fragments.FragmentRecmdIllust;
@@ -39,7 +41,6 @@
3941
import ceui.lisa.fragments.FragmentLive;
4042
import ceui.lisa.fragments.FragmentLocalUsers;
4143
import ceui.lisa.fragments.FragmentMutedTags;
42-
import ceui.lisa.fragments.FragmentNew;
4344
import ceui.lisa.fragments.FragmentNiceFriend;
4445
import ceui.lisa.fragments.FragmentNovelHolder;
4546
import ceui.lisa.fragments.FragmentPv;
@@ -141,7 +142,8 @@ protected Fragment createNewFragment() {
141142
return FragmentAnime.newInstance();
142143
case "最新作品":
143144
if (Dev.isDev) {
144-
return FragmentBh.newInstance();
145+
return new FragmentHttpTest();
146+
// return FragmentBh.newInstance();
145147
} else {
146148
return new FragmentNew();
147149
}
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
package ceui.lisa.fragments;
2+
3+
import android.view.View;
4+
5+
import androidx.lifecycle.ViewModelProvider;
6+
7+
import ceui.lisa.R;
8+
import ceui.lisa.databinding.FragmentNewBinding;
9+
import ceui.lisa.utils.Common;
10+
import ceui.lisa.viewmodel.Hito;
11+
import ceui.lisa.viewmodel.HitoModel;
12+
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
13+
import io.reactivex.rxjava3.annotations.NonNull;
14+
import io.reactivex.rxjava3.core.Observer;
15+
import io.reactivex.rxjava3.disposables.Disposable;
16+
import io.reactivex.rxjava3.schedulers.Schedulers;
17+
import rxhttp.RxHttp;
18+
19+
public class FragmentHttpTest extends BaseFragment<FragmentNewBinding> {
20+
21+
private HitoModel mHitoModel;
22+
23+
@Override
24+
public void initLayout() {
25+
mLayoutID = R.layout.fragment_new;
26+
}
27+
28+
@Override
29+
public void initView(View view) {
30+
mHitoModel = new ViewModelProvider(this).get(HitoModel.class);
31+
}
32+
33+
@Override
34+
void initData() {
35+
mHitoModel.getContent().observe(this, new androidx.lifecycle.Observer<Hito>() {
36+
@Override
37+
public void onChanged(Hito hito) {
38+
baseBind.content.setText(hito.toString());
39+
}
40+
});
41+
if (mHitoModel.getContent().getValue() == null) {
42+
RxHttp.get("https://api.imjad.cn/hitokoto/?cat=&charset=utf-8&encode=json")
43+
.asClass(Hito.class)
44+
.subscribeOn(Schedulers.newThread())
45+
.observeOn(AndroidSchedulers.mainThread())
46+
.subscribe(new Observer<Hito>() {
47+
@Override
48+
public void onSubscribe(@NonNull Disposable d) {
49+
50+
}
51+
52+
@Override
53+
public void onNext(@NonNull Hito hito) {
54+
mHitoModel.getContent().setValue(hito);
55+
}
56+
57+
@Override
58+
public void onError(@NonNull Throwable e) {
59+
e.printStackTrace();
60+
}
61+
62+
@Override
63+
public void onComplete() {
64+
65+
}
66+
});
67+
}
68+
69+
}
70+
}

app/src/main/java/ceui/lisa/fragments/FragmentMutedTags.java

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package ceui.lisa.fragments;
22

33
import android.content.DialogInterface;
4+
import android.text.InputType;
45
import android.view.MenuItem;
56
import android.view.View;
67
import android.view.Window;
8+
import android.widget.Toast;
79

810
import androidx.appcompat.app.AlertDialog;
911
import androidx.appcompat.widget.Toolbar;
@@ -21,7 +23,6 @@
2123
import ceui.lisa.database.AppDatabase;
2224
import ceui.lisa.databinding.FragmentBaseListBinding;
2325
import ceui.lisa.databinding.RecyBookTagBinding;
24-
import ceui.lisa.dialogs.AddTagDialog;
2526
import ceui.lisa.helper.TagFilter;
2627
import ceui.lisa.interfaces.OnItemClickListener;
2728
import ceui.lisa.models.TagsBean;
@@ -100,8 +101,30 @@ public void onClick(QMUIDialog dialog, int index) {
100101
.show();
101102
}
102103
} else if (item.getItemId() == R.id.action_add) {
103-
AddTagDialog dialog = AddTagDialog.newInstance(1);
104-
dialog.show(getChildFragmentManager(), "AddTagDialog");
104+
final QMUIDialog.EditTextDialogBuilder builder = new QMUIDialog.EditTextDialogBuilder(mActivity);
105+
builder.setTitle("添加屏蔽标签")
106+
.setSkinManager(QMUISkinManager.defaultInstance(mContext))
107+
.setPlaceholder("请输入标签名")
108+
.setInputType(InputType.TYPE_CLASS_TEXT)
109+
.addAction("取消", new QMUIDialogAction.ActionListener() {
110+
@Override
111+
public void onClick(QMUIDialog dialog, int index) {
112+
dialog.dismiss();
113+
}
114+
})
115+
.addAction("添加", new QMUIDialogAction.ActionListener() {
116+
@Override
117+
public void onClick(QMUIDialog dialog, int index) {
118+
CharSequence text = builder.getEditText().getText();
119+
if (text != null && text.length() > 0) {
120+
addMutedTag(text.toString());
121+
dialog.dismiss();
122+
} else {
123+
Toast.makeText(getActivity(), "请填入标签", Toast.LENGTH_SHORT).show();
124+
}
125+
}
126+
})
127+
.show();
105128
}
106129
return true;
107130
}

app/src/main/java/ceui/lisa/fragments/FragmentSB.java

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,18 @@
22

33
import android.content.Intent;
44
import android.os.Bundle;
5+
import android.text.InputType;
56
import android.view.MenuItem;
67
import android.view.View;
8+
import android.widget.Toast;
79

810
import androidx.appcompat.widget.Toolbar;
911
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
1012

13+
import com.qmuiteam.qmui.skin.QMUISkinManager;
14+
import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
15+
import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
16+
1117
import org.greenrobot.eventbus.EventBus;
1218

1319
import java.util.ArrayList;
@@ -21,13 +27,11 @@
2127
import ceui.lisa.core.RemoteRepo;
2228
import ceui.lisa.databinding.FragmentSelectTagBinding;
2329
import ceui.lisa.databinding.RecySelectTagBinding;
24-
import ceui.lisa.dialogs.AddTagDialog;
2530
import ceui.lisa.http.ErrorCtrl;
2631
import ceui.lisa.http.Retro;
2732
import ceui.lisa.model.ListBookmarkTag;
2833
import ceui.lisa.models.NullResponse;
2934
import ceui.lisa.models.TagsBean;
30-
import ceui.lisa.utils.Channel;
3135
import ceui.lisa.utils.Common;
3236
import ceui.lisa.utils.Params;
3337
import io.reactivex.Observable;
@@ -164,8 +168,30 @@ public void initToolbar(Toolbar toolbar) {
164168
@Override
165169
public boolean onMenuItemClick(MenuItem item) {
166170
if (item.getItemId() == R.id.action_add) {
167-
AddTagDialog dialog = AddTagDialog.newInstance(0);
168-
dialog.show(getChildFragmentManager(), "AddTagDialog");
171+
final QMUIDialog.EditTextDialogBuilder builder = new QMUIDialog.EditTextDialogBuilder(mActivity);
172+
builder.setTitle("添加标签")
173+
.setSkinManager(QMUISkinManager.defaultInstance(mContext))
174+
.setPlaceholder("请输入标签(收藏夹)名")
175+
.setInputType(InputType.TYPE_CLASS_TEXT)
176+
.addAction("取消", new QMUIDialogAction.ActionListener() {
177+
@Override
178+
public void onClick(QMUIDialog dialog, int index) {
179+
dialog.dismiss();
180+
}
181+
})
182+
.addAction("添加", new QMUIDialogAction.ActionListener() {
183+
@Override
184+
public void onClick(QMUIDialog dialog, int index) {
185+
CharSequence text = builder.getEditText().getText();
186+
if (text != null && text.length() > 0) {
187+
addTag(text.toString());
188+
dialog.dismiss();
189+
} else {
190+
Toast.makeText(getActivity(), "请填入标签", Toast.LENGTH_SHORT).show();
191+
}
192+
}
193+
})
194+
.show();
169195
return true;
170196
}
171197
return false;

app/src/main/java/ceui/lisa/utils/Dev.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
public class Dev {
44

55
//是否是开发状态
6-
public static boolean isDev = true;
6+
public static boolean isDev = false;
77
public static boolean refreshUser = false;
88

99
/**
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
package ceui.lisa.viewmodel;
2+
3+
public class Hito {
4+
5+
6+
/**
7+
* hitokoto : 所以,他们的祭典还没结束。
8+
* author : 阿布碳。
9+
* source : 我的青春恋爱物语果然有问题
10+
* date : 2013.07.23 22:04:49
11+
* catname : Anime - 动画
12+
* id : 1374588289000
13+
*/
14+
15+
private String hitokoto;
16+
private String author;
17+
private String source;
18+
private String date;
19+
private String catname;
20+
private String id;
21+
22+
public String getHitokoto() {
23+
return hitokoto;
24+
}
25+
26+
public void setHitokoto(String hitokoto) {
27+
this.hitokoto = hitokoto;
28+
}
29+
30+
public String getAuthor() {
31+
return author;
32+
}
33+
34+
public void setAuthor(String author) {
35+
this.author = author;
36+
}
37+
38+
public String getSource() {
39+
return source;
40+
}
41+
42+
public void setSource(String source) {
43+
this.source = source;
44+
}
45+
46+
public String getDate() {
47+
return date;
48+
}
49+
50+
public void setDate(String date) {
51+
this.date = date;
52+
}
53+
54+
public String getCatname() {
55+
return catname;
56+
}
57+
58+
public void setCatname(String catname) {
59+
this.catname = catname;
60+
}
61+
62+
public String getId() {
63+
return id;
64+
}
65+
66+
public void setId(String id) {
67+
this.id = id;
68+
}
69+
70+
@Override
71+
public String toString() {
72+
return "Hito{" +
73+
"hitokoto='" + hitokoto + '\'' +
74+
", author='" + author + '\'' +
75+
", source='" + source + '\'' +
76+
", date='" + date + '\'' +
77+
", catname='" + catname + '\'' +
78+
", id='" + id + '\'' +
79+
'}';
80+
}
81+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package ceui.lisa.viewmodel;
2+
3+
import androidx.lifecycle.MutableLiveData;
4+
import androidx.lifecycle.ViewModel;
5+
6+
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
7+
import io.reactivex.rxjava3.annotations.NonNull;
8+
import io.reactivex.rxjava3.core.Observer;
9+
import io.reactivex.rxjava3.disposables.Disposable;
10+
import io.reactivex.rxjava3.schedulers.Schedulers;
11+
import rxhttp.RxHttp;
12+
13+
14+
public class HitoModel extends ViewModel {
15+
16+
private MutableLiveData<Hito> content;
17+
18+
public HitoModel() {
19+
content = new MutableLiveData<>();
20+
21+
}
22+
23+
public MutableLiveData<Hito> getContent() {
24+
return content;
25+
}
26+
27+
public void setContent(MutableLiveData<Hito> content) {
28+
this.content = content;
29+
}
30+
}

0 commit comments

Comments
 (0)