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; } }