package com.quickblox.sample.core;
import android.app.Application;
import android.text.TextUtils;
import android.util.Log;
import com.quickblox.auth.session.QBSettings;
import com.quickblox.core.ServiceZone;
import com.quickblox.sample.core.models.QbConfigs;
import com.quickblox.sample.core.utils.configs.CoreConfigUtils;
public class CoreApp extends Application {
public static final String TAG = CoreApp.class.getSimpleName();
private static CoreApp instance;
private static final String QB_CONFIG_DEFAULT_FILE_NAME = "qb_config.json";
private QbConfigs qbConfigs;
@Override
public void onCreate() {
super.onCreate();
instance = this;
initQbConfigs();
initCredentials();
}
private void initQbConfigs() {
Log.e(TAG, "QB CONFIG FILE NAME: " + getQbConfigFileName());
qbConfigs = CoreConfigUtils.getCoreConfigsOrNull(getQbConfigFileName());
}
public static synchronized CoreApp getInstance() {
return instance;
}
public void initCredentials(){
if (qbConfigs != null) {
QBSettings.getInstance().init(getApplicationContext(), qbConfigs.getAppId(), qbConfigs.getAuthKey(), qbConfigs.getAuthSecret());
QBSettings.getInstance().setAccountKey(qbConfigs.getAccountKey());
if (!TextUtils.isEmpty(qbConfigs.getApiDomain()) && !TextUtils.isEmpty(qbConfigs.getChatDomain())) {
QBSettings.getInstance().setEndpoints(qbConfigs.getApiDomain(), qbConfigs.getChatDomain(), ServiceZone.PRODUCTION);
QBSettings.getInstance().setZone(ServiceZone.PRODUCTION);
}
}
}
public QbConfigs getQbConfigs(){
return qbConfigs;
}
protected String getQbConfigFileName(){
return QB_CONFIG_DEFAULT_FILE_NAME;
}
}