Bug Fixes

Bug Fixes
master
Abdul Mannan Saeed 2022-04-18 12:00:09 -07:00
parent 9f82ab7969
commit b434a62b26
56 changed files with 485 additions and 278 deletions

View File

@ -9,6 +9,7 @@
<inspection_tool class="CatchMayIgnoreException" enabled="false" level="WARNING" enabled_by_default="false" /> <inspection_tool class="CatchMayIgnoreException" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CodeBlock2Expr" enabled="false" level="WARNING" enabled_by_default="false" /> <inspection_tool class="CodeBlock2Expr" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CollectionAddAllCanBeReplacedWithConstructor" enabled="false" level="WARNING" enabled_by_default="false" /> <inspection_tool class="CollectionAddAllCanBeReplacedWithConstructor" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CommentedOutCode" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="ConstantConditions" enabled="false" level="WARNING" enabled_by_default="false"> <inspection_tool class="ConstantConditions" enabled="false" level="WARNING" enabled_by_default="false">
<option name="SUGGEST_NULLABLE_ANNOTATIONS" value="false" /> <option name="SUGGEST_NULLABLE_ANNOTATIONS" value="false" />
<option name="DONT_REPORT_TRUE_ASSERT_STATEMENTS" value="false" /> <option name="DONT_REPORT_TRUE_ASSERT_STATEMENTS" value="false" />
@ -49,6 +50,7 @@
<option name="processLiterals" value="true" /> <option name="processLiterals" value="true" />
<option name="processComments" value="true" /> <option name="processComments" value="true" />
</inspection_tool> </inspection_tool>
<inspection_tool class="StringBufferReplaceableByStringBuilder" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="StringConcatenationInLoops" enabled="false" level="WARNING" enabled_by_default="false" /> <inspection_tool class="StringConcatenationInLoops" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="SuspiciousListRemoveInLoop" enabled="false" level="WARNING" enabled_by_default="false" /> <inspection_tool class="SuspiciousListRemoveInLoop" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="SuspiciousMethodCalls" enabled="false" level="WARNING" enabled_by_default="false"> <inspection_tool class="SuspiciousMethodCalls" enabled="false" level="WARNING" enabled_by_default="false">

View File

@ -78,7 +78,15 @@
<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_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_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/tab/layout/tab_view.xml" value="0.203125" />
<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/home_view.xml" value="0.33" />
<entry key="..\:/workspace/Genesis-Android/app/src/main/res/layouts/home/layout/notification_menu.xml" value="0.14791666666666667" />
<entry key="..\:/workspace/Genesis-Android/app/src/main/res/layouts/home/layout/popup_search_view.xml" value="0.14791666666666667" />
<entry key="..\:/workspace/Genesis-Android/app/src/main/res/layouts/home/layout/popup_side_menu.xml" value="1.0" />
<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/tab/layout/tab_grid_view.xml" value="0.67" />
<entry key="..\:/workspace/Genesis-Android/app/src/main/res/menu/menu_main.xml" value="0.33" />
<entry key="app/src/main/res/layouts/home/layout/home_view.xml" value="0.15833333333333333" /> <entry key="app/src/main/res/layouts/home/layout/home_view.xml" value="0.15833333333333333" />
<entry key="app/src/main/res/layouts/home/layout/popup_search_view.xml" value="0.67" /> <entry key="app/src/main/res/layouts/home/layout/popup_search_view.xml" value="0.67" />
</map> </map>

View File

@ -145,7 +145,7 @@ public class bridgeController extends AppCompatActivity implements View.OnFocusC
mBridgeModel.onTrigger(bridgeEnums.eBridgeModelCommands.M_REQUEST_BRIDGE, null); mBridgeModel.onTrigger(bridgeEnums.eBridgeModelCommands.M_REQUEST_BRIDGE, null);
pluginController.getInstance().onMessageManagerInvoke(Arrays.asList(constants.CONST_BACKEND_GOOGLE_URL, this), M_BRIDGE_MAIL); pluginController.getInstance().onMessageManagerInvoke(Arrays.asList(constants.CONST_BACKEND_GOOGLE_URL, this), M_BRIDGE_MAIL);
} }
else if(view.getId() == R.id.pBridgeSettingOption2){ else if(view.getId() == R.id.pSearchSettingOption2){
mBridgeModel.onTrigger(bridgeEnums.eBridgeModelCommands.M_MEEK_BRIDGE, null); mBridgeModel.onTrigger(bridgeEnums.eBridgeModelCommands.M_MEEK_BRIDGE, null);
mBridgeViewController.onTrigger(bridgeEnums.eBridgeViewCommands.M_INIT_VIEWS, Arrays.asList(status.sBridgeCustomBridge,250, status.sBridgeCustomType)); mBridgeViewController.onTrigger(bridgeEnums.eBridgeViewCommands.M_INIT_VIEWS, Arrays.asList(status.sBridgeCustomBridge,250, status.sBridgeCustomType));
} }
@ -153,7 +153,7 @@ public class bridgeController extends AppCompatActivity implements View.OnFocusC
mBridgeModel.onTrigger(bridgeEnums.eBridgeModelCommands.M_SNOWFLAKES_BRIDGE, null); mBridgeModel.onTrigger(bridgeEnums.eBridgeModelCommands.M_SNOWFLAKES_BRIDGE, null);
mBridgeViewController.onTrigger(bridgeEnums.eBridgeViewCommands.M_INIT_VIEWS, Arrays.asList(status.sBridgeCustomBridge,250, status.sBridgeCustomType)); mBridgeViewController.onTrigger(bridgeEnums.eBridgeViewCommands.M_INIT_VIEWS, Arrays.asList(status.sBridgeCustomBridge,250, status.sBridgeCustomType));
} }
else if(view.getId() == R.id.pBridgeSettingOption1){ else if(view.getId() == R.id.pSearchSettingOption1){
mBridgeModel.onTrigger(bridgeEnums.eBridgeModelCommands.M_OBFS_CHECK, null); mBridgeModel.onTrigger(bridgeEnums.eBridgeModelCommands.M_OBFS_CHECK, null);
mBridgeViewController.onTrigger(bridgeEnums.eBridgeViewCommands.M_INIT_VIEWS, Arrays.asList(status.sBridgeCustomBridge,250, status.sBridgeCustomType)); mBridgeViewController.onTrigger(bridgeEnums.eBridgeViewCommands.M_INIT_VIEWS, Arrays.asList(status.sBridgeCustomBridge,250, status.sBridgeCustomType));
} }

View File

@ -2,6 +2,8 @@ package com.hiddenservices.onionservices.appManager.externalCommandManager;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.View; import android.view.View;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
@ -39,29 +41,31 @@ public class externalShortcutController extends AppCompatActivity {
case CONST_EXTERNAL_SHORTCUT_COMMAND_ERASE: case CONST_EXTERNAL_SHORTCUT_COMMAND_ERASE:
setContentView(R.layout.popup_data_cleared_shortcut); setContentView(R.layout.popup_data_cleared_shortcut);
panicExitInvoked(); panicExitInvoked();
helperMethod.onDelayHandler(this, 3000, () -> {
finishAndRemoveTask();
return null;
});
return; return;
case constants.CONST_EXTERNAL_SHORTCUT_COMMAND_ERASE_OPEN: case constants.CONST_EXTERNAL_SHORTCUT_COMMAND_ERASE_OPEN:
setContentView(R.layout.empty_view);
panicExitInvoked(); panicExitInvoked();
helperMethod.restartAndOpen(true);
break; break;
case constants.CONST_EXTERNAL_SHORTCUT_COMMAND_RESTART: case constants.CONST_EXTERNAL_SHORTCUT_COMMAND_RESTART:
activityContextManager.getInstance().onClearStack(); helperMethod.restartAndOpen(false);
break; break;
} }
} }
} }
/* Start Required Activity */
helperMethod.openIntent(mIntent, this, constants.CONST_LIST_EXTERNAL_SHORTCUT);
} }
/* UI TRIGGERS */ /* UI TRIGGERS */
public void onUITrigger(View view){ public void onUITrigger(View view){
if(view.getId() == R.id.pDataClearedDismiss){ if(view.getId() == R.id.pDataClearedDismiss){
finishAffinity(); finishAndRemoveTask();
} }
} }
@ -69,9 +73,5 @@ public class externalShortcutController extends AppCompatActivity {
public void panicExitInvoked() { public void panicExitInvoked() {
dataController.getInstance().clearData(this); dataController.getInstance().clearData(this);
helperMethod.onDelayHandler(this, 3000, () -> {
finish();
return null;
});
} }
} }

View File

@ -186,15 +186,17 @@ public class geckoClients
} }
String mYAML = helperMethod.readFromFile(cacheFile.getPath()); String mYAML = helperMethod.readFromFile(cacheFile.getPath());
mYAML = mYAML.replace("# network.proxy.socks: \"127.0.0.1\"","network.proxy.socks: \"127.0.0.1\""); if(status.sTorBrowsing){
mYAML = mYAML.replace("# network.proxy.socks_port: 9050","network.proxy.socks_port: 9050"); mYAML = mYAML.replace("# network.proxy.socks: \"127.0.0.1\"","network.proxy.socks: \"127.0.0.1\"");
mYAML = mYAML.replace("network.proxy.socks: \"127.0.0.1\"","network.proxy.socks: \"127.0.0.1\""); mYAML = mYAML.replace("# network.proxy.socks_port: 9050","network.proxy.socks_port: 9050");
StringBuilder buf = new StringBuilder(mYAML);
int portIndex = mYAML.indexOf("network.proxy.socks_port");
int breakIndex = mYAML.indexOf("\n",portIndex);
mYAML = buf.replace(portIndex, breakIndex,"network.proxy.socks_port: "+ orbotLocalConstants.mSOCKSPort).toString();
helperMethod.writeToFile(cacheFile.getPath(), mYAML);
}
StringBuilder buf = new StringBuilder(mYAML);
int portIndex = mYAML.indexOf("network.proxy.socks_port");
int breakIndex = mYAML.indexOf("\n",portIndex);
mYAML = buf.replace(portIndex, breakIndex,"network.proxy.socks_port: "+ orbotLocalConstants.mSOCKSPort).toString();
helperMethod.writeToFile(cacheFile.getPath(), mYAML);
return cacheFile.getAbsolutePath(); return cacheFile.getAbsolutePath();
@ -408,6 +410,7 @@ public class geckoClients
if(mSession==null){ if(mSession==null){
return; return;
} }
Log.i("FERROR : ", "FERROR" + url);
if(mSession.onGetInitializeFromStartup()){ if(mSession.onGetInitializeFromStartup()){
mSession.initURL(url); mSession.initURL(url);
if(!url.startsWith(CONST_REPORT_URL) && (url.startsWith("http://trcip42ymcgvv5hsa7nxpwdnott46ebomnn5pm5lovg5hpszyo4n35yd.onion/?pG") || url.startsWith("https://trcip42ymcgvv5hsa7nxpwdnott46ebomnn5pm5lovg5hpszyo4n35yd.onion?pG") || url.endsWith("trcip42ymcgvv5hsa7nxpwdnott46ebomnn5pm5lovg5hpszyo4n35yd.onion") || url.endsWith(constants.CONST_GENESIS_DOMAIN_URL_SLASHED))){ if(!url.startsWith(CONST_REPORT_URL) && (url.startsWith("http://trcip42ymcgvv5hsa7nxpwdnott46ebomnn5pm5lovg5hpszyo4n35yd.onion/?pG") || url.startsWith("https://trcip42ymcgvv5hsa7nxpwdnott46ebomnn5pm5lovg5hpszyo4n35yd.onion?pG") || url.endsWith("trcip42ymcgvv5hsa7nxpwdnott46ebomnn5pm5lovg5hpszyo4n35yd.onion") || url.endsWith(constants.CONST_GENESIS_DOMAIN_URL_SLASHED))){

View File

@ -121,6 +121,7 @@ import static com.hiddenservices.onionservices.constants.enums.etype.open_new_ta
import static com.hiddenservices.onionservices.constants.keys.EXTERNAL_SHORTCUT_COMMAND; import static com.hiddenservices.onionservices.constants.keys.EXTERNAL_SHORTCUT_COMMAND;
import static com.hiddenservices.onionservices.constants.keys.EXTERNAL_SHORTCUT_COMMAND_NAVIGATE; import static com.hiddenservices.onionservices.constants.keys.EXTERNAL_SHORTCUT_COMMAND_NAVIGATE;
import static com.hiddenservices.onionservices.constants.keys.M_ACTIVITY_RESPONSE; import static com.hiddenservices.onionservices.constants.keys.M_ACTIVITY_RESPONSE;
import static com.hiddenservices.onionservices.constants.keys.M_RESTART_APP_KEY;
import static com.hiddenservices.onionservices.constants.responses.BOOKMARK_SETTING_CONTROLLER_SHOW_DELETE_ALERT; import static com.hiddenservices.onionservices.constants.responses.BOOKMARK_SETTING_CONTROLLER_SHOW_DELETE_ALERT;
import static com.hiddenservices.onionservices.constants.responses.BOOKMARK_SETTING_CONTROLLER_SHOW_SUCCESS_ALERT; import static com.hiddenservices.onionservices.constants.responses.BOOKMARK_SETTING_CONTROLLER_SHOW_SUCCESS_ALERT;
import static com.hiddenservices.onionservices.constants.sql.SQL_CLEAR_HISTORY; import static com.hiddenservices.onionservices.constants.sql.SQL_CLEAR_HISTORY;
@ -182,6 +183,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
private ImageView mImageDivider; private ImageView mImageDivider;
private ImageButton mPopoupFindCopy; private ImageButton mPopoupFindCopy;
private ImageButton mPopoupFindPaste; private ImageButton mPopoupFindPaste;
private ImageView mTorDisabled;
/*Redirection Objects*/ /*Redirection Objects*/
private GeckoResult<Bitmap> mRenderedBitmap = null; private GeckoResult<Bitmap> mRenderedBitmap = null;
@ -244,6 +246,14 @@ public class homeController extends AppCompatActivity implements ComponentCallba
status.sSettingIsAppRunning = true; status.sSettingIsAppRunning = true;
initPreFixes(); initPreFixes();
initBundle(); initBundle();
initTor();
}
public void initTor(){
if(!status.sTorBrowsing){
onStartApplication(null);
}
} }
public void initBundle(){ public void initBundle(){
@ -261,8 +271,15 @@ public class homeController extends AppCompatActivity implements ComponentCallba
status.sExternalWebsite = mShortcutCommandNavigate; status.sExternalWebsite = mShortcutCommandNavigate;
onStartApplication(null); onStartApplication(null);
} }
if(getIntent().getExtras().containsKey(M_RESTART_APP_KEY)){
boolean mStatus = getIntent().getExtras().getBoolean(M_RESTART_APP_KEY);
if(mStatus){
onStartApplication(null);
}
}
} }
getIntent().setData(null); getIntent().setData(null);
} }
public boolean isSplashScreenLoading(){ public boolean isSplashScreenLoading(){
@ -513,13 +530,14 @@ public class homeController extends AppCompatActivity implements ComponentCallba
mGenesisLogo = findViewById(R.id.pGenesisLogo); mGenesisLogo = findViewById(R.id.pGenesisLogo);
mPopoupFindCopy = findViewById(R.id.pPopoupFindCopy); mPopoupFindCopy = findViewById(R.id.pPopoupFindCopy);
mPopoupFindPaste = findViewById(R.id.pPopoupFindPaste); mPopoupFindPaste = findViewById(R.id.pPopoupFindPaste);
mTorDisabled = findViewById(R.id.pTorDisabled);
mGeckoView.setSaveEnabled(false); mGeckoView.setSaveEnabled(false);
mGeckoView.setSaveFromParentEnabled(false); mGeckoView.setSaveFromParentEnabled(false);
mGeckoView.setAutofillEnabled(true); mGeckoView.setAutofillEnabled(true);
mGeckoClient = new geckoClients(); mGeckoClient = new geckoClients();
mHomeViewController.initialization(new homeViewCallback(),this,mNewTab, mWebViewContainer, mLoadingText, mProgressBar, mSearchbar, mSplashScreen, mLoadingIcon, mBannerAds, mGatewaySplash, mTopBar, mGeckoView, mBackSplash, mConnectButton, mFindBar, mFindText, mFindCount, mTopLayout, mVoiceInput, mMenu, mNestedScroll, mBlocker, mBlockerFullSceen, mSearchEngineBar, mCopyright, mHintListView, mAppBar, mOrbotLogManager, mInfoLandscape, mInfoPortrait, mProgressBarIndeterminate, mTabFragment, mTopBarContainer, mSearchLock, mTopBarHider, mNewTabBlocker, mCoordinatorLayout, mImageDivider, mPanicButton, mGenesisLogo, mPanicButtonLandscape); mHomeViewController.initialization(new homeViewCallback(),this,mNewTab, mWebViewContainer, mLoadingText, mProgressBar, mSearchbar, mSplashScreen, mLoadingIcon, mBannerAds, mGatewaySplash, mTopBar, mGeckoView, mBackSplash, mConnectButton, mFindBar, mFindText, mFindCount, mTopLayout, mVoiceInput, mMenu, mNestedScroll, mBlocker, mBlockerFullSceen, mSearchEngineBar, mCopyright, mHintListView, mAppBar, mOrbotLogManager, mInfoLandscape, mInfoPortrait, mProgressBarIndeterminate, mTabFragment, mTopBarContainer, mSearchLock, mTopBarHider, mNewTabBlocker, mCoordinatorLayout, mImageDivider, mPanicButton, mGenesisLogo, mPanicButtonLandscape, mTorDisabled);
mGeckoView.onSetHomeEvent(new nestedGeckoViewCallback()); mGeckoView.onSetHomeEvent(new nestedGeckoViewCallback());
mGeckoClient.initialize(mGeckoView, new geckoViewCallback(), this,false); mGeckoClient.initialize(mGeckoView, new geckoViewCallback(), this,false);
mGeckoClient.onValidateInitializeFromStartup(mGeckoView, homeController.this); mGeckoClient.onValidateInitializeFromStartup(mGeckoView, homeController.this);
@ -1712,7 +1730,6 @@ public class homeController extends AppCompatActivity implements ComponentCallba
mBlocker.setClickable(true); mBlocker.setClickable(true);
mBlocker.setFocusable(true); mBlocker.setFocusable(true);
mBlocker.setEnabled(true); mBlocker.setEnabled(true);
Log.i("FUCKKKKK","SADADS3");
} }
static boolean mStateService = false; static boolean mStateService = false;
@ -1727,12 +1744,19 @@ public class homeController extends AppCompatActivity implements ComponentCallba
} }
} }
mHomeViewController.initHomePage(); Log.i("fuck","fuck");
if(status.sTorBrowsing){
mHomeViewController.initHomePage();
}
int mDelay = 1000;
if(!status.sTorBrowsing){
mDelay = 0;
}
new Handler().postDelayed(() -> new Handler().postDelayed(() ->
{ {
pluginController.getInstance().onOrbotInvoke(Arrays.asList(status.sBridgeCustomBridge, status.sBridgeGatewayManual, status.sBridgeCustomType, status.sBridgeStatus, status.sShowImages, status.sClearOnExit, (String)dataController.getInstance().invokeBridges(dataEnums.eBridgeWebsiteCommands.M_FETCH, null)), pluginEnums.eOrbotManager.M_START_ORBOT); pluginController.getInstance().onOrbotInvoke(Arrays.asList(status.sBridgeCustomBridge, status.sBridgeGatewayManual, status.sBridgeCustomType, status.sBridgeStatus, status.sShowImages, status.sClearOnExit, (String)dataController.getInstance().invokeBridges(dataEnums.eBridgeWebsiteCommands.M_FETCH, null)), pluginEnums.eOrbotManager.M_START_ORBOT);
onInvokeProxyLoading(); onInvokeProxyLoading();
}, 1000); }, mDelay);
} }
public void onDownloadFile(){ public void onDownloadFile(){
@ -1874,6 +1898,18 @@ public class homeController extends AppCompatActivity implements ComponentCallba
onNewTab(isKeyboardOpened, true); onNewTab(isKeyboardOpened, true);
} }
} }
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));
}
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);
}
else if (menuId == R.id.menuItem25) { else if (menuId == R.id.menuItem25) {
String mFileName = DownloadUtils.guessFileName(null,"",mGeckoClient.getSession().getCurrentURL(),null); String mFileName = DownloadUtils.guessFileName(null,"",mGeckoClient.getSession().getCurrentURL(),null);
String mURL = mGeckoClient.getSession().getCurrentURL(); String mURL = mGeckoClient.getSession().getCurrentURL();
@ -1930,6 +1966,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
pluginController.getInstance().onOrbotInvoke(null, pluginEnums.eOrbotManager.M_NEW_CIRCUIT); pluginController.getInstance().onOrbotInvoke(null, pluginEnums.eOrbotManager.M_NEW_CIRCUIT);
pluginController.getInstance().onMessageManagerInvoke(Collections.singletonList(this), M_NEW_IDENTITY); pluginController.getInstance().onMessageManagerInvoke(Collections.singletonList(this), M_NEW_IDENTITY);
mGeckoClient.onReload(mGeckoView, this, false); mGeckoClient.onReload(mGeckoView, this, false);
onLoadURL(mSearchbar.getText().toString());
} }
else if (menuId == R.id.pMenuOpenCurrentTab) else if (menuId == R.id.pMenuOpenCurrentTab)
{ {
@ -2105,6 +2142,8 @@ public class homeController extends AppCompatActivity implements ComponentCallba
dataController.getInstance().invokeSQLCipher(dataEnums.eSqlCipherCommands.M_EXEC_SQL, Arrays.asList(SQL_CLEAR_HISTORY,null)); dataController.getInstance().invokeSQLCipher(dataEnums.eSqlCipherCommands.M_EXEC_SQL, Arrays.asList(SQL_CLEAR_HISTORY,null));
dataController.getInstance().invokeHistory(dataEnums.eHistoryCommands.M_CLEAR_HISTORY ,null); dataController.getInstance().invokeHistory(dataEnums.eHistoryCommands.M_CLEAR_HISTORY ,null);
dataController.getInstance().invokeTab(dataEnums.eTabCommands.M_CLEAR_TAB, null); dataController.getInstance().invokeTab(dataEnums.eTabCommands.M_CLEAR_TAB, null);
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_INSTALLED,false));
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_TOR_BROWSING,true));
mGeckoClient.onClearAll(); mGeckoClient.onClearAll();
activityContextManager.getInstance().getHomeController().onClearCache(); activityContextManager.getInstance().getHomeController().onClearCache();

