Bug Fixes

Bug Fixes
master
Abdul Mannan Saeed 2022-04-23 14:14:37 -07:00
parent ad847d004f
commit d5f31b0d73
30 changed files with 294 additions and 131 deletions

View File

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="deploymentTargetDropDown">
<runningDeviceTargetSelectedWithDropDown>
<Target>
<type value="RUNNING_DEVICE_TARGET" />
<deviceKey>
<Key>
<type value="SERIAL_NUMBER" />
<value value="buqgytw8mbq4qs8d" />
</Key>
</deviceKey>
</Target>
</runningDeviceTargetSelectedWithDropDown>
<timeTargetWasSelectedWithDropDown value="2022-04-23T03:36:49.929184900Z" />
</component>
</project>

View File

@ -78,6 +78,11 @@
<entry key="..\:/Workspace/Genesis-Android/app/src/main/res/layouts/tab/layout/tab_menu.xml" value="0.16875" />
<entry key="..\:/Workspace/Genesis-Android/app/src/main/res/layouts/tab/layout/tab_row_view.xml" value="0.5" />
<entry key="..\:/Workspace/Genesis-Android/app/src/main/res/layouts/tab/layout/tab_view.xml" value="0.203125" />
<entry key="..\:/workspace/Genesis-Android/app/src/main/res/layouts/alert/layout/certificate_info.xml" value="0.18541666666666667" />
<entry key="..\:/workspace/Genesis-Android/app/src/main/res/layouts/alert/layout/popup_bridge_mail.xml" value="0.5" />
<entry key="..\:/workspace/Genesis-Android/app/src/main/res/layouts/alert/layout/popup_create_bookmark.xml" value="0.20989583333333334" />
<entry key="..\:/workspace/Genesis-Android/app/src/main/res/layouts/alert/layout/popup_tor_change.xml" value="0.7655913978494624" />
<entry key="..\:/workspace/Genesis-Android/app/src/main/res/layouts/bookmark/layout/bookmark_row_view.xml" value="0.18541666666666667" />
<entry key="..\:/workspace/Genesis-Android/app/src/main/res/layouts/home/layout/hint_view.xml" value="0.14791666666666667" />
<entry key="..\:/workspace/Genesis-Android/app/src/main/res/layouts/home/layout/home_view.xml" value="0.33" />
<entry key="..\:/workspace/Genesis-Android/app/src/main/res/layouts/home/layout/notification_menu.xml" value="0.14791666666666667" />
@ -86,8 +91,11 @@
<entry key="..\:/workspace/Genesis-Android/app/src/main/res/layouts/orbot/layout/orbot_settings_view.xml" value="0.18541666666666667" />
<entry key="..\:/workspace/Genesis-Android/app/src/main/res/layouts/proxyStatus/layout/proxy_status_view.xml" value="0.18541666666666667" />
<entry key="..\:/workspace/Genesis-Android/app/src/main/res/layouts/setting/layout/setting.xml" value="0.5" />
<entry key="..\:/workspace/Genesis-Android/app/src/main/res/layouts/setting/layout/setting_advance_view.xml" value="0.37083333333333335" />
<entry key="..\:/workspace/Genesis-Android/app/src/main/res/layouts/setting/layout/setting_privacy_view.xml" value="0.67" />
<entry key="..\:/workspace/Genesis-Android/app/src/main/res/layouts/setting/layout/setting_search_view.xml" value="0.358695652173913" />
<entry key="..\:/workspace/Genesis-Android/app/src/main/res/layouts/shared/listviews/layout/history_bookmark__row_menu.xml" value="0.18541666666666667" />
<entry key="..\:/workspace/Genesis-Android/app/src/main/res/layouts/shared/listviews/layout/history_bookmark_menu.xml" value="0.18541666666666667" />
<entry key="..\:/workspace/Genesis-Android/app/src/main/res/layouts/tab/layout/tab_grid_view.xml" value="0.67" />
<entry key="..\:/workspace/Genesis-Android/app/src/main/res/layouts/tab/layout/tab_menu.xml" value="0.18541666666666667" />
<entry key="..\:/workspace/Genesis-Android/app/src/main/res/layouts/tab/layout/tab_view.xml" value="0.18541666666666667" />

View File

@ -37,7 +37,7 @@
<p class="privacy__welcome-header privacy__welcome-header--bottom gs-disable-highlight">personal information.</p>
<p class="privacy__welcome-info gs-disable-highlight">That's our privacy policy in a nutshell.</p>
<a href="mailto:genesishiddentechnologies@gmail.com" class="gc--clear-selection" style="text-decoration: none"><div class="privacy__welcome-mail gs-disable-highlight">Contact Developer</div></a>
<a href="mailto:connectionslimited5@gmail.com" class="gc--clear-selection" style="text-decoration: none"><div class="privacy__welcome-mail gs-disable-highlight">Contact Developer</div></a>
</div>
<div class="privacy__body">

View File

@ -149,7 +149,7 @@
</p>
<p name="63ec" id="63ec"><strong>Were still in the early stages of what this project will look like, so if you want to help or have thoughts, lets talk.</strong>
</p>
<p name="9376" id="9376"><a href="mailto:pippinblee@gmail.com" data-href="mailto:pippinblee@gmail.com" rel="nofollow"><strong>pippin@pippinlee.com</strong></a>
<p name="9376" id="9376"><a href="mailto:connectionslimited5@gmail.com" data-href="mailto:connectionslimited5@gmail.com" rel="nofollow"><strong>pippin@pippinlee.com</strong></a>
</p>
<p name="ea00" id="ea00"><em>This isnt supposed to be a </em>
<strong><em>manifesto™©</em>

