Skip to content

Commit

Permalink
thread init
Browse files Browse the repository at this point in the history
  • Loading branch information
codeestX committed Feb 11, 2017
1 parent 5c39d5d commit 52c6638
Show file tree
Hide file tree
Showing 30 changed files with 137 additions and 81 deletions.
45 changes: 3 additions & 42 deletions app/src/main/java/com/codeest/geeknews/app/App.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,14 @@
import android.view.Display;
import android.view.WindowManager;

import com.codeest.geeknews.component.InitializeService;
import com.codeest.geeknews.di.component.AppComponent;
import com.codeest.geeknews.di.component.DaggerAppComponent;
import com.codeest.geeknews.di.module.AppModule;
import com.codeest.geeknews.util.SystemUtil;
import com.codeest.geeknews.widget.AppBlockCanaryContext;
import com.github.moduth.blockcanary.BlockCanary;
import com.orhanobut.logger.Logger;
import com.squareup.leakcanary.LeakCanary;
import com.tencent.bugly.crashreport.CrashReport;
import com.tencent.smtt.sdk.QbSdk;

import java.util.HashSet;
import java.util.Set;

import static com.codeest.geeknews.util.LogUtil.isDebug;

/**
* Created by codeest on 2016/8/2.
*/
Expand Down Expand Up @@ -56,46 +48,15 @@ public void onCreate() {
//初始化屏幕宽高
getScreenSize();

//初始化日志
Logger.init(getPackageName()).hideThreadInfo();

//初始化错误收集
// CrashHandler.init(new CrashHandler(getApplicationContext()));
initBugly();

//初始化内存泄漏检测
LeakCanary.install(this);

//初始化过度绘制检测
BlockCanary.install(this, new AppBlockCanaryContext()).start();

//初始化tbs x5 webview
QbSdk.allowThirdPartyAppDownload(true);
QbSdk.initX5Environment(getApplicationContext(), QbSdk.WebviewInitType.FIRSTUSE_AND_PRELOAD, new QbSdk.PreInitCallback() {
@Override
public void onCoreInitFinished() {
}

@Override
public void onViewInitFinished(boolean b) {
}
});
//在子线程中初始化
InitializeService.start(this);
}

protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}

private void initBugly() {
Context context = getApplicationContext();
String packageName = context.getPackageName();
String processName = SystemUtil.getProcessName(android.os.Process.myPid());
CrashReport.UserStrategy strategy = new CrashReport.UserStrategy(context);
strategy.setUploadProcess(processName == null || processName.equals(packageName));
CrashReport.initCrashReport(context, Constants.BUGLY_ID, isDebug, strategy);
}