View File

@ -110,6 +110,7 @@ class homeViewController
private ImageButton mPanicButton; private ImageButton mPanicButton;
private ImageButton mPanicButtonLandscape; private ImageButton mPanicButtonLandscape;
private ImageView mGenesisLogo; private ImageView mGenesisLogo;
private ImageView mTorDisabled;
/*Local Variables*/ /*Local Variables*/
private Callable<String> mLogs = null; private Callable<String> mLogs = null;
@ -119,7 +120,7 @@ class homeViewController
private boolean mIsTopBarExpanded = true; private boolean mIsTopBarExpanded = true;
private NestedScrollView.MarginLayoutParams mDefaultMargin = null; private NestedScrollView.MarginLayoutParams mDefaultMargin = null;
void initialization(eventObserver.eventListener event, AppCompatActivity context, Button mNewTab, ConstraintLayout webviewContainer, TextView loadingText, ProgressBar progressBar, editTextManager searchbar, ConstraintLayout splashScreen, ImageView loading, MaxAdView banner_ads, ImageButton gateway_splash, LinearLayout top_bar, GeckoView gecko_view, ImageView backsplash, Button connect_button, View pFindBar, EditText pFindText, TextView pFindCount, androidx.constraintlayout.widget.ConstraintLayout pTopLayout, ImageButton pVoiceInput, ImageButton pMenu, androidx.core.widget.NestedScrollView pNestedScroll, ImageView pBlocker, ImageView pBlockerFullSceen, View mSearchEngineBar, TextView pCopyright, RecyclerView pHistListView, com.google.android.material.appbar.AppBarLayout pAppBar, ImageButton pOrbotLogManager, ConstraintLayout pInfoLandscape, ConstraintLayout pInfoPortrait, ProgressBar pProgressBarIndeterminate, FragmentContainerView pTabFragment, LinearLayout pTopBarContainer, ImageView pSearchLock, ImageView pTopBarHider, ImageView pNewTabBlocker, CoordinatorLayout mCoordinatorLayout, ImageView pImageDivider, ImageButton pPanicButton, ImageView pGenesisLogo, ImageButton pPanicButtonLandscape){ void initialization(eventObserver.eventListener event, AppCompatActivity context, Button mNewTab, ConstraintLayout webviewContainer, TextView loadingText, ProgressBar progressBar, editTextManager searchbar, ConstraintLayout splashScreen, ImageView loading, MaxAdView banner_ads, ImageButton gateway_splash, LinearLayout top_bar, GeckoView gecko_view, ImageView backsplash, Button connect_button, View pFindBar, EditText pFindText, TextView pFindCount, androidx.constraintlayout.widget.ConstraintLayout pTopLayout, ImageButton pVoiceInput, ImageButton pMenu, androidx.core.widget.NestedScrollView pNestedScroll, ImageView pBlocker, ImageView pBlockerFullSceen, View mSearchEngineBar, TextView pCopyright, RecyclerView pHistListView, com.google.android.material.appbar.AppBarLayout pAppBar, ImageButton pOrbotLogManager, ConstraintLayout pInfoLandscape, ConstraintLayout pInfoPortrait, ProgressBar pProgressBarIndeterminate, FragmentContainerView pTabFragment, LinearLayout pTopBarContainer, ImageView pSearchLock, ImageView pTopBarHider, ImageView pNewTabBlocker, CoordinatorLayout mCoordinatorLayout, ImageView pImageDivider, ImageButton pPanicButton, ImageView pGenesisLogo, ImageButton pPanicButtonLandscape, ImageView pTorDisabled){
this.mContext = context; this.mContext = context;
this.mProgressBar = progressBar; this.mProgressBar = progressBar;
this.mSearchbar = searchbar; this.mSearchbar = searchbar;
@ -161,6 +162,7 @@ class homeViewController
this.mGenesisLogo = pGenesisLogo; this.mGenesisLogo = pGenesisLogo;
this.mPanicButtonLandscape = pPanicButtonLandscape; this.mPanicButtonLandscape = pPanicButtonLandscape;
this.mLogHandler = new LogHandler(); this.mLogHandler = new LogHandler();
this.mTorDisabled = pTorDisabled;
initSplashScreen(); initSplashScreen();
createUpdateUiHandler(); createUpdateUiHandler();
@ -225,7 +227,14 @@ class homeViewController
} }
params1.setMargins(0, 0, 0,(helperMethod.pxFromDp(60)+mBannerHeight)*-1); params1.setMargins(0, 0, 0,(helperMethod.pxFromDp(60)+mBannerHeight)*-1);
mNestedScroll.setLayoutParams(params1); mNestedScroll.setLayoutParams(params1);
if(!status.sTorBrowsing){
mTorDisabled.setAlpha(1);
mTorDisabled.setVisibility(View.VISIBLE);
mConnectButton.setVisibility(View.GONE);
mOrbotLogManager.setVisibility(View.GONE);
mGatewaySplash.setVisibility(View.GONE);
mCopyright.setVisibility(View.GONE);
}
} }
@ -492,7 +501,7 @@ class homeViewController
public void initStatusBarColor(boolean mInstant) { public void initStatusBarColor(boolean mInstant) {
int mDelay = 1000; int mDelay = 1000;
if(status.mThemeApplying || mInstant || status.sSettingIsAppStarted){ if(!status.sTorBrowsing || status.mThemeApplying || mInstant || status.sSettingIsAppStarted){
mDelay = 0; mDelay = 0;
} }
@ -616,7 +625,7 @@ class homeViewController
protected Void doInBackground(Void...arg0) { protected Void doInBackground(Void...arg0) {
AppCompatActivity temp_context = mContext; AppCompatActivity temp_context = mContext;
int mCounter = 0; int mCounter = 0;
while (orbotLocalConstants.mSOCKSPort==-1 && (!orbotLocalConstants.mIsTorInitialized || !orbotLocalConstants.mNetworkState)){ while (status.sTorBrowsing && (orbotLocalConstants.mSOCKSPort==-1 || !orbotLocalConstants.mIsTorInitialized || !orbotLocalConstants.mNetworkState)){
try try
{ {
boolean mFastConnect = status.sSettingIsAppStarted || !status.sRestoreTabs && status.sAppInstalled && status.sSettingDefaultSearchEngine.equals(constants.CONST_BACKEND_GENESIS_URL) && !status.sBridgeStatus && status.sExternalWebsite.equals(strings.GENERIC_EMPTY_STR); boolean mFastConnect = status.sSettingIsAppStarted || !status.sRestoreTabs && status.sAppInstalled && status.sSettingDefaultSearchEngine.equals(constants.CONST_BACKEND_GENESIS_URL) && !status.sBridgeStatus && status.sExternalWebsite.equals(strings.GENERIC_EMPTY_STR);
@ -638,7 +647,7 @@ class homeViewController
sleep(500); sleep(500);
if(mCounter>20 && orbotLocalConstants.mSOCKSPort!=-1){ if(mCounter>20 && orbotLocalConstants.mSOCKSPort!=-1){
break; break;
}else { }else if (orbotLocalConstants.mNetworkState && status.sBridgeStatus){
mCounter+=1; mCounter+=1;
} }
if(mFastConnect){ if(mFastConnect){
@ -853,8 +862,22 @@ class homeViewController
ImageButton mRefresh = popupView.findViewById(R.id.menu21); ImageButton mRefresh = popupView.findViewById(R.id.menu21);
ImageButton mDownload = popupView.findViewById(R.id.menuItem25); ImageButton mDownload = popupView.findViewById(R.id.menuItem25);
CheckBox desktop = popupView.findViewById(R.id.menu27); CheckBox desktop = popupView.findViewById(R.id.menu27);
CheckBox torBrowsing = popupView.findViewById(R.id.menu30);
LinearLayout newIdentity = popupView.findViewById(R.id.menu28);
LinearLayout newTab = popupView.findViewById(R.id.menu11); LinearLayout newTab = popupView.findViewById(R.id.menu11);
LinearLayout genesisLogs = popupView.findViewById(R.id.menu12);
desktop.setChecked(userAgent==USER_AGENT_MODE_DESKTOP); desktop.setChecked(userAgent==USER_AGENT_MODE_DESKTOP);
if(status.sTorBrowsing){
torBrowsing.setChecked(true);
newIdentity.setVisibility(View.VISIBLE);
genesisLogs.setVisibility(View.VISIBLE);
}
else {
torBrowsing.setChecked(false);
newIdentity.setVisibility(View.GONE);
genesisLogs.setVisibility(View.GONE);
}
if(pIsBookmarked){ if(pIsBookmarked){
try { try {
bookmark .setImageDrawable(helperMethod.getDrawableXML(mContext,R.xml.ic_baseline_bookmark_filled)); bookmark .setImageDrawable(helperMethod.getDrawableXML(mContext,R.xml.ic_baseline_bookmark_filled));

View File

@ -229,6 +229,7 @@ public class settingClearController extends AppCompatActivity {
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_INSTALLED,false)); dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_INSTALLED,false));
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.BRIDGE_ENABLES,false)); dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.BRIDGE_ENABLES,false));
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_GATEWAY_MANUAL,false)); dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_GATEWAY_MANUAL,false));
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_TOR_BROWSING,true));
if(mIsThemeChangable) { if(mIsThemeChangable) {
status.mThemeApplying = true; status.mThemeApplying = true;

View File

@ -227,7 +227,7 @@ public class settingGeneralController extends AppCompatActivity {
public void onSelectTheme(View view){ public void onSelectTheme(View view){
if(!mIsThemeChanging){ if(!mIsThemeChanging){
mIsThemeChanging = true; mIsThemeChanging = true;
if(view.getId() == R.id.pBridgeSettingOption1){ if(view.getId() == R.id.pSearchSettingOption1){
if(status.sTheme != enums.Theme.THEME_DARK) { if(status.sTheme != enums.Theme.THEME_DARK) {
mSettingGeneralViewController.onTrigger(settingGeneralEnums.eGeneralViewController.M_RESET_THEME, null); mSettingGeneralViewController.onTrigger(settingGeneralEnums.eGeneralViewController.M_RESET_THEME, null);
mSettingGeneralViewController.onTrigger(settingGeneralEnums.eGeneralViewController.M_SET_THEME, Collections.singletonList(enums.Theme.THEME_DARK)); mSettingGeneralViewController.onTrigger(settingGeneralEnums.eGeneralViewController.M_SET_THEME, Collections.singletonList(enums.Theme.THEME_DARK));
@ -238,7 +238,7 @@ public class settingGeneralController extends AppCompatActivity {
}else { }else {
mIsThemeChanging = false; mIsThemeChanging = false;
} }
}else if(view.getId() == R.id.pBridgeSettingOption2) { }else if(view.getId() == R.id.pSearchSettingOption2) {
if(status.sTheme != enums.Theme.THEME_LIGHT) { if(status.sTheme != enums.Theme.THEME_LIGHT) {
mSettingGeneralViewController.onTrigger(settingGeneralEnums.eGeneralViewController.M_RESET_THEME, null); mSettingGeneralViewController.onTrigger(settingGeneralEnums.eGeneralViewController.M_RESET_THEME, null);
mSettingGeneralViewController.onTrigger(settingGeneralEnums.eGeneralViewController.M_SET_THEME, Collections.singletonList(enums.Theme.THEME_LIGHT)); mSettingGeneralViewController.onTrigger(settingGeneralEnums.eGeneralViewController.M_SET_THEME, Collections.singletonList(enums.Theme.THEME_LIGHT));

View File

@ -3,6 +3,7 @@ package com.hiddenservices.onionservices.appManager.settingManager.searchEngineM
import android.content.res.Configuration; import android.content.res.Configuration;
import android.os.Bundle; import android.os.Bundle;
import android.view.View; import android.view.View;
import android.widget.LinearLayout;
import android.widget.RadioButton; import android.widget.RadioButton;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
@ -34,6 +35,7 @@ public class settingSearchController extends AppCompatActivity {
private SwitchMaterial mSearchSuggestions; private SwitchMaterial mSearchSuggestions;
private settingSearchModel mSettingSearchModel; private settingSearchModel mSettingSearchModel;
private settingSearchViewController mSettingSearchViewController; private settingSearchViewController mSettingSearchViewController;
private LinearLayout mSearchSettingOption1 = null;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
@ -63,9 +65,10 @@ public class settingSearchController extends AppCompatActivity {
mSearchEngines.add(findViewById(R.id.mRadioSearch_5)); mSearchEngines.add(findViewById(R.id.mRadioSearch_5));
mSearchHistory = findViewById(R.id.pSearchHistory); mSearchHistory = findViewById(R.id.pSearchHistory);
mSearchSuggestions = findViewById(R.id.pSearchSuggestions); mSearchSuggestions = findViewById(R.id.pSearchSuggestions);
mSearchSettingOption1 = findViewById(R.id.pSearchSettingOption1);
activityContextManager.getInstance().onStack(this); activityContextManager.getInstance().onStack(this);
mSettingSearchViewController = new settingSearchViewController(this, new settingSearchViewCallback(), mSearchEngines, mSearchHistory, mSearchSuggestions); mSettingSearchViewController = new settingSearchViewController(this, new settingSearchViewCallback(), mSearchEngines, mSearchHistory, mSearchSuggestions, mSearchSettingOption1);
mSettingSearchModel = new settingSearchModel(new settingSearchModelCallback()); mSettingSearchModel = new settingSearchModel(new settingSearchModelCallback());
} }
@ -127,23 +130,23 @@ public class settingSearchController extends AppCompatActivity {
} }
public void onSelectSearchEngine(View view) { public void onSelectSearchEngine(View view) {
if(view.getId() == R.id.pBridgeSettingOption1){ if(view.getId() == R.id.pSearchSettingOption1){
mSettingSearchModel.onTrigger(settingSearchEnums.eSearchModel.M_SET_SEARCH_ENGINE, Collections.singletonList(constants.CONST_BACKEND_GENESIS_URL)); mSettingSearchModel.onTrigger(settingSearchEnums.eSearchModel.M_SET_SEARCH_ENGINE, Collections.singletonList(constants.CONST_BACKEND_GENESIS_URL));
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_STRING, Arrays.asList(keys.SETTING_SEARCH_ENGINE, status.sSettingDefaultSearchEngine)); dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_STRING, Arrays.asList(keys.SETTING_SEARCH_ENGINE, status.sSettingDefaultSearchEngine));
} }
else if(view.getId() == R.id.pBridgeSettingOption2){ else if(view.getId() == R.id.pSearchSettingOption2){
mSettingSearchModel.onTrigger(settingSearchEnums.eSearchModel.M_SET_SEARCH_ENGINE, Collections.singletonList(constants.CONST_BACKEND_DUCK_DUCK_GO_URL)); mSettingSearchModel.onTrigger(settingSearchEnums.eSearchModel.M_SET_SEARCH_ENGINE, Collections.singletonList(constants.CONST_BACKEND_DUCK_DUCK_GO_URL));
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_STRING, Arrays.asList(keys.SETTING_SEARCH_ENGINE, status.sSettingDefaultSearchEngine)); dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_STRING, Arrays.asList(keys.SETTING_SEARCH_ENGINE, status.sSettingDefaultSearchEngine));
} }
else if(view.getId() == R.id.pOption3){ else if(view.getId() == R.id.pSearchSettingOption3){
mSettingSearchModel.onTrigger(settingSearchEnums.eSearchModel.M_SET_SEARCH_ENGINE, Collections.singletonList(constants.CONST_BACKEND_GOOGLE_URL)); mSettingSearchModel.onTrigger(settingSearchEnums.eSearchModel.M_SET_SEARCH_ENGINE, Collections.singletonList(constants.CONST_BACKEND_GOOGLE_URL));
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_STRING, Arrays.asList(keys.SETTING_SEARCH_ENGINE, status.sSettingDefaultSearchEngine)); dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_STRING, Arrays.asList(keys.SETTING_SEARCH_ENGINE, status.sSettingDefaultSearchEngine));
} }
else if(view.getId() == R.id.pOption4){ else if(view.getId() == R.id.pSearchSettingOption4){
mSettingSearchModel.onTrigger(settingSearchEnums.eSearchModel.M_SET_SEARCH_ENGINE, Collections.singletonList(constants.CONST_BACKEND_BING_URL)); mSettingSearchModel.onTrigger(settingSearchEnums.eSearchModel.M_SET_SEARCH_ENGINE, Collections.singletonList(constants.CONST_BACKEND_BING_URL));
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_STRING, Arrays.asList(keys.SETTING_SEARCH_ENGINE, status.sSettingDefaultSearchEngine)); dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_STRING, Arrays.asList(keys.SETTING_SEARCH_ENGINE, status.sSettingDefaultSearchEngine));
} }
else if(view.getId() == R.id.pOption5){ else if(view.getId() == R.id.pSearchSettingOption5){
mSettingSearchModel.onTrigger(settingSearchEnums.eSearchModel.M_SET_SEARCH_ENGINE, Collections.singletonList(constants.CONST_BACKEND_WIKI_URL)); mSettingSearchModel.onTrigger(settingSearchEnums.eSearchModel.M_SET_SEARCH_ENGINE, Collections.singletonList(constants.CONST_BACKEND_WIKI_URL));
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_STRING, Arrays.asList(keys.SETTING_SEARCH_ENGINE, status.sSettingDefaultSearchEngine)); dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_STRING, Arrays.asList(keys.SETTING_SEARCH_ENGINE, status.sSettingDefaultSearchEngine));
} }

View File

@ -5,6 +5,7 @@ import android.os.Build;
import android.view.View; import android.view.View;
import android.view.Window; import android.view.Window;
import android.view.WindowManager; import android.view.WindowManager;
import android.widget.LinearLayout;
import android.widget.RadioButton; import android.widget.RadioButton;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatDelegate; import androidx.appcompat.app.AppCompatDelegate;
@ -26,16 +27,18 @@ class settingSearchViewController
private ArrayList<RadioButton> mSearchEngines; private ArrayList<RadioButton> mSearchEngines;
private SwitchMaterial mSearchHistory; private SwitchMaterial mSearchHistory;
private SwitchMaterial mSearchSuggestions; private SwitchMaterial mSearchSuggestions;
private LinearLayout mSearchSettingOption1 = null;
/*Initializations*/ /*Initializations*/
settingSearchViewController(settingSearchController pContext, eventObserver.eventListener pEvent, ArrayList<RadioButton> pSearchEngines, SwitchMaterial pSearchHistory, SwitchMaterial pSearchSuggestions) settingSearchViewController(settingSearchController pContext, eventObserver.eventListener pEvent, ArrayList<RadioButton> pSearchEngines, SwitchMaterial pSearchHistory, SwitchMaterial pSearchSuggestions, LinearLayout pSearchSettingOption1)
{ {
this.mEvent = pEvent; this.mEvent = pEvent;
this.mContext = pContext; this.mContext = pContext;
this.mSearchEngines = pSearchEngines; this.mSearchEngines = pSearchEngines;
this.mSearchHistory = pSearchHistory; this.mSearchHistory = pSearchHistory;
this.mSearchSuggestions = pSearchSuggestions; this.mSearchSuggestions = pSearchSuggestions;
this.mSearchSettingOption1 = pSearchSettingOption1;
initViews(); initViews();
initPostUI(); initPostUI();
@ -48,21 +51,24 @@ class settingSearchViewController
} }
private void initPostUI(){ private void initPostUI(){
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = mContext.getWindow();
Window window = mContext.getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) { if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark)); window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.landing_ease_blue)); mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.landing_ease_blue));
}
else {
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
mContext.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
}
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.c_background));
}
} }
else {
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
mContext.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
}
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.c_background));
}
if(!status.sTorBrowsing){
mSearchSettingOption1.setVisibility(View.GONE);
}
} }
private void initSearchViews(){ private void initSearchViews(){

View File

@ -6,6 +6,7 @@ public class keys
public static final String M_ACTIVITY_RESPONSE = "M_ACTIVITY_RESPONSE"; public static final String M_ACTIVITY_RESPONSE = "M_ACTIVITY_RESPONSE";
public static final String M_ACTIVITY_NAVIGATION_BUNDLE_KEY = "M_ACTIVITY_NAVIGATION_BUNDLE_KEY"; public static final String M_ACTIVITY_NAVIGATION_BUNDLE_KEY = "M_ACTIVITY_NAVIGATION_BUNDLE_KEY";
public static final String M_RESTART_APP_KEY = "M_RESTART_APP_KEY";
/*Home Manager*/ /*Home Manager*/
@ -22,13 +23,8 @@ public class keys
public static final String PROXY_SOCKS_PORT = "network.proxy.socks_port"; public static final String PROXY_SOCKS_PORT = "network.proxy.socks_port";
public static final String PROXY_SOCKS_VERSION = "network.proxy.socks_version"; public static final String PROXY_SOCKS_VERSION = "network.proxy.socks_version";
public static final String PROXY_SOCKS_REMOTE_DNS = "network.proxy.socks_remote_dns"; public static final String PROXY_SOCKS_REMOTE_DNS = "network.proxy.socks_remote_dns";
public static final String PROXY_CACHE = "browser.cache.disk.enable";
public static final String PROXY_MEMORY = "browser.cache.memory.enable";
public static final String PROXY_DO_NOT_TRACK_HEADER_ENABLED = "privacy.donottrackheader.enabled";
public static final String PROXY_DO_NOT_TRACK_HEADER_VALUE = "privacy.donottrackheader.value";
public static final String PROXY_IS_APP_RATED = "IS_APP_RATED"; public static final String PROXY_IS_APP_RATED = "IS_APP_RATED";
public static final String PROXY_LIST_TYPE = "list_type"; public static final String PROXY_LIST_TYPE = "list_type";
public static final String PROXY_IMAGE = "permissions.default.image";
/*Settings*/ /*Settings*/
@ -41,6 +37,7 @@ public class keys
public static final String SETTING_POPUP = "POPUP_V1"; public static final String SETTING_POPUP = "POPUP_V1";
public static final String SETTING_HISTORY_CLEAR = "HISTORY_CLEAR_V1"; public static final String SETTING_HISTORY_CLEAR = "HISTORY_CLEAR_V1";
public static final String SETTING_GATEWAY = "pref_bridges_enabled_auto_V1"; public static final String SETTING_GATEWAY = "pref_bridges_enabled_auto_V1";
public static final String SETTING_TOR_BROWSING = "pref_tor_browsing_V1";
public static final String SETTING_GATEWAY_MANUAL = "pref_bridges_enabled_manual_V1"; public static final String SETTING_GATEWAY_MANUAL = "pref_bridges_enabled_manual_V1";
public static final String SETTING_IS_BOOTSTRAPPED = "IS_BOOTSTRAPPED_V1"; public static final String SETTING_IS_BOOTSTRAPPED = "IS_BOOTSTRAPPED_V1";
public static final String SETTING_IS_WELCOME_ENABLED = "IS_WELCOME_ENABLED_V1"; public static final String SETTING_IS_WELCOME_ENABLED = "IS_WELCOME_ENABLED_V1";

View File

@ -34,6 +34,7 @@ public class status
public static String sExternalWebsite = strings.GENERIC_EMPTY_STR; public static String sExternalWebsite = strings.GENERIC_EMPTY_STR;
public static String sBridgesDefault = strings.BRIDGES_DEFAULT; public static String sBridgesDefault = strings.BRIDGES_DEFAULT;
public static boolean sTorBrowsing = false;
public static boolean sExternalWebsiteLoading = false; public static boolean sExternalWebsiteLoading = false;
public static boolean sUIInteracted = false; public static boolean sUIInteracted = false;
public static boolean sSettingEnableZoom = true; public static boolean sSettingEnableZoom = true;
@ -136,10 +137,14 @@ public class status
status.sTabGridLayoutEnabled = (boolean)dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_GET_BOOL, Arrays.asList(keys.SETTING_SHOW_TAB_GRID,true)); status.sTabGridLayoutEnabled = (boolean)dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_GET_BOOL, Arrays.asList(keys.SETTING_SHOW_TAB_GRID,true));
status.sGlobalURLCount = (int)dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_GET_INT, Arrays.asList(keys.SETTING_RATE_COUNT, 0)); status.sGlobalURLCount = (int)dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_GET_INT, Arrays.asList(keys.SETTING_RATE_COUNT, 0));
status.sAppInstalled = (boolean)dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_GET_BOOL, Arrays.asList(keys.SETTING_INSTALLED,false)); status.sAppInstalled = (boolean)dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_GET_BOOL, Arrays.asList(keys.SETTING_INSTALLED,false));
status.sTorBrowsing = (boolean)dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_GET_BOOL, Arrays.asList(keys.SETTING_TOR_BROWSING,true));
if(status.sGlobalURLCount <=10 && status.sGlobalURLCount>=8){ if(status.sGlobalURLCount <=10 && status.sGlobalURLCount>=8){
status.sGlobalURLCount = 6; status.sGlobalURLCount = 6;
} }
if(!status.sTorBrowsing && status.sSettingDefaultSearchEngine.equals(constants.CONST_BACKEND_GENESIS_URL)){
status.sSettingDefaultSearchEngine = constants.CONST_BACKEND_DUCK_DUCK_GO_URL;
}
} }
} }

