Skip to content

Commit b0c107a

Browse files
committed
细节优化
1 parent 0e77209 commit b0c107a

File tree

38 files changed

+238
-171
lines changed

38 files changed

+238
-171
lines changed

app/build.gradle

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ android {
66
minSdkVersion rootProject.ext.android.minSdkVersion
77
targetSdkVersion rootProject.ext.android.targetSdkVersion
88
applicationId "com.rae.cnblogs"
9-
versionCode 8
9+
versionCode 10
1010
versionName "1.1.5"
1111
multiDexEnabled true
1212
ndk {
@@ -50,6 +50,14 @@ android {
5050
sourceCompatibility JavaVersion.VERSION_1_8
5151
targetCompatibility JavaVersion.VERSION_1_8
5252
}
53+
//为了解决部分第三方库重复打包了META-INF的问题
54+
packagingOptions {
55+
exclude 'META-INF/LICENSE.txt'
56+
exclude 'META-INF/NOTICE.txt'
57+
}
58+
lintOptions {
59+
abortOnError false
60+
}
5361
}
5462

5563
dependencies {

app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
android:allowBackup="true"
66
android:label="@string/app_name"
77
android:supportsRtl="true"
8+
android:networkSecurityConfig="@xml/network_security_config"
89
android:theme="@style/AppTheme">
910
<!--主界面-->
1011
<activity
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<network-security-config>
3+
<base-config cleartextTrafficPermitted="true" />
4+
</network-security-config>

dependencies.gradle

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ ext {
33

44
// Android 扩展配置
55
android = [
6-
versionCode : 8, // 版本号
76
compileSdkVersion: 28, // Android 9.0
87
targetSdkVersion : 28, // Android 9.0
98
minSdkVersion : 19, // Android 4.4
@@ -59,9 +58,9 @@ ext {
5958
// IOS 切换按钮
6059
switchbutton : 'com.kyleduo.switchbutton:library:1.4.6',
6160
// LeanCloud 基础包
62-
avoscloudSdk : 'cn.leancloud.android:avoscloud-sdk:v4.4.3',
61+
avoscloudSdk : 'cn.leancloud.android:avoscloud-sdk:v4.7.8',
6362
// LeanCloud 用户反馈包
64-
avoscloudFeedback : 'cn.leancloud.android:avoscloud-feedback:v4.4.3@aar',
63+
avoscloudFeedback : 'cn.leancloud.android:avoscloud-feedback:v4.7.8@aar',
6564
// 滑动返回
6665
swipebacklayout : 'me.imid.swipebacklayout.lib:library:1.1.0',
6766
photoView : 'com.github.chrisbanes:PhotoView:2.1.2',

module-basic/src/main/java/com/rae/cnblogs/basic/BasicFragment.java

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -56,17 +56,6 @@ public void onDestroy() {
5656
}
5757
}
5858

59-
@Override
60-
public void onResume() {
61-
super.onResume();
62-
MobclickAgent.onPageStart(mPageName);
63-
}
64-
65-
@Override
66-
public void onPause() {
67-
super.onPause();
68-
MobclickAgent.onPageEnd(mPageName);
69-
}
7059

7160
/**
7261
* 实现类重写加载数据逻辑
@@ -85,4 +74,5 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) {
8574
fragment.onActivityResult(requestCode, resultCode, data);
8675
}
8776
}
77+
8878
}

module-blog/src/main/java/com/rae/cnblogs/blog/BloggerActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ public void onLoadBloggerInfo(final FriendsInfoBean userInfo) {
215215
GlideApp.with(this)
216216
.load(userInfo.getAvatar())
217217
.centerCrop()
218-
.placeholder(R.drawable.boy)
218+
.placeholder(R.drawable.default_avatar_placeholder)
219219
.into(mAvatarView);
220220

221221
showAvatar(userInfo.getBlogApp(), userInfo.getAvatar());

module-blog/src/main/java/com/rae/cnblogs/blog/detail/ContentDetailPresenterImpl.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,12 @@ public void onNext(ContentEntity contentEntity) {
114114
if (blogInfo == null) return;
115115
blogInfo.setRead(true);
116116
dbBlog.updateUserBlog(blogInfo);
117+
118+
BlogBean blog = dbBlog.getBlog(contentEntity.getId());
119+
if (blog != null) {
120+
blog.setIsRead(true);
121+
dbBlog.updateBlog(blog);
122+
}
117123
}
118124
});
119125

module-blog/src/main/java/com/rae/cnblogs/blog/fragment/BlogDetailFragment.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,12 @@
2929
import com.rae.cnblogs.sdk.bean.BlogType;
3030
import com.rae.cnblogs.sdk.config.CnblogAppConfig;
3131
import com.rae.cnblogs.sdk.db.model.UserBlogInfo;
32+
import com.rae.cnblogs.sdk.event.FontChangedEvent;
3233
import com.rae.cnblogs.widget.ImageLoadingView;
3334

35+
import org.greenrobot.eventbus.EventBus;
36+
import org.greenrobot.eventbus.Subscribe;
37+
3438
import butterknife.BindView;
3539
import butterknife.OnClick;
3640

@@ -86,6 +90,7 @@ public void onShare(ShareDialogFragment dialog) {
8690
@Override
8791
public void onCreate(@Nullable Bundle savedInstanceState) {
8892
super.onCreate(savedInstanceState);
93+
EventBus.getDefault().register(this);
8994
// 初始化参数属性
9095
Bundle arguments = getArguments();
9196
if (arguments != null) {
@@ -116,6 +121,12 @@ public void onCreate(@Nullable Bundle savedInstanceState) {
116121

117122
}
118123

124+
@Override
125+
public void onDestroy() {
126+
super.onDestroy();
127+
EventBus.getDefault().unregister(this);
128+
}
129+
119130
@Override
120131
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
121132
super.onActivityCreated(savedInstanceState);
@@ -384,4 +395,11 @@ public void onActionMenuMoreClick() {
384395
String imageUrl = mContentEntity.getAvatar();
385396
ShareDialogFragment.newInstance(url, title, desc, imageUrl).show(getChildFragmentManager(), "share");
386397
}
398+
399+
@Subscribe
400+
public void onEvent(FontChangedEvent event) {
401+
if (mContentWebViewFragment != null) {
402+
mContentWebViewFragment.onFontSizeChanged();
403+
}
404+
}
387405
}

module-blog/src/main/java/com/rae/cnblogs/blog/fragment/BlogHomeFragment.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import com.rae.cnblogs.blog.adapter.BlogHomeFragmentAdapter;
2424
import com.rae.cnblogs.blog.home.BlogHomeContract;
2525
import com.rae.cnblogs.blog.home.BlogHomePresenterImpl;
26+
import com.rae.cnblogs.sdk.UserProvider;
2627
import com.rae.cnblogs.sdk.bean.CategoryBean;
2728
import com.rae.cnblogs.widget.ITopScrollable;
2829

@@ -231,6 +232,10 @@ private void clearFragments() {
231232

232233
@OnClick(R2.id.fl_search)
233234
public void onSearchClick() {
234-
AppRoute.routeToSearch(getContext());
235+
if (UserProvider.getInstance().isLogin()) {
236+
AppRoute.routeToSearch(getContext());
237+
} else {
238+
AppRoute.routeToLogin(getContext());
239+
}
235240
}
236241
}

module-blog/src/main/java/com/rae/cnblogs/blog/fragment/ContentWebViewFragment.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,4 +216,9 @@ public boolean shouldOverrideUrlLoading(WebView view, String url) {
216216
return mRaeWebViewClient;
217217

218218
}
219+
220+
public void onFontSizeChanged() {
221+
initFontSize();
222+
reload();
223+
}
219224
}

module-blog/src/main/java/com/rae/cnblogs/blog/fragment/MultipleTypeBlogListFragment.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import com.rae.cnblogs.widget.ITopScrollable;
2424
import com.rae.cnblogs.widget.PlaceholderView;
2525
import com.rae.cnblogs.widget.RaeRecyclerView;
26+
import com.umeng.analytics.MobclickAgent;
2627

2728
import java.util.List;
2829

@@ -219,4 +220,18 @@ public void scrollToTop() {
219220
protected ContentItemAdapter getAdapter() {
220221
return mAdapter;
221222
}
223+
224+
@Override
225+
public void onResume() {
226+
super.onResume();
227+
if (mCategory != null)
228+
MobclickAgent.onPageStart(mCategory.getName());
229+
}
230+
231+
@Override
232+
public void onPause() {
233+
super.onPause();
234+
if (mCategory != null)
235+
MobclickAgent.onPageEnd(mCategory.getName());
236+
}
222237
}

module-blog/src/main/res/layout/fm_blogger_info.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
android:layout_width="60dp"
7878
android:layout_height="60dp"
7979
android:scaleType="centerCrop"
80-
android:src="@drawable/boy"
80+
android:src="@drawable/default_avatar_placeholder"
8181
app:riv_corner_radius="70dp" />
8282

8383
<TextView
@@ -104,7 +104,7 @@
104104
android:paddingStart="20dp"
105105
android:paddingEnd="20dp"
106106
android:text="@string/following"
107-
android:textColor="@color/white"
107+
android:textColor="@color/follow_white"
108108
android:textSize="@dimen/h3"
109109
android:textStyle="bold"
110110
android:visibility="visible" />

module-blog/src/main/res/layout/item_blog_comment.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
android:alpha="0.3"
2323
android:background="@drawable/bg_user_avatar"
2424
android:scaleType="centerCrop"
25-
android:src="@drawable/boy"
25+
android:src="@drawable/default_avatar_placeholder"
2626
app:riv_corner_radius="32dp" />
2727

2828

module-home/src/main/java/com/rae/cnblogs/home/AboutMeActivity.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package com.rae.cnblogs.home;
22

3+
import android.content.ClipData;
4+
import android.content.ClipboardManager;
5+
import android.content.Context;
36
import android.content.DialogInterface;
47
import android.content.Intent;
58
import android.net.Uri;
@@ -9,6 +12,7 @@
912

1013
import com.alibaba.android.arouter.facade.annotation.Route;
1114
import com.rae.cnblogs.AppRoute;
15+
import com.rae.cnblogs.UICompat;
1216
import com.rae.cnblogs.activity.SwipeBackBasicActivity;
1317
import com.rae.cnblogs.basic.ApplicationCompat;
1418
import com.rae.cnblogs.dialog.DefaultDialogFragment;
@@ -50,4 +54,15 @@ public void onClick(DialogInterface dialog, int which) {
5054
})
5155
.show(getSupportFragmentManager(), "aboutMe");
5256
}
57+
58+
@OnClick(R2.id.btn_concat)
59+
public void onConcatMeClick() {
60+
boolean result = AppRoute.routeToQQGroup(this);
61+
if (!result) {
62+
ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
63+
if (clipboardManager == null) return;
64+
clipboardManager.setPrimaryClip(ClipData.newPlainText("text", "576571648"));
65+
UICompat.failed(this, "跳转QQ失败,群号已复制,请前往QQ添加");
66+
}
67+
}
5368
}

module-home/src/main/java/com/rae/cnblogs/home/LauncherActivity.java

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010

1111
import com.rae.cnblogs.AppRoute;
1212
import com.rae.cnblogs.basic.AppImageLoader;
13-
import com.rae.cnblogs.basic.AppMobclickAgent;
1413
import com.rae.cnblogs.basic.BasicActivity;
1514
import com.rae.cnblogs.home.launcher.LauncherContract;
1615
import com.rae.cnblogs.home.launcher.LauncherPresenterImpl;
@@ -97,7 +96,6 @@ public void onRouteToWeb(@NonNull String url) {
9796
finish();
9897
}
9998

100-
10199
@Override
102100
public void onEmptyImage() {
103101
// 加载默认
@@ -120,12 +118,6 @@ public void onRouteToHome() {
120118

121119
@OnClick(R2.id.tv_skip)
122120
public void onSkipClick() {
123-
finish();
124-
}
125-
126-
@Override
127-
public void finish() {
128-
super.finish();
129-
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
121+
onRouteToHome();
130122
}
131123
}

module-home/src/main/java/com/rae/cnblogs/home/MineFragment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ public void onLoginExpired() {
161161
public void onNotLogin() {
162162
// 没有登录的UI
163163
mDisplayNameView.setText(R.string.please_login);
164-
mAvatarView.setImageResource(R.drawable.boy);
164+
mAvatarView.setImageResource(R.drawable.default_avatar_placeholder);
165165
mFansAndFollowLayout.setVisibility(View.GONE);
166166
mFansCountView.setText("0");
167167
mFollowCountView.setText("0");

module-home/src/main/java/com/rae/cnblogs/home/launcher/LauncherPresenterImpl.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,6 @@ protected void onStart() {
132132
protected void onDestroy() {
133133
super.onDestroy();
134134
mCountDownTimer.cancel();
135-
mCountDownTimer.onFinish();
136135
}
137136

138137
@Override
@@ -141,7 +140,7 @@ public void onAdClick() {
141140
// 统计
142141
AppMobclickAgent.onLaunchAdClickEvent(getContext(), mAdvertBean.getAdId(), mAdvertBean.getAdName());
143142
mCountDownTimer.cancel();
144-
// 跳转网页
143+
// 再跳转网页
145144
getView().onRouteToWeb(mAdvertBean.getAdUrl());
146145
}
147146

module-home/src/main/java/com/rae/cnblogs/home/search/SearchActivity.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import com.rae.cnblogs.UICompat;
2121
import com.rae.cnblogs.basic.AppMobclickAgent;
2222
import com.rae.cnblogs.basic.BasicActivity;
23+
import com.rae.cnblogs.basic.rx.AndroidObservable;
2324
import com.rae.cnblogs.home.R;
2425
import com.rae.cnblogs.home.fragment.HotSearchFragment;
2526
import com.rae.cnblogs.home.fragment.SearchResultFragment;
@@ -147,7 +148,11 @@ private void performSearch(String text) {
147148
// 埋点
148149
AppMobclickAgent.onSearchEvent(this, text);
149150
// raedev.io 记录热搜
150-
CnblogsApiFactory.getInstance(this).getRaeServerApi().search(text).subscribe();
151+
AndroidObservable.create(CnblogsApiFactory.getInstance(this)
152+
.getRaeServerApi()
153+
.search(text))
154+
.with(this)
155+
.subscribe();
151156
}
152157

153158
@OnClick(R2.id.img_edit_delete)

0 commit comments

Comments
 (0)