File diff suppressed because one or more lines are too long

View File

@ -2,13 +2,8 @@ package com.hiddenservices.onionservices.appManager.externalCommandManager;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.View;
import androidx.appcompat.app.AppCompatActivity;
import com.hiddenservices.onionservices.appManager.activityContextManager;
import com.hiddenservices.onionservices.appManager.homeManager.homeController.homeController;
import com.hiddenservices.onionservices.constants.constants;
import com.hiddenservices.onionservices.constants.status;
@ -49,11 +44,11 @@ public class externalShortcutController extends AppCompatActivity {
return;
case constants.CONST_EXTERNAL_SHORTCUT_COMMAND_ERASE_OPEN:
panicExitInvoked();
helperMethod.restartAndOpen(true);
helperMethod.restart(true, this);
break;
case constants.CONST_EXTERNAL_SHORTCUT_COMMAND_RESTART:
helperMethod.restartAndOpen(false);
helperMethod.restart(false, this);
break;
}
}

View File

@ -12,6 +12,8 @@ import android.util.Log;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import com.example.myapplication.R;
import com.hiddenservices.onionservices.appManager.activityContextManager;
import com.hiddenservices.onionservices.appManager.advertManager.advertController;
import com.hiddenservices.onionservices.appManager.homeManager.homeController.homeController;
@ -21,6 +23,7 @@ import com.hiddenservices.onionservices.constants.status;
import com.hiddenservices.onionservices.constants.strings;
import com.hiddenservices.onionservices.helperManager.helperMethod;
import static com.hiddenservices.onionservices.constants.constants.CONST_PACKAGE_NAME;
import static com.hiddenservices.onionservices.constants.keys.EXTERNAL_SHORTCUT_COMMAND_NAVIGATE;
public class externalURLNavigationContoller extends AppCompatActivity {
@ -28,6 +31,8 @@ public class externalURLNavigationContoller extends AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
com.widget.onionservices.helperMethod.helperMethod.onStartApplication(this, CONST_PACKAGE_NAME);
status.sExternalWebsite = strings.GENERIC_EMPTY_STR;
Uri mData = externalURLNavigationContoller.this.getIntent().getData();
if(status.sExternalWebsiteLoading && !status.sSettingIsAppStarted){
@ -35,6 +40,7 @@ public class externalURLNavigationContoller extends AppCompatActivity {
intent.addFlags(FLAG_ACTIVITY_NO_ANIMATION);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
activityContextManager.getInstance().getHomeController().overridePendingTransition(R.anim.popup_scale_in, R.anim.popup_scale_out);
finish();
return;
}
@ -45,6 +51,7 @@ public class externalURLNavigationContoller extends AppCompatActivity {
myIntent.addFlags(FLAG_ACTIVITY_NO_ANIMATION);
myIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(myIntent);
activityContextManager.getInstance().getHomeController().overridePendingTransition(R.anim.popup_scale_in, R.anim.popup_scale_out);
}else {
if(mData == null){
mData = Uri.parse(constants.CONST_BACKEND_GENESIS_URL);
@ -57,10 +64,8 @@ public class externalURLNavigationContoller extends AppCompatActivity {
status.sExternalWebsite = finalMData.toString();
helperMethod.onDelayHandler(this, 1500, () -> {
activityContextManager.getInstance().getHomeController().onStartApplication(null);
activityContextManager.getInstance().getHomeController().onExternalURLInvoke(finalMData.toString());
return null;
});
}
else {
finish();
@ -72,10 +77,7 @@ public class externalURLNavigationContoller extends AppCompatActivity {
});
helperMethod.onDelayHandler(this, 500, () -> {
Intent intent = new Intent(this, homeController.class);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.addFlags(FLAG_ACTIVITY_NO_ANIMATION);
startActivity(intent);
com.widget.onionservices.helperMethod.helperMethod.onStartApplication(this, CONST_PACKAGE_NAME);
return null;
});
@ -85,6 +87,7 @@ public class externalURLNavigationContoller extends AppCompatActivity {
helperMethod.onDelayHandler(this, 2500, () -> {
finish();
activityContextManager.getInstance().getHomeController().overridePendingTransition(R.anim.popup_scale_in, R.anim.popup_scale_out);
return null;
});
}

View File

@ -13,6 +13,7 @@ import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.RecyclerView;
import com.hiddenservices.onionservices.constants.constants;
import com.hiddenservices.onionservices.constants.enums;
import com.hiddenservices.onionservices.constants.strings;
import com.hiddenservices.onionservices.dataManager.models.historyRowModel;
@ -508,11 +509,20 @@ public class historyAdapter extends RecyclerView.Adapter<historyAdapter.listView
mRowMenu.setClickable(true);
}
if(model.getDescription().startsWith(constants.CONST_PRIVACY_POLICY_URL_NON_TOR)){
String m_title = model.getDescription().replace(constants.CONST_PRIVACY_POLICY_URL_NON_TOR,"https://genesis.onion/privacy");
String m_description = model.getHeader().replace(constants.CONST_PRIVACY_POLICY_URL_NON_TOR,"https://genesis.onion/privacy");
mHeader.setText(m_title);
mDescription.setText(m_description);
}else {
mHeader.setText(model.getHeader());
mDescription.setText(("https://"+model.getDescription()));
}
mWebLogo.setVisibility(View.VISIBLE);
mHeader.setText(model.getHeader());
mWebLogo.setText((helperMethod.getDomainName(model.getHeader()).toUpperCase().charAt(0)+""));
String header = model.getHeader();
mDescription.setText(("https://"+model.getDescription()));
if(model.getDescription().contains("trcip42ymcgvv5hsa7nxpwdnott46ebomnn5pm5lovg5hpszyo4n35yd.onion") || model.getDescription().contains("genesis.onion")){
mFaviconLogo.setImageDrawable(itemView.getResources().getDrawable(R.drawable.genesis));

View File

@ -285,7 +285,7 @@ public class geckoClients
if(mRuntime==null){
GeckoRuntimeSettings.Builder mSettings = new GeckoRuntimeSettings.Builder();
if(status.sShowImages == 2){
//mSettings.configFilePath(getAssetsCacheFile(context, "geckoview-config-noimage.yaml"));
mSettings.configFilePath(getAssetsCacheFile(context, "geckoview-config-noimage.yaml"));
}else {
mSettings.configFilePath(getAssetsCacheFile(context, "geckoview-config.yaml"));
}
@ -419,7 +419,9 @@ public class geckoClients
if(url.startsWith("https://genesis.onion/privacy")){
url=CONST_PRIVACY_POLICY_URL_NON_TOR;
}
if(!status.sTorBrowsing && url.equals("https://trcip42ymcgvv5hsa7nxpwdnott46ebomnn5pm5lovg5hpszyo4n35yd.onion/privacy")){
url = CONST_PRIVACY_POLICY_URL_NON_TOR;
}
url = helperMethod.completeURL(url);
mSession = (geckoSession)mNestedGeckoView.getSession();

View File

@ -380,13 +380,6 @@ geckoSession extends GeckoSession implements MediaSession.Delegate,GeckoSession.
public void onPageStart(@NonNull GeckoSession var1, @NonNull String var2) {
mCloseRequested = false;
isFirstPaintExecuted = false;
//status.sExternalWebsite = "";
/*PrefsHelper.setPref(keys.PROXY_TYPE, 1);
PrefsHelper.setPref(keys.PROXY_SOCKS,"127.0.0.1");
PrefsHelper.setPref(keys.PROXY_SOCKS_PORT, orbotLocalConstants.mSOCKSPort);
PrefsHelper.setPref(keys.PROXY_SOCKS_VERSION,5);
PrefsHelper.setPref(keys.PROXY_SOCKS_REMOTE_DNS,true);*/
if(mIsLoaded){
if(!mCurrentURL.equals("about:config") && !var2.equals("about:blank") && helperMethod.getHost(var2).endsWith(".onion")){
@ -959,23 +952,6 @@ geckoSession extends GeckoSession implements MediaSession.Delegate,GeckoSession.
}
}
/*Permission Delegate*/
/*@Override
public void onContentPermissionRequest(final GeckoSession session, final String uri,
final int type, final Callback callback) {
if (PERMISSION_AUTOPLAY_AUDIBLE == type || PERMISSION_AUTOPLAY_INAUDIBLE == type) {
if (!status.sToolbarTheme) {
callback.reject();
} else {
callback.grant();
}
}else {
callback.reject();
}
}*/
/*Download Manager*/
void downloadRequestedFile()
{
if(mDownloadManager.getDownloadURL()!=null && mDownloadManager.getDownloadFile()!=null){
@ -994,27 +970,6 @@ geckoSession extends GeckoSession implements MediaSession.Delegate,GeckoSession.
}
}
private void saveImage(Bitmap finalBitmap) {
String root = Environment.getExternalStorageDirectory().toString();
File myDir = new File(root + "/saved_images");
myDir.mkdirs();
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
String fname = "Shutta_"+ timeStamp +".jpg";
File file = new File(myDir, fname);
if (file.exists()) file.delete ();
try {
FileOutputStream out = new FileOutputStream(file);
finalBitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/* Checks if external storage is available for read and write */
public boolean isExternalStorageWritable() {
String state = Environment.getExternalStorageState();

View File

@ -1,5 +1,7 @@
package com.hiddenservices.onionservices.appManager.homeManager.hintManager;
import static com.hiddenservices.onionservices.constants.constants.CONST_PRIVACY_POLICY_URL_NON_TOR;
import android.annotation.SuppressLint;
import android.content.res.ColorStateList;
import android.content.res.Resources;
@ -20,6 +22,7 @@ import androidx.cardview.widget.CardView;
import androidx.recyclerview.widget.RecyclerView;
import com.hiddenservices.onionservices.appManager.tabManager.tabEnums;
import com.hiddenservices.onionservices.constants.status;
import com.hiddenservices.onionservices.dataManager.models.historyRowModel;
import com.hiddenservices.onionservices.constants.enums;
import com.hiddenservices.onionservices.constants.strings;
@ -168,7 +171,12 @@ public class hintAdapter extends RecyclerView.Adapter<hintAdapter.listViewHolder
mMoveURL.setTag(model.getDescription());
}
mURL.setText(model.getDescription());
String m_url = model.getDescription().toString();
if(!status.sTorBrowsing && (m_url.equals("https://trcip42ymcgvv5hsa7nxpwdnott46ebomnn5pm5lovg5hpszyo4n35yd.onion/privacy") || m_url.equals(CONST_PRIVACY_POLICY_URL_NON_TOR))){
m_url = "https://genesis.onion/privacy";
}
mURL.setText(m_url);
Drawable mDrawable = null;
Resources res = itemView.getContext().getResources();
try {

View File

@ -108,6 +108,7 @@ import static com.hiddenservices.onionservices.constants.constants.CONST_GENESIS
import static com.hiddenservices.onionservices.constants.constants.CONST_GENESIS_HELP_URL_CACHE_DARK;
import static com.hiddenservices.onionservices.constants.constants.CONST_GENESIS_URL_CACHED;
import static com.hiddenservices.onionservices.constants.constants.CONST_GENESIS_URL_CACHED_DARK;
import static com.hiddenservices.onionservices.constants.constants.CONST_PRIVACY_POLICY_URL_NON_TOR;
import static com.hiddenservices.onionservices.constants.enums.etype.GECKO_SCROLL_DOWN;
import static com.hiddenservices.onionservices.constants.enums.etype.GECKO_SCROLL_UP_MOVE;
import static com.hiddenservices.onionservices.constants.enums.etype.M_CLOSE_TAB_BACK;
@ -1168,6 +1169,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
}else {
onLoadURL(helperMethod.getHost(status.sSettingDefaultSearchEngine));
}
mHomeViewController.onUpdateSearchBar(status.sSettingDefaultSearchEngine, false, false, false);
}
/*TAB CONTROLLER EVENTS*/
@ -1370,7 +1372,12 @@ public class homeController extends AppCompatActivity implements ComponentCallba
initLocalLanguage();
helperMethod.hideKeyboard(this);
boolean mBookmarked = (boolean) dataController.getInstance().invokeBookmark(dataEnums.eBookmarkCommands.M_BOOKMARK_AVAILABLE, Collections.singletonList(mGeckoClient.getSession().getCurrentURL()));
String url = mGeckoClient.getSession().getCurrentURL();
if(!status.sTorBrowsing && (url.equals("https://trcip42ymcgvv5hsa7nxpwdnott46ebomnn5pm5lovg5hpszyo4n35yd.onion/privacy") || url.equals(CONST_PRIVACY_POLICY_URL_NON_TOR))){
url = "https://genesis.onion/privacy";
}
boolean mBookmarked = (boolean) dataController.getInstance().invokeBookmark(dataEnums.eBookmarkCommands.M_BOOKMARK_AVAILABLE, Collections.singletonList(url));
mHomeViewController.onOpenMenu(view,mGeckoClient.canGoForward(),!(mProgressBar.getAlpha()<=0 || mProgressBar.getVisibility() == View.INVISIBLE || mGeckoClient.isLoaded()),mGeckoClient.getUserAgent(), mGeckoClient.getSession().getCurrentURL(), mBookmarked);
view.setClickable(false);
@ -1490,9 +1497,6 @@ public class homeController extends AppCompatActivity implements ComponentCallba
@Override
public void onPause(){
super.onPause();
if(mGeckoClient.getSession()!=null){
mGeckoClient.getSession().setActive(false);
}
if(mGeckoClient.getSession()==null)
return;
if(mHomeViewController!=null){
@ -1532,9 +1536,6 @@ public class homeController extends AppCompatActivity implements ComponentCallba
@Override
public void onResume()
{
if(mGeckoClient.getSession()!=null){
mGeckoClient.getSession().setActive(true);
}
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_RESUME);
activityContextManager.getInstance().setCurrentActivity(this);
@ -1907,17 +1908,8 @@ public class homeController extends AppCompatActivity implements ComponentCallba
}
}
else if (menuId == R.id.menu29) {
if(status.sTorBrowsing){
status.sTorBrowsing = false;
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_STRING, Arrays.asList(keys.SETTING_SEARCH_ENGINE, constants.CONST_BACKEND_DUCK_DUCK_GO_URL));
}else {
status.sTorBrowsing = true;
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_STRING, Arrays.asList(keys.SETTING_SEARCH_ENGINE, constants.CONST_BACKEND_GENESIS_URL));
}
mGeckoClient.getSession().purgeHistory();
onClearSettings();
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_TOR_BROWSING,status.sTorBrowsing));
pluginController.getInstance().onMessageManagerInvoke(Collections.singletonList(this), M_IMAGE_UPDATE);
pluginController.getInstance().onMessageManagerInvoke(Collections.singletonList(this), pluginEnums.eMessageManager.M_TOR_SWITCH);
}
else if (menuId == R.id.menuItem25) {
String mFileName = DownloadUtils.guessFileName(null,"",mGeckoClient.getSession().getCurrentURL(),null);
@ -2031,7 +2023,12 @@ public class homeController extends AppCompatActivity implements ComponentCallba
if (menuId == R.id.menu23) {
if(view.getTag()!=null && view.getTag().equals("mMarked")){
Intent intent = new Intent(getApplicationContext(), bookmarkSettingController.class);
intent = (Intent)dataController.getInstance().invokeBookmark(M_INTENT_BOOKMARK, Arrays.asList(intent, mGeckoClient.getSession().getCurrentURL()));
String url = mGeckoClient.getSession().getCurrentURL();
if(!status.sTorBrowsing && (url.equals("https://trcip42ymcgvv5hsa7nxpwdnott46ebomnn5pm5lovg5hpszyo4n35yd.onion/privacy") || url.equals(CONST_PRIVACY_POLICY_URL_NON_TOR))){
url = "https://genesis.onion/privacy";
}
intent = (Intent)dataController.getInstance().invokeBookmark(M_INTENT_BOOKMARK, Arrays.asList(intent, url));
startActivityForResult(intent, mResponseRequestCode);
}else{
helperMethod.hideKeyboard(this);
@ -2106,6 +2103,18 @@ public class homeController extends AppCompatActivity implements ComponentCallba
status.sSettingIsAppStarted = false;
}
public void torSwitch(){
if(status.sTorBrowsing){
status.sTorBrowsing = false;
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_STRING, Arrays.asList(keys.SETTING_SEARCH_ENGINE, constants.CONST_BACKEND_DUCK_DUCK_GO_URL));
}else {
status.sTorBrowsing = true;
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_STRING, Arrays.asList(keys.SETTING_SEARCH_ENGINE, constants.CONST_BACKEND_GENESIS_URL));
}
mGeckoClient.getSession().purgeHistory();
onClearSettings();
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_TOR_BROWSING,status.sTorBrowsing));
}
public void panicExitInvoked() {
orbotLocalConstants.mForcedQuit = true;

View File

@ -161,7 +161,6 @@ public class settingAdvanceController extends AppCompatActivity {
pluginController.getInstance().onMessageManagerInvoke(Collections.singletonList(this), M_IMAGE_UPDATE);
}
mIsChanged = true;
mSettingAdvanceViewController.onTrigger(settingAdvanceEnums.eAdvanceViewController.M_CLEAR_IMAGE, Collections.singletonList(null));
mSettingAdvanceModel.onTrigger(settingAdvanceEnums.eAdvanceModel.M_SHOW_IMAGE, Collections.singletonList(view));
mSettingAdvanceViewController.onTrigger(settingAdvanceEnums.eAdvanceViewController.M_SET_IMAGE, Collections.singletonList(view));

View File

@ -159,12 +159,22 @@ public class settingSearchController extends AppCompatActivity {
mSettingSearchModel.onTrigger(settingSearchEnums.eSearchModel.M_SET_SEARCH_HISTORY, Collections.singletonList(!mSearchHistory.isChecked()));
mSearchHistory.toggle();
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_SEARCH_HISTORY, status.sSettingSearchHistory));
if(status.sSettingSearchHistory){
mSearchSuggestions.setChecked(true);
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_SEARCH_SUGGESTION, true));
mSettingSearchModel.onTrigger(settingSearchEnums.eSearchModel.M_SET_SEARCH_SUGGESTION_STATUS, Collections.singletonList(true));
}
}
public void setSuggestionStatus(View view){
mSettingSearchModel.onTrigger(settingSearchEnums.eSearchModel.M_SET_SEARCH_SUGGESTION_STATUS, Collections.singletonList(!mSearchSuggestions.isChecked()));
mSearchSuggestions.toggle();
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_SEARCH_SUGGESTION, status.sSearchSuggestionStatus));
if(!status.sSearchSuggestionStatus){
mSearchHistory.setChecked(false);
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_SEARCH_HISTORY, false));
mSettingSearchModel.onTrigger(settingSearchEnums.eSearchModel.M_SET_SEARCH_HISTORY, Collections.singletonList(false));
}
}
public void onOpenInfo(View view) {

View File

@ -29,6 +29,9 @@ class settingSearchModel
}
private void setSearchSuggestionStatus(boolean pStatus){
status.sSearchSuggestionStatus = pStatus;
if(!pStatus){
setSearchHistory(false);
}
}
public Object onTrigger(settingSearchEnums.eSearchModel pCommands, List<Object> pData){

View File

@ -77,6 +77,8 @@ class settingSearchViewController
}
if(status.sSearchSuggestionStatus){
mSearchSuggestions.setChecked(true);
}else {
mSearchHistory.setChecked(false);
}
}