View File

@ -251,6 +251,7 @@ public class dataController
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_POPUP,true)); dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_POPUP,true));
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_STRING, Arrays.asList(keys.BRIDGE_CUSTOM_TYPE,strings.BRIDGE_CUSTOM_BRIDGE_OBFS4)); dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_STRING, Arrays.asList(keys.BRIDGE_CUSTOM_TYPE,strings.BRIDGE_CUSTOM_BRIDGE_OBFS4));
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_INSTALLED,false)); dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_INSTALLED,false));
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_TOR_BROWSING,true));
invokeSQLCipher(dataEnums.eSqlCipherCommands.M_INIT, Collections.singletonList(mContext)); invokeSQLCipher(dataEnums.eSqlCipherCommands.M_INIT, Collections.singletonList(mContext));
invokeSQLCipher(dataEnums.eSqlCipherCommands.M_EXEC_SQL, Arrays.asList(SQL_CLEAR_HISTORY,null)); invokeSQLCipher(dataEnums.eSqlCipherCommands.M_EXEC_SQL, Arrays.asList(SQL_CLEAR_HISTORY,null));

View File

@ -10,6 +10,7 @@ import android.app.PendingIntent;
import android.content.ActivityNotFoundException; import android.content.ActivityNotFoundException;
import android.content.ClipData; import android.content.ClipData;
import android.content.ClipboardManager; import android.content.ClipboardManager;
import android.content.ComponentName;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
@ -32,6 +33,7 @@ import android.os.Vibrator;
import android.text.SpannableString; import android.text.SpannableString;
import android.text.Spanned; import android.text.Spanned;
import android.text.style.ForegroundColorSpan; import android.text.style.ForegroundColorSpan;
import android.util.Log;
import android.view.Display; import android.view.Display;
import android.view.Gravity; import android.view.Gravity;
import android.view.LayoutInflater; import android.view.LayoutInflater;
@ -53,6 +55,8 @@ import androidx.core.content.ContextCompat;
import androidx.core.content.FileProvider; import androidx.core.content.FileProvider;
import androidx.core.graphics.ColorUtils; import androidx.core.graphics.ColorUtils;
import com.example.myapplication.BuildConfig;
import com.hiddenservices.onionservices.appManager.activityContextManager;
import com.hiddenservices.onionservices.appManager.homeManager.geckoManager.geckoSession; import com.hiddenservices.onionservices.appManager.homeManager.geckoManager.geckoSession;
import com.hiddenservices.onionservices.appManager.kotlinHelperLibraries.defaultBrowser; import com.hiddenservices.onionservices.appManager.kotlinHelperLibraries.defaultBrowser;
import com.hiddenservices.onionservices.constants.constants; import com.hiddenservices.onionservices.constants.constants;
@ -108,6 +112,7 @@ import static com.hiddenservices.onionservices.constants.constants.CONST_LIST_EX
import static com.hiddenservices.onionservices.constants.constants.CONST_PACKAGE_NAME; import static com.hiddenservices.onionservices.constants.constants.CONST_PACKAGE_NAME;
import static com.hiddenservices.onionservices.constants.constants.CONST_PLAYSTORE_URL; import static com.hiddenservices.onionservices.constants.constants.CONST_PLAYSTORE_URL;
import static com.hiddenservices.onionservices.constants.keys.M_ACTIVITY_NAVIGATION_BUNDLE_KEY; import static com.hiddenservices.onionservices.constants.keys.M_ACTIVITY_NAVIGATION_BUNDLE_KEY;
import static com.hiddenservices.onionservices.constants.keys.M_RESTART_APP_KEY;
import static com.hiddenservices.onionservices.pluginManager.pluginEnums.eMessageManager.M_OPEN_ACTIVITY_FAILED; import static com.hiddenservices.onionservices.pluginManager.pluginEnums.eMessageManager.M_OPEN_ACTIVITY_FAILED;
public class helperMethod public class helperMethod
@ -306,7 +311,7 @@ public class helperMethod
} }
public static String completeURL(String pURL){ public static String completeURL(String pURL){
if(pURL.equals("about:blank") || pURL.equals("about:config")){ if(pURL.equals("about:blank") || pURL.equals("about:config") || pURL.startsWith("resource://")){
return pURL; return pURL;
} }
URL weburl; URL weburl;
@ -1071,4 +1076,32 @@ public class helperMethod
return popupWindow; return popupWindow;
} }
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() {
super.run();
PackageManager packageManager = activityContextManager.getInstance().getHomeController().getPackageManager();
Intent intent = packageManager.getLaunchIntentForPackage(activityContextManager.getInstance().getHomeController().getPackageName());
ComponentName componentName = intent.getComponent();
Intent mainIntent = Intent.makeRestartActivityTask(componentName);
mainIntent.putExtra(M_RESTART_APP_KEY, pOpenOnRestart);
activityContextManager.getInstance().getHomeController().getApplicationContext().startActivity(mainIntent);
}
});
Runtime.getRuntime().exit(0);
}
} }

View File

@ -92,6 +92,7 @@ public class downloadReciever extends AsyncTask<String, Integer, String> {
mNotifyManager = (NotificationManager) mContext.get().getSystemService(Context.NOTIFICATION_SERVICE); mNotifyManager = (NotificationManager) mContext.get().getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationBuilder = new NotificationCompat.Builder(mContext.get()); mNotificationBuilder = new NotificationCompat.Builder(mContext.get());
mNotificationBuilder = new NotificationCompat.Builder(mContext.get());
mNotificationBuilder.setContentTitle(mFileName) mNotificationBuilder.setContentTitle(mFileName)
.setContentText("starting...") .setContentText("starting...")
.setChannelId(mNotificationID + "") .setChannelId(mNotificationID + "")
@ -134,12 +135,21 @@ public class downloadReciever extends AsyncTask<String, Integer, String> {
HttpURLConnection conection; HttpURLConnection conection;
Proxy proxy; Proxy proxy;
if(helperMethod.getDomainName(fURL).contains(".onion")){ if(helperMethod.getDomainName(fURL).contains(".onion")){
proxy = new Proxy(Proxy.Type.SOCKS, InetSocketAddress.createUnresolved("localhost", orbotLocalConstants.mSOCKSPort)); if(orbotLocalConstants.mSOCKSPort==-1){
conection = (HttpURLConnection) url.openConnection(proxy); proxy = new Proxy(Proxy.Type.SOCKS, InetSocketAddress.createUnresolved("localhost", orbotLocalConstants.mSOCKSPort));
conection = (HttpURLConnection) url.openConnection(proxy);
}else {
conection = (HttpURLConnection) url.openConnection();
}
}else { }else {
Proxy mProxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("127.0.0.1", orbotLocalConstants.mHTTPPort)); if(orbotLocalConstants.mSOCKSPort==-1){
URLConnection mURLConnection = new URI(fURL).toURL().openConnection(mProxy); Proxy mProxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("127.0.0.1", orbotLocalConstants.mHTTPPort));
conection = (HttpURLConnection) mURLConnection; URLConnection mURLConnection = new URI(fURL).toURL().openConnection(mProxy);
conection = (HttpURLConnection) mURLConnection;
}else{
URLConnection mURLConnection = new URI(fURL).toURL().openConnection();
conection = (HttpURLConnection) mURLConnection;
}
} }
conection.setRequestProperty("User-Agent","Mozilla/5.0 (Windows NT 6.1; rv:60.0) Gecko/20100101 Firefox/60.0"); conection.setRequestProperty("User-Agent","Mozilla/5.0 (Windows NT 6.1; rv:60.0) Gecko/20100101 Firefox/60.0");
@ -156,10 +166,12 @@ public class downloadReciever extends AsyncTask<String, Integer, String> {
String urlEncoded = Uri.encode(f_url[0], ALLOWED_URI_CHARS); String urlEncoded = Uri.encode(f_url[0], ALLOWED_URI_CHARS);
StrongHttpsClient httpclient = new StrongHttpsClient(mContext.get()); StrongHttpsClient httpclient = new StrongHttpsClient(mContext.get());
if(helperMethod.getDomainName(f_url[0]).contains(".onion")){ if(orbotLocalConstants.mSOCKSPort!=-1){
httpclient.useProxy(true, "SOCKS", "127.0.0.1", orbotLocalConstants.mSOCKSPort); if(helperMethod.getDomainName(f_url[0]).contains(".onion")){
}else { httpclient.useProxy(true, "SOCKS", "127.0.0.1", orbotLocalConstants.mSOCKSPort);
httpclient.useProxy(true, "SOCKS", "127.0.0.1", orbotLocalConstants.mSOCKSPort); }else {
httpclient.useProxy(true, "SOCKS", "127.0.0.1", orbotLocalConstants.mSOCKSPort);
}
} }
HttpGet httpget = new HttpGet(urlEncoded); HttpGet httpget = new HttpGet(urlEncoded);

View File

@ -11,6 +11,7 @@ import java.util.Collections;
import java.util.List; import java.util.List;
import com.hiddenservices.onionservices.constants.constants; import com.hiddenservices.onionservices.constants.constants;
import com.hiddenservices.onionservices.constants.keys; import com.hiddenservices.onionservices.constants.keys;
import com.hiddenservices.onionservices.constants.status;
import com.hiddenservices.onionservices.eventObserver; import com.hiddenservices.onionservices.eventObserver;
import com.hiddenservices.onionservices.helperManager.helperMethod; import com.hiddenservices.onionservices.helperManager.helperMethod;
import com.hiddenservices.onionservices.pluginManager.pluginEnums; import com.hiddenservices.onionservices.pluginManager.pluginEnums;
@ -60,22 +61,25 @@ public class orbotManager
} }
private void onInitailizeService(){ private void onInitailizeService(){
if(status.sTorBrowsing){
Intent startTorIntent = new Intent(mAppContext.get(), OrbotService.class);
startTorIntent.setAction(ACTION_START);
if (mAppContext.get().getPackageName() != null) {
startTorIntent.putExtra(OrbotService.EXTRA_PACKAGE_NAME, mAppContext.get().getPackageName());
}
mAppContext.get().startService(startTorIntent);
Intent startTorIntent = new Intent(mAppContext.get(), OrbotService.class); SharedPreferences settings = mAppContext.get().getSharedPreferences("se", MODE_PRIVATE);
startTorIntent.setAction(ACTION_START); SharedPreferences.Editor editor = settings.edit();
if (mAppContext.get().getPackageName() != null) { editor.putInt(keys.PROXY_TYPE, 1);
startTorIntent.putExtra(OrbotService.EXTRA_PACKAGE_NAME, mAppContext.get().getPackageName()); editor.putString(keys.PROXY_SOCKS, constants.CONST_PROXY_SOCKS);
editor.putInt(keys.PROXY_SOCKS_PORT, orbotLocalConstants.mSOCKSPort);
editor.putInt(keys.PROXY_SOCKS_VERSION,constants.CONST_PROXY_SOCKS_VERSION);
editor.putBoolean(keys.PROXY_SOCKS_REMOTE_DNS,constants.CONST_PROXY_SOCKS_REMOTE_DNS);
editor.apply();
}else {
orbotLocalConstants.mIsTorInitialized = true;
} }
mAppContext.get().startService(startTorIntent);
SharedPreferences settings = mAppContext.get().getSharedPreferences("se", MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putInt(keys.PROXY_TYPE, 1);
editor.putString(keys.PROXY_SOCKS, constants.CONST_PROXY_SOCKS);
editor.putInt(keys.PROXY_SOCKS_PORT, orbotLocalConstants.mSOCKSPort);
editor.putInt(keys.PROXY_SOCKS_VERSION,constants.CONST_PROXY_SOCKS_VERSION);
editor.putBoolean(keys.PROXY_SOCKS_REMOTE_DNS,constants.CONST_PROXY_SOCKS_REMOTE_DNS);
editor.apply();
} }

View File

@ -1,17 +1,9 @@
package com.hiddenservices.onionservices.pluginManager; package com.hiddenservices.onionservices.pluginManager;
import android.annotation.SuppressLint;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Handler;
import android.view.WindowManager; import android.view.WindowManager;
import android.widget.ImageView; import android.widget.ImageView;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import com.example.myapplication.R;
import com.hiddenservices.onionservices.appManager.activityContextManager; import com.hiddenservices.onionservices.appManager.activityContextManager;
import com.hiddenservices.onionservices.appManager.homeManager.geckoManager.geckoSession; import com.hiddenservices.onionservices.appManager.homeManager.geckoManager.geckoSession;
import com.hiddenservices.onionservices.appManager.homeManager.homeController.homeController; import com.hiddenservices.onionservices.appManager.homeManager.homeController.homeController;
@ -350,7 +342,8 @@ public class pluginController
mHomeController.get().runOnUiThread(() -> mHomeController.get().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE)); mHomeController.get().runOnUiThread(() -> mHomeController.get().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE));
} }
else if(pEventType.equals(M_IMAGE_UPDATE_RESTART)){ else if(pEventType.equals(M_IMAGE_UPDATE_RESTART)){
((homeController)mHomeController.get()).onRestartApp(); onOrbotInvoke(Collections.singletonList(status.mThemeApplying), pluginEnums.eOrbotManager.M_DESTROY);
helperMethod.restartAndOpen(false);
} }
return null; return null;
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

View File

