diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 21485f3e..ce598080 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -7,7 +7,6 @@
-
-
+
\ No newline at end of file
diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro
index f31203fb..31ea4da0 100755
--- a/app/proguard-rules.pro
+++ b/app/proguard-rules.pro
@@ -15,18 +15,20 @@
public (android.content.Context, android.util.AttributeSet, int);
}
- -keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
- public static final *** NULL;
- }
+-dontobfuscate
+# https://stackoverflow.com/questions/9651703/using-proguard-with-android-without-obfuscation
+-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*,!code/allocation/variable
- -keepnames @com.google.android.gms.common.annotation.KeepName class *
- -keepclassmembernames class * {
- @com.google.android.gms.common.annotation.KeepName *;
- }
+-keep class org.torproject.android.service.vpn.Tun2Socks {
+ void logTun2Socks(java.lang.String, java.lang.String, java.lang.String);
+}
- -keepnames class * implements android.os.Parcelable {
- public static final ** CREATOR;
- }
+-keepattributes Signature
+-keepattributes Annotation
+-keep class okhttp3.** { *; }
+-keep interface okhttp3.** { *; }
+-dontwarn okhttp3.**
+-dontwarn okio.**
- -dontobfuscate
- -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*,!code/allocation/variable
+-dontoptimize
+-dontpreverify
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index ece44ee9..ce700394 100755
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -196,7 +196,7 @@
+ android:value="ca-app-pub-5074525529134731~4717329156" />
diff --git a/app/src/main/assets/Error/error-dark.html b/app/src/main/assets/Error/error-dark.html
new file mode 100644
index 00000000..a2e18eec
--- /dev/null
+++ b/app/src/main/assets/Error/error-dark.html
@@ -0,0 +1,40 @@
+
+
+
+ $TITLE
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/geckoManager/geckoSession.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/geckoManager/geckoSession.java
index 76e7e717..3a3fabc1 100644
--- a/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/geckoManager/geckoSession.java
+++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/geckoManager/geckoSession.java
@@ -86,7 +86,7 @@ geckoSession extends GeckoSession implements GeckoSession.MediaDelegate,GeckoSes
private eventObserver.eventListener event;
private boolean wasBackPressed = false;
- private String mSessionID;
+ private String mSessionID ;
private boolean mCanGoBack = false;
private boolean mCanGoForward = false;
private boolean mFullScreen = false;
@@ -366,7 +366,9 @@ geckoSession extends GeckoSession implements GeckoSession.MediaDelegate,GeckoSes
}
if(!mIsProgressBarChanging){
mIsProgressBarChanging = true;
- mContext.get().runOnUiThread(() -> event.invokeObserver(Arrays.asList(mProgress,mSessionID), enums.etype.progress_update));
+ mContext.get().runOnUiThread(() -> {
+ event.invokeObserver(Arrays.asList(mProgress, mSessionID), enums.etype.progress_update);
+ });
event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID,mCurrentTitle, m_current_url_id, mTheme), enums.etype.M_UPDATE_PIXEL_BACKGROUND);
}
}else {
diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/geckoManager/selectionActionDelegate.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/geckoManager/selectionActionDelegate.java
index 2d3752d3..b815d146 100644
--- a/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/geckoManager/selectionActionDelegate.java
+++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/geckoManager/selectionActionDelegate.java
@@ -430,7 +430,11 @@ public class selectionActionDelegate implements ActionMode.Callback,
try{
if (mUseFloatingToolbar) {
- mActionMode = mActivity.startActionMode(new Callback2Wrapper(),ActionMode.TYPE_FLOATING);
+ if (android.os.Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP_MR1) {
+ mActionMode = mActivity.startActionMode(this);
+ }else {
+ mActionMode = mActivity.startActionMode(new Callback2Wrapper(),ActionMode.TYPE_FLOATING);
+ }
} else {
mActionMode = mActivity.startActionMode(this);
}
diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/homeController/homeController.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/homeController/homeController.java
index e0a0226c..c9d0f6a0 100644
--- a/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/homeController/homeController.java
+++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/homeController/homeController.java
@@ -572,7 +572,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
}
public void onReDrawGeckoview(){
- mGeckoClient.getSession().close();
+ dataController.getInstance().invokeTab(dataEnums.eTabCommands.CLOSE_TAB, Arrays.asList(mGeckoClient.getSession(), mGeckoClient.getSession()));
mGeckoClient.initialize(mGeckoView, new geckoViewCallback(), this,false);
}
@@ -1336,11 +1336,12 @@ public class homeController extends AppCompatActivity implements ComponentCallba
mHomeViewController.onClearSelections(true);
mHomeViewController.onUpdateSearchBar(mGeckoClient.getSession().getCurrentURL(),false,true, true);
- mHomeViewController.initTopBarPadding();
+ //mHomeViewController.initTopBarPadding();
mHomeViewController.onSetBannerAdMargin(!mGeckoClient.isLoading(),(boolean)pluginController.getInstance().onAdsInvoke(null, pluginEnums.eAdManager.M_IS_ADVERT_LOADED)&&!!mGeckoClient.isLoading());
mHomeViewController.expandTopBar(false, mGeckoView.getMaxY());
status.sUIInteracted = true;
+ mHomeViewController.onFullScreen(false);
}
@Override
@@ -1962,6 +1963,13 @@ public class homeController extends AppCompatActivity implements ComponentCallba
{
initTabCountForced();
}
+ else if(e_type.equals(enums.etype.M_IS_ERROR_PAGE))
+ {
+ if(mGeckoClient==null || mGeckoClient.getSession()==null){
+ return null;
+ }
+ return mGeckoClient.getSession().wasPreviousErrorPage();
+ }
else if(e_type.equals(enums.etype.M_ADVERT_LOADED))
{
return pluginController.getInstance().onAdsInvoke(null, pluginEnums.eAdManager.M_IS_ADVERT_LOADED);
@@ -2063,6 +2071,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
onLoadURL(data.get(0).toString());
mHomeViewController.onUpdateSearchBar(dataToStr(data.get(0),mGeckoClient.getSession().getCurrentURL()),false,true, false);
}
+ mHomeViewController.onFullScreen(true);
}
else if(e_type.equals(enums.etype.ON_LOAD_TAB_ON_RESUME)){
if(status.sSettingIsAppRedirected){
@@ -2199,7 +2208,9 @@ public class homeController extends AppCompatActivity implements ComponentCallba
try{
mRenderedBitmap = mGeckoView.capturePixels();
- }catch (Exception ignored){}
+ }catch (Exception ex){
+ Log.i("FIZZAHFUCK1","asd : " + ex.getMessage());
+ }
new Handler().postDelayed(() ->
{
if(mTabFragment!=null && mGeckoClient.getSession()!=null){
@@ -2288,7 +2299,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_IS_BOOTSTRAPPED,true));
mHomeViewController.onPageFinished();
mGeckoClient.onRedrawPixel(homeController.this);
- mHomeViewController.onFullScreen();
+ mHomeViewController.onFullScreen(true);
}
else if(e_type.equals(M_RATE_APPLICATION)){
if(!status.sSettingIsAppRated){
@@ -2361,7 +2372,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
else if(e_type.equals(enums.etype.M_OPEN_SESSION)){
tabRowModel model = (tabRowModel)dataController.getInstance().invokeTab(dataEnums.eTabCommands.GET_CURRENT_TAB, null);
if(model!=null){
- onLoadTab(model.getSession(),true,true, false);
+ onLoadTab(model.getSession(),false,true, false);
onLoadURL(model.getSession().getCurrentURL());
}
}
diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/homeController/homeViewController.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/homeController/homeViewController.java
index b29ab649..fa21337f 100644
--- a/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/homeController/homeViewController.java
+++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/homeController/homeViewController.java
@@ -170,7 +170,7 @@ class homeViewController
initTopBarPadding();
initializeViews();
stopScroll();
- onFullScreen();
+ onFullScreen(false);
}
@SuppressLint("WrongConstant")
@@ -234,7 +234,7 @@ class homeViewController
View child = mAppBar.getChildAt(0);
AppBarLayout.LayoutParams params = (AppBarLayout.LayoutParams) child.getLayoutParams();
params.setScrollFlags(0);
- onFullScreen();
+ onFullScreen(false);
return;
}
}
@@ -245,7 +245,7 @@ class homeViewController
View child = mAppBar.getChildAt(0);
AppBarLayout.LayoutParams params = (AppBarLayout.LayoutParams) child.getLayoutParams();
params.setScrollFlags(0);
- onFullScreen();
+ onFullScreen(false);
}else {
int paddingDp = 0;
if(isFullScreen){
@@ -258,7 +258,7 @@ class homeViewController
View child = mAppBar.getChildAt(0);
AppBarLayout.LayoutParams params = (AppBarLayout.LayoutParams) child.getLayoutParams();
params.setScrollFlags(1);
- onFullScreen();
+ onFullScreen(false);
}
}
@@ -930,7 +930,6 @@ class homeViewController
mBannerAds.setVisibility(View.GONE);
}
}
- onFullScreen();
}
void updateBannerAdvertStatus(boolean status, boolean pIsAdvertLoaded){
@@ -1240,6 +1239,7 @@ class homeViewController
}
public void onFirstPaint(){
+ onFullScreen(true);
mGeckoView.setForeground(ContextCompat.getDrawable(mContext, R.color.clear_alpha));
}
@@ -1256,10 +1256,6 @@ class homeViewController
status.sDisableExpandTemp = false;
}
- //if(mProgressBar.getProgress() == value || mProgressBar.getProgress() <= && value == 100){
- // return;
- //}
-
if(progressAnimator!=null){
progressAnimator.cancel();
}
@@ -1285,10 +1281,10 @@ class homeViewController
status.sDisableExpandTemp = false;
mProgressBar.setProgress(0);
enableCollapsing();
+ onFullScreen(false);
});
}
}
-
}
ObjectAnimator progressAnimator = null;
@@ -1475,9 +1471,15 @@ class homeViewController
}
- public void onFullScreen(){
+ public void onFullScreen(boolean pForced){
Object mAdvertLoaded = mEvent.invokeObserver(null, enums.etype.M_ADVERT_LOADED);
Object mCurrentURL = mEvent.invokeObserver(null, enums.etype.M_GET_CURRENT_URL);
+ Object wasErrorPage = mEvent.invokeObserver(null, enums.etype.M_IS_ERROR_PAGE);
+
+ if(mProgressBar.getProgress()>0 && mProgressBar.getProgress()<100 && !pForced){
+ mWebviewContainer.setPadding(0,0,0,0);
+ return;
+ }
if(status.sFullScreenBrowsing || isFullScreen){
mWebviewContainer.setPadding(0,0,0,0);
@@ -1486,7 +1488,7 @@ class homeViewController
if(mAdvertLoaded!=null && (boolean)mAdvertLoaded){
if(mCurrentURL!=null){
String mURL = (String) mCurrentURL;
- if(mURL.startsWith(CONST_GENESIS_URL_CACHED) || mURL.startsWith(CONST_GENESIS_URL_CACHED_DARK) || mURL.contains("genesishiddentechnologies.com") || mURL.startsWith(CONST_GENESIS_HELP_URL_CACHE) || mURL.startsWith(CONST_GENESIS_HELP_URL_CACHE_DARK)){
+ if((wasErrorPage!=null && (boolean)wasErrorPage) || mURL.startsWith(CONST_GENESIS_URL_CACHED) || mURL.startsWith(CONST_GENESIS_URL_CACHED_DARK) || mURL.contains("genesishiddentechnologies.com") || mURL.startsWith(CONST_GENESIS_HELP_URL_CACHE) || mURL.startsWith(CONST_GENESIS_HELP_URL_CACHE_DARK)){
mWebviewContainer.setPadding(0,0,0,helperMethod.pxFromDp(60));
}else {
int orientation = mContext.getResources().getConfiguration().orientation;
diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/tabManager/tabController.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/tabManager/tabController.java
index 91bb891e..6d0afcb8 100755
--- a/app/src/main/java/com/darkweb/genesissearchengine/appManager/tabManager/tabController.java
+++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/tabManager/tabController.java
@@ -461,7 +461,7 @@ public class tabController extends Fragment
public void onTabRowChanged(String pId){
if(mListModel!=null){
for(int mCounter=0; mCounter mDialog.dismiss());
- mDialog.findViewById(R.id.pNext).setOnClickListener(v -> {
- ArrayList