package com.v2ex.v2droid;
import java.util.UUID;
import org.holoeverywhere.LayoutInflater;
import org.holoeverywhere.ThemeManager;
import org.holoeverywhere.app.Application;
import org.holoeverywhere.app.Application.Config.PreferenceImpl;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager.NameNotFoundException;
public class AppContext extends Application {
private String mUsername = null;
private boolean mIsLogin = false;
private String mMessageNum = null;
static {
config().setDebugMode(true).setPreferenceImpl(PreferenceImpl.JSON);
LayoutInflater.remap(WidgetContainer.class);
LayoutInflater.remap(NavigationItem.class);
ThemeManager.setDefaultTheme(ThemeManager.DARK);
ThemeManager.map(ThemeManager.LIGHT,
R.style.Holo_v2droid_Theme_Light);
ThemeManager.map(ThemeManager.DARK,
R.style.Holo_v2droid_Theme);
}
public void setProperty(String key,String value){
AppConfig.getAppConfig(this).set(key, value);
}
public String getProperty(String key){
return AppConfig.getAppConfig(this).get(key);
}
public PackageInfo getPackageInfo() {
PackageInfo info = null;
try {
info = getPackageManager().getPackageInfo(getPackageName(), 0);
} catch (NameNotFoundException e) {
e.printStackTrace(System.err);
}
if(info == null) info = new PackageInfo();
return info;
}
public String getAppId() {
String uniqueID = getProperty(AppConfig.CONF_APP_UNIQUEID);
if(StringUtils.isEmpty(uniqueID)){
uniqueID = UUID.randomUUID().toString();
setProperty(AppConfig.CONF_APP_UNIQUEID, uniqueID);
}
return uniqueID;
}
}