@ -171,7 +171,7 @@
android:background="@color/c_white"/> android:background="@color/c_white"/>
<LinearLayout <LinearLayout
android:id="@+id/pBridgeSettingOption1" android:id="@+id/pSearchSettingOption1"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="55dp" android:layout_height="55dp"
android:layout_marginLeft="4dp" android:layout_marginLeft="4dp"
@ -287,7 +287,7 @@
android:background="@color/c_topbar_divider"/> android:background="@color/c_topbar_divider"/>
<LinearLayout <LinearLayout
android:id="@+id/pBridgeSettingOption2" android:id="@+id/pSearchSettingOption2"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="55dp" android:layout_height="55dp"
android:background="@xml/gx_ripple_gray" android:background="@xml/gx_ripple_gray"

View File

@ -534,6 +534,17 @@
app:layout_constraintTop_toBottomOf="@+id/pInfo3" app:layout_constraintTop_toBottomOf="@+id/pInfo3"
tools:ignore="UnusedAttribute" /> tools:ignore="UnusedAttribute" />
<ImageView
android:id="@+id/pTorDisabled"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/landing_ease_blue"
android:visibility="gone"
android:padding="109dp"
android:layout_marginTop="-20dp"
android:translationZ="100dp"
android:contentDescription="@string/GENERAL_TODO" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout

View File

@ -315,7 +315,7 @@
android:background="@color/c_home_side" /> android:background="@color/c_home_side" />
<LinearLayout <LinearLayout
android:id="@+id/menu12" android:id="@+id/menu29"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="47dp" android:layout_height="47dp"
android:layout_marginTop="1dp" android:layout_marginTop="1dp"
@ -328,28 +328,44 @@
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
<ImageView <ImageView
android:id="@+id/markerTab"
android:layout_width="21dp" android:layout_width="21dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginStart="15dp" android:layout_marginStart="15dp"
android:contentDescription="@string/GENERAL_TODO" android:contentDescription="@string/GENERAL_TODO"
android:src="@xml/ic_baseline_vpn" android:src="@drawable/tor_logo"/>
app:tint="@color/c_alert_divider" />
<TextView <TextView
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="45dp" android:layout_height="45dp"
android:layout_marginStart="17dp" android:layout_marginStart="17dp"
android:layout_weight="1" android:layout_weight="3"
android:gravity="start|center_vertical" android:gravity="start|center_vertical"
android:paddingStart="3dp" android:paddingStart="3dp"
android:text="@string/HOME_MENU__ORBOT_LOGS" android:text="@string/HOME_MENU_TOR_CONNECTION"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_home_menu" android:textColor="@color/c_text_home_menu"
android:textSize="15sp" android:textSize="15sp"
tools:ignore="RtlHardcoded,RtlSymmetry" /> tools:ignore="RtlHardcoded,RtlSymmetry" />
<com.google.android.material.checkbox.MaterialCheckBox
android:id="@+id/menu30"
android:layout_width="0dp"
android:layout_height="45dp"
android:layout_marginStart="0dp"
android:layout_weight="1"
android:background="@color/clear_alpha"
android:buttonTint="@color/c_checkbox_tint"
android:clickable="false"
android:focusable="false"
android:gravity="start|center_vertical"
android:paddingStart="0dp"
android:textColor="@color/c_text_home_menu"
android:textSize="16sp"
tools:ignore="RtlHardcoded,RtlSymmetry" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/menu28" android:id="@+id/menu28"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -385,6 +401,51 @@
tools:ignore="RtlHardcoded,RtlSymmetry" /> tools:ignore="RtlHardcoded,RtlSymmetry" />
</LinearLayout> </LinearLayout>
<LinearLayout
android:id="@+id/menu12"
android:layout_width="match_parent"
android:layout_height="47dp"
android:layout_marginTop="1dp"
android:background="@xml/gx_side_item"
android:clickable="true"
android:focusable="true"
android:onClick="onMenuItemInvoked"
android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/markerTab"
android:layout_width="21dp"
android:layout_height="match_parent"
android:layout_marginStart="15dp"
android:contentDescription="@string/GENERAL_TODO"
android:src="@xml/ic_baseline_vpn"
app:tint="@color/c_alert_divider" />
<TextView
android:layout_width="0dp"
android:layout_height="45dp"
android:layout_marginStart="17dp"
android:layout_weight="1"
android:gravity="start|center_vertical"
android:paddingStart="3dp"
android:text="@string/HOME_MENU__ORBOT_LOGS"
android:textAllCaps="false"
android:textColor="@color/c_text_home_menu"
android:textSize="15sp"
tools:ignore="RtlHardcoded,RtlSymmetry" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:layout_marginStart="15dp"
android:layout_marginEnd="15dp"
android:background="@color/c_home_side" />
<LinearLayout <LinearLayout
android:id="@+id/menu25" android:id="@+id/menu25"
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@ -74,7 +74,7 @@
<!-- Title Header --> <!-- Title Header -->
<LinearLayout <LinearLayout
android:id="@+id/pBridgeSettingOption2" android:id="@+id/pSearchSettingOption2"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingTop="10dp" android:paddingTop="10dp"
@ -192,7 +192,7 @@
android:background="@color/c_orbot_setting_divider" /> android:background="@color/c_orbot_setting_divider" />
<LinearLayout <LinearLayout
android:id="@+id/pOption4" android:id="@+id/pSearchSettingOption4"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingTop="10dp" android:paddingTop="10dp"
@ -412,7 +412,7 @@
android:background="@color/c_orbot_setting_divider" /> android:background="@color/c_orbot_setting_divider" />
<LinearLayout <LinearLayout
android:id="@+id/pOption3" android:id="@+id/pSearchSettingOption3"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingTop="10dp" android:paddingTop="10dp"
@ -485,7 +485,7 @@
android:background="@color/c_orbot_setting_divider"/> android:background="@color/c_orbot_setting_divider"/>
<LinearLayout <LinearLayout
android:id="@+id/pOption5" android:id="@+id/pSearchSettingOption5"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingTop="10dp" android:paddingTop="10dp"

View File

@ -93,7 +93,7 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/pOption3" android:id="@+id/pSearchSettingOption3"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@xml/gx_ripple_gray" android:background="@xml/gx_ripple_gray"
@ -232,7 +232,7 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/pOption4" android:id="@+id/pSearchSettingOption4"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="65dp" android:layout_height="65dp"
android:background="@xml/gx_ripple_gray" android:background="@xml/gx_ripple_gray"
@ -297,7 +297,7 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/pOption5" android:id="@+id/pSearchSettingOption5"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="65dp" android:layout_height="65dp"
android:background="@xml/gx_ripple_gray" android:background="@xml/gx_ripple_gray"

View File

@ -109,7 +109,7 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/pBridgeSettingOption1" android:id="@+id/pSearchSettingOption1"
android:paddingTop="10dp" android:paddingTop="10dp"
android:paddingBottom="10dp" android:paddingBottom="10dp"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -175,7 +175,7 @@
<!-- Title Header --> <!-- Title Header -->
<LinearLayout <LinearLayout
android:id="@+id/pBridgeSettingOption2" android:id="@+id/pSearchSettingOption2"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingTop="10dp" android:paddingTop="10dp"
@ -560,7 +560,7 @@
<LinearLayout <LinearLayout
android:id="@+id/pOption4" android:id="@+id/pSearchSettingOption4"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"

View File

@ -75,7 +75,7 @@
<!-- Title Header --> <!-- Title Header -->
<LinearLayout <LinearLayout
android:id="@+id/pBridgeSettingOption1" android:id="@+id/pSearchSettingOption1"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@xml/gx_ripple_gray" android:background="@xml/gx_ripple_gray"
@ -142,7 +142,7 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/pBridgeSettingOption2" android:id="@+id/pSearchSettingOption2"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingTop="11dp" android:paddingTop="11dp"
@ -209,7 +209,7 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/pOption3" android:id="@+id/pSearchSettingOption3"
android:tag="2" android:tag="2"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -275,7 +275,7 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/pOption4" android:id="@+id/pSearchSettingOption4"
android:tag="3" android:tag="3"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -342,7 +342,7 @@
<LinearLayout <LinearLayout
android:id="@+id/pOption5" android:id="@+id/pSearchSettingOption5"
android:tag="4" android:tag="4"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"

View File

@ -259,7 +259,7 @@
android:background="@color/c_white"/> android:background="@color/c_white"/>
<LinearLayout <LinearLayout
android:id="@+id/pBridgeSettingOption1" android:id="@+id/pSearchSettingOption1"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="55dp" android:layout_height="55dp"
android:background="@xml/gx_ripple_gray" android:background="@xml/gx_ripple_gray"
@ -317,7 +317,7 @@
android:background="@color/c_topbar_divider"/> android:background="@color/c_topbar_divider"/>
<LinearLayout <LinearLayout
android:id="@+id/pBridgeSettingOption2" android:id="@+id/pSearchSettingOption2"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="55dp" android:layout_height="55dp"
android:background="@xml/gx_ripple_gray" android:background="@xml/gx_ripple_gray"
@ -374,7 +374,7 @@
android:background="@color/c_topbar_divider"/> android:background="@color/c_topbar_divider"/>
<LinearLayout <LinearLayout
android:id="@+id/pOption3" android:id="@+id/pSearchSettingOption3"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="55dp" android:layout_height="55dp"
android:background="@xml/gx_ripple_gray" android:background="@xml/gx_ripple_gray"

View File

@ -110,7 +110,7 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/pBridgeSettingOption2" android:id="@+id/pSearchSettingOption2"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@xml/gx_ripple_gray" android:background="@xml/gx_ripple_gray"
@ -239,7 +239,7 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/pOption5" android:id="@+id/pSearchSettingOption5"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingTop="10dp" android:paddingTop="10dp"
@ -305,7 +305,7 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/pBridgeSettingOption1" android:id="@+id/pSearchSettingOption1"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@xml/gx_ripple_gray" android:background="@xml/gx_ripple_gray"
@ -371,7 +371,7 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/pOption4" android:id="@+id/pSearchSettingOption4"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@xml/gx_ripple_gray" android:background="@xml/gx_ripple_gray"
@ -438,7 +438,7 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/pOption3" android:id="@+id/pSearchSettingOption3"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal" android:orientation="horizontal"

View File

@ -117,7 +117,7 @@
android:background="@color/c_orbot_setting_divider"/> android:background="@color/c_orbot_setting_divider"/>
<LinearLayout <LinearLayout
android:id="@+id/pBridgeSettingOption1" android:id="@+id/pSearchSettingOption1"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="55dp" android:layout_height="55dp"
android:background="@xml/gx_ripple_gray" android:background="@xml/gx_ripple_gray"
@ -194,7 +194,7 @@
android:background="@color/c_orbot_setting_divider"/> android:background="@color/c_orbot_setting_divider"/>
<LinearLayout <LinearLayout
android:id="@+id/pBridgeSettingOption2" android:id="@+id/pSearchSettingOption2"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="55dp" android:layout_height="55dp"
android:background="@xml/gx_ripple_gray" android:background="@xml/gx_ripple_gray"
@ -271,7 +271,7 @@
android:background="@color/c_orbot_setting_divider"/> android:background="@color/c_orbot_setting_divider"/>
<LinearLayout <LinearLayout
android:id="@+id/pOption3" android:id="@+id/pSearchSettingOption3"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="55dp" android:layout_height="55dp"
android:background="@xml/gx_ripple_gray" android:background="@xml/gx_ripple_gray"
@ -348,7 +348,7 @@
android:background="@color/c_orbot_setting_divider"/> android:background="@color/c_orbot_setting_divider"/>
<LinearLayout <LinearLayout
android:id="@+id/pOption4" android:id="@+id/pSearchSettingOption4"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="55dp" android:layout_height="55dp"
android:background="@xml/gx_ripple_gray" android:background="@xml/gx_ripple_gray"
@ -425,7 +425,7 @@
android:background="@color/c_orbot_setting_divider"/> android:background="@color/c_orbot_setting_divider"/>
<LinearLayout <LinearLayout
android:id="@+id/pOption5" android:id="@+id/pSearchSettingOption5"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="55dp" android:layout_height="55dp"
android:background="@xml/gx_ripple_gray" android:background="@xml/gx_ripple_gray"

View File

@ -110,7 +110,7 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/pOption3" android:id="@+id/pSearchSettingOption3"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="15dp" android:layout_marginLeft="15dp"

View File

@ -220,7 +220,7 @@
android:singleLine="true" android:singleLine="true"
android:text="@string/SETTING_ACCESSIBILITY_FONT_CUSTOM_SAMPLE" android:text="@string/SETTING_ACCESSIBILITY_FONT_CUSTOM_SAMPLE"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
android:textSize="12sp" android:textSize="15sp"
android:textStyle="bold" /> android:textStyle="bold" />
<TextView <TextView

View File

@ -106,8 +106,7 @@
<string name="TOAST_ALERT_SETTING" translatable="true">أفتح الإعدادات</string> <string name="TOAST_ALERT_SETTING" translatable="true">أفتح الإعدادات</string>
<!-- Alert Bridge Mail --> <!-- Alert Bridge Mail -->
<string name="ALERT_BRIDGE_MAIL_HEADER" translatable="true">طلب جديد Bridge</string> <string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true">طلب جديد Bridge</string>
<string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true"><b><font color='#00b3b3'>REQUEST Bridge</font></b></string>
<string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">حدد البريد الإلكتروني أدناه لطلب عنوان Bridge بمجرد أن يكون لديك عنوان ، انسخه والصقه في المربع أعلاه وابدأ التطبيق.</string> <string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">حدد البريد الإلكتروني أدناه لطلب عنوان Bridge بمجرد أن يكون لديك عنوان ، انسخه والصقه في المربع أعلاه وابدأ التطبيق.</string>
<string name="ALERT_BRIDGE_MAIL" translatable="true">البريد</string> <string name="ALERT_BRIDGE_MAIL" translatable="true">البريد</string>
@ -391,6 +390,7 @@
<string name="HOME_MENU_HISTORY" translatable="true">تصفح روابط الويب</string> <string name="HOME_MENU_HISTORY" translatable="true">تصفح روابط الويب</string>
<string name="HOME_MENU_SETTING" translatable="true">اعدادات النظام</string> <string name="HOME_MENU_SETTING" translatable="true">اعدادات النظام</string>
<string name="HOME_MENU_DESKTOP" translatable="true">موقع سطح المكتب</string> <string name="HOME_MENU_DESKTOP" translatable="true">موقع سطح المكتب</string>
<string name="HOME_MENU_TOR_CONNECTION" translatable="true">Tor اتصال</string>
<string name="HOME_MENU_BOOKMARK" translatable="true">احفظ هذه الصفحة</string> <string name="HOME_MENU_BOOKMARK" translatable="true">احفظ هذه الصفحة</string>
<string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">إشارات مرجعية</string> <string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">إشارات مرجعية</string>
<string name="HOME_MENU_REPORT" translatable="true">تقرير الموقع</string> <string name="HOME_MENU_REPORT" translatable="true">تقرير الموقع</string>

View File

@ -94,9 +94,8 @@
<string name="TOAST_ALERT_SETTING" translatable="true">obre la configuració</string> <string name="TOAST_ALERT_SETTING" translatable="true">obre la configuració</string>
<!-- Alert Bridge Mail --> <!-- Alert Bridge Mail -->
<string name="ALERT_BRIDGE_MAIL_HEADER" translatable="true">Sol·licita Un Nou Bridge</string> <string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true">Sol·licita Un Nou Bridge</string>
<string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true"><b><font color='#00b3b3'>REQUEST Bridge</font></b></string> \ <string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Seleccioneu el correu electrònic següent per sol·licitar una adreça Bridge. Un cop tingueu una adreça, copieu-la i enganxeu-la al quadre anterior i inicieu l\'aplicació.</string>
<string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Seleccioneu el correu electrònic següent per sol·licitar una adreça Bridge. Un cop tingueu una adreça, copieu-la i enganxeu-la al quadre anterior i inicieu l\'aplicació.</string>
<string name="ALERT_BRIDGE_MAIL" translatable="true">Correu</string> <string name="ALERT_BRIDGE_MAIL" translatable="true">Correu</string>
<!-- Alert Rate Failure --> <!-- Alert Rate Failure -->
@ -322,7 +321,6 @@
<string name="SETTING_CLEAR_CACHE_OPTION_9" translatable="true">elimineu la personalització del navegador</string> <string name="SETTING_CLEAR_CACHE_OPTION_9" translatable="true">elimineu la personalització del navegador</string>
<string name="ALERT_ADD_BRIDGES_HINT" translatable="false">Bridge ...</string>
<string name="ALERT_CREATE_BOOKMARK" translatable="true">lloc web de marcadors</string> <string name="ALERT_CREATE_BOOKMARK" translatable="true">lloc web de marcadors</string>
<string name="ALERT_CLEAR_HISTORY" translatable="true">suprimiu els enllaços web i les dades navegats</string> <string name="ALERT_CLEAR_HISTORY" translatable="true">suprimiu els enllaços web i les dades navegats</string>
<string name="ALERT_CLEAR_BOOKMARK" translatable="true">neteja el marcador i les dades</string> <string name="ALERT_CLEAR_BOOKMARK" translatable="true">neteja el marcador i les dades</string>
@ -385,6 +383,7 @@
<string name="HOME_MENU_HISTORY" translatable="true">enllaços web navegats</string> <string name="HOME_MENU_HISTORY" translatable="true">enllaços web navegats</string>
<string name="HOME_MENU_SETTING" translatable="true">Configuració del sistema</string> <string name="HOME_MENU_SETTING" translatable="true">Configuració del sistema</string>
<string name="HOME_MENU_DESKTOP" translatable="true">lloc d\'escriptori</string> <string name="HOME_MENU_DESKTOP" translatable="true">lloc d\'escriptori</string>
<string name="HOME_MENU_TOR_CONNECTION" translatable="true">Tor Connexió</string>
<string name="HOME_MENU_BOOKMARK" translatable="true">deseu aquesta pàgina</string> <string name="HOME_MENU_BOOKMARK" translatable="true">deseu aquesta pàgina</string>
<string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">marcadors</string> <string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">marcadors</string>
<string name="HOME_MENU_REPORT" translatable="true">lloc web d\'informes</string> <string name="HOME_MENU_REPORT" translatable="true">lloc web d\'informes</string>

View File

@ -107,8 +107,7 @@
<string name="TOAST_ALERT_SETTING" translatable="true">otevřete nastavení</string> <string name="TOAST_ALERT_SETTING" translatable="true">otevřete nastavení</string>
<!-- Alert Bridge Mail --> <!-- Alert Bridge Mail -->
<string name="ALERT_BRIDGE_MAIL_HEADER" translatable="true">Vyžádat Nový Bridge</string> <string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true">Vyžádat Nový Bridge</string>
<string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true"><b><font color='#00b3b3'>REQUEST Bridge</font></b></string>
<string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Níže vyberte E-mail a požádejte o adresu Bridge. Jakmile adresu zadáte, zkopírujte ji a vložte do výše uvedeného pole a spusťte aplikaci.</string> <string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Níže vyberte E-mail a požádejte o adresu Bridge. Jakmile adresu zadáte, zkopírujte ji a vložte do výše uvedeného pole a spusťte aplikaci.</string>
<string name="ALERT_BRIDGE_MAIL" translatable="true">Pošta</string> <string name="ALERT_BRIDGE_MAIL" translatable="true">Pošta</string>
@ -396,6 +395,7 @@
<string name="HOME_MENU_HISTORY" translatable="true">procházené webové odkazy</string> <string name="HOME_MENU_HISTORY" translatable="true">procházené webové odkazy</string>
<string name="HOME_MENU_SETTING" translatable="true">Systémové nastavení</string> <string name="HOME_MENU_SETTING" translatable="true">Systémové nastavení</string>
<string name="HOME_MENU_DESKTOP" translatable="true">web pro počítače</string> <string name="HOME_MENU_DESKTOP" translatable="true">web pro počítače</string>
<string name="HOME_MENU_TOR_CONNECTION" translatable="true">Tor Spojení</string>
<string name="HOME_MENU_BOOKMARK" translatable="true">uložit tuto stránku</string> <string name="HOME_MENU_BOOKMARK" translatable="true">uložit tuto stránku</string>
<string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">záložky</string> <string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">záložky</string>
<string name="HOME_MENU_REPORT" translatable="true">nahlásit web</string> <string name="HOME_MENU_REPORT" translatable="true">nahlásit web</string>

