From 4733f08dc681f9a56a5c184f4ffa32c64fcdbc1d Mon Sep 17 00:00:00 2001 From: msmannan00 Date: Thu, 22 Oct 2020 15:54:13 +0500 Subject: [PATCH] Bug Fixes --- .../homeManager/homeController.java | 39 --------- .../appManager/homeManager/homeModel.java | 10 +-- .../homeManager/homeViewController.java | 4 +- .../settingSearchController.java | 48 +++++++++- .../settingSearchModel.java | 15 +++- .../settingSearchViewController.java | 50 ++++++++++- .../constants/constants.java | 9 +- .../genesissearchengine/constants/keys.java | 2 + .../genesissearchengine/constants/status.java | 7 +- app/src/main/res/drawable-hdpi/bing.png | Bin 2848 -> 8989 bytes .../{duckduckgo.png => duckduckgologo.png} | Bin .../setting/layout/setting_search_view.xml | 82 +++++++++++++++--- app/src/main/res/values/strings.xml | 2 + 13 files changed, 200 insertions(+), 68 deletions(-) rename app/src/main/res/drawable-hdpi/{duckduckgo.png => duckduckgologo.png} (100%) diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/homeController.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/homeController.java index 6473a371..f5ac594f 100755 --- a/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/homeController.java +++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/homeController.java @@ -441,45 +441,6 @@ public class homeController extends AppCompatActivity implements ComponentCallba } } - public void onSwitchSearch(View view){ - dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_ENGINE_SWITCHED,true)); - pluginController.getInstance().logEvent(strings.EVENT_SEARCH_SWITCH); - - if(status.sSettingSearchStatus.equals(constants.CONST_BACKEND_GOOGLE_URL)) - { - status.sSettingSearchStatus = constants.CONST_BACKEND_GENESIS_URL; - mHomeViewController.onUpdateLogo(); - dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_STRING, Arrays.asList(keys.SETTING_SEARCH_ENGINE,constants.CONST_BACKEND_GENESIS_URL)); - onHomeButton(null); - } - else if(status.sSettingSearchStatus.equals(constants.CONST_BACKEND_GENESIS_URL)) - { - status.sSettingSearchStatus = constants.CONST_BACKEND_DUCK_DUCK_GO_URL; - if(pluginController.getInstance().isOrbotRunning()) - { - mHomeViewController.onUpdateLogo(); - dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_STRING, Arrays.asList(keys.SETTING_SEARCH_ENGINE,constants.CONST_BACKEND_DUCK_DUCK_GO_URL)); - onHomeButton(null); - } - else { - pluginController.getInstance().MessageManagerHandler(homeController.this, Collections.singletonList(constants.CONST_BACKEND_DUCK_DUCK_GO_URL),enums.etype.start_orbot); - } - } - else - { - status.sSettingSearchStatus = constants.CONST_BACKEND_GOOGLE_URL; - if(pluginController.getInstance().isOrbotRunning()) - { - mHomeViewController.onUpdateLogo(); - dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_STRING, Arrays.asList(keys.SETTING_SEARCH_ENGINE,constants.CONST_BACKEND_GOOGLE_URL)); - onHomeButton(null); - } - else { - pluginController.getInstance().MessageManagerHandler(homeController.this,Collections.singletonList(constants.CONST_BACKEND_GOOGLE_URL),enums.etype.start_orbot); - } - } - } - /*Activity States*/ public void onReload(View view){ diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/homeModel.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/homeModel.java index 25c39428..2c1de034 100755 --- a/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/homeModel.java +++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/homeModel.java @@ -31,15 +31,7 @@ class homeModel ex.printStackTrace(); } - if(status.sSettingSearchStatus.equals(constants.CONST_BACKEND_GOOGLE_URL)){ - return getSearchEngine()+"search?q="+url.replaceAll(" ","+"); - } - else if(status.sSettingSearchStatus.equals(constants.CONST_BACKEND_GENESIS_URL)){ - return getSearchEngine()+"/search?s_type=all&p_num=1&q="+url.replaceAll(" ","+"); - } - else{ - return getSearchEngine()+"?q="+url.replaceAll(" ","+"); - } + return constants.CONST_BACKEND_GOOGLE_URL.replace("$s",url.replaceAll(" ","+")); } diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/homeViewController.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/homeViewController.java index 8bbe1c47..f1d7cfb0 100755 --- a/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/homeViewController.java +++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/homeManager/homeViewController.java @@ -662,9 +662,9 @@ class homeViewController if(msg.what == messages.MESSAGE_ON_URL_LOAD) { if(status.sSettingRedirectStatus.equals(strings.GENERIC_EMPTY_STR)){ - mEvent.invokeObserver(Collections.singletonList(status.sSettingSearchStatus), enums.etype.on_url_load); + mEvent.invokeObserver(Collections.singletonList(helperMethod.getDomainName(status.sSettingSearchStatus)), enums.etype.on_url_load); }else { - mEvent.invokeObserver(Collections.singletonList(status.sSettingRedirectStatus), enums.etype.on_url_load); + mEvent.invokeObserver(Collections.singletonList(helperMethod.getDomainName(status.sSettingRedirectStatus)), enums.etype.on_url_load); } } if(msg.what == messages.MESSAGE_UPDATE_LOADING_TEXT) diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/settingManager/searchEngineManager/settingSearchController.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/settingManager/searchEngineManager/settingSearchController.java index 2c603a55..410751fc 100644 --- a/app/src/main/java/com/darkweb/genesissearchengine/appManager/settingManager/searchEngineManager/settingSearchController.java +++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/settingManager/searchEngineManager/settingSearchController.java @@ -3,20 +3,28 @@ package com.darkweb.genesissearchengine.appManager.settingManager.searchEngineMa import android.content.Intent; import android.os.Bundle; import android.view.View; +import android.widget.RadioButton; +import android.widget.Spinner; import androidx.appcompat.app.AppCompatActivity; import com.darkweb.genesissearchengine.appManager.activityContextManager; +import com.darkweb.genesissearchengine.constants.constants; import com.darkweb.genesissearchengine.constants.enums; import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.pluginManager.pluginController; import com.example.myapplication.R; +import com.google.android.material.switchmaterial.SwitchMaterial; +import java.util.ArrayList; import java.util.List; public class settingSearchController extends AppCompatActivity { /* PRIVATE VARIABLES */ + private ArrayList mSearchEngines = new ArrayList<>(); + private SwitchMaterial mSearchHistory; + private SwitchMaterial mSearchSuggestions; private settingSearchModel mSettingSearchModel; private settingSearchViewController mSettingSearchViewController; @@ -30,11 +38,49 @@ public class settingSearchController extends AppCompatActivity { } public void viewsInitializations() { - mSettingSearchViewController = new settingSearchViewController(this, new settingSearchViewCallback()); + mSearchEngines.add(findViewById(R.id.mRadioSearch_1)); + mSearchEngines.add(findViewById(R.id.mRadioSearch_2)); + mSearchEngines.add(findViewById(R.id.mRadioSearch_3)); + mSearchEngines.add(findViewById(R.id.mRadioSearch_4)); + mSearchEngines.add(findViewById(R.id.mRadioSearch_5)); + mSearchHistory = findViewById(R.id.pSearchHistory); + mSearchSuggestions = findViewById(R.id.pSearchSuggestions); + mSettingSearchViewController = new settingSearchViewController(this, new settingSearchViewCallback(), mSearchEngines, mSearchHistory, mSearchSuggestions); mSettingSearchModel = new settingSearchModel(new settingSearchModelCallback()); } + public void onSelectSearchEngine(View view) { + if(view.getId() == R.id.pOption1){ + mSettingSearchModel.onSetSearchEngine(constants.CONST_BACKEND_GENESIS_URL); + } + else if(view.getId() == R.id.pOption2){ + mSettingSearchModel.onSetSearchEngine(constants.CONST_BACKEND_DUCK_DUCK_GO_URL); + } + else if(view.getId() == R.id.pOption3){ + mSettingSearchModel.onSetSearchEngine(constants.CONST_BACKEND_GOOGLE_URL); + } + else if(view.getId() == R.id.pOption4){ + mSettingSearchModel.onSetSearchEngine(constants.CONST_BACKEND_BING_URL); + } + else if(view.getId() == R.id.pOption5){ + mSettingSearchModel.onSetSearchEngine(constants.CONST_BACKEND_WIKI_URL); + } + + mSettingSearchViewController.resetSearchEngine(); + mSettingSearchViewController.initSearchEngine(); + } + + public void setSearchHistory(View view){ + mSettingSearchModel.setSearchHistory(!mSearchHistory.isChecked()); + mSearchHistory.toggle(); + } + + public void setSearchStatus(View view){ + mSettingSearchModel.setSearchStatus(!mSearchSuggestions.isChecked()); + mSearchSuggestions.toggle(); + } + /* LISTENERS */ public class settingSearchViewCallback implements eventObserver.eventListener{ diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/settingManager/searchEngineManager/settingSearchModel.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/settingManager/searchEngineManager/settingSearchModel.java index a2181408..27c73270 100644 --- a/app/src/main/java/com/darkweb/genesissearchengine/appManager/settingManager/searchEngineManager/settingSearchModel.java +++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/settingManager/searchEngineManager/settingSearchModel.java @@ -5,10 +5,10 @@ import com.darkweb.genesissearchengine.constants.status; import com.darkweb.genesissearchengine.dataManager.dataController; import com.darkweb.genesissearchengine.dataManager.dataEnums; import com.darkweb.genesissearchengine.helperManager.eventObserver; -import com.darkweb.genesissearchengine.pluginManager.pluginController; import java.util.Arrays; + class settingSearchModel { /*Variable Declaration*/ @@ -24,5 +24,18 @@ class settingSearchModel /*Helper Methods*/ + public void onSetSearchEngine(String pUrl){ + status.sSettingSearchStatus = pUrl; + dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_STRING, Arrays.asList(keys.SETTING_SEARCH_ENGINE, pUrl)); + } + + public void setSearchHistory(boolean pStatus){ + dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_SEARCH_HISTORY, pStatus)); + status.sSettingSearchHistory = pStatus; + } + public void setSearchStatus(boolean pStatus){ + dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_SEARCH_SUGGESTION, pStatus)); + status.getsSettingSearchSuggestion = pStatus; + } } diff --git a/app/src/main/java/com/darkweb/genesissearchengine/appManager/settingManager/searchEngineManager/settingSearchViewController.java b/app/src/main/java/com/darkweb/genesissearchengine/appManager/settingManager/searchEngineManager/settingSearchViewController.java index f9bca9f3..1f80f668 100644 --- a/app/src/main/java/com/darkweb/genesissearchengine/appManager/settingManager/searchEngineManager/settingSearchViewController.java +++ b/app/src/main/java/com/darkweb/genesissearchengine/appManager/settingManager/searchEngineManager/settingSearchViewController.java @@ -4,28 +4,39 @@ import android.os.Build; import android.view.View; import android.view.Window; import android.view.WindowManager; +import android.widget.RadioButton; +import android.widget.Spinner; import androidx.appcompat.app.AppCompatActivity; import androidx.core.content.ContextCompat; +import com.darkweb.genesissearchengine.constants.constants; import com.darkweb.genesissearchengine.constants.status; import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.example.myapplication.R; import com.google.android.material.switchmaterial.SwitchMaterial; +import java.util.ArrayList; + class settingSearchViewController { /*Private Variables*/ private eventObserver.eventListener mEvent; private AppCompatActivity mContext; + private ArrayList mSearchEngines; + private SwitchMaterial mSearchHistory; + private SwitchMaterial mSearchSuggestions; /*Initializations*/ - settingSearchViewController(settingSearchController pContext, eventObserver.eventListener pEvent) + settingSearchViewController(settingSearchController pContext, eventObserver.eventListener pEvent, ArrayList pSearchEngines, SwitchMaterial pSearchHistory, SwitchMaterial pSearchSuggestions) { this.mEvent = pEvent; this.mContext = pContext; + this.mSearchEngines = pSearchEngines; + this.mSearchHistory = pSearchHistory; + this.mSearchSuggestions = pSearchSuggestions; initViews(); initPostUI(); @@ -33,6 +44,43 @@ class settingSearchViewController private void initViews() { + initSearchEngine(); + initSearchViews(); + } + + public void initSearchViews(){ + if(status.sSettingSearchHistory){ + mSearchHistory.setChecked(true); + } + if(status.getsSettingSearchSuggestion){ + mSearchSuggestions.setChecked(true); + } + } + + public void initSearchEngine(){ + switch (status.sSettingSearchStatus) { + case constants.CONST_BACKEND_GOOGLE_URL: + mSearchEngines.get(2).setChecked(true); + break; + case constants.CONST_BACKEND_GENESIS_URL: + mSearchEngines.get(0).setChecked(true); + break; + case constants.CONST_BACKEND_DUCK_DUCK_GO_URL: + mSearchEngines.get(1).setChecked(true); + break; + case constants.CONST_BACKEND_BING_URL: + mSearchEngines.get(3).setChecked(true); + break; + case constants.CONST_BACKEND_WIKI_URL: + mSearchEngines.get(4).setChecked(true); + break; + } + } + + public void resetSearchEngine(){ + for(int mCounter=0;mCounterZD24iS&WRLg*5{f*#cP5-u|!T*mhO8bV}2MK!02NbIWhXc z>#cp+se@aJnvonAs#TNM%=>LXXW|;))NlsYKW~UJQ~>hQ(sXEqN#B)r<{9^nFApRt zuiFDZebzP>T^8NB^zodvh16GQdgN4?=3Pj3Tr74xErR5v|6jTzm=-q6Uh|joz#79F zOqPb<@hv=TlG+rk6N^^!5eA=X$LOCj4U`}1iurd;jmTIo4KgBG!zuRN`e$^>Z(4?GrsL9t{7%^kZ=N7 z6m8&F0DUXX7vKXL&Ibb^Qy4r5oU%_S+ghEnkgi!u>*VP8_{1u#cH=AhEL@=Q{v&!$ zdK3r*O4rB~+~a54nm0Ju>y)7H)t7E1R76pMTzQ(M6Rg*2??a!Tp9c&L3{1|miJ}&J zDzuhAqOB(ne7 z@Zg8b?f@Y?$TI-?65Xk0zC!3R#taU9F0aN#xbwS5ma#k*qb12)bS}S#9tjubWSA&1 zcH1Hr{kHbYNjQcl5Ym)Ya(AH2c+Rl8`m|1y-d%n3YFvxk$xk9RZOCdgUE9Q#tY4|N zC+bW1Q6({3{%T!SON#c5(%T=T*&E+bJ(hfr&KT`FlrRQ3Z0qN>B4rDNIw>4jXsU^y zI(;VvXCr&oPDBS>`{p-fr>?knKW=QuzjZO^BzY(xSXa+4FHD=J2{ky#DgU&e77-C) zD>*RmIoo(FW*T(K z!tclpGg(3PWF2QN<;uv5;RI@u1N$a(=ToIqxX+oGBCWM`^M|V7DO7_4!P+qCkvjs^ zG&{(oYB}bA<&FdSgGYk~haG$4&1&Fy zi;rY*FG<~mL7)myk{}A^3ZU1uhhR3$n0DV$)k-C2Ud=#lzDxDiBBf|cVSK~xj@{3P z>UO@QY6r}TZfc!O$CXyU3BI)yME zG|JPTE=Ol@^-L+A+yi#6opxZ+i&a?ZN#i%nfa>QDSqjH@L#ND?)S+!AqX|h+;OuCE z{M#E0i)zU*0_q>in=6Q-=3Fs7CH3jD?Z0j|{1bbZFH!PuO)&~nMcDF@CNk8whsW(M z4W~X}6dQz$&g&;>mP%1a%eP|*e(I|Tl2x(d&j^fBEMiCn>l#f>6S!;gWtI4}n3Lu8 zB@CnNV-D9qGT7b$BA}N6Bj-Ts@)uyG=97U8&fSn6S*E< z30P}0lxjFsrLb+J)|!)5vS{T#CM(hS6eqHWeNVk*d#5t8=YF55%;?JVhFG9;tzAa* z;n+X_4Pby1+|`gTg_TUH58AV+HuPgoE>SOJA}KHS*@(76tm&>jKPv&CED(@GR&>qyu!9B9E) z7ZK)0|0E#FGCE9XM`@Iqs^zpe^zT3QgA!C%Lar^@$<$>n<4)Rq=+#Dl_Q5U|?18ux z$)&QuC!$hSp0MP3*OyNT52Yi03%P1T&y3Rfpn>s1viE zsW&%=m`%#coJ+`zfjy+dhO9q5n3rY0q5!v$J2GD@CJQ;6Ugxt0L!3U`#K)PbjI+Tf$PWgVJOurq2iQ4;}Q_s6gdso&lDBV z7C;n@Wqn(3z_{%72SLrS`A>LVhn=0B>}*?COw9qEx3a2iHMC@8U(l`CTu^_d(A@v_`etYM`!j&AQhpYn z%oadzBP1xev@hY&=C0vw7pQNC0Z?OG74AR4h;yTg5BnvgQzz31#ujZ&?tVlE{Fy@0 zROlVY&XyQc8jn+euVhgMdD@Jc@+xMbFauRbM&Fw;?|3bcJ?Kq*1RkJpMKUAnrwH*t zLX9aM8vmXi6GpX?rA)UtJKKZ;3ZDrI`c>OMuAR2l%&9zQc?QRjMp$G`!0S&lAPm3g2H-3ty5o;EnhUlGlp;-o^z0I!&> z(B(^2WJ!6seFnjL9EvF|fiwHIu#ga!+x75vK^v);Qn3+pzt|gT>7ZBiXeIV0+Y(&A zb(`&8ae-SMrvy+@VtR`pbs#$|##-C2PF$Oc$jEo=^TX>?B64-`LL$Px_l{1hRwlvyF=E;CT~IA#_w_{LpkDJ)o=qXu1#j5 zA2Z%5i+O%nE@MTHr+r`DukiR&get%4F6TpYo85Ls-$*B+xcgQRwPoNT!&g=Uu;ALo zIYcoBV>vh_eJmzNR@-t~7x642XDwVU?*xBVHQHZE#})~ZRd;=q^n4$S;X~?APZ*tz zj<&q)Q)_d~>FtZ7#&Espw@TTzG(X)lpXF6wD>^!mo;_69NRs*1-0C|Dbp%1-{5VB6 z!5Nz^J6G{XK#+ZAm(`#TAx`A&{5tHB$?|P5iJYtMARPzV*cHp~-Cv|X9}if5AHX0I zO--@KpGp>(XNliKwx(G}y!4wkrafe%e8RJYU3?}-%GFmJU;T~N>OsmZ-t6`!R_l>E zekbj@BUAk~?reKc=eI?Gcx;JAdEqoPSP8g7uBK!yDD%LPLmZUC|Fa|?X}bw}+LdNQ zvrkz(M5=2ijs25W7~Z*UmFdxfe^w3wiB__W>W%K1^~IGpG^xL}QE%0smN3xCjw*oK zf(Y-tcQ>{Qkz}Lto2!v5=tE<*oHi1Q{EZ06?~X{MKLHlxFiInFCsfbcNli;7TO(f< zgfo~*q35RCO~DT^1;HeaFD~o&1?qE zbak>tlI&ORCJs2G!(fH5V4TH8??rv;2KgRvi#__8-DqXsYsy!5p8hRym8*5CZhiWt z0;caS@Y9j;dW-*sDF5U=b$%f@S!_t2X?aOLpz(`|2jRQqJDpCIhb(kUaoCR=udX=B zV@LzJLO!zh2?)__oHw#PUMth;3}@@5NhcE+5n$23rEkPz{_@nz%xxccmYV_L%oUCQ z>}I>QT(8U3FjM_+>Bm3bnDo&b0<4R1^m?CZPCdpP+GC?{^|BbG!u{SpbX^*TH+8qc@e=nF*A)xf za--Rz^?&DimZMU?aLyPF-XSy8JKIp|^)vhwniyv(mM<1ifA37zcw)(#THUB(Qe4#5 zN>;Antc|S9N{lVgzlDP0IBI9VUFDtP{}i2!oyH!WLI@TzHddOST~5@-ev2VHGc~|T zbp*3p^&|@(fDqCewtt5Vxqp@jBS48SIhjKmYkL&SQA&V;Q$E+0G;HQThphN*7zxXN z&<@@2EKM5N$0!UsXq3sC7yyC=8ADOAnpbw$cFhQ7h4Ow+l-O_QgbY1!WT-P^4i@?G z&;#wB+THW)Pjx7jMsfaohpK5f9B$UmvhzfHwAggQ8l1282kd6! z+-`pA*w1NrQb2$LDQGH9ByBt?I+zQRtjG@#8%#kAc+e2ep<6YlNw=HC@1`n1x#EH4 zHJbOgD{e@0@~wU$g{?@dGNZQRGAxlAvn9uOs`>Pf$^Y@)bi|@YvYC>1hsh&p`~uJh z4#QdldbS=P3Pm~Nm3+8UyNYj9l2VdBvG*KHMtWNh1Vr$sZKSH%`EAwKLP^JVHvK5W zU(>OL0Vu+)3;77w@2zcJ?m{MEckquh5^d<5eTCj(81&~8g(;riF1PVC*H@S3nIvJr z_Hhw*n!gHzMGqiGnH|pQNrTG#cjc|>U*p{7A1B8zv}`wW<(3})a3AkeTBN0@3s{YA zR#LM7?;nU9k0h*UQ|f4XVw2$ppdO=>e|OpFs_1VF_0z8YbD@n}eUQUz_v13E?D9r6 zFcY0`fH{6%C$C2xVkSBJ&c2NE;zkgvG&lRc&>>98l8IDw9fBc`D zN@{N?{km5cV_4j#w!vR4Z})g(bf@uLIgn5e`>m?W>A#QoRFr6t113B@0tCx7HM@#d z0S4T_i^N{9lMG8`=&_MxrrnZB%CPOHLRz1x$-$pCF8i~x|%BQr%d?@G_ zDki>!aj`Knlf_`e?U7E_e8`E*O~{1g!A?df%WfvCE~SmitrVju;2!5b}n#S!ZbYS(Z^;d z;Mng_G@$*6PH95%$hgvztCg z8>DKCgyQRGxA`e`<*Xd2u60lU%-f#_>mMJ(bKnbhkz_<<;3+fy40pMN)?VE3J~)Nh zV&hlJbS}dg9JCN_WEH%oCmZTjKOd3#D)h;a>GxE=O)!I z{>1OvzNn$*OQo7WanxLlno8h*?9uFr=MTJ;ms9m|zdPR=GvoP?S|IOZ=X7&(hEt+l zo^JVTF00?_3~d{>jQJb*gtG*N5it({Iq*uQKiiKI@F2hdYg>_YFK)3{M}^t3tU=xq z&tnD$SuwS4vTojVU8Dgm!L(mjEWHxc?aLZfdQ@yO#tF>tH}{p2&%7V=a+b{(#NUKJ z_QO_F>^lR7>wNKg05cpTq0ezcC%L}Sl(Sz$s<7gPW_YaG$W+}HnRd>qV@c}Gd_B@# znm8*-=Mo`MK_6j20j~^)rk^3NhFhpPSr_4(qWoZ%Ca?3H$d?hPSMGA07NzSB=wQ09 z6a26rcukK&J0ssJ=Kz=E|1s1b_-?mGK5u1hIj2ugyz8k&IM=?AEAh~fm!-o)u|G{T z{t2{_^>`)1GIH@gTLppwhMBiR(8@3Mj`Tk$%5laGi0~t4#kIIJH0Ho0J%u5Dti_gn%j{;ZhK7q6;3-|^+hz`JX-2E>e+;TXS02^ReZCK7 zf@n}dU^|%3@@%}`<{YMF+8sh+Jg1`ygF+x*QQ?20-KjU(_Wds4-+uFPmWcXZ?uJg5 zXc#htmHk?s{6inUIiK_3V{vg%T0Fn9r8cKsgU;Q|i7pkj`R9K46F*wcG^jG7;q~V7aAXsg7XFF-L!%7DFjcbCZUia{pxV>#LN6|lz%PTk~TUe&)xc&FQljKbgq|h3ham}ro!%4) zT*B*k$rgbsZD{`iVz=r_v#Au@=S+2KRR`cWnf@xXnQ*?d(4W~r?9u%(K$58;-MBpA zR-&y6Gd=B+2;bkOhZlk4QQ*LQq_KG4xW77|Zps^r=O7jEGI;V>aezc>mrrdR>$rk; zTEmP7XXnH%%K^c^q&;h=cb)dq*x~`gIZE^OR3@!lAHC#{B@GS~h+suv zPFD0#`{%8{IIw_e?a{2yr1md5g-}h@n|E3o5x@%8m?2khp-XFJYxp&w8!)-^9mV1a*>Te3jl&wWEsHukDwW_2;YoqFFF>K8jgD;>Fz% z15Z`TMp3X^o${`;j|(aC_Z*gxc^S1N9q4j1X-B@Eu(N~IBVdgk(ajiGnR|{JUkD9b zxGl0k5H&(RiNC%aR#@P&vlsxCZRpd1k0Z zH56d$|6XyypSH^5bW_|H9dP5Vr#IWgHCzF^6VIgFcwEe6QWwEho}RNfQkCKFSsiiQ z>f?FjGHt$|aN)2Su4_h6dwknS*dpN4MkMALk2*HX)s#b2l*j*FhWhh~o#6dy7=aM! zWt;Cmz>T9{w9~T>rC?u$ROrqJip&iO-@k^xcU#c~XAFMm*ndRm)KP>QRWTD|*~wY{ z(8&5RT^9aLDOPU^!Lc zZ>?(ALiJqNLhvm-R)+Ne2w|;!;k-6Ej4;bw%VAx?FrP*{YKsuL1XxDW(Ep29XTJD^ zm?ULrH|*jM4}?`ufr%G6v)79rqhNw;Btr59$|67OE5i5A^R5m8rTXtVhkeeWw_CmS9zH#v?Z?8*j;qco42$d_srH$x2*CA4mRt@m zUHh6FFxHcI6@?T@7~MOzadsQe)M~4+OQC$)DUfwHcdv0Byvuf9L}+gpbJ1y-?$#Hh zAgG!DZeEK&qqU`=U=6iXT~l*BmGR~fJQd>E^bBV>q>{?kEHy=RA!PVNgb@4Pg2>>& zv47m^;XAw71)ixY^da1r)_aNfK7H6FB3g%M_z1|i&rZ@QQ&`!NX+Je*DEw#by4Jh>Z7WgFvlsiT5_8!>+3Hhsi~=@dcM(3 zG5MDZQZ^oLFXX+vUN@%!t-fj9Iux)2V7f`54z+=90-O=J$fZ#*YZ5{H*9#eII&6E z{hipy4$5z6#XS!Lg+xRGKdI_3x_w69lxIsNCnLM(+FV{ZA%u;oi+sWJ<=W)b&=RZ@Wzq)^X+^zx4DGxG6wv-0u z>>;vW|10k{Ss#1x@g2a>l^^*)F4HrZyWmf>^s}-J0y*N)GxnHvpgWy{s-0I?iz>}vAkkxM)4s-8eM$4?JF z7u(B`M;XTSAe<{T{(n$1cKy3;9_gWJ$z$Jx>;K-~z~x>+5Z)w@F1$bJ;~?VU{Uuxu zNX6HZJHJSB9y1TN3Rk-O0QvQ}V)9l5ymRE|BI!Z6i-`Xu& zs8@pkx>moR+DJW;f9JfW^yj3)&&yF~?l6s=Oqixjv-V&jj6M-h?!0t;+k0xu-#QhTj*Uu_e*W^m~H?M?~&7Vl6(!$Hxao za#@`WIy#j`cOZY!v4~i}5^aqm)_br7I*}z|tRSTsq7Pk_dPw@}VZDf~}XyIAv%ua7)AHNDx7#oNtA4Ix~ zwW$F8wGh!6VK|Dq&F`qTX;%~ahe~>&>c~}4(~sRF=0x)sPGQTjAHsN`Lj&<^EoP*H z8A!{7;NSFA?a3!WgcLP@i1-uFNRh(AXG2xk%Z> z-^#sw5bxGEBt&U(TaGEy0$81)j3CQ}a5$bk(*)_6_-w83O_p|m78>kDP?GzB*^r|? z?|a1F*!O0wCo<4~#b@Vf=x&l6m#6jSm?OfL=dq{`XfViq#c20#-b4?+;!EIlK-$>* z4MK}DhtO`N;$mXe+NwF0WQvhx(@gB=^1yg&eGoXs@aA~=Arj`c6EJo+sjgX-cSKsJ z*Za*xboPG1gWjf0N~YzuhoCk*i-Tc(urL7VnB8rBKi|g0^>(`kCcuFuIth@dV@ehMc*tW(C z3JUZxv$C8pO+25Mf~aYgMCrfiH9Svfo>&(9xh_YO?;FCoVci5ytm~v#%7!<5VMJ+5 zfiF+#rU7?b9LyS-?l$bHnOxv(O6>4$%7~9Y#`n^!t<@*}jM<>#B(c=HCnu}0Z_CX) zH7&=@9;0jm!HSwBr^<$b*xY*2w#L}=))IgPYew^)Xy@KM>a$4J6-ejx%JST=8(!gW zOSfGLu_O>)+#&{w_|a(jw_jxe(kg7JfTMu?*?nyeS~N?RNyAA;S4KA6^u=o zH!+6J=cHY2x!syr_;JoJ;F}fD$q1rz4SNIu!ez~oCI#!;+S;PI3>&Fh)*>kJ&2Qja zh2-K;W>I><4&LP>W%Dr85!iMTCF$F1eiL*&m}Fy%N8jF?D?8b-H~qJXFz*AcRy_Wj zfE8|#NQu{3BnqrMbUf@p3l^{IE_K|CyJ3j}yw?rIYzK!;bGt_b4*og73m1u8vRZSCOxaJc8mt z^eyUwGN2*7C73U(Th7M&2B*Mc5O54udOqb`XNLNE$LuZ6!dN+4?wDusL0rEwjdUH||9 literal 2848 zcmV+*3*YpKP)FMw9@8jd+0D73L$s*bwI;OFZ)j;N8c!A6OrfUCUL>+qS**m=FolE>4h)7(q4!-B=q6^o@5 ziKJJix=)(0q`%9^+2F9w*vDUb5&!@SDoI2^RCt{2or!XrNDzi$G>A3miVj8JI7vzyBVFBcAsbZ}Apy@fQELV2m05c$C4i zKzw`zQDWlauZ;29jb1N`S>*DM>R0kR%ixb9!$UBesEriP(nssfu<|g(`S=6H)s+WR`<~4J{DV5^T6tZao`=ij&F!WoSzYkf&L^2`y>96Hi{;(@z9m{s z#4UTH>M6CG05rtx{n^J)w)4$eQDgd`f`(X}UHv*~4QL*|1+|_d)o+wSL%J7>&$mOH z6U!E}Ctz+8M*&)JFK1sYmL;T`Qy1JgVv1#L7nL%5xco}oR;>>4Q!7tnZtV3~V|*3_siF>WWLcWAWlscF)&Ky#cx zfH^?U`}>CmkN}bD#`$P296)=hR3j}~h6`wA)(zV*h82e!Xd#fMR1*~K4!R-Lk~zR0 z&j~c(G*FWg?FhOl)%d<5!wqy(hxrqs3C&Q3E9hFU2Ih#eaOVgbkfQ2T)5_2tbX_S* zX37ewD`hBJkd0_=K z(K}p1dr}|e52ZS23w{ovnOPqanie(Cn+F@H`KW+~iL1R#pKt#jT3l(Da3wm`4(&l- zuU6Z~YkTW@#-`Xp9ktNGdN9~+2j>^oE`S;IL3infLVQ{cAa?8Rw+kCGF*-F!nl|xh zg5GZjDpuR`Z{5ohrXM9y3rSN>TAHEx<4#k9OxC-nlWteo;q;{>>Nb*Y@agN-AQ!9M z<5NeOl=LB?E&8;G^`H>D)%tsfvW$$-A^8@G2Ix#5DffENx-5Bl`q2mUesu^9vE6@9)_Nm+KUX(6CyHUS!{E$S{JhY zv$zii+VducHa_Vq(=sj|Gm%^#?t{zp#Ly8Zwod|z!S|0U+uG)+(7Xig^$!hWoILJ! zhsq#A7Z1pzxNm5P{Xc#w&1mSj3=L;4)N>ay^ydDnX%`f9Y(CvW-!jn>dh>31W@N^> zM__^uW2?(zrTBffG$W&+nHPs8XeOX-u9_Zh`|r}EW;8Sx(1yhtvVGv8H@{}p$Vljk zX@x23O&!Jo3D-YuWWNh>DMJ_&Fy{|>aKr?QJ2G0w7fado`Yo08=peKSeQ}3E_7~6l=JE$HkK4tt?V5ZTgY&kFL;ua|0A{=6^(AbYW)i$UzgXfL1^wVz#6_ zm=@JSgFXVnie78zg})~hJPQI-57*Gt{?Zb9;lCrbgQT-m+yW{613y1)1wDIzPrDMw zf=ci3bgC!gjG+=q7LJ6FvZplfB9UqOtAdW;WYzn z8jRx*_2j2WHKD^mJ>FEE4=xv&Gr-Ca;=m-DE)WqXA54p)ZEY?kL5jmu(4rPeYp8tx ze5etyxlbL44-FAljmq*@AuHX$2+IXlag@viGl z(}5HR=BaTRi9krQ7BT!+*&mz%4qIRr0`iO(hX_dx0s*@r4ka%Jb+S1f!gePyfmsSf zIY>wyZ1b`_qtElp5h~}Py#Ix1Sx>R^z5Kowo&bQk-Bb&jFn%KIDfNnmm0+Par3qT^ zCwxy*lW!9094wa1Xt&FDOx$`(znimTut+c~hb9iqR57}zPMO=jTufSsTZKq%j9M~h z7UHxTWew7eBX9z1`iq0 zZ$+h!6?h}*8y%Tbg#h)`BVG9-2ONExF?UOla=vgPB+};j#ij&Y=Z4r=iPHN(81N zc5Q?OkxVm4!zObgY@O_}cWU#&2g#mK#5ZasKx>n^NV9M{`~L-o zb`ga=^}JE{<1;q$lrrMTmTQ!T(8-oI0@;qbH5i3qz3GiTZ2pTxoUE%ea;7|i|_KL^{+=?8~Mb--u3S7l|1jGh#AP*#b8u9~v yRKPlN7RL>dcfg|yRuiwy))*P$9{~FnHSr(Z=#c*%8a&4U0000 @@ -92,6 +92,8 @@ android:layout_width="match_parent" android:layout_height="55dp" android:background="@xml/gx_ripple_gray" + android:clickable="true" + android:onClick="onSelectSearchEngine" android:orientation="horizontal" android:weightSum="8"> @@ -99,13 +101,13 @@ android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" + android:layout_marginStart="5dp" android:src="@drawable/genesis"/>