diff --git a/app/build.gradle b/app/build.gradle index 4cb6c272..6a3b23b2 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -45,7 +45,7 @@ android { versionCode project.ext.arm_vcode versionName project.ext.arm_vname dimension project.ext.dimen - } + } aarch64 { versionCode project.ext.aarch_vcode versionName project.ext.aarch_vname @@ -71,7 +71,6 @@ android { } } } - dependencies { /*Default Libraries*/ diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/database_manager/database_controller.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/database_manager/database_controller.java index fa7c0a3c..78e7312f 100644 --- a/app/src/main/java/com/darkweb/genesissearchengine/appManager/database_manager/database_controller.java +++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/database_manager/database_controller.java @@ -12,19 +12,23 @@ import static android.content.Context.MODE_PRIVATE; public class database_controller { + + /*Private Variables*/ + private static final database_controller ourInstance = new database_controller(); + private SQLiteDatabase database_instance; public static database_controller getInstance() { return ourInstance; } - private SQLiteDatabase database_instance; - private database_controller() { } + /*Initializations*/ + public void initialize() { try @@ -41,13 +45,14 @@ public class database_controller } + /*Helper Methods*/ + public void execSQL(String query) { database_instance.execSQL(query); } - public ArrayList selectHistory() - { + public ArrayList selectHistory(){ ArrayList tempmodel = new ArrayList<>(); Cursor c = database_instance.rawQuery("SELECT * FROM history ORDER BY id DESC ", null); if (c.moveToFirst()){ @@ -61,8 +66,7 @@ public class database_controller return tempmodel; } - public ArrayList selectBookmark() - { + public ArrayList selectBookmark(){ ArrayList tempmodel = new ArrayList<>(); Cursor c = database_instance.rawQuery("SELECT * FROM bookmark ORDER BY id DESC ", null); diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/app_model.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/app_model.java index c91caa89..baade111 100644 --- a/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/app_model.java +++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/app_model.java @@ -6,6 +6,7 @@ import com.darkweb.genesissearchengine.appManager.database_manager.database_cont import com.darkweb.genesissearchengine.appManager.list_manager.list_controller; import com.darkweb.genesissearchengine.appManager.list_manager.list_row_model; import com.darkweb.genesissearchengine.constants.constants; +import com.darkweb.genesissearchengine.constants.enums; import com.darkweb.genesissearchengine.constants.status; import com.darkweb.genesissearchengine.helperMethod; @@ -17,6 +18,7 @@ public class app_model /*Data Objects*/ private ArrayList history = new ArrayList(); private ArrayList bookmarks = new ArrayList(); + private ArrayList navigation = new ArrayList(); private HashSet suggestions = new HashSet(); private static int port = 9150; @@ -24,8 +26,7 @@ public class app_model private application_controller appInstance; /*Initializations*/ - public void initialization() - { + public void initialization(){ database_controller.getInstance().initialize(); initializeHistory(); initializeBookmarks(); @@ -151,6 +152,14 @@ public class app_model return new ArrayList(suggestions); } + /*Navigation*/ + + public void addNavigation(String url,enums.navigationType type) { + navigation.add(new navigation_model(url,type)); + } + public ArrayList getNavigation() { + return navigation; + } /*Helper Method*/ public boolean isUrlRepeatable(String url,String viewUrl){ diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/application_controller.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/application_controller.java index 874cbfa5..5f15a6e0 100644 --- a/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/application_controller.java +++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/application_controller.java @@ -38,7 +38,7 @@ public class application_controller extends AppCompatActivity /*Redirection Objects*/ private geckoClients geckoclient = null; private webviewClient webviewclient = null; - private eventHandler eventhandler = null; + private home_ehandler eventhandler = null; /*-------------------------------------------------------INITIALIZATION-------------------------------------------------------*/ @Override @@ -62,7 +62,7 @@ public class application_controller extends AppCompatActivity orbot_manager.getInstance().reinitOrbot(); viewController.getInstance().initialization(webView,loadingText,progressBar,searchbar,splashScreen,requestFailure,floatingButton, loadingIcon,splashlogo); firebase.getInstance().initialize(); - geckoclient.initialize(geckoView,false); + geckoclient.initialize(geckoView); app_model.getInstance().initialization(); initBoogle(); } @@ -89,21 +89,43 @@ public class application_controller extends AppCompatActivity { if(status.search_status.equals(enums.searchEngine.Bing.toString())) { - geckoclient.setRootEngine(constants.backendBing); webView.stopLoading(); onloadURL(constants.backendBing,true,false); + if(app_model.getInstance().getNavigation().size()!=1) + { + app_model.getInstance().addNavigation(constants.backendBing,enums.navigationType.onion); + } + if(app_model.getInstance().getNavigation().size()>0) + { + app_model.getInstance().getNavigation().set(0,new navigation_model(constants.backendBing,enums.navigationType.onion)); + } return false; } else if(status.search_status.equals(enums.searchEngine.Google.toString())) { - geckoclient.setRootEngine(constants.backendGoogle); webView.stopLoading(); onloadURL(constants.backendGoogle,true,false); + if(app_model.getInstance().getNavigation().size()!=1) + { + app_model.getInstance().addNavigation(constants.backendGoogle,enums.navigationType.onion); + } + if(app_model.getInstance().getNavigation().size()>0) + { + app_model.getInstance().getNavigation().set(0,new navigation_model(constants.backendGoogle,enums.navigationType.onion)); + } return false; } else { onloadURL(constants.backendGenesis,false,false); + if(app_model.getInstance().getNavigation().size()!=1) + { + app_model.getInstance().addNavigation(constants.backendGenesis,enums.navigationType.base); + } + if(app_model.getInstance().getNavigation().size()>0) + { + app_model.getInstance().getNavigation().set(0,new navigation_model(constants.backendGenesis,enums.navigationType.base)); + } return true; } } @@ -131,12 +153,12 @@ public class application_controller extends AppCompatActivity webviewclient = new webviewClient(); geckoclient = new geckoClients(); - eventhandler = new eventHandler(); + eventhandler = new home_ehandler(); } public void initializeCrashlytics() { - //fabricManager.getInstance().init(); + fabricManager.getInstance().init(); } public void initializeWebView() @@ -275,7 +297,7 @@ public class application_controller extends AppCompatActivity } public void onReInitGeckoView() { - geckoclient.initialize(geckoView,true); + geckoclient.initialize(geckoView); if(webView.getVisibility() != View.VISIBLE) { geckoclient.onReloadHiddenView(); @@ -287,13 +309,13 @@ public class application_controller extends AppCompatActivity geckoclient.onHiddenGoBack(geckoView); } - public int getHiddenQueueLength() + public void releaseSession() { - return geckoclient.getHiddenQueueLength(); + geckoclient.releaseSession(geckoView); } - public void stopHiddenView(boolean releaseView) { - geckoclient.stopHiddenView(geckoView,releaseView); + public void stopHiddenView(boolean releaseView,boolean backPressed) { + geckoclient.stopHiddenView(geckoView,releaseView,backPressed); //geckoclient.removeHistory(); } diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/geckoClients.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/geckoClients.java index 8b6716ae..afcc35f6 100644 --- a/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/geckoClients.java +++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/geckoClients.java @@ -18,8 +18,8 @@ import java.util.ArrayList; class geckoClients { private GeckoSession session1 = null; + private GeckoRuntime runtime1 = null; private final Handler internetErrorHandler = new Handler(); - private ArrayList urlList = new ArrayList<>(); private boolean isRunning = false; private boolean isContentLoading = false; @@ -46,33 +46,29 @@ class geckoClients this.isUrlSavable = isUrlSavable; navigatedURL = ""; loadingCompeleted = false; - initialize(geckoView,false); + initialize(geckoView); session1.loadUri(url); app_model.getInstance().getAppInstance().onRequestTriggered(true,url); app_model.getInstance().getAppInstance().onProgressBarUpdateView(4); isFirstTimeLoad = true; - if(isUrlSavable) - { - urlList.clear(); - } + wasBackPressed = false; + isContentLoading = false; + isRunning = false; } } - void initialize(GeckoView geckoView,boolean release) + void initialize(GeckoView geckoView) { - if(urlList.size()<=0 || release) - { - session1 = new GeckoSession(); - GeckoRuntime runtime1 = GeckoRuntime.getDefault(app_model.getInstance().getAppContext()); - runtime1.getSettings().setJavaScriptEnabled(status.java_status); - session1.open(runtime1); - geckoView.releaseSession(); - geckoView.setSession(session1); - session1.setProgressDelegate(new progressDelegate()); - session1.setNavigationDelegate(new navigationDelegate()); - geckoView.setVisibility(View.VISIBLE); - geckoView.setAlpha(1); - } + session1 = new GeckoSession(); + runtime1 = GeckoRuntime.getDefault(app_model.getInstance().getAppContext()); + runtime1.getSettings().setJavaScriptEnabled(status.java_status); + session1.open(runtime1); + geckoView.releaseSession(); + geckoView.setSession(session1); + session1.setProgressDelegate(new progressDelegate()); + session1.setNavigationDelegate(new navigationDelegate()); + geckoView.setVisibility(View.VISIBLE); + geckoView.setAlpha(1); } class navigationDelegate implements GeckoSession.NavigationDelegate @@ -124,7 +120,7 @@ class geckoClients { app_model.getInstance().getAppInstance().hideSplashScreen(); } - if(!success && !isContentLoading) + if(!success && !isContentLoading && !wasBackPressed) { app_model.getInstance().getAppInstance().onPageFinished(true); app_model.getInstance().getAppInstance().onInternetErrorView(); @@ -132,13 +128,8 @@ class geckoClients } else if(success) { - if((urlList.size() == 0 || !urlList.get(urlList.size() - 1).equals(navigatedURL)) && !wasBackPressed) - { - urlList.add(navigatedURL); - } - urlRequestCount++; - if(urlRequestCount==5) + if(urlRequestCount==5) { if(!isAppRated) { @@ -148,27 +139,34 @@ class geckoClients } else if(isAppRated) { - if(isFirstTimeLoad) + if(isFirstTimeLoad && navigatedURL.contains(".onion")) { - app_model.getInstance().getAppInstance().onShowAd(enums.adID.hidden); + app_model.getInstance().getAppInstance().onShowAd(enums.adID.hidden_onion_start); } - else + else if(!isFirstTimeLoad && navigatedURL.contains(".onion")) { - app_model.getInstance().getAppInstance().onShowAd(enums.adID.internal); + app_model.getInstance().getAppInstance().onShowAd(enums.adID.hidden_onion); + } + else if(!isFirstTimeLoad && !navigatedURL.contains(".onion")) + { + app_model.getInstance().getAppInstance().onShowAd(enums.adID.hidden_base); } } - if(isUrlSavable && !urlList.get(urlList.size()-1).equals("navigatedURL")) - { - app_model.getInstance().addHistory(navigatedURL); - } - isUrlSavable = true; app_model.getInstance().getAppInstance().onDisableInternetError(); app_model.getInstance().getAppInstance().onProgressBarUpdateView(0); fabricManager.getInstance().sendEvent("ONION GECKO_CLIENT URL SUCCESS : " + success + "--" + isContentLoading); app_model.getInstance().getAppInstance().onPageFinished(true); } + + if(isUrlSavable && !app_model.getInstance().getNavigation().get(app_model.getInstance().getNavigation().size()-1).equals(navigatedURL)) + { + app_model.getInstance().addHistory(navigatedURL); + app_model.getInstance().addNavigation(navigatedURL,enums.navigationType.onion); + } + isUrlSavable = true; isFirstTimeLoad = false; + } } }, 500); @@ -203,59 +201,39 @@ class geckoClients void onHiddenGoBack(GeckoView geckoView) { - if(urlList.size()>1) - { - urlList.remove(urlList.size() - 1); - wasBackPressed = true; - session1.stop(); - session1.loadUri(urlList.get(urlList.size() - 1)); - app_model.getInstance().getAppInstance().onUpdateSearchBarView(urlList.get(urlList.size()-1)); - } - else if(isRunning) - { - if(navigatedURL.equals(constants.backendGoogle) && status.search_status.equals(strings.google_text) || navigatedURL.equals(constants.backendBing) && status.search_status.equals(strings.bing_text)) - { - helperMethod.onMinimizeApp(); - } - else - { - if(urlList.size()>0) - { - urlList.remove(urlList.size()-1); - } - stopHiddenView(geckoView,false); - app_model.getInstance().getAppInstance().onUpdateView(true); - app_model.getInstance().getAppInstance().onDisableInternetError(); - } - } + isRunning = false; + loadingCompeleted = false; + isUrlSavable = false; + + wasBackPressed = true; + session1.stop(); + + session1.loadUri(app_model.getInstance().getNavigation().get(app_model.getInstance().getNavigation().size()-1).getURL()); } - void stopHiddenView(GeckoView geckoView,boolean releaseView) + void stopHiddenView(GeckoView geckoView,boolean releaseView,boolean backPressed) { if(session1!=null) { isRunning = false; loadingCompeleted = false; + wasBackPressed = backPressed; session1.stop(); if(!releaseView) { - session1.close(); + //session1.close(); } } } - int getHiddenQueueLength() + public void releaseSession(GeckoView geckoView) { - return urlList.size(); + geckoView.releaseSession(); } void setRootEngine(String url) { - if(urlList.size()>1) - { - urlList.set(0,url); - } } boolean isGeckoViewRunning() @@ -265,11 +243,16 @@ class geckoClients void onReloadHiddenView() { - if(urlList.size()>0) + if(app_model.getInstance().getNavigation().get(app_model.getInstance().getNavigation().size()-1).type().equals(enums.navigationType.onion)) { + isRunning = false; + loadingCompeleted = false; + isUrlSavable = false; + wasBackPressed = true; session1.stop(); - session1.loadUri(urlList.get(urlList.size()-1)); + + session1.loadUri(app_model.getInstance().getNavigation().get(app_model.getInstance().getNavigation().size()-1).getURL()); } } } diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/eventHandler.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/home_ehandler.java similarity index 98% rename from app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/eventHandler.java rename to app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/home_ehandler.java index 1056730a..27a569ea 100644 --- a/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/eventHandler.java +++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/home_ehandler.java @@ -19,11 +19,11 @@ import com.example.myapplication.R; import java.io.IOException; import java.net.URL; -public class eventHandler +public class home_ehandler { application_controller appContoller; - public eventHandler() + public home_ehandler() { appContoller = app_model.getInstance().getAppInstance(); } @@ -101,7 +101,7 @@ public class eventHandler public void onHomeButtonPressed() { - appContoller.stopHiddenView(true); + appContoller.stopHiddenView(true,false); fabricManager.getInstance().sendEvent("HOME BUTTON PRESSSED : "); viewController.getInstance().checkSSLTextColor(); appContoller.initSearchEngine(); diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/navigation_model.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/navigation_model.java new file mode 100644 index 00000000..5efe7e62 --- /dev/null +++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/navigation_model.java @@ -0,0 +1,26 @@ +package com.darkweb.genesissearchengine.appManager.home_activity; + +import com.darkweb.genesissearchengine.constants.enums; + +public class navigation_model +{ + private String url; + private enums.navigationType type; + + /*Initializations*/ + + public navigation_model(String url, enums.navigationType type) { + this.url = url; + this.type = type; + } + + /*Variable Getters*/ + + public String getURL() { + return url; + } + public enums.navigationType type() { + return type; + } + +} diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/viewController.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/viewController.java index 75413d36..4fb31d53 100644 --- a/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/viewController.java +++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/viewController.java @@ -42,7 +42,6 @@ public class viewController private boolean pageLoadedSuccessfully = true; private boolean isSplashLoading = false; private Handler updateUIHandler = null; - private AutoCompleteAdapter suggestionAdapter; /*ProgressBar Delayed Updater*/ Handler progressBarHandler = null; @@ -59,7 +58,7 @@ public class viewController { } - public void initialization(WebView webView1, TextView loadingText, ProgressBar progressBar, AutoCompleteTextView searchbar, ConstraintLayout splashScreen, ConstraintLayout requestFailure, FloatingActionButton floatingButton, ImageView loading, ImageView splashlogo) + void initialization(WebView webView1, TextView loadingText, ProgressBar progressBar, AutoCompleteTextView searchbar, ConstraintLayout splashScreen, ConstraintLayout requestFailure, FloatingActionButton floatingButton, ImageView loading, ImageView splashlogo) { this.webView = webView1; this.progressBar = progressBar; @@ -82,7 +81,7 @@ public class viewController private void initializeSuggestionView() { - suggestionAdapter = new AutoCompleteAdapter(app_model.getInstance().getAppInstance(), R.layout.hint_view, R.id.hintCompletionHeader,app_model.getInstance().getSuggestions()); + AutoCompleteAdapter suggestionAdapter = new AutoCompleteAdapter(app_model.getInstance().getAppInstance(), R.layout.hint_view, R.id.hintCompletionHeader, app_model.getInstance().getSuggestions()); int width = Math.round(helperMethod.screenWidth()); searchbar.setThreshold(2); @@ -102,22 +101,22 @@ public class viewController } - public void reInitializeSuggestion() + void reInitializeSuggestion() { initializeSuggestionView(); } - public boolean isHiddenView() + private boolean isHiddenView() { return app_model.getInstance().getAppInstance().isGeckoViewRunning(); } - public void initViews() + private void initViews() { floatingButton.setVisibility(View.INVISIBLE); } - public void initLock() + private void initLock() { Drawable img = app_model.getInstance().getAppInstance().getResources().getDrawable( R.drawable.icon_lock); searchbar.measure(0, 0); @@ -125,7 +124,7 @@ public class viewController searchbar.setCompoundDrawables( img, null, null, null ); } - public void onRequestTriggered(boolean isHiddenWeb,String url) + void onRequestTriggered(boolean isHiddenWeb, String url) { onProgressBarUpdate(4); helperMethod.hideKeyboard(); @@ -141,7 +140,7 @@ public class viewController } /*Helper Methods*/ - public void onInternetError() + void onInternetError() { disableSplashScreen(); requestFailure.setVisibility(View.VISIBLE); @@ -151,9 +150,10 @@ public class viewController onClearSearchBarCursor(); onProgressBarUpdate(0); disableFloatingView(); + app_model.getInstance().getAppInstance().releaseSession(); } - public void disableSplashScreen() + private void disableSplashScreen() { if(!isSplashLoading) { @@ -214,14 +214,18 @@ public class viewController }; } - public void hideSplashScreen() + void hideSplashScreen() { + if(splashScreen.getVisibility()!=View.GONE) + { + onWelcomeMessageCheck(); + } + status.isApplicationLoaded = true; splashScreen.animate().alpha(0.0f).setDuration(200).setListener(null).withEndAction((() -> splashScreen.setVisibility(View.GONE))); - onWelcomeMessageCheck(); } - public boolean onDisableInternetError() + boolean onDisableInternetError() { if(requestFailure.getAlpha()==1) { @@ -235,7 +239,7 @@ public class viewController } @SuppressLint("RestrictedApi") - public void onPageFinished(boolean status) + void onPageFinished(boolean status) { helperMethod.hideKeyboard(); progressBar.setProgress(100); @@ -251,7 +255,7 @@ public class viewController disableSplashScreen(); floatingButton.animate().alpha(0).withEndAction((() -> floatingButton.setVisibility(View.GONE))); - app_model.getInstance().getAppInstance().stopHiddenView(false); + app_model.getInstance().getAppInstance().stopHiddenView(false,false); } else { @@ -260,7 +264,7 @@ public class viewController } } - public void checkSSLTextColor() + void checkSSLTextColor() { if (searchbar == null) { @@ -287,24 +291,24 @@ public class viewController } } - public void onClearSearchBarCursor() + void onClearSearchBarCursor() { searchbar.clearFocus(); } - public void disableFloatingView() + void disableFloatingView() { floatingButton.animate().alpha(0).withEndAction((() -> floatingButton.setVisibility(View.GONE))); } - public void onUpdateSearchBar(String url) + void onUpdateSearchBar(String url) { searchbar.setText(url.replace(constants.backendUrlHost,constants.frontEndUrlHost_v1)); checkSSLTextColor(); } - public void initSplashScreen() + private void initSplashScreen() { boolean hasSoftKey = helperMethod.hasSoftKeys(app_model.getInstance().getAppInstance().getWindowManager()); int height = helperMethod.screenHeight(hasSoftKey); @@ -314,7 +318,7 @@ public class viewController loading.setLayoutParams(helperMethod.getCenterScreenPoint(loading.getLayoutParams())); } - public void onProgressBarUpdate(int progress) + void onProgressBarUpdate(int progress) { if(progress==0) { @@ -335,38 +339,53 @@ public class viewController } } - public void onBackPressed() + void onBackPressed() { - if(webView.getVisibility() == View.VISIBLE) + if(app_model.getInstance().getNavigation().size()>0) { - if(!webView.canGoBack()) + if(app_model.getInstance().getNavigation().size()==1) { - if(app_model.getInstance().getAppInstance().getHiddenQueueLength()>0) + onProgressBarUpdate(0); + helperMethod.onMinimizeApp(); + return; + } + else if(app_model.getInstance().getNavigation().get(app_model.getInstance().getNavigation().size()-2).type().equals(enums.navigationType.base)) + { + app_model.getInstance().getAppInstance().stopHiddenView(true,true); + if(webView.getVisibility()==View.VISIBLE) { - onUpdateView(false); + onProgressBarUpdate(4); + webView.goBack(); + app_model.getInstance().getNavigation().remove(app_model.getInstance().getNavigation().size()-1); } else { - helperMethod.onMinimizeApp(); + onProgressBarUpdate(0); } - } - else - { - webView.goBack(); webView.bringToFront(); webView.setAlpha(1); webView.setVisibility(View.VISIBLE); requestFailure.animate().alpha(0f).setDuration(200).withEndAction((() -> requestFailure.setVisibility(View.INVISIBLE))); onUpdateSearchBar(webView.getUrl()); } - } - else - { - app_model.getInstance().getAppInstance().onHiddenGoBack(); + else + { + app_model.getInstance().getAppInstance().stopHiddenView(true,true); + app_model.getInstance().getNavigation().remove(app_model.getInstance().getNavigation().size()-1); + if(webView.getVisibility()==View.VISIBLE) + { + app_model.getInstance().getAppInstance().onReInitGeckoView(); + app_model.getInstance().getAppInstance().onReloadHiddenView(); + } + else + { + app_model.getInstance().getAppInstance().onHiddenGoBack(); + } + } } } - public void onUpdateView(boolean status) + void onUpdateView(boolean status) { if(status) { @@ -383,7 +402,7 @@ public class viewController } } - public void onWelcomeMessageCheck() + private void onWelcomeMessageCheck() { if(!preference_manager.getInstance().getBool("FirstTimeLoaded",false)) { @@ -397,7 +416,7 @@ public class viewController startPostTask(messages.SHOW_ADS); } - public void openMenu(View view) + void openMenu(View view) { LinearLayout parentView = (LinearLayout)view.getParent(); @@ -414,9 +433,9 @@ public class viewController view.bringToFront(); } - public void onReload() + void onReload() { - if(!isHiddenView()) + if(app_model.getInstance().getNavigation().get(app_model.getInstance().getNavigation().size()-1).type()==enums.navigationType.base) { onRequestTriggered(false,webView.getUrl()); webView.reload(); @@ -427,7 +446,7 @@ public class viewController } } - public String getSearchBarUrl() + String getSearchBarUrl() { return searchbar.getText().toString(); } diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/webviewClient.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/webviewClient.java index f160ba70..2d3b006a 100644 --- a/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/webviewClient.java +++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/home_activity/webviewClient.java @@ -28,7 +28,7 @@ public class webviewClient } if(!url.contains("boogle")) { - app_model.getInstance().getAppInstance().stopHiddenView(false); + app_model.getInstance().getAppInstance().stopHiddenView(false,false); fabricManager.getInstance().sendEvent("BASE SIMPLE SEARCHED : " + url); isGeckoView = true; if(orbot_manager.getInstance().initOrbot(url)) @@ -39,6 +39,7 @@ public class webviewClient } else { + app_model.getInstance().addNavigation(url,enums.navigationType.base); app_model.getInstance().addHistory(url); fabricManager.getInstance().sendEvent("BASE ONION SEARCHED : " + url); app_model.getInstance().getAppInstance().onRequestTriggered(false,url); diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/setting_manager/setting_view_controller.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/setting_manager/setting_view_controller.java index 9292ad8b..7d42fc9e 100644 --- a/app/src/main/java/com/darkweb/genesissearchengine/appManager/setting_manager/setting_view_controller.java +++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/setting_manager/setting_view_controller.java @@ -36,8 +36,11 @@ class setting_view_controller private void initViews() { search.setDropDownVerticalOffset(15); + search.setDropDownHorizontalOffset(-15); javascript.setDropDownVerticalOffset(15); + javascript.setDropDownHorizontalOffset(-15); history.setDropDownVerticalOffset(15); + history.setDropDownHorizontalOffset(-15); } private void initJavascript() diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/setting_manager/settings_ehandler.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/setting_manager/settings_ehandler.java index d07bfc1b..9cf0917d 100644 --- a/app/src/main/java/com/darkweb/genesissearchengine/appManager/setting_manager/settings_ehandler.java +++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/setting_manager/settings_ehandler.java @@ -30,12 +30,12 @@ public class settings_ehandler private void onJavaScriptListener(int position) { - if(position==1 && java_status) + if(position==1 && setting_model.getInstance().java_status) { setting_model.getInstance().java_status = false; preference_manager.getInstance().setBool(keys.java_script, false); } - else if(!java_status) + else if(!setting_model.getInstance().java_status) { setting_model.getInstance().java_status = true; preference_manager.getInstance().setBool(keys.java_script, true); @@ -44,7 +44,7 @@ public class settings_ehandler private void onSearchListner(AdapterView parentView,int position) { - if(!search_status.equals(parentView.getItemAtPosition(position).toString())) + if(!setting_model.getInstance().search_status.equals(parentView.getItemAtPosition(position).toString())) { setting_model.getInstance().search_status = parentView.getItemAtPosition(position).toString(); preference_manager.getInstance().setString(keys.search_engine, setting_model.getInstance().search_status); @@ -53,12 +53,12 @@ public class settings_ehandler private void onHistoryListener(int position) { - if(position==1 && history_status) + if(position==1 && setting_model.getInstance().history_status) { setting_model.getInstance().history_status = false; preference_manager.getInstance().setBool(keys.history_clear, false); } - else if(!java_status) + else if(!setting_model.getInstance().history_status) { setting_model.getInstance().history_status = true; preference_manager.getInstance().setBool(keys.history_clear, true); diff --git a/app/src/main/java/com/darkweb/genesissearchengine/constants/constants.java b/app/src/main/java/com/darkweb/genesissearchengine/constants/constants.java index 6cfff191..6188ef35 100644 --- a/app/src/main/java/com/darkweb/genesissearchengine/constants/constants.java +++ b/app/src/main/java/com/darkweb/genesissearchengine/constants/constants.java @@ -12,16 +12,15 @@ public class constants /*URL CONSTANTS*/ public static String backendGenesis = "https://boogle.store/"; - public static String backendGoogle = "https://www.google.com/"; - public static String backendBing = "https://www.bing.com/"; public static String backendUrlHost = "boogle.store"; - public static String backendUrlSlashed = "https://boogle.store/"; - public static String frontUrlSlashed = "https://genesis.onion/"; + public static String updateUrl = "https://boogle.store/manual?abi="; + public static String frontEndUrlHost = "genesis.store"; public static String frontEndUrlHost_v1 = "genesis.onion"; + + public static String backendGoogle = "https://www.google.com/"; + public static String backendBing = "https://www.bing.com/"; public static String allowedHost = ".onion"; - public static String reportUrl = "https://boogle.store/reportus?r_key="; - public static String updateUrl = "https://boogle.store/manual?abi="; public static String playstoreUrl = "https://play.google.com/store/apps/details?id=com.darkweb.genesissearchengine"; /*BUILD CONSTANTS*/ diff --git a/app/src/main/java/com/darkweb/genesissearchengine/constants/enums.java b/app/src/main/java/com/darkweb/genesissearchengine/constants/enums.java index 768088da..8f70003d 100644 --- a/app/src/main/java/com/darkweb/genesissearchengine/constants/enums.java +++ b/app/src/main/java/com/darkweb/genesissearchengine/constants/enums.java @@ -5,6 +5,7 @@ public class enums /*SETTINGS*/ public enum searchEngine{Darkweb,Bing,Google} - public enum adID{hidden, internal} + public enum adID{hidden_onion, hidden_onion_start,hidden_base} + public enum navigationType{onion, base} } \ No newline at end of file diff --git a/app/src/main/java/com/darkweb/genesissearchengine/constants/keys.java b/app/src/main/java/com/darkweb/genesissearchengine/constants/keys.java index b0e7fc4d..b4ed12b1 100644 --- a/app/src/main/java/com/darkweb/genesissearchengine/constants/keys.java +++ b/app/src/main/java/com/darkweb/genesissearchengine/constants/keys.java @@ -3,12 +3,15 @@ package com.darkweb.genesissearchengine.constants; public class keys { /*Welcome Message Prefs*/ + public static String first_time_loaded = "FirstTimeLoaded"; /*Home page*/ + public static String homepage_html_key = "internalhtml"; /*Proxy Manager*/ + public static String proxy_type = "network.proxy.type"; public static String proxy_socks = "network.proxy.socks"; public static String proxy_socks_port = "network.proxy.socks_port"; @@ -24,6 +27,7 @@ public class keys public static String list_type = "list_type"; /*Settings*/ + public static String search_engine = "search_engine"; public static String java_script = "java_script"; public static String history_clear = "history_clear"; diff --git a/app/src/main/java/com/darkweb/genesissearchengine/constants/status.java b/app/src/main/java/com/darkweb/genesissearchengine/constants/status.java index ecbb98a3..f74fa627 100644 --- a/app/src/main/java/com/darkweb/genesissearchengine/constants/status.java +++ b/app/src/main/java/com/darkweb/genesissearchengine/constants/status.java @@ -6,12 +6,14 @@ import com.darkweb.genesissearchengine.dataManager.preference_manager; public class status { /*App Level*/ + public static boolean isApplicationLoaded = false; public static boolean isPlayStoreInstalled = true; public static boolean isTorInitialized = false; - public static String version_code = "6.0"; + public static String version_code = "7.0"; /*Settings Level*/ + public static String search_status = strings.emptyStr; public static boolean java_status = false; public static boolean history_status = true; diff --git a/app/src/main/java/com/darkweb/genesissearchengine/dataManager/preference_manager.java b/app/src/main/java/com/darkweb/genesissearchengine/dataManager/preference_manager.java index 7c8a3a46..1c7bb3be 100644 --- a/app/src/main/java/com/darkweb/genesissearchengine/dataManager/preference_manager.java +++ b/app/src/main/java/com/darkweb/genesissearchengine/dataManager/preference_manager.java @@ -7,6 +7,7 @@ import com.darkweb.genesissearchengine.appManager.home_activity.app_model; public class preference_manager { /*Private Declarations*/ + private static final preference_manager ourInstance = new preference_manager(); private SharedPreferences prefs; private SharedPreferences.Editor edit; @@ -17,6 +18,7 @@ public class preference_manager } /*Initializations*/ + private preference_manager() { } @@ -28,6 +30,7 @@ public class preference_manager } /*Saving Preferences*/ + public void setString(String valueKey, String value) { edit.putString(valueKey, value); @@ -41,6 +44,7 @@ public class preference_manager } /*Recieving Preferences*/ + public String getString(String valueKey, String valueDefault) { return prefs.getString(valueKey, valueDefault); diff --git a/app/src/main/java/com/darkweb/genesissearchengine/helperMethod.java b/app/src/main/java/com/darkweb/genesissearchengine/helperMethod.java index 12e4f829..59175201 100644 --- a/app/src/main/java/com/darkweb/genesissearchengine/helperMethod.java +++ b/app/src/main/java/com/darkweb/genesissearchengine/helperMethod.java @@ -33,16 +33,14 @@ import java.util.Locale; public class helperMethod { /*Helper Methods*/ - public static boolean isNetworkAvailable() - { + + public static boolean isNetworkAvailable(){ ConnectivityManager cm = (ConnectivityManager) app_model.getInstance().getAppContext().getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = cm.getActiveNetworkInfo(); return networkInfo != null && networkInfo.isConnected(); } - - public static String completeURL(String url) - { + public static String completeURL(String url){ if(!url.startsWith("www.")&& !url.startsWith("http://")&& !url.startsWith("https://")){ url = "www."+url; } @@ -52,8 +50,7 @@ public class helperMethod return url; } - public static void hideKeyboard() - { + public static void hideKeyboard() { View view = app_model.getInstance().getAppInstance().findViewById(android.R.id.content); if (view != null) { @@ -62,8 +59,52 @@ public class helperMethod } } - public static int screenHeight(boolean hasSoftKeys) - { + public static void rateApp(){ + preference_manager.getInstance().setBool(keys.isAppRated,true); + app_model.getInstance().getAppInstance().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.darkweb.genesissearchengine"))); + } + + public static void shareApp() { + ShareCompat.IntentBuilder.from(app_model.getInstance().getAppInstance()) + .setType("text/plain") + .setChooserTitle("Hi! Check out this Awesome App") + .setSubject("Hi! Check out this Awesome App") + .setText("Genesis | Onion Search | http://play.google.com/store/apps/details?id=" + app_model.getInstance().getAppInstance().getPackageName()) + .startChooser(); + } + + public static String getHost(String link){ + URL url = null; + try + { + url = new URL(link); + String host = url.getHost(); + return host; + } + catch (MalformedURLException e) + { + e.printStackTrace(); + return ""; + } + + } + + public static void openActivity( Class cls,int type){ + Intent myIntent = new Intent(app_model.getInstance().getAppInstance(), cls); + myIntent.putExtra(keys.list_type, type); + app_model.getInstance().getAppInstance().startActivity(myIntent); + } + + public static void onMinimizeApp(){ + Intent startMain = new Intent(Intent.ACTION_MAIN); + startMain.addCategory(Intent.CATEGORY_HOME); + startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + app_model.getInstance().getAppInstance().startActivity(startMain); + } + + /*Splash Screen Initializations*/ + + public static int screenHeight(boolean hasSoftKeys) { if(!hasSoftKeys) { return Resources.getSystem().getDisplayMetrics().heightPixels -(helperMethod.getNavigationBarHeight()); @@ -88,16 +129,14 @@ public class helperMethod return 0; } - public static RotateAnimation getRotationAnimation() - { + public static RotateAnimation getRotationAnimation(){ RotateAnimation rotate = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,0.5f); rotate.setDuration(2000); rotate.setRepeatCount(Animation.INFINITE); return rotate; } - public static ViewGroup.MarginLayoutParams getCenterScreenPoint(ViewGroup.LayoutParams itemLayoutParams) - { + public static ViewGroup.MarginLayoutParams getCenterScreenPoint(ViewGroup.LayoutParams itemLayoutParams) { double heightloader = Resources.getSystem().getDisplayMetrics().heightPixels*0.78; ViewGroup.MarginLayoutParams params_loading = (ViewGroup.MarginLayoutParams) itemLayoutParams; params_loading.topMargin = (int)(heightloader); @@ -105,8 +144,7 @@ public class helperMethod return params_loading; } - public static boolean hasSoftKeys(WindowManager windowManager) - { + public static boolean hasSoftKeys(WindowManager windowManager){ Display d = windowManager.getDefaultDisplay(); DisplayMetrics realDisplayMetrics = new DisplayMetrics(); @@ -124,89 +162,9 @@ public class helperMethod return (realWidth - displayWidth) > 0 || (realHeight - displayHeight) > 0; } - public static boolean isBuildValid () - { + public static boolean isBuildValid (){ return BuildConfig.FLAVOR.equals("aarch64") && Build.SUPPORTED_ABIS[0].equals("arm64-v8a") || BuildConfig.FLAVOR.equals("arm") && Build.SUPPORTED_ABIS[0].equals("armeabi-v7a") || BuildConfig.FLAVOR.equals("x86") && Build.SUPPORTED_ABIS[0].equals("x86") || BuildConfig.FLAVOR.equals("x86_64") && Build.SUPPORTED_ABIS[0].equals("x86_64"); } - public static void rateApp() - { - preference_manager.getInstance().setBool(keys.isAppRated,true); - app_model.getInstance().getAppInstance().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.darkweb.genesissearchengine"))); - } - - public static void shareApp() - { - ShareCompat.IntentBuilder.from(app_model.getInstance().getAppInstance()) - .setType("text/plain") - .setChooserTitle("Hi! Check out this Awesome App") - .setSubject("Hi! Check out this Awesome App") - .setText("Genesis | Onion Search | http://play.google.com/store/apps/details?id=" + app_model.getInstance().getAppInstance().getPackageName()) - .startChooser(); - } - - public static String getHost(String link) - { - URL url = null; - try - { - url = new URL(link); - String host = url.getHost(); - return host; - } - catch (MalformedURLException e) - { - e.printStackTrace(); - return ""; - } - - } - - public static void openActivity( Class cls,int type) - { - Intent myIntent = new Intent(app_model.getInstance().getAppInstance(), cls); - myIntent.putExtra(keys.list_type, type); - app_model.getInstance().getAppInstance().startActivity(myIntent); - } - - public static CharSequence highlight(String search, String originalText) { - // ignore case and accents - // the same thing should have been done for the search text - String normalizedText = Normalizer - .normalize(originalText, Normalizer.Form.NFD) - .replaceAll("\\p{InCombiningDiacriticalMarks}+", "") - .toLowerCase(Locale.ENGLISH); - - int start = normalizedText.indexOf(search.toLowerCase(Locale.ENGLISH)); - if (start < 0) { - // not found, nothing to to - return originalText; - } else { - // highlight each appearance in the original text - // while searching in normalized text - Spannable highlighted = new SpannableString(originalText); - while (start >= 0) { - int spanStart = Math.min(start, originalText.length()); - int spanEnd = Math.min(start + search.length(), - originalText.length()); - - highlighted.setSpan(new ForegroundColorSpan(Color.BLUE), - spanStart, spanEnd, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); - - start = normalizedText.indexOf(search, spanEnd); - } - - return highlighted; - } - } - - public static void onMinimizeApp() - { - Intent startMain = new Intent(Intent.ACTION_MAIN); - startMain.addCategory(Intent.CATEGORY_HOME); - startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - app_model.getInstance().getAppInstance().startActivity(startMain); - } - } diff --git a/app/src/main/java/com/darkweb/genesissearchengine/pluginManager/admanager.java b/app/src/main/java/com/darkweb/genesissearchengine/pluginManager/admanager.java index 65d15d15..d6a05333 100644 --- a/app/src/main/java/com/darkweb/genesissearchengine/pluginManager/admanager.java +++ b/app/src/main/java/com/darkweb/genesissearchengine/pluginManager/admanager.java @@ -11,8 +11,9 @@ public class admanager /*Private Variables*/ private static final admanager ourInstance = new admanager(); - private InterstitialAd mInterstitialHidden; + private InterstitialAd mInterstitialHidden_onion; private InterstitialAd mInterstitialInternal; + private InterstitialAd mInterstitialHidden_base; private int adCount = 0; boolean isAdShown = false; @@ -28,26 +29,33 @@ public class admanager public void initialize() { MobileAds.initialize(app_model.getInstance().getAppInstance(), "ca-app-pub-5074525529134731~2926711128"); - initAd(mInterstitialHidden,"ca-app-pub-5074525529134731/4332539288"); - initAd(mInterstitialInternal,"ca-app-pub-5074525529134731/8478420705"); + mInterstitialHidden_base = initAd("ca-app-pub-5074525529134731/1637043432"); + mInterstitialHidden_onion = initAd("ca-app-pub-5074525529134731/4332539288"); + mInterstitialInternal = initAd("ca-app-pub-5074525529134731/8478420705"); } - public void initAd(InterstitialAd adInstance,String id) + public InterstitialAd initAd(String id) { - adInstance = new InterstitialAd(app_model.getInstance().getAppInstance()); - + InterstitialAd adInstance = new InterstitialAd(app_model.getInstance().getAppInstance()); adInstance.setAdUnitId(id); adInstance.loadAd(new AdRequest.Builder().build()); + + return adInstance; } /*Helper Methods*/ public void showAd(enums.adID id) { - if(id.equals(enums.adID.hidden)) + if(id.equals(enums.adID.hidden_base)) { - mInterstitialHidden.show(); - mInterstitialHidden.loadAd(new AdRequest.Builder().build()); + mInterstitialHidden_base.show(); + mInterstitialHidden_base.loadAd(new AdRequest.Builder().build()); + } + else if(id.equals(enums.adID.hidden_onion)) + { + mInterstitialHidden_onion.show(); + mInterstitialHidden_onion.loadAd(new AdRequest.Builder().build()); } else { diff --git a/app/src/main/java/com/darkweb/genesissearchengine/pluginManager/analyticmanager.java b/app/src/main/java/com/darkweb/genesissearchengine/pluginManager/analyticmanager.java index 7298bcf3..cc8575d1 100644 --- a/app/src/main/java/com/darkweb/genesissearchengine/pluginManager/analyticmanager.java +++ b/app/src/main/java/com/darkweb/genesissearchengine/pluginManager/analyticmanager.java @@ -11,6 +11,7 @@ import java.util.UUID; public class analyticmanager { /*Private Variables*/ + private static final analyticmanager ourInstance = new analyticmanager(); private String uniqueID = null; @@ -19,6 +20,7 @@ public class analyticmanager } /*Initializations*/ + private analyticmanager() { } diff --git a/app/src/main/java/com/darkweb/genesissearchengine/pluginManager/fabricManager.java b/app/src/main/java/com/darkweb/genesissearchengine/pluginManager/fabricManager.java index 4ae2a869..edbdcaa0 100644 --- a/app/src/main/java/com/darkweb/genesissearchengine/pluginManager/fabricManager.java +++ b/app/src/main/java/com/darkweb/genesissearchengine/pluginManager/fabricManager.java @@ -1,9 +1,17 @@ package com.darkweb.genesissearchengine.pluginManager; +import com.crashlytics.android.Crashlytics; +import com.darkweb.genesissearchengine.appManager.home_activity.app_model; +import io.fabric.sdk.android.Fabric; + public class fabricManager { + /*Private Variables*/ + private static final fabricManager ourInstance = new fabricManager(); + /*Initializations*/ + public static fabricManager getInstance() { return ourInstance; @@ -15,13 +23,15 @@ public class fabricManager public void init() { - //Fabric.with(app_model.getInstance().getAppContext(), new Crashlytics()); - //analyticmanager.getInstance().initialize(app_model.getInstance().getAppContext()); - //analyticmanager.getInstance().logUser(); + Fabric.with(app_model.getInstance().getAppContext(), new Crashlytics()); + analyticmanager.getInstance().initialize(app_model.getInstance().getAppContext()); + analyticmanager.getInstance().logUser(); } + /*Helper Methods*/ + public void sendEvent(String value) { - //analyticmanager.getInstance().sendEvent(value); + analyticmanager.getInstance().sendEvent(value); } } diff --git a/app/src/main/java/com/darkweb/genesissearchengine/pluginManager/firebase.java b/app/src/main/java/com/darkweb/genesissearchengine/pluginManager/firebase.java index 26d017b5..d3355177 100644 --- a/app/src/main/java/com/darkweb/genesissearchengine/pluginManager/firebase.java +++ b/app/src/main/java/com/darkweb/genesissearchengine/pluginManager/firebase.java @@ -4,8 +4,12 @@ package com.darkweb.genesissearchengine.pluginManager; public class firebase { + /*Private Variables*/ + private static final firebase ourInstance = new firebase(); + /*Initializations*/ + public static firebase getInstance() { return ourInstance; @@ -18,6 +22,8 @@ public class firebase //mFirebaseAnalytics = FirebaseAnalytics.getInstance(app_model.getInstance().getAppContext()); } + /*Helper Methods*/ + public void logEvent(String value,String id) { /* diff --git a/app/src/main/java/com/darkweb/genesissearchengine/pluginManager/orbot_manager.java b/app/src/main/java/com/darkweb/genesissearchengine/pluginManager/orbot_manager.java index ea8c6d93..a546c9bd 100644 --- a/app/src/main/java/com/darkweb/genesissearchengine/pluginManager/orbot_manager.java +++ b/app/src/main/java/com/darkweb/genesissearchengine/pluginManager/orbot_manager.java @@ -5,6 +5,7 @@ import com.darkweb.genesissearchengine.constants.constants; import com.darkweb.genesissearchengine.constants.keys; import com.darkweb.genesissearchengine.constants.status; import com.darkweb.genesissearchengine.constants.strings; +import com.darkweb.genesissearchengine.helperMethod; import com.msopentech.thali.android.toronionproxy.AndroidOnionProxyManager; import com.msopentech.thali.toronionproxy.OnionProxyManager; import org.mozilla.gecko.PrefsHelper; @@ -12,12 +13,15 @@ import org.mozilla.gecko.PrefsHelper; public class orbot_manager { /*Private Variables*/ + private boolean isLoading = false; private int threadCounter = 100; - /*Local Initialization*/ - private static final orbot_manager ourInstance = new orbot_manager(); private OnionProxyManager onionProxyManager = null; + /*Local Initialization*/ + + private static final orbot_manager ourInstance = new orbot_manager(); + public static orbot_manager getInstance() { return ourInstance; @@ -28,6 +32,7 @@ public class orbot_manager { } /*Orbot Initialization*/ + public boolean initOrbot(String url) { if(!status.isTorInitialized) @@ -59,16 +64,23 @@ public class orbot_manager { status.isTorInitialized = true; threadCounter = 5000; } + else + { + status.isTorInitialized = false; + } } if(!isLoading && !status.isTorInitialized) { - if(onionProxyManager == null) + if(helperMethod.isNetworkAvailable()) { - onionProxyManager = new AndroidOnionProxyManager(app_model.getInstance().getAppContext(), strings.torfolder); + if(onionProxyManager == null) + { + onionProxyManager = new AndroidOnionProxyManager(app_model.getInstance().getAppContext(), strings.torfolder); + } + isLoading = false; + status.isTorInitialized = false; + initializeTorClient(); } - isLoading = false; - status.isTorInitialized = false; - initializeTorClient(); } else { @@ -85,21 +97,6 @@ public class orbot_manager { }.start(); } - public String getLogs() - { - if(onionProxyManager!=null) - { - String Logs = onionProxyManager.getLastLog(); - if(Logs.equals("")) - { - return "Loading Please Wait"; - } - Logs=Logs.replace("FAILED","Securing"); - return Logs; - } - return "Loading Please Wait"; - } - public void initializeTorClient() { if(!isLoading) @@ -142,13 +139,14 @@ public class orbot_manager { } /*Proxy Initialization*/ + public void initializeProxy() { - PrefsHelper.setPref(keys.proxy_type, constants.proxy_type); //manual proxy settings - PrefsHelper.setPref(keys.proxy_socks,constants.proxy_socks); //manual proxy settings - PrefsHelper.setPref(keys.proxy_socks_port, app_model.getInstance().getPort()); //manual proxy settings - PrefsHelper.setPref(keys.proxy_socks_version,constants.proxy_socks_version); //manual proxy settings - PrefsHelper.setPref(keys.proxy_socks_remote_dns,constants.proxy_socks_remote_dns); //manual proxy settings + PrefsHelper.setPref(keys.proxy_type, constants.proxy_type); + PrefsHelper.setPref(keys.proxy_socks,constants.proxy_socks); + PrefsHelper.setPref(keys.proxy_socks_port, app_model.getInstance().getPort()); + PrefsHelper.setPref(keys.proxy_socks_version,constants.proxy_socks_version); + PrefsHelper.setPref(keys.proxy_socks_remote_dns,constants.proxy_socks_remote_dns); PrefsHelper.setPref(keys.proxy_cache,constants.proxy_cache); PrefsHelper.setPref(keys.proxy_memory,constants.proxy_memory); PrefsHelper.setPref(keys.proxy_useragent_override, constants.proxy_useragent_override); @@ -156,6 +154,21 @@ public class orbot_manager { PrefsHelper.setPref(keys.proxy_donottrackheader_value,constants.proxy_donottrackheader_value); } + /*Helper Methods*/ + public String getLogs() + { + if(onionProxyManager!=null) + { + String Logs = onionProxyManager.getLastLog(); + if(Logs.equals("")) + { + return "Loading Please Wait"; + } + Logs=Logs.replace("FAILED","Securing"); + return Logs; + } + return "Loading Please Wait"; + } } diff --git a/app/src/main/res/layout/settings_view.xml b/app/src/main/res/layout/settings_view.xml index 05ed736a..2108bf80 100644 --- a/app/src/main/res/layout/settings_view.xml +++ b/app/src/main/res/layout/settings_view.xml @@ -93,7 +93,7 @@ android:layout_marginTop="1dp" style="@style/Widget.AppCompat.DropDownItem.Spinner" - android:dropDownWidth="200dp" + android:dropDownWidth="160dp" android:popupBackground="@android:color/white" android:overlapAnchor="false" android:popupTheme="@style/AppTheme.PopupOverlay" @@ -138,7 +138,7 @@ android:popupTheme="@style/AppTheme.PopupOverlay" style="@style/Widget.AppCompat.DropDownItem.Spinner" - android:dropDownWidth="200dp" + android:dropDownWidth="160dp" android:popupBackground="@android:color/white" android:overlapAnchor="false" android:popupElevation="3dp" @@ -181,7 +181,7 @@ android:popupTheme="@style/AppTheme.PopupOverlay" style="@style/Widget.AppCompat.DropDownItem.Spinner" - android:dropDownWidth="200dp" + android:dropDownWidth="160dp" android:popupBackground="@android:color/white" android:overlapAnchor="false" android:popupElevation="3dp" diff --git a/app/variables.gradle b/app/variables.gradle index 2f88417e..42b5ab9e 100644 --- a/app/variables.gradle +++ b/app/variables.gradle @@ -1,18 +1,18 @@ /*arm versions*/ - project.ext.arm_vname = '180' - project.ext.arm_vcode = 180 + project.ext.arm_vname = '188' + project.ext.arm_vcode = 188 /*aarch versions*/ - project.ext.aarch_vname = '181' - project.ext.aarch_vcode = 181 + project.ext.aarch_vname = '189' + project.ext.aarch_vcode = 189 /*x86 versions*/ - project.ext.x86_vname = '182' - project.ext.x86_vcode = 182 + project.ext.x86_vname = '190' + project.ext.x86_vcode = 190 /*x64 versions*/ - project.ext.x64_vname = '183' - project.ext.x64_vcode = 183 + project.ext.x64_vname = '191' + project.ext.x64_vcode = 191 /*dimension*/ project.ext.dimen = 'abi'