View File

@ -108,8 +108,7 @@
<string name="TOAST_ALERT_SETTING" translatable="true">Einstellungen öffnen</string> <string name="TOAST_ALERT_SETTING" translatable="true">Einstellungen öffnen</string>
<!-- Alert Bridge Mail --> <!-- Alert Bridge Mail -->
<string name="ALERT_BRIDGE_MAIL_HEADER" translatable="true">Anfrage Neu Bridge</string> <string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true">Anfrage Neu Bridge</string>
<string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true"><b><font color='#00b3b3'>REQUEST Bridge</font></b></string>
<string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Wählen Sie unten E-Mail aus, um eine Bridge-Adresse anzufordern. Sobald Sie eine Adresse haben, kopieren Sie sie und fügen Sie sie in das obige Feld ein und starten Sie die Anwendung.</string> <string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Wählen Sie unten E-Mail aus, um eine Bridge-Adresse anzufordern. Sobald Sie eine Adresse haben, kopieren Sie sie und fügen Sie sie in das obige Feld ein und starten Sie die Anwendung.</string>
<string name="ALERT_BRIDGE_MAIL" translatable="true">E-Mail</string> <string name="ALERT_BRIDGE_MAIL" translatable="true">E-Mail</string>
@ -398,6 +397,7 @@
<string name="HOME_MENU_HISTORY" translatable="true">durchsuchte Weblinks</string> <string name="HOME_MENU_HISTORY" translatable="true">durchsuchte Weblinks</string>
<string name="HOME_MENU_SETTING" translatable="true">Systemeinstellung</string> <string name="HOME_MENU_SETTING" translatable="true">Systemeinstellung</string>
<string name="HOME_MENU_DESKTOP" translatable="true">Desktop-Site</string> <string name="HOME_MENU_DESKTOP" translatable="true">Desktop-Site</string>
<string name="HOME_MENU_TOR_CONNECTION" translatable="true">Tor Verbindung</string>
<string name="HOME_MENU_BOOKMARK" translatable="true">Speichern Sie diese Seite</string> <string name="HOME_MENU_BOOKMARK" translatable="true">Speichern Sie diese Seite</string>
<string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">Lesezeichen</string> <string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">Lesezeichen</string>
<string name="HOME_MENU_REPORT" translatable="true">report website</string> <string name="HOME_MENU_REPORT" translatable="true">report website</string>

View File

@ -159,8 +159,7 @@
<string name="ALERT_DOWNLOAD_OPTION_7" translatable="true">Λήψη αρχείου εικόνας</string> <string name="ALERT_DOWNLOAD_OPTION_7" translatable="true">Λήψη αρχείου εικόνας</string>
<!-- Alert Bridge Mail --> <!-- Alert Bridge Mail -->
<string name="ALERT_BRIDGE_MAIL_HEADER" translatable="true">Αίτημα Νέο Bridge</string> <string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true">Αίτημα Νέο Bridge</string>
<string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true"><b><font color='#00b3b3'>REQUEST Bridge</font></b></string>
<string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Επιλέξτε E-mail παρακάτω για να ζητήσετε μια διεύθυνση Bridge. Μόλις έχετε μια διεύθυνση, αντιγράψτε και επικολλήστε την στο παραπάνω πλαίσιο και ξεκινήστε την εφαρμογή.</string> <string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Επιλέξτε E-mail παρακάτω για να ζητήσετε μια διεύθυνση Bridge. Μόλις έχετε μια διεύθυνση, αντιγράψτε και επικολλήστε την στο παραπάνω πλαίσιο και ξεκινήστε την εφαρμογή.</string>
<string name="ALERT_BRIDGE_MAIL" translatable="true">Αλληλογραφία</string> <string name="ALERT_BRIDGE_MAIL" translatable="true">Αλληλογραφία</string>
@ -388,6 +387,7 @@
<string name="HOME_MENU_HISTORY" translatable="true">περιηγημένοι σύνδεσμοι ιστού</string> <string name="HOME_MENU_HISTORY" translatable="true">περιηγημένοι σύνδεσμοι ιστού</string>
<string name="HOME_MENU_SETTING" translatable="true">Ρυθμίσεις συστήματος</string> <string name="HOME_MENU_SETTING" translatable="true">Ρυθμίσεις συστήματος</string>
<string name="HOME_MENU_DESKTOP" translatable="true">επιτραπέζιος ιστότοπος</string> <string name="HOME_MENU_DESKTOP" translatable="true">επιτραπέζιος ιστότοπος</string>
<string name="HOME_MENU_TOR_CONNECTION" translatable="true">Tor Σύνδεση</string>
<string name="HOME_MENU_BOOKMARK" translatable="true">αποθηκεύστε αυτήν τη σελίδα</string> <string name="HOME_MENU_BOOKMARK" translatable="true">αποθηκεύστε αυτήν τη σελίδα</string>
<string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">σελιδοδείκτες</string> <string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">σελιδοδείκτες</string>
<string name="HOME_MENU_REPORT" translatable="true">αναφέρετε τον ιστότοπο</string> <string name="HOME_MENU_REPORT" translatable="true">αναφέρετε τον ιστότοπο</string>

View File

@ -84,10 +84,9 @@
<string name="BRIDGE_MEEK" translatable="true">Meek-azur (Chine)</string> <string name="BRIDGE_MEEK" translatable="true">Meek-azur (Chine)</string>
<!-- Alert Bridge Mail --> <!-- Alert Bridge Mail -->
<string name="ALERT_BRIDGE_MAIL_HEADER" translatable="true">demander nouveau Bridge</string> <string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true">demander nouveau Bridge</string>
<string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">sélectionnez mail pour demander une adresse bridge. une fois que vous l\'avez reçu, copiez-le et collez-le dans la case ci-dessus et démarrez le logiciel.</string> <string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">sélectionnez mail pour demander une adresse bridge. une fois que vous l\'avez reçu, copiez-le et collez-le dans la case ci-dessus et démarrez le logiciel.</string>
<string name="ALERT_BRIDGE_MAIL" translatable="true">mail</string> <string name="ALERT_BRIDGE_MAIL" translatable="true">mail</string>
<string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true"><b><font color='#00b3b3'>REQUEST Bridge</font></b></string>
<!-- Alert Advance Log --> <!-- Alert Advance Log -->
<string name="SETTING_ADVANCE_LOG_HEADER" translatable="true">changer la façon dont le journal système apparaît</string> <string name="SETTING_ADVANCE_LOG_HEADER" translatable="true">changer la façon dont le journal système apparaît</string>
@ -404,6 +403,7 @@
<string name="HOME_MENU_HISTORY" translatable="true">liens Web parcourus</string> <string name="HOME_MENU_HISTORY" translatable="true">liens Web parcourus</string>
<string name="HOME_MENU_SETTING" translatable="true">Paramètres système</string> <string name="HOME_MENU_SETTING" translatable="true">Paramètres système</string>
<string name="HOME_MENU_DESKTOP" translatable="true">desktop site</string> <string name="HOME_MENU_DESKTOP" translatable="true">desktop site</string>
<string name="HOME_MENU_TOR_CONNECTION" translatable="true">Tor Lien</string>
<string name="HOME_MENU_BOOKMARK" translatable="true">enregistrer cette page</string> <string name="HOME_MENU_BOOKMARK" translatable="true">enregistrer cette page</string>
<string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">signets</string> <string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">signets</string>
<string name="HOME_MENU_REPORT" translatable="true">rapport site Web</string> <string name="HOME_MENU_REPORT" translatable="true">rapport site Web</string>

View File

@ -108,8 +108,7 @@
<string name="TOAST_ALERT_SETTING" translatable="true">nyisd meg a beállításokat</string> <string name="TOAST_ALERT_SETTING" translatable="true">nyisd meg a beállításokat</string>
<!-- Alert Bridge Mail --> <!-- Alert Bridge Mail -->
<string name="ALERT_BRIDGE_MAIL_HEADER" translatable="true">Új Kérés Bridge</string> <string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true">Új Kérés Bridge</string>
<string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true"><b><font color='#00b3b3'>REQUEST Bridge</font></b></string>
<string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Válassza ki az alábbi e-mailt az Bridge-es cím kéréséhez. Ha megvan a címe, másolja ki és illessze be a fenti mezőbe, és indítsa el az alkalmazást.</string> <string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Válassza ki az alábbi e-mailt az Bridge-es cím kéréséhez. Ha megvan a címe, másolja ki és illessze be a fenti mezőbe, és indítsa el az alkalmazást.</string>
<string name="ALERT_BRIDGE_MAIL" translatable="true">Mail</string> <string name="ALERT_BRIDGE_MAIL" translatable="true">Mail</string>
@ -338,8 +337,6 @@
<string name="SETTING_CLEAR_CACHE_OPTION_9" translatable="true">távolítsa el a böngésző testreszabását</string> <string name="SETTING_CLEAR_CACHE_OPTION_9" translatable="true">távolítsa el a böngésző testreszabását</string>
<string name="ALERT_ADD_BRIDGES_HINT" translatable="false">Bridge ...</string>
<string name="ALERT_CREATE_BOOKMARK" translatable="true">könyvjelző weboldal</string> <string name="ALERT_CREATE_BOOKMARK" translatable="true">könyvjelző weboldal</string>
<string name="ALERT_CLEAR_HISTORY" translatable="true">törölje a böngészett weblinkeket és az adatokat</string> <string name="ALERT_CLEAR_HISTORY" translatable="true">törölje a böngészett weblinkeket és az adatokat</string>
<string name="ALERT_CLEAR_BOOKMARK" translatable="true">törölje a könyvjelzőt és az adatokat</string> <string name="ALERT_CLEAR_BOOKMARK" translatable="true">törölje a könyvjelzőt és az adatokat</string>
@ -390,6 +387,7 @@
<string name="HOME_MENU_HISTORY" translatable="true">böngészett weblinkek</string> <string name="HOME_MENU_HISTORY" translatable="true">böngészett weblinkek</string>
<string name="HOME_MENU_SETTING" translatable="true">Rendszerbeállítás</string> <string name="HOME_MENU_SETTING" translatable="true">Rendszerbeállítás</string>
<string name="HOME_MENU_DESKTOP" translatable="true">asztali webhely</string> <string name="HOME_MENU_DESKTOP" translatable="true">asztali webhely</string>
<string name="HOME_MENU_TOR_CONNECTION" translatable="true">Tor Kapcsolat</string>
<string name="HOME_MENU_BOOKMARK" translatable="true">mentsd el ezt az oldalt</string> <string name="HOME_MENU_BOOKMARK" translatable="true">mentsd el ezt az oldalt</string>
<string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">könyvjelzők</string> <string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">könyvjelzők</string>
<string name="HOME_MENU_REPORT" translatable="true">jelentés honlapja</string> <string name="HOME_MENU_REPORT" translatable="true">jelentés honlapja</string>

View File

@ -80,7 +80,7 @@
<string name="BRIDGE_MEEK" translatable="true">Meek-biru (Cina)</string> <string name="BRIDGE_MEEK" translatable="true">Meek-biru (Cina)</string>
<!-- Alert Bridge Mail --> <!-- Alert Bridge Mail -->
<string name="ALERT_BRIDGE_MAIL_HEADER" translatable="true">aanvragen selecteer mail om een bridge-adres aan te vragen. Zodra u het heeft ontvangen, kopieert en plakt u het in het bovenstaande vak en start u de software.taal niet ondersteund</string> <string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true">REQUEST BRIDGE</string>
<string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">systeemtaal wordt niet ondersteund door deze software. we werken eraan om het binnenkort op te nemen</string> <string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">systeemtaal wordt niet ondersteund door deze software. we werken eraan om het binnenkort op te nemen</string>
<string name="ALERT_BRIDGE_MAIL" translatable="true">mail</string> <string name="ALERT_BRIDGE_MAIL" translatable="true">mail</string>
@ -108,9 +108,6 @@
<string name="TOAST_ALERT_NEW_CIRCUIT_CREATED" translatable="true">Identitas baru dibuat</string> <string name="TOAST_ALERT_NEW_CIRCUIT_CREATED" translatable="true">Identitas baru dibuat</string>
<string name="TOAST_ALERT_SETTING" translatable="true">buka pengaturan</string> <string name="TOAST_ALERT_SETTING" translatable="true">buka pengaturan</string>
<!-- Alert Bridge Mail -->
<string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true"><b><font color='#00b3b3'>REQUEST Bridge</font></b></string>
<!-- Alert Rate Failure --> <!-- Alert Rate Failure -->
<string name="ALERT_RATEUS_FAILURE_HEADER" translatable="true">MAAF MENDENGARNYA</string> <string name="ALERT_RATEUS_FAILURE_HEADER" translatable="true">MAAF MENDENGARNYA</string>
<string name="ALERT_RATEUS_FAILURE_INFO" translatable="true">Jika Anda mengalami kesulitan saat menggunakan aplikasi ini, silakan hubungi kami melalui email. Kami akan mencoba menyelesaikan masalah Anda sesegera mungkin</string> <string name="ALERT_RATEUS_FAILURE_INFO" translatable="true">Jika Anda mengalami kesulitan saat menggunakan aplikasi ini, silakan hubungi kami melalui email. Kami akan mencoba menyelesaikan masalah Anda sesegera mungkin</string>
@ -386,7 +383,8 @@
<string name="HOME_MENU_DOWNLOAD" translatable="true">downloads</string> <string name="HOME_MENU_DOWNLOAD" translatable="true">downloads</string>
<string name="HOME_MENU_HISTORY" translatable="true">bladwijzers</string> <string name="HOME_MENU_HISTORY" translatable="true">bladwijzers</string>
<string name="HOME_MENU_SETTING" translatable="true">Sla Deze Pagina Op</string> <string name="HOME_MENU_SETTING" translatable="true">Sla Deze Pagina Op</string>
<string name="HOME_MENU_DESKTOP" translatable="true">desktop site</string> <string name="HOME_MENU_DESKTOP" translatable="true">desktop Verbinding</string>
<string name="HOME_MENU_TOR_CONNECTION" translatable="true">Tor Connection</string>
<string name="HOME_MENU_BOOKMARK" translatable="true">rapport website</string> <string name="HOME_MENU_BOOKMARK" translatable="true">rapport website</string>
<string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">beoordeel deze app</string> <string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">beoordeel deze app</string>
<string name="HOME_MENU_REPORT" translatable="true">vind op pagina</string> <string name="HOME_MENU_REPORT" translatable="true">vind op pagina</string>

View File

@ -108,8 +108,7 @@
<string name="TOAST_ALERT_SETTING" translatable="true">apri impostazioni</string> <string name="TOAST_ALERT_SETTING" translatable="true">apri impostazioni</string>
<!-- Alert Bridge Mail --> <!-- Alert Bridge Mail -->
<string name="ALERT_BRIDGE_MAIL_HEADER" translatable="true">Richiedi Nuovo Bridge</string> <string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true">Richiedi Nuovo Bridge</string>
<string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true"><b><font color='#00b3b3'>REQUEST Bridge</font></b></string>
<string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Seleziona E-mail qui sotto per richiedere un indirizzo Bridge. Una volta che hai un indirizzo, copialo e incollalo nella casella sopra e avvia l\'applicazione.</string> <string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Seleziona E-mail qui sotto per richiedere un indirizzo Bridge. Una volta che hai un indirizzo, copialo e incollalo nella casella sopra e avvia l\'applicazione.</string>
<string name="ALERT_BRIDGE_MAIL" translatable="true">Posta</string> <string name="ALERT_BRIDGE_MAIL" translatable="true">Posta</string>
@ -355,8 +354,6 @@
<string name="SETTING_CLEAR_CACHE_OPTION_9" translatable="true">rimuovere la personalizzazione del browser</string> <string name="SETTING_CLEAR_CACHE_OPTION_9" translatable="true">rimuovere la personalizzazione del browser</string>
<string name="ALERT_ADD_BRIDGES_HINT" translatable="false">Bridge ...</string>
<string name="ALERT_CREATE_BOOKMARK" translatable="true">sito web di segnalibro</string> <string name="ALERT_CREATE_BOOKMARK" translatable="true">sito web di segnalibro</string>
<string name="ALERT_CLEAR_HISTORY" translatable="true">eliminare i collegamenti Web ei dati esplorati</string> <string name="ALERT_CLEAR_HISTORY" translatable="true">eliminare i collegamenti Web ei dati esplorati</string>
<string name="ALERT_CLEAR_BOOKMARK" translatable="true">segnalibro chiaro e dati</string> <string name="ALERT_CLEAR_BOOKMARK" translatable="true">segnalibro chiaro e dati</string>
@ -408,6 +405,7 @@
<string name="HOME_MENU_HISTORY" translatable="true">collegamenti Web visitati</string> <string name="HOME_MENU_HISTORY" translatable="true">collegamenti Web visitati</string>
<string name="HOME_MENU_SETTING" translatable="true">Impostazioni di sistema</string> <string name="HOME_MENU_SETTING" translatable="true">Impostazioni di sistema</string>
<string name="HOME_MENU_DESKTOP" translatable="true">sito desktop</string> <string name="HOME_MENU_DESKTOP" translatable="true">sito desktop</string>
<string name="HOME_MENU_TOR_CONNECTION" translatable="true">Tor Connessione</string>
<string name="HOME_MENU_BOOKMARK" translatable="true">salva questa pagina</string> <string name="HOME_MENU_BOOKMARK" translatable="true">salva questa pagina</string>
<string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">segnalibri</string> <string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">segnalibri</string>
<string name="HOME_MENU_REPORT" translatable="true">sito web di report</string> <string name="HOME_MENU_REPORT" translatable="true">sito web di report</string>

View File

@ -338,8 +338,6 @@
<string name="SETTING_CLEAR_CACHE_OPTION_9" translatable="true">ブラウザのカスタマイズを削除する</string> <string name="SETTING_CLEAR_CACHE_OPTION_9" translatable="true">ブラウザのカスタマイズを削除する</string>
<string name="ALERT_ADD_BRIDGES_HINT" translatable="false">Bridge ...</string>
<string name="ALERT_CREATE_BOOKMARK" translatable="true">ブックマークのウェブサイト</string> <string name="ALERT_CREATE_BOOKMARK" translatable="true">ブックマークのウェブサイト</string>
<string name="ALERT_CLEAR_HISTORY" translatable="true">閲覧したウェブリンクとデータを削除する</string> <string name="ALERT_CLEAR_HISTORY" translatable="true">閲覧したウェブリンクとデータを削除する</string>
<string name="ALERT_CLEAR_BOOKMARK" translatable="true">ブックマークとデータをクリアする</string> <string name="ALERT_CLEAR_BOOKMARK" translatable="true">ブックマークとデータをクリアする</string>
@ -391,6 +389,7 @@
<string name="HOME_MENU_HISTORY" translatable="true">閲覧したWebリンク</string> <string name="HOME_MENU_HISTORY" translatable="true">閲覧したWebリンク</string>
<string name="HOME_MENU_SETTING" translatable="true">システム設定</string> <string name="HOME_MENU_SETTING" translatable="true">システム設定</string>
<string name="HOME_MENU_DESKTOP" translatable="true">デスクトップサイト</string> <string name="HOME_MENU_DESKTOP" translatable="true">デスクトップサイト</string>
<string name="HOME_MENU_TOR_CONNECTION" translatable="true">Tor 繋がり</string>
<string name="HOME_MENU_BOOKMARK" translatable="true">このページを保存する</string> <string name="HOME_MENU_BOOKMARK" translatable="true">このページを保存する</string>
<string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">ブックマーク</string> <string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">ブックマーク</string>
<string name="HOME_MENU_REPORT" translatable="true">レポートのウェブサイト</string> <string name="HOME_MENU_REPORT" translatable="true">レポートのウェブサイト</string>

View File

