Bug Fixes

Bug Fixes
master
msmannan00 2021-02-19 12:51:37 +05:00
parent 46f3fd8d78
commit 8418376554
29 changed files with 415 additions and 157 deletions

View File

@ -13,21 +13,22 @@
<!--Javascripts-->
<script defer src="../resources/javascript/fontawesome.js"></script>
<script src="../resources/javascript/jquery.js"></script>
<script src="../resources/javascript/js-jquery.js"></script>
<script src="../resources/javascript/bootstrap.bundle.min.js"></script>
<script type="../resources/javascript/bootstrap.js"></script>
<script type="../resources/javascript/bootstrap.min.js"></script>
<script src="javascript/enum-homepage.js"></script>
<script src="javascript/string-homepage.js"></script>
<script src="javascript/js-homepage.js"></script>
<!--Meta Data-->
<title>Genesis Search Engine | Dark Web Based Search Engine</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Darkweb or Deepweb Search Engine working on multiple layered network including i2p,onion and riddle. Optimized Searches with mobile support and seperate Mobile Apps">
</head>
<body>
<div class="hi_container_size">
<!--top bar-->
@ -50,13 +51,32 @@
<p class="hi_search__language-text gs-disable-highlight">Privacy, simplified <span class="hi_search__language-name ">Help Spread Genesis!</span></p>
<!--reference websites-->
</form>
<hr class="line-style">
<br>
<div id="mReferenceWebsites">
<div class="hi_reference">
<div class="clearfix content-heading">
<div class="hi_loader"></div>
<hr style="height:10px;border-width:0;color:gray;background-color:#cccccc;margin-left: 15px">
<hr style="height:10px;border-width:0;color:gray;background-color:#cccccc;margin-left: 15px">
<hr style="height:10px;border-width:0;color:gray;background-color:#cccccc;margin-right: 15%">
<hr style="height:10px;border-width:0;color:gray;background-color:#cccccc;margin-right: 10%">
</div>
</div>
</div>
<br>
<br>
<br>
<br>
<br>
<!--footer-->
<div class="footer-bar-container">

View File

@ -0,0 +1,23 @@
/*Enums*/
var Commands = {
onLoadReferenceWebsites : "onLoadReferenceWebsites",
};
/*Links*/
var GET = {
pData : "pData",
};
var UIID = {
mReferenceWebsites : "mReferenceWebsites",
};
var ReferenceWebsitesDataID = {
mIcon : "mIcon",
mHeader : "mHeader",
mBody : "mBody",
};

View File

@ -0,0 +1,56 @@
/*Homepage Classes*/
class homepage {
constructor() {
}
/*Helper Methods*/
onLoadReferenceWebsites(){
document.getElementById('mReferenceWebsites').className = 'hide';
}
onLoadReferenceWebsiteContent(mJson){
var mResponseJson = mJson;
var obj = JSON.parse(mResponseJson);
var mReferenceHTML = strings.emptyString;
Object.keys(obj).forEach(function(key) {
var mObject = obj[key];
mReferenceHTML += '<div class="hi_reference"><div class="clearfix content-heading"> <img style="float:left" src='+mObject[ReferenceWebsitesDataID.mIcon]+' alt="" /><h6 style="margin-left: 40px;padding-top:5px">'+mObject[ReferenceWebsitesDataID.mHeader]+'</h5><p style="margin-left: 0px;line-height: 18px;margin-top: 20px;color: #8c8c8c;font-size: 15px">'+mObject[ReferenceWebsitesDataID.mBody]+'</p></div></div>'
});
var mReferenceID = document.getElementById(UIID.mReferenceWebsites);
mReferenceID.innerHTML = mReferenceHTML;
document.getElementById('mReferenceWebsites').className = 'show';
}
/*Ajax Request*/
onParseReferenceWebsites() {
var $_GET=[];
decodeURIComponent(window.location.href).replace(/[?&]+([^=&]+)=([^&]*)/gi,function(a,name,value){$_GET[name]=value;});
setTimeout(mHomepageLoader.onLoadReferenceWebsites, 500);
setTimeout(mHomepageLoader.onLoadReferenceWebsiteContent, 1000, $_GET[GET.pData]);
}
}
let mHomepageLoader = new homepage();
/*Helper Classes Manager*/
function onTriggerScriptHandler(pCommand) {
if(pCommand == Commands.onLoadReferenceWebsites){
mHomepageLoader.onParseReferenceWebsites()
}
}
/*Default Loaders*/
$(window).on('load', function() {
onTriggerScriptHandler(Commands.onLoadReferenceWebsites)
});

View File

@ -0,0 +1,6 @@
/*Strings*/
var strings = {
emptyString : "",
};

View File

