Skip to content

Commit 675e83f

Browse files
committed
修复搜索崩溃问题
1 parent dd2e845 commit 675e83f

File tree

7 files changed

+42
-15
lines changed

7 files changed

+42
-15
lines changed

.idea/misc.xml

Lines changed: 3 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ android {
105105
xiaomi {} // 小米商店
106106
huawei {} // 华为商店
107107
official {} // 官方版本
108+
fir{} // fir内测平台版本
108109
}
109110

110111
// 批量渠道包值替换

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import android.content.pm.PackageManager;
77
import android.text.TextUtils;
88

9+
import com.rae.cnblogs.sdk.UserProvider;
910
import com.umeng.analytics.MobclickAgent;
1011

1112
import java.text.SimpleDateFormat;
@@ -26,6 +27,20 @@ public static void onAppOpenEvent(Context context) {
2627
@SuppressLint("SimpleDateFormat")
2728
String openDate = new SimpleDateFormat("HH").format(new Date()) + ":00";
2829
MobclickAgent.onEvent(context, "APP_OPEN_EVENT", openDate);
30+
31+
// 统计活跃用户
32+
onUserOpenEvent(context);
33+
}
34+
35+
/**
36+
* 统计用户打开APP事件
37+
*/
38+
public static void onUserOpenEvent(Context context) {
39+
try {
40+
String blogApp = UserProvider.getInstance().isLogin() ? UserProvider.getInstance().getLoginUserInfo().getBlogApp() : "Guest";
41+
MobclickAgent.onEvent(context, "APP_USER_OPEN_EVENT", blogApp);
42+
} catch (Throwable ignored) {
43+
}
2944
}
3045

3146
/**

app/src/main/java/com/rae/cnblogs/activity/SettingActivity.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import android.net.Uri;
77
import android.os.Bundle;
88
import android.support.annotation.Nullable;
9+
import android.text.TextUtils;
910
import android.view.View;
1011
import android.view.animation.AnimationUtils;
1112
import android.widget.ProgressBar;
@@ -29,12 +30,14 @@
2930
import com.rae.cnblogs.sdk.UserProvider;
3031
import com.rae.cnblogs.sdk.bean.VersionInfo;
3132
import com.rae.cnblogs.widget.ImageLoadingView;
33+
import com.tencent.bugly.beta.tinker.TinkerManager;
3234
import com.umeng.analytics.MobclickAgent;
3335

3436
import org.greenrobot.eventbus.EventBus;
3537

3638
import butterknife.BindView;
3739
import butterknife.OnClick;
40+
import butterknife.OnLongClick;
3841

3942

4043
/**
@@ -231,6 +234,18 @@ public void onFontSettingClick() {
231234
AppRoute.jumpToFontSetting(this);
232235
}
233236

237+
@OnLongClick(R.id.tv_check_update)
238+
public boolean onVersionLongClick() {
239+
String newTinkerId = TinkerManager.getNewTinkerId();
240+
String tinkerId = TinkerManager.getTinkerId();
241+
if (!TextUtils.isEmpty(newTinkerId)) {
242+
AppUI.toastInCenter(this, "基准版本:" + tinkerId + ";补丁版本:" + newTinkerId);
243+
} else {
244+
AppUI.toastInCenter(this, "当前版本暂无补丁版本!");
245+
}
246+
return false;
247+
}
248+
234249
@Override
235250
protected void onDestroy() {
236251
super.onDestroy();
@@ -246,4 +261,5 @@ public String getAppVersion() {
246261
}
247262
return "";
248263
}
264+
249265
}

app/src/main/java/com/rae/cnblogs/fragment/SearchFragment.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import android.widget.ImageView;
2020
import android.widget.TextView;
2121

22-
import com.rae.cnblogs.AppUI;
2322
import com.rae.cnblogs.R;
2423
import com.rae.cnblogs.adapter.BaseItemAdapter;
2524
import com.rae.cnblogs.adapter.SearchSuggestionAdapter;
@@ -243,23 +242,16 @@ public void onSearchClick() {
243242
* 执行搜索
244243
*/
245244
private void preformSearch() {
246-
if (true) {
247-
AppUI.toastInCenter(getContext(), "我是热更新");
248-
return;
249-
}
250-
251245
// 弹下键盘
252246
InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
253247
if (imm != null) {
254248
imm.hideSoftInputFromWindow(mSearchView.getWindowToken(), 0);
255249
}
256250

257251
// 取消/清除搜索建议数据
258-
259252
mSuggestionAdapter.clear();
260253
mSuggestionAdapter.notifyDataSetChanged();
261254

262-
263255
// 显示或者隐藏搜索建议
264256
mRecyclerView.setVisibility(mSearchView.length() > 0 ? View.GONE : View.VISIBLE);
265257

app/src/main/java/com/rae/cnblogs/presenter/impl/SearchPresenterImpl.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@ public void destroy() {
3737
@Override
3838
public void suggest() {
3939
cancelSuggest();
40+
if (mSuggestionSubscriber != null && !mSuggestionSubscriber.isDisposed()) {
41+
// 释放之前的
42+
mSuggestionSubscriber.dispose();
43+
mSuggestionSubscriber = null;
44+
}
4045
createObservable(mSearchApi.getSuggestion(mView.getSearchText()))
4146
.doOnSubscribe(new Consumer<Disposable>() {
4247
@Override
@@ -51,12 +56,10 @@ public void accept(@NonNull Disposable disposable) throws Exception {
5156
.subscribe(new ApiDefaultObserver<List<String>>() {
5257
@Override
5358
protected void onError(String message) {
54-
5559
}
5660

5761
@Override
5862
protected void accept(List<String> data) {
59-
6063
mView.onSuggestionSuccess(data);
6164
}
6265
});

app/tinker-support.gradle

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,9 @@ tinkerSupport {
3535
baseApkResourceMapping = "${bakPath}/${baseApkDir}/${apkName}-R.txt"
3636

3737
// 构建基准包和补丁包都要指定不同的tinkerId,并且必须保证唯一性
38-
// 基类版本:cnblogs-basic-1.1.0
38+
// 基类版本:cnblogs-basic-1.1.1
3939
// 补丁版本:cnblogs-patch-1.1.1.01
40-
// tinkerId = "cnblogs-basic-1.1.1"
41-
tinkerId = "cnblogs-patch-1.1.1.01"
40+
tinkerId = "cnblogs-fir-1.1.1"
4241

4342
// 构建多渠道补丁时使用
4443
buildAllFlavorsDir = "${bakPath}/${baseApkDir}"

0 commit comments

Comments
 (0)