package com.fwupgrade.saymanss;
|
|
import android.content.SharedPreferences;
|
import android.os.Build;
|
import android.os.StrictMode;
|
import android.support.multidex.MultiDexApplication;
|
|
import com.fwupgrade.saymanss.utils.AppPathInfo;
|
import com.fwupgrade.saymanss.utils.UtilTools;
|
|
import java.util.concurrent.locks.Lock;
|
import java.util.concurrent.locks.ReentrantLock;
|
|
/**
|
* Created by Wangj on 2017/11/8.
|
*/
|
|
public class WDApplication extends MultiDexApplication {
|
|
/** 全局实例变量. */
|
private static WDApplication wdApplication;
|
private static Lock reentantLock = new ReentrantLock();
|
|
/** 保存多语言设置后的信息. */
|
private SharedPreferences languageRecord;
|
|
/**
|
* 获取Application.
|
* @return
|
*/
|
public static WDApplication getInstance() {
|
if (wdApplication == null) {
|
try {
|
reentantLock.lock();
|
if (wdApplication == null) {
|
wdApplication = new WDApplication();
|
}
|
} finally {
|
reentantLock.unlock();
|
}
|
}
|
return wdApplication;
|
}
|
|
@Override
|
public void onCreate() {
|
super.onCreate();
|
WDApplication.wdApplication = this;
|
/** 初始化应用程序信息 */
|
initApplicationInformation();
|
|
//解决android N(>=24)系统以上分享 路径为file://时的 android.os.FileUriExposedException异常
|
if (Build.VERSION.SDK_INT >= 24) {
|
StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
|
StrictMode.setVmPolicy(builder.build());
|
}
|
}
|
|
/**
|
* 初始化应用程序Information.
|
*/
|
private void initApplicationInformation() {
|
/** 创建临时的缓存目录 */
|
createTempCacheDir();
|
}
|
|
/**
|
* Create temporary folder for caching applications's cache file.
|
*/
|
private void createTempCacheDir() {
|
UtilTools.createFolderInSdcard(AppPathInfo.getLogPath());
|
UtilTools.createFolderInSdcard(AppPathInfo.getFwSavePath());
|
}
|
|
}
|