package org.openhab.habclient;
import android.content.Context;
import com.loopj.android.http.AsyncHttpClient;
import org.openhab.habdroid.R;
import org.openhab.habdroid.util.MyAsyncHttpClient;
import javax.inject.Inject;
import javax.inject.Singleton;
/**
* Created by Tony Alpskog in 2014.
*/
@Singleton
public class OpenHABSetting implements IOpenHABSetting {
private String mBaseUrl;
private String mSitemapRootUrl;
private String mUsername = "";
private String mPassword = "";
private final Context mContext;
@Inject
public OpenHABSetting(Context context) {
mContext = context;
mBaseUrl = mContext.getString(R.string.openhab_demo_url);
mSitemapRootUrl = mBaseUrl + context.getString(R.string.openhab_demo_sitemap_postfix);
}
@Override
public String getUsername() {
return mUsername;
}
@Override
public void setUsername(String username) {
mUsername = username;
}
@Override
public String getPassword() {
return mPassword;
}
@Override
public void setPassword(String password) {
mPassword = password;
}
@Override
public String getBaseUrl() {
return mBaseUrl;
}
@Override
public void setBaseUrl(String baseUrl) {
mBaseUrl = baseUrl;
}
@Override
public void setSitemapRootUrl(String sitemapRootUrl) {
mSitemapRootUrl = sitemapRootUrl;
}
@Override
public String getSitemapRootUrl() {return mSitemapRootUrl;}
@Override
public AsyncHttpClient createAsyncHttpClient() {
AsyncHttpClient asyncHttpClient = new MyAsyncHttpClient(mContext);
asyncHttpClient.setBasicAuth(mUsername, mPassword);
asyncHttpClient.addHeader("Accept", "application/xml");
asyncHttpClient.setTimeout(30000);
return asyncHttpClient;
}
@Override
public boolean runningInDemoMode() {
return getBaseUrl().equalsIgnoreCase(mContext.getString(R.string.openhab_demo_url));
}
}