Skip to content
This repository was archived by the owner on Jun 5, 2024. It is now read-only.

Commit e55668d

Browse files
committed
提交代码
1 parent 6719370 commit e55668d

File tree

17 files changed

+97
-105
lines changed

17 files changed

+97
-105
lines changed

.idea/modules.xml

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/src/main/java/com/rae/cnblogs/MainActivity.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import android.support.v4.app.ActivityCompat;
1212
import android.support.v4.app.Fragment;
1313
import android.support.v4.view.ViewPager;
14+
import android.text.TextUtils;
1415
import android.util.Log;
1516
import android.view.View;
1617
import android.webkit.CookieManager;
@@ -35,6 +36,7 @@
3536
import com.rae.cnblogs.sdk.event.PostMomentEvent;
3637
import com.rae.cnblogs.sdk.event.UserInfoChangedEvent;
3738
import com.rae.cnblogs.widget.ITopScrollable;
39+
import com.umeng.commonsdk.UMConfigure;
3840

3941
import org.greenrobot.eventbus.EventBus;
4042

@@ -74,6 +76,10 @@ public void onNext(Long aLong) {
7476
startService(new Intent(this, CnblogsService.class));
7577
if (BuildConfig.DEBUG) {
7678
debugLogin();
79+
80+
String[] testDeviceInfo = UMConfigure.getTestDeviceInfo(this);
81+
82+
Log.i("rae", "测试信息:" + TextUtils.concat(testDeviceInfo));
7783
}
7884
}
7985

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

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import android.text.TextUtils;
99

1010
import com.umeng.analytics.MobclickAgent;
11-
import com.umeng.commonsdk.UMConfigure;
1211