@ -108,8 +108,7 @@
<string name="TOAST_ALERT_SETTING" translatable="true">설정 열기</string> <string name="TOAST_ALERT_SETTING" translatable="true">설정 열기</string>
<!-- Alert Bridge Mail --> <!-- Alert Bridge Mail -->
<string name="ALERT_BRIDGE_MAIL_HEADER" translatable="true">새로운 요청 Bridge</string> <string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true">새로운 요청 Bridge</string>
<string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true"><b><font color='#00b3b3'>REQUEST Bridge</font></b></string>
<string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Bridge 주소를 요청하려면 아래 이메일을 선택하십시오. 주소가 있으면 복사하여 위의 상자에 붙여넣고 응용 프로그램을 시작하십시오.</string> <string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Bridge 주소를 요청하려면 아래 이메일을 선택하십시오. 주소가 있으면 복사하여 위의 상자에 붙여넣고 응용 프로그램을 시작하십시오.</string>
<string name="ALERT_BRIDGE_MAIL" translatable="true">메일</string> <string name="ALERT_BRIDGE_MAIL" translatable="true">메일</string>
@ -343,8 +342,6 @@
<string name="SETTING_CLEAR_CACHE_OPTION_9" translatable="true">브라우저 사용자 정의 제거</string> <string name="SETTING_CLEAR_CACHE_OPTION_9" translatable="true">브라우저 사용자 정의 제거</string>
<string name="ALERT_ADD_BRIDGES_HINT" translatable="false">Bridge ...</string>
<string name="ALERT_CREATE_BOOKMARK" translatable="true">북마크 웹 사이트</string> <string name="ALERT_CREATE_BOOKMARK" translatable="true">북마크 웹 사이트</string>
<string name="ALERT_CLEAR_HISTORY" translatable="true">탐색 한 웹 링크 및 데이터 삭제</string> <string name="ALERT_CLEAR_HISTORY" translatable="true">탐색 한 웹 링크 및 데이터 삭제</string>
<string name="ALERT_CLEAR_BOOKMARK" translatable="true">책갈피 및 데이터 지우기</string> <string name="ALERT_CLEAR_BOOKMARK" translatable="true">책갈피 및 데이터 지우기</string>
@ -396,6 +393,7 @@
<string name="HOME_MENU_HISTORY" translatable="true">탐색 한 웹 링크</string> <string name="HOME_MENU_HISTORY" translatable="true">탐색 한 웹 링크</string>
<string name="HOME_MENU_SETTING" translatable="true">시스템 설정</string> <string name="HOME_MENU_SETTING" translatable="true">시스템 설정</string>
<string name="HOME_MENU_DESKTOP" translatable="true">데스크탑 사이트</string> <string name="HOME_MENU_DESKTOP" translatable="true">데스크탑 사이트</string>
<string name="HOME_MENU_TOR_CONNECTION" translatable="true">Tor 연결</string>
<string name="HOME_MENU_BOOKMARK" translatable="true">이 페이지 저장</string> <string name="HOME_MENU_BOOKMARK" translatable="true">이 페이지 저장</string>
<string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">북마크</string> <string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">북마크</string>
<string name="HOME_MENU_REPORT" translatable="true">웹 사이트 신고</string> <string name="HOME_MENU_REPORT" translatable="true">웹 사이트 신고</string>

View File

@ -104,8 +104,7 @@
<string name="TOAST_ALERT_SETTING" translatable="true">open instellingen</string> <string name="TOAST_ALERT_SETTING" translatable="true">open instellingen</string>
<!-- Alert Bridge Mail --> <!-- Alert Bridge Mail -->
<string name="ALERT_BRIDGE_MAIL_HEADER" translatable="true">Nieuw Bridge Aanvragen</string> <string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true">Nieuw Bridge Aanvragen</string>
<string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true"><b><font color='#00b3b3'>REQUEST Bridge</font></b></string>
<string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Selecteer E-mail hieronder om een Bridge-adres aan te vragen. Zodra u een adres heeft, kopieert en plakt u het in het bovenstaande vak en start u de aanvraag.</string> <string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Selecteer E-mail hieronder om een Bridge-adres aan te vragen. Zodra u een adres heeft, kopieert en plakt u het in het bovenstaande vak en start u de aanvraag.</string>
<string name="ALERT_BRIDGE_MAIL" translatable="true">Mail</string> <string name="ALERT_BRIDGE_MAIL" translatable="true">Mail</string>
@ -335,8 +334,6 @@
<string name="SETTING_CLEAR_CACHE_OPTION_9" translatable="true">Browserinstellingen wissen</string> <string name="SETTING_CLEAR_CACHE_OPTION_9" translatable="true">Browserinstellingen wissen</string>
<!-- Alerts --> <!-- Alerts -->
<string name="ALERT_ADD_BRIDGES_HINT" translatable="true">brug snaar ...</string>
<string name="ALERT_CREATE_BOOKMARK" translatable="true">Bookmark Website</string> <string name="ALERT_CREATE_BOOKMARK" translatable="true">Bookmark Website</string>
<string name="ALERT_CLEAR_HISTORY" translatable="true">Geschiedenis en gegevens wissen</string> <string name="ALERT_CLEAR_HISTORY" translatable="true">Geschiedenis en gegevens wissen</string>
<string name="ALERT_CLEAR_BOOKMARK" translatable="true">Bladwijzer en gegevens wissen</string> <string name="ALERT_CLEAR_BOOKMARK" translatable="true">Bladwijzer en gegevens wissen</string>
@ -386,6 +383,7 @@
<string name="HOME_MENU_HISTORY" translatable="true">Geschiedenis</string> <string name="HOME_MENU_HISTORY" translatable="true">Geschiedenis</string>
<string name="HOME_MENU_SETTING" translatable="true">Instellingen</string> <string name="HOME_MENU_SETTING" translatable="true">Instellingen</string>
<string name="HOME_MENU_DESKTOP" translatable="true">Desktopsite</string> <string name="HOME_MENU_DESKTOP" translatable="true">Desktopsite</string>
<string name="HOME_MENU_TOR_CONNECTION" translatable="true">Tor Verbinding</string>
<string name="HOME_MENU_BOOKMARK" translatable="true">Maak Een Bladwijzer Voor Deze Pagina</string> <string name="HOME_MENU_BOOKMARK" translatable="true">Maak Een Bladwijzer Voor Deze Pagina</string>
<string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">Bladwijzers</string> <string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">Bladwijzers</string>
<string name="HOME_MENU_REPORT" translatable="true">Rapport website</string> <string name="HOME_MENU_REPORT" translatable="true">Rapport website</string>

View File

@ -108,8 +108,7 @@
<string name="TOAST_ALERT_SETTING" translatable="true">abrir configurações</string> <string name="TOAST_ALERT_SETTING" translatable="true">abrir configurações</string>
<!-- Alert Bridge Mail --> <!-- Alert Bridge Mail -->
<string name="ALERT_BRIDGE_MAIL_HEADER" translatable="true">Solicitar Novo Bridge</string> <string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true">Solicitar Novo Bridge</string>
<string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true"><b><font color='#00b3b3'>REQUEST Bridge</font></b></string>
<string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Selecione E-mail abaixo para solicitar um endereço Bridge.Uma vez que você tenha um endereço, copie e cole na caixa acima e inicie o aplicativo.</string> <string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Selecione E-mail abaixo para solicitar um endereço Bridge.Uma vez que você tenha um endereço, copie e cole na caixa acima e inicie o aplicativo.</string>
<string name="ALERT_BRIDGE_MAIL" translatable="true">Mail</string> <string name="ALERT_BRIDGE_MAIL" translatable="true">Mail</string>
@ -347,8 +346,6 @@
<string name="SETTING_CLEAR_CACHE_OPTION_9" translatable="true">remover personalização do navegador</string> <string name="SETTING_CLEAR_CACHE_OPTION_9" translatable="true">remover personalização do navegador</string>
<string name="ALERT_ADD_BRIDGES_HINT" translatable="false">Bridge ...</string>
<string name="ALERT_CREATE_BOOKMARK" translatable="true">site de favoritos</string> <string name="ALERT_CREATE_BOOKMARK" translatable="true">site de favoritos</string>
<string name="ALERT_CLEAR_HISTORY" translatable="true">excluir links da web navegados e dados</string> <string name="ALERT_CLEAR_HISTORY" translatable="true">excluir links da web navegados e dados</string>
<string name="ALERT_CLEAR_BOOKMARK" translatable="true">limpar favorito e dados</string> <string name="ALERT_CLEAR_BOOKMARK" translatable="true">limpar favorito e dados</string>
@ -399,6 +396,7 @@
<string name="HOME_MENU_HISTORY" translatable="true">links da web navegados</string> <string name="HOME_MENU_HISTORY" translatable="true">links da web navegados</string>
<string name="HOME_MENU_SETTING" translatable="true">Configuração de sistema</string> <string name="HOME_MENU_SETTING" translatable="true">Configuração de sistema</string>
<string name="HOME_MENU_DESKTOP" translatable="true">desktop site</string> <string name="HOME_MENU_DESKTOP" translatable="true">desktop site</string>
<string name="HOME_MENU_TOR_CONNECTION" translatable="true">Tor Conexão</string>
<string name="HOME_MENU_BOOKMARK" translatable="true">salve esta página</string> <string name="HOME_MENU_BOOKMARK" translatable="true">salve esta página</string>
<string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">favoritos</string> <string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">favoritos</string>
<string name="HOME_MENU_REPORT" translatable="true">site do relatório</string> <string name="HOME_MENU_REPORT" translatable="true">site do relatório</string>

View File

@ -108,8 +108,7 @@
<string name="TOAST_ALERT_SETTING" translatable="true">deschide setările</string> <string name="TOAST_ALERT_SETTING" translatable="true">deschide setările</string>
<!-- Alert Bridge Mail --> <!-- Alert Bridge Mail -->
<string name="ALERT_BRIDGE_MAIL_HEADER" translatable="true">Cerere Nouă Bridge</string> <string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true">Cerere Nouă Bridge</string>
<string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true"><b><font color='#00b3b3'>REQUEST Bridge</font></b></string>
<string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Selectați E-mailul de mai jos pentru a solicita o adresă Bridge. După ce aveți o adresă, copiați-o și lipiți-o în caseta de mai sus și porniți aplicația.</string> <string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Selectați E-mailul de mai jos pentru a solicita o adresă Bridge. După ce aveți o adresă, copiați-o și lipiți-o în caseta de mai sus și porniți aplicația.</string>
<string name="ALERT_BRIDGE_MAIL" translatable="true">Mail</string> <string name="ALERT_BRIDGE_MAIL" translatable="true">Mail</string>
@ -341,8 +340,6 @@
<string name="SETTING_CLEAR_CACHE_OPTION_9" translatable="true">eliminați personalizarea browserului</string> <string name="SETTING_CLEAR_CACHE_OPTION_9" translatable="true">eliminați personalizarea browserului</string>
<string name="ALERT_ADD_BRIDGES_HINT" translatable="false">Bridge ...</string>
<string name="ALERT_CREATE_BOOKMARK" translatable="true">site de marcaje</string> <string name="ALERT_CREATE_BOOKMARK" translatable="true">site de marcaje</string>
<string name="ALERT_CLEAR_HISTORY" translatable="true">ștergeți linkurile web și datele navigate</string> <string name="ALERT_CLEAR_HISTORY" translatable="true">ștergeți linkurile web și datele navigate</string>
<string name="ALERT_CLEAR_BOOKMARK" translatable="true">marcaj clar și date</string> <string name="ALERT_CLEAR_BOOKMARK" translatable="true">marcaj clar și date</string>
@ -394,6 +391,7 @@
<string name="HOME_MENU_HISTORY" translatable="true">legături web navigate</string> <string name="HOME_MENU_HISTORY" translatable="true">legături web navigate</string>
<string name="HOME_MENU_SETTING" translatable="true">Setarea sistemului</string> <string name="HOME_MENU_SETTING" translatable="true">Setarea sistemului</string>
<string name="HOME_MENU_DESKTOP" translatable="true">desktop site</string> <string name="HOME_MENU_DESKTOP" translatable="true">desktop site</string>
<string name="HOME_MENU_TOR_CONNECTION" translatable="true">Tor Conexiune</string>
<string name="HOME_MENU_BOOKMARK" translatable="true">salvați această pagină</string> <string name="HOME_MENU_BOOKMARK" translatable="true">salvați această pagină</string>
<string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">marcaje</string> <string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">marcaje</string>
<string name="HOME_MENU_REPORT" translatable="true">raportați site-ul web</string> <string name="HOME_MENU_REPORT" translatable="true">raportați site-ul web</string>

View File

@ -108,8 +108,7 @@
<string name="TOAST_ALERT_SETTING" translatable="true">открыть настройки</string> <string name="TOAST_ALERT_SETTING" translatable="true">открыть настройки</string>
<!-- Alert Bridge Mail --> <!-- Alert Bridge Mail -->
<string name="ALERT_BRIDGE_MAIL_HEADER" translatable="true">Запросить новый Bridge</string> <string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true">Запросить новый Bridge</string>
<string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true"><b><font color='#00b3b3'>REQUEST Bridge</font></b></string>
<string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Выберите адрес электронной почты ниже, чтобы запросить адрес Bridge. Как только у вас есть адрес, скопируйте и вставьте его в поле выше и запустите приложение.</string> <string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Выберите адрес электронной почты ниже, чтобы запросить адрес Bridge. Как только у вас есть адрес, скопируйте и вставьте его в поле выше и запустите приложение.</string>
<string name="ALERT_BRIDGE_MAIL" translatable="true">Почта</string> <string name="ALERT_BRIDGE_MAIL" translatable="true">Почта</string>
@ -336,8 +335,6 @@
<string name="SETTING_CLEAR_CACHE_OPTION_9" translatable="true">удалить настройки браузера</string> <string name="SETTING_CLEAR_CACHE_OPTION_9" translatable="true">удалить настройки браузера</string>
<string name="ALERT_ADD_BRIDGES_HINT" translatable="false">Bridge ...</string>
<string name="ALERT_CREATE_BOOKMARK" translatable="true">сайт закладок</string> <string name="ALERT_CREATE_BOOKMARK" translatable="true">сайт закладок</string>
<string name="ALERT_CLEAR_HISTORY" translatable="true">удалить просмотренные веб-ссылки и данные</string> <string name="ALERT_CLEAR_HISTORY" translatable="true">удалить просмотренные веб-ссылки и данные</string>
<string name="ALERT_CLEAR_BOOKMARK" translatable="true">очистить закладку и данные</string> <string name="ALERT_CLEAR_BOOKMARK" translatable="true">очистить закладку и данные</string>
@ -386,6 +383,7 @@
<string name="HOME_MENU_HISTORY" translatable="true">просмотренные веб-ссылки</string> <string name="HOME_MENU_HISTORY" translatable="true">просмотренные веб-ссылки</string>
<string name="HOME_MENU_SETTING" translatable="true">Системные настройки</string> <string name="HOME_MENU_SETTING" translatable="true">Системные настройки</string>
<string name="HOME_MENU_DESKTOP" translatable="true">настольный сайт</string> <string name="HOME_MENU_DESKTOP" translatable="true">настольный сайт</string>
<string name="HOME_MENU_TOR_CONNECTION" translatable="true">Tor Связь</string>
<string name="HOME_MENU_BOOKMARK" translatable="true">сохранить эту страницу</string> <string name="HOME_MENU_BOOKMARK" translatable="true">сохранить эту страницу</string>
<string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">закладки</string> <string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">закладки</string>
<string name="HOME_MENU_REPORT" translatable="true">веб-сайт отчета</string> <string name="HOME_MENU_REPORT" translatable="true">веб-сайт отчета</string>

View File

@ -108,8 +108,7 @@
<string name="TOAST_ALERT_SETTING" translatable="true">เปิดการตั้งค่า</string> <string name="TOAST_ALERT_SETTING" translatable="true">เปิดการตั้งค่า</string>
<!-- Alert Bridge Mail --> <!-- Alert Bridge Mail -->
<string name="ALERT_BRIDGE_MAIL_HEADER" translatable="true">ขอใหม่ Bridge</string> <string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true">ขอใหม่ Bridge</string>
<string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true"><b><font color='#00b3b3'>REQUEST Bridge</font></b></string>
<string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">เลือกอีเมลด้านล่างเพื่อขอที่อยู่ Bridge เมื่อคุณมีที่อยู่แล้ว ให้คัดลอกและวางลงในช่องด้านบนแล้วเริ่มแอปพลิเคชัน</string> <string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">เลือกอีเมลด้านล่างเพื่อขอที่อยู่ Bridge เมื่อคุณมีที่อยู่แล้ว ให้คัดลอกและวางลงในช่องด้านบนแล้วเริ่มแอปพลิเคชัน</string>
<string name="ALERT_BRIDGE_MAIL" translatable="true">จดหมาย</string> <string name="ALERT_BRIDGE_MAIL" translatable="true">จดหมาย</string>
@ -346,8 +345,6 @@
<string name="SETTING_CLEAR_CACHE_OPTION_9" translatable="true">ลบการปรับแต่งเบราว์เซอร์</string> <string name="SETTING_CLEAR_CACHE_OPTION_9" translatable="true">ลบการปรับแต่งเบราว์เซอร์</string>
<string name="ALERT_ADD_BRIDGES_HINT" translatable="false">Bridge ...</string>
<string name="ALERT_CREATE_BOOKMARK" translatable="true">เว็บไซต์บุ๊คมาร์ค</string> <string name="ALERT_CREATE_BOOKMARK" translatable="true">เว็บไซต์บุ๊คมาร์ค</string>
<string name="ALERT_CLEAR_HISTORY" translatable="true">ลบเว็บลิงค์และข้อมูลที่เรียกดู</string> <string name="ALERT_CLEAR_HISTORY" translatable="true">ลบเว็บลิงค์และข้อมูลที่เรียกดู</string>
<string name="ALERT_CLEAR_BOOKMARK" translatable="true">ล้างบุ๊คมาร์คและข้อมูล</string> <string name="ALERT_CLEAR_BOOKMARK" translatable="true">ล้างบุ๊คมาร์คและข้อมูล</string>
@ -399,6 +396,7 @@
<string name="HOME_MENU_HISTORY" translatable="true">ลิงก์เว็บที่เรียกดู</string> <string name="HOME_MENU_HISTORY" translatable="true">ลิงก์เว็บที่เรียกดู</string>
<string name="HOME_MENU_SETTING" translatable="true">การตั้งค่าระบบ</string> <string name="HOME_MENU_SETTING" translatable="true">การตั้งค่าระบบ</string>
<string name="HOME_MENU_DESKTOP" translatable="true">ไซต์เดสก์ท็อป</string> <string name="HOME_MENU_DESKTOP" translatable="true">ไซต์เดสก์ท็อป</string>
<string name="HOME_MENU_TOR_CONNECTION" translatable="true">Tor การเชื่อมต่อ</string>
<string name="HOME_MENU_BOOKMARK" translatable="true">บันทึกหน้านี้</string> <string name="HOME_MENU_BOOKMARK" translatable="true">บันทึกหน้านี้</string>
<string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">บุ๊คมาร์ค</string> <string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">บุ๊คมาร์ค</string>
<string name="HOME_MENU_REPORT" translatable="true">รายงานเว็บไซต์</string> <string name="HOME_MENU_REPORT" translatable="true">รายงานเว็บไซต์</string>

View File

@ -159,8 +159,7 @@
<string name="ALERT_DOWNLOAD_OPTION_7" translatable="true">Resim dosyasını indirin</string> <string name="ALERT_DOWNLOAD_OPTION_7" translatable="true">Resim dosyasını indirin</string>
<!-- Alert Bridge Mail --> <!-- Alert Bridge Mail -->
<string name="ALERT_BRIDGE_MAIL_HEADER" translatable="true">Yeni Bridge Talebi</string> <string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true">Yeni Bridge Talebi</string>
<string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true"><b><font color='#00b3b3'>REQUEST Bridge</font></b></string>
<string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Bridge adresi istemek için aşağıdaki E-posta\'yı seçin. Bir adresiniz olduğunda, kopyalayıp yukarıdaki kutuya yapıştırın ve uygulamayı başlatın.</string> <string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Bridge adresi istemek için aşağıdaki E-posta\'yı seçin. Bir adresiniz olduğunda, kopyalayıp yukarıdaki kutuya yapıştırın ve uygulamayı başlatın.</string>
<string name="ALERT_BRIDGE_MAIL" translatable="true">Posta</string> <string name="ALERT_BRIDGE_MAIL" translatable="true">Posta</string>
@ -391,6 +390,7 @@
<string name="HOME_MENU_HISTORY" translatable="true">taranan web bağlantıları</string> <string name="HOME_MENU_HISTORY" translatable="true">taranan web bağlantıları</string>
<string name="HOME_MENU_SETTING" translatable="true">Sistem ayarı</string> <string name="HOME_MENU_SETTING" translatable="true">Sistem ayarı</string>
<string name="HOME_MENU_DESKTOP" translatable="true">masaüstü sitesi</string> <string name="HOME_MENU_DESKTOP" translatable="true">masaüstü sitesi</string>
<string name="HOME_MENU_TOR_CONNECTION" translatable="true">Tor Bağ</string>
<string name="HOME_MENU_BOOKMARK" translatable="true">bu sayfayı kaydet</string> <string name="HOME_MENU_BOOKMARK" translatable="true">bu sayfayı kaydet</string>
<string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">yer imleri</string> <string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">yer imleri</string>
<string name="HOME_MENU_REPORT" translatable="true">web sitesini bildir</string> <string name="HOME_MENU_REPORT" translatable="true">web sitesini bildir</string>

