diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
index ea4e5d03..b5814f14 100644
--- a/.idea/codeStyles/Project.xml
+++ b/.idea/codeStyles/Project.xml
@@ -1,5 +1,8 @@
+
+
+
@@ -113,5 +116,8 @@
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 6f881795..f5a7599d 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -29,19 +29,19 @@
-
+
-
+
-
+
-
+
-
+
@@ -57,7 +57,7 @@
-
+
diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/externalCommandManager/externalShortcutController.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/externalCommandManager/externalShortcutController.java
index 5baa2374..7530699e 100644
--- a/app/src/main/java/com/darkweb/genesissearchengine/appManager/externalCommandManager/externalShortcutController.java
+++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/externalCommandManager/externalShortcutController.java
@@ -5,9 +5,12 @@ import android.os.Bundle;
import android.view.View;
import androidx.appcompat.app.AppCompatActivity;
+
+import com.darkweb.genesissearchengine.appManager.activityContextManager;
import com.darkweb.genesissearchengine.appManager.homeManager.homeController.homeController;
import com.darkweb.genesissearchengine.constants.constants;
import com.darkweb.genesissearchengine.constants.status;
+import com.darkweb.genesissearchengine.constants.strings;
import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.helperManager.helperMethod;
import com.example.myapplication.R;
@@ -23,6 +26,7 @@ public class externalShortcutController extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ status.sExternalWebsite = strings.GENERIC_EMPTY_STR;
orbotLocalConstants.mIsTorInitialized = false;
Intent mIntent = new Intent(this, homeController.class);
@@ -41,6 +45,7 @@ public class externalShortcutController extends AppCompatActivity {
panicExitInvoked();
break;
case constants.CONST_EXTERNAL_SHORTCUT_COMMAND_RESTART:
+ activityContextManager.getInstance().onClearStack();
break;
}
}
@@ -48,6 +53,7 @@ public class externalShortcutController extends AppCompatActivity {
/* Start Required Activity */
+ finish();
helperMethod.openIntent(mIntent, this, constants.CONST_LIST_EXTERNAL_SHORTCUT);
}
diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/externalCommandManager/externalURLNavigationContoller.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/externalCommandManager/externalURLNavigationContoller.java
index 541d7089..f3f4c38f 100644
--- a/app/src/main/java/com/darkweb/genesissearchengine/appManager/externalCommandManager/externalURLNavigationContoller.java
+++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/externalCommandManager/externalURLNavigationContoller.java
@@ -9,6 +9,8 @@ import androidx.appcompat.app.AppCompatActivity;
import com.darkweb.genesissearchengine.appManager.activityContextManager;
import com.darkweb.genesissearchengine.appManager.homeManager.homeController.homeController;
import com.darkweb.genesissearchengine.constants.constants;
+import com.darkweb.genesissearchengine.constants.status;
+import com.darkweb.genesissearchengine.constants.strings;
import com.darkweb.genesissearchengine.helperManager.helperMethod;
import static com.darkweb.genesissearchengine.constants.constants.CONST_PACKAGE_NAME;
import static com.darkweb.genesissearchengine.constants.keys.EXTERNAL_SHORTCUT_COMMAND_NAVIGATE;
@@ -18,6 +20,8 @@ public class externalURLNavigationContoller extends AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+
+ status.sExternalWebsite = strings.GENERIC_EMPTY_STR;
Uri mData = externalURLNavigationContoller.this.getIntent().getData();
if(mData == null){
mData = Uri.parse(constants.CONST_BACKEND_GENESIS_URL);
@@ -27,6 +31,14 @@ public class externalURLNavigationContoller extends AppCompatActivity {
Intent mIntent = new Intent(this, homeController.class);
mIntent.putExtra(EXTERNAL_SHORTCUT_COMMAND_NAVIGATE, mData.toString());
helperMethod.openIntent(mIntent, this, constants.CONST_LIST_EXTERNAL_SHORTCUT);
+
+ Uri finalMData = mData;
+ helperMethod.onDelayHandler(this, 3000, () -> {
+ activityContextManager.getInstance().getHomeController().onStartApplication(null);
+ activityContextManager.getInstance().getHomeController().onExternalURLInvoke(finalMData.toString());
+ return null;
+ });
+
}
else {
activityContextManager.getInstance().getHomeController().onExternalURLInvoke(mData.toString());
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 f090183c..b0536289 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
@@ -258,6 +258,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
onStartApplication(null);
}
}
+ getIntent().setData(null);
}
public boolean isSplashScreenLoading(){
@@ -1556,7 +1557,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
}
if(status.sSettingIsAppStarted && mAppRestarted) {
- activityContextManager.getInstance().onClearStack();
+ //activityContextManager.getInstance().onClearStack();
tabRowModel model = (tabRowModel)dataController.getInstance().invokeTab(dataEnums.eTabCommands.GET_CURRENT_TAB, null);
if(model==null){
@@ -1932,6 +1933,10 @@ public class homeController extends AppCompatActivity implements ComponentCallba
private void onInitTheme(){
+ if(status.sSettingIsAppStarted){
+ status.sExternalWebsite = strings.GENERIC_EMPTY_STR;
+ }
+
if(status.mThemeApplying){
if(status.sTheme == enums.Theme.THEME_DARK){
setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
@@ -2243,6 +2248,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
}
else if(e_type.equals(enums.etype.open_new_tab_instant)){
postNewLinkTabAnimation(dataToStr(data.get(0)), true);
+ //status.sExternalWebsite = strings.GENERIC_EMPTY_STR;
}
else if(e_type.equals(enums.etype.M_HOME_PAGE)){
geckoSession mSession = (geckoSession)dataController.getInstance().invokeTab(dataEnums.eTabCommands.M_HOME_PAGE, null);
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 91225524..3ccbd520 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
@@ -31,7 +31,6 @@ import android.view.WindowManager;
import android.view.animation.AccelerateInterpolator;
import android.view.inputmethod.InputMethodManager;
import android.widget.*;
-
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatDelegate;
@@ -51,7 +50,6 @@ import com.darkweb.genesissearchengine.helperManager.helperMethod;
import com.example.myapplication.R;
import com.google.android.material.appbar.AppBarLayout;
import com.mopub.mobileads.MoPubView;
-
import org.mozilla.geckoview.GeckoView;
import org.torproject.android.service.wrapper.orbotLocalConstants;
import java.util.Arrays;
@@ -60,8 +58,6 @@ import java.util.List;
import java.util.concurrent.Callable;
import static android.content.Context.LAYOUT_INFLATER_SERVICE;
import static com.darkweb.genesissearchengine.constants.constants.CONST_GENESIS_DOMAIN_URL;
-import static com.darkweb.genesissearchengine.constants.constants.CONST_GENESIS_HELP_URL_CACHE;
-import static com.darkweb.genesissearchengine.constants.constants.CONST_GENESIS_HELP_URL_CACHE_DARK;
import static com.darkweb.genesissearchengine.constants.constants.CONST_GENESIS_URL_CACHED;
import static com.darkweb.genesissearchengine.constants.constants.CONST_GENESIS_URL_CACHED_DARK;
import static org.mozilla.geckoview.GeckoSessionSettings.USER_AGENT_MODE_DESKTOP;
@@ -490,7 +486,7 @@ class homeViewController
public void initStatusBarColor(boolean mInstant) {
int mDelay = 1500;
- if(status.mThemeApplying || mInstant){
+ if(status.mThemeApplying || mInstant || status.sSettingIsAppStarted){
mDelay = 0;
}
@@ -614,7 +610,7 @@ class homeViewController
while (!orbotLocalConstants.mIsTorInitialized || !orbotLocalConstants.mNetworkState){
try
{
- boolean mFastConnect = !status.sRestoreTabs && status.sAppInstalled && status.sSettingDefaultSearchEngine.equals(constants.CONST_BACKEND_GENESIS_URL) && !status.sBridgeStatus && status.sExternalWebsite.equals(strings.GENERIC_EMPTY_STR);
+ boolean mFastConnect = status.sSettingIsAppStarted || !status.sRestoreTabs && status.sAppInstalled && status.sSettingDefaultSearchEngine.equals(constants.CONST_BACKEND_GENESIS_URL) && !status.sBridgeStatus && status.sExternalWebsite.equals(strings.GENERIC_EMPTY_STR);
if(mFastConnect){
sleep(1000);
if(orbotLocalConstants.mNetworkState){
@@ -651,7 +647,7 @@ class homeViewController
}
if(!status.sSettingIsAppStarted){
mContext.runOnUiThread(() -> {
- splashScreenDisable();
+ onDisableSplashScreen();
});
startPostTask(messages.MESSAGE_ON_URL_LOAD);
}else {
@@ -683,7 +679,7 @@ class homeViewController
mSearchbar.setEnabled(true);
mProgressBar.bringToFront();
mSplashScreen.bringToFront();
- splashScreenDisable();
+ onDisableSplashScreen();
}
public void stopScroll() {
@@ -694,11 +690,11 @@ class homeViewController
mSplashScreen.setVisibility(View.GONE);
mSplashScreen.setVisibility(View.GONE);
mBlocker.setEnabled(false);
- disableCoordinatorSwipe();
+ //disableCoordinatorSwipe();
}
private boolean mIsAnimating = false;
- public void splashScreenDisable(){
+ public void onDisableSplashScreen(){
mTopBar.setAlpha(1);
mGeckoView.setVisibility(View.VISIBLE);
disableCoordinatorSwipe();
diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/settingManager/generalManager/settingGeneralController.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/settingManager/generalManager/settingGeneralController.java
index a9a413d3..e2b62064 100644
--- a/app/src/main/java/com/darkweb/genesissearchengine/appManager/settingManager/generalManager/settingGeneralController.java
+++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/settingManager/generalManager/settingGeneralController.java
@@ -147,6 +147,8 @@ public class settingGeneralController extends AppCompatActivity {
{
if(activityContextManager.getInstance().getHomeController() != null){
activityContextManager.getInstance().getHomeController().onReInitTheme();
+ activityContextManager.getInstance().getSettingController().onInitTheme();
+
}
}, 100);
}
diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/settingManager/settingHomeManager/settingHomeController.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/settingManager/settingHomeManager/settingHomeController.java
index f0bebf44..e02aaa73 100644
--- a/app/src/main/java/com/darkweb/genesissearchengine/appManager/settingManager/settingHomeManager/settingHomeController.java
+++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/settingManager/settingHomeManager/settingHomeController.java
@@ -78,7 +78,7 @@ public class settingHomeController extends AppCompatActivity
super.onConfigurationChanged(newConfig);
}
- private void onInitTheme(){
+ public void onInitTheme(){
if(status.mThemeApplying){
if(status.sTheme == enums.Theme.THEME_DARK){
@@ -93,6 +93,7 @@ public class settingHomeController extends AppCompatActivity
}
}
}
+ recreate();
}
private void viewsInitializations()
@@ -149,7 +150,7 @@ public class settingHomeController extends AppCompatActivity
if(status.mThemeApplying){
// activityContextManager.getInstance().onStack(this);
}
-
+ //onInitTheme();
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_RESUME);
activityContextManager.getInstance().setCurrentActivity(this);
status.sSettingIsAppPaused = false;
diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/tabManager/tabAdapter.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/tabManager/tabAdapter.java
index 6291dc55..c5f13823 100755
--- a/app/src/main/java/com/darkweb/genesissearchengine/appManager/tabManager/tabAdapter.java
+++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/tabManager/tabAdapter.java
@@ -431,7 +431,6 @@ public class tabAdapter extends RecyclerView.Adapter
params.topMargin = helperMethod.pxFromDp(3.5f);
params.bottomMargin = helperMethod.pxFromDp(3.5f);
params_main.topMargin = helperMethod.pxFromDp(3f);
- //params_main.bottomMargin = helperMethod.pxFromDp(1f);
if(status.sTheme == enums.Theme.THEME_DARK || status.sDefaultNightMode){
mCardView.setCardBackgroundColor(ContextCompat.getColor(itemView.getContext(), R.color.c_button_text_v1_inverted));
@@ -439,13 +438,8 @@ public class tabAdapter extends RecyclerView.Adapter
mCardView.setCardBackgroundColor(ContextCompat.getColor(itemView.getContext(), R.color.c_alert_rateus_header));
}
- //params_main.leftMargin = helperMethod.pxFromDp(9f);
}else {
- if(getLayoutPosition() == 0){
- //params_main.rightMargin = helperMethod.pxFromDp(9f);
- }
-
if(status.sTheme == enums.Theme.THEME_DARK || status.sDefaultNightMode){
params.leftMargin = helperMethod.pxFromDp(2.5f);
params.rightMargin = helperMethod.pxFromDp(2.5f);
@@ -462,22 +456,6 @@ public class tabAdapter extends RecyclerView.Adapter
mCardView.setCardBackgroundColor(ContextCompat.getColor(itemView.getContext(), R.color.clear_alpha));
}
- if(getLayoutPosition() == 1){
- //params_main.leftMargin = helperMethod.pxFromDp(3f);
- //params_main.rightMargin = helperMethod.pxFromDp(9f);
- //params_main.topMargin = helperMethod.pxFromDp(14f);
- //params_main.bottomMargin = helperMethod.pxFromDp(1f);
- }else {
- if(getLayoutPosition()%2==0){
- //params_main.leftMargin = helperMethod.pxFromDp(9f);
- //params_main.rightMargin = helperMethod.pxFromDp(3f);
- //params_main.topMargin = helperMethod.pxFromDp(3f);
- }else {
- //params_main.leftMargin = helperMethod.pxFromDp(3f);
- //params_main.rightMargin = helperMethod.pxFromDp(9f);
- //params_main.topMargin = helperMethod.pxFromDp(3f);
- }
- }
}
}
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 8150b108..2e5eb110 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
@@ -502,7 +502,8 @@ public class tabController extends Fragment
}
public void openTabMenu(View view) {
- mtabViewController.onTrigger(tabEnums.eTabViewCommands.M_SHOW_MENU, Collections.singletonList(view));
+ mtabViewController.onTrigger(tabEnums.eTabViewCommands.ON_HIDE_UNDO_DIALOG_INIT, null);
+ mtabViewController.onTrigger(tabEnums.eTabViewCommands.M_SHOW_MENU, Arrays.asList(view, mListModel.getList().size()));
}
public int getSelectionCount(){
diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/tabManager/tabViewController.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/tabManager/tabViewController.java
index f7d9fa41..a755b366 100755
--- a/app/src/main/java/com/darkweb/genesissearchengine/appManager/tabManager/tabViewController.java
+++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/tabManager/tabViewController.java
@@ -19,6 +19,7 @@ import android.widget.ActionMenuView;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
+import android.widget.LinearLayout;
import android.widget.PopupWindow;
import android.widget.RelativeLayout;
import android.widget.TextView;
@@ -94,8 +95,8 @@ class tabViewController
}
public void initUI(){
- mMenuButton.setAlpha(0f);
- mMenuButton.animate().setStartDelay(200).setDuration(350).alpha(1);
+ // mMenuButton.setAlpha(0f);
+ // mMenuButton.animate().setStartDelay(200).setDuration(350).alpha(1);
mMenuButton.setVisibility(View.VISIBLE);
if(status.sTabGridLayoutEnabled){
@@ -114,7 +115,7 @@ class tabViewController
private void initPostUI(){
}
- public void onOpenTabMenu(View view) {
+ public void onOpenTabMenu(View view, int pSize) {
onCloseTabMenu();
LayoutInflater layoutInflater = (LayoutInflater) view.getContext().getSystemService(LAYOUT_INFLATER_SERVICE);
@SuppressLint("InflateParams") final View mPopupView = layoutInflater.inflate(R.layout.tab_menu, null);
@@ -130,6 +131,12 @@ class tabViewController
}else {
mTabOptionMenu.showAsDropDown(view,helperMethod.pxFromDp(-125), helperMethod.pxFromDp(-55));
}
+ if(pSize<=0){
+ Button mTabClear = mPopupView.findViewById(R.id.pCloseTabTrigger);
+ LinearLayout mCloseTab = mPopupView.findViewById(R.id.pCloseTab);
+ mTabClear.setAlpha(0.35f);
+ mCloseTab.setEnabled(false);
+ }
}
private void onCloseTabMenu() {
@@ -255,7 +262,7 @@ class tabViewController
public Object onTrigger(tabEnums.eTabViewCommands pCommands, List