1312
import java.text.SimpleDateFormat;
1413
import java.util.Date;
@@ -21,20 +20,6 @@
2120
*/
2221
public final class AppMobclickAgent {
2322

24-
/**
25-
* 初始化友盟统计
26-
*
27-
* @param applicationContext 上下文
28-
* @param appKey 应用KEY
29-
* @param channel 渠道名称
30-
*/
31-
public static void init(Context applicationContext,
32-
String appKey,
33-
String channel) {
34-
UMConfigure.setLogEnabled(false);
35-
UMConfigure.init(applicationContext, appKey, channel, UMConfigure.DEVICE_TYPE_PHONE, null);
36-
}
37-
3823
/**
3924
* 统计打开时间
4025
*/

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
import android.view.View;
1111
import android.widget.TextView;
1212

13+
import com.umeng.analytics.MobclickAgent;
14+
1315
import java.util.List;
1416

1517
import butterknife.ButterKnife;
@@ -87,6 +89,18 @@ protected int getHomeAsUpIndicator() {
8789
}
8890

8991

92+
@Override
93+
protected void onResume() {
94+
super.onResume();
95+
MobclickAgent.onResume(this);
96+
}
97+
98+
@Override
99+
protected void onPause() {
100+
super.onPause();
101+
MobclickAgent.onPause(this);
102+
}
103+
90104
@Override
91105
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
92106
super.onActivityResult(requestCode, resultCode, data);

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

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,26 @@
99
import android.view.View;
1010
import android.view.ViewGroup;
1111

12+
import com.umeng.analytics.MobclickAgent;
13+
1214
import java.util.List;
1315

1416
import butterknife.ButterKnife;
1517
import butterknife.Unbinder;
1618

17-
public abstract class BasicFragment extends Fragment implements IPresenterView {
19+
public abstract class BasicFragment extends Fragment implements IPresenterView {
1820

1921
@Nullable
2022
private Unbinder mUnBinder;
2123

24+
private String mPageName = "Fragment";
25+
26+
@Override
27+
public void onCreate(@Nullable Bundle savedInstanceState) {
28+
super.onCreate(savedInstanceState);
29+
mPageName = getClass().getSimpleName();
30+
}
31+
2232
@Nullable
2333
@Override
2434
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
@@ -46,6 +56,18 @@ public void onDestroy() {
4656
}
4757
}
4858

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+
}
70+
4971
/**
5072
* 实现类重写加载数据逻辑
5173
*/

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ protected void onStart() {
6464
.map(new Function<String, String>() {
6565
@Override
6666
public String apply(String content) throws Exception {
67-
6867
// 网络不可用、WIFI情况、 关闭智能无图模式
6968
if (!networkIsOk() || isWIFI() || !mAppConfig.disableBlogImage())
7069
return content;

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

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

1111
import com.rae.cnblogs.AppRoute;
1212
import com.rae.cnblogs.basic.AppImageLoader;
13+
import com.rae.cnblogs.basic.AppMobclickAgent;
1314
import com.rae.cnblogs.basic.BasicActivity;
1415
import com.rae.cnblogs.home.launcher.LauncherContract;
1516
import com.rae.cnblogs.home.launcher.LauncherPresenterImpl;

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ public AdvertBean apply(DbAdvert dbAdvert) {
6363
@Override
6464
public void onNext(AdvertBean advertBean) {
6565
mAdvertBean = advertBean;
66+
AppMobclickAgent.onLaunchAdExposureEvent(getContext(), advertBean.getAdId(), advertBean.getAdName());
6667
getView().onLoadImage(advertBean.getAdName(), advertBean.getImageUrl());
6768
}
6869

@@ -108,6 +109,8 @@ protected void accept(AdvertBean data) {
108109
mDbAdvert.save(data);
109110
mAdvertBean = data;
110111

112+
AppMobclickAgent.onLaunchAdExposureEvent(getContext(), data.getAdId(), data.getAdName());
113+
111114
// 加载图片
112115
if (!TextUtils.isEmpty(data.getImageUrl()))
113116
getView().onLoadImage(data.getAdName(), data.getImageUrl());

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import android.support.v4.app.Fragment;
77
import android.support.v4.app.FragmentTransaction;
88
import android.text.Editable;
9+
import android.text.TextUtils;
910
import android.text.TextWatcher;
1011
import android.util.Log;
1112
import android.view.KeyEvent;
@@ -127,10 +128,12 @@ public void onSearchClick() {
127128
* 执行搜索
128129
*/
129130
private void performSearch(String text) {
131+
if (TextUtils.isEmpty(text)) return;
130132
// 显示搜索结果页,由子Fragment处理
131133
if (mSearchResultFragment == null) {
132134
mSearchResultFragment = new SearchResultFragment();
133135
}
136+
text = text.trim();
134137
Bundle args = new Bundle();
135138
args.putString(Intent.EXTRA_TEXT, text);
136139
mSearchResultFragment.setArguments(args);
@@ -140,6 +143,8 @@ private void performSearch(String text) {
140143
transaction.commit();
141144
UICompat.hideSoftInputFromWindow(this);
142145

146+
// 埋点
147+
AppMobclickAgent.onSearchEvent(this, text);
143148
// 保存搜索记录
144149
// saveHistory(text);
145150
}

module-home/src/main/res/layout/fm_mine.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@
181181
android:paddingEnd="12dp"
182182
android:paddingBottom="12dp">
183183

184-
<TextView
184+
<com.rae.cnblogs.widget.SkinDrawableTextView
185185
android:id="@+id/tv_favorites"
186186
android:layout_width="0dp"
187187
android:layout_height="wrap_content"
@@ -193,7 +193,7 @@
193193
android:textColor="@color/ph1"
194194
android:textSize="@dimen/h3" />
195195

196-
<TextView
196+
<com.rae.cnblogs.widget.SkinDrawableTextView
197197
android:id="@+id/tv_history"
198198
android:layout_width="0dp"
199199
android:layout_height="wrap_content"
@@ -225,7 +225,7 @@
225225
android:background="@drawable/bg_badge"
226226
android:visibility="invisible" />
227227

228-
<TextView
228+
<com.rae.cnblogs.widget.SkinDrawableTextView
229229
android:id="@+id/tv_system_message"
230230
android:layout_width="wrap_content"
231231
android:layout_height="wrap_content"
@@ -239,7 +239,7 @@
239239
</FrameLayout>
240240
</FrameLayout>
241241

242-
<TextView
242+
<com.rae.cnblogs.widget.SkinDrawableTextView
243243
android:id="@+id/tv_night_mode"
244244
android:layout_width="0dp"
245245
android:layout_height="wrap_content"

module-middleware/src/main/java/com/rae/cnblogs/CnblogsApplication.java

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

3+
import android.text.TextUtils;
4+
import android.util.Log;
5+
36
import com.avos.avoscloud.AVOSCloud;
47
import com.avos.avoscloud.feedback.FeedbackThread;
58
import com.rae.cnblogs.basic.AppDataManager;
@@ -35,7 +38,7 @@ protected void onFirstCreate() {
3538
BuildConfig.LEAN_CLOUD_APP_KEY);
3639
FeedbackThread.getInstance();
3740
// Bugly
38-
// CrashReport.initCrashReport(this, BuildConfig.BUGLY_APP_ID, BuildConfig.DEBUG);
41+
CrashReport.initCrashReport(this, BuildConfig.BUGLY_APP_ID, BuildConfig.DEBUG);
3942
initUMConfig();
4043
}
4144

@@ -60,5 +63,7 @@ private void initUMConfig() {
6063
PlatformConfig.setWeixin(BuildConfig.WECHAT_APP_ID, BuildConfig.WECHAT_APP_SECRET);
6164
PlatformConfig.setSinaWeibo(BuildConfig.WEIBO_APP_ID, BuildConfig.WEIBO_APP_SECRET, "http://www.raeblog.com/cnblogs/index.php/share/weibo/redirect");
6265
PlatformConfig.setQQZone(BuildConfig.QQ_APP_ID, BuildConfig.QQ_APP_SECRET);
66+
67+
6368
}
6469
}

module-resource/src/main/res/values/colors_night.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<!--夜间模式-->
44

55
<!--夜间模式主色调-->
6-
<color name="nightIconColor">#ffffff</color>
6+
<color name="nightIconColor">#ababab</color>
77
<color name="nightColorPrimary">#1F1F21</color>
88

99
<color name="colorPrimary_night">@color/nightColorPrimary</color>

module-user/src/main/java/com/rae/cnblogs/user/fragment/PersonalIntroduceFragment.java

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,20 @@
99

1010
import com.rae.cnblogs.UICompat;
1111
import com.rae.cnblogs.basic.BasicFragment;
12+
import com.rae.cnblogs.basic.rx.AndroidObservable;
13+
import com.rae.cnblogs.basic.rx.DefaultEmptyObserver;
1214
import com.rae.cnblogs.sdk.event.UserInfoChangedEvent;
1315
import com.rae.cnblogs.user.R;
1416
import com.rae.cnblogs.user.R2;
1517
import com.rae.cnblogs.web.WebViewFragment;
1618

1719
import org.greenrobot.eventbus.EventBus;
1820

21+
import java.util.concurrent.TimeUnit;
22+
1923
import butterknife.BindView;
2024
import butterknife.OnClick;
25+
import io.reactivex.Observable;
2126

2227
/**
2328
* 个性签名
@@ -58,13 +63,16 @@ public void onActivityCreated(@Nullable Bundle savedInstanceState) {
5863
FragmentActivity activity = getActivity();
5964
if (activity == null) return;
6065
activity.findViewById(R.id.btn_save).setVisibility(View.GONE);
61-
mTipsLayout.postDelayed(new Runnable() {
62-
@Override
63-
public void run() {
64-
mTipsLayout.setVisibility(View.VISIBLE);
65-
UICompat.fadeIn(mTipsLayout);
66-
}
67-
}, 2000);
66+
AndroidObservable.create(Observable.timer(2, TimeUnit.SECONDS))
67+
.with(this)
68+
.subscribe(new DefaultEmptyObserver<Long>() {
69+
@Override
70+
public void onNext(Long aLong) {
71+
mTipsLayout.setVisibility(View.VISIBLE);
72+
UICompat.fadeIn(mTipsLayout);
73+
}
74+
});
75+
6876
}
6977

7078
@OnClick(R2.id.btn_ensure)

module-widget/src/main/java/com/rae/cnblogs/theme/CnblogsLayoutInflater.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import com.rae.cnblogs.widget.SkinFitWindowsFrameLayout;
1010
import com.rae.cnblogs.widget.SkinFitWindowsLinearLayout;
1111
import com.rae.cnblogs.widget.SkinNestedScrollView;
12-
import com.rae.cnblogs.widget.SkinRoundedImageView;
1312

1413
import skin.support.app.SkinLayoutInflater;
1514

@@ -22,8 +21,6 @@ public class CnblogsLayoutInflater implements SkinLayoutInflater {
2221
@Override
2322
public View createView(@NonNull Context context, String name, @NonNull AttributeSet attrs) {
2423
switch (name) {
25-
case "com.makeramen.roundedimageview.RoundedImageView":
26-
return new SkinRoundedImageView(context, attrs);
2724
case "android.support.v7.widget.CardView":
2825
return new SkinCardView(context, attrs);
2926
case "android.support.v7.widget.FitWindowsFrameLayout":
Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
package com.rae.cnblogs.widget;
22

33
import android.content.Context;
4+
import android.content.res.ColorStateList;
45
import android.graphics.Color;
5-
import android.graphics.drawable.Drawable;
66
import android.os.Build;
7-
import android.support.annotation.Nullable;
87
import android.util.AttributeSet;
9-
import android.util.Log;
108

119
import com.rae.cnblogs.theme.ThemeCompat;
1210

@@ -17,32 +15,34 @@
1715
* Copyright (c) https://github.com/raedev All rights reserved.
1816
*/
1917
public class SkinDrawableTextView extends SkinCompatTextView {
18+
2019
public SkinDrawableTextView(Context context) {
21-
super(context);
20+
this(context, null);
2221
}
2322

2423
public SkinDrawableTextView(Context context, AttributeSet attrs) {
25-
super(context, attrs);
24+
this(context, attrs, 0);
2625
}
2726

2827
public SkinDrawableTextView(Context context, AttributeSet attrs, int defStyleAttr) {
2928
super(context, attrs, defStyleAttr);
29+
apply();
3030
}
3131

3232
@Override
33-
public void setCompoundDrawables(@Nullable Drawable left, @Nullable Drawable top, @Nullable Drawable right, @Nullable Drawable bottom) {
34-
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT_WATCH && left != null) {
35-
Drawable[] drawables = new Drawable[]{left, top, right, bottom};
36-
Log.i("rae", "是否为夜间模式:" + ThemeCompat.isNight());
37-
for (Drawable drawable : drawables) {
38-
if (drawable == null) continue;
39-
if (ThemeCompat.isNight()) {
40-
drawable.setTint(Color.RED);
41-
} else {
42-
drawable.clearColorFilter();
43-
}
44-
}
33+
public void applySkin() {
34+
super.applySkin();
35+
apply();
36+
}
37+
38+
private void apply() {
39+
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) return;
40+
if (ThemeCompat.isNight()) {
41+
// 夜间模式的颜色
42+
int nightColor = getResources().getColor(R.color.nightIconColor);
43+
setCompoundDrawableTintList(ColorStateList.valueOf(nightColor));
44+
} else {
45+
setCompoundDrawableTintList(null);
4546
}
46-
super.setCompoundDrawables(left, top, right, bottom);
4747
}
4848
}

0 commit comments

Comments
 (0)