package com.haicaojie.android;
|
|
import android.app.ActivityManager;
|
import android.app.Application;
|
import android.content.Context;
|
import android.content.SharedPreferences;
|
import android.graphics.Bitmap;
|
import android.os.Process;
|
import android.support.multidex.MultiDex;
|
|
import com.alibaba.baichuan.android.trade.AlibcTradeSDK;
|
import com.alibaba.baichuan.android.trade.callback.AlibcTradeInitCallback;
|
import com.alibaba.baichuan.trade.biz.core.taoke.AlibcTaokeParams;
|
import com.haicaojie.android.ui.mine.weex.ImageWeexAdapter;
|
import com.haicaojie.android.ui.mine.weex.TopMenuComponent;
|
import com.haicaojie.android.ui.mine.weex.usermodule.DeviceModule;
|
import com.haicaojie.android.ui.mine.weex.usermodule.UserModule;
|
import com.haicaojie.android.ui.mine.weex.usermodule.UtilModule;
|
import com.haicaojie.android.util.CrashHandler;
|
import com.nostra13.universalimageloader.cache.disc.naming.HashCodeFileNameGenerator;
|
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
|
import com.nostra13.universalimageloader.cache.memory.impl.LruMemoryCache;
|
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
import com.nostra13.universalimageloader.core.ImageLoader;
|
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
|
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
|
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
|
import com.sina.weibo.sdk.WbSdk;
|
import com.sina.weibo.sdk.auth.AuthInfo;
|
import com.taobao.weex.InitConfig;
|
import com.taobao.weex.WXSDKEngine;
|
import com.tencent.mm.opensdk.openapi.IWXAPI;
|
import com.tencent.mm.opensdk.openapi.WXAPIFactory;
|
import com.umeng.commonsdk.UMConfigure;
|
import com.umeng.socialize.PlatformConfig;
|
import com.umeng.socialize.UMShareAPI;
|
import com.xiaomi.mipush.sdk.MiPushClient;
|
|
import java.util.HashMap;
|
import java.util.List;
|
|
|
/**
|
* Created by weikou2015 on 2017/2/20.
|
*/
|
|
public class ShoppingApplication extends Application {
|
|
public static ShoppingApplication application = null;
|
|
// public Tencent mTencent;
|
|
@Override
|
public void onCreate() {
|
super.onCreate();
|
MultiDex.install(this);
|
if (BuXinConstant.DEBUG) {
|
CrashHandler crashHandler = CrashHandler.getInstance();
|
crashHandler.init(getApplicationContext());
|
}
|
application = this;
|
SharedPreferences sp = getSharedPreferences("user", MODE_PRIVATE);
|
// Toast.makeText(getApplicationContext(), "手机厂商" + MobileUtil.getDeviceBrand(), Toast.LENGTH_SHORT).show();
|
if (!sp.getBoolean("doNotDisturb", false)) {
|
// if (MobileUtil.getDeviceBrand().equalsIgnoreCase("HUAWEI") || MobileUtil.getDeviceBrand().equalsIgnoreCase("HONOR")) {
|
// HMSAgent.init(this);
|
// } else if (shouldInit()) {
|
MiPushClient.registerPush(this, BuXinConstant.MIPUSH_ID, BuXinConstant.MIPUSH_KEY);
|
// }
|
}
|
registToWX();
|
UMConfigure.init(this, UMConfigure.DEVICE_TYPE_PHONE, "");
|
|
WbSdk.install(this, new AuthInfo(this, BuXinConstant.SINA_ID, BuXinConstant.REDIRECT_URL, BuXinConstant.SCOPE));
|
PlatformConfig.setWeixin(BuXinConstant.WECHAT_ID, BuXinConstant.WECHAT_SECRET);
|
PlatformConfig.setQQZone(BuXinConstant.QQ_ID, BuXinConstant.QQ_KEY);
|
// PlatformConfig.setSinaWeibo(BuXinConstant.SINA_ID, BuXinConstant.SINA_KEY, "http://sns.whalecloud.com/sina2/callback");
|
UMShareAPI.get(this);
|
|
// mTencent = Tencent.createInstance(BuXinConstant.QQ_ID, this);
|
initImageLoader(getApplicationContext());
|
AlibcTradeSDK.asyncInit(application, new AlibcTradeInitCallback() {
|
@Override
|
public void onSuccess() {
|
// AlibcTradeSDK.setTaokeParams(new AlibcTaokeParams(BuXinConstant.BAICHUAN_PID, "", null));
|
AlibcTaokeParams alibcTaokeParams = new AlibcTaokeParams();
|
AlibcTradeSDK.setTaokeParams(new AlibcTaokeParams());
|
alibcTaokeParams.setPid(BuXinConstant.BAICHUAN_PID);
|
alibcTaokeParams.setAdzoneid(BuXinConstant.BAICHUAN_ADZONE_ID);
|
alibcTaokeParams.pid = BuXinConstant.BAICHUAN_PID;
|
alibcTaokeParams.adzoneid = BuXinConstant.BAICHUAN_ADZONE_ID;
|
alibcTaokeParams.extraParams = new HashMap<>();
|
alibcTaokeParams.extraParams.put("taokeAppkey", BuXinConstant.TAO_BAO_KE_KEY);
|
// Toast.makeText(application, "初始化成功!", Toast.LENGTH_LONG).show();
|
}
|
|
@Override
|
public void onFailure(int i, String s) {
|
// Toast.makeText(application, "初始化失败!", Toast.LENGTH_LONG).show();
|
}
|
});
|
|
try {
|
InitConfig config = new InitConfig.Builder().setImgAdapter(new ImageWeexAdapter()).build();
|
WXSDKEngine.initialize(this, config);
|
WXSDKEngine.registerComponent("topMenu", TopMenuComponent.class);
|
WXSDKEngine.registerModule("userModule", UserModule.class);
|
WXSDKEngine.registerModule("deviceModule", DeviceModule.class);
|
WXSDKEngine.registerModule("utilModule", UtilModule.class);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
|
private boolean shouldInit() {
|
ActivityManager am = ((ActivityManager) getSystemService(Context.ACTIVITY_SERVICE));
|
List<ActivityManager.RunningAppProcessInfo> processInfos = am.getRunningAppProcesses();
|
String mainProcessName = getPackageName();
|
int myPid = Process.myPid();
|
for (ActivityManager.RunningAppProcessInfo info : processInfos) {
|
if (info.pid == myPid && mainProcessName.equals(info.processName)) {
|
return true;
|
}
|
}
|
return false;
|
}
|
|
public IWXAPI mWxApi;
|
|
private void registToWX() {
|
//AppConst.WEIXIN.APP_ID是指你应用在微信开放平台上的AppID,记得替换。
|
mWxApi = WXAPIFactory.createWXAPI(this, BuXinConstant.WECHAT_ID, false);
|
// 将该app注册到微信
|
mWxApi.registerApp(BuXinConstant.WECHAT_ID);
|
}
|
|
public static void initImageLoader(Context context) {
|
DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
|
.cacheInMemory(true).bitmapConfig(Bitmap.Config.RGB_565)
|
.imageScaleType(ImageScaleType.EXACTLY).cacheOnDisk(true)
|
.build();
|
|
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
|
context).threadPoolSize(3)
|
.threadPriority(Thread.NORM_PRIORITY - 2)
|
.denyCacheImageMultipleSizesInMemory()
|
.diskCacheFileNameGenerator(new Md5FileNameGenerator())
|
.tasksProcessingOrder(QueueProcessingType.LIFO)
|
.denyCacheImageMultipleSizesInMemory()
|
.memoryCache(new LruMemoryCache(2 * 1024 * 1024))
|
.memoryCacheSize((int) (2 * 1024 * 1024))
|
.memoryCacheSizePercentage(13).diskCacheSize(50 * 1024 * 1024)
|
.diskCacheFileCount(100)
|
.diskCacheFileNameGenerator(new HashCodeFileNameGenerator())
|
.defaultDisplayImageOptions(defaultOptions).writeDebugLogs() // Remove
|
.build();
|
|
ImageLoader.getInstance().init(config);
|
}
|
|
}
|