@ -75,6 +75,31 @@
transition: .0s;
}
.hi_reference{
align-self: center;
height:auto;
padding: 10px;
padding-bottom: 0px;
border-radius: 6px;
outline: none;
border: 1px solid #f0f0f0;
box-shadow: 0 3px 3px 0 #cccccc;
width:91% !important;
max-width: 575px;
display:block;
font:16px arial,sans-serif;
color: black;
margin: 0 auto 0px;
margin-top: -15px;
margin-bottom: 35px;
-webkit-transition: .0s;
-moz-transition: .0s;
-o-transition: .0s;
transition: .0s;
}
@media only screen and (max-width: 943px) {
.hi_search__search-box {
margin-top: 30px;
@ -192,3 +217,35 @@
}
}
.hi_loader {
border: 4px solid #f3f3f3;
border-radius: 50%;
border-top: 4px solid #3498db;
width: 30px;
float: left;
height: 30px;
-webkit-animation: spin 2s linear infinite; /* Safari */
animation: spin 2s linear infinite;
}
line-style
/* Safari */
@-webkit-keyframes spin {
0% { -webkit-transform: rotate(0deg); }
100% { -webkit-transform: rotate(360deg); }
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
.show {
opacity: 1;
transition: opacity 500ms;
}
.hide {
opacity: 0;
transition: opacity 350ms;
}

View File

@ -12,7 +12,6 @@ import android.widget.*;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.RecyclerView;
import com.darkweb.genesissearchengine.constants.enums;
import com.darkweb.genesissearchengine.constants.strings;
import com.darkweb.genesissearchengine.helperManager.eventObserver;
@ -24,9 +23,8 @@ import java.util.Calendar;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import systems.intelligo.slight.ImageLoader;
import static android.content.Context.LAYOUT_INFLATER_SERVICE;
import static com.darkweb.genesissearchengine.constants.constants.CONST_BOOKMARK_LOAD_MORE;
public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listViewHolder>
{
@ -41,13 +39,14 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
private ArrayList<String> mLongSelectedIndex = new ArrayList<>();
private ArrayList<Integer> mLongSelectedID = new ArrayList<>();
private ImageLoader imageLoader;
private AppCompatActivity mContext;
private bookmarkAdapterView mBookmarkAdapterView;
private bookmarkAdapterView mHistroyAdapterView;
private Context mListHolderContext;
private PopupWindow mPopupWindow = null;
private eventObserver.eventListener mEvent;
boolean mLongPressedMenuActive = false;
private String mFilter = strings.GENERIC_EMPTY_STR;
private boolean mLongPressedMenuActive = false;
/*Local Variables*/
@ -59,30 +58,15 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
this.mCurrentList = new ArrayList<>();
this.mPassedList = pModelList;
this.mContext = pMainContext;
this.mBookmarkAdapterView = new bookmarkAdapterView(mContext);
this.mHistroyAdapterView = new bookmarkAdapterView(mContext);
this.imageLoader = new ImageLoader(mContext);
initializeModelWithDate(false);
}
private void onLoading(){
mContext.runOnUiThread(() -> {
mCurrentList.add(new bookmarkRowModel(CONST_BOOKMARK_LOAD_MORE,null,-2));
notifyItemInserted(mCurrentList.size());
});
}
private void onLoadingClear(){
for(int mCounter = 0; mCounter< mCurrentList.size(); mCounter++){
if(mCurrentList.get(mCounter).getHeader().equals(CONST_BOOKMARK_LOAD_MORE)){
int finalM_counter = mCounter;
mContext.runOnUiThread(() -> {
mCurrentList.remove(finalM_counter);
notifyItemRemoved(finalM_counter);
});
break;
}
}
public void onLoadMore(ArrayList<bookmarkRowModel> pModelList){
notifyDataSetChanged();
initializeModelWithDate(false);
}
@ -116,7 +100,7 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
float diff = m_date_2-m_date_1;
if(diff==0){
if(m_date_state!=1){
if(m_date_state!=1 && p_model_list.get(counter).getID()!=-2){
this.mModelList.add(new bookmarkRowModel("Today ",null,-1));
mRealID.add(m_real_counter);
mRealIndex.add(m_real_counter);
@ -157,7 +141,7 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
public void onDeleteSelected(){
for(int m_counter = 0; m_counter< mLongSelectedIndex.size(); m_counter++){
for(int m_counter_inner = 0; m_counter_inner< mCurrentList.size(); m_counter_inner++){
if(mCurrentList.get(m_counter_inner).getDate() == mLongSelectedDate.get(m_counter) && mLongSelectedIndex.get(m_counter).equals(mCurrentList.get(m_counter_inner).getDescription())){
if(mCurrentList.get(m_counter_inner).getDate() == mLongSelectedDate.get(m_counter) && mLongSelectedIndex.get(m_counter).equals("https://"+ mCurrentList.get(m_counter_inner).getDescription())){
mEvent.invokeObserver(Collections.singletonList(mRealIndex.get(m_counter_inner)),enums.etype.url_clear);
mEvent.invokeObserver(Collections.singletonList(mLongSelectedID.get(m_counter)),enums.etype.url_clear_at);
invokeFilter(false);
@ -175,8 +159,8 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
if(mDateVerify){
notifyItemRemoved(m_counter_inner-1);
mCurrentList.remove(m_counter_inner-1);
notifyItemRemoved(m_counter_inner-1);
mCurrentList.remove(m_counter_inner-1);
//notifyItemRemoved(m_counter_inner-1);
//mCurrentList.remove(m_counter_inner-1);
notifyItemRangeChanged(m_counter_inner-1, mCurrentList.size());
}else {
notifyItemRemoved(m_counter_inner);
@ -215,7 +199,8 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
}
@Override
public void onBindViewHolder(@NonNull listViewHolder holder, int position) {
public void onBindViewHolder(@NonNull bookmarkAdapter.listViewHolder holder, int position)
{
holder.bindListView(mCurrentList.get(position), position);
}
@ -236,7 +221,7 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
public void onSelectView(View pItemView, String pUrl, View pMenuItem, ImageView pLogoImage, boolean pIsForced, int pId, Date pDate){
if(!mSearchEnabled){
try {
mPopupWindow = (PopupWindow) mBookmarkAdapterView.onTrigger(bookmarkEnums.eBookmarkViewAdapterCommands.M_SELECT_VIEW, Arrays.asList(pItemView, pMenuItem, pLogoImage, pIsForced, true));
mPopupWindow = (PopupWindow) mHistroyAdapterView.onTrigger(bookmarkEnums.eBookmarkViewAdapterCommands.M_SELECT_VIEW, Arrays.asList(pItemView, pMenuItem, pLogoImage, pIsForced, true));
} catch (Exception e) {
e.printStackTrace();
}
@ -264,7 +249,7 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
public void onClearHighlight(View pItemView, String pUrl, View pMenuItem, ImageView pLogoImage, boolean pIsForced, int pId, Date pDate)
{
try {
mPopupWindow = (PopupWindow) mBookmarkAdapterView.onTrigger(bookmarkEnums.eBookmarkViewAdapterCommands.M_CLEAR_HIGHLIGHT, Arrays.asList(pItemView, pMenuItem, pLogoImage, pIsForced));
mPopupWindow = (PopupWindow) mHistroyAdapterView.onTrigger(bookmarkEnums.eBookmarkViewAdapterCommands.M_CLEAR_HIGHLIGHT, Arrays.asList(pItemView, pMenuItem, pLogoImage, pIsForced));
mLongSelectedDate.remove(pDate);
mLongSelectedIndex.remove(pUrl);
mLongSelectedID.remove((Integer) pId);
@ -342,7 +327,7 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
void onOpenMenu(View pView, String pUrl, int pPosition, String pTitle){
LayoutInflater layoutInflater = (LayoutInflater) pView.getContext().getSystemService(LAYOUT_INFLATER_SERVICE);
@SuppressLint("InflateParams") final View mPopupView = layoutInflater.inflate(R.layout.history_bookmark__row_menu, null);
mPopupWindow = (PopupWindow) mBookmarkAdapterView.onTrigger(bookmarkEnums.eBookmarkViewAdapterCommands.M_OPEN_MENU, Arrays.asList(mPopupWindow, pView, mPopupView));
mPopupWindow = (PopupWindow) mHistroyAdapterView.onTrigger(bookmarkEnums.eBookmarkViewAdapterCommands.M_OPEN_MENU, Arrays.asList(mPopupWindow, pView, mPopupView));
setPopupWindowEvents(mPopupView.findViewById(R.id.pMenuCopy), pUrl, pPosition, pTitle);
setPopupWindowEvents(mPopupView.findViewById(R.id.pMenuShare), pUrl, pPosition, pTitle);
@ -407,24 +392,11 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
mCurrentList.remove(pIndex-1);
notifyItemRangeChanged(pIndex-1, mCurrentList.size());
}else {
notifyItemRemoved(pIndex);
mCurrentList.remove(pIndex);
notifyItemRangeChanged(pIndex, mCurrentList.size());
}
if(size>1){
new Thread(){
public void run(){
try
{
sleep(500);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}.start();
notifyItemRemoved(pIndex);
notifyItemRangeChanged(pIndex, mCurrentList.size());
notifyItemChanged(mCurrentList.size()-1);
}
}
@ -441,6 +413,7 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
LinearLayout mRowContainer;
LinearLayout mDateContainer;
LinearLayout mLoadingContainer;
ImageView mHindTypeIconTemp;
listViewHolder(View itemView) {
super(itemView);
@ -457,6 +430,7 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
mWebLogo = itemView.findViewById(R.id.pWebLogo);
mLoadingContainer = itemView.findViewById(R.id.pLoadingContainer);
mFaviconLogo = itemView.findViewById(R.id.pFaviconLogo);
mHindTypeIconTemp = new ImageView(mContext);
if(model.getID() == -1){
mDate.setText(model.getHeader());
@ -475,6 +449,7 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
mRowMenu.setClickable(false);
mWebLogo.setVisibility(View.GONE);
mLoadingContainer.setVisibility(View.VISIBLE);
return;
}
else {
mDateContainer.setVisibility(View.GONE);
@ -483,12 +458,34 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
mRowMenu.setVisibility(View.VISIBLE);
mRowMenu.setClickable(true);
mWebLogo.setVisibility(View.VISIBLE);
mHeader.setText(model.getHeader());
mWebLogo.setText((helperMethod.getDomainName(model.getHeader()).toUpperCase().charAt(0)+""));
String header = model.getHeader();
mDescription.setText((model.getDescription()));
mEvent.invokeObserver(Arrays.asList(mFaviconLogo, model.getDescription()),enums.etype.fetch_favicon);
mHeader.setText(model.getHeader());
mDescription.setText(("https://"+model.getDescription()));
new Thread(){
public void run(){
try {
mHindTypeIconTemp.setImageDrawable(null);
mEvent.invokeObserver(Arrays.asList(mHindTypeIconTemp, "https://" + helperMethod.getDomainName(model.getDescription())), enums.etype.fetch_favicon);
while (true){
int mCounter=0;
if(mHindTypeIconTemp.isAttachedToWindow() || mHindTypeIconTemp.getDrawable()==null){
sleep(50);
mCounter+=1;
}else {
break;
}
if(mCounter>6){
break;
}
}
mContext.runOnUiThread(() -> mFaviconLogo.setImageDrawable(mHindTypeIconTemp.getDrawable()));
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}.start();
setItemViewOnClickListener(mRowContainer, mRowMenu, mDescription.getText().toString(), p_position, header, mRowMenu, mLogoImage, model.getID(), model.getDate());
}
@ -501,10 +498,10 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
mRowMenu.setClickable(true);
}
if(mLongSelectedIndex.contains(model.getDescription()) && mLongSelectedID.contains(model.getID())){
mPopupWindow = (PopupWindow) mBookmarkAdapterView.onTrigger(bookmarkEnums.eBookmarkViewAdapterCommands.M_SELECT_VIEW, Arrays.asList(mRowContainer, mRowMenu, mLogoImage, true, false));
if(mLongSelectedIndex.contains("https://" + model.getDescription()) && mLongSelectedID.contains(model.getID())){
mPopupWindow = (PopupWindow) mHistroyAdapterView.onTrigger(bookmarkEnums.eBookmarkViewAdapterCommands.M_SELECT_VIEW, Arrays.asList(mRowContainer, mRowMenu, mLogoImage, true, false));
}else if(mLogoImage.getAlpha()>0){
mPopupWindow = (PopupWindow) mBookmarkAdapterView.onTrigger(bookmarkEnums.eBookmarkViewAdapterCommands.M_CLEAR_HIGHLIGHT, Arrays.asList(mRowContainer, mRowMenu, mLogoImage, true, false));
mPopupWindow = (PopupWindow) mHistroyAdapterView.onTrigger(bookmarkEnums.eBookmarkViewAdapterCommands.M_CLEAR_HIGHLIGHT, Arrays.asList(mRowContainer, mRowMenu, mLogoImage, true, false));
}
}
}
@ -524,7 +521,7 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
}
}
public boolean isLongPressMenuActive(){
private boolean isLongPressMenuActive(){
return mLongSelectedIndex.size()>0;
}
@ -532,12 +529,6 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
if(pCommands == bookmarkEnums.eBookmarkAdapterCommands.GET_SELECTED_URL){
return getSelectedURL();
}
else if(pCommands == bookmarkEnums.eBookmarkAdapterCommands.M_ON_LOADING){
onLoading();
}
else if(pCommands == bookmarkEnums.eBookmarkAdapterCommands.M_LOADING_CLEAR){
onLoadingClear();
}
else if(pCommands == bookmarkEnums.eBookmarkAdapterCommands.M_CLEAR_LONG_SELECTED_URL){
clearLongSelectedURL();
}
@ -547,6 +538,9 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
else if(pCommands == bookmarkEnums.eBookmarkAdapterCommands.GET_LONG_SELECTED_STATUS){
return isLongPressMenuActive();
}
else if(pCommands == bookmarkEnums.eBookmarkAdapterCommands.ON_CLOSE){
onClose((int)pData.get(0));
}
return null;
}

View File

@ -80,7 +80,7 @@ public class databaseController
public ArrayList<historyRowModel> selectHistory(int startIndex,int endIndex){
ArrayList<historyRowModel> tempmodel = new ArrayList<>();
Cursor c = mDatabaseInstance.rawQuery("SELECT * FROM history ORDER BY date ASC LIMIT "+endIndex+" OFFSET "+startIndex, null);
Cursor c = mDatabaseInstance.rawQuery("SELECT * FROM history ORDER BY date DESC LIMIT " + endIndex + " OFFSET "+startIndex, null);
if (c.moveToFirst()){
do {
historyRowModel model = new historyRowModel(c.getString(3), c.getString(2),Integer.parseInt(c.getString(0)));
@ -93,7 +93,7 @@ public class databaseController
if(Calendar.getInstance().getTime().getTime() < model.getDate().getTime()){
tempmodel.add(model);
}else {
tempmodel.add(0, model);
tempmodel.add(model);
}
} while(c.moveToNext());
}

View File

@ -3,6 +3,7 @@ package com.darkweb.genesissearchengine.appManager.historyManager;
import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Handler;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
@ -28,7 +29,6 @@ import java.util.List;
import systems.intelligo.slight.ImageLoader;
import static android.content.Context.LAYOUT_INFLATER_SERVICE;
import static com.darkweb.genesissearchengine.constants.constants.CONST_HISTORY_LOAD_MORE;
public class historyAdapter extends RecyclerView.Adapter<historyAdapter.listViewHolder>
{
@ -68,25 +68,9 @@ public class historyAdapter extends RecyclerView.Adapter<historyAdapter.listView
initializeModelWithDate(false);
}
private void onLoading(){
mContext.runOnUiThread(() -> {
mCurrentList.add(new historyRowModel(CONST_HISTORY_LOAD_MORE,null,-2));
notifyItemInserted(mCurrentList.size());
});
}
private void onLoadingClear(){
for(int mCounter = 0; mCounter< mCurrentList.size(); mCounter++){
if(mCurrentList.get(mCounter).getHeader().equals(CONST_HISTORY_LOAD_MORE)){
int finalM_counter = mCounter;
mContext.runOnUiThread(() -> {
mCurrentList.remove(finalM_counter);
notifyItemRemoved(finalM_counter);
});
break;
}
}
public void onLoadMore(ArrayList<historyRowModel> pModelList){
notifyDataSetChanged();
initializeModelWithDate(false);
}
@ -120,7 +104,7 @@ public class historyAdapter extends RecyclerView.Adapter<historyAdapter.listView
float diff = m_date_2-m_date_1;
if(diff==0){
if(m_date_state!=1){
if(m_date_state!=1 && p_model_list.get(counter).getID()!=-2){
this.mModelList.add(new historyRowModel("Today ",null,-1));
mRealID.add(m_real_counter);
mRealIndex.add(m_real_counter);
@ -179,8 +163,8 @@ public class historyAdapter extends RecyclerView.Adapter<historyAdapter.listView
if(mDateVerify){
notifyItemRemoved(m_counter_inner-1);
mCurrentList.remove(m_counter_inner-1);
notifyItemRemoved(m_counter_inner-1);
mCurrentList.remove(m_counter_inner-1);
//notifyItemRemoved(m_counter_inner-1);
//mCurrentList.remove(m_counter_inner-1);
notifyItemRangeChanged(m_counter_inner-1, mCurrentList.size());
}else {
notifyItemRemoved(m_counter_inner);
@ -412,24 +396,11 @@ public class historyAdapter extends RecyclerView.Adapter<historyAdapter.listView
mCurrentList.remove(pIndex-1);
notifyItemRangeChanged(pIndex-1, mCurrentList.size());
}else {
notifyItemRemoved(pIndex);
mCurrentList.remove(pIndex);
notifyItemRangeChanged(pIndex, mCurrentList.size());
}
if(size>1){
new Thread(){
public void run(){
try
{
sleep(500);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}.start();
notifyItemRemoved(pIndex);
notifyItemRangeChanged(pIndex, mCurrentList.size());
notifyItemChanged(mCurrentList.size()-1);
}
}
@ -446,6 +417,7 @@ public class historyAdapter extends RecyclerView.Adapter<historyAdapter.listView
LinearLayout mRowContainer;
LinearLayout mDateContainer;
LinearLayout mLoadingContainer;
ImageView mHindTypeIconTemp;
listViewHolder(View itemView) {
super(itemView);
@ -462,6 +434,7 @@ public class historyAdapter extends RecyclerView.Adapter<historyAdapter.listView
mWebLogo = itemView.findViewById(R.id.pWebLogo);
mLoadingContainer = itemView.findViewById(R.id.pLoadingContainer);
mFaviconLogo = itemView.findViewById(R.id.pFaviconLogo);
mHindTypeIconTemp = new ImageView(mContext);
if(model.getID() == -1){
mDate.setText(model.getHeader());
@ -480,6 +453,7 @@ public class historyAdapter extends RecyclerView.Adapter<historyAdapter.listView
mRowMenu.setClickable(false);
mWebLogo.setVisibility(View.GONE);
mLoadingContainer.setVisibility(View.VISIBLE);
return;
}
else {
mDateContainer.setVisibility(View.GONE);
@ -488,12 +462,34 @@ public class historyAdapter extends RecyclerView.Adapter<historyAdapter.listView
mRowMenu.setVisibility(View.VISIBLE);
mRowMenu.setClickable(true);
mWebLogo.setVisibility(View.VISIBLE);
mHeader.setText(model.getHeader());
mWebLogo.setText((helperMethod.getDomainName(model.getHeader()).toUpperCase().charAt(0)+""));
String header = model.getHeader();
mDescription.setText(("https://"+model.getDescription()));
mEvent.invokeObserver(Arrays.asList(mFaviconLogo, "https://" + model.getDescription()),enums.etype.fetch_favicon);
mHeader.setText(model.getHeader());
new Thread(){
public void run(){
try {
mHindTypeIconTemp.setImageDrawable(null);
mEvent.invokeObserver(Arrays.asList(mHindTypeIconTemp, "https://" + helperMethod.getDomainName(model.getDescription())), enums.etype.fetch_favicon);
while (true){
int mCounter=0;
if(mHindTypeIconTemp.isAttachedToWindow() || mHindTypeIconTemp.getDrawable()==null){
sleep(50);
mCounter+=1;
}else {
break;
}
if(mCounter>6){
break;
}
}
mContext.runOnUiThread(() -> mFaviconLogo.setImageDrawable(mHindTypeIconTemp.getDrawable()));
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}.start();
setItemViewOnClickListener(mRowContainer, mRowMenu, mDescription.getText().toString(), p_position, header, mRowMenu, mLogoImage, model.getID(), model.getDate());
}
@ -537,12 +533,6 @@ public class historyAdapter extends RecyclerView.Adapter<historyAdapter.listView
if(pCommands == historyEnums.eHistoryAdapterCommands.GET_SELECTED_URL){
return getSelectedURL();
}
else if(pCommands == historyEnums.eHistoryAdapterCommands.M_ON_LOADING){
onLoading();
}
else if(pCommands == historyEnums.eHistoryAdapterCommands.M_LOADING_CLEAR){
onLoadingClear();
}
else if(pCommands == historyEnums.eHistoryAdapterCommands.M_CLEAR_LONG_SELECTED_URL){
clearLongSelectedURL();
}

View File

@ -340,14 +340,18 @@ public class historyController extends AppCompatActivity
isUpdatingRecyclerView = true;
new Thread(){
public void run(){
if(pLoadingEnabled){
mHistoryAdapter.onTrigger(historyEnums.eHistoryAdapterCommands.M_ON_LOADING, null);
}
int mPrevSize = mHistoryModel.getList().size();
dataController.getInstance().invokeHistory(dataEnums.eHistoryCommands.M_LOAD_MORE_HISTORY ,null);
ArrayList<historyRowModel> model = (ArrayList<historyRowModel>) dataController.getInstance().invokeHistory(dataEnums.eHistoryCommands.M_GET_HISTORY ,null);
mHistoryModel.setList(model);
activityContextManager.getInstance().getHistoryController().runOnUiThread(() -> {
if(mPrevSize<mHistoryModel.getList().size()){
mHistoryAdapter.onLoadMore(mHistoryModel.getList());
//mHistoryAdapter.notifyItemRangeInserted(mPrevSize, mHistoryModel.getList().size()-1);
}
});
try {
sleep(500);
activityContextManager.getInstance().getHistoryController().runOnUiThread(() -> mHistoryAdapter.onTrigger(historyEnums.eHistoryAdapterCommands.M_LOADING_CLEAR, null));
sleep(1000);
isUpdatingRecyclerView = false;
} catch (InterruptedException e) {
e.printStackTrace();

View File

@ -8,7 +8,7 @@ public class historyEnums
}
public enum eHistoryAdapterCommands {
M_ON_LOADING, M_LOADING_CLEAR, M_CLEAR_LONG_SELECTED_URL, GET_SELECTED_URL, GET_LONG_SELECTED_URL, GET_LONG_SELECTED_STATUS, ON_CLOSE
M_CLEAR_LONG_SELECTED_URL, GET_SELECTED_URL, GET_LONG_SELECTED_URL, GET_LONG_SELECTED_STATUS, ON_CLOSE
}
public enum eHistoryViewAdapterCommands {

View File

@ -7,6 +7,8 @@ import android.widget.ImageView;
import androidx.appcompat.app.AppCompatActivity;
import com.darkweb.genesissearchengine.appManager.kotlinHelperLibraries.BrowserIconManager;
import com.darkweb.genesissearchengine.constants.*;
import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.darkweb.genesissearchengine.helperManager.helperMethod;
@ -185,7 +187,8 @@ public class geckoClients
if(url.startsWith("https://boogle.store?pG") || url.endsWith("boogle.store") || url.endsWith(constants.CONST_GENESIS_DOMAIN_URL_SLASHED)){
try{
mSession.initURL(constants.CONST_GENESIS_DOMAIN_URL);
mSession.loadUri(constants.CONST_GENESIS_URL_CACHED);
String mURL = constants.CONST_GENESIS_URL_CACHED + "?pData="+ dataController.getInstance().invokeReferenceWebsite(dataEnums.eReferenceWebsiteCommands.M_FETCH,null);
mSession.loadUri(mURL);
}catch (Exception ex){
ex.printStackTrace();
}

View File

@ -60,6 +60,7 @@ import java.util.Objects;
import javax.crypto.spec.SecretKeySpec;
import static com.darkweb.genesissearchengine.constants.constants.CONST_GENESIS_URL_CACHED;
import static com.darkweb.genesissearchengine.pluginManager.pluginEnums.eMessageManager.M_LONG_PRESS_URL;
import static com.darkweb.genesissearchengine.pluginManager.pluginEnums.eMessageManager.M_LONG_PRESS_WITH_LINK;
import static com.darkweb.genesissearchengine.pluginManager.pluginEnums.eMessageManagerCallbacks.M_RATE_APPLICATION;
@ -82,6 +83,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
private AppCompatActivity mContext;
private geckoDownloadManager mDownloadManager;
private String mTheme = null;
private boolean mPreviousErrorPage = false;
/*Temp Variables*/
private GeckoSession.HistoryDelegate.HistoryList mHistoryList = null;
@ -304,7 +306,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
if(!mCurrentTitle.equals("loading")){
m_current_url_id = (int)event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID,mCurrentTitle, m_current_url_id, mTheme, this), enums.etype.on_update_history);
}
if(newUrl.equals(constants.CONST_GENESIS_URL_CACHED)){
if(newUrl.startsWith(CONST_GENESIS_URL_CACHED)){
mCurrentURL = constants.CONST_GENESIS_DOMAIN_URL;
}
else if(newUrl.equals(constants.CONST_GENESIS_HELP_URL_CACHE)){
@ -330,8 +332,8 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
}
public GeckoResult<AllowOrDeny> onLoadRequest(@NonNull GeckoSession var2, @NonNull GeckoSession.NavigationDelegate.LoadRequest var1) {
if(!var1.uri.equals(constants.CONST_GENESIS_URL_CACHED) && var1.uri.startsWith("https://boogle.store") && !var1.uri.contains(constants.CONST_GENESIS_LOCAL_TIME_GET_KEY) && !var1.uri.contains(constants.CONST_GENESIS_LOCAL_TIME_GET_KEY)){
mPreviousErrorPage = false;
if(!var1.uri.startsWith(CONST_GENESIS_URL_CACHED) && var1.uri.startsWith("https://boogle.store") && !var1.uri.contains(constants.CONST_GENESIS_LOCAL_TIME_GET_KEY) && !var1.uri.contains(constants.CONST_GENESIS_LOCAL_TIME_GET_KEY)){
String mVerificationURL = setGenesisVerificationToken(var1.uri);
initURL(mVerificationURL);
loadUri(mVerificationURL);
@ -348,6 +350,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
}
else if(var1.uri.equals("about:blank") && mIsLoaded){
event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID,mCurrentTitle, mTheme), enums.etype.ON_EXPAND_TOP_BAR);
event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID,mCurrentTitle, false), enums.etype.M_ON_BANNER_UPDATE);
return GeckoResult.fromValue(AllowOrDeny.ALLOW);
}
else if(var1.target==2){
@ -356,7 +359,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
}
else if(!var1.uri.equals("about:blank")){
mCurrentURL = var1.uri;
if(mCurrentURL.equals(constants.CONST_GENESIS_URL_CACHED)){
if(mCurrentURL.startsWith(CONST_GENESIS_URL_CACHED)){
mCurrentURL = constants.CONST_GENESIS_DOMAIN_URL;
}else if(mCurrentURL.equals(constants.CONST_GENESIS_HELP_URL_CACHE)){
mCurrentURL = constants.CONST_GENESIS_HELP_URL;
@ -366,6 +369,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID), enums.etype.search_update);
checkApplicationRate();
event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID,mCurrentTitle, mTheme), enums.etype.ON_EXPAND_TOP_BAR);
return GeckoResult.fromValue(AllowOrDeny.ALLOW);
}else {
return GeckoResult.fromValue(AllowOrDeny.DENY);
@ -388,6 +392,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
public GeckoResult<String> onLoadError(@NonNull GeckoSession var1, @Nullable String var2, WebRequestError var3) {
errorHandler handler = new errorHandler();
mProgress = 0;
mPreviousErrorPage = true;
event.invokeObserver(Arrays.asList(var2,mSessionID), enums.etype.on_load_error);
event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID,mCurrentTitle, mTheme), enums.etype.ON_UPDATE_THEME);
return GeckoResult.fromValue("data:text/html," + handler.createErrorPage(var3.category, var3.code,mContext,var2));
@ -408,6 +413,13 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
@UiThread
public void onFirstContentfulPaint(@NonNull GeckoSession var1) {
isFirstPaintExecuted = true;
if(mPreviousErrorPage || mCurrentURL.contains("boogle.store") || mCurrentURL.startsWith(CONST_GENESIS_URL_CACHED)){
event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID,mCurrentTitle, false), enums.etype.M_ON_BANNER_UPDATE);
}else {
event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID,mCurrentTitle, true), enums.etype.M_ON_BANNER_UPDATE);
}
if(!mCurrentURL.equals("about:blank")){
event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID,mCurrentTitle, m_current_url_id,mTheme), enums.etype.ON_FIRST_PAINT);
event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID,mCurrentTitle, m_current_url_id,mTheme), enums.etype.ON_LOAD_REQUEST);

View File

@ -438,6 +438,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
/*-------------------------------------------------------Helper Methods-------------------------------------------------------*/
public void onGetFavIcon(ImageView pImageView, String pURL){
mGeckoClient.onGetFavIcon(pImageView, pURL);
}
public void onGetThumbnail(ImageView pImageView){
@ -1422,9 +1423,13 @@ public class homeController extends AppCompatActivity implements ComponentCallba
@Override
public Object invokeObserver(List<Object> data, Object e_type)
{
if(e_type.equals(enums.etype.ON_EXPAND_TOP_BAR)){
mAppBar.setExpanded(true,true);
}
else if(e_type.equals(enums.etype.M_ON_BANNER_UPDATE)){
mHomeViewController.updateBannerAdvertStatus((boolean)data.get(3));
}
else if(e_type.equals(enums.etype.progress_update)){
mHomeViewController.onProgressBarUpdate((int)data.get(0));
}

View File

@ -54,6 +54,7 @@ import java.util.Collections;
import java.util.List;
import java.util.concurrent.Callable;
import static android.content.Context.LAYOUT_INFLATER_SERVICE;
import static com.darkweb.genesissearchengine.pluginManager.pluginEnums.eAdManagerCallbacks.M_SHOW_LOADED_ADS;
import static org.mozilla.geckoview.GeckoSessionSettings.USER_AGENT_MODE_DESKTOP;
class homeViewController
@ -145,6 +146,8 @@ class homeViewController
{
mContext.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_USER);
}, 1500);
updateBannerAdvertStatus(false);
}
public void initTopBarPadding(){
@ -560,6 +563,20 @@ class homeViewController
}
}
void updateBannerAdvertStatus(boolean status){
if(status){
mBannerAds.animate().cancel();
mBannerAds.setAlpha(0);
mBannerAds.animate().alpha(1);
mBannerAds.setVisibility(View.VISIBLE);
onSetBannerAdMargin(true,true);
}else{
mBannerAds.animate().cancel();
mBannerAds.animate().alpha(0).withEndAction(() -> mBannerAds.setVisibility(View.GONE));
onSetBannerAdMargin(false,true);
}
}
private Handler searchBarUpdateHandler = new Handler();
private String handlerLocalUrl = "";
void onUpdateSearchBar(String url,boolean showProtocol, boolean pClearText){

View File

@ -37,6 +37,7 @@ public class settingLogController extends AppCompatActivity {
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
super.onCreate(savedInstanceState);
setContentView(R.layout.setting_log_view);
activityContextManager.getInstance().onStack(this);
viewsInitializations();
}

View File

@ -150,7 +150,7 @@ class tabViewController
mRemoveSelection.setVisibility(View.GONE);
mClearSelection.setVisibility(View.GONE);
mMenuButton.setVisibility(View.VISIBLE);
mTabs.animate().setStartDelay(350).setDuration(200).alpha(1);
mTabs.animate().setStartDelay(0).setDuration(250).alpha(1);
}
private void onShowUndoDialog(int pTabCount) {

View File

@ -19,6 +19,7 @@ public class constants
public static final String CONST_GENESIS_URL_CACHED = "resource://android/assets/homepage/homepage.html";
public static final String CONST_GENESIS_ERROR_CACHED = "resource://android/assets/error/error.html";
public static final String CONST_GENESIS_DOMAIN_URL_SLASHED = "https://boogle.store/";
public static final String CONST_GENESIS_REFERENCE_WEBSITES = "https://drive.google.com/uc?export=download&id=1lOmukKOPYHApBFyTDkaRPoAwm59E_YEE";
public static final String CONST_GENESIS_DOMAIN_URL = "https://boogle.store";
public static final String CONST_GENESIS_LOCAL_TIME_GET_KEY = "pLocalTimeVerificationToken";
public static final String CONST_GENESIS_GMT_TIME_GET_KEY = "pGlobalTimeVerificationToken";

View File

@ -6,7 +6,7 @@ public class enums
public enum etype{
on_update_favicon,ON_UPDATE_TAB_TITLE, ON_LOAD_REQUEST,GECKO_SCROLL_CHANGED,ON_UPDATE_SEARCH_BAR,
on_verify_selected_url_menu,FINDER_RESULT_CALLBACK,
welcome, reload,download_folder,
welcome, reload,download_folder,M_ON_BANNER_UPDATE,
url_triggered, url_triggered_new_tab,url_clear,fetch_favicon, fetch_thumbnail,url_clear_at,remove_from_database,is_empty,M_HOME_PAGE,M_PRELOAD_URL,ON_KEYBOARD_CLOSE,
on_close_sesson,on_long_press, on_full_screen,on_handle_external_intent,on_update_suggestion_url,progress_update, ON_EXPAND_TOP_BAR,recheck_orbot,on_url_load,on_playstore_load,back_list_empty,start_proxy, ON_UPDATE_THEME, M_INITIALIZE_TAB_SINGLE, M_INITIALIZE_TAB_LINK,on_request_completed, on_update_history,on_update_suggestion,M_WELCOME_MESSAGE,ON_UPDATE_TITLE_BAR,ON_FIRST_PAINT, ON_LOAD_TAB_ON_RESUME, ON_SESSION_REINIT,on_page_loaded,on_load_error,download_file_popup,on_init_ads,search_update, open_new_tab
}

View File

@ -5,6 +5,7 @@ public class keys
/*Home page*/
public static String HOME_LOW_MEMORY = "LOW_MEMORY";
public static final String HOME_REFERENCE_WEBSITES = "HOME_REFERENCE_WEBSITES";
/*Proxy Manager*/

View File

@ -23,6 +23,7 @@ public class status
public static String sSettingRedirectStatus = strings.GENERIC_EMPTY_STR;
public static String sSettingLanguage = "en";
public static String sSettingLanguageRegion = "Us";
public static String mReferenceWebsites;
public static boolean sSettingEnableZoom = true;
public static boolean sSettingEnableVoiceInput = true;
@ -87,8 +88,9 @@ public class status
status.sStatusDoNotTrack = (boolean)dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_GET_BOOL, Arrays.asList(keys.SETTING_DONOT_TRACK,true));
status.sSettingCookieStatus = (int)dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_GET_INT, Arrays.asList(keys.SETTING_COOKIE_ADJUSTABLE,ACCEPT_FIRST_PARTY));
status.sSettingFontSize = (int)dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_GET_FLOAT, Arrays.asList(keys.SETTING_FONT_SIZE,100));
status.mReferenceWebsites = (String)dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_GET_STRING, Arrays.asList(keys.SETTING_LANGUAGE,strings.SETTING_DEFAULT_LANGUAGE));
status.sSettingLanguage = (String)dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_GET_STRING, Arrays.asList(keys.SETTING_LANGUAGE,strings.SETTING_DEFAULT_LANGUAGE));
status.sSettingLanguage = (String)dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_GET_STRING, Arrays.asList(keys.HOME_REFERENCE_WEBSITES,strings.HOME_REFERENCE_WEBSITES_DEFAULT));
status.sSettingLanguageRegion = (String)dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_GET_STRING, Arrays.asList(keys.SETTING_LANGUAGE_REGION,strings.SETTING_DEFAULT_LANGUAGE_REGION));
status.sSettingSearchStatus = (String)dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_GET_STRING, Arrays.asList(keys.SETTING_SEARCH_ENGINE,constants.CONST_BACKEND_GENESIS_URL));
status.sBridgeCustomBridge = (String)dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_GET_STRING, Arrays.asList(keys.BRIDGE_CUSTOM_BRIDGE_1,strings.BRIDGE_CUSTOM_BRIDGE_OBFS4));

View File

@ -46,6 +46,7 @@ public class strings
/*Home Manager*/
public static final String HOME_BLANK_PAGE = "about:blank";
public static final String HOME_REFERENCE_WEBSITES_DEFAULT = "";
/*Message Manager*/

View File

@ -24,6 +24,7 @@ public class dataController
private bookmarkDataModel mBookmarkDataModel;
private suggestionDataModel mSuggestionDataModel;
private helpDataModel mHelpDataModel;
private referenceWebsiteDataModel mReferenceWebsiteDataModel;
/*Private Declarations*/
@ -43,8 +44,10 @@ public class dataController
mBookmarkDataModel = new bookmarkDataModel();
mSuggestionDataModel = new suggestionDataModel(pAppContext);
mHelpDataModel = new helpDataModel();
mReferenceWebsiteDataModel = new referenceWebsiteDataModel();
}
public void initializeListData(){
mReferenceWebsiteDataModel.onTrigger(dataEnums.eReferenceWebsiteCommands.M_LOAD,Collections.singletonList(activityContextManager.getInstance().getHomeController()));
mBookmarkDataModel.initializebookmark(databaseController.getInstance().selectBookmark());
if(!status.sClearOnExit)
{
@ -69,7 +72,7 @@ public class dataController
}
if(pCommands.equals(dataEnums.eHistoryCommands.M_LOAD_MORE_HISTORY)){
int m_history_size = (int) mHistoryModel.onTrigger(dataEnums.eHistoryCommands.M_HISTORY_SIZE,null);
int m_history_size = (int) mHistoryModel.onTrigger(dataEnums.eHistoryCommands.M_HISTORY_SIZE,null) - 1;
return mHistoryModel.onTrigger(pCommands, Collections.singletonList(databaseController.getInstance().selectHistory(m_history_size+1,constants.CONST_FETCHABLE_LIST_SIZE)));
}else {
return mHistoryModel.onTrigger(pCommands, pData);
@ -80,6 +83,10 @@ public class dataController
return mSuggestionDataModel.onTrigger(pCommands, Arrays.asList(pData.get(0), mHistoryModel.onTrigger(dataEnums.eHistoryCommands.M_GET_HISTORY, null), mBookmarkDataModel.onTrigger(dataEnums.eBookmarkCommands.M_GET_BOOKMARK, null)));
}
public Object invokeReferenceWebsite(dataEnums.eReferenceWebsiteCommands pCommands, List<Object> pData){
return mReferenceWebsiteDataModel.onTrigger(pCommands, null);
}
/*Recieving Preferences*/
public Object invokePrefs(dataEnums.ePreferencesCommands pCommands, List<Object> pData){
return mPreferenceModel.onTrigger(pCommands, pData);

View File

@ -11,6 +11,10 @@ public class dataEnums
M_ADD_BOOKMARK, M_GET_BOOKMARK, M_DELETE_BOOKMARK, M_CLEAR_BOOKMARK;
}
public enum eReferenceWebsiteCommands {
M_LOAD, M_FETCH;
}
public enum ePreferencesCommands{
M_SET_STRING, M_SET_BOOL, M_SET_INT, M_SET_FLOAT, M_GET_STRING, M_GET_BOOL, M_GET_INT, M_GET_FLOAT, M_CLEAR_PREFS
}

View File

@ -0,0 +1,56 @@
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;
import com.darkweb.genesissearchengine.constants.status;
import com.darkweb.genesissearchengine.constants.strings;
import java.util.List;
import static com.darkweb.genesissearchengine.constants.constants.CONST_GENESIS_REFERENCE_WEBSITES;
public class referenceWebsiteDataModel {
private String mReferenceWebsiteData = "null";
private boolean mLoading = false;
public referenceWebsiteDataModel(){
mReferenceWebsiteData = status.mReferenceWebsites;
}
private void onLoad(Context pContext){
if(!mLoading){
mLoading = true;
StringRequest stringRequest = new StringRequest(Request.Method.GET, CONST_GENESIS_REFERENCE_WEBSITES,
response -> {
mReferenceWebsiteData = response;
mLoading = false;
},
error -> {});
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;
}
}

View File

@ -64,10 +64,6 @@ class adManager
@Override
public void onAdLoaded() {
bannerAdsLoaded = true;
mBannerAds.animate().cancel();
mBannerAds.animate().alpha(0);
mBannerAds.setVisibility(View.VISIBLE);
mBannerAds.animate().setStartDelay(100).setDuration(500).alpha(1).withEndAction(() -> mEvent.invokeObserver(null,M_SHOW_LOADED_ADS));
}
@Override

View File

@ -173,8 +173,7 @@
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/pRecycleView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="60dp"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@ -135,7 +135,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/c_background"
android:orientation="horizontal"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
@ -143,8 +143,9 @@
<Button
android:id="@+id/pClearButton"
android:layout_width="0dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:elevation="1dp"
android:layout_marginStart="0dp"
android:layout_marginTop="0dp"
android:layout_marginEnd="0dp"
@ -166,6 +167,11 @@
app:layout_constraintStart_toStartOf="parent"
tools:ignore="RtlSymmetry" />
<View
android:layout_width="match_parent"
android:background="@color/c_ripple_v2"
android:layout_height="1dp"/>
</LinearLayout>
</com.google.android.material.appbar.AppBarLayout>
@ -173,8 +179,7 @@
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/pRecycleView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="60dp"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@ -31,7 +31,6 @@
android:textStyle="bold"
android:textSize="17sp"
android:text="A"
android:translationZ="3dp"
android:textAlignment="center"
android:textColor="@color/white"
android:background="@xml/hx_circle_favicon"
@ -39,20 +38,21 @@
tools:ignore="RtlCompat" />
<androidx.cardview.widget.CardView
android:layout_width="42dp"
android:layout_height="42dp"
android:layout_width="43dp"
android:layout_height="43dp"
android:padding="20dp"
android:layout_marginStart="-47dp"
android:layout_marginTop="9dp"
android:translationZ="1dp"
android:layout_marginStart="-48dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="5dp"
android:gravity="center_vertical"
app:cardCornerRadius="40dp">
<ImageView
android:id="@+id/pFaviconLogo"
android:layout_width="42dp"
android:layout_height="42dp"
android:background="@xml/hx_circle_favicon"
android:layout_width="43dp"
android:layout_height="43dp"
android:background="@color/button_gray"
android:contentDescription="@string/GENERAL_TODO"
android:textAlignment="center"
android:textColor="@color/white"
@ -62,11 +62,11 @@
</androidx.cardview.widget.CardView>
<ImageView
android:id="@+id/pLogoImage"
android:layout_width="43dp"
android:layout_marginTop="8dp"
android:layout_marginStart="-47.5dp"
android:layout_width="45dp"
android:layout_marginTop="7dp"
android:layout_marginStart="-49dp"
android:layout_marginEnd="4.5dp"
android:layout_height="43dp"
android:layout_height="45dp"
android:visibility="gone"
android:alpha="0"
android:translationZ="3dp"

View File

@ -29,7 +29,6 @@
android:layout_height="65dp"
android:clickable="true"
android:focusable="true"
android:animateLayoutChanges="true"
android:orientation="horizontal"
android:paddingStart="5dp"
app:layout_constraintEnd_toEndOf="parent"
@ -57,7 +56,6 @@
android:visibility="gone"
android:textSize="18sp"
android:paddingStart="20dp"
android:animateLayoutChanges="true"
android:layout_marginTop="-3dp"
android:textColor="@color/c_navigation_tint"
android:textStyle="bold"/>