public void addActivity(Activity act) {
if (allActivities == null) {
allActivities = new HashSet<>();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
package com.codeest.geeknews.component;

import android.app.IntentService;
import android.content.Context;
import android.content.Intent;

import com.codeest.geeknews.app.App;
import com.codeest.geeknews.app.Constants;
import com.codeest.geeknews.util.SystemUtil;
import com.codeest.geeknews.widget.AppBlockCanaryContext;
import com.github.moduth.blockcanary.BlockCanary;
import com.orhanobut.logger.Logger;
import com.squareup.leakcanary.LeakCanary;
import com.tencent.bugly.crashreport.CrashReport;
import com.tencent.smtt.sdk.QbSdk;

import static com.codeest.geeknews.util.LogUtil.isDebug;

/**
* Created by codeest on 2017/2/12.
*/

public class InitializeService extends IntentService {

private static final String ACTION_INIT = "initApplication";

public InitializeService() {
super("InitializeService");
}

public static void start(Context context) {
Intent intent = new Intent(context, InitializeService.class);
intent.setAction(ACTION_INIT);
context.startService(intent);
}

@Override
protected void onHandleIntent(Intent intent) {
if (intent != null) {
final String action = intent.getAction();
if (ACTION_INIT.equals(action)) {
initApplication();
}
}
}

private void initApplication() {
//初始化日志
Logger.init(getPackageName()).hideThreadInfo();

//初始化错误收集
// CrashHandler.init(new CrashHandler(getApplicationContext()));
initBugly();

//初始化内存泄漏检测
LeakCanary.install(App.getInstance());

//初始化过度绘制检测
BlockCanary.install(getApplicationContext(), new AppBlockCanaryContext()).start();

//初始化tbs x5 webview
QbSdk.allowThirdPartyAppDownload(true);
QbSdk.initX5Environment(getApplicationContext(), QbSdk.WebviewInitType.FIRSTUSE_AND_PRELOAD, new QbSdk.PreInitCallback() {
@Override
public void onCoreInitFinished() {
}

@Override
public void onViewInitFinished(boolean b) {
}
});
}

private void initBugly() {
Context context = getApplicationContext();
String packageName = context.getPackageName();
String processName = SystemUtil.getProcessName(android.os.Process.myPid());
CrashReport.UserStrategy strategy = new CrashReport.UserStrategy(context);
strategy.setUploadProcess(processName == null || processName.equals(packageName));
CrashReport.initCrashReport(context, Constants.BUGLY_ID, isDebug, strategy);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
import android.os.IBinder;
import android.support.annotation.Nullable;

import com.codeest.geeknews.model.http.MyApis;
import com.codeest.geeknews.model.http.api.MyApis;
import com.codeest.geeknews.util.ToastUtil;

import java.io.File;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.codeest.geeknews.model.bean;
package com.codeest.geeknews.model.event;

/**
* Created by codeest on 16/8/27.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.codeest.geeknews.model.bean;
package com.codeest.geeknews.model.event;

/**
* Created by codeest on 16/8/31.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,16 @@
import com.codeest.geeknews.model.bean.WXItemBean;
import com.codeest.geeknews.model.bean.WelcomeBean;
import com.codeest.geeknews.model.bean.ZhihuDetailBean;
import com.codeest.geeknews.model.http.api.GankApis;
import com.codeest.geeknews.model.http.api.GoldApis;
import com.codeest.geeknews.model.http.api.MyApis;
import com.codeest.geeknews.model.http.api.VtexApis;
import com.codeest.geeknews.model.http.api.WeChatApis;
import com.codeest.geeknews.model.http.api.ZhihuApis;
import com.codeest.geeknews.model.http.response.GankHttpResponse;
import com.codeest.geeknews.model.http.response.GoldHttpResponse;
import com.codeest.geeknews.model.http.response.MyHttpResponse;
import com.codeest.geeknews.model.http.response.WXHttpResponse;
import com.codeest.geeknews.util.SystemUtil;

import java.io.File;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
package com.codeest.geeknews.model.http;
package com.codeest.geeknews.model.http.api;

import com.codeest.geeknews.model.bean.GankItemBean;
import com.codeest.geeknews.model.bean.GankSearchItemBean;
import com.codeest.geeknews.model.http.response.GankHttpResponse;

import java.util.List;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.codeest.geeknews.model.http;
package com.codeest.geeknews.model.http.api;

import com.codeest.geeknews.model.bean.GoldListBean;
import com.codeest.geeknews.model.http.response.GoldHttpResponse;

import java.util.List;

Expand All @@ -23,11 +24,11 @@ public interface GoldApis {
@GET("1.1/classes/Entry")
Observable<GoldHttpResponse<List<GoldListBean>>> getGoldList(@Header("X-LC-Id") String id,
@Header("X-LC-Sign") String sign,
@Query("where") String where,
@Query("order") String order,
@Query("include") String include,
@Query("limit") int limit,
@Query("skip") int skip);
@Query("where") String where,
@Query("order") String order,
@Query("include") String include,
@Query("limit") int limit,
@Query("skip") int skip);

/**
* 热门推荐
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.codeest.geeknews.model.http;
package com.codeest.geeknews.model.http.api;

import com.codeest.geeknews.model.bean.VersionBean;
import com.codeest.geeknews.model.http.response.MyHttpResponse;

import retrofit2.http.GET;
import rx.Observable;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.codeest.geeknews.model.http;
package com.codeest.geeknews.model.http.api;

import com.codeest.geeknews.model.bean.NodeBean;
import com.codeest.geeknews.model.bean.RepliesListBean;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.codeest.geeknews.model.http;
package com.codeest.geeknews.model.http.api;

import com.codeest.geeknews.model.bean.WXItemBean;
import com.codeest.geeknews.model.http.response.WXHttpResponse;

import java.util.List;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.codeest.geeknews.model.http;
package com.codeest.geeknews.model.http.api;

import com.codeest.geeknews.model.bean.CommentBean;
import com.codeest.geeknews.model.bean.DailyBeforeListBean;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.codeest.geeknews.model.http;
package com.codeest.geeknews.model.http.exception;

/**
* Created by codeest on 2016/8/4.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.codeest.geeknews.model.http;
package com.codeest.geeknews.model.http.response;

/**
* Created by codeest on 2016/8/3.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.codeest.geeknews.model.http;
package com.codeest.geeknews.model.http.response;

/**
* Created by codeest on 16/11/27.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.codeest.geeknews.model.http;
package com.codeest.geeknews.model.http.response;

/**
* Created by codeest on 16/10/10.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.codeest.geeknews.model.http;
package com.codeest.geeknews.model.http.response;

/**
* Created by codeest on 16/8/28.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import com.codeest.geeknews.base.RxPresenter;
import com.codeest.geeknews.model.bean.GankItemBean;
import com.codeest.geeknews.model.http.GankHttpResponse;
import com.codeest.geeknews.model.http.response.GankHttpResponse;
import com.codeest.geeknews.model.http.RetrofitHelper;
import com.codeest.geeknews.presenter.contract.GirlContract;
import com.codeest.geeknews.util.RxUtil;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import com.codeest.geeknews.base.RxPresenter;
import com.codeest.geeknews.model.bean.GoldListBean;
import com.codeest.geeknews.model.http.GoldHttpResponse;
import com.codeest.geeknews.model.http.response.GoldHttpResponse;
import com.codeest.geeknews.model.http.RetrofitHelper;
import com.codeest.geeknews.presenter.contract.GoldContract;
import com.codeest.geeknews.util.RxUtil;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@

import com.codeest.geeknews.base.RxPresenter;
import com.codeest.geeknews.component.RxBus;
import com.codeest.geeknews.model.bean.NightModeEvent;
import com.codeest.geeknews.model.event.NightModeEvent;
import com.codeest.geeknews.model.bean.VersionBean;
import com.codeest.geeknews.model.http.MyHttpResponse;
import com.codeest.geeknews.model.http.response.MyHttpResponse;
import com.codeest.geeknews.model.http.RetrofitHelper;
import com.codeest.geeknews.presenter.contract.MainContract;
import com.codeest.geeknews.util.LogUtil;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import com.codeest.geeknews.base.RxPresenter;
import com.codeest.geeknews.model.bean.VersionBean;
import com.codeest.geeknews.model.http.MyHttpResponse;
import com.codeest.geeknews.model.http.response.MyHttpResponse;
import com.codeest.geeknews.model.http.RetrofitHelper;
import com.codeest.geeknews.presenter.contract.SettingContract;
import com.codeest.geeknews.util.RxUtil;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
import com.codeest.geeknews.component.RxBus;
import com.codeest.geeknews.model.bean.GankItemBean;
import com.codeest.geeknews.model.bean.GankSearchItemBean;
import com.codeest.geeknews.model.bean.SearchEvent;
import com.codeest.geeknews.model.http.GankHttpResponse;
import com.codeest.geeknews.model.event.SearchEvent;
import com.codeest.geeknews.model.http.response.GankHttpResponse;
import com.codeest.geeknews.model.http.RetrofitHelper;
import com.codeest.geeknews.presenter.contract.TechContract;
import com.codeest.geeknews.ui.gank.fragment.GankMainFragment;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import com.codeest.geeknews.base.RxPresenter;
import com.codeest.geeknews.model.bean.TopicListBean;
import com.codeest.geeknews.model.http.VtexApis;
import com.codeest.geeknews.model.http.api.VtexApis;
import com.codeest.geeknews.presenter.contract.VtexContract;
import com.codeest.geeknews.util.LogUtil;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
import com.codeest.geeknews.app.Constants;
import com.codeest.geeknews.base.RxPresenter;
import com.codeest.geeknews.component.RxBus;
import com.codeest.geeknews.model.bean.SearchEvent;
import com.codeest.geeknews.model.event.SearchEvent;
import com.codeest.geeknews.model.bean.WXItemBean;
import com.codeest.geeknews.model.http.RetrofitHelper;
import com.codeest.geeknews.model.http.WXHttpResponse;
import com.codeest.geeknews.model.http.response.WXHttpResponse;
import com.codeest.geeknews.presenter.contract.WechatContract;
import com.codeest.geeknews.util.RxUtil;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ public void call(WelcomeBean welcomeBean) {
}, new Action1<Throwable>() {
@Override
public void call(Throwable throwable) {
mView.showError("");
mView.jumpToMain();
}
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import com.codeest.geeknews.app.Constants;
import com.codeest.geeknews.base.SimpleFragment;
import com.codeest.geeknews.component.RxBus;
import com.codeest.geeknews.model.bean.SearchEvent;
import com.codeest.geeknews.model.event.SearchEvent;
import com.codeest.geeknews.ui.gank.adapter.GankMainAdapter;

import java.util.ArrayList;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import com.codeest.geeknews.base.BaseActivity;
import com.codeest.geeknews.component.RxBus;
import com.codeest.geeknews.component.UpdateService;
import com.codeest.geeknews.model.bean.SearchEvent;
import com.codeest.geeknews.model.event.SearchEvent;
import com.codeest.geeknews.presenter.MainPresenter;
import com.codeest.geeknews.presenter.contract.MainContract;
import com.codeest.geeknews.ui.gank.fragment.GankMainFragment;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
import com.codeest.geeknews.base.BaseFragment;
import com.codeest.geeknews.component.ACache;
import com.codeest.geeknews.component.RxBus;
import com.codeest.geeknews.model.bean.NightModeEvent;
import com.codeest.geeknews.model.event.NightModeEvent;
import com.codeest.geeknews.model.bean.VersionBean;
import com.codeest.geeknews.presenter.SettingPresenter;
import com.codeest.geeknews.presenter.contract.SettingContract;
Expand Down
Loading

0 comments on commit 52c6638

Please sign in to comment.