View File

@ -104,8 +104,7 @@
<string name="TOAST_ALERT_SETTING" translatable="true">відкрити налаштування</string> <string name="TOAST_ALERT_SETTING" translatable="true">відкрити налаштування</string>
<!-- Alert Bridge Mail --> <!-- Alert Bridge Mail -->
<string name="ALERT_BRIDGE_MAIL_HEADER" translatable="true">Запит нового Bridge</string> <string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true">Запит нового Bridge</string>
<string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true"><b><font color='#00b3b3'>REQUEST Bridge</font></b></string>
<string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Виберіть E-mail нижче, щоб надіслати запит на адресу Bridge. Після того, як у вас є адреса, скопіюйте та вставте її у вікно вище та запустіть програму.</string> <string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Виберіть E-mail нижче, щоб надіслати запит на адресу Bridge. Після того, як у вас є адреса, скопіюйте та вставте її у вікно вище та запустіть програму.</string>
<string name="ALERT_BRIDGE_MAIL" translatable="true">Пошта</string> <string name="ALERT_BRIDGE_MAIL" translatable="true">Пошта</string>
@ -338,8 +337,6 @@
<string name="SETTING_CLEAR_CACHE_OPTION_9" translatable="true">Очистити налаштування браузера</string> <string name="SETTING_CLEAR_CACHE_OPTION_9" translatable="true">Очистити налаштування браузера</string>
<!-- Alerts --> <!-- Alerts -->
<string name="ALERT_ADD_BRIDGES_HINT" translatable="true">мостова струна ...</string>
<string name="ALERT_CREATE_BOOKMARK" translatable="true">Закладка Веб-сайт</string> <string name="ALERT_CREATE_BOOKMARK" translatable="true">Закладка Веб-сайт</string>
<string name="ALERT_CLEAR_HISTORY" translatable="true">Очистити історію та дані</string> <string name="ALERT_CLEAR_HISTORY" translatable="true">Очистити історію та дані</string>
<string name="ALERT_CLEAR_BOOKMARK" translatable="true">Очистити закладки та дані</string> <string name="ALERT_CLEAR_BOOKMARK" translatable="true">Очистити закладки та дані</string>
@ -387,6 +384,7 @@
<string name="HOME_MENU_HISTORY" translatable="true">Історія</string> <string name="HOME_MENU_HISTORY" translatable="true">Історія</string>
<string name="HOME_MENU_SETTING" translatable="true">Налаштування</string> <string name="HOME_MENU_SETTING" translatable="true">Налаштування</string>
<string name="HOME_MENU_DESKTOP" translatable="true">Сайт для робочого столу</string> <string name="HOME_MENU_DESKTOP" translatable="true">Сайт для робочого столу</string>
<string name="HOME_MENU_TOR_CONNECTION" translatable="true">Tor Підключення</string>
<string name="HOME_MENU_BOOKMARK" translatable="true">Додати цю сторінку в закладки</string> <string name="HOME_MENU_BOOKMARK" translatable="true">Додати цю сторінку в закладки</string>
<string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">Закладки</string> <string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">Закладки</string>
<string name="HOME_MENU_REPORT" translatable="true">Веб-сайт звітів</string> <string name="HOME_MENU_REPORT" translatable="true">Веб-сайт звітів</string>

View File

@ -399,6 +399,7 @@
<string name="HOME_MENU_HISTORY" translatable="true">براؤز ویب لنکس</string> <string name="HOME_MENU_HISTORY" translatable="true">براؤز ویب لنکس</string>
<string name="HOME_MENU_SETTING" translatable="true">سسٹم سیٹنگ</string> <string name="HOME_MENU_SETTING" translatable="true">سسٹم سیٹنگ</string>
<string name="HOME_MENU_DESKTOP" translatable="true">ڈیسک ٹاپ سائٹ</string> <string name="HOME_MENU_DESKTOP" translatable="true">ڈیسک ٹاپ سائٹ</string>
<string name="HOME_MENU_TOR_CONNECTION" translatable="true">Tor کنکشن</string>
<string name="HOME_MENU_BOOKMARK" translatable="true">اس صفحے کو محفوظ کریں</string> <string name="HOME_MENU_BOOKMARK" translatable="true">اس صفحے کو محفوظ کریں</string>
<string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">بُک مارکس</string> <string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">بُک مارکس</string>
<string name="HOME_MENU_REPORT" translatable="true">رپورٹ ویب سائٹ</string> <string name="HOME_MENU_REPORT" translatable="true">رپورٹ ویب سائٹ</string>

View File

@ -108,8 +108,7 @@
<string name="TOAST_ALERT_SETTING" translatable="true">mở cài đặt</string> <string name="TOAST_ALERT_SETTING" translatable="true">mở cài đặt</string>
<!-- Alert Bridge Mail --> <!-- Alert Bridge Mail -->
<string name="ALERT_BRIDGE_MAIL_HEADER" translatable="true">Yêu Cầu Mới Bridge</string> <string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true">Yêu Cầu Mới Bridge</string>
<string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true"><b><font color='#00b3b3'>REQUEST Bridge</font></b></string>
<string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Chọn E-mail bên dưới để yêu cầu địa chỉ Bridge. Sau khi bạn có địa chỉ, hãy sao chép và dán nó vào ô trên và khởi động ứng dụng.</string> <string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">Chọn E-mail bên dưới để yêu cầu địa chỉ Bridge. Sau khi bạn có địa chỉ, hãy sao chép và dán nó vào ô trên và khởi động ứng dụng.</string>
<string name="ALERT_BRIDGE_MAIL" translatable="true">Thư tín</string> <string name="ALERT_BRIDGE_MAIL" translatable="true">Thư tín</string>
@ -390,6 +389,7 @@
<string name="HOME_MENU_HISTORY" translatable="true">liên kết web đã duyệt</string> <string name="HOME_MENU_HISTORY" translatable="true">liên kết web đã duyệt</string>
<string name="HOME_MENU_SETTING" translatable="true">Thiết lập hệ thống</string> <string name="HOME_MENU_SETTING" translatable="true">Thiết lập hệ thống</string>
<string name="HOME_MENU_DESKTOP" translatable="true">trang máy tính để bàn</string> <string name="HOME_MENU_DESKTOP" translatable="true">trang máy tính để bàn</string>
<string name="HOME_MENU_TOR_CONNECTION" translatable="true">Tor Sự liên quan</string>
<string name="HOME_MENU_BOOKMARK" translatable="true">lưu trang này</string> <string name="HOME_MENU_BOOKMARK" translatable="true">lưu trang này</string>
<string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">dấu trang</string> <string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">dấu trang</string>
<string name="HOME_MENU_REPORT" translatable="true">báo cáo trang web</string> <string name="HOME_MENU_REPORT" translatable="true">báo cáo trang web</string>

View File

@ -108,8 +108,7 @@
<string name="TOAST_ALERT_SETTING" translatable="true">打开设置</string> <string name="TOAST_ALERT_SETTING" translatable="true">打开设置</string>
<!-- Alert Bridge Mail --> <!-- Alert Bridge Mail -->
<string name="ALERT_BRIDGE_MAIL_HEADER" translatable="true">请求新的 Bridge</string> <string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true">请求新的 Bridge</string>
<string name="ALERT_BRIDGE_MAIL_INFO_HEADER" translatable="true"><b><font color='#00b3b3'>REQUEST Bridge</font></b></string>
<string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">选择下面的电子邮件以请求 Bridge 地址。获得地址后,将其复制并粘贴到上面的框中并启动应用程序。</string> <string name="ALERT_BRIDGE_MAIL_INFO" translatable="true">选择下面的电子邮件以请求 Bridge 地址。获得地址后,将其复制并粘贴到上面的框中并启动应用程序。</string>
<string name="ALERT_BRIDGE_MAIL" translatable="true">邮件</string> <string name="ALERT_BRIDGE_MAIL" translatable="true">邮件</string>
@ -341,8 +340,6 @@
<string name="SETTING_CLEAR_CACHE_OPTION_9" translatable="true">删除浏览器自定义</string> <string name="SETTING_CLEAR_CACHE_OPTION_9" translatable="true">删除浏览器自定义</string>
<string name="ALERT_ADD_BRIDGES_HINT" translatable="false">Bridge ...</string>
<string name="ALERT_CREATE_BOOKMARK" translatable="true">书签网站</string> <string name="ALERT_CREATE_BOOKMARK" translatable="true">书签网站</string>
<string name="ALERT_CLEAR_HISTORY" translatable="true">删除浏览的网页链接和数据</string> <string name="ALERT_CLEAR_HISTORY" translatable="true">删除浏览的网页链接和数据</string>
<string name="ALERT_CLEAR_BOOKMARK" translatable="true">清除书签和数据</string> <string name="ALERT_CLEAR_BOOKMARK" translatable="true">清除书签和数据</string>
@ -394,6 +391,7 @@
<string name="HOME_MENU_HISTORY" translatable="true">浏览的网页链接</string> <string name="HOME_MENU_HISTORY" translatable="true">浏览的网页链接</string>
<string name="HOME_MENU_SETTING" translatable="true">系统设定</string> <string name="HOME_MENU_SETTING" translatable="true">系统设定</string>
<string name="HOME_MENU_DESKTOP" translatable="true">桌面网站</string> <string name="HOME_MENU_DESKTOP" translatable="true">桌面网站</string>
<string name="HOME_MENU_TOR_CONNECTION" translatable="true">Tor 联系</string>
<string name="HOME_MENU_BOOKMARK" translatable="true">保存此页面</string> <string name="HOME_MENU_BOOKMARK" translatable="true">保存此页面</string>
<string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">书签</string> <string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">书签</string>
<string name="HOME_MENU_REPORT" translatable="true">报告网站</string> <string name="HOME_MENU_REPORT" translatable="true">报告网站</string>

View File

@ -279,15 +279,15 @@
<string name="SETTING_PRIVACY_TRACKING_OPTION3_INFO" translatable="true">Stop all known trackers, Pages will load faster but some functionality might not work</string> <string name="SETTING_PRIVACY_TRACKING_OPTION3_INFO" translatable="true">Stop all known trackers, Pages will load faster but some functionality might not work</string>
<string name="SETTING_PRIVACY_JAVASCRIPT" translatable="true">Allow Javascript | Toggle to Enable Javascript</string> <string name="SETTING_PRIVACY_JAVASCRIPT" translatable="true">Allow Javascript | Toggle to Enable Javascript</string>
<string name="SETTING_PRIVACY_JAVASCRIPT_INFO" translatable="true">Disable java scripting for various script attacks</string> <string name="SETTING_PRIVACY_JAVASCRIPT_INFO" translatable="true">Disable java scripting for various script attacks</string>
<string name="SETTING_PRIVACY_POPUP" translatable="true">Block Popup | Toggle to Disable Popup Advert</string> <string name="SETTING_PRIVACY_POPUP" translatable="false">Block Popup | Toggle to Disable Popup Advert</string>
<string name="SETTING_PRIVACY_POPUP_INFO" translatable="true">Remove popup advertizement. Might break functionaly of some websites</string> <string name="SETTING_PRIVACY_POPUP_INFO" translatable="false">Remove popup advertizement. Might break functionaly of some websites</string>
<string name="SETTING_ADVANCE_HEADER" translatable="true">Settings | Advance</string> <string name="SETTING_ADVANCE_HEADER" translatable="true">Settings | Advance</string>
<string name="SETTING_ADVANCE_RESTORE_TAB" translatable="true">Restore tabs</string> <string name="SETTING_ADVANCE_RESTORE_TAB" translatable="true">Restore tabs</string>
<string name="SETTING_ADVANCE_RESTORE_TAB_INFO" translatable="true">Don\'t restore after quitting browser</string> <string name="SETTING_ADVANCE_RESTORE_TAB_INFO" translatable="true">Don\'t restore after quitting browser</string>
<string name="SETTING_ADVANCE_TITILE_THEME" translatable="true">Toolbar Theme</string> <string name="SETTING_ADVANCE_TITILE_THEME" translatable="true">Toolbar Theme</string>
<string name="SETTING_ADVANCE_TITILE_THEME_INFO" translatable="true">Set toolbar theme as defined in website</string> <string name="SETTING_ADVANCE_TITILE_THEME_INFO" translatable="true">Set toolbar theme as defined in website</string>
<string name="SETTING_ADVANCE_GRID_LAYOUT" translatable="true">Tab view</string> <string name="SETTING_ADVANCE_GRID_LAYOUT" translatable="false">Tab view</string>
<string name="SETTING_ADVANCE_GRID_LAYOUT_INFO" translatable="true">Switch between Tab manager Grid Layout and List Layout</string> <string name="SETTING_ADVANCE_GRID_LAYOUT_INFO" translatable="false">Switch between Tab manager Grid Layout and List Layout</string>
<string name="SETTING_ADVANCE_SHOW_IMAGES" translatable="true">Show Images</string> <string name="SETTING_ADVANCE_SHOW_IMAGES" translatable="true">Show Images</string>
<string name="SETTING_ADVANCE_SHOW_IMAGES_INFO" translatable="true">Always load website images</string> <string name="SETTING_ADVANCE_SHOW_IMAGES_INFO" translatable="true">Always load website images</string>
<string name="SETTING_ADVANCE_WEB_FONTS" translatable="true">Show web fonts</string> <string name="SETTING_ADVANCE_WEB_FONTS" translatable="true">Show web fonts</string>
@ -300,8 +300,8 @@
<string name="SETTING_ADVANCE_MEDIA_SUB_HEADER" translatable="true">Media</string> <string name="SETTING_ADVANCE_MEDIA_SUB_HEADER" translatable="true">Media</string>
<string name="SETTING_ADVANCE_DATA_SAVER_INFO" translatable="true">Change default data saver settings</string> <string name="SETTING_ADVANCE_DATA_SAVER_INFO" translatable="true">Change default data saver settings</string>
<string name="SETTING_ADVANCE_MEDIA_SUB_HEADER_INFO" translatable="true">Change default media settings</string> <string name="SETTING_ADVANCE_MEDIA_SUB_HEADER_INFO" translatable="true">Change default media settings</string>
<string name="SETTING_ADVANCE_GRID_OPTION_1" translatable="true">Grid Design</string> <string name="SETTING_ADVANCE_GRID_OPTION_1" translatable="false">Grid Design</string>
<string name="SETTING_ADVANCE_GRID_OPTION_2" translatable="true">List Design</string> <string name="SETTING_ADVANCE_GRID_OPTION_2" translatable="false">List Design</string>
<string name="SETTING_ADVANCE_IMAGE_OPTION_1" translatable="true">Always show images</string> <string name="SETTING_ADVANCE_IMAGE_OPTION_1" translatable="true">Always show images</string>
<string name="SETTING_ADVANCE_IMAGE_OPTION_2" translatable="true">Only show images over WI-FI</string> <string name="SETTING_ADVANCE_IMAGE_OPTION_2" translatable="true">Only show images over WI-FI</string>
<string name="SETTING_ADVANCE_IMAGE_OPTION_3" translatable="true">Block all images</string> <string name="SETTING_ADVANCE_IMAGE_OPTION_3" translatable="true">Block all images</string>
@ -326,8 +326,6 @@
<string name="SETTING_GENERAL_INFO" translatable="true">Home, language</string> <string name="SETTING_GENERAL_INFO" translatable="true">Home, language</string>
<string name="SETTING_GENERAL_FULLSCREEN_BROWSING" translatable="true">Full-screen browsing</string> <string name="SETTING_GENERAL_FULLSCREEN_BROWSING" translatable="true">Full-screen browsing</string>
<string name="SETTING_GENERAL_FULLSCREEN_BROWSING_INFO" translatable="true">Hide the browser toolbar when scrolling down a page</string> <string name="SETTING_GENERAL_FULLSCREEN_BROWSING_INFO" translatable="true">Hide the browser toolbar when scrolling down a page</string>
<string name="SETTING_GENERAL_TOOLBAR_THEME" translatable="true">Searchbar theme</string>
<string name="SETTING_GENERAL_TOOLBAR_THEME_INFO" translatable="true">Automatically change search bar theme according to website</string>
<string name="SETTING_GENERAL_LANGUAGE" translatable="true">Language</string> <string name="SETTING_GENERAL_LANGUAGE" translatable="true">Language</string>
<string name="SETTING_GENERAL_LANGUAGE_INFO" translatable="true">Change the language of your browser</string> <string name="SETTING_GENERAL_LANGUAGE_INFO" translatable="true">Change the language of your browser</string>
<string name="SETTING_GENERAL_THEME" translatable="true">Theme</string> <string name="SETTING_GENERAL_THEME" translatable="true">Theme</string>
@ -337,7 +335,7 @@
<string name="SETTING_GENERAL_INFO_OPTION" translatable="true">Change full-screen browsing and language settings</string> <string name="SETTING_GENERAL_INFO_OPTION" translatable="true">Change full-screen browsing and language settings</string>
<string name="SETTING_GENERAL_THEME_DEFAULT" translatable="true">System Default</string> <string name="SETTING_GENERAL_THEME_DEFAULT" translatable="true">System Default</string>
<string name="SETTING_GENERAL_HOME" translatable="true">Home</string> <string name="SETTING_GENERAL_HOME" translatable="true">Home</string>
<string name="SETTING_GENERAL_HOME_INFO" translatable="true">about:blank</string> <string name="SETTING_GENERAL_HOME_INFO" translatable="false">about:blank</string>
<string name="SETTING_GENERAL_OPEN_URL_IN_NEW_tAB" translatable="true">New Tab</string> <string name="SETTING_GENERAL_OPEN_URL_IN_NEW_tAB" translatable="true">New Tab</string>
<string name="SETTING_GENERAL_OPEN_URL_IN_NEW_tAB_INFO" translatable="true">Open homepage in new tab</string> <string name="SETTING_GENERAL_OPEN_URL_IN_NEW_tAB_INFO" translatable="true">Open homepage in new tab</string>
<string name="SETTING_CLEAR_CACHE_OPTION_1" translatable="true">Clear all tabs</string> <string name="SETTING_CLEAR_CACHE_OPTION_1" translatable="true">Clear all tabs</string>
@ -357,7 +355,7 @@
<string name="ALERT_CLEAR_HISTORY_INFO" translatable="true">Clearing data will remove history, cookies, and other browsing data</string> <string name="ALERT_CLEAR_HISTORY_INFO" translatable="true">Clearing data will remove history, cookies, and other browsing data</string>
<string name="ALERT_CLEAR_BOOKMARK_INFO" translatable="true">Remove all bookmarks ?</string> <string name="ALERT_CLEAR_BOOKMARK_INFO" translatable="true">Remove all bookmarks ?</string>
<string name="ALERT_CLEAR" translatable="true">Clear</string> <string name="ALERT_CLEAR" translatable="true">Clear</string>
<string name="ALERT_CONFIRM" translatable="true">Confirm</string> <string name="ALERT_CONFIRM" translatable="false">Confirm</string>
<string name="ALERT_REPORT" translatable="true">Report</string> <string name="ALERT_REPORT" translatable="true">Report</string>
<string name="ALERT_REPORT_URL" translatable="true">Report Website</string> <string name="ALERT_REPORT_URL" translatable="true">Report Website</string>
<string name="ALERT_REPORT_URL_INFO" translatable="true">If you think this URL is illegal or disturbing, report it to us, so we can take legal action</string> <string name="ALERT_REPORT_URL_INFO" translatable="true">If you think this URL is illegal or disturbing, report it to us, so we can take legal action</string>
@ -387,12 +385,12 @@
<string name="ALERT_NOT_SUPPORTED_MESSAGE" translatable="true">No application found to handle email</string> <string name="ALERT_NOT_SUPPORTED_MESSAGE" translatable="true">No application found to handle email</string>
<string name="ALERT_DOWNLOAD_MESSAGE" translatable="true">Download File | </string> <string name="ALERT_DOWNLOAD_MESSAGE" translatable="true">Download File | </string>
<string name="ALERT_DATA_CLEARED" translatable="true">Data Cleared | Restart Required</string> <string name="ALERT_DATA_CLEARED" translatable="true">Data Cleared | Restart Required</string>
<string name="ALERT_DATA_CLEARED_SHORTCUT" translatable="true">Data Cleared Successfully</string> <string name="ALERT_DATA_CLEARED_SHORTCUT" translatable="false">Data Cleared Successfully</string>
<string name="ALERT_DATA_CLEARED_INFO_SHORTCUT" translatable="true">Private data cleared successfully. Application will close in a moment. Now you can safely continue browsing</string> <string name="ALERT_DATA_CLEARED_INFO_SHORTCUT" translatable="false">Private data cleared successfully. Application will close in a moment. Now you can safely continue browsing</string>
<string name="ALERT_DATA_CLEARED_BUTTON" translatable="true">Closing Genesis Please Wait ...</string> <string name="ALERT_DATA_CLEARED_BUTTON" translatable="false">Closing Genesis Please Wait ...</string>
<string name="ALERT_ORBOT_LOADING" translatable="true">Genesis Connecting ...</string> <string name="ALERT_ORBOT_LOADING" translatable="false">Genesis Connecting ...</string>
<string name="ALERT_CRASH" translatable="true">Application closed unexpectedly</string> <string name="ALERT_CRASH" translatable="false">Application closed unexpectedly</string>
<string name="ALERT_CRASH_INFO" translatable="true"><b><font color='#f32323'>Request New Bridge &#160;</font></b>&#160;Application crashed due to unexpected error. We are looking into the issue mean while you can continue with this application</string> <string name="ALERT_CRASH_INFO" translatable="false"><b><font color='#f32323'>Request New Bridge &#160;</font></b>&#160;Application crashed due to unexpected error. We are looking into the issue mean while you can continue with this application</string>
<!-- Popup Menu --> <!-- Popup Menu -->
<string name="HOME_MENU__NEW_CIRCUIT" translatable="true">New identity</string> <string name="HOME_MENU__NEW_CIRCUIT" translatable="true">New identity</string>
@ -404,8 +402,9 @@
<string name="HOME_MENU_DOWNLOAD" translatable="true">Downloads</string> <string name="HOME_MENU_DOWNLOAD" translatable="true">Downloads</string>
<string name="HOME_MENU_HISTORY" translatable="true">History</string> <string name="HOME_MENU_HISTORY" translatable="true">History</string>
<string name="HOME_MENU_SETTING" translatable="true">Settings</string> <string name="HOME_MENU_SETTING" translatable="true">Settings</string>
<string name="HOME_MENU__NEW_CIRCUIT_CREATED" translatable="true">New identity created</string> <string name="HOME_MENU__NEW_CIRCUIT_CREATED" translatable="false">New identity created</string>
<string name="HOME_MENU_DESKTOP" translatable="true">Desktop site</string> <string name="HOME_MENU_DESKTOP" translatable="true">Desktop site</string>
<string name="HOME_MENU_TOR_CONNECTION" translatable="true">Tor Connection</string>
<string name="HOME_MENU_BOOKMARK" translatable="true">Bookmark This Page</string> <string name="HOME_MENU_BOOKMARK" translatable="true">Bookmark This Page</string>
<string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">Bookmarks</string> <string name="HOME_MENU_OPEN_BOOKMARK" translatable="true">Bookmarks</string>
<string name="HOME_MENU_OPEN_RECENT_TAB" translatable="true">Recent tabs</string> <string name="HOME_MENU_OPEN_RECENT_TAB" translatable="true">Recent tabs</string>
@ -433,14 +432,14 @@
<!-- History Popup Menu --> <!-- History Popup Menu -->
<string name="HISTORY_TITLE" translatable="true">History</string> <string name="HISTORY_TITLE" translatable="true">History</string>
<string name="HISTORY_CLEAR" translatable="true">Clear</string> <string name="HISTORY_CLEAR" translatable="true">Clear</string>
<string name="HISTORY_EMPTY" translatable="true">Pages that you visit appear here</string> <string name="HISTORY_EMPTY" translatable="false">Pages that you visit appear here</string>
<string name="HISTORY_SEARCH_HINT" translatable="true">Search ...</string> <string name="HISTORY_SEARCH_HINT" translatable="true">Search ...</string>
<!-- BOOKMARK Popup Menu --> <!-- BOOKMARK Popup Menu -->
<string name="BOOKMARK_TITLE" translatable="true">Bookmark</string> <string name="BOOKMARK_TITLE" translatable="true">Bookmark</string>
<string name="BOOKMARK_CLEAR" translatable="true">Clear</string> <string name="BOOKMARK_CLEAR" translatable="true">Clear</string>
<string name="BOOKMARK_SEARCH_HINT" translatable="true">Search ...</string> <string name="BOOKMARK_SEARCH_HINT" translatable="true">Search ...</string>
<string name="BOOKMARK_EMPTY" translatable="true">Pages that you bookmark appear here</string> <string name="BOOKMARK_EMPTY" translatable="false">Pages that you bookmark appear here</string>
<!-- Help --> <!-- Help -->
<string name="HELP_RETRY" translatable="true">Retry</string> <string name="HELP_RETRY" translatable="true">Retry</string>