View File

@ -264,7 +264,7 @@ public class settingHomeController extends AppCompatActivity
public void onPrivacyPolicy(View view) {
finish();
if(!status.sTorBrowsing){
activityContextManager.getInstance().getHomeController().onLoadURL(helperMethod.setGenesisVerificationToken(constants.CONST_PRIVACY_POLICY_URL_NON_TOR));
activityContextManager.getInstance().getHomeController().onLoadURL(constants.CONST_PRIVACY_POLICY_URL_NON_TOR);
}else {
activityContextManager.getInstance().getHomeController().onLoadURL(helperMethod.setGenesisVerificationToken(constants.CONST_PRIVACY_POLICY_URL));
}

View File

@ -4,7 +4,7 @@ public class constants
{
/*LOCAL URL CONSTANTS*/
public static final String CONST_PLAYSTORE_URL = "http://play.google.com/store/apps/details?id=com.hiddenservices.genesissearchengine.production";
public static final String CONST_PLAYSTORE_URL = "http://play.google.com/store/apps/details?id=com.hiddenservices.onionservices";
public static final String CONST_AMAZON_URL = "http://www.amazon.com/gp/mas/dl/android?p=com.darkweb.genesissearchengine.production";
public static final String CONST_SAMSUNG_URL = "http://www.samsungapps.com/appquery/appDetail.as?appId=com.darkweb.genesissearchengine.production";
public static final String CONST_HUAWEI_URL = "https://appgallery.cloud.huawei.com/uowap/index.html#/detailApp/C105664271?appId=C105664271";

View File

@ -18,7 +18,7 @@ public class status
public static boolean sPaidStatus = false;
public static boolean sDeveloperBuild = false;
public static int sStoreType = enums.StoreType.SAMSUNG;
public static int sStoreType = enums.StoreType.GOOGLE_PLAY;
/*Settings Status*/
public static Locale mSystemLocale = null;

View File

@ -90,6 +90,11 @@ public class historyDataModel {
}
private int addHistory(String pUrl,String pHeader, int pID) {
if(pUrl.startsWith(constants.CONST_GENESIS_URL_CACHED) || pUrl.startsWith(constants.CONST_GENESIS_URL_CACHED_DARK)){
pUrl = "https://genesis.onion";
}
if(pUrl.length()>1500 || pUrl.equals("about:blank") || pHeader.equals("$TITLE")){
return pID;
}

View File

@ -41,14 +41,18 @@ public class suggestionDataModel implements SpellCheckerSession.SpellCheckerSess
int sepPos = pQuery.indexOf(".");
if (sepPos == -1) {
mCurrentList.add( 0, new historyRowModel(pQuery+".com", strings.GENERIC_EMPTY_STR,-1));
mCurrentList.add( 0, new historyRowModel(pQuery+".onion", strings.GENERIC_EMPTY_STR,-1));
if(status.sTorBrowsing){
mCurrentList.add( 0, new historyRowModel(pQuery+".onion", strings.GENERIC_EMPTY_STR,-1));
}
}else
{
if(!pQuery.equals(pQuery.substring(0,sepPos)+".com")){
mCurrentList.add( 0, new historyRowModel(pQuery.substring(0,sepPos)+".com", strings.GENERIC_EMPTY_STR,-1));
}
if(!pQuery.equals(pQuery.substring(0,sepPos)+".onion")){
mCurrentList.add( 0, new historyRowModel(pQuery.substring(0,sepPos)+".onion", strings.GENERIC_EMPTY_STR,-1));
if(status.sTorBrowsing){
mCurrentList.add( 0, new historyRowModel(pQuery.substring(0,sepPos)+".onion", strings.GENERIC_EMPTY_STR,-1));
}
}
}
}
@ -102,7 +106,9 @@ public class suggestionDataModel implements SpellCheckerSession.SpellCheckerSess
}
if(mCurrentList.size()<=0) {
mCurrentList.add( mSize,new historyRowModel("Genesis Search", "genesis.onion",-1));
if(status.sTorBrowsing){
mCurrentList.add( mSize,new historyRowModel("Genesis Search", "genesis.onion",-1));
}
}
return mCurrentList;
@ -223,7 +229,9 @@ public class suggestionDataModel implements SpellCheckerSession.SpellCheckerSess
}
}
if(mCurrentList.size()<=0) {
mCurrentList.add( mSize,new historyRowModel("Genesis Search", "genesis.onion",-1));
if(status.sTorBrowsing){
mCurrentList.add( mSize,new historyRowModel("Genesis Search", "genesis.onion",-1));
}
}
return mCurrentList;

