package com.swifty.fillcolor;
import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.util.DisplayMetrics;
import android.view.WindowManager;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
import com.swifty.fillcolor.broadcast.LoginSuccessBroadcast;
import com.swifty.fillcolor.factory.SharedPreferencesFactory;
import com.swifty.fillcolor.listener.OnLoginSuccessListener;
import com.swifty.fillcolor.model.bean.UserBean;
import com.swifty.fillcolor.util.ImageLoaderUtil;
import com.swifty.fillcolor.util.L;
import com.swifty.fillcolor.util.UmengLoginUtil;
import com.swifty.fillcolor.util.UmengUtil;
import java.util.Locale;
/**
* Created by Swifty.Wang on 2015/7/31.
*/
public class MyApplication extends Application {
/*deprecated*/
// public static final String MAINURL = "http://www.coloring-book.info/";
// public static final String EXTRAURL = MAINURL + "coloring/";
// public static final String LISTURL = EXTRAURL + "coloring_page.php?id=";
public static final String BAIDUTRANSLATEAPI = "http://openapi.baidu.com/public/2.0/bmt/translate?client_id=iD8ulydDkWhNWFmQEGEGY4m9&";
/*deprecated*/
public static final String SECRETGARDENLOCATION = "assets://SecretGarden/";
// public static final String MainUrl = "http://sgdaemon.cloudapp.net/pic_dev/extAPI";
public static final String MainUrl = "http://api.fingercoloring.com/pic/extAPI";
public static final String ThemeListUrl = MainUrl + "/category"; // post pageid from 0
public static final String ThemeDetailUrl = MainUrl + "/list"; // post categoryid
public static final String ThemeThumbUrl = MainUrl + "/categorythumb?category=%d"; //get add categoryid + /category.png
public static final String ImageThumbUrl = MainUrl + "/imageres?category=%d&image=t_%d"; //get add categoryid and imageid
public static final String ImageLageUrl = MainUrl + "/imageres?category=%d&image=f_%d"; //get add categoryid and imageid
public static final String UserLoginUrl = MainUrl + "/login"; //post add header token
public static final String UserRegisterUrl = MainUrl + "/register"; //post type uid usericon gender location name
public static final String THEMEID = "theme_id";
public static final String BIGPIC = "bigpic";
public static final String BIGPICFROMUSER = "bigpic_user";
public static final String THEMENAME = "theme_name";
public static final int PaintActivityRequest = 900;
public static final int RepaintResult = 999;
public static final String BIGPICFROMUSERPAINTNAME = "bigpic_user_name";
public static int screenWidth;
public static CharSequence SHAREWORK = "share_work";
public static UserBean.User user;
public static String userToken;
@Override
public void onCreate() {
super.onCreate();
initLanguage(this);
initImageLoader();
UmengUtil.autoUpdate(this);
screenWidth = getScreenWidth(this);
}
public static void initLanguage(Context context) {
int lancode = SharedPreferencesFactory.getInteger(context, SharedPreferencesFactory.LanguageCode, 0);
if (lancode == 0) {
return;
}
if (lancode == 1) {
Resources resources = context.getResources();
Configuration config = resources.getConfiguration();
DisplayMetrics dm = resources.getDisplayMetrics();
config.locale = Locale.SIMPLIFIED_CHINESE;
resources.updateConfiguration(config, dm);
} else if (lancode == 2) {
Resources resources = context.getResources();
Configuration config = resources.getConfiguration();
DisplayMetrics dm = resources.getDisplayMetrics();
config.locale = Locale.TRADITIONAL_CHINESE;
resources.updateConfiguration(config, dm);
} else if (lancode == 3) {
Resources resources = context.getResources();
Configuration config = resources.getConfiguration();
DisplayMetrics dm = resources.getDisplayMetrics();
config.locale = Locale.ENGLISH;
resources.updateConfiguration(config, dm);
}
}
public static int getScreenWidth(Context context) {
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
return wm.getDefaultDisplay().getWidth();
}
public static int getScreenHeight(Context context) {
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
return wm.getDefaultDisplay().getHeight();
}
public void initImageLoader() {
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
this)
.denyCacheImageMultipleSizesInMemory()
.diskCacheFileNameGenerator(new Md5FileNameGenerator())
.diskCacheSize(100 * 1024 * 1024)
.tasksProcessingOrder(QueueProcessingType.LIFO)
.build();
ImageLoaderUtil.getInstance().init(config);
}
public static String getVersion(Context context) {
try {
PackageManager packageManager = context.getPackageManager();
PackageInfo packInfo = packageManager.getPackageInfo(context.getPackageName(), 0);
String version = packInfo.versionName;
return version;
} catch (PackageManager.NameNotFoundException e) {
L.e("VersionE", e.getMessage());
e.printStackTrace();
return "0";
}
}
public static void restart(Context context) {
if (context == null)
return;
Intent intent = context.getPackageManager()
.getLaunchIntentForPackage(context.getPackageName());
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
context.startActivity(intent);
if (context instanceof Activity)
((Activity) context).overridePendingTransition(0, 0);
}
public static int getCurrentLanguageCode(Context context) {
int lancode = SharedPreferencesFactory.getInteger(context, SharedPreferencesFactory.LanguageCode, 0);
if (lancode != 0) {
return lancode;
} else {
if (context.getResources().getConfiguration().locale.getCountry().toUpperCase().equals("CN"))
return 1;
else if (context.getResources().getConfiguration().locale.getCountry().toUpperCase().equals("TW"))
return 2;
else
return 3;
}
}
public static void setLanguageCode(Context context, int lancode) {
if (lancode == 0) {
return;
}
if (lancode == 1) {
SharedPreferencesFactory.saveInteger(context, SharedPreferencesFactory.LanguageCode, 1);
Resources resources = context.getResources();
Configuration config = resources.getConfiguration();
DisplayMetrics dm = resources.getDisplayMetrics();
config.locale = Locale.SIMPLIFIED_CHINESE;
resources.updateConfiguration(config, dm);
configChanged(context, config);
} else if (lancode == 2) {
SharedPreferencesFactory.saveInteger(context, SharedPreferencesFactory.LanguageCode, 2);
Resources resources = context.getResources();
Configuration config = resources.getConfiguration();
DisplayMetrics dm = resources.getDisplayMetrics();
config.locale = Locale.TRADITIONAL_CHINESE;
resources.updateConfiguration(config, dm);
configChanged(context, config);
} else if (lancode == 3) {
SharedPreferencesFactory.saveInteger(context, SharedPreferencesFactory.LanguageCode, 3);
Resources resources = context.getResources();
Configuration config = resources.getConfiguration();
DisplayMetrics dm = resources.getDisplayMetrics();
config.locale = Locale.ENGLISH;
resources.updateConfiguration(config, dm);
configChanged(context, config);
}
}
private static void configChanged(Context context, Configuration configuration) {
if (context instanceof Activity) {
((Activity) context).onConfigurationChanged(configuration);
}
}
}