package com.ijoomer.theme;
import android.app.Activity;
/**
* Created by tasol on 9/7/13.
*/
public class ThemeManager {
private static ThemeManager instanceOfThemeManager=null;
private static final String IJOOMER_ACTIVITY_IDENTIFIER="ijoomer";
private static final String JOM_ACTIVITY_IDENTIFIER="jom";
private static final String ICMS_ACTIVITY_IDENTIFIER="icms";
private static final String K2_ACTIVITY_IDENTIFIER="k2";
private static final String JREVIEW_ACTIVITY_IDENTIFIER="jreview";
private static final String SOBIPRO_ACTIVITY_IDENTIFIER="sobipro";
private static final String EASYBLOG_ACTIVITY_IDENTIFIER="easyblog";
private static Activity lastActivity;
private int loadingDialog;
private int okDialog;
private int confirmDialog;
private int contactDilaog;
private int contactItemDilaog;
private int share;
private int facebook;
private int twitter;
private int googleplus;
private int mapAddress;
public int getWebview() {
return webview;
}
public void setWebview(int webview) {
this.webview = webview;
}
private int webview;
public int getLoadingDialog() {
return loadingDialog;
}
public void setLoadingDialog(int loadingDialog) {
this.loadingDialog = loadingDialog;
}
public int getOkDialog() {
return okDialog;
}
public void setOkDialog(int okDialog) {
this.okDialog = okDialog;
}
public int getConfirmDialog() {
return confirmDialog;
}
public void setConfirmDialog(int confirmDialog) {
this.confirmDialog = confirmDialog;
}
public int getContactDilaog() {
return contactDilaog;
}
public void setContactDilaog(int contactDilaog) {
this.contactDilaog = contactDilaog;
}
public int getContactItemDilaog() {
return contactItemDilaog;
}
public void setContactItemDilaog(int contactItemDilaog) {
this.contactItemDilaog = contactItemDilaog;
}
public int getShare() {
return share;
}
public void setShare(int share) {
this.share = share;
}
public int getFacebook() {
return facebook;
}
public void setFacebook(int facebook) {
this.facebook = facebook;
}
public int getTwitter() {
return twitter;
}
public void setTwitter(int twitter) {
this.twitter = twitter;
}
public int getGoogleplus() {
return googleplus;
}
public void setGoogleplus(int googleplus) {
this.googleplus = googleplus;
}
public int getMapAddress() {
return mapAddress;
}
public void setMapAddress(int mapAddress) {
this.mapAddress = mapAddress;
}
private ThemeManager(){
}
public synchronized static ThemeManager getInstance(){
if(instanceOfThemeManager==null){
instanceOfThemeManager = new ThemeManager();
}
return instanceOfThemeManager;
}
public void setTheme(Activity currentActivity){
int themeId=0;
if(currentActivity.getClass().getSimpleName().toLowerCase().contains(JOM_ACTIVITY_IDENTIFIER)){
themeId = currentActivity.getResources().getIdentifier(JOM_ACTIVITY_IDENTIFIER+"_theme","style",currentActivity.getPackageName());
setLayout(currentActivity,JOM_ACTIVITY_IDENTIFIER);
}else if(currentActivity.getClass().getSimpleName().toLowerCase().contains(ICMS_ACTIVITY_IDENTIFIER)){
themeId = currentActivity.getResources().getIdentifier(ICMS_ACTIVITY_IDENTIFIER+"_theme","style",currentActivity.getPackageName());
setLayout(currentActivity,ICMS_ACTIVITY_IDENTIFIER);
}else if(currentActivity.getClass().getSimpleName().toLowerCase().contains(SOBIPRO_ACTIVITY_IDENTIFIER)){
themeId = currentActivity.getResources().getIdentifier(SOBIPRO_ACTIVITY_IDENTIFIER+"_theme","style",currentActivity.getPackageName());
setLayout(currentActivity,SOBIPRO_ACTIVITY_IDENTIFIER);
}else if(currentActivity.getClass().getSimpleName().toLowerCase().contains(K2_ACTIVITY_IDENTIFIER)){
themeId = currentActivity.getResources().getIdentifier(K2_ACTIVITY_IDENTIFIER+"_theme","style",currentActivity.getPackageName());
setLayout(currentActivity,K2_ACTIVITY_IDENTIFIER);
}else if(currentActivity.getClass().getSimpleName().toLowerCase().contains(EASYBLOG_ACTIVITY_IDENTIFIER)){
themeId = currentActivity.getResources().getIdentifier(EASYBLOG_ACTIVITY_IDENTIFIER+"_theme","style",currentActivity.getPackageName());
setLayout(currentActivity,EASYBLOG_ACTIVITY_IDENTIFIER);
}else if(currentActivity.getClass().getSimpleName().toLowerCase().contains(JREVIEW_ACTIVITY_IDENTIFIER)){
themeId = currentActivity.getResources().getIdentifier(JREVIEW_ACTIVITY_IDENTIFIER+"_theme","style",currentActivity.getPackageName());
setLayout(currentActivity,JREVIEW_ACTIVITY_IDENTIFIER);
}
if(themeId>0){
lastActivity =currentActivity;
currentActivity.setTheme(themeId);
}else{
if(lastActivity!=null){
if(themeId==0){
if(lastActivity.getClass().getSimpleName().toLowerCase().contains(JOM_ACTIVITY_IDENTIFIER)){
themeId = lastActivity.getResources().getIdentifier(JOM_ACTIVITY_IDENTIFIER+"_theme","style",lastActivity.getPackageName());
setLayout(currentActivity,JOM_ACTIVITY_IDENTIFIER);
}else if(lastActivity.getClass().getSimpleName().toLowerCase().contains(ICMS_ACTIVITY_IDENTIFIER)){
themeId = lastActivity.getResources().getIdentifier(ICMS_ACTIVITY_IDENTIFIER+"_theme","style",lastActivity.getPackageName());
setLayout(currentActivity,ICMS_ACTIVITY_IDENTIFIER);
}else if(lastActivity.getClass().getSimpleName().toLowerCase().contains(SOBIPRO_ACTIVITY_IDENTIFIER)){
themeId = lastActivity.getResources().getIdentifier(SOBIPRO_ACTIVITY_IDENTIFIER+"_theme","style",lastActivity.getPackageName());
setLayout(currentActivity,SOBIPRO_ACTIVITY_IDENTIFIER);
}else if(lastActivity.getClass().getSimpleName().toLowerCase().contains(K2_ACTIVITY_IDENTIFIER)){
themeId = lastActivity.getResources().getIdentifier(K2_ACTIVITY_IDENTIFIER+"_theme","style",lastActivity.getPackageName());
setLayout(currentActivity,K2_ACTIVITY_IDENTIFIER);
}else if(lastActivity.getClass().getSimpleName().toLowerCase().contains(EASYBLOG_ACTIVITY_IDENTIFIER)){
themeId = lastActivity.getResources().getIdentifier(EASYBLOG_ACTIVITY_IDENTIFIER+"_theme","style",lastActivity.getPackageName());
setLayout(currentActivity,EASYBLOG_ACTIVITY_IDENTIFIER);
}else if(lastActivity.getClass().getSimpleName().toLowerCase().contains(JREVIEW_ACTIVITY_IDENTIFIER)){
themeId = lastActivity.getResources().getIdentifier(JREVIEW_ACTIVITY_IDENTIFIER+"_theme","style",lastActivity.getPackageName());
setLayout(currentActivity,JREVIEW_ACTIVITY_IDENTIFIER);
}else{
currentActivity.setTheme(currentActivity.getResources().getIdentifier(IJOOMER_ACTIVITY_IDENTIFIER+"_theme","style",currentActivity.getPackageName()));
setLayout(currentActivity,IJOOMER_ACTIVITY_IDENTIFIER);
}
}
currentActivity.setTheme(themeId);
}else{
currentActivity.setTheme(currentActivity.getResources().getIdentifier(IJOOMER_ACTIVITY_IDENTIFIER+"_theme","style",currentActivity.getPackageName()));
setLayout(currentActivity,IJOOMER_ACTIVITY_IDENTIFIER);
}
}
}
private void setLayout(Activity currentActivity,String identifier){
setLoadingDialog(currentActivity.getResources().getIdentifier(identifier+"_loading_dialog","layout",currentActivity.getPackageName()) > 0 ? currentActivity.getResources().getIdentifier(identifier+"_loading_dialog","layout",currentActivity.getPackageName()) : currentActivity.getResources().getIdentifier(IJOOMER_ACTIVITY_IDENTIFIER+"_loading_dialog","layout",currentActivity.getPackageName()));
setOkDialog(currentActivity.getResources().getIdentifier(identifier+"_ok_dialog","layout",currentActivity.getPackageName()) > 0 ? currentActivity.getResources().getIdentifier(identifier+"_ok_dialog","layout",currentActivity.getPackageName()) : currentActivity.getResources().getIdentifier(IJOOMER_ACTIVITY_IDENTIFIER+"_ok_dialog","layout",currentActivity.getPackageName()));
setConfirmDialog(currentActivity.getResources().getIdentifier(identifier+"_confirm_dialog","layout",currentActivity.getPackageName()) > 0 ? currentActivity.getResources().getIdentifier(identifier+"_confirm_dialog","layout",currentActivity.getPackageName()) : currentActivity.getResources().getIdentifier(IJOOMER_ACTIVITY_IDENTIFIER+"_confirm_dialog","layout",currentActivity.getPackageName()));
setContactDilaog(currentActivity.getResources().getIdentifier(identifier+"_contact_mail_dialog","layout",currentActivity.getPackageName()) > 0 ? currentActivity.getResources().getIdentifier(identifier+"_contact_mail_dialog","layout",currentActivity.getPackageName()) : currentActivity.getResources().getIdentifier(IJOOMER_ACTIVITY_IDENTIFIER+"_contact_mail_dialog","layout",currentActivity.getPackageName()));
setContactItemDilaog(currentActivity.getResources().getIdentifier(identifier+"_contact_mail_dialog_item","layout",currentActivity.getPackageName()) > 0 ? currentActivity.getResources().getIdentifier(identifier+"_contact_mail_dialog_item","layout",currentActivity.getPackageName()) : currentActivity.getResources().getIdentifier(IJOOMER_ACTIVITY_IDENTIFIER+"_contact_mail_dialog_item","layout",currentActivity.getPackageName()));
setFacebook(currentActivity.getResources().getIdentifier(identifier+"_facebook_main","layout",currentActivity.getPackageName()) > 0 ? currentActivity.getResources().getIdentifier(identifier+"_facebook_main","layout",currentActivity.getPackageName()) : currentActivity.getResources().getIdentifier("facebook_main","layout",currentActivity.getPackageName()));
setGoogleplus(currentActivity.getResources().getIdentifier(identifier+"_googleplus_share","layout",currentActivity.getPackageName()) > 0 ? currentActivity.getResources().getIdentifier(identifier+"_googleplus_share","layout",currentActivity.getPackageName()) : currentActivity.getResources().getIdentifier(IJOOMER_ACTIVITY_IDENTIFIER+"_googleplus_share","layout",currentActivity.getPackageName()));
setShare(currentActivity.getResources().getIdentifier(identifier+"_share","layout",currentActivity.getPackageName()) > 0 ? currentActivity.getResources().getIdentifier(identifier+"_share","layout",currentActivity.getPackageName()) : currentActivity.getResources().getIdentifier(IJOOMER_ACTIVITY_IDENTIFIER+"_share","layout",currentActivity.getPackageName()));
setTwitter(currentActivity.getResources().getIdentifier(identifier+"_twitter_share","layout",currentActivity.getPackageName()) > 0 ? currentActivity.getResources().getIdentifier(identifier+"_twitter_share","layout",currentActivity.getPackageName()) : currentActivity.getResources().getIdentifier(IJOOMER_ACTIVITY_IDENTIFIER+"_twitter_share","layout",currentActivity.getPackageName()));
setMapAddress(currentActivity.getResources().getIdentifier(identifier+"_map_address","layout",currentActivity.getPackageName()) > 0 ? currentActivity.getResources().getIdentifier(identifier+"_map_address","layout",currentActivity.getPackageName()) : currentActivity.getResources().getIdentifier(IJOOMER_ACTIVITY_IDENTIFIER+"_map_address","layout",currentActivity.getPackageName()));
setWebview(currentActivity.getResources().getIdentifier(identifier+"_custom_webview","layout",currentActivity.getPackageName()) > 0 ? currentActivity.getResources().getIdentifier(identifier+"_custom_webview","layout",currentActivity.getPackageName()) : currentActivity.getResources().getIdentifier(IJOOMER_ACTIVITY_IDENTIFIER+"_custom_webview","layout",currentActivity.getPackageName()));
}
}