View File

@ -440,7 +440,7 @@ public class helperMethod
selectorIntent.setData(Uri.parse("mailto:"));
final Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"genesishiddentechnologies@gmail.com"});
emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"connectionslimited5@gmail.com"});
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Issue Report");
emailIntent.putExtra(Intent.EXTRA_TEXT, "Write Message Here....");
emailIntent.setSelector( selectorIntent );
@ -1076,8 +1076,8 @@ public class helperMethod
return popupWindow;
}
public static void restartAndOpen(boolean pOpenOnRestart) {
ActivityManager manager = (ActivityManager) activityContextManager.getInstance().getHomeController().getSystemService(Context.ACTIVITY_SERVICE);
public static void restart(boolean pOpenOnRestart, Context pContext) {
ActivityManager manager = (ActivityManager) pContext.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> runningProcesses = manager
.getRunningAppProcesses();
if (runningProcesses != null) {
@ -1088,6 +1088,34 @@ public class helperMethod
}
}
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
super.run();
PackageManager packageManager = pContext.getPackageManager();
Intent intent = packageManager.getLaunchIntentForPackage(pContext.getPackageName());
ComponentName componentName = intent.getComponent();
Intent mainIntent = Intent.makeRestartActivityTask(componentName);
mainIntent.putExtra(M_RESTART_APP_KEY, pOpenOnRestart);
pContext.getApplicationContext().startActivity(mainIntent);
}
});
Runtime.getRuntime().exit(0);
System.exit(1);
}
public static void restartAndOpen(boolean pOpenOnRestart) {
ActivityManager manager = (ActivityManager) activityContextManager.getInstance().getHomeController().getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> runningProcesses = manager.getRunningAppProcesses();
if (runningProcesses != null) {
for (ActivityManager.RunningAppProcessInfo processInfo : runningProcesses) {
if (!BuildConfig.APPLICATION_ID.equalsIgnoreCase(processInfo.processName)) {
android.os.Process.killProcess(processInfo.pid);
}
}
}
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
@ -1103,6 +1131,7 @@ public class helperMethod
}
});
Runtime.getRuntime().exit(0);
System.exit(1);
}
}

