LeOS-Genesis/app/src/main/java/com/darkweb/genesissearchengine/dataManager/referenceWebsiteDataModel.java

79 lines
2.9 KiB
Java
Raw Normal View History

2021-02-19 08:51:37 +01:00
package com.darkweb.genesissearchengine.dataManager;
import android.content.Context;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
2021-02-25 15:26:43 +01:00
import com.darkweb.genesissearchengine.constants.keys;
2021-02-19 08:51:37 +01:00
import com.darkweb.genesissearchengine.constants.status;
import com.darkweb.genesissearchengine.constants.strings;
2021-02-25 15:26:43 +01:00
import java.util.Arrays;
2021-02-19 08:51:37 +01:00
import java.util.List;
import static com.darkweb.genesissearchengine.constants.constants.CONST_GENESIS_REFERENCE_WEBSITES;
2021-05-10 17:37:53 +02:00
import static com.darkweb.genesissearchengine.constants.constants.CONST_GENESIS_REFERENCE_WEBSITES_DEV;
import static com.darkweb.genesissearchengine.constants.constants.CONST_SERVER;
import static com.darkweb.genesissearchengine.constants.constants.CONST_SERVER_DEV;
2021-02-19 08:51:37 +01:00
public class referenceWebsiteDataModel {
private String mReferenceWebsiteData = "null";
private boolean mLoading = false;
public referenceWebsiteDataModel(){
2021-04-18 10:37:16 +02:00
mReferenceWebsiteData = status.sReferenceWebsites;
2021-02-19 08:51:37 +01:00
}
private void onLoad(Context pContext){
if(!mLoading){
mLoading = true;
2021-05-10 17:37:53 +02:00
String mRefURL;
if(status.sDeveloperBuild){
mRefURL = CONST_GENESIS_REFERENCE_WEBSITES_DEV;
}else {
mRefURL = CONST_GENESIS_REFERENCE_WEBSITES;
}
StringRequest stringRequest = new StringRequest(Request.Method.GET, mRefURL,
2021-02-19 08:51:37 +01:00
response -> {
2021-02-25 15:26:43 +01:00
if(response.length()>10){
mReferenceWebsiteData = response;
2021-04-18 10:37:16 +02:00
status.sReferenceWebsites = response;
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_STRING, Arrays.asList(keys.HOME_REFERENCE_WEBSITES,status.sReferenceWebsites));
2021-02-25 15:26:43 +01:00
mLoading = false;
}else {
2021-04-18 10:37:16 +02:00
mReferenceWebsiteData = status.sReferenceWebsites;
2021-02-25 15:26:43 +01:00
}
2021-02-19 08:51:37 +01:00
},
2021-02-25 15:26:43 +01:00
error -> {
2021-04-18 10:37:16 +02:00
mReferenceWebsiteData = status.sReferenceWebsites;
2021-02-25 15:26:43 +01:00
mLoading = false;
});
2021-02-19 08:51:37 +01:00
RequestQueue requestQueue = Volley.newRequestQueue(pContext);
requestQueue.add(stringRequest);
}
}
private String onFetch(){
try {
return mReferenceWebsiteData;
}catch (Exception ignored){}
return strings.GENERIC_EMPTY_SPACE;
}
public Object onTrigger(dataEnums.eReferenceWebsiteCommands p_commands, List<Object> pData){
if(p_commands == dataEnums.eReferenceWebsiteCommands.M_LOAD){
onLoad((Context) pData.get(0));
}
if(p_commands == dataEnums.eReferenceWebsiteCommands.M_FETCH){
return onFetch();
}
return null;
}
}