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--> <!--Javascripts-->
<script defer src="../resources/javascript/fontawesome.js"></script> <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 src="../resources/javascript/bootstrap.bundle.min.js"></script>
<script type="../resources/javascript/bootstrap.js"></script> <script type="../resources/javascript/bootstrap.js"></script>
<script type="../resources/javascript/bootstrap.min.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--> <!--Meta Data-->
<title>Genesis Search Engine | Dark Web Based Search Engine</title> <title>Genesis Search Engine | Dark Web Based Search Engine</title>
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <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"> <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> </head>
<body> <body>
<div class="hi_container_size"> <div class="hi_container_size">
<!--top bar--> <!--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> <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> </form>
<hr class="line-style"> <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>
</div>
<br>
<br>
<br>
<br>
<br>
<!--footer--> <!--footer-->
<div class="footer-bar-container"> <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; 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) { @media only screen and (max-width: 943px) {
.hi_search__search-box { .hi_search__search-box {
margin-top: 30px; 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.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.darkweb.genesissearchengine.constants.enums; import com.darkweb.genesissearchengine.constants.enums;
import com.darkweb.genesissearchengine.constants.strings; import com.darkweb.genesissearchengine.constants.strings;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
@ -24,9 +23,8 @@ import java.util.Calendar;
import java.util.Collections; import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import systems.intelligo.slight.ImageLoader;
import static android.content.Context.LAYOUT_INFLATER_SERVICE; 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> 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<String> mLongSelectedIndex = new ArrayList<>();
private ArrayList<Integer> mLongSelectedID = new ArrayList<>(); private ArrayList<Integer> mLongSelectedID = new ArrayList<>();
private ImageLoader imageLoader;
private AppCompatActivity mContext; private AppCompatActivity mContext;
private bookmarkAdapterView mBookmarkAdapterView; private bookmarkAdapterView mHistroyAdapterView;
private Context mListHolderContext; private Context mListHolderContext;
private PopupWindow mPopupWindow = null; private PopupWindow mPopupWindow = null;
private eventObserver.eventListener mEvent; private eventObserver.eventListener mEvent;
boolean mLongPressedMenuActive = false;
private String mFilter = strings.GENERIC_EMPTY_STR; private String mFilter = strings.GENERIC_EMPTY_STR;
private boolean mLongPressedMenuActive = false;
/*Local Variables*/ /*Local Variables*/
@ -59,30 +58,15 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
this.mCurrentList = new ArrayList<>(); this.mCurrentList = new ArrayList<>();
this.mPassedList = pModelList; this.mPassedList = pModelList;
this.mContext = pMainContext; this.mContext = pMainContext;
this.mBookmarkAdapterView = new bookmarkAdapterView(mContext); this.mHistroyAdapterView = new bookmarkAdapterView(mContext);
this.imageLoader = new ImageLoader(mContext);
initializeModelWithDate(false); initializeModelWithDate(false);
} }
public void onLoadMore(ArrayList<bookmarkRowModel> pModelList){
private void onLoading(){ notifyDataSetChanged();
mContext.runOnUiThread(() -> { initializeModelWithDate(false);
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;
}
}
} }
@ -116,7 +100,7 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
float diff = m_date_2-m_date_1; float diff = m_date_2-m_date_1;
if(diff==0){ 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)); this.mModelList.add(new bookmarkRowModel("Today ",null,-1));
mRealID.add(m_real_counter); mRealID.add(m_real_counter);
mRealIndex.add(m_real_counter); mRealIndex.add(m_real_counter);
@ -157,7 +141,7 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
public void onDeleteSelected(){ public void onDeleteSelected(){
for(int m_counter = 0; m_counter< mLongSelectedIndex.size(); m_counter++){ 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++){ 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(mRealIndex.get(m_counter_inner)),enums.etype.url_clear);
mEvent.invokeObserver(Collections.singletonList(mLongSelectedID.get(m_counter)),enums.etype.url_clear_at); mEvent.invokeObserver(Collections.singletonList(mLongSelectedID.get(m_counter)),enums.etype.url_clear_at);
invokeFilter(false); invokeFilter(false);
@ -175,8 +159,8 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
if(mDateVerify){ if(mDateVerify){
notifyItemRemoved(m_counter_inner-1); notifyItemRemoved(m_counter_inner-1);
mCurrentList.remove(m_counter_inner-1); mCurrentList.remove(m_counter_inner-1);
notifyItemRemoved(m_counter_inner-1); //notifyItemRemoved(m_counter_inner-1);
mCurrentList.remove(m_counter_inner-1); //mCurrentList.remove(m_counter_inner-1);
notifyItemRangeChanged(m_counter_inner-1, mCurrentList.size()); notifyItemRangeChanged(m_counter_inner-1, mCurrentList.size());
}else { }else {
notifyItemRemoved(m_counter_inner); notifyItemRemoved(m_counter_inner);
@ -215,7 +199,8 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
} }
@Override @Override
public void onBindViewHolder(@NonNull listViewHolder holder, int position) { public void onBindViewHolder(@NonNull bookmarkAdapter.listViewHolder holder, int position)
{
holder.bindListView(mCurrentList.get(position), 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){ public void onSelectView(View pItemView, String pUrl, View pMenuItem, ImageView pLogoImage, boolean pIsForced, int pId, Date pDate){
if(!mSearchEnabled){ if(!mSearchEnabled){
try { 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) { } catch (Exception e) {
e.printStackTrace(); 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) public void onClearHighlight(View pItemView, String pUrl, View pMenuItem, ImageView pLogoImage, boolean pIsForced, int pId, Date pDate)
{ {
try { 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); mLongSelectedDate.remove(pDate);
mLongSelectedIndex.remove(pUrl); mLongSelectedIndex.remove(pUrl);
mLongSelectedID.remove((Integer) pId); 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){ void onOpenMenu(View pView, String pUrl, int pPosition, String pTitle){
LayoutInflater layoutInflater = (LayoutInflater) pView.getContext().getSystemService(LAYOUT_INFLATER_SERVICE); LayoutInflater layoutInflater = (LayoutInflater) pView.getContext().getSystemService(LAYOUT_INFLATER_SERVICE);
@SuppressLint("InflateParams") final View mPopupView = layoutInflater.inflate(R.layout.history_bookmark__row_menu, null); @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.pMenuCopy), pUrl, pPosition, pTitle);
setPopupWindowEvents(mPopupView.findViewById(R.id.pMenuShare), 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); mCurrentList.remove(pIndex-1);
notifyItemRangeChanged(pIndex-1, mCurrentList.size()); notifyItemRangeChanged(pIndex-1, mCurrentList.size());
}else { }else {
notifyItemRemoved(pIndex);
mCurrentList.remove(pIndex); mCurrentList.remove(pIndex);
notifyItemRangeChanged(pIndex, mCurrentList.size());
}
if(size>1){ notifyItemRemoved(pIndex);
new Thread(){ notifyItemRangeChanged(pIndex, mCurrentList.size());
public void run(){ notifyItemChanged(mCurrentList.size()-1);
try
{
sleep(500);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}.start();
} }
} }
@ -441,6 +413,7 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
LinearLayout mRowContainer; LinearLayout mRowContainer;
LinearLayout mDateContainer; LinearLayout mDateContainer;
LinearLayout mLoadingContainer; LinearLayout mLoadingContainer;
ImageView mHindTypeIconTemp;
listViewHolder(View itemView) { listViewHolder(View itemView) {
super(itemView); super(itemView);
@ -457,6 +430,7 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
mWebLogo = itemView.findViewById(R.id.pWebLogo); mWebLogo = itemView.findViewById(R.id.pWebLogo);
mLoadingContainer = itemView.findViewById(R.id.pLoadingContainer); mLoadingContainer = itemView.findViewById(R.id.pLoadingContainer);
mFaviconLogo = itemView.findViewById(R.id.pFaviconLogo); mFaviconLogo = itemView.findViewById(R.id.pFaviconLogo);
mHindTypeIconTemp = new ImageView(mContext);
if(model.getID() == -1){ if(model.getID() == -1){
mDate.setText(model.getHeader()); mDate.setText(model.getHeader());
@ -475,6 +449,7 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
mRowMenu.setClickable(false); mRowMenu.setClickable(false);
mWebLogo.setVisibility(View.GONE); mWebLogo.setVisibility(View.GONE);
mLoadingContainer.setVisibility(View.VISIBLE); mLoadingContainer.setVisibility(View.VISIBLE);
return;
} }
else { else {
mDateContainer.setVisibility(View.GONE); mDateContainer.setVisibility(View.GONE);
@ -483,12 +458,34 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
mRowMenu.setVisibility(View.VISIBLE); mRowMenu.setVisibility(View.VISIBLE);
mRowMenu.setClickable(true); mRowMenu.setClickable(true);
mWebLogo.setVisibility(View.VISIBLE); mWebLogo.setVisibility(View.VISIBLE);
mHeader.setText(model.getHeader());
mWebLogo.setText((helperMethod.getDomainName(model.getHeader()).toUpperCase().charAt(0)+"")); mWebLogo.setText((helperMethod.getDomainName(model.getHeader()).toUpperCase().charAt(0)+""));
String header = model.getHeader(); String header = model.getHeader();
mDescription.setText((model.getDescription())); mDescription.setText(("https://"+model.getDescription()));
mEvent.invokeObserver(Arrays.asList(mFaviconLogo, 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()); 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); mRowMenu.setClickable(true);
} }
if(mLongSelectedIndex.contains(model.getDescription()) && mLongSelectedID.contains(model.getID())){ if(mLongSelectedIndex.contains("https://" + model.getDescription()) && mLongSelectedID.contains(model.getID())){
mPopupWindow = (PopupWindow) mBookmarkAdapterView.onTrigger(bookmarkEnums.eBookmarkViewAdapterCommands.M_SELECT_VIEW, Arrays.asList(mRowContainer, mRowMenu, mLogoImage, true, false)); mPopupWindow = (PopupWindow) mHistroyAdapterView.onTrigger(bookmarkEnums.eBookmarkViewAdapterCommands.M_SELECT_VIEW, Arrays.asList(mRowContainer, mRowMenu, mLogoImage, true, false));
}else if(mLogoImage.getAlpha()>0){ }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; return mLongSelectedIndex.size()>0;
} }
@ -532,12 +529,6 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
if(pCommands == bookmarkEnums.eBookmarkAdapterCommands.GET_SELECTED_URL){ if(pCommands == bookmarkEnums.eBookmarkAdapterCommands.GET_SELECTED_URL){
return getSelectedURL(); 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){ else if(pCommands == bookmarkEnums.eBookmarkAdapterCommands.M_CLEAR_LONG_SELECTED_URL){
clearLongSelectedURL(); clearLongSelectedURL();
} }
@ -547,6 +538,9 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
else if(pCommands == bookmarkEnums.eBookmarkAdapterCommands.GET_LONG_SELECTED_STATUS){ else if(pCommands == bookmarkEnums.eBookmarkAdapterCommands.GET_LONG_SELECTED_STATUS){
return isLongPressMenuActive(); return isLongPressMenuActive();
} }
else if(pCommands == bookmarkEnums.eBookmarkAdapterCommands.ON_CLOSE){
onClose((int)pData.get(0));
}
return null; return null;
} }

View File

@ -80,7 +80,7 @@ public class databaseController
public ArrayList<historyRowModel> selectHistory(int startIndex,int endIndex){ public ArrayList<historyRowModel> selectHistory(int startIndex,int endIndex){
ArrayList<historyRowModel> tempmodel = new ArrayList<>(); 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()){ if (c.moveToFirst()){
do { do {
historyRowModel model = new historyRowModel(c.getString(3), c.getString(2),Integer.parseInt(c.getString(0))); 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()){ if(Calendar.getInstance().getTime().getTime() < model.getDate().getTime()){
tempmodel.add(model); tempmodel.add(model);
}else { }else {
tempmodel.add(0, model); tempmodel.add(model);
} }
} while(c.moveToNext()); } while(c.moveToNext());
} }

View File

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

View File

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

View File

@ -8,7 +8,7 @@ public class historyEnums
} }
public enum eHistoryAdapterCommands { 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 { public enum eHistoryViewAdapterCommands {

View File

@ -7,6 +7,8 @@ import android.widget.ImageView;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import com.darkweb.genesissearchengine.appManager.kotlinHelperLibraries.BrowserIconManager; import com.darkweb.genesissearchengine.appManager.kotlinHelperLibraries.BrowserIconManager;
import com.darkweb.genesissearchengine.constants.*; 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.eventObserver;
import com.darkweb.genesissearchengine.helperManager.helperMethod; 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)){ if(url.startsWith("https://boogle.store?pG") || url.endsWith("boogle.store") || url.endsWith(constants.CONST_GENESIS_DOMAIN_URL_SLASHED)){
try{ try{
mSession.initURL(constants.CONST_GENESIS_DOMAIN_URL); 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){ }catch (Exception ex){
ex.printStackTrace(); ex.printStackTrace();
} }

View File

@ -60,6 +60,7 @@ import java.util.Objects;
import javax.crypto.spec.SecretKeySpec; 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_URL;
import static com.darkweb.genesissearchengine.pluginManager.pluginEnums.eMessageManager.M_LONG_PRESS_WITH_LINK; import static com.darkweb.genesissearchengine.pluginManager.pluginEnums.eMessageManager.M_LONG_PRESS_WITH_LINK;
import static com.darkweb.genesissearchengine.pluginManager.pluginEnums.eMessageManagerCallbacks.M_RATE_APPLICATION; 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 AppCompatActivity mContext;
private geckoDownloadManager mDownloadManager; private geckoDownloadManager mDownloadManager;
private String mTheme = null; private String mTheme = null;
private boolean mPreviousErrorPage = false;
/*Temp Variables*/ /*Temp Variables*/
private GeckoSession.HistoryDelegate.HistoryList mHistoryList = null; private GeckoSession.HistoryDelegate.HistoryList mHistoryList = null;
@ -304,7 +306,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
if(!mCurrentTitle.equals("loading")){ 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); 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; mCurrentURL = constants.CONST_GENESIS_DOMAIN_URL;
} }
else if(newUrl.equals(constants.CONST_GENESIS_HELP_URL_CACHE)){ 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) { public GeckoResult<AllowOrDeny> onLoadRequest(@NonNull GeckoSession var2, @NonNull GeckoSession.NavigationDelegate.LoadRequest var1) {
mPreviousErrorPage = false;
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)){ 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); String mVerificationURL = setGenesisVerificationToken(var1.uri);
initURL(mVerificationURL); initURL(mVerificationURL);
loadUri(mVerificationURL); loadUri(mVerificationURL);
@ -348,6 +350,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
} }
else if(var1.uri.equals("about:blank") && mIsLoaded){ 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, 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); return GeckoResult.fromValue(AllowOrDeny.ALLOW);
} }
else if(var1.target==2){ else if(var1.target==2){
@ -356,7 +359,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
} }
else if(!var1.uri.equals("about:blank")){ else if(!var1.uri.equals("about:blank")){
mCurrentURL = var1.uri; mCurrentURL = var1.uri;
if(mCurrentURL.equals(constants.CONST_GENESIS_URL_CACHED)){ if(mCurrentURL.startsWith(CONST_GENESIS_URL_CACHED)){
mCurrentURL = constants.CONST_GENESIS_DOMAIN_URL; mCurrentURL = constants.CONST_GENESIS_DOMAIN_URL;
}else if(mCurrentURL.equals(constants.CONST_GENESIS_HELP_URL_CACHE)){ }else if(mCurrentURL.equals(constants.CONST_GENESIS_HELP_URL_CACHE)){
mCurrentURL = constants.CONST_GENESIS_HELP_URL; 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); event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID), enums.etype.search_update);
checkApplicationRate(); checkApplicationRate();
event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID,mCurrentTitle, mTheme), enums.etype.ON_EXPAND_TOP_BAR); event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID,mCurrentTitle, mTheme), enums.etype.ON_EXPAND_TOP_BAR);
return GeckoResult.fromValue(AllowOrDeny.ALLOW); return GeckoResult.fromValue(AllowOrDeny.ALLOW);
}else { }else {
return GeckoResult.fromValue(AllowOrDeny.DENY); 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) { public GeckoResult<String> onLoadError(@NonNull GeckoSession var1, @Nullable String var2, WebRequestError var3) {
errorHandler handler = new errorHandler(); errorHandler handler = new errorHandler();
mProgress = 0; mProgress = 0;
mPreviousErrorPage = true;
event.invokeObserver(Arrays.asList(var2,mSessionID), enums.etype.on_load_error); event.invokeObserver(Arrays.asList(var2,mSessionID), enums.etype.on_load_error);
event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID,mCurrentTitle, mTheme), enums.etype.ON_UPDATE_THEME); 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)); 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 @UiThread
public void onFirstContentfulPaint(@NonNull GeckoSession var1) { public void onFirstContentfulPaint(@NonNull GeckoSession var1) {
isFirstPaintExecuted = true; 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")){ 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_FIRST_PAINT);
event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID,mCurrentTitle, m_current_url_id,mTheme), enums.etype.ON_LOAD_REQUEST); 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-------------------------------------------------------*/ /*-------------------------------------------------------Helper Methods-------------------------------------------------------*/
public void onGetFavIcon(ImageView pImageView, String pURL){ public void onGetFavIcon(ImageView pImageView, String pURL){
mGeckoClient.onGetFavIcon(pImageView, pURL);
} }
public void onGetThumbnail(ImageView pImageView){ public void onGetThumbnail(ImageView pImageView){
@ -1422,9 +1423,13 @@ public class homeController extends AppCompatActivity implements ComponentCallba
@Override @Override
public Object invokeObserver(List<Object> data, Object e_type) public Object invokeObserver(List<Object> data, Object e_type)
{ {
if(e_type.equals(enums.etype.ON_EXPAND_TOP_BAR)){ if(e_type.equals(enums.etype.ON_EXPAND_TOP_BAR)){
mAppBar.setExpanded(true,true); 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)){ else if(e_type.equals(enums.etype.progress_update)){
mHomeViewController.onProgressBarUpdate((int)data.get(0)); mHomeViewController.onProgressBarUpdate((int)data.get(0));
} }

View File

@ -54,6 +54,7 @@ import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
import static android.content.Context.LAYOUT_INFLATER_SERVICE; 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; import static org.mozilla.geckoview.GeckoSessionSettings.USER_AGENT_MODE_DESKTOP;
class homeViewController class homeViewController
@ -145,6 +146,8 @@ class homeViewController
{ {
mContext.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_USER); mContext.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_USER);
}, 1500); }, 1500);
updateBannerAdvertStatus(false);
} }
public void initTopBarPadding(){ 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 Handler searchBarUpdateHandler = new Handler();
private String handlerLocalUrl = ""; private String handlerLocalUrl = "";
void onUpdateSearchBar(String url,boolean showProtocol, boolean pClearText){ 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); pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.setting_log_view); setContentView(R.layout.setting_log_view);
activityContextManager.getInstance().onStack(this);
viewsInitializations(); viewsInitializations();
} }