View File

@ -6,6 +6,8 @@ package org.torproject.android.service;
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK; import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
import static org.torproject.android.service.TorServiceConstants.CMD_SETTING; import static org.torproject.android.service.TorServiceConstants.CMD_SETTING;
import static org.torproject.android.service.TorServiceConstants.CMD_NEWNYM; import static org.torproject.android.service.TorServiceConstants.CMD_NEWNYM;
import static java.lang.Thread.sleep;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.app.Application; import android.app.Application;
import android.app.Notification; import android.app.Notification;
@ -106,7 +108,7 @@ public class OrbotService extends VpnService implements OrbotConstants {
Handler mHandler; Handler mHandler;
final Random bridgeSelectRandom = new Random(System.nanoTime()); final Random bridgeSelectRandom = new Random(System.nanoTime());
ActionBroadcastReceiver mActionBroadcastReceiver; ActionBroadcastReceiver mActionBroadcastReceiver = null;
private String mCurrentStatus = STATUS_OFF; private String mCurrentStatus = STATUS_OFF;
TorControlConnection conn = null; TorControlConnection conn = null;
private ServiceConnection torServiceConnection; private ServiceConnection torServiceConnection;
@ -148,8 +150,8 @@ public class OrbotService extends VpnService implements OrbotConstants {
} }
private void showConnectedToTorNetworkNotification() { private void showConnectedToTorNetworkNotification() {
mNotifyBuilder.setProgress(0, 0, false); // mNotifyBuilder.setProgress(0, 0, false);
showToolbarNotification(getString(R.string.status_activated), NOTIFY_ID, R.mipmap.ic_stat_tor_logo); // showToolbarNotification(getString(R.string.status_activated), NOTIFY_ID, R.mipmap.ic_stat_tor_logo);
} }
@Override @Override
@ -209,15 +211,15 @@ public class OrbotService extends VpnService implements OrbotConstants {
mNotifyBuilder.mActions.clear(); mNotifyBuilder.mActions.clear();
if (conn != null && orbotLocalConstants.mIsTorInitialized) { if (conn != null && orbotLocalConstants.mIsTorInitialized) {
Intent intentRefresh = new Intent(CMD_NEWNYM);
PendingIntent pendingIntentNewNym = PendingIntent.getBroadcast(this, 0, intentRefresh, PendingIntent.FLAG_IMMUTABLE);
mNotifyBuilder.addAction(R.mipmap.ic_stat_tor_logo, getString(R.string.menu_new_identity), pendingIntentNewNym);
Intent intentSetting = new Intent(CMD_SETTING); if (conn != null && mCurrentStatus.equals(STATUS_ON)) {
PendingIntent pendingIntentSetting = PendingIntent.getBroadcast(this, 0, intentSetting, PendingIntent.FLAG_IMMUTABLE); var pendingIntentNewNym = PendingIntent.getBroadcast(this, 0, new Intent(TorControlCommands.SIGNAL_NEWNYM), PendingIntent.FLAG_UPDATE_CURRENT|PendingIntent.FLAG_IMMUTABLE);
mNotifyBuilder.addAction(0, "Notification Settings", pendingIntentSetting); mNotifyBuilder.addAction(R.drawable.ic_refresh_white_24dp, getString(R.string.menu_new_identity), pendingIntentNewNym);
var pendingIntentNotification = PendingIntent.getBroadcast(this, 0, new Intent(CMD_SETTING), PendingIntent.FLAG_UPDATE_CURRENT|PendingIntent.FLAG_IMMUTABLE);
mNotifyBuilder.addAction(0, "Notification Settings", pendingIntentNotification);
}
} }
mNotifyBuilder.setContentText(notifyMsg) mNotifyBuilder.setContentText(notifyMsg)
.setSmallIcon(icon) .setSmallIcon(icon)
.setTicker(notifyType != NOTIFY_ID ? notifyMsg : null); .setTicker(notifyType != NOTIFY_ID ? notifyMsg : null);
@ -249,6 +251,10 @@ public class OrbotService extends VpnService implements OrbotConstants {
public int onStartCommand(Intent intent, int flags, int startId) { public int onStartCommand(Intent intent, int flags, int startId) {
showToolbarNotification(getString(org.torproject.android.service.R.string.newnym), NOTIFY_ID, org.torproject.android.service.R.drawable.ic_stat_starting_tor_logo); showToolbarNotification(getString(org.torproject.android.service.R.string.newnym), NOTIFY_ID, org.torproject.android.service.R.drawable.ic_stat_starting_tor_logo);
createNetworkStateReciever();
IntentFilter mNetworkStateFilter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(mNetworkStateReceiver , mNetworkStateFilter);
self = this; self = this;
if (intent != null) if (intent != null)
mExecutor.execute(new org.torproject.android.service.OrbotService.IncomingIntentRouter(intent)); mExecutor.execute(new org.torproject.android.service.OrbotService.IncomingIntentRouter(intent));
@ -259,7 +265,7 @@ public class OrbotService extends VpnService implements OrbotConstants {
} }
private void showDeactivatedNotification() { private void showDeactivatedNotification() {
showToolbarNotification(getString(R.string.open_orbot_to_connect_to_tor), NOTIFY_ID, R.drawable.ic_stat_starting_tor_logo); //showToolbarNotification(getString(R.string.open_orbot_to_connect_to_tor), NOTIFY_ID, R.drawable.ic_stat_starting_tor_logo);
} }
@Override @Override
@ -268,8 +274,12 @@ public class OrbotService extends VpnService implements OrbotConstants {
try { try {
disableNotification(); disableNotification();
clearNotifications(); clearNotifications();
//unregisterReceiver(mNetworkStateReceiver); if(mNetworkStateReceiver!=null){
//unregisterReceiver(mActionBroadcastReceiver); unregisterReceiver(mNetworkStateReceiver);
}
if(mActionBroadcastReceiver!=null){
unregisterReceiver(mActionBroadcastReceiver);
}
}catch (Exception ex){ }catch (Exception ex){
Log.i("sad","asd"); Log.i("sad","asd");
ex.printStackTrace(); ex.printStackTrace();
@ -288,60 +298,73 @@ public class OrbotService extends VpnService implements OrbotConstants {
super.onDestroy(); super.onDestroy();
} }
private final BroadcastReceiver mNetworkStateReceiver = new BroadcastReceiver() { private BroadcastReceiver mNetworkStateReceiver = null;
@Override private void createNetworkStateReciever(){
public void onReceive(Context context, Intent intent) { try {
mNetworkStateReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
SharedPreferences prefs = org.torproject.android.service.util.Prefs.getSharedPrefs(getApplicationContext()); SharedPreferences prefs = org.torproject.android.service.util.Prefs.getSharedPrefs(getApplicationContext());
boolean doNetworKSleep = prefs.getBoolean(PREF_DISABLE_NETWORK, true); boolean doNetworKSleep = prefs.getBoolean(PREF_DISABLE_NETWORK, true);
final ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); final ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
final NetworkInfo netInfo = cm.getActiveNetworkInfo(); final NetworkInfo netInfo = cm.getActiveNetworkInfo();
boolean newConnectivityState; boolean newConnectivityState;
if(netInfo != null && netInfo.isConnected()) { if(netInfo != null && netInfo.isConnected()) {
// WE ARE CONNECTED: DO SOMETHING // WE ARE CONNECTED: DO SOMETHING
newConnectivityState = true; newConnectivityState = true;
}
else {
// WE ARE NOT: DO SOMETHING ELSE
newConnectivityState = false;
}
if (newConnectivityState != mConnectivity) {
mConnectivity = newConnectivityState;
orbotLocalConstants.mNetworkState = mConnectivity;
if (mConnectivity){
newIdentity();
}
}
if (doNetworKSleep)
{
//setTorNetworkEnabled (mConnectivity);
if (!mConnectivity)
{
//sendCallbackStatus(STATUS_OFF);
orbotLocalConstants.mTorLogsStatus = "No internet connection";
if(orbotLocalConstants.mNotificationStatus!=0){
showToolbarNotification(getString(R.string.newnym), getNotifyId(), R.drawable.ic_stat_tor_off);
showToolbarNotification("Genesis is sleeping | Internet connectivity issue",NOTIFY_ID,R.drawable.ic_stat_tor_off);
} }
} else {
else // WE ARE NOT: DO SOMETHING ELSE
{ newConnectivityState = false;
//sendCallbackStatus(STATUS_STARTING);
if(orbotLocalConstants.mNotificationStatus!=0){
showToolbarNotification(getString(R.string.status_starting_up),NOTIFY_ID,R.drawable.ic_stat_starting_tor_logo);
} }
}
} if (newConnectivityState != mConnectivity) {
orbotLocalConstants.mNetworkState = mConnectivity; mConnectivity = newConnectivityState;
orbotLocalConstants.mNetworkState = mConnectivity;
if (mConnectivity){
newIdentity();
}
}
try {
sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (doNetworKSleep)
{
//setTorNetworkEnabled (mConnectivity);
if (!mConnectivity)
{
//sendCallbackStatus(STATUS_OFF);
orbotLocalConstants.mTorLogsStatus = "No internet connection";
if(orbotLocalConstants.mNotificationStatus!=0){
showToolbarNotification(getString(R.string.newnym), getNotifyId(), R.drawable.ic_stat_tor_off);
showToolbarNotification("Genesis is sleeping | Internet connectivity issue",NOTIFY_ID,R.drawable.ic_stat_tor_off);
}
}
else
{
//sendCallbackStatus(STATUS_STARTING);
if(orbotLocalConstants.mNotificationStatus!=0){
showToolbarNotification(getString(R.string.status_starting_up),NOTIFY_ID,R.drawable.ic_stat_starting_tor_logo);
}
}
}
orbotLocalConstants.mNetworkState = mConnectivity;
}
};
}catch (Exception ex){
Log.i("asd","asd");
} }
}; Log.i("asd","asd");
}
public int getNotifyId() { public int getNotifyId() {
return NOTIFY_ID; return NOTIFY_ID;
} }
@ -579,6 +602,7 @@ public class OrbotService extends VpnService implements OrbotConstants {
IntentFilter filter = new IntentFilter(TorControlCommands.SIGNAL_NEWNYM); IntentFilter filter = new IntentFilter(TorControlCommands.SIGNAL_NEWNYM);
filter.addAction(CMD_ACTIVE); filter.addAction(CMD_ACTIVE);
filter.addAction(CMD_SETTING);
filter.addAction(ACTION_STATUS); filter.addAction(ACTION_STATUS);
filter.addAction(LOCAL_ACTION_NOTIFICATION_START); filter.addAction(LOCAL_ACTION_NOTIFICATION_START);
@ -869,14 +893,14 @@ public class OrbotService extends VpnService implements OrbotConstants {
while ((conn = torService.getTorControlConnection())==null) while ((conn = torService.getTorControlConnection())==null)
{ {
try { try {
Thread.sleep(500); sleep(500);
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
try { try {
Thread.sleep(1000); sleep(1000);
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
} }
@ -1214,7 +1238,7 @@ public class OrbotService extends VpnService implements OrbotConstants {
} }
void showBandwidthNotification(String message, boolean isActiveTransfer) { void showBandwidthNotification(String message, boolean isActiveTransfer) {
if (!mCurrentStatus.equals(STATUS_ON)) return; if (!mCurrentStatus.equals(STATUS_ON) || !mConnectivity) return;
var icon = !isActiveTransfer ? R.mipmap.ic_stat_tor_logo : R.mipmap.ic_stat_tor_logo; var icon = !isActiveTransfer ? R.mipmap.ic_stat_tor_logo : R.mipmap.ic_stat_tor_logo;
showToolbarNotification(message, NOTIFY_ID, icon); showToolbarNotification(message, NOTIFY_ID, icon);
} }
@ -1270,7 +1294,7 @@ public class OrbotService extends VpnService implements OrbotConstants {
if (v3auths != null) { if (v3auths != null) {
for (File file : mV3AuthBasePath.listFiles()) { for (File file : mV3AuthBasePath.listFiles()) {
if (!file.isDirectory()) if (!file.isDirectory())
file.delete(); // todo the adapter should maybe just write these files and not do this in service... file.delete();
} }
torrc.append("ClientOnionAuthDir " + mV3AuthBasePath.getAbsolutePath()).append('\n'); torrc.append("ClientOnionAuthDir " + mV3AuthBasePath.getAbsolutePath()).append('\n');
try { try {
@ -1569,6 +1593,9 @@ public class OrbotService extends VpnService implements OrbotConstants {
case TorControlCommands.SIGNAL_NEWNYM: case TorControlCommands.SIGNAL_NEWNYM:
newIdentity(); newIdentity();
break; break;
case CMD_SETTING:
onSettingRegister();
break;
case CMD_ACTIVE: case CMD_ACTIVE:
sendSignalActive(); sendSignalActive();
break; break;
@ -1594,6 +1621,7 @@ public class OrbotService extends VpnService implements OrbotConstants {
private class ActionBroadcastReceiver extends BroadcastReceiver { private class ActionBroadcastReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
switch (intent.getAction()) { switch (intent.getAction()) {
case TorControlCommands.SIGNAL_NEWNYM: { case TorControlCommands.SIGNAL_NEWNYM: {
newIdentity(); newIdentity();
@ -1609,6 +1637,7 @@ public class OrbotService extends VpnService implements OrbotConstants {
} }
case CMD_SETTING: { case CMD_SETTING: {
onSettingRegister(); onSettingRegister();
sendBroadcast(new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));
break; break;
} }
case ACTION_STATUS: { case ACTION_STATUS: {

View File

@ -10,7 +10,7 @@ public class orbotLocalConstants
{ {
public static ArrayList<logRowModel> mTorLogsHistory = new ArrayList<>(); public static ArrayList<logRowModel> mTorLogsHistory = new ArrayList<>();
public static String mTorLogsStatus = "Loading..."; public static String mTorLogsStatus = "Loading...";
public static boolean mIsTorInitialized = true; public static boolean mIsTorInitialized = false;
public static boolean mForcedQuit = false; public static boolean mForcedQuit = false;
public static int mNotificationStatus = 0; public static int mNotificationStatus = 0;
public static WeakReference<Context> mHomeContext; public static WeakReference<Context> mHomeContext;

View File

@ -25,8 +25,8 @@
<string name="waiting_for_control_port">Waiting for control port…</string> <string name="waiting_for_control_port">Waiting for control port…</string>
<string name="connecting_to_control_port">Connecting to control port:</string> <string name="connecting_to_control_port">Connecting to control port:</string>
<string name="kibibyte_per_second">KiB/s</string> <string name="kibibyte_per_second">KB/s</string>
<string name="mebibyte_per_second">MiB/s</string> <string name="mebibyte_per_second">MB/s</string>
<string name="snowflake_proxy_client_connected_msg">%s Your snowflake proxy helped someone circumvent censorship %s</string> <string name="snowflake_proxy_client_connected_msg">%s Your snowflake proxy helped someone circumvent censorship %s</string>