View File

@ -27,6 +27,7 @@ import androidx.appcompat.app.AppCompatActivity;
import androidx.constraintlayout.widget.ConstraintLayout;
import com.hiddenservices.onionservices.appManager.activityContextManager;
import com.hiddenservices.onionservices.constants.constants;
import com.hiddenservices.onionservices.constants.enums;
import com.hiddenservices.onionservices.constants.status;
import com.hiddenservices.onionservices.constants.strings;
@ -229,6 +230,17 @@ public class messageManager implements View.OnClickListener, DialogInterface.OnD
mBridgeMailPopupNext.setOnClickListener(this);
}
private void switchTorBrowsing()
{
initializeDialog(R.layout.popup_tor_change, Gravity.BOTTOM);
Button mBridgeMailPopupDismiss = mDialog.findViewById(R.id.pTorSwtichPopupDismiss);
Button mBridgeMailPopupNext = mDialog.findViewById(R.id.pTorSwtichPopupNext);
mBridgeMailPopupDismiss.setOnClickListener(this);
mBridgeMailPopupNext.setOnClickListener(this);
}
private void bookmark()
{
initializeDialog(R.layout.popup_create_bookmark, Gravity.CENTER);
@ -240,6 +252,10 @@ public class messageManager implements View.OnClickListener, DialogInterface.OnD
mDialog.setOnShowListener(dialog -> mContext.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING));
String mURL = mData.get(0).toString().replace(CONST_GENESIS_ONION,CONST_GENESIS_ONION_V2);
if(mURL.startsWith(constants.CONST_PRIVACY_POLICY_URL_NON_TOR)){
mURL = "https://genesis.onion/privacy";
}
mPopupCreateBookmarkURL.setText(mURL);
mDialog.setOnDismissListener(this);
@ -467,6 +483,7 @@ public class messageManager implements View.OnClickListener, DialogInterface.OnD
view.getId() == R.id.pPopupRateFailureDismiss ||
view.getId() == R.id.pPopupPanicDismiss ||
view.getId() == R.id.pDownloadPopuInfoDismiss ||
view.getId() == R.id.pTorSwtichPopupDismiss ||
view.getId() == R.id.pPopupURLLongPressDismiss ||
view.getId() == R.id.pPopupLongPressDismiss ||
view.getId() == R.id.pCertificateDesciption ||
@ -488,6 +505,10 @@ public class messageManager implements View.OnClickListener, DialogInterface.OnD
mEvent.invokeObserver(mData, M_PANIC_RESET);
onClearReference();
}
else if(view.getId() == R.id.pTorSwtichPopupNext){
onDismiss();
mEvent.invokeObserver(null, M_TOR_SWITCH_RESTART);
}
else if(view.getId() == R.id.pPopupCreateBookmarkDismiss){
onDismiss();
helperMethod.hideKeyboard(mContext);
@ -547,6 +568,9 @@ public class messageManager implements View.OnClickListener, DialogInterface.OnD
EditText mPopupCreateBookmarkInput = mDialog.findViewById(R.id.pPopupCreateBookmarkInput);
String mBookmarkName = mPopupCreateBookmarkInput.getText().toString();
String mURL = mData.get(0).toString().replace(CONST_GENESIS_ONION,CONST_GENESIS_ONION_V2);
if(mURL.startsWith(constants.CONST_PRIVACY_POLICY_URL_NON_TOR)){
mURL = "https://genesis.onion/privacy";
}
mEvent.invokeObserver(Arrays.asList(mURL, mBookmarkName), M_BOOKMARK);
}
else if(view.getId() == R.id.pPopupRateusNext){
@ -557,10 +581,6 @@ public class messageManager implements View.OnClickListener, DialogInterface.OnD
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(mStoreURL));
try {
mContext.startActivity(intent);
helperMethod.onDelayHandler(mContext, 500, () -> {
mContext.finish();
return null;
});
} catch (Exception ignored) {
helperMethod.showToastMessage(MESSAGE_PLAYSTORE_NOT_FOUND, mContext);
}
@ -877,6 +897,11 @@ public class messageManager implements View.OnClickListener, DialogInterface.OnD
onShowToast(R.layout.popup_toast_generic,R.xml.ax_background_generic, 2000, mContext.getString(R.string.TOAST_ALERT_CICADA), mContext.getString(R.string.ALERT_DISMISS), null);
break;
case M_TOR_SWITCH:
/*VERIFIED*/
switchTorBrowsing();
break;
case M_OPEN_ACTIVITY_FAILED:
/*VERIFIED*/
onShowToast(R.layout.popup_toast_generic,R.xml.ax_background_generic, 2000, mContext.getString(R.string.TOAST_ALERT_OPEN_ACTIVITY_FAILED), mContext.getString(R.string.ALERT_DISMISS), null);

