package uni.projecte.controler; import uni.projecte.dataLayer.bd.ProjectDbAdapter; import android.content.Context; import android.database.Cursor; public class ProjectConfigControler extends ProjectControler{ public static final int DEFAULT_TAB_PROVIDER=1; public static final int SEC_STORAGE_ENABLED=2; public static final int DEFAULT_MARKER=3; private String defaultTabProviderValue="bdbc"; private String defaultSecStorageEnabled="false"; private String defaultMarker="bubble"; public ProjectConfigControler(Context c) { super(c); } public String changeProjectConfig(long projId,int id, String newValue){ String projConfKey=getConfigKey(id); if(!projConfKey.equals("")){ projDbAdapter = new ProjectDbAdapter(baseContext); projDbAdapter.open(); projDbAdapter.updateProjectConfigValue(projId,projConfKey,newValue); projDbAdapter.close(); } return newValue; } public String getProjectConfig(long projId,int id){ String projConfKey=getConfigKey(id); String confValue=""; if(!projConfKey.equals("")){ projDbAdapter = new ProjectDbAdapter(baseContext); projDbAdapter.open(); Cursor c=projDbAdapter.fetchProjectConfigValue(projId,projConfKey); c.moveToFirst(); if(c.getCount()>0){ confValue=c.getString(3); } else{ confValue=getConfigValue(id); projDbAdapter.insertProjectConfigValue(projId,projConfKey,confValue); } c.close(); projDbAdapter.close(); } return confValue; } private String getConfigKey(int id){ String projConfKeyName=""; switch (id) { case DEFAULT_TAB_PROVIDER: projConfKeyName="defaultTabProvider"; break; case SEC_STORAGE_ENABLED: projConfKeyName="secondaryStorageEnabled"; break; case DEFAULT_MARKER: projConfKeyName="defaultMapMarker"; break; default: break; } return projConfKeyName; } private String getConfigValue(final int id) { String projConfKeyValue=""; switch (id) { case DEFAULT_TAB_PROVIDER: projConfKeyValue=defaultTabProviderValue; break; case SEC_STORAGE_ENABLED: projConfKeyValue=defaultSecStorageEnabled; break; case DEFAULT_MARKER: projConfKeyValue=defaultMarker; break; default: break; } return projConfKeyValue; } }