View File

@ -150,7 +150,7 @@ class tabViewController
mRemoveSelection.setVisibility(View.GONE); mRemoveSelection.setVisibility(View.GONE);
mClearSelection.setVisibility(View.GONE); mClearSelection.setVisibility(View.GONE);
mMenuButton.setVisibility(View.VISIBLE); 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) { 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_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_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_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_DOMAIN_URL = "https://boogle.store";
public static final String CONST_GENESIS_LOCAL_TIME_GET_KEY = "pLocalTimeVerificationToken"; public static final String CONST_GENESIS_LOCAL_TIME_GET_KEY = "pLocalTimeVerificationToken";
public static final String CONST_GENESIS_GMT_TIME_GET_KEY = "pGlobalTimeVerificationToken"; public static final String CONST_GENESIS_GMT_TIME_GET_KEY = "pGlobalTimeVerificationToken";

View File

@ -6,7 +6,7 @@ public class enums
public enum etype{ public enum etype{
on_update_favicon,ON_UPDATE_TAB_TITLE, ON_LOAD_REQUEST,GECKO_SCROLL_CHANGED,ON_UPDATE_SEARCH_BAR, 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, 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, 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 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*/ /*Home page*/
public static String HOME_LOW_MEMORY = "LOW_MEMORY"; public static String HOME_LOW_MEMORY = "LOW_MEMORY";
public static final String HOME_REFERENCE_WEBSITES = "HOME_REFERENCE_WEBSITES";
/*Proxy Manager*/ /*Proxy Manager*/

View File

@ -23,6 +23,7 @@ public class status
public static String sSettingRedirectStatus = strings.GENERIC_EMPTY_STR; public static String sSettingRedirectStatus = strings.GENERIC_EMPTY_STR;
public static String sSettingLanguage = "en"; public static String sSettingLanguage = "en";
public static String sSettingLanguageRegion = "Us"; public static String sSettingLanguageRegion = "Us";
public static String mReferenceWebsites;
public static boolean sSettingEnableZoom = true; public static boolean sSettingEnableZoom = true;
public static boolean sSettingEnableVoiceInput = 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.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.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.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.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.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)); 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*/ /*Home Manager*/
public static final String HOME_BLANK_PAGE = "about:blank"; public static final String HOME_BLANK_PAGE = "about:blank";
public static final String HOME_REFERENCE_WEBSITES_DEFAULT = "";
/*Message Manager*/ /*Message Manager*/

View File

@ -24,6 +24,7 @@ public class dataController
private bookmarkDataModel mBookmarkDataModel; private bookmarkDataModel mBookmarkDataModel;
private suggestionDataModel mSuggestionDataModel; private suggestionDataModel mSuggestionDataModel;
private helpDataModel mHelpDataModel; private helpDataModel mHelpDataModel;
private referenceWebsiteDataModel mReferenceWebsiteDataModel;
/*Private Declarations*/ /*Private Declarations*/
@ -43,8 +44,10 @@ public class dataController
mBookmarkDataModel = new bookmarkDataModel(); mBookmarkDataModel = new bookmarkDataModel();
mSuggestionDataModel = new suggestionDataModel(pAppContext); mSuggestionDataModel = new suggestionDataModel(pAppContext);
mHelpDataModel = new helpDataModel(); mHelpDataModel = new helpDataModel();
mReferenceWebsiteDataModel = new referenceWebsiteDataModel();
} }
public void initializeListData(){ public void initializeListData(){
mReferenceWebsiteDataModel.onTrigger(dataEnums.eReferenceWebsiteCommands.M_LOAD,Collections.singletonList(activityContextManager.getInstance().getHomeController()));
mBookmarkDataModel.initializebookmark(databaseController.getInstance().selectBookmark()); mBookmarkDataModel.initializebookmark(databaseController.getInstance().selectBookmark());
if(!status.sClearOnExit) if(!status.sClearOnExit)
{ {
@ -69,7 +72,7 @@ public class dataController
} }
if(pCommands.equals(dataEnums.eHistoryCommands.M_LOAD_MORE_HISTORY)){ 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))); return mHistoryModel.onTrigger(pCommands, Collections.singletonList(databaseController.getInstance().selectHistory(m_history_size+1,constants.CONST_FETCHABLE_LIST_SIZE)));
}else { }else {
return mHistoryModel.onTrigger(pCommands, pData); 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))); 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*/ /*Recieving Preferences*/
public Object invokePrefs(dataEnums.ePreferencesCommands pCommands, List<Object> pData){ public Object invokePrefs(dataEnums.ePreferencesCommands pCommands, List<Object> pData){
return mPreferenceModel.onTrigger(pCommands, 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; M_ADD_BOOKMARK, M_GET_BOOKMARK, M_DELETE_BOOKMARK, M_CLEAR_BOOKMARK;
} }
public enum eReferenceWebsiteCommands {
M_LOAD, M_FETCH;
}
public enum ePreferencesCommands{ 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 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 @Override
public void onAdLoaded() { public void onAdLoaded() {
bannerAdsLoaded = true; 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 @Override

View File

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

View File

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

View File

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

View File

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