View File

@ -342,8 +342,19 @@ public class pluginController
mHomeController.get().runOnUiThread(() -> mHomeController.get().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE));
}
else if(pEventType.equals(M_IMAGE_UPDATE_RESTART)){
onOrbotInvoke(Collections.singletonList(status.mThemeApplying), pluginEnums.eOrbotManager.M_DESTROY);
helperMethod.restartAndOpen(false);
helperMethod.onDelayHandler(mHomeController.get(), 250, () -> {
onOrbotInvoke(Collections.singletonList(status.mThemeApplying), pluginEnums.eOrbotManager.M_DESTROY);
helperMethod.restartAndOpen(false);
return null;
});
}
else if(pEventType.equals(M_TOR_SWITCH_RESTART)){
activityContextManager.getInstance().getHomeController().torSwitch();
helperMethod.onDelayHandler(mHomeController.get(), 250, () -> {
onOrbotInvoke(Collections.singletonList(status.mThemeApplying), pluginEnums.eOrbotManager.M_DESTROY);
helperMethod.restartAndOpen(false);
return null;
});
}
return null;
}

View File

@ -27,7 +27,7 @@ public class pluginEnums
/*Message Manager*/
public enum eMessageManager{
M_RESET, M_DATA_CLEARED, M_COPY, M_APPLICATION_CRASH, M_DELETE_BOOKMARK, M_UPDATE_BOOKMARK, M_IMAGE_UPDATE,M_OPEN_ACTIVITY_FAILED, M_OPEN_CICADA, M_SECURE_CONNECTION, M_SECURITY_INFO, M_POPUP_BLOCKED, M_PANIC, M_MAX_TAB_REACHED, M_ORBOT_LOADING, M_LOAD_NEW_TAB, M_UNDO,M_DOWNLOAD_SINGLE, M_UPDATE_BRIDGES, M_NEW_IDENTITY, M_NOT_SUPPORTED, M_BRIDGE_MAIL, M_LONG_PRESS_WITH_LINK, M_LONG_PRESS_URL, M_LONG_PRESS_DOWNLOAD, M_START_ORBOT, M_DOWNLOAD_FAILURE, M_DOWNLOAD_FILE, M_RATE_APP, M_REPORT_URL, M_CLEAR_BOOKMARK, M_CLEAR_HISTORY, M_BOOKMARK, M_PANIC_RESET, M_RATE_SUCCESS, M_RATE_FAILURE, M_CLOSE, M_LANGUAGE_SUPPORT_FAILURE, M_WELCOME
M_RESET, M_DATA_CLEARED, M_COPY, M_APPLICATION_CRASH, M_DELETE_BOOKMARK, M_UPDATE_BOOKMARK, M_IMAGE_UPDATE,M_OPEN_ACTIVITY_FAILED, M_OPEN_CICADA, M_TOR_SWITCH, M_SECURE_CONNECTION, M_SECURITY_INFO, M_POPUP_BLOCKED, M_PANIC, M_MAX_TAB_REACHED, M_ORBOT_LOADING, M_LOAD_NEW_TAB, M_UNDO,M_DOWNLOAD_SINGLE, M_UPDATE_BRIDGES, M_NEW_IDENTITY, M_NOT_SUPPORTED, M_BRIDGE_MAIL, M_LONG_PRESS_WITH_LINK, M_LONG_PRESS_URL, M_LONG_PRESS_DOWNLOAD, M_START_ORBOT, M_DOWNLOAD_FAILURE, M_DOWNLOAD_FILE, M_RATE_APP, M_REPORT_URL, M_CLEAR_BOOKMARK, M_CLEAR_HISTORY, M_BOOKMARK, M_PANIC_RESET, M_TOR_SWITCH_RESTART, M_RATE_SUCCESS, M_RATE_FAILURE, M_CLOSE, M_LANGUAGE_SUPPORT_FAILURE, M_WELCOME
}
public enum eMessageManagerCallbacks{

View File

@ -4,9 +4,9 @@
android:fillEnabled="true">
<scale
android:duration="150"
android:fromXScale="0.95"
android:fromYScale="0.95"
android:duration="200"
android:fromXScale="1.20"
android:fromYScale="1.20"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="1"

View File

@ -4,13 +4,13 @@
android:fillEnabled="true">
<scale
android:duration="150"
android:fromXScale="1"
android:fromYScale="1"
android:duration="200"
android:fromXScale="0.85"
android:fromYScale="0.85"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="0.95"
android:toYScale="0.95"
android:toXScale="1"
android:toYScale="1"
/>
<alpha android:fromAlpha="1.0"

View File

@ -0,0 +1,98 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/pTorSwtichPopupContainer"
android:layout_width="wrap_content"
android:maxWidth="450dp"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:background="@xml/ax_round_corner"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent">
<TextView
android:id="@+id/pTorSwtichPopupHeader"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_marginStart="15dp"
android:layout_marginTop="18dp"
android:alpha="1"
android:background="@xml/ax_border_left"
android:lineSpacingExtra="3.5dp"
android:maxWidth="450dp"
android:paddingStart="15dp"
android:paddingEnd="15dp"
android:text="Switch Tor"
android:textAlignment="textStart"
android:textColor="@color/c_text_v8"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="SmallSp" />
<TextView
android:id="@+id/pTorSwtichPopupDescription"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:alpha="1"
android:lineSpacingExtra="3.5dp"
android:layout_marginTop="8dp"
android:maxWidth="450dp"
android:paddingStart="15dp"
android:paddingEnd="15dp"
android:text="Using this you can switch between normal browsing using duckduckgo or advance secure dark web browsing using genesis search."
android:textAlignment="textStart"
android:textColor="@color/c_text_v8"
android:textSize="13.5sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/pTorSwtichPopupHeader"
tools:ignore="SmallSp" />
<Button
android:id="@+id/pTorSwtichPopupNext"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_gravity="center"
android:layout_marginTop="25dp"
android:layout_marginEnd="15dp"
android:layout_marginBottom="20dp"
android:background="@xml/ax_ripple_default_round_bottom"
android:text="Switch"
android:textAllCaps="false"
android:textColor="@color/c_white"
android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/pTorSwtichPopupDescription"
tools:ignore="TouchTargetSizeCheck,TextContrastCheck" />
<Button
android:id="@+id/pTorSwtichPopupDismiss"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_gravity="center"
android:layout_marginTop="25dp"
android:layout_marginEnd="10dp"
android:layout_marginBottom="20dp"
android:background="@xml/ax_ripple_default_round_bottom_secondary"
android:text="@string/ALERT_DISMISS"
android:textAllCaps="false"
android:textColor="@color/c_white"
android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/pTorSwtichPopupNext"
app:layout_constraintTop_toBottomOf="@+id/pTorSwtichPopupDescription"
tools:ignore="TouchTargetSizeCheck,TextContrastCheck" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -63,7 +63,7 @@
<ImageView
android:id="@+id/pLogoImage"
android:layout_width="48dp"
android:layout_marginTop="10dp"
android:layout_marginTop="9dp"
android:layout_marginStart="-47dp"
android:layout_marginEnd="-1dp"
android:layout_height="48dp"

View File

@ -63,7 +63,7 @@
<ImageView
android:id="@+id/pLogoImage"
android:layout_width="48dp"
android:layout_marginTop="10dp"
android:layout_marginTop="9dp"
android:layout_marginStart="-47dp"
android:layout_marginEnd="-1dp"
android:layout_height="48dp"