Bug Fixes

master
msmannan00 2020-12-11 12:05:08 +05:00
parent 245efd77d6
commit d84ff0f18c
107 changed files with 2170 additions and 1354 deletions

View File

@ -20,6 +20,7 @@
<inspection_tool class="LambdaParameterTypeCanBeSpecified" enabled="false" level="INFORMATION" enabled_by_default="false" /> <inspection_tool class="LambdaParameterTypeCanBeSpecified" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="RawUseOfParameterizedType" enabled="false" level="WARNING" enabled_by_default="false" /> <inspection_tool class="RawUseOfParameterizedType" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="SameParameterValue" enabled="false" level="WARNING" enabled_by_default="false" /> <inspection_tool class="SameParameterValue" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="SingleStatementInBlock" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false"> <inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
<option name="processCode" value="true" /> <option name="processCode" value="true" />
<option name="processLiterals" value="true" /> <option name="processLiterals" value="true" />

View File

@ -76,6 +76,7 @@ android {
res.srcDirs = res.srcDirs =
[ [
'src/main/res/layouts/history', 'src/main/res/layouts/history',
'src/main/res/layouts/help',
'src/main/res/layouts/tab', 'src/main/res/layouts/tab',
'src/main/res/layouts/language', 'src/main/res/layouts/language',
'src/main/res/layouts/orbot', 'src/main/res/layouts/orbot',
@ -178,7 +179,7 @@ dependencies {
implementation 'com.chauthai.overscroll:overscroll-bouncy:0.1.1' implementation 'com.chauthai.overscroll:overscroll-bouncy:0.1.1'
androidTestImplementation "junit:junit:4.13.1" androidTestImplementation "junit:junit:4.13.1"
implementation 'jp.wasabeef:recyclerview-animators:2.2.7' implementation 'jp.wasabeef:recyclerview-animators:2.2.7'
compile 'com.android.support:design:24.0.0' implementation 'com.android.support:design:24.0.0'
} }
apply plugin: 'com.android.application' apply plugin: 'com.android.application'

View File

@ -48,6 +48,13 @@
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode" android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode"
android:label="@string/SETTING_HEADER" android:label="@string/SETTING_HEADER"
android:windowSoftInputMode="adjustNothing" /> android:windowSoftInputMode="adjustNothing" />
<activity
android:name="com.darkweb.genesissearchengine.appManager.helpManager.helpController"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode"
android:label="@string/SETTING_HEADER"
android:windowSoftInputMode="adjustNothing" />
<activity <activity
android:name="com.darkweb.genesissearchengine.appManager.settingManager.accessibilityManager.settingAccessibilityController" android:name="com.darkweb.genesissearchengine.appManager.settingManager.accessibilityManager.settingAccessibilityController"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode" android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode"

View File

@ -24,7 +24,6 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.darkweb.genesissearchengine.appManager.activityContextManager; import com.darkweb.genesissearchengine.appManager.activityContextManager;
import com.darkweb.genesissearchengine.appManager.databaseManager.databaseController; import com.darkweb.genesissearchengine.appManager.databaseManager.databaseController;
import com.darkweb.genesissearchengine.appManager.historyManager.historyEnums;
import com.darkweb.genesissearchengine.appManager.homeManager.homeController; import com.darkweb.genesissearchengine.appManager.homeManager.homeController;
import com.darkweb.genesissearchengine.constants.enums; import com.darkweb.genesissearchengine.constants.enums;
import com.darkweb.genesissearchengine.constants.keys; import com.darkweb.genesissearchengine.constants.keys;
@ -36,13 +35,14 @@ import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.darkweb.genesissearchengine.helperManager.helperMethod; import com.darkweb.genesissearchengine.helperManager.helperMethod;
import com.darkweb.genesissearchengine.pluginManager.pluginController; import com.darkweb.genesissearchengine.pluginManager.pluginController;
import com.darkweb.genesissearchengine.pluginManager.pluginEnums;
import com.example.myapplication.R; import com.example.myapplication.R;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import jp.wasabeef.recyclerview.animators.FadeInRightAnimator;
import static com.darkweb.genesissearchengine.appManager.bookmarkManager.bookmarkEnums.eBookmarkViewCommands.M_VERTIFY_SELECTION_MENU; import static com.darkweb.genesissearchengine.appManager.bookmarkManager.bookmarkEnums.eBookmarkViewCommands.M_VERTIFY_SELECTION_MENU;
@ -116,7 +116,7 @@ public class bookmarkController extends AppCompatActivity
public void initCustomListeners(){ public void initCustomListeners(){
mClearButton.requestFocusFromTouch(); mClearButton.requestFocusFromTouch();
mClearButton.setOnClickListener(v -> pluginController.getInstance().MessageManagerHandler(activityContextManager.getInstance().getBookmarkController(), Collections.singletonList(strings.GENERIC_EMPTY_STR), enums.etype.clear_bookmark)); mClearButton.setOnClickListener(v -> pluginController.getInstance().MessageManagerHandler(activityContextManager.getInstance().getBookmarkController(), Collections.singletonList(strings.GENERIC_EMPTY_STR), enums.eMessageEnums.M_CLEAR_BOOKMARK));
mSearchInput.setOnEditorActionListener((v, actionId, event) ->{ mSearchInput.setOnEditorActionListener((v, actionId, event) ->{
if (actionId == EditorInfo.IME_ACTION_NEXT) if (actionId == EditorInfo.IME_ACTION_NEXT)

View File

@ -1,20 +1,16 @@
package com.darkweb.genesissearchengine.appManager.bridgeManager; package com.darkweb.genesissearchengine.appManager.bridgeManager;
import android.content.Context;
import android.graphics.Rect;
import android.os.Bundle; import android.os.Bundle;
import android.text.Editable; import android.text.Editable;
import android.text.TextWatcher; import android.text.TextWatcher;
import android.view.MotionEvent;
import android.view.View; import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button; import android.widget.Button;
import android.widget.EditText; import android.widget.EditText;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.RadioButton; import android.widget.RadioButton;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import com.darkweb.genesissearchengine.appManager.activityContextManager; import com.darkweb.genesissearchengine.appManager.activityContextManager;
import com.darkweb.genesissearchengine.appManager.historyManager.historyAdapter; import com.darkweb.genesissearchengine.appManager.helpManager.helpController;
import com.darkweb.genesissearchengine.constants.constants; import com.darkweb.genesissearchengine.constants.constants;
import com.darkweb.genesissearchengine.constants.enums; import com.darkweb.genesissearchengine.constants.enums;
import com.darkweb.genesissearchengine.constants.keys; import com.darkweb.genesissearchengine.constants.keys;
@ -24,11 +20,11 @@ import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.darkweb.genesissearchengine.helperManager.helperMethod; import com.darkweb.genesissearchengine.helperManager.helperMethod;
import com.darkweb.genesissearchengine.pluginManager.pluginController; import com.darkweb.genesissearchengine.pluginManager.pluginController;
import com.darkweb.genesissearchengine.pluginManager.pluginEnums;
import com.example.myapplication.R; import com.example.myapplication.R;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Objects;
public class bridgeController extends AppCompatActivity { public class bridgeController extends AppCompatActivity {
@ -102,6 +98,10 @@ public class bridgeController extends AppCompatActivity {
}); });
} }
public void onOpenInfo(View view) {
helperMethod.openActivity(helpController.class, constants.CONST_LIST_HISTORY, this,true);
}
/* LISTENERS */ /* LISTENERS */
public class bridgeModelCallback implements eventObserver.eventListener{ public class bridgeModelCallback implements eventObserver.eventListener{
@ -145,7 +145,7 @@ public class bridgeController extends AppCompatActivity {
public void requestBridges(View view){ public void requestBridges(View view){
mBridgeModel.onTrigger(bridgeEnums.eBridgeModelCommands.M_REQUEST_BRIDGE, null); mBridgeModel.onTrigger(bridgeEnums.eBridgeModelCommands.M_REQUEST_BRIDGE, null);
pluginController.getInstance().MessageManagerHandler(this, Collections.singletonList(constants.CONST_BACKEND_GOOGLE_URL), enums.etype.on_bridge_mail); pluginController.getInstance().MessageManagerHandler(this, Collections.singletonList(constants.CONST_BACKEND_GOOGLE_URL), enums.eMessageEnums.M_BRIDGE_MAIL);
} }
public void onCustomChecked(View view){ public void onCustomChecked(View view){

View File

@ -11,6 +11,7 @@ import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.dataManager.dataEnums; import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.darkweb.genesissearchengine.pluginManager.pluginController; import com.darkweb.genesissearchengine.pluginManager.pluginController;
import com.darkweb.genesissearchengine.pluginManager.pluginEnums;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
@ -33,7 +34,7 @@ class bridgeModel
/*Helper Methods*/ /*Helper Methods*/
public void requestBridges(){ public void requestBridges(){
pluginController.getInstance().MessageManagerHandler(mContext, Collections.singletonList(constants.CONST_BACKEND_GOOGLE_URL), enums.etype.on_bridge_mail); pluginController.getInstance().MessageManagerHandler(mContext, Collections.singletonList(constants.CONST_BACKEND_GOOGLE_URL), enums.eMessageEnums.M_BRIDGE_MAIL);
} }
public void onCustomChecked(){ public void onCustomChecked(){

View File

@ -89,8 +89,8 @@ class bridgeViewController
helperMethod.hideKeyboard(mContext); helperMethod.hideKeyboard(mContext);
mCustomPort.clearFocus(); mCustomPort.clearFocus();
mCustomPort.animate().setDuration(p_duration).alpha(0.2f); mCustomPort.animate().setDuration(p_duration).alpha(0.35f);
mBridgeButton.animate().setDuration(p_duration).alpha(0.2f); mBridgeButton.animate().setDuration(p_duration).alpha(0.35f);
mCustomBridgeBlocker.setVisibility(View.VISIBLE); mCustomBridgeBlocker.setVisibility(View.VISIBLE);
} }
@ -102,17 +102,23 @@ class bridgeViewController
mBridgeObfs.setHighlightColor(Color.BLACK); mBridgeObfs.setHighlightColor(Color.BLACK);
mBridgeObfs.setButtonTintList(ColorStateList.valueOf(ContextCompat.getColor(mContext, R.color.c_radio_tint))); mBridgeObfs.setButtonTintList(ColorStateList.valueOf(ContextCompat.getColor(mContext, R.color.c_radio_tint)));
mBridgeObfs.setChecked(true); mBridgeObfs.setChecked(true);
mBridgeChina.setChecked(false);
mBridgeCustom.setChecked(false);
break; break;
case strings.BRIDGE_CUSTOM_BRIDGE_MEEK: case strings.BRIDGE_CUSTOM_BRIDGE_MEEK:
animateColor(mBridgeChina, mBridgeChina.getCurrentTextColor(), mContext.getResources().getColor(R.color.c_text_v1), "textColor", p_duration); animateColor(mBridgeChina, mBridgeChina.getCurrentTextColor(), mContext.getResources().getColor(R.color.c_text_v1), "textColor", p_duration);
mBridgeChina.setHighlightColor(Color.BLACK); mBridgeChina.setHighlightColor(Color.BLACK);
mBridgeChina.setButtonTintList(ColorStateList.valueOf(ContextCompat.getColor(mContext, R.color.c_radio_tint))); mBridgeChina.setButtonTintList(ColorStateList.valueOf(ContextCompat.getColor(mContext, R.color.c_radio_tint)));
mBridgeObfs.setChecked(false);
mBridgeChina.setChecked(true); mBridgeChina.setChecked(true);
mBridgeCustom.setChecked(false);
break; break;
case strings.BRIDGE_CUSTOM_BRIDGE_CUSTOM: case strings.BRIDGE_CUSTOM_BRIDGE_CUSTOM:
animateColor(mBridgeCustom, mBridgeCustom.getCurrentTextColor(), mContext.getResources().getColor(R.color.c_text_v1), "textColor", p_duration); animateColor(mBridgeCustom, mBridgeCustom.getCurrentTextColor(), mContext.getResources().getColor(R.color.c_text_v1), "textColor", p_duration);
mBridgeCustom.setHighlightColor(Color.BLACK); mBridgeCustom.setHighlightColor(Color.BLACK);
mBridgeCustom.setButtonTintList(ColorStateList.valueOf(ContextCompat.getColor(mContext, R.color.c_radio_tint))); mBridgeCustom.setButtonTintList(ColorStateList.valueOf(ContextCompat.getColor(mContext, R.color.c_radio_tint)));
mBridgeObfs.setChecked(false);
mBridgeChina.setChecked(false);
mBridgeCustom.setChecked(true); mBridgeCustom.setChecked(true);
mCustomPort.animate().setDuration(p_duration).alpha(1f); mCustomPort.animate().setDuration(p_duration).alpha(1f);

View File

@ -1,19 +1,20 @@
package com.darkweb.genesissearchengine.appManager.databaseManager; package com.darkweb.genesissearchengine.appManager.databaseManager;
import android.content.ContentValues;
import android.database.Cursor; import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import com.darkweb.genesissearchengine.appManager.activityContextManager;
import com.darkweb.genesissearchengine.appManager.bookmarkManager.bookmarkRowModel; import com.darkweb.genesissearchengine.appManager.bookmarkManager.bookmarkRowModel;
import com.darkweb.genesissearchengine.appManager.historyManager.historyRowModel; import com.darkweb.genesissearchengine.appManager.historyManager.historyRowModel;
import com.darkweb.genesissearchengine.appManager.homeManager.geckoSession;
import com.darkweb.genesissearchengine.appManager.tabManager.tabRowModel;
import com.darkweb.genesissearchengine.constants.constants; import com.darkweb.genesissearchengine.constants.constants;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.Locale; import java.util.Locale;
import static android.content.Context.MODE_PRIVATE; import static android.content.Context.MODE_PRIVATE;
public class databaseController public class databaseController
@ -43,6 +44,7 @@ public class databaseController
mDatabaseInstance.execSQL("CREATE TABLE IF NOT EXISTS " + "history" + " (id INT(4) PRIMARY KEY,date DATETIME,url VARCHAR,title VARCHAR);"); mDatabaseInstance.execSQL("CREATE TABLE IF NOT EXISTS " + "history" + " (id INT(4) PRIMARY KEY,date DATETIME,url VARCHAR,title VARCHAR);");
mDatabaseInstance.execSQL("CREATE TABLE IF NOT EXISTS " + "bookmark" + " (id INT(4) PRIMARY KEY,title VARCHAR,url VARCHAR);"); mDatabaseInstance.execSQL("CREATE TABLE IF NOT EXISTS " + "bookmark" + " (id INT(4) PRIMARY KEY,title VARCHAR,url VARCHAR);");
mDatabaseInstance.execSQL("CREATE TABLE IF NOT EXISTS " + "tab" + " (mid INT(4) PRIMARY KEY,date,title VARCHAR,url VARCHAR,mThumbnail BLOB);");
} }
catch (Exception ex) catch (Exception ex)
@ -54,6 +56,7 @@ public class databaseController
/*Helper Methods*/ /*Helper Methods*/
public void execSQL(String query,String[] params) public void execSQL(String query,String[] params)
{ {
if(params==null) if(params==null)
@ -66,6 +69,14 @@ public class databaseController
} }
} }
public void execTab(String query, ContentValues params,String pID)
{
if(params!=null)
{
mDatabaseInstance.update(query, params, "mid = ?", new String[]{pID});
}
}
public ArrayList<historyRowModel> selectHistory(int startIndex,int endIndex){ public ArrayList<historyRowModel> selectHistory(int startIndex,int endIndex){
ArrayList<historyRowModel> tempmodel = new ArrayList<>(); ArrayList<historyRowModel> tempmodel = new ArrayList<>();
@ -91,6 +102,24 @@ public class databaseController
return tempmodel; return tempmodel;
} }
public ArrayList<tabRowModel> selectTabs(){
ArrayList<tabRowModel> mTempListModel = new ArrayList<>();
Cursor c = mDatabaseInstance.rawQuery("SELECT * FROM tab ORDER BY date DESC", null);
if (c.moveToFirst()){
do {
geckoSession mSession = activityContextManager.getInstance().getHomeController().onNewTabInit();
tabRowModel model = new tabRowModel(c.getString(0), c.getString(1),c.getBlob(4));
model.setSession(mSession, c.getString(2),c.getString(3));
model.getSession().setSessionID(model.getmId());
mTempListModel.add(model);
} while(c.moveToNext());
}
c.close();
return mTempListModel;
}
public int getLargestHistoryID(){ public int getLargestHistoryID(){
int id = 0; int id = 0;
Cursor c = mDatabaseInstance.rawQuery("SELECT max(id) FROM history", null); Cursor c = mDatabaseInstance.rawQuery("SELECT max(id) FROM history", null);

View File

@ -0,0 +1,61 @@
package com.darkweb.genesissearchengine.appManager.helpManager;
import android.os.Bundle;
import android.view.View;
import androidx.appcompat.app.AppCompatActivity;
import com.darkweb.genesissearchengine.constants.constants;
import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.darkweb.genesissearchengine.helperManager.helperMethod;
import com.darkweb.genesissearchengine.pluginManager.pluginController;
import com.example.myapplication.R;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
@SuppressWarnings("FieldCanBeLocal")
public class helpController extends AppCompatActivity {
/*Initializations*/
private helpViewController mHelpViewController;
private helpModel mHelpModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
pluginController.getInstance().onCreate(this);
super.onCreate(savedInstanceState);
setContentView(R.layout.help_view);
initializeAppModel();
initializeConnections();
}
public void initializeAppModel()
{
mHelpViewController = new helpViewController();
mHelpModel = new helpModel();
}
public void initializeConnections()
{
mHelpViewController.initialization(new helpViewCallback(),this);
}
public class helpViewCallback implements eventObserver.eventListener{
@Override
public Object invokeObserver(List<Object> data, Object e_type)
{
return null;
}
}
/*UI Redirection*/
public void onClose(View view) {
finish();
}
}

View File

@ -0,0 +1,7 @@
package com.darkweb.genesissearchengine.appManager.helpManager;
class helpModel
{
}

View File

@ -0,0 +1,42 @@
package com.darkweb.genesissearchengine.appManager.helpManager;
import android.os.Build;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatDelegate;
import androidx.core.content.ContextCompat;
import com.darkweb.genesissearchengine.constants.status;
import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.example.myapplication.R;
class helpViewController
{
/*ViewControllers*/
private AppCompatActivity mContext;
private eventObserver.eventListener mEvent;
void initialization(eventObserver.eventListener event, AppCompatActivity context){
this.mContext = context;
initPostUI();
}
private void initPostUI(){
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = mContext.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
}
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));
}
}
}
}

View File

@ -35,6 +35,7 @@ import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.darkweb.genesissearchengine.helperManager.helperMethod; import com.darkweb.genesissearchengine.helperManager.helperMethod;
import com.darkweb.genesissearchengine.pluginManager.pluginController; import com.darkweb.genesissearchengine.pluginManager.pluginController;
import com.darkweb.genesissearchengine.pluginManager.pluginEnums;
import com.example.myapplication.R; import com.example.myapplication.R;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
@ -140,7 +141,7 @@ public class historyController extends AppCompatActivity
mClearButton.requestFocusFromTouch(); mClearButton.requestFocusFromTouch();
mClearButton.setOnClickListener(v -> { mClearButton.setOnClickListener(v -> {
pluginController.getInstance().MessageManagerHandler(activityContextManager.getInstance().getHistoryController(), Collections.singletonList(strings.GENERIC_EMPTY_STR), enums.etype.clear_history); pluginController.getInstance().MessageManagerHandler(activityContextManager.getInstance().getHistoryController(), Collections.singletonList(strings.GENERIC_EMPTY_STR), enums.eMessageEnums.M_CLEAR_HISTORY);
}); });
mSearchInput.setOnEditorActionListener((v, actionId, event) ->{ mSearchInput.setOnEditorActionListener((v, actionId, event) ->{

View File

@ -2,16 +2,11 @@ package com.darkweb.genesissearchengine.appManager.homeManager;
import android.content.Intent; import android.content.Intent;
import android.net.Uri; import android.net.Uri;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import com.darkweb.genesissearchengine.constants.*; import com.darkweb.genesissearchengine.constants.*;
import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.darkweb.genesissearchengine.helperManager.helperMethod; import com.darkweb.genesissearchengine.helperManager.helperMethod;
import java.io.File; import java.io.File;
import java.net.URI;
import java.util.Arrays;
import java.util.List; import java.util.List;
import static com.darkweb.genesissearchengine.constants.enums.etype.on_handle_external_intent; import static com.darkweb.genesissearchengine.constants.enums.etype.on_handle_external_intent;
import static org.mozilla.geckoview.GeckoSessionSettings.USER_AGENT_MODE_MOBILE; import static org.mozilla.geckoview.GeckoSessionSettings.USER_AGENT_MODE_MOBILE;
@ -23,22 +18,18 @@ import static org.mozilla.geckoview.StorageController.ClearFlags.NETWORK_CACHE;
import static org.mozilla.geckoview.StorageController.ClearFlags.PERMISSIONS; import static org.mozilla.geckoview.StorageController.ClearFlags.PERMISSIONS;
import static org.mozilla.geckoview.StorageController.ClearFlags.SITE_DATA; import static org.mozilla.geckoview.StorageController.ClearFlags.SITE_DATA;
import static org.mozilla.geckoview.StorageController.ClearFlags.SITE_SETTINGS; import static org.mozilla.geckoview.StorageController.ClearFlags.SITE_SETTINGS;
import org.mozilla.geckoview.ContentBlocking; import org.mozilla.geckoview.ContentBlocking;
import org.mozilla.geckoview.GeckoRuntime; import org.mozilla.geckoview.GeckoRuntime;
import org.mozilla.geckoview.GeckoSession; import org.mozilla.geckoview.GeckoSession;
import org.mozilla.geckoview.GeckoView; import org.mozilla.geckoview.GeckoView;
class geckoClients class geckoClients
{ {
/*Gecko Variables*/ /*Gecko Variables*/
private geckoSession mSession = null; private geckoSession mSession = null;
private GeckoRuntime mRuntime = null; private GeckoRuntime mRuntime = null;
private int mSessionID=0; private String mSessionID;
private int mGlobalSessionCounter=0;
private eventObserver.eventListener event; private eventObserver.eventListener event;
private AppCompatActivity context; private AppCompatActivity context;
@ -47,8 +38,7 @@ class geckoClients
{ {
this.context = context; this.context = context;
this.event = event; this.event = event;
mGlobalSessionCounter+=1; mSessionID = helperMethod.createRandomID();
mSessionID = mGlobalSessionCounter;
initRuntimeSettings(context); initRuntimeSettings(context);
if(!isForced && geckoView.getSession()!=null && geckoView.getSession().isOpen()){ if(!isForced && geckoView.getSession()!=null && geckoView.getSession().isOpen()){
@ -56,7 +46,7 @@ class geckoClients
} }
else { else {
geckoView.releaseSession(); geckoView.releaseSession();
mSession = new geckoSession(new geckoViewClientCallback(),mGlobalSessionCounter,context, geckoView); mSession = new geckoSession(new geckoViewClientCallback(),mSessionID,context, geckoView);
mSession.open(mRuntime); mSession.open(mRuntime);
mSession.getSettings().setUseTrackingProtection(status.sStatusDoNotTrack); mSession.getSettings().setUseTrackingProtection(status.sStatusDoNotTrack);
mSession.getSettings().setFullAccessibilityTree(true); mSession.getSettings().setFullAccessibilityTree(true);
@ -64,11 +54,31 @@ class geckoClients
mSession.getSettings().setAllowJavascript(status.sSettingJavaStatus); mSession.getSettings().setAllowJavascript(status.sSettingJavaStatus);
geckoView.releaseSession(); geckoView.releaseSession();
geckoView.setSession(mSession); geckoView.setSession(mSession);
} }
mSession.onSetInitializeFromStartup();
onUpdateFont(); onUpdateFont();
} }
public void onValidateInitializeFromStartup(){
mSession.onValidateInitializeFromStartup();
}
public boolean onGetInitializeFromStartup(){
return mSession.onGetInitializeFromStartup();
}
public geckoSession initFreeSession(GeckoView pGeckoView, AppCompatActivity pcontext, eventObserver.eventListener event){
this.event = event;
initRuntimeSettings(pcontext);
geckoSession mTempSession = new geckoSession(new geckoViewClientCallback(),mSessionID,context, pGeckoView);
mTempSession.open(mRuntime);
mTempSession.getSettings().setUseTrackingProtection(status.sStatusDoNotTrack);
mTempSession.getSettings().setFullAccessibilityTree(true);
mTempSession.getSettings().setUserAgentMode(USER_AGENT_MODE_MOBILE);
mTempSession.getSettings().setAllowJavascript(status.sSettingJavaStatus);
return mTempSession;
}
void toogleUserAgent(){ void toogleUserAgent(){
mSession.toogleUserAgent(); mSession.toogleUserAgent();
} }
@ -129,13 +139,6 @@ class geckoClients
return mSession; return mSession;
} }
void updateJavascript(){
mSession.getSettings().setAllowJavascript(status.sSettingJavaStatus);
if(status.sSettingJavaStatus){
mSession.reload();
}
}
void onUploadRequest(int resultCode,Intent data){ void onUploadRequest(int resultCode,Intent data){
mSession.onFileUploadRequest(resultCode,data); mSession.onFileUploadRequest(resultCode,data);
} }
@ -145,9 +148,11 @@ class geckoClients
} }
void loadURL(String url){ void loadURL(String url){
if(mSession.onGetInitializeFromStartup()){
mSession.initURL(url); mSession.initURL(url);
mSession.loadUri(url); mSession.loadUri(url);
} }
}
public void onRedrawPixel(){ public void onRedrawPixel(){
mSession.onRedrawPixel(); mSession.onRedrawPixel();
@ -186,10 +191,6 @@ class geckoClients
return mSession.canGoBack(); return mSession.canGoBack();
} }
boolean canGoForward(){
return mSession.canGoForward();
}
boolean isLoading(){ boolean isLoading(){
return mSession.isLoading(); return mSession.isLoading();
} }
@ -221,10 +222,15 @@ class geckoClients
mSession.reload(); mSession.reload();
} }
void onReloadStatic(){
mSession.loadUri(mSession.getCurrentURL());
}
void manual_download(String url, AppCompatActivity context){ void manual_download(String url, AppCompatActivity context){
Uri downloadURL = Uri.parse(url); Uri downloadURL = Uri.parse(url);
File f = new File(url); File f = new File(url);
String downloadFile = f.getName() != null ? f.getName() : downloadURL.getLastPathSegment(); f.getName();
String downloadFile = f.getName();
/*EXTERNAL STORAGE REQUEST*/ /*EXTERNAL STORAGE REQUEST*/
if(helperMethod.checkPermissions(context)){ if(helperMethod.checkPermissions(context)){
@ -241,10 +247,6 @@ class geckoClients
/*Session Updates*/ /*Session Updates*/
void onUpdateSettings(){
mSession.reload();
}
void onUpdateFont(){ void onUpdateFont(){
float font = (status.sSettingFontSize -100)/3+100; float font = (status.sSettingFontSize -100)/3+100;
mRuntime.getSettings().setAutomaticFontSizeAdjustment(status.sSettingFontAdjustable); mRuntime.getSettings().setAutomaticFontSizeAdjustment(status.sSettingFontAdjustable);
@ -258,7 +260,7 @@ class geckoClients
@Override @Override
public Object invokeObserver(List<Object> data, Object e_type) public Object invokeObserver(List<Object> data, Object e_type)
{ {
if (mSessionID == (int)data.get(1) || e_type.equals(enums.etype.FINDER_RESULT_CALLBACK) || e_type.equals(enums.etype.ON_UPDATE_TAB_TITLE) || e_type.equals(enums.etype.on_update_favicon) ||e_type.equals(enums.etype.on_update_history) || e_type.equals(enums.etype.on_request_completed) || e_type.equals(enums.etype.on_update_suggestion) || e_type.equals(enums.etype.on_update_suggestion_url)) if (mSessionID!=null && mSessionID.equals(data.get(1)) || e_type.equals(enums.etype.FINDER_RESULT_CALLBACK) || e_type.equals(enums.etype.ON_UPDATE_TAB_TITLE) || e_type.equals(enums.etype.on_update_favicon) ||e_type.equals(enums.etype.on_update_history) || e_type.equals(enums.etype.on_request_completed) || e_type.equals(enums.etype.on_update_suggestion) || e_type.equals(enums.etype.on_update_suggestion_url))
{ {
if (e_type.equals(on_handle_external_intent)) if (e_type.equals(on_handle_external_intent))
{ {

View File

@ -18,15 +18,11 @@ import android.os.Environment;
import android.os.Handler; import android.os.Handler;
import android.util.Base64; import android.util.Base64;
import android.util.Log; import android.util.Log;
import android.view.View;
import android.view.autofill.AutofillManager; import android.view.autofill.AutofillManager;
import android.view.autofill.AutofillValue; import android.view.autofill.AutofillValue;
import android.widget.Toast; import android.widget.Toast;
import org.mozilla.gecko.EventDispatcher;
import androidx.annotation.AnyThread;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.annotation.UiThread; import androidx.annotation.UiThread;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.NotificationCompat; import androidx.core.app.NotificationCompat;
@ -39,6 +35,7 @@ import com.darkweb.genesissearchengine.helperManager.JavaScriptInterface;
import com.darkweb.genesissearchengine.helperManager.downloadFileService; import com.darkweb.genesissearchengine.helperManager.downloadFileService;
import com.darkweb.genesissearchengine.helperManager.errorHandler; import com.darkweb.genesissearchengine.helperManager.errorHandler;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.darkweb.genesissearchengine.pluginManager.pluginEnums;
import com.example.myapplication.R; import com.example.myapplication.R;
import org.mozilla.gecko.util.ThreadUtils; import org.mozilla.gecko.util.ThreadUtils;
import org.mozilla.geckoview.AllowOrDeny; import org.mozilla.geckoview.AllowOrDeny;
@ -46,27 +43,22 @@ import org.mozilla.geckoview.Autofill;
import org.mozilla.geckoview.GeckoResult; import org.mozilla.geckoview.GeckoResult;
import org.mozilla.geckoview.GeckoSession; import org.mozilla.geckoview.GeckoSession;
import org.mozilla.geckoview.GeckoView; import org.mozilla.geckoview.GeckoView;
import org.mozilla.geckoview.SessionFinder;
import org.mozilla.geckoview.WebRequestError; import org.mozilla.geckoview.WebRequestError;
import java.io.File; import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import mozilla.components.browser.engine.gecko.GleanMetrics.Geckoview;
import static org.mozilla.geckoview.GeckoSessionSettings.USER_AGENT_MODE_DESKTOP; import static org.mozilla.geckoview.GeckoSessionSettings.USER_AGENT_MODE_DESKTOP;
import static org.mozilla.geckoview.GeckoSessionSettings.USER_AGENT_MODE_MOBILE; import static org.mozilla.geckoview.GeckoSessionSettings.USER_AGENT_MODE_MOBILE;
public class geckoSession extends GeckoSession implements GeckoSession.ScrollDelegate,GeckoSession.PermissionDelegate,GeckoSession.ProgressDelegate, GeckoSession.HistoryDelegate,GeckoSession.NavigationDelegate,GeckoSession.ContentDelegate public class geckoSession extends GeckoSession implements GeckoSession.MediaDelegate,GeckoSession.ScrollDelegate,GeckoSession.PermissionDelegate,GeckoSession.ProgressDelegate, GeckoSession.HistoryDelegate,GeckoSession.NavigationDelegate,GeckoSession.ContentDelegate
{ {
private eventObserver.eventListener event; private eventObserver.eventListener event;
private int mSessionID; private String mSessionID;
private boolean mCanGoBack = false; private boolean mCanGoBack = false;
private boolean mCanGoForward = false; private boolean mCanGoForward = false;
private boolean mFullScreen = false; private boolean mFullScreen = false;
@ -83,8 +75,9 @@ public class geckoSession extends GeckoSession implements GeckoSession.ScrollDel
private int rateCount=0; private int rateCount=0;
private int m_current_url_id = -1; private int m_current_url_id = -1;
private GeckoView mGeckoView; private GeckoView mGeckoView;
private boolean mIsLoaded = false;
geckoSession(eventObserver.eventListener event,int mSessionID,AppCompatActivity mContext, GeckoView pGeckoView){ geckoSession(eventObserver.eventListener event,String mSessionID,AppCompatActivity mContext, GeckoView pGeckoView){
this.mGeckoView = pGeckoView; this.mGeckoView = pGeckoView;
this.mContext = mContext; this.mContext = mContext;
@ -101,6 +94,22 @@ public class geckoSession extends GeckoSession implements GeckoSession.ScrollDel
this.event = event; this.event = event;
} }
public void onSetInitializeFromStartup(){
mIsLoaded = true;
}
public boolean onGetInitializeFromStartup(){
return mIsLoaded;
}
public void onValidateInitializeFromStartup(){
if(!mIsLoaded){
mIsLoaded = true;
initURL(mCurrentURL);
loadUri(mCurrentURL);
}
}
void onFileUploadRequest(int resultCode, Intent data){ void onFileUploadRequest(int resultCode, Intent data){
geckoPromptView mPromptDelegate = (geckoPromptView)getPromptDelegate(); geckoPromptView mPromptDelegate = (geckoPromptView)getPromptDelegate();
@ -108,6 +117,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.ScrollDel
} }
void initURL(String url){ void initURL(String url){
if(mIsLoaded){
isPageLoading = true; isPageLoading = true;
mCurrentURL = url; mCurrentURL = url;
mCurrentTitle = mCurrentURL; mCurrentTitle = mCurrentURL;
@ -120,6 +130,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.ScrollDel
} }
m_current_url_id = -1; m_current_url_id = -1;
} }
}
/*Scroll Delegate*/ /*Scroll Delegate*/
@ -190,6 +201,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.ScrollDel
@Override @Override
public void onPageStart(@NonNull GeckoSession var1, @NonNull String var2) { public void onPageStart(@NonNull GeckoSession var1, @NonNull String var2) {
if(mIsLoaded){
if(!isPageLoading){ if(!isPageLoading){
mCurrentTitle = "loading"; mCurrentTitle = "loading";
m_current_url_id = -1; m_current_url_id = -1;
@ -198,7 +210,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.ScrollDel
if(!var2.equals("about:blank") && !mCurrentTitle.equals("loading")){ if(!var2.equals("about:blank") && !mCurrentTitle.equals("loading")){
mProgress = 5; mProgress = 5;
} }
}
} }
@UiThread @UiThread
@ -245,6 +257,10 @@ public class geckoSession extends GeckoSession implements GeckoSession.ScrollDel
/*Navigation Delegate*/ /*Navigation Delegate*/
public void onLocationChange(@NonNull GeckoSession var1, @Nullable String var2) { public void onLocationChange(@NonNull GeckoSession var1, @Nullable String var2) {
if(!mIsLoaded){
return;
}
String newUrl = Objects.requireNonNull(var2).split("#")[0]; String newUrl = Objects.requireNonNull(var2).split("#")[0];
if(!mCurrentTitle.equals("loading")){ if(!mCurrentTitle.equals("loading")){
m_current_url_id = (int)event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID,mCurrentTitle, m_current_url_id), enums.etype.on_update_history); m_current_url_id = (int)event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID,mCurrentTitle, m_current_url_id), enums.etype.on_update_history);
@ -270,7 +286,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.ScrollDel
event.invokeObserver(Arrays.asList(var1.uri,mSessionID), enums.etype.on_playstore_load); event.invokeObserver(Arrays.asList(var1.uri,mSessionID), enums.etype.on_playstore_load);
return GeckoResult.fromValue(AllowOrDeny.DENY); return GeckoResult.fromValue(AllowOrDeny.DENY);
} }
else if(var1.uri.equals("about:blank")){ else if(var1.uri.equals("about:blank") && mIsLoaded){
return GeckoResult.fromValue(AllowOrDeny.ALLOW); return GeckoResult.fromValue(AllowOrDeny.ALLOW);
} }
else if(var1.target==2){ else if(var1.target==2){
@ -316,7 +332,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.ScrollDel
@UiThread @UiThread
public void onTitleChange(@NonNull GeckoSession var1, @Nullable String var2) { public void onTitleChange(@NonNull GeckoSession var1, @Nullable String var2) {
if(var2!=null && !var2.equals(strings.GENERIC_EMPTY_STR) && var2.length()>2 && !var2.equals("about:blank")){ if(var2!=null && !var2.equals(strings.GENERIC_EMPTY_STR) && var2.length()>2 && !var2.equals("about:blank") && mIsLoaded){
mCurrentTitle = var2; mCurrentTitle = var2;
m_current_url_id = (int)event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID,mCurrentTitle, m_current_url_id), enums.etype.on_update_history); m_current_url_id = (int)event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID,mCurrentTitle, m_current_url_id), enums.etype.on_update_history);
event.invokeObserver(Arrays.asList(var2,mSessionID,mCurrentTitle, m_current_url_id), dataEnums.eTabCommands.M_UPDATE_PIXEL); event.invokeObserver(Arrays.asList(var2,mSessionID,mCurrentTitle, m_current_url_id), dataEnums.eTabCommands.M_UPDATE_PIXEL);
@ -338,14 +354,14 @@ public class geckoSession extends GeckoSession implements GeckoSession.ScrollDel
} }
if(var4.type!=0){ if(var4.type!=0){
if(var4.linkUri!=null){ if(var4.linkUri!=null){
event.invokeObserver(Arrays.asList(var4.linkUri,mSessionID,var4.srcUri,title), enums.etype.on_long_press_with_link); event.invokeObserver(Arrays.asList(var4.linkUri,mSessionID,var4.srcUri,title), enums.eMessageEnums.M_LONG_PRESS_WITH_LINK);
} }
else { else {
event.invokeObserver(Arrays.asList(var4.srcUri,mSessionID,title), enums.etype.on_long_press); event.invokeObserver(Arrays.asList(var4.srcUri,mSessionID,title), enums.etype.on_long_press);
} }
} }
else{ else{
event.invokeObserver(Arrays.asList(var4.linkUri,mSessionID,title), enums.etype.on_long_press_url); event.invokeObserver(Arrays.asList(var4.linkUri,mSessionID,title), enums.eMessageEnums.M_LONG_PRESS_URL);
} }
} }
@ -525,6 +541,10 @@ public class geckoSession extends GeckoSession implements GeckoSession.ScrollDel
mCurrentTitle = title; mCurrentTitle = title;
} }
public void setURL(String pURL){
mCurrentURL = pURL;
}
boolean canGoBack(){ boolean canGoBack(){
return mCanGoBack; return mCanGoBack;
} }
@ -533,10 +553,14 @@ public class geckoSession extends GeckoSession implements GeckoSession.ScrollDel
return mCanGoForward; return mCanGoForward;
} }
public int getSessionID(){ public String getSessionID(){
return mSessionID; return mSessionID;
} }
public void setSessionID(String pSession){
mSessionID = pSession;
}
void exitScreen(){ void exitScreen(){
this.exitFullScreen(); this.exitFullScreen();
} }
@ -610,7 +634,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.ScrollDel
private void checkApplicationRate(){ private void checkApplicationRate(){
if(rateCount==7){ if(rateCount==7){
event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID,mCurrentTitle), enums.etype.rate_application); event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID,mCurrentTitle), enums.eMessageEnums.M_RATE_APPLICATION);
} }
rateCount+=1; rateCount+=1;
} }

View File

@ -2,6 +2,7 @@ package com.darkweb.genesissearchengine.appManager.homeManager;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.app.DownloadManager; import android.app.DownloadManager;
import android.content.ActivityNotFoundException;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.ComponentCallbacks2; import android.content.ComponentCallbacks2;
import android.content.Context; import android.content.Context;
@ -14,9 +15,9 @@ import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.speech.RecognizerIntent;
import android.text.Editable; import android.text.Editable;
import android.text.TextWatcher; import android.text.TextWatcher;
import android.util.Log;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.view.View; import android.view.View;
import android.view.inputmethod.EditorInfo; import android.view.inputmethod.EditorInfo;
@ -26,8 +27,6 @@ import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatDelegate; import androidx.appcompat.app.AppCompatDelegate;
import androidx.constraintlayout.widget.ConstraintLayout; import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.core.widget.NestedScrollView;
import com.darkweb.genesissearchengine.appManager.activityContextManager; import com.darkweb.genesissearchengine.appManager.activityContextManager;
import com.darkweb.genesissearchengine.appManager.bookmarkManager.bookmarkController; import com.darkweb.genesissearchengine.appManager.bookmarkManager.bookmarkController;
import com.darkweb.genesissearchengine.appManager.databaseManager.databaseController; import com.darkweb.genesissearchengine.appManager.databaseManager.databaseController;
@ -51,15 +50,14 @@ import com.darkweb.genesissearchengine.helperManager.KeyboardUtils;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.darkweb.genesissearchengine.helperManager.helperMethod; import com.darkweb.genesissearchengine.helperManager.helperMethod;
import com.darkweb.genesissearchengine.pluginManager.pluginController; import com.darkweb.genesissearchengine.pluginManager.pluginController;
import com.darkweb.genesissearchengine.pluginManager.pluginEnums;
import com.darkweb.genesissearchengine.widget.progressBar.AnimatedProgressBar;
import com.example.myapplication.R; import com.example.myapplication.R;
import com.google.android.gms.ads.AdView; import com.google.android.gms.ads.AdView;
import org.mozilla.geckoview.GeckoSession; import org.mozilla.geckoview.GeckoSession;
import org.mozilla.geckoview.GeckoView;
import org.torproject.android.service.util.Prefs; import org.torproject.android.service.util.Prefs;
import org.torproject.android.service.wrapper.LocaleHelper; import org.torproject.android.service.wrapper.LocaleHelper;
import org.torproject.android.service.wrapper.orbotLocalConstants; import org.torproject.android.service.wrapper.orbotLocalConstants;
import java.lang.ref.WeakReference; import java.lang.ref.WeakReference;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.lang.reflect.Method; import java.lang.reflect.Method;
@ -70,7 +68,6 @@ import java.util.List;
import java.util.Locale; import java.util.Locale;
import java.util.Objects; import java.util.Objects;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
import static com.darkweb.genesissearchengine.constants.enums.etype.GECKO_SCROLL_CHANGED; import static com.darkweb.genesissearchengine.constants.enums.etype.GECKO_SCROLL_CHANGED;
public class homeController extends AppCompatActivity implements ComponentCallbacks2 public class homeController extends AppCompatActivity implements ComponentCallbacks2
@ -86,7 +83,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
private FrameLayout mWebViewContainer; private FrameLayout mWebViewContainer;
/*View Objects*/ /*View Objects*/
private com.darkweb.genesissearchengine.widget.AnimatedProgressBar mProgressBar; private AnimatedProgressBar mProgressBar;
private ConstraintLayout mSplashScreen; private ConstraintLayout mSplashScreen;
private AutoCompleteTextView mSearchbar; private AutoCompleteTextView mSearchbar;
private ImageView mLoadingIcon; private ImageView mLoadingIcon;
@ -100,6 +97,8 @@ public class homeController extends AppCompatActivity implements ComponentCallba
private View mFindBar; private View mFindBar;
private EditText mFindText; private EditText mFindText;
private TextView mFindCount; private TextView mFindCount;
private ImageButton mVoiceInput;
private ImageButton mMenu;
/*Redirection Objects*/ /*Redirection Objects*/
private boolean mPageClosed = false; private boolean mPageClosed = false;
@ -121,18 +120,16 @@ public class homeController extends AppCompatActivity implements ComponentCallba
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.home_view); setContentView(R.layout.home_view);
initPreFixes(); initPreFixes();
activityContextManager.getInstance().setHomeController(this); activityContextManager.getInstance().setHomeController(this);
pluginController.getInstance().initializeAllServices(this); pluginController.getInstance().initializeAllServices(this);
dataController.getInstance().initializeListData();
initializeAppModel();
initializeAppModel(); initializeAppModel();
initializeConnections(); initializeConnections();
pluginController.getInstance().initialize(); pluginController.getInstance().initialize();
initializeGeckoView(savedInstanceState == null);
initializeLocalEventHandlers(); initializeLocalEventHandlers();
initLandingPage(); initLandingPage();
onNewIntent(getIntent()); //onNewIntent(getIntent());
initLocalLanguage(); initLocalLanguage();
} }
@ -197,7 +194,6 @@ public class homeController extends AppCompatActivity implements ComponentCallba
if(status.sSettingIsAppStarted){ if(status.sSettingIsAppStarted){
mHomeViewController.onPageFinished(); mHomeViewController.onPageFinished();
mSplashScreen.setAlpha(0); mSplashScreen.setAlpha(0);
onLoadURL(status.mCurrentReloadURL);
mHomeViewController.onProgressBarUpdate(100); mHomeViewController.onProgressBarUpdate(100);
} }
} }
@ -228,13 +224,30 @@ public class homeController extends AppCompatActivity implements ComponentCallba
mFindBar = findViewById(R.id.pFindBar); mFindBar = findViewById(R.id.pFindBar);
mFindText = findViewById(R.id.pFindText); mFindText = findViewById(R.id.pFindText);
mFindCount = findViewById(R.id.pFindCount); mFindCount = findViewById(R.id.pFindCount);
mVoiceInput = findViewById(R.id.pVoiceInput);
mMenu = findViewById(R.id.pMenu);
mGeckoView.setSaveEnabled(false); mGeckoView.setSaveEnabled(false);
mGeckoView.setSaveFromParentEnabled(false); mGeckoView.setSaveFromParentEnabled(false);
mGeckoClient = new geckoClients(); mGeckoClient = new geckoClients();
mHomeViewController.initialization(new homeViewCallback(),this,mNewTab, mWebViewContainer, mLoadingText, mProgressBar, mSearchbar, mSplashScreen, mLoadingIcon, mBannerAds,(ArrayList<historyRowModel>)dataController.getInstance().invokeSuggestion(dataEnums.eSuggestionCommands.M_GET_SUGGESTION, null), mGatewaySplash, mTopBar, mGeckoView, mBackSplash, mConnectButton, mFindBar, mFindText, mFindCount, mTopLayout); mHomeViewController.initialization(new homeViewCallback(),this,mNewTab, mWebViewContainer, mLoadingText, mProgressBar, mSearchbar, mSplashScreen, mLoadingIcon, mBannerAds,(ArrayList<historyRowModel>)dataController.getInstance().invokeSuggestion(dataEnums.eSuggestionCommands.M_GET_SUGGESTION, null), mGatewaySplash, mTopBar, mGeckoView, mBackSplash, mConnectButton, mFindBar, mFindText, mFindCount, mTopLayout, mVoiceInput, mMenu);
mGeckoView.onSetHomeEvent(new nestedGeckoViewCallback()); mGeckoView.onSetHomeEvent(new nestedGeckoViewCallback());
mGeckoClient.initialize(mGeckoView, new geckoViewCallback(), this,false);
mGeckoClient.onValidateInitializeFromStartup();
dataController.getInstance().initializeListData();
if(status.sSettingIsAppStarted){
Object mTempModel = dataController.getInstance().invokeTab(dataEnums.eTabCommands.GET_CURRENT_TAB, null);
if(mTempModel!=null){
tabRowModel model = (tabRowModel)mTempModel;
onLoadTab(model.getSession(),false);
onLoadURL(mGeckoClient.getSession().getCurrentURL());
mGeckoClient.initSession(model.getSession());
}else {
onNewIntent(getIntent());
}
}
} }
public void onChangeTheme(){ public void onChangeTheme(){
@ -260,9 +273,9 @@ public class homeController extends AppCompatActivity implements ComponentCallba
} }
} }
public void initializeGeckoView(boolean isForced){ public void initializeGeckoView(boolean isForced, boolean pDatabaseSavable){
mGeckoClient.initialize(mGeckoView, new geckoViewCallback(), this,isForced); mGeckoClient.initialize(mGeckoView, new geckoViewCallback(), this,isForced);
onSaveCurrentTab(mGeckoClient.getSession(),false); onSaveCurrentTab(mGeckoClient.getSession(),pDatabaseSavable);
mHomeViewController.initTab((int)dataController.getInstance().invokeTab(dataEnums.eTabCommands.GET_TOTAL_TAB, null)); mHomeViewController.initTab((int)dataController.getInstance().invokeTab(dataEnums.eTabCommands.GET_TOTAL_TAB, null));
} }
@ -312,7 +325,6 @@ public class homeController extends AppCompatActivity implements ComponentCallba
mGeckoClient.initSession(mTempSession); mGeckoClient.initSession(mTempSession);
mGeckoView.releaseSession(); mGeckoView.releaseSession();
mGeckoView.setSession(mTempSession); mGeckoView.setSession(mTempSession);
mGeckoClient.onRedrawPixel();
mHomeViewController.onClearSelections(false); mHomeViewController.onClearSelections(false);
mHomeViewController.onUpdateSearchBar(mTempSession.getCurrentURL(),false); mHomeViewController.onUpdateSearchBar(mTempSession.getCurrentURL(),false);
@ -321,8 +333,11 @@ public class homeController extends AppCompatActivity implements ComponentCallba
}else { }else {
mHomeViewController.progressBarReset(); mHomeViewController.progressBarReset();
} }
if(mGeckoClient.getSession().onGetInitializeFromStartup()){
mGeckoClient.onRedrawPixel(); mGeckoClient.onRedrawPixel();
} }
mGeckoClient.onValidateInitializeFromStartup();
}
/*-------------------------------------------------------USER EVENTS-------------------------------------------------------*/ /*-------------------------------------------------------USER EVENTS-------------------------------------------------------*/
@ -368,7 +383,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
@Override @Override
public void onTextChanged(CharSequence s, int start,int before, int count) { public void onTextChanged(CharSequence s, int start,int before, int count) {
if(mFindText.getText().length()==0){ if(mFindText.getText().length()==0 && mGeckoClient!=null){
mGeckoClient.getSession().getFinder().clear(); mGeckoClient.getSession().getFinder().clear();
mHomeViewController.onUpdateFindBarCount(0,0); mHomeViewController.onUpdateFindBarCount(0,0);
}else { }else {
@ -430,6 +445,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
mSearchbar.setOnFocusChangeListener((v, hasFocus) -> { mSearchbar.setOnFocusChangeListener((v, hasFocus) -> {
if(!hasFocus) if(!hasFocus)
{ {
mHomeViewController.initSearchBarFocus(false);
if(!mGeckoClient.isLoading()){ if(!mGeckoClient.isLoading()){
mHomeViewController.onUpdateSearchBar(mGeckoClient.getSession().getCurrentURL(),false); mHomeViewController.onUpdateSearchBar(mGeckoClient.getSession().getCurrentURL(),false);
} }
@ -438,6 +454,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
mHomeViewController.initializeSuggestionView((ArrayList<historyRowModel>)dataController.getInstance().invokeSuggestion(dataEnums.eSuggestionCommands.M_GET_SUGGESTION, null)); mHomeViewController.initializeSuggestionView((ArrayList<historyRowModel>)dataController.getInstance().invokeSuggestion(dataEnums.eSuggestionCommands.M_GET_SUGGESTION, null));
} }
}else { }else {
mHomeViewController.initSearchBarFocus(true);
mHomeViewController.onUpdateSearchBar(mGeckoClient.getSession().getCurrentURL(),true); mHomeViewController.onUpdateSearchBar(mGeckoClient.getSession().getCurrentURL(),true);
} }
}); });
@ -458,9 +475,10 @@ public class homeController extends AppCompatActivity implements ComponentCallba
public void onSuggestionInvoked(View view){ public void onSuggestionInvoked(View view){
String val = ((TextView)view.findViewById(R.id.hintCompletionUrl)).getText().toString(); String val = ((TextView)view.findViewById(R.id.hintCompletionUrl)).getText().toString();
mSearchbar.clearFocus();
mHomeViewController.onUpdateSearchBar(val,false);
onLoadURL(val); onLoadURL(val);
mSearchbar.clearFocus();
mSearchbar.setSelection(0);
mHomeViewController.onUpdateSearchBar(val,false);
} }
public void applyTheme(){ public void applyTheme(){
@ -474,9 +492,13 @@ public class homeController extends AppCompatActivity implements ComponentCallba
mHomeViewController.onUpdateLogo(); mHomeViewController.onUpdateLogo();
} }
public geckoSession onNewTabInit(){
return mGeckoClient.initFreeSession(mGeckoView, this, new geckoViewCallback());
}
public void onNewTab(boolean isKeyboardOpenedTemp, boolean isKeyboardOpened){ public void onNewTab(boolean isKeyboardOpenedTemp, boolean isKeyboardOpened){
mGeckoClient.onRedrawPixel(); mGeckoClient.onRedrawPixel();
initializeGeckoView(true); initializeGeckoView(true, true);
if(status.sOpenURLInNewTab){ if(status.sOpenURLInNewTab){
onLoadURL(helperMethod.getDomainName(status.sSettingSearchStatus)); onLoadURL(helperMethod.getDomainName(status.sSettingSearchStatus));
mHomeViewController. onUpdateSearchBar(helperMethod.getDomainName(status.sSettingSearchStatus),false); mHomeViewController. onUpdateSearchBar(helperMethod.getDomainName(status.sSettingSearchStatus),false);
@ -598,14 +620,14 @@ public class homeController extends AppCompatActivity implements ComponentCallba
{ {
pluginController.getInstance().onResume(this); pluginController.getInstance().onResume(this);
activityContextManager.getInstance().setCurrentActivity(this); activityContextManager.getInstance().setCurrentActivity(this);
if (mGeckoClient!=null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && mGeckoClient.getUriPermission()!=null) { if (mGeckoClient.getSession()!=null && mGeckoClient!=null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && mGeckoClient.getUriPermission()!=null) {
this.revokeUriPermission(mGeckoClient.getUriPermission(), Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION); this.revokeUriPermission(mGeckoClient.getUriPermission(), Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION);
} }
if(status.sSettingIsAppStarted){ if(status.sSettingIsAppStarted){
onStartApplication(null); onStartApplication(null);
} }
if((int)dataController.getInstance().invokeTab(dataEnums.eTabCommands.GET_TOTAL_TAB, null)<=0){ if((int)dataController.getInstance().invokeTab(dataEnums.eTabCommands.GET_TOTAL_TAB, null)<=0){
onNewTab(false, false); //onNewTab(false, false);
} }
super.onResume(); super.onResume();
@ -613,7 +635,23 @@ public class homeController extends AppCompatActivity implements ComponentCallba
@Override @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){ protected void onActivityResult(int requestCode, int resultCode, Intent data){
if(requestCode==1){ if(requestCode==100){
if(resultCode == RESULT_OK && null != data){
ArrayList<String> result = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
mHomeViewController.onUpdateSearchBar(result.get(0),false);
helperMethod.hideKeyboard(homeController.this);
mGeckoClient.setLoading(true);
final Handler handler = new Handler();
handler.postDelayed(() ->
{
pluginController.getInstance().logEvent(strings.EVENT_SEARCH_INVOKED);
onSearchBarInvoked(mSearchbar);
mGeckoView.clearFocus();
}, 500);
}
}
else if(requestCode==1){
mGeckoClient.onUploadRequest(resultCode,data); mGeckoClient.onUploadRequest(resultCode,data);
} }
else { else {
@ -625,6 +663,19 @@ public class homeController extends AppCompatActivity implements ComponentCallba
mHomeViewController.onSetBannerAdMargin(true,pluginController.getInstance().isAdvertLoaded()); mHomeViewController.onSetBannerAdMargin(true,pluginController.getInstance().isAdvertLoaded());
} }
public void onVoiceClick(View view) {
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault());
intent.putExtra(RecognizerIntent.EXTRA_PROMPT,
"Voice2Text \n Say Something!!");
try {
startActivityForResult(intent, 100);
} catch (ActivityNotFoundException ignored) {
}
}
/*-------------------------------------------------------External Callback Methods-------------------------------------------------------*/ /*-------------------------------------------------------External Callback Methods-------------------------------------------------------*/
public void onSuggestionUpdate(){ public void onSuggestionUpdate(){
@ -668,7 +719,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
public void onOpenLinkNewTab(String url){ public void onOpenLinkNewTab(String url){
mGeckoClient.onRedrawPixel(); mGeckoClient.onRedrawPixel();
initializeGeckoView(true); initializeGeckoView(true, true);
mHomeViewController.progressBarReset(); mHomeViewController.progressBarReset();
mHomeViewController.onNewTab(false,isKeyboardOpened); mHomeViewController.onNewTab(false,isKeyboardOpened);
mHomeViewController.onUpdateSearchBar(url,false); mHomeViewController.onUpdateSearchBar(url,false);
@ -730,11 +781,11 @@ public class homeController extends AppCompatActivity implements ComponentCallba
public void onMenuItemInvoked(View view){ public void onMenuItemInvoked(View view){
int menuId = view.getId(); int menuId = view.getId();
if (menuId == R.id.menu11) { if (menuId == R.id.menu11) {
onNewTab(true, isKeyboardOpened); onNewTab(isKeyboardOpened, true);
} }
else if (menuId == R.id.menu10) { else if (menuId == R.id.menu10) {
if(!onCloseCurrentTab(mGeckoClient.getSession())){ if(!onCloseCurrentTab(mGeckoClient.getSession())){
onNewTab(true, isKeyboardOpened); onNewTab(isKeyboardOpened, true);
} }
} }
else { else {
@ -763,7 +814,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
} }
else if (menuId == R.id.pMenuDelete) else if (menuId == R.id.pMenuDelete)
{ {
pluginController.getInstance().MessageManagerHandler(homeController.this, Collections.singletonList(mGeckoClient.getSession().getCurrentURL()),enums.etype.bookmark); pluginController.getInstance().MessageManagerHandler(homeController.this, Collections.singletonList(mGeckoClient.getSession().getCurrentURL()), enums.eMessageEnums.M_BOOKMARK);
} }
else if (menuId == R.id.pMenuOpenNewTab) else if (menuId == R.id.pMenuOpenNewTab)
{ {
@ -773,14 +824,14 @@ public class homeController extends AppCompatActivity implements ComponentCallba
else if (menuId == R.id.pMenuOpenCurrentTab) else if (menuId == R.id.pMenuOpenCurrentTab)
{ {
helperMethod.hideKeyboard(this); helperMethod.hideKeyboard(this);
pluginController.getInstance().MessageManagerHandler(homeController.this,null,enums.etype.report_url); pluginController.getInstance().MessageManagerHandler(homeController.this,null,enums.eMessageEnums.M_REPORT_URL);
} }
else if (menuId == R.id.pMenuShare) else if (menuId == R.id.pMenuShare)
{ {
helperMethod.hideKeyboard(this); helperMethod.hideKeyboard(this);
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.PROXY_IS_APP_RATED,true)); dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.PROXY_IS_APP_RATED,true));
status.sSettingIsAppRated = true; status.sSettingIsAppRated = true;
pluginController.getInstance().MessageManagerHandler(activityContextManager.getInstance().getHomeController(), Collections.singletonList(strings.GENERIC_EMPTY_STR), enums.etype.rate_app); pluginController.getInstance().MessageManagerHandler(activityContextManager.getInstance().getHomeController(), Collections.singletonList(strings.GENERIC_EMPTY_STR), enums.eMessageEnums.M_RATE_APP);
} }
else if (menuId == R.id.pMenuCopy) else if (menuId == R.id.pMenuCopy)
{ {
@ -806,7 +857,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
} }
if (menuId == R.id.menu23) { if (menuId == R.id.menu23) {
helperMethod.hideKeyboard(this); helperMethod.hideKeyboard(this);
pluginController.getInstance().MessageManagerHandler(homeController.this, Collections.singletonList(mGeckoClient.getSession().getCurrentURL()),enums.etype.bookmark); pluginController.getInstance().MessageManagerHandler(homeController.this, Collections.singletonList(mGeckoClient.getSession().getCurrentURL()),enums.eMessageEnums.M_BOOKMARK);
} }
if (menuId == R.id.menu24) { if (menuId == R.id.menu24) {
helperMethod.hideKeyboard(this); helperMethod.hideKeyboard(this);
@ -862,6 +913,13 @@ public class homeController extends AppCompatActivity implements ComponentCallba
else if(e_type.equals(enums.etype.recheck_orbot)){ else if(e_type.equals(enums.etype.recheck_orbot)){
pluginController.getInstance().isOrbotRunning(); pluginController.getInstance().isOrbotRunning();
} }
else if(e_type.equals(enums.etype.M_HOME_PAGE)){
geckoSession mSession = (geckoSession)dataController.getInstance().invokeTab(dataEnums.eTabCommands.M_HOME_PAGE, null);
if(mSession!=null){
onLoadTab(mSession, false);
}
return dataController.getInstance().invokeTab(dataEnums.eTabCommands.M_HOME_PAGE, null);
}
return null; return null;
} }
} }
@ -929,7 +987,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
Runnable runnable = () -> Runnable runnable = () ->
{ {
if(!status.sSettingIsAppStarted){ if(!status.sSettingIsAppStarted){
pluginController.getInstance().MessageManagerHandler(activityContextManager.getInstance().getHomeController(), Collections.singletonList(strings.GENERIC_EMPTY_STR), enums.etype.welcome); pluginController.getInstance().MessageManagerHandler(activityContextManager.getInstance().getHomeController(), Collections.singletonList(strings.GENERIC_EMPTY_STR), enums.eMessageEnums.M_WELCOME);
} }
status.sSettingIsAppStarted = true; status.sSettingIsAppStarted = true;
}; };
@ -940,11 +998,11 @@ public class homeController extends AppCompatActivity implements ComponentCallba
handler.postDelayed(runnable, 2000); handler.postDelayed(runnable, 2000);
} }
} }
else if(e_type.equals(enums.etype.rate_application)){ else if(e_type.equals(enums.eMessageEnums.M_RATE_APPLICATION)){
if(!status.sSettingIsAppRated){ if(!status.sSettingIsAppRated){
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.PROXY_IS_APP_RATED,true)); dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.PROXY_IS_APP_RATED,true));
status.sSettingIsAppRated = true; status.sSettingIsAppRated = true;
pluginController.getInstance().MessageManagerHandler(activityContextManager.getInstance().getHomeController(), Collections.singletonList(strings.GENERIC_EMPTY_STR), enums.etype.rate_app); pluginController.getInstance().MessageManagerHandler(activityContextManager.getInstance().getHomeController(), Collections.singletonList(strings.GENERIC_EMPTY_STR), enums.eMessageEnums.M_RATE_APP);
} }
} }
else if(e_type.equals(enums.etype.on_load_error)){ else if(e_type.equals(enums.etype.on_load_error)){
@ -957,7 +1015,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
mHomeViewController.onUpdateSearchBar(dataToStr(data.get(0),mGeckoClient.getSession().getCurrentURL()),false); mHomeViewController.onUpdateSearchBar(dataToStr(data.get(0),mGeckoClient.getSession().getCurrentURL()),false);
} }
else if(e_type.equals(enums.etype.download_file_popup)){ else if(e_type.equals(enums.etype.download_file_popup)){
pluginController.getInstance().MessageManagerHandler(homeController.this,Collections.singletonList(dataToStr(data.get(0))),enums.etype.download_file); pluginController.getInstance().MessageManagerHandler(homeController.this,Collections.singletonList(dataToStr(data.get(0))),enums.eMessageEnums.M_DOWNLOAD_FILE);
} }
else if(e_type.equals(enums.etype.on_full_screen)){ else if(e_type.equals(enums.etype.on_full_screen)){
boolean status = (Boolean)data.get(0); boolean status = (Boolean)data.get(0);
@ -966,14 +1024,14 @@ public class homeController extends AppCompatActivity implements ComponentCallba
else if(e_type.equals(enums.etype.on_update_favicon)){ else if(e_type.equals(enums.etype.on_update_favicon)){
dataController.getInstance().invokeImageCache(dataEnums.eImageCacheCommands.M_SET_IMAGE ,data); dataController.getInstance().invokeImageCache(dataEnums.eImageCacheCommands.M_SET_IMAGE ,data);
} }
else if(e_type.equals(enums.etype.on_long_press_with_link)){ else if(e_type.equals(enums.eMessageEnums.M_LONG_PRESS_WITH_LINK)){
pluginController.getInstance().MessageManagerHandler(homeController.this, Arrays.asList(dataToStr(data.get(0)),dataToStr(data.get(2)),dataToStr(data.get(3))),enums.etype.on_long_press_with_link); pluginController.getInstance().MessageManagerHandler(homeController.this, Arrays.asList(dataToStr(data.get(0)),dataToStr(data.get(2)),dataToStr(data.get(3))),enums.eMessageEnums.M_LONG_PRESS_WITH_LINK);
} }
else if(e_type.equals(enums.etype.on_long_press)){ else if(e_type.equals(enums.etype.on_long_press)){
pluginController.getInstance().MessageManagerHandler(homeController.this,Arrays.asList(dataToStr(data.get(0)),dataToStr(data.get(2))),enums.etype.download_file_long_press); pluginController.getInstance().MessageManagerHandler(homeController.this,Arrays.asList(dataToStr(data.get(0)),dataToStr(data.get(2))),enums.eMessageEnums.M_LONG_PRESS_DOWNLOAD);
} }
else if(e_type.equals(enums.etype.on_long_press_url)){ else if(e_type.equals(enums.eMessageEnums.M_LONG_PRESS_URL)){
pluginController.getInstance().MessageManagerHandler(homeController.this,Arrays.asList(dataToStr(data.get(0)),dataToStr(data.get(2))),enums.etype.on_long_press_url); pluginController.getInstance().MessageManagerHandler(homeController.this,Arrays.asList(dataToStr(data.get(0)),dataToStr(data.get(2))),enums.eMessageEnums.M_LONG_PRESS_URL);
} }
else if(e_type.equals(enums.etype.open_new_tab)){ else if(e_type.equals(enums.etype.open_new_tab)){
onOpenLinkNewTab(dataToStr(data.get(0))); onOpenLinkNewTab(dataToStr(data.get(0)));
@ -991,10 +1049,11 @@ public class homeController extends AppCompatActivity implements ComponentCallba
} }
else if(e_type.equals(enums.etype.ON_UPDATE_TAB_TITLE)){ else if(e_type.equals(enums.etype.ON_UPDATE_TAB_TITLE)){
if(activityContextManager.getInstance().getTabController()!=null && !activityContextManager.getInstance().getTabController().isDestroyed()) if(activityContextManager.getInstance().getTabController()!=null && !activityContextManager.getInstance().getTabController().isDestroyed())
activityContextManager.getInstance().getTabController().onTabRowChanged((int)data.get(1)); activityContextManager.getInstance().getTabController().onTabRowChanged((String) data.get(1));
} }
else if(e_type.equals(dataEnums.eTabCommands.M_UPDATE_PIXEL)){ else if(e_type.equals(dataEnums.eTabCommands.M_UPDATE_PIXEL)){
try{ try{
dataController.getInstance().invokeTab(dataEnums.eTabCommands.M_UPDATE_PIXEL, Arrays.asList(data.get(1), mGeckoView.capturePixels())); dataController.getInstance().invokeTab(dataEnums.eTabCommands.M_UPDATE_PIXEL, Arrays.asList(data.get(1), mGeckoView.capturePixels()));
}catch (Exception ignored){ }catch (Exception ignored){

View File

@ -34,16 +34,20 @@ import androidx.core.content.ContextCompat;
import com.darkweb.genesissearchengine.appManager.historyManager.historyRowModel; import com.darkweb.genesissearchengine.appManager.historyManager.historyRowModel;
import com.darkweb.genesissearchengine.constants.*; import com.darkweb.genesissearchengine.constants.*;
import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.animatedColor; import com.darkweb.genesissearchengine.helperManager.animatedColor;
import com.darkweb.genesissearchengine.helperManager.autoCompleteAdapter; import com.darkweb.genesissearchengine.helperManager.autoCompleteAdapter;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.darkweb.genesissearchengine.helperManager.helperMethod; import com.darkweb.genesissearchengine.helperManager.helperMethod;
import com.darkweb.genesissearchengine.widget.progressBar.AnimatedProgressBar;
import com.example.myapplication.R; import com.example.myapplication.R;
import com.google.android.gms.ads.AdSize; import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView; import com.google.android.gms.ads.AdView;
import org.mozilla.geckoview.GeckoView; import org.mozilla.geckoview.GeckoView;
import org.torproject.android.service.wrapper.orbotLocalConstants; import org.torproject.android.service.wrapper.orbotLocalConstants;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.Objects; import java.util.Objects;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
@ -59,7 +63,7 @@ class homeViewController
/*ViewControllers*/ /*ViewControllers*/
private FrameLayout mWebviewContainer; private FrameLayout mWebviewContainer;
private com.darkweb.genesissearchengine.widget.AnimatedProgressBar mProgressBar; private AnimatedProgressBar mProgressBar;
private AutoCompleteTextView mSearchbar; private AutoCompleteTextView mSearchbar;
private ConstraintLayout mSplashScreen; private ConstraintLayout mSplashScreen;
private ImageView mLoading; private ImageView mLoading;
@ -77,12 +81,14 @@ class homeViewController
private EditText mFindText; private EditText mFindText;
private TextView mFindCount; private TextView mFindCount;
private FrameLayout mTopLayout; private FrameLayout mTopLayout;
private ImageButton mVoiceInput;
private ImageButton mMenu;
/*Local Variables*/ /*Local Variables*/
private Callable<String> mLogs = null; private Callable<String> mLogs = null;
private boolean isLandscape = false; private boolean isLandscape = false;
void initialization(eventObserver.eventListener event, AppCompatActivity context, Button mNewTab, FrameLayout webviewContainer, TextView loadingText, com.darkweb.genesissearchengine.widget.AnimatedProgressBar progressBar, AutoCompleteTextView searchbar, ConstraintLayout splashScreen, ImageView loading, AdView banner_ads, ArrayList<historyRowModel> suggestions, ImageButton gateway_splash, LinearLayout top_bar, GeckoView gecko_view, ImageView backsplash, Button connect_button, View pFindBar, EditText pFindText, TextView pFindCount, FrameLayout pTopLayout){ void initialization(eventObserver.eventListener event, AppCompatActivity context, Button mNewTab, FrameLayout webviewContainer, TextView loadingText, AnimatedProgressBar progressBar, AutoCompleteTextView searchbar, ConstraintLayout splashScreen, ImageView loading, AdView banner_ads, ArrayList<historyRowModel> suggestions, ImageButton gateway_splash, LinearLayout top_bar, GeckoView gecko_view, ImageView backsplash, Button connect_button, View pFindBar, EditText pFindText, TextView pFindCount, FrameLayout pTopLayout, ImageButton pVoiceInput, ImageButton pMenu){
this.mContext = context; this.mContext = context;
this.mProgressBar = progressBar; this.mProgressBar = progressBar;
this.mSearchbar = searchbar; this.mSearchbar = searchbar;
@ -103,11 +109,11 @@ class homeViewController
this.mFindText = pFindText; this.mFindText = pFindText;
this.mFindCount = pFindCount; this.mFindCount = pFindCount;
this.mTopLayout = pTopLayout; this.mTopLayout = pTopLayout;
this.mVoiceInput = pVoiceInput;
this.mMenu = pMenu;
initSplashScreen(); initSplashScreen();
initializeSuggestionView(suggestions); initializeSuggestionView(suggestions);
initLock();
initSearchImage();
createUpdateUiHandler(); createUpdateUiHandler();
recreateStatusBar(); recreateStatusBar();
initTopBarPadding(); initTopBarPadding();
@ -127,36 +133,42 @@ class homeViewController
} }
} }
private void initSearchImage(){ public void initSearchBarFocus(boolean pStatus){
if(!pStatus){
this.mVoiceInput.animate().setDuration(250).alpha(0).withEndAction(() -> {
mVoiceInput.setVisibility(View.GONE);
((LinearLayout)mNewTab.getParent()).setVisibility(View.VISIBLE);
mMenu.setVisibility(View.VISIBLE);
});
}else {
Drawable drawable;
Resources res = mContext.getResources();
try {
if(status.sSettingEnableVoiceInput){
drawable = Drawable.createFromXml(res, res.getXml(R.xml.ic_baseline_keyboard_voice));
}else {
drawable = Drawable.createFromXml(res, res.getXml(R.xml.ic_search_small));
}
mVoiceInput.setImageDrawable(drawable);
} catch (Exception ignored) {
}
final Handler handler = new Handler();
handler.postDelayed(() ->
{
mVoiceInput.setVisibility(View.VISIBLE);
}, 250);
((LinearLayout)this.mNewTab.getParent()).setVisibility(View.GONE);
this.mMenu.setVisibility(View.GONE);
}
} }
void initTab(int count){ void initTab(int count){
mNewTab.setText((count+strings.GENERIC_EMPTY_STR)); mNewTab.setText((count+strings.GENERIC_EMPTY_STR));
} }
private void initPostUI(boolean isSplash){
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = mContext.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
if(isSplash){
window.setStatusBarColor(mContext.getResources().getColor(R.color.landing_ease_blue));
}
else{
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
window.setStatusBarColor(ContextCompat.getColor(mContext, R.color.c_text_v3));
}
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));
}
}
}
}
public void recreateStatusBar(){ public void recreateStatusBar(){
if(status.sSettingIsAppStarted){ if(status.sSettingIsAppStarted){
Window window = mContext.getWindow(); Window window = mContext.getWindow();
@ -234,13 +246,6 @@ class homeViewController
animator.start(); animator.start();
} }
private void initLock(){
@SuppressLint("UseCompatLoadingForDrawables") Drawable img = mContext.getResources().getDrawable( R.drawable.icon_lock);
mSearchbar.measure(0, 0);
img.setBounds( -10, (int)(mSearchbar.getMeasuredHeight()*0.00), (int)(mSearchbar.getMeasuredHeight()*1.10)-10, (int)(mSearchbar.getMeasuredHeight()*0.69) );
mSearchbar.setCompoundDrawables( img, null, null, null );
}
void initializeSuggestionView(ArrayList<historyRowModel> suggestions){ void initializeSuggestionView(ArrayList<historyRowModel> suggestions){
if(mSearchbar.isFocused()){ if(mSearchbar.isFocused()){
@ -269,7 +274,7 @@ class homeViewController
mSearchbar.setInputType(EditorInfo.TYPE_TEXT_FLAG_NO_SUGGESTIONS); mSearchbar.setInputType(EditorInfo.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
} }
private void initSplashLoading(){ public void initSplashLoading(){
mLoading.setAnimation(helperMethod.getRotationAnimation()); mLoading.setAnimation(helperMethod.getRotationAnimation());
mLoading.setLayoutParams(helperMethod.getCenterScreenPoint(mLoading.getLayoutParams())); mLoading.setLayoutParams(helperMethod.getCenterScreenPoint(mLoading.getLayoutParams()));
@ -293,7 +298,6 @@ class homeViewController
private void initSplashScreen(){ private void initSplashScreen(){
mSearchbar.setEnabled(false); mSearchbar.setEnabled(false);
helperMethod.hideKeyboard(mContext); helperMethod.hideKeyboard(mContext);
//initPostUI(true);
mBackSplash.getLayoutParams().height = helperMethod.getScreenHeight(mContext) - helperMethod.getStatusBarHeight(mContext)*2; mBackSplash.getLayoutParams().height = helperMethod.getScreenHeight(mContext) - helperMethod.getStatusBarHeight(mContext)*2;
mSearchbar.setEnabled(false); mSearchbar.setEnabled(false);
@ -494,7 +498,7 @@ class homeViewController
private Handler searchBarUpdateHandler = new Handler(); private Handler searchBarUpdateHandler = new Handler();
private String handlerLocalUrl = ""; private String handlerLocalUrl = "";
void onUpdateSearchBar(String url,boolean showProtocol){ void onUpdateSearchBar(String url,boolean showProtocol){
int delay = 50; int delay = 0;
handlerLocalUrl = url; handlerLocalUrl = url;
if(searchBarUpdateHandler.hasMessages(100)){ if(searchBarUpdateHandler.hasMessages(100)){
@ -710,6 +714,8 @@ class homeViewController
params.setMargins(0, 0, 0, 0); params.setMargins(0, 0, 0, 0);
mWebviewContainer.setLayoutParams(params); mWebviewContainer.setLayoutParams(params);
mBannerAds.setVisibility(View.GONE); mBannerAds.setVisibility(View.GONE);
com.darkweb.genesissearchengine.constants.status.sFullScreenBrowsing = false;
mGeckoView.setPadding(0,0,0,0);
} }
else { else {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
@ -726,6 +732,8 @@ class homeViewController
mWebviewContainer.setLayoutParams(params); mWebviewContainer.setLayoutParams(params);
mBannerAds.setVisibility(View.GONE); mBannerAds.setVisibility(View.GONE);
mEvent.invokeObserver(Collections.singletonList(!isLandscape), enums.etype.on_init_ads); mEvent.invokeObserver(Collections.singletonList(!isLandscape), enums.etype.on_init_ads);
com.darkweb.genesissearchengine.constants.status.sFullScreenBrowsing = (boolean) dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_GET_BOOL, Arrays.asList(keys.SETTING_FULL_SCREEN_BROWSIING,true));
initTopBarPadding();
} }
} }
@ -765,12 +773,15 @@ class homeViewController
{ {
if(msg.what == messages.MESSAGE_ON_URL_LOAD) if(msg.what == messages.MESSAGE_ON_URL_LOAD)
{ {
if(mEvent.invokeObserver(null, enums.etype.M_HOME_PAGE)==null){
mEvent.invokeObserver(null, enums.etype.M_PRELOAD_URL);
if(status.sSettingRedirectStatus.equals(strings.GENERIC_EMPTY_STR)){ if(status.sSettingRedirectStatus.equals(strings.GENERIC_EMPTY_STR)){
mEvent.invokeObserver(Collections.singletonList(helperMethod.getDomainName(status.sSettingSearchStatus)), enums.etype.on_url_load); mEvent.invokeObserver(Collections.singletonList(helperMethod.getDomainName(status.sSettingSearchStatus)), enums.etype.on_url_load);
}else { }else {
mEvent.invokeObserver(Collections.singletonList(helperMethod.getDomainName(status.sSettingRedirectStatus)), enums.etype.on_url_load); mEvent.invokeObserver(Collections.singletonList(helperMethod.getDomainName(status.sSettingRedirectStatus)), enums.etype.on_url_load);
} }
} }
}
if(msg.what == messages.MESSAGE_UPDATE_LOADING_TEXT) if(msg.what == messages.MESSAGE_UPDATE_LOADING_TEXT)
{ {
if(mLogs !=null) if(mLogs !=null)

View File

@ -4,15 +4,16 @@ package com.darkweb.genesissearchengine.appManager.languageManager;
import android.os.Bundle; import android.os.Bundle;
import android.view.View; import android.view.View;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import com.darkweb.genesissearchengine.constants.enums; import com.darkweb.genesissearchengine.appManager.helpManager.helpController;
import com.darkweb.genesissearchengine.constants.constants;
import com.darkweb.genesissearchengine.constants.keys; import com.darkweb.genesissearchengine.constants.keys;
import com.darkweb.genesissearchengine.constants.status; import com.darkweb.genesissearchengine.constants.status;
import com.darkweb.genesissearchengine.dataManager.dataController; import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.dataManager.dataEnums; import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.darkweb.genesissearchengine.helperManager.helperMethod;
import com.darkweb.genesissearchengine.pluginManager.pluginController; import com.darkweb.genesissearchengine.pluginManager.pluginController;
import com.example.myapplication.R; import com.example.myapplication.R;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
@ -45,6 +46,10 @@ public class languageController extends AppCompatActivity {
mLanguageViewController.initialization(new languageViewCallback(),this); mLanguageViewController.initialization(new languageViewCallback(),this);
} }
public void onOpenInfo(View view) {
helperMethod.openActivity(helpController.class, constants.CONST_LIST_HISTORY, this,true);
}
public class languageViewCallback implements eventObserver.eventListener{ public class languageViewCallback implements eventObserver.eventListener{
@Override @Override

View File

@ -7,8 +7,6 @@ import android.view.WindowManager;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatDelegate; import androidx.appcompat.app.AppCompatDelegate;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import com.darkweb.genesissearchengine.constants.status;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.example.myapplication.R; import com.example.myapplication.R;

View File

@ -6,8 +6,12 @@ import android.widget.LinearLayout;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import com.darkweb.genesissearchengine.appManager.activityContextManager; import com.darkweb.genesissearchengine.appManager.activityContextManager;
import com.darkweb.genesissearchengine.appManager.bridgeManager.bridgeController; import com.darkweb.genesissearchengine.appManager.bridgeManager.bridgeController;
import com.darkweb.genesissearchengine.appManager.helpManager.helpController;
import com.darkweb.genesissearchengine.constants.constants; import com.darkweb.genesissearchengine.constants.constants;
import com.darkweb.genesissearchengine.constants.keys;
import com.darkweb.genesissearchengine.constants.status; import com.darkweb.genesissearchengine.constants.status;
import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.darkweb.genesissearchengine.helperManager.helperMethod; import com.darkweb.genesissearchengine.helperManager.helperMethod;
import com.darkweb.genesissearchengine.pluginManager.pluginController; import com.darkweb.genesissearchengine.pluginManager.pluginController;
@ -48,6 +52,10 @@ public class orbotController extends AppCompatActivity {
mOrbotModel = new com.darkweb.genesissearchengine.appManager.orbotManager.orbotModel(new orbotModelCallback()); mOrbotModel = new com.darkweb.genesissearchengine.appManager.orbotManager.orbotModel(new orbotModelCallback());
} }
public void onOpenInfo(View view) {
helperMethod.openActivity(helpController.class, constants.CONST_LIST_HISTORY, this,true);
}
/* LISTENERS */ /* LISTENERS */
public class orbotModelCallback implements eventObserver.eventListener{ public class orbotModelCallback implements eventObserver.eventListener{
@ -61,6 +69,7 @@ public class orbotController extends AppCompatActivity {
public void onBridgeSwitch(View view){ public void onBridgeSwitch(View view){
mOrbotModel.onTrigger(orbotEnums.eOrbotModelCommands.M_BRIDGE_SWITCH,Collections.singletonList(!mBridgeSwitch.isChecked())); mOrbotModel.onTrigger(orbotEnums.eOrbotModelCommands.M_BRIDGE_SWITCH,Collections.singletonList(!mBridgeSwitch.isChecked()));
mOrbotViewController.onTrigger(orbotEnums.eOrbotViewCommands.M_UPDATE_BRIDGE_SETTINGS_VIEWS, Collections.singletonList(status.sBridgeStatus)); mOrbotViewController.onTrigger(orbotEnums.eOrbotViewCommands.M_UPDATE_BRIDGE_SETTINGS_VIEWS, Collections.singletonList(status.sBridgeStatus));
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.BRIDGE_BRIDGE_ENABLES,status.sBridgeVPNStatus));
} }
public void openBridgeSettings(View view){ public void openBridgeSettings(View view){
@ -70,6 +79,7 @@ public class orbotController extends AppCompatActivity {
public void onVPNSwitch(View view){ public void onVPNSwitch(View view){
mOrbotModel.onTrigger(orbotEnums.eOrbotModelCommands.M_VPN_SWITCH,Collections.singletonList(!mVpnSwitch.isChecked())); mOrbotModel.onTrigger(orbotEnums.eOrbotModelCommands.M_VPN_SWITCH,Collections.singletonList(!mVpnSwitch.isChecked()));
mOrbotViewController.onTrigger(orbotEnums.eOrbotViewCommands.M_UPDATE_VPN,Collections.singletonList(status.sBridgeVPNStatus)); mOrbotViewController.onTrigger(orbotEnums.eOrbotViewCommands.M_UPDATE_VPN,Collections.singletonList(status.sBridgeVPNStatus));
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.BRIDGE_VPN_ENABLED,status.sBridgeVPNStatus));
} }
/* LOCAL OVERRIDES */ /* LOCAL OVERRIDES */

View File

@ -1,12 +1,8 @@
package com.darkweb.genesissearchengine.appManager.orbotManager; package com.darkweb.genesissearchengine.appManager.orbotManager;
import com.darkweb.genesissearchengine.constants.keys;
import com.darkweb.genesissearchengine.constants.status; import com.darkweb.genesissearchengine.constants.status;
import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.darkweb.genesissearchengine.pluginManager.pluginController; import com.darkweb.genesissearchengine.pluginManager.pluginController;
import java.util.Arrays;
import java.util.List; import java.util.List;
class orbotModel class orbotModel
@ -25,13 +21,11 @@ class orbotModel
public void onBridgeSwitch(boolean pStatus){ public void onBridgeSwitch(boolean pStatus){
status.sBridgeStatus = pStatus; status.sBridgeStatus = pStatus;
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.BRIDGE_BRIDGE_ENABLES,status.sBridgeStatus));
pluginController.getInstance().updateBridges(status.sBridgeStatus); pluginController.getInstance().updateBridges(status.sBridgeStatus);
} }
public void onVPNSwitch(boolean pStatus){ public void onVPNSwitch(boolean pStatus){
status.sBridgeVPNStatus = pStatus; status.sBridgeVPNStatus = pStatus;
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.BRIDGE_VPN_ENABLED,status.sBridgeVPNStatus));
pluginController.getInstance().updateVPN(status.sBridgeVPNStatus); pluginController.getInstance().updateVPN(status.sBridgeVPNStatus);
} }

View File

@ -8,7 +8,6 @@ import android.widget.LinearLayout;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatDelegate; import androidx.appcompat.app.AppCompatDelegate;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import com.example.myapplication.R; import com.example.myapplication.R;
import com.google.android.material.switchmaterial.SwitchMaterial; import com.google.android.material.switchmaterial.SwitchMaterial;
import java.util.List; import java.util.List;

View File

@ -6,13 +6,14 @@ import android.widget.SeekBar;
import android.widget.TextView; import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import com.darkweb.genesissearchengine.appManager.activityContextManager; import com.darkweb.genesissearchengine.appManager.activityContextManager;
import com.darkweb.genesissearchengine.appManager.helpManager.helpController;
import com.darkweb.genesissearchengine.constants.constants; import com.darkweb.genesissearchengine.constants.constants;
import com.darkweb.genesissearchengine.constants.enums;
import com.darkweb.genesissearchengine.constants.keys; import com.darkweb.genesissearchengine.constants.keys;
import com.darkweb.genesissearchengine.constants.status; import com.darkweb.genesissearchengine.constants.status;
import com.darkweb.genesissearchengine.dataManager.dataController; import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.dataManager.dataEnums; import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.darkweb.genesissearchengine.helperManager.helperMethod;
import com.darkweb.genesissearchengine.pluginManager.pluginController; import com.darkweb.genesissearchengine.pluginManager.pluginController;
import com.example.myapplication.R; import com.example.myapplication.R;
import com.google.android.material.switchmaterial.SwitchMaterial; import com.google.android.material.switchmaterial.SwitchMaterial;
@ -117,17 +118,24 @@ public class settingAccessibilityController extends AppCompatActivity {
} }
/*UI Redirection*/ /*UI Redirection*/
public void onOpenInfo(View view) {
helperMethod.openActivity(helpController.class, constants.CONST_LIST_HISTORY, this,true);
}
public void onClose(View view){ public void onClose(View view){
finish(); finish();
} }
public void onZoomSettingUpdate(View view){ public void onZoomSettingUpdate(View view){
mSettingAccessibilityModel.onTrigger(settingAccessibilityEnums.eAccessibilityViewController.M_ZOOM_SETTING, Collections.singletonList(!mZoom.isChecked())); mSettingAccessibilityModel.onTrigger(settingAccessibilityEnums.eAccessibilityViewController.M_ZOOM_SETTING, Collections.singletonList(!mZoom.isChecked()));
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_ZOOM,status.sSettingEnableZoom));
mZoom.toggle(); mZoom.toggle();
} }
public void onVoiceInputSettingUpdate(View view){ public void onVoiceInputSettingUpdate(View view){
mSettingAccessibilityModel.onTrigger(settingAccessibilityEnums.eAccessibilityViewController.M_VOICE_INPUT_SETTING, Collections.singletonList(!mVoiceInput.isChecked())); mSettingAccessibilityModel.onTrigger(settingAccessibilityEnums.eAccessibilityViewController.M_VOICE_INPUT_SETTING, Collections.singletonList(!mVoiceInput.isChecked()));
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_VOICE_INPUT,status.sSettingEnableVoiceInput));
mVoiceInput.toggle(); mVoiceInput.toggle();
} }

View File

@ -1,11 +1,7 @@
package com.darkweb.genesissearchengine.appManager.settingManager.accessibilityManager; package com.darkweb.genesissearchengine.appManager.settingManager.accessibilityManager;
import com.darkweb.genesissearchengine.constants.keys;
import com.darkweb.genesissearchengine.constants.status; import com.darkweb.genesissearchengine.constants.status;
import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import java.util.Arrays;
import java.util.List; import java.util.List;
class settingAccessibilityModel class settingAccessibilityModel
@ -24,12 +20,10 @@ class settingAccessibilityModel
private void onZoomSettingUpdate(boolean pStatus){ private void onZoomSettingUpdate(boolean pStatus){
status.sSettingEnableZoom = pStatus; status.sSettingEnableZoom = pStatus;
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_ZOOM,pStatus));
} }
private void onVoiceInputSettingUpdate(boolean pStatus){ private void onVoiceInputSettingUpdate(boolean pStatus){
status.sSettingEnableVoiceInput = pStatus; status.sSettingEnableVoiceInput = pStatus;
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_VOICE_INPUT,pStatus));
} }
public Object onTrigger(settingAccessibilityEnums.eAccessibilityViewController pCommands, List<Object> pData){ public Object onTrigger(settingAccessibilityEnums.eAccessibilityViewController pCommands, List<Object> pData){
@ -41,5 +35,4 @@ class settingAccessibilityModel
} }
return null; return null;
} }
} }

View File

@ -5,11 +5,19 @@ import android.view.View;
import android.widget.RadioButton; import android.widget.RadioButton;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import com.darkweb.genesissearchengine.appManager.activityContextManager; import com.darkweb.genesissearchengine.appManager.activityContextManager;
import com.darkweb.genesissearchengine.appManager.helpManager.helpController;
import com.darkweb.genesissearchengine.constants.constants;
import com.darkweb.genesissearchengine.constants.keys;
import com.darkweb.genesissearchengine.constants.status;
import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.darkweb.genesissearchengine.helperManager.helperMethod;
import com.darkweb.genesissearchengine.pluginManager.pluginController; import com.darkweb.genesissearchengine.pluginManager.pluginController;
import com.example.myapplication.R; import com.example.myapplication.R;
import com.google.android.material.switchmaterial.SwitchMaterial; import com.google.android.material.switchmaterial.SwitchMaterial;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
@ -44,6 +52,10 @@ public class settingAdvanceController extends AppCompatActivity {
mSettingAdvanceModel = new settingAdvanceModel(new settingAdvanceModelCallback()); mSettingAdvanceModel = new settingAdvanceModel(new settingAdvanceModelCallback());
} }
public void onOpenInfo(View view) {
helperMethod.openActivity(helpController.class, constants.CONST_LIST_HISTORY, this,true);
}
/* LISTENERS */ /* LISTENERS */
public class settingAdvanceViewCallback implements eventObserver.eventListener{ public class settingAdvanceViewCallback implements eventObserver.eventListener{
@ -108,6 +120,7 @@ public class settingAdvanceController extends AppCompatActivity {
public void onRestoreTabs(View view) { public void onRestoreTabs(View view) {
mSettingAdvanceModel.onTrigger(settingAdvanceEnums.eAdvanceModel.M_RESTORE_TAB, Collections.singletonList(!mRestoreTabs.isChecked())); mSettingAdvanceModel.onTrigger(settingAdvanceEnums.eAdvanceModel.M_RESTORE_TAB, Collections.singletonList(!mRestoreTabs.isChecked()));
mRestoreTabs.toggle(); mRestoreTabs.toggle();
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_RESTORE_TAB, status.sRestoreTabs));
} }
public void onShowImages(View view) { public void onShowImages(View view) {
@ -115,17 +128,20 @@ public class settingAdvanceController extends AppCompatActivity {
mSettingAdvanceViewController.onTrigger(settingAdvanceEnums.eAdvanceViewController.M_CLEAR_IMAGE, Collections.singletonList(null)); mSettingAdvanceViewController.onTrigger(settingAdvanceEnums.eAdvanceViewController.M_CLEAR_IMAGE, Collections.singletonList(null));
mSettingAdvanceModel.onTrigger(settingAdvanceEnums.eAdvanceModel.M_SHOW_IMAGE, Collections.singletonList(view)); mSettingAdvanceModel.onTrigger(settingAdvanceEnums.eAdvanceModel.M_SHOW_IMAGE, Collections.singletonList(view));
mSettingAdvanceViewController.onTrigger(settingAdvanceEnums.eAdvanceViewController.M_SET_IMAGE, Collections.singletonList(view)); mSettingAdvanceViewController.onTrigger(settingAdvanceEnums.eAdvanceViewController.M_SET_IMAGE, Collections.singletonList(view));
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_INT, Arrays.asList(keys.SETTING_SHOW_IMAGES,status.sShowImages));
} }
public void onShowWebFonts(View view) { public void onShowWebFonts(View view) {
mIsChanged = true; mIsChanged = true;
mSettingAdvanceModel.onTrigger(settingAdvanceEnums.eAdvanceModel.M_SHOW_WEB_FONTS, Collections.singletonList(!mShowWebFonts.isChecked())); mSettingAdvanceModel.onTrigger(settingAdvanceEnums.eAdvanceModel.M_SHOW_WEB_FONTS, Collections.singletonList(!mShowWebFonts.isChecked()));
mShowWebFonts.toggle(); mShowWebFonts.toggle();
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_SHOW_FONTS,status.sShowWebFonts));
} }
public void onAllowAutoPlay(View view) { public void onAllowAutoPlay(View view) {
mIsChanged = true; mIsChanged = true;
mSettingAdvanceModel.onTrigger(settingAdvanceEnums.eAdvanceModel.M_ALLOW_AUTOPLAY, Collections.singletonList(!mAllowAutoPlay.isChecked())); mSettingAdvanceModel.onTrigger(settingAdvanceEnums.eAdvanceModel.M_ALLOW_AUTOPLAY, Collections.singletonList(!mAllowAutoPlay.isChecked()));
mAllowAutoPlay.toggle(); mAllowAutoPlay.toggle();
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_AUTO_PLAY,status.sAutoPlay));
} }
} }

View File

@ -4,7 +4,6 @@ import android.view.View;
import com.darkweb.genesissearchengine.constants.keys; import com.darkweb.genesissearchengine.constants.keys;
import com.darkweb.genesissearchengine.constants.status; import com.darkweb.genesissearchengine.constants.status;
import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.dataManager.dataEnums; import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.example.myapplication.R; import com.example.myapplication.R;
@ -27,7 +26,6 @@ class settingAdvanceModel
private void onRestoreTabs(boolean pStatus) { private void onRestoreTabs(boolean pStatus) {
status.sRestoreTabs = pStatus; status.sRestoreTabs = pStatus;
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_RESTORE_TAB,pStatus));
} }
private void onShowImages(View pView) { private void onShowImages(View pView) {
@ -38,18 +36,14 @@ class settingAdvanceModel
else if(pView.getId() == R.id.pAdvanceOption2){ else if(pView.getId() == R.id.pAdvanceOption2){
status.sShowImages = 2; status.sShowImages = 2;
} }
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_INT, Arrays.asList(keys.SETTING_SHOW_IMAGES,status.sShowImages));
} }
private void onShowWebFonts(boolean pStatus) { private void onShowWebFonts(boolean pStatus) {
status.sShowWebFonts = pStatus; status.sShowWebFonts = pStatus;
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_SHOW_FONTS,pStatus));
} }
private void onAllowAutoPlay(boolean pStatus) { private void onAllowAutoPlay(boolean pStatus) {
status.sAutoPlay = pStatus; status.sAutoPlay = pStatus;
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_AUTO_PLAY,pStatus));
} }
public Object onTrigger(settingAdvanceEnums.eAdvanceModel pCommands, List<Object> pData){ public Object onTrigger(settingAdvanceEnums.eAdvanceModel pCommands, List<Object> pData){

View File

@ -6,15 +6,17 @@ import android.view.View;
import android.widget.CheckBox; import android.widget.CheckBox;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import com.darkweb.genesissearchengine.appManager.activityContextManager; import com.darkweb.genesissearchengine.appManager.activityContextManager;
import com.darkweb.genesissearchengine.appManager.databaseManager.databaseController; import com.darkweb.genesissearchengine.appManager.databaseManager.databaseController;
import com.darkweb.genesissearchengine.appManager.helpManager.helpController;
import com.darkweb.genesissearchengine.constants.constants;
import com.darkweb.genesissearchengine.constants.enums; import com.darkweb.genesissearchengine.constants.enums;
import com.darkweb.genesissearchengine.constants.sql; import com.darkweb.genesissearchengine.constants.sql;
import com.darkweb.genesissearchengine.constants.status; import com.darkweb.genesissearchengine.constants.status;
import com.darkweb.genesissearchengine.dataManager.dataController; import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.dataManager.dataEnums; import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.darkweb.genesissearchengine.helperManager.helperMethod;
import com.darkweb.genesissearchengine.pluginManager.pluginController; import com.darkweb.genesissearchengine.pluginManager.pluginController;
import com.example.myapplication.R; import com.example.myapplication.R;
import java.util.ArrayList; import java.util.ArrayList;
@ -43,15 +45,19 @@ public class settingClearController extends AppCompatActivity {
mCheckBoxList.add(findViewById(R.id.pClearChecked_2)); mCheckBoxList.add(findViewById(R.id.pClearChecked_2));
mCheckBoxList.add(findViewById(R.id.pClearChecked_3)); mCheckBoxList.add(findViewById(R.id.pClearChecked_3));
mCheckBoxList.add(findViewById(R.id.pClearChecked_4)); mCheckBoxList.add(findViewById(R.id.pClearChecked_4));
mCheckBoxList.add(findViewById(R.id.pClearChecked_5));
mCheckBoxList.add(findViewById(R.id.pClearChecked_6)); mCheckBoxList.add(findViewById(R.id.pClearChecked_6));
mCheckBoxList.add(findViewById(R.id.pClearChecked_7)); mCheckBoxList.add(findViewById(R.id.pClearChecked_7));
mCheckBoxList.add(findViewById(R.id.pClearChecked_8)); mCheckBoxList.add(findViewById(R.id.pClearChecked_8));
mCheckBoxList.add(findViewById(R.id.pClearChecked_9));
mSettingClearViewController = new settingClearViewController(this, new settingClearController.settingClearViewCallback(), mCheckBoxList); mSettingClearViewController = new settingClearViewController(this, new settingClearController.settingClearViewCallback(), mCheckBoxList);
mSettingClearModel = new settingClearModel(new settingClearController.settingClearModelCallback()); mSettingClearModel = new settingClearModel(new settingClearController.settingClearModelCallback());
} }
public void onOpenInfo(View view) {
helperMethod.openActivity(helpController.class, constants.CONST_LIST_HISTORY, this,true);
}
/* LISTENERS */ /* LISTENERS */
public class settingClearViewCallback implements eventObserver.eventListener{ public class settingClearViewCallback implements eventObserver.eventListener{
@ -125,15 +131,9 @@ public class settingClearController extends AppCompatActivity {
mCheckBoxList.get(7).setButtonTintList(ColorStateList.valueOf(ContextCompat.getColor(this, R.color.c_checkbox_tint_default))); mCheckBoxList.get(7).setButtonTintList(ColorStateList.valueOf(ContextCompat.getColor(this, R.color.c_checkbox_tint_default)));
activityContextManager.getInstance().getHomeController().onClearCookies(); activityContextManager.getInstance().getHomeController().onClearCookies();
} }
if(mCheckBoxList.get(8).isChecked()){
mCheckBoxList.get(8).setChecked(false);
mCheckBoxList.get(8).setButtonTintList(ColorStateList.valueOf(ContextCompat.getColor(this, R.color.c_checkbox_tint_default)));
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_CLEAR_PREFS, null);
status.initStatus();
}
activityContextManager.getInstance().getHomeController().initRuntimeSettings(); activityContextManager.getInstance().getHomeController().initRuntimeSettings();
pluginController.getInstance().MessageManagerHandler(this, null, enums.etype.data_cleared); pluginController.getInstance().MessageManagerHandler(this, null, enums.eMessageEnums.M_DATA_CLEARED);
}catch (Exception ex){ }catch (Exception ex){
ex.printStackTrace(); ex.printStackTrace();
} }

View File

@ -9,7 +9,6 @@ import android.widget.CheckBox;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatDelegate; import androidx.appcompat.app.AppCompatDelegate;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import com.darkweb.genesissearchengine.constants.status;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.example.myapplication.R; import com.example.myapplication.R;
import java.util.ArrayList; import java.util.ArrayList;

View File

@ -8,15 +8,21 @@ import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatDelegate; import androidx.appcompat.app.AppCompatDelegate;
import com.darkweb.genesissearchengine.appManager.activityContextManager; import com.darkweb.genesissearchengine.appManager.activityContextManager;
import com.darkweb.genesissearchengine.appManager.helpManager.helpController;
import com.darkweb.genesissearchengine.appManager.languageManager.languageController; import com.darkweb.genesissearchengine.appManager.languageManager.languageController;
import com.darkweb.genesissearchengine.constants.constants; import com.darkweb.genesissearchengine.constants.constants;
import com.darkweb.genesissearchengine.constants.enums; import com.darkweb.genesissearchengine.constants.enums;
import com.darkweb.genesissearchengine.constants.keys;
import com.darkweb.genesissearchengine.constants.status; import com.darkweb.genesissearchengine.constants.status;
import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.darkweb.genesissearchengine.helperManager.helperMethod; import com.darkweb.genesissearchengine.helperManager.helperMethod;
import com.darkweb.genesissearchengine.pluginManager.pluginController; import com.darkweb.genesissearchengine.pluginManager.pluginController;
import com.example.myapplication.R; import com.example.myapplication.R;
import com.google.android.material.switchmaterial.SwitchMaterial; import com.google.android.material.switchmaterial.SwitchMaterial;
import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
@ -71,6 +77,10 @@ public class settingGeneralController extends AppCompatActivity {
} }
} }
public void onOpenInfo(View view) {
helperMethod.openActivity(helpController.class, constants.CONST_LIST_HISTORY, this,true);
}
/* LISTENERS */ /* LISTENERS */
public class settingGeneralViewCallback implements eventObserver.eventListener{ public class settingGeneralViewCallback implements eventObserver.eventListener{
@ -136,6 +146,7 @@ public class settingGeneralController extends AppCompatActivity {
mSettingGeneralModel.onTrigger(settingGeneralEnums.eGeneralModel.M_FULL_SCREEN_BROWSING, Collections.singletonList(!mFullScreenMode.isChecked())); mSettingGeneralModel.onTrigger(settingGeneralEnums.eGeneralModel.M_FULL_SCREEN_BROWSING, Collections.singletonList(!mFullScreenMode.isChecked()));
mFullScreenMode.toggle(); mFullScreenMode.toggle();
activityContextManager.getInstance().getHomeController().onFullScreenSettingChanged(); activityContextManager.getInstance().getHomeController().onFullScreenSettingChanged();
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_FULL_SCREEN_BROWSIING,status.sFullScreenBrowsing));
} }
public void onSelectTheme(View view){ public void onSelectTheme(View view){
@ -145,6 +156,7 @@ public class settingGeneralController extends AppCompatActivity {
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));
mSettingGeneralModel.onTrigger(settingGeneralEnums.eGeneralModel.M_SELECT_THEME, Collections.singletonList(enums.Theme.THEME_DARK)); mSettingGeneralModel.onTrigger(settingGeneralEnums.eGeneralModel.M_SELECT_THEME, Collections.singletonList(enums.Theme.THEME_DARK));
mSettingGeneralViewController.onTrigger(settingGeneralEnums.eGeneralViewController.M_UPDATE_THEME_BLOCKER, Collections.singletonList(enums.Theme.THEME_DARK)); mSettingGeneralViewController.onTrigger(settingGeneralEnums.eGeneralViewController.M_UPDATE_THEME_BLOCKER, Collections.singletonList(enums.Theme.THEME_DARK));
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_INT, Arrays.asList(keys.SETTING_THEME,status.sTheme));
} }
}else if(view.getId() == R.id.pOption2) { }else if(view.getId() == R.id.pOption2) {
if(status.sTheme != enums.Theme.THEME_LIGHT) { if(status.sTheme != enums.Theme.THEME_LIGHT) {
@ -152,6 +164,7 @@ public class settingGeneralController extends AppCompatActivity {
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));
mSettingGeneralModel.onTrigger(settingGeneralEnums.eGeneralModel.M_SELECT_THEME, Collections.singletonList(enums.Theme.THEME_LIGHT)); mSettingGeneralModel.onTrigger(settingGeneralEnums.eGeneralModel.M_SELECT_THEME, Collections.singletonList(enums.Theme.THEME_LIGHT));
mSettingGeneralViewController.onTrigger(settingGeneralEnums.eGeneralViewController.M_UPDATE_THEME_BLOCKER, Collections.singletonList(enums.Theme.THEME_LIGHT)); mSettingGeneralViewController.onTrigger(settingGeneralEnums.eGeneralViewController.M_UPDATE_THEME_BLOCKER, Collections.singletonList(enums.Theme.THEME_LIGHT));
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_INT, Arrays.asList(keys.SETTING_THEME,status.sTheme));
} }
}else { }else {
if(status.sTheme != enums.Theme.THEME_DEFAULT) { if(status.sTheme != enums.Theme.THEME_DEFAULT) {
@ -159,6 +172,7 @@ public class settingGeneralController extends AppCompatActivity {
mSettingGeneralViewController.onTrigger(settingGeneralEnums.eGeneralViewController.M_SET_THEME, Collections.singletonList(enums.Theme.THEME_DEFAULT)); mSettingGeneralViewController.onTrigger(settingGeneralEnums.eGeneralViewController.M_SET_THEME, Collections.singletonList(enums.Theme.THEME_DEFAULT));
mSettingGeneralModel.onTrigger(settingGeneralEnums.eGeneralModel.M_SELECT_THEME, Collections.singletonList(enums.Theme.THEME_DEFAULT)); mSettingGeneralModel.onTrigger(settingGeneralEnums.eGeneralModel.M_SELECT_THEME, Collections.singletonList(enums.Theme.THEME_DEFAULT));
mSettingGeneralViewController.onTrigger(settingGeneralEnums.eGeneralViewController.M_UPDATE_THEME_BLOCKER, Collections.singletonList(enums.Theme.THEME_DEFAULT)); mSettingGeneralViewController.onTrigger(settingGeneralEnums.eGeneralViewController.M_UPDATE_THEME_BLOCKER, Collections.singletonList(enums.Theme.THEME_DEFAULT));
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_INT, Arrays.asList(keys.SETTING_THEME,status.sTheme));
} }
} }
} }
@ -166,6 +180,7 @@ public class settingGeneralController extends AppCompatActivity {
public void onURLInNewTab(View view) { public void onURLInNewTab(View view) {
mSettingGeneralModel.onTrigger(settingGeneralEnums.eGeneralModel.M_URL_NEW_TAB, Collections.singletonList(!mOpenURLInNewTab.isChecked())); mSettingGeneralModel.onTrigger(settingGeneralEnums.eGeneralModel.M_URL_NEW_TAB, Collections.singletonList(!mOpenURLInNewTab.isChecked()));
mOpenURLInNewTab.toggle(); mOpenURLInNewTab.toggle();
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_OPEN_URL_IN_NEW_TAB,status.sOpenURLInNewTab));
} }
} }

View File

@ -1,11 +1,7 @@
package com.darkweb.genesissearchengine.appManager.settingManager.generalManager; package com.darkweb.genesissearchengine.appManager.settingManager.generalManager;
import com.darkweb.genesissearchengine.constants.keys;
import com.darkweb.genesissearchengine.constants.status; import com.darkweb.genesissearchengine.constants.status;
import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import java.util.Arrays;
import java.util.List; import java.util.List;
class settingGeneralModel class settingGeneralModel
@ -23,17 +19,14 @@ class settingGeneralModel
/*Helper Methods*/ /*Helper Methods*/
private void onFullScreenBrowsing(boolean pStatus){ private void onFullScreenBrowsing(boolean pStatus){
status.sFullScreenBrowsing = pStatus; status.sFullScreenBrowsing = pStatus;
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_FULL_SCREEN_BROWSIING,pStatus));
} }
private void onSelectThemeLight(int pStatus){ private void onSelectThemeLight(int pStatus){
status.sTheme = pStatus; status.sTheme = pStatus;
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_INT, Arrays.asList(keys.SETTING_THEME,pStatus));
} }
private void onURLInNewTab(boolean pStatus) { private void onURLInNewTab(boolean pStatus) {
status.sOpenURLInNewTab = pStatus; status.sOpenURLInNewTab = pStatus;
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_OPEN_URL_IN_NEW_TAB,pStatus));
} }
public Object onTrigger(settingGeneralEnums.eGeneralModel pCommands, List<Object> pData){ public Object onTrigger(settingGeneralEnums.eGeneralModel pCommands, List<Object> pData){

View File

@ -4,10 +4,19 @@ import android.os.Bundle;
import android.view.View; import android.view.View;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import com.darkweb.genesissearchengine.appManager.activityContextManager; import com.darkweb.genesissearchengine.appManager.activityContextManager;
import com.darkweb.genesissearchengine.appManager.helpManager.helpController;
import com.darkweb.genesissearchengine.constants.constants;
import com.darkweb.genesissearchengine.constants.keys;
import com.darkweb.genesissearchengine.constants.status;
import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.darkweb.genesissearchengine.helperManager.helperMethod;
import com.darkweb.genesissearchengine.pluginManager.pluginController; import com.darkweb.genesissearchengine.pluginManager.pluginController;
import com.example.myapplication.R; import com.example.myapplication.R;
import com.google.android.material.switchmaterial.SwitchMaterial; import com.google.android.material.switchmaterial.SwitchMaterial;
import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
@ -34,6 +43,10 @@ public class settingLogController extends AppCompatActivity {
mSettingLogModel = new settingLogModel(new settingLogModelCallback()); mSettingLogModel = new settingLogModel(new settingLogModelCallback());
} }
public void onOpenInfo(View view) {
helperMethod.openActivity(helpController.class, constants.CONST_LIST_HISTORY, this,true);
}
/* LISTENERS */ /* LISTENERS */
public class settingLogViewCallback implements eventObserver.eventListener{ public class settingLogViewCallback implements eventObserver.eventListener{
@ -84,5 +97,6 @@ public class settingLogController extends AppCompatActivity {
mSettingLogModel.onTrigger(settingLogEnums.eLogModel.M_SWITCH_LOG_VIEW, Collections.singletonList(!mListView.isChecked())); mSettingLogModel.onTrigger(settingLogEnums.eLogModel.M_SWITCH_LOG_VIEW, Collections.singletonList(!mListView.isChecked()));
mListView.toggle(); mListView.toggle();
activityContextManager.getInstance().getOrbotLogController().initializeLogs(); activityContextManager.getInstance().getOrbotLogController().initializeLogs();
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_LIST_VIEW, status.sLogListView));
} }
} }

View File

@ -2,7 +2,6 @@ package com.darkweb.genesissearchengine.appManager.settingManager.logManager;
import com.darkweb.genesissearchengine.constants.keys; import com.darkweb.genesissearchengine.constants.keys;
import com.darkweb.genesissearchengine.constants.status; import com.darkweb.genesissearchengine.constants.status;
import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.dataManager.dataEnums; import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
@ -23,7 +22,6 @@ class settingLogModel
public void onUpdateLogView(boolean pIsListView){ public void onUpdateLogView(boolean pIsListView){
status.sLogListView = pIsListView; status.sLogListView = pIsListView;
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_LIST_VIEW, pIsListView));
} }
/*Helper Methods*/ /*Helper Methods*/

View File

@ -4,12 +4,19 @@ import android.os.Bundle;
import android.view.View; import android.view.View;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import com.darkweb.genesissearchengine.appManager.activityContextManager; import com.darkweb.genesissearchengine.appManager.activityContextManager;
import com.darkweb.genesissearchengine.constants.enums; import com.darkweb.genesissearchengine.appManager.helpManager.helpController;
import com.darkweb.genesissearchengine.constants.constants;
import com.darkweb.genesissearchengine.constants.keys;
import com.darkweb.genesissearchengine.constants.status;
import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.darkweb.genesissearchengine.helperManager.helperMethod; import com.darkweb.genesissearchengine.helperManager.helperMethod;
import com.darkweb.genesissearchengine.pluginManager.pluginController; import com.darkweb.genesissearchengine.pluginManager.pluginController;
import com.example.myapplication.R; import com.example.myapplication.R;
import com.google.android.material.switchmaterial.SwitchMaterial; import com.google.android.material.switchmaterial.SwitchMaterial;
import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
@ -85,6 +92,10 @@ public class settingNotificationController extends AppCompatActivity {
/*UI Redirection*/ /*UI Redirection*/
public void onOpenInfo(View view) {
helperMethod.openActivity(helpController.class, constants.CONST_LIST_HISTORY, this,true);
}
public void onClose(View view){ public void onClose(View view){
finish(); finish();
} }
@ -96,5 +107,6 @@ public class settingNotificationController extends AppCompatActivity {
public void onSaveLocalNotificationSettings(View view){ public void onSaveLocalNotificationSettings(View view){
mSettingNotificationModel.onTrigger(settingNotificationEnums.eNotificationModel.M_UPDATE_LOCAL_NOTIFICATION, Collections.singletonList(!mNotificationManual.isChecked())); mSettingNotificationModel.onTrigger(settingNotificationEnums.eNotificationModel.M_UPDATE_LOCAL_NOTIFICATION, Collections.singletonList(!mNotificationManual.isChecked()));
mNotificationManual.toggle(); mNotificationManual.toggle();
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_INT, Arrays.asList(keys.SETTING_NOTIFICATION_STATUS, status.sBridgeNotificationManual));
} }
} }

View File

@ -2,7 +2,6 @@ package com.darkweb.genesissearchengine.appManager.settingManager.notificationMa
import com.darkweb.genesissearchengine.constants.keys; import com.darkweb.genesissearchengine.constants.keys;
import com.darkweb.genesissearchengine.constants.status; import com.darkweb.genesissearchengine.constants.status;
import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.dataManager.dataEnums; import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.darkweb.genesissearchengine.pluginManager.pluginController; import com.darkweb.genesissearchengine.pluginManager.pluginController;
@ -28,7 +27,6 @@ class settingNotificationModel
int mStatus = pStatus ? 1 : 0; int mStatus = pStatus ? 1 : 0;
status.sBridgeNotificationManual = mStatus; status.sBridgeNotificationManual = mStatus;
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_INT, Arrays.asList(keys.SETTING_NOTIFICATION_STATUS, mStatus));
pluginController.getInstance().setNotificationStatus(mStatus); pluginController.getInstance().setNotificationStatus(mStatus);
int notificationStatus = pluginController.getInstance().getNotificationStatus(); int notificationStatus = pluginController.getInstance().getNotificationStatus();
if(notificationStatus==0){ if(notificationStatus==0){

View File

@ -4,11 +4,9 @@ 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 androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatDelegate; import androidx.appcompat.app.AppCompatDelegate;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import com.darkweb.genesissearchengine.constants.status; import com.darkweb.genesissearchengine.constants.status;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.example.myapplication.R; import com.example.myapplication.R;

View File

@ -5,12 +5,19 @@ import android.view.View;
import android.widget.RadioButton; import android.widget.RadioButton;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import com.darkweb.genesissearchengine.appManager.activityContextManager; import com.darkweb.genesissearchengine.appManager.activityContextManager;
import com.darkweb.genesissearchengine.appManager.helpManager.helpController;
import com.darkweb.genesissearchengine.constants.constants;
import com.darkweb.genesissearchengine.constants.keys;
import com.darkweb.genesissearchengine.constants.status; import com.darkweb.genesissearchengine.constants.status;
import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.darkweb.genesissearchengine.helperManager.helperMethod;
import com.darkweb.genesissearchengine.pluginManager.pluginController; import com.darkweb.genesissearchengine.pluginManager.pluginController;
import com.example.myapplication.R; import com.example.myapplication.R;
import com.google.android.material.switchmaterial.SwitchMaterial; import com.google.android.material.switchmaterial.SwitchMaterial;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
@ -50,6 +57,10 @@ public class settingPrivacyController extends AppCompatActivity {
mSettingPrivacyModel = new settingPrivacyModel(new settingPrivacyController.settingAccessibilityModelCallback()); mSettingPrivacyModel = new settingPrivacyModel(new settingPrivacyController.settingAccessibilityModelCallback());
} }
public void onOpenInfo(View view) {
helperMethod.openActivity(helpController.class, constants.CONST_LIST_HISTORY, this,true);
}
/* LISTENERS */ /* LISTENERS */
public class settingAccessibilityViewCallback implements eventObserver.eventListener{ public class settingAccessibilityViewCallback implements eventObserver.eventListener{
@ -100,38 +111,42 @@ public class settingPrivacyController extends AppCompatActivity {
/*UI Redirection*/ /*UI Redirection*/
public void onClose(View view){ public void onClose(View view){
activityContextManager.getInstance().getHomeController().initRuntimeSettings(); onBackPressed();
finish();
} }
public void onJavaScript(View view){ public void onJavaScript(View view){
mSettingChanged = true; mSettingChanged = true;
mSettingPrivacyModel.onTrigger(settingPrivacyEnums.ePrivacyModel.M_SET_JAVASCRIPT, Collections.singletonList(!status.sSettingJavaStatus)); mSettingPrivacyModel.onTrigger(settingPrivacyEnums.ePrivacyModel.M_SET_JAVASCRIPT, Collections.singletonList(!status.sSettingJavaStatus));
mJavaScript.toggle(); mJavaScript.toggle();
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_JAVA_SCRIPT,status.sSettingJavaStatus));
} }
public void onDoNotTrack(View view){ public void onDoNotTrack(View view){
mSettingChanged = true; mSettingChanged = true;
mSettingPrivacyModel.onTrigger(settingPrivacyEnums.ePrivacyModel.M_SET_DONOT_TRACK, Collections.singletonList(!status.sStatusDoNotTrack)); mSettingPrivacyModel.onTrigger(settingPrivacyEnums.ePrivacyModel.M_SET_DONOT_TRACK, Collections.singletonList(!status.sStatusDoNotTrack));
mDoNotTrack.toggle(); mDoNotTrack.toggle();
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_DONOT_TRACK,status.sSettingTrackingProtection));
} }
public void onTrackingProtection(View view){ public void onTrackingProtection(View view){
mSettingChanged = true; mSettingChanged = true;
mSettingPrivacyModel.onTrigger(settingPrivacyEnums.ePrivacyModel.M_SET_TRACKING_PROTECTION, Collections.singletonList(!status.sSettingTrackingProtection)); mSettingPrivacyModel.onTrigger(settingPrivacyEnums.ePrivacyModel.M_SET_TRACKING_PROTECTION, Collections.singletonList(!status.sSettingTrackingProtection));
mTrackingProtection.toggle(); mTrackingProtection.toggle();
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_TRACKING_PROTECTION,status.sSettingTrackingProtection));
} }
public void onCookies(View view){ public void onCookies(View view){
mSettingChanged = true; mSettingChanged = true;
mSettingPrivacyViewController.onTrigger(settingPrivacyEnums.ePrivacyViewController.M_SET_COOKIE_STATUS, Collections.singletonList(view)); mSettingPrivacyViewController.onTrigger(settingPrivacyEnums.ePrivacyViewController.M_SET_COOKIE_STATUS, Collections.singletonList(view));
mSettingPrivacyModel.onTrigger(settingPrivacyEnums.ePrivacyModel.M_SET_COOKIES, Collections.singletonList(view)); mSettingPrivacyModel.onTrigger(settingPrivacyEnums.ePrivacyModel.M_SET_COOKIES, Collections.singletonList(view));
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_INT, Arrays.asList(keys.SETTING_COOKIE_ADJUSTABLE,status.sSettingCookieStatus));
} }
public void onClearPrivateData(View view){ public void onClearPrivateData(View view){
mSettingChanged = true; mSettingChanged = true;
mSettingPrivacyModel.onTrigger(settingPrivacyEnums.ePrivacyModel.M_SET_CLEAR_PRIVATE_DATA, Collections.singletonList(!status.sClearOnExit)); mSettingPrivacyModel.onTrigger(settingPrivacyEnums.ePrivacyModel.M_SET_CLEAR_PRIVATE_DATA, Collections.singletonList(!status.sClearOnExit));
mClearDataOnExit.toggle(); mClearDataOnExit.toggle();
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_HISTORY_CLEAR,status.sClearOnExit));
} }
} }

View File

@ -3,7 +3,6 @@ package com.darkweb.genesissearchengine.appManager.settingManager.privacyManager
import android.view.View; import android.view.View;
import com.darkweb.genesissearchengine.constants.keys; import com.darkweb.genesissearchengine.constants.keys;
import com.darkweb.genesissearchengine.constants.status; import com.darkweb.genesissearchengine.constants.status;
import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.dataManager.dataEnums; import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.example.myapplication.R; import com.example.myapplication.R;
@ -29,18 +28,15 @@ class settingPrivacyModel
/*Helper Methods*/ /*Helper Methods*/
private void onJavaScript(boolean pStatus){ private void onJavaScript(boolean pStatus){
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_JAVA_SCRIPT,pStatus));
status.sSettingJavaStatus = pStatus; status.sSettingJavaStatus = pStatus;
} }
private void onDoNotTrack(boolean pStatus){ private void onDoNotTrack(boolean pStatus){
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_DONOT_TRACK,pStatus));
status.sStatusDoNotTrack = pStatus; status.sStatusDoNotTrack = pStatus;
} }
private void onTrackingProtection(boolean pStatus){ private void onTrackingProtection(boolean pStatus){
status.sSettingTrackingProtection = pStatus; status.sSettingTrackingProtection = pStatus;
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_TRACKING_PROTECTION,pStatus));
} }
private void onCookies(View pView){ private void onCookies(View pView){
@ -56,12 +52,9 @@ class settingPrivacyModel
if(pView.getId() == R.id.pCookieOption4){ if(pView.getId() == R.id.pCookieOption4){
status.sSettingCookieStatus = ACCEPT_NONE; status.sSettingCookieStatus = ACCEPT_NONE;
} }
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_INT, Arrays.asList(keys.SETTING_COOKIE_ADJUSTABLE,status.sSettingCookieStatus));
} }
private void onClearPrivateData(boolean pStatus){ private void onClearPrivateData(boolean pStatus){
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_HISTORY_CLEAR,pStatus));
status.sClearOnExit = pStatus; status.sClearOnExit = pStatus;
} }

View File

@ -5,13 +5,19 @@ import android.view.View;
import android.widget.RadioButton; import android.widget.RadioButton;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import com.darkweb.genesissearchengine.appManager.activityContextManager; import com.darkweb.genesissearchengine.appManager.activityContextManager;
import com.darkweb.genesissearchengine.appManager.helpManager.helpController;
import com.darkweb.genesissearchengine.constants.constants; import com.darkweb.genesissearchengine.constants.constants;
import com.darkweb.genesissearchengine.constants.enums; import com.darkweb.genesissearchengine.constants.keys;
import com.darkweb.genesissearchengine.constants.status;
import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.darkweb.genesissearchengine.helperManager.helperMethod;
import com.darkweb.genesissearchengine.pluginManager.pluginController; import com.darkweb.genesissearchengine.pluginManager.pluginController;
import com.example.myapplication.R; import com.example.myapplication.R;
import com.google.android.material.switchmaterial.SwitchMaterial; import com.google.android.material.switchmaterial.SwitchMaterial;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
@ -49,18 +55,23 @@ public class settingSearchController extends AppCompatActivity {
public void onSelectSearchEngine(View view) { public void onSelectSearchEngine(View view) {
if(view.getId() == R.id.pOption1){ if(view.getId() == R.id.pOption1){
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.sSettingSearchStatus));
} }
else if(view.getId() == R.id.pOption2){ else if(view.getId() == R.id.pOption2){
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.sSettingSearchStatus));
} }
else if(view.getId() == R.id.pOption3){ else if(view.getId() == R.id.pOption3){
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.sSettingSearchStatus));
} }
else if(view.getId() == R.id.pOption4){ else if(view.getId() == R.id.pOption4){
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.sSettingSearchStatus));
} }
else if(view.getId() == R.id.pOption5){ else if(view.getId() == R.id.pOption5){
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.sSettingSearchStatus));
} }
mSettingSearchViewController.onTrigger(settingSearchEnums.eSearchViewController.M_RESET_SEARCH_ENGINE, Collections.singletonList(null)); mSettingSearchViewController.onTrigger(settingSearchEnums.eSearchViewController.M_RESET_SEARCH_ENGINE, Collections.singletonList(null));
@ -70,11 +81,17 @@ public class settingSearchController extends AppCompatActivity {
public void setSearchHistory(View view){ public void setSearchHistory(View view){
mSettingSearchModel.onTrigger(settingSearchEnums.eSearchModel.M_SET_SEARCH_HISTORY, Collections.singletonList(!mSearchHistory.isChecked())); mSettingSearchModel.onTrigger(settingSearchEnums.eSearchModel.M_SET_SEARCH_HISTORY, Collections.singletonList(!mSearchHistory.isChecked()));
mSearchHistory.toggle(); mSearchHistory.toggle();
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_SEARCH_HISTORY, status.sSettingSearchHistory));
} }
public void setSearchStatus(View view){ public void setSearchStatus(View view){
mSettingSearchModel.onTrigger(settingSearchEnums.eSearchModel.M_SET_SEARCH_HISTORY, Collections.singletonList(!mSearchSuggestions.isChecked())); mSettingSearchModel.onTrigger(settingSearchEnums.eSearchModel.M_SET_SEARCH_HISTORY, Collections.singletonList(!mSearchSuggestions.isChecked()));
mSearchSuggestions.toggle(); mSearchSuggestions.toggle();
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_SEARCH_SUGGESTION, status.getsSettingSearchSuggestion));
}
public void onOpenInfo(View view) {
helperMethod.openActivity(helpController.class, constants.CONST_LIST_HISTORY, this,true);
} }
/* LISTENERS */ /* LISTENERS */

View File

@ -1,14 +1,7 @@
package com.darkweb.genesissearchengine.appManager.settingManager.searchEngineManager; package com.darkweb.genesissearchengine.appManager.settingManager.searchEngineManager;
import android.view.View;
import com.darkweb.genesissearchengine.appManager.historyManager.historyEnums;
import com.darkweb.genesissearchengine.constants.keys;
import com.darkweb.genesissearchengine.constants.status; import com.darkweb.genesissearchengine.constants.status;
import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import java.util.Arrays;
import java.util.List; import java.util.List;
@ -29,15 +22,12 @@ class settingSearchModel
private void onSetSearchEngine(String pUrl){ private void onSetSearchEngine(String pUrl){
status.sSettingSearchStatus = pUrl; status.sSettingSearchStatus = pUrl;
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_STRING, Arrays.asList(keys.SETTING_SEARCH_ENGINE, pUrl));
} }
private void setSearchHistory(boolean pStatus){ private void setSearchHistory(boolean pStatus){
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_SEARCH_HISTORY, pStatus));
status.sSettingSearchHistory = pStatus; status.sSettingSearchHistory = pStatus;
} }
private void setSearchStatus(boolean pStatus){ private void setSearchStatus(boolean pStatus){
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_SEARCH_SUGGESTION, pStatus));
status.getsSettingSearchSuggestion = pStatus; status.getsSettingSearchSuggestion = pStatus;
} }

View File

@ -8,6 +8,7 @@ import android.view.View;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatDelegate; import androidx.appcompat.app.AppCompatDelegate;
import com.darkweb.genesissearchengine.appManager.activityContextManager; import com.darkweb.genesissearchengine.appManager.activityContextManager;
import com.darkweb.genesissearchengine.appManager.helpManager.helpController;
import com.darkweb.genesissearchengine.appManager.settingManager.accessibilityManager.settingAccessibilityController; import com.darkweb.genesissearchengine.appManager.settingManager.accessibilityManager.settingAccessibilityController;
import com.darkweb.genesissearchengine.appManager.settingManager.advanceManager.settingAdvanceController; import com.darkweb.genesissearchengine.appManager.settingManager.advanceManager.settingAdvanceController;
import com.darkweb.genesissearchengine.appManager.settingManager.clearManager.settingClearController; import com.darkweb.genesissearchengine.appManager.settingManager.clearManager.settingClearController;
@ -28,7 +29,8 @@ import com.darkweb.genesissearchengine.pluginManager.pluginController;
import com.example.myapplication.R; import com.example.myapplication.R;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import static com.darkweb.genesissearchengine.constants.enums.etype.on_not_support;
import static com.darkweb.genesissearchengine.constants.enums.eMessageEnums.M_NOT_SUPPORTED;
public class settingController extends AppCompatActivity public class settingController extends AppCompatActivity
{ {
@ -129,7 +131,7 @@ public class settingController extends AppCompatActivity
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
startActivity(new Intent(android.provider.Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS)); startActivity(new Intent(android.provider.Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS));
}else{ }else{
pluginController.getInstance().MessageManagerHandler(this, null, on_not_support); pluginController.getInstance().MessageManagerHandler(this, null, M_NOT_SUPPORTED);
} }
} }
@ -161,6 +163,10 @@ public class settingController extends AppCompatActivity
helperMethod.openActivity(settingAdvanceController.class, constants.CONST_LIST_HISTORY, this,true); helperMethod.openActivity(settingAdvanceController.class, constants.CONST_LIST_HISTORY, this,true);
} }
public void onOpenInfo(View view) {
helperMethod.openActivity(helpController.class, constants.CONST_LIST_HISTORY, this,true);
}
/*Event Observer*/ /*Event Observer*/
public class settingViewCallback implements eventObserver.eventListener{ public class settingViewCallback implements eventObserver.eventListener{

View File

@ -1,6 +1,5 @@
package com.darkweb.genesissearchengine.appManager.tabManager; package com.darkweb.genesissearchengine.appManager.tabManager;
import android.graphics.Color;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
@ -10,9 +9,7 @@ import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import androidx.core.content.res.ResourcesCompat;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.darkweb.genesissearchengine.appManager.activityContextManager; import com.darkweb.genesissearchengine.appManager.activityContextManager;
import com.darkweb.genesissearchengine.helperManager.TopCropImageView; import com.darkweb.genesissearchengine.helperManager.TopCropImageView;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
@ -28,7 +25,7 @@ public class tabAdapter extends RecyclerView.Adapter<tabAdapter.listViewHolder>
private ArrayList<tabRowModel> mModelList; private ArrayList<tabRowModel> mModelList;
private eventObserver.eventListener mEvent; private eventObserver.eventListener mEvent;
private ArrayList<Integer> mSelectedList = new ArrayList<>(); private ArrayList<String> mSelectedList = new ArrayList<>();
tabAdapter(ArrayList<tabRowModel> model_list, eventObserver.eventListener event) { tabAdapter(ArrayList<tabRowModel> model_list, eventObserver.eventListener event) {
this.mModelList = model_list; this.mModelList = model_list;
@ -68,7 +65,7 @@ public class tabAdapter extends RecyclerView.Adapter<tabAdapter.listViewHolder>
mEvent.invokeObserver(null, tabEnums.eTabAdapterCallback.ON_CLEAR_TAB_BACKUP); mEvent.invokeObserver(null, tabEnums.eTabAdapterCallback.ON_CLEAR_TAB_BACKUP);
for(int mCounter=0;mCounter<mModelList.size();mCounter++){ for(int mCounter=0;mCounter<mModelList.size();mCounter++){
if(mSelectedList.contains(mModelList.get(mCounter).getSession().getSessionID())){ if(mSelectedList.contains(mModelList.get(mCounter).getSession().getSessionID())){
mSelectedList.remove((Integer) mModelList.get(mCounter).getSession().getSessionID()); mSelectedList.remove((String) mModelList.get(mCounter).getSession().getSessionID());
mEvent.invokeObserver(Collections.singletonList(mCounter), tabEnums.eTabAdapterCallback.ON_REMOVE_TAB); mEvent.invokeObserver(Collections.singletonList(mCounter), tabEnums.eTabAdapterCallback.ON_REMOVE_TAB);
notifyItemRemoved(mCounter); notifyItemRemoved(mCounter);
mCounter-=1; mCounter-=1;
@ -158,7 +155,7 @@ public class tabAdapter extends RecyclerView.Adapter<tabAdapter.listViewHolder>
} }
}else { }else {
for(int mCounter=0;mCounter<mSelectedList.size();mCounter++){ for(int mCounter=0;mCounter<mSelectedList.size();mCounter++){
if(mSelectedList.get(mCounter) == mModelList.get(this.getLayoutPosition()).getSession().getSessionID()){ if(mSelectedList.get(mCounter).equals(mModelList.get(this.getLayoutPosition()).getSession().getSessionID())){
mSelectedList.remove(mCounter); mSelectedList.remove(mCounter);
} }
} }

View File

@ -154,8 +154,9 @@ public class tabController extends AppCompatActivity
} }
public void onRemoveView(int pIndex){ public void onRemoveView(int pIndex){
mHomeController.onCloseCurrentTab(mListModel.getList().get(pIndex).getSession());
onClearTabBackup(); onClearTabBackup();
onRemoveTab(pIndex); //onRemoveTab(pIndex);
mTabAdapter.notifyItemRemoved(pIndex); mTabAdapter.notifyItemRemoved(pIndex);
onShowUndoDialog(); onShowUndoDialog();
} }
@ -182,9 +183,9 @@ public class tabController extends AppCompatActivity
mtabViewController.onTrigger(tabEnums.eTabViewCommands.ON_SHOW_UNDO_DIALOG, null); mtabViewController.onTrigger(tabEnums.eTabViewCommands.ON_SHOW_UNDO_DIALOG, null);
} }
public void onTabRowChanged(int pId){ public void onTabRowChanged(String pId){
for(int mCounter=0; mCounter<mListModel.getList().size();mCounter++){ for(int mCounter=0; mCounter<mListModel.getList().size();mCounter++){
if(mListModel.getList().get(mCounter).getSession().getSessionID() == pId){ if(mListModel.getList().get(mCounter).getSession().getSessionID().equals(pId)){
mTabAdapter.notifyItemChanged(mCounter); mTabAdapter.notifyItemChanged(mCounter);
} }
} }

View File

@ -1,30 +1,47 @@
package com.darkweb.genesissearchengine.appManager.tabManager; package com.darkweb.genesissearchengine.appManager.tabManager;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.se.omapi.Session;
import com.darkweb.genesissearchengine.appManager.activityContextManager;
import com.darkweb.genesissearchengine.appManager.homeManager.geckoSession; import com.darkweb.genesissearchengine.appManager.homeManager.geckoSession;
import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.helperMethod; import com.darkweb.genesissearchengine.helperManager.helperMethod;
import org.mozilla.geckoview.GeckoSession;
import org.mozilla.geckoview.GeckoView; import org.mozilla.geckoview.GeckoView;
import java.sql.Blob;
import java.util.Calendar;
import java.util.UUID;
public class tabRowModel public class tabRowModel
{ {
/*Private Variables*/ /*Private Variables*/
private geckoSession mSession; private geckoSession mSession;
private int mId; private String mId;
private GeckoView mGeckoView = null;
private Bitmap mBitmap = null; private Bitmap mBitmap = null;
private String mDate; private String mDate;
/*Initializations*/ /*Initializations*/
public tabRowModel(geckoSession mSession,int mId) { public tabRowModel(geckoSession mSession) {
this.mSession = mSession; this.mSession = mSession;
this.mId = mId; this.mId = mSession.getSessionID();
this.mDate = helperMethod.getCurrentDate(); this.mDate = helperMethod.getCurrentDate();
} }
public tabRowModel(String pID, String pDate, byte[] pBlob) {
this.mId = pID;
this.mDate = pDate;
if(pBlob!=null){
mBitmap = BitmapFactory.decodeByteArray(pBlob,0,pBlob.length);
}
}
/*Helper Method*/ /*Helper Method*/
public geckoSession getSession() public geckoSession getSession()
@ -32,11 +49,15 @@ public class tabRowModel
return mSession; return mSession;
} }
public int getmId() { public void setSession(geckoSession pSession, String pURL, String pTitle)
return mId; {
mSession = pSession;
mSession.setTitle(pTitle);
mSession.setURL(pURL);
} }
public void setId(int id) {
mId = id; public String getmId() {
return mId;
} }
public void setmBitmap(Bitmap pBitmap) { public void setmBitmap(Bitmap pBitmap) {

View File

@ -4,17 +4,22 @@ public class enums
{ {
/*Settings Manager*/ /*Settings Manager*/
public enum etype{ public enum etype{
ON_UPDATE_VIEW_PIXEL,on_update_favicon,ON_UPDATE_TAB_TITLE,GECKO_SCROLL_CHANGED, on_update_favicon,ON_UPDATE_TAB_TITLE,GECKO_SCROLL_CHANGED,
on_verify_selected_url_menu,FINDER_RESULT_CALLBACK, on_verify_selected_url_menu,FINDER_RESULT_CALLBACK,
welcome,abi_error, rate_failure,reported_success,bookmark, clear_tab,clear_history,clear_bookmark,report_url,rate_app,start_orbot,download_file,download_file_long_press,on_long_press_url, welcome, reload,download_folder,
cancel_welcome,ignore_abi,reload,connect_vpn,app_rated,download_file_manual,download_folder, open_link_new_tab,open_link_current_tab,copy_link, url_triggered, url_triggered_new_tab,url_clear,url_clear_at,remove_from_database,is_empty,M_HOME_PAGE,M_PRELOAD_URL,
url_triggered, url_triggered_new_tab,url_clear,url_clear_at,remove_from_database,is_empty, on_close_sesson,on_long_press, on_full_screen,on_handle_external_intent,on_update_suggestion_url,progress_update,recheck_orbot,on_url_load,on_playstore_load,back_list_empty,start_proxy,on_request_completed, on_update_history,on_update_suggestion,ON_UPDATE_TITLE_BAR,on_page_loaded,on_load_error,download_file_popup,on_init_ads,search_update, open_new_tab
on_close_sesson,on_long_press,on_long_press_with_link,on_bridge_mail,on_not_support, data_cleared,on_full_screen,on_handle_external_intent,on_update_suggestion_url,progress_update,recheck_orbot,on_url_load,on_playstore_load,back_list_empty,start_proxy,on_request_completed, on_update_history,on_update_suggestion,ON_UPDATE_TITLE_BAR,on_page_loaded,on_load_error,download_file_popup,on_init_ads,rate_application,search_update, open_new_tab
} }
/*General Enums*/
public static class Theme { public static class Theme {
public static final int THEME_LIGHT = 0; public static final int THEME_LIGHT = 0;
public static final int THEME_DARK = 1; public static final int THEME_DARK = 1;
public static final int THEME_DEFAULT = 2; public static final int THEME_DEFAULT = 2;
} }
public enum eMessageEnums {
M_DATA_CLEARED, M_NOT_SUPPORTED, M_BRIDGE_MAIL, M_LONG_PRESS_WITH_LINK, M_LONG_PRESS_URL, M_LONG_PRESS_DOWNLOAD, M_START_ORBOT, M_DOWNLOAD_FILE, M_RATE_APP, M_REPORT_URL, M_CLEAR_BOOKMARK, M_CLEAR_HISTORY, M_BOOKMARK, M_RATE_SUCCESS, M_RATE_FAILURE, M_ABI_ERROR, M_WELCOME, M_CANCEL_WELCOME, M_APP_RATED, M_DOWNLOAD_FILE_MANUAL, M_OPEN_LINK_CURRENT_TAB, M_COPY_LINK, M_OPEN_LINK_NEW_TAB, M_CLEAR_TAB, M_CONNECT_VPN, M_IGNORE_ABI, M_RATE_APPLICATION
}
} }

View File

@ -49,10 +49,21 @@ public class dataController
{ {
databaseController.getInstance().execSQL("delete from history where 1",null); databaseController.getInstance().execSQL("delete from history where 1",null);
} }
if(status.sRestoreTabs){
mTabModel.initializeTab(databaseController.getInstance().selectTabs());
activityContextManager.getInstance().getHomeController().initTabCount();
}else{
invokeTab(dataEnums.eTabCommands.M_CLEAR_TAB, null);
}
} }
/*Recieving History*/ /*Recieving History*/
public Object invokeHistory(dataEnums.eHistoryCommands p_commands, List<Object> p_data){ public Object invokeHistory(dataEnums.eHistoryCommands p_commands, List<Object> p_data){
if(p_commands == dataEnums.eHistoryCommands.M_ADD_HISTORY){
mTabModel.onTrigger(dataEnums.eTabCommands.M_UPDATE_TAB, p_data);
}
if(p_commands.equals(dataEnums.eHistoryCommands.M_LOAD_MORE_HISTORY)){ if(p_commands.equals(dataEnums.eHistoryCommands.M_LOAD_MORE_HISTORY)){
int m_history_size = (int) mHistoryModel.onTrigger(dataEnums.eHistoryCommands.M_HISTORY_SIZE,null); int m_history_size = (int) mHistoryModel.onTrigger(dataEnums.eHistoryCommands.M_HISTORY_SIZE,null);
return mHistoryModel.onTrigger(p_commands, Collections.singletonList(databaseController.getInstance().selectHistory(m_history_size+1,constants.CONST_FETCHABLE_LIST_SIZE))); return mHistoryModel.onTrigger(p_commands, Collections.singletonList(databaseController.getInstance().selectHistory(m_history_size+1,constants.CONST_FETCHABLE_LIST_SIZE)));

View File

@ -24,6 +24,6 @@ public class dataEnums
} }
public enum eTabCommands{ public enum eTabCommands{
M_ADD_TAB, M_CLEAR_TAB, M_CLOSE_TAB_PARAMETERIZED, CLOSE_TAB, GET_TAB, GET_CURRENT_TAB, GET_TOTAL_TAB, MOVE_TAB_TO_TOP, M_UPDATE_PIXEL M_UPDATE_TAB, M_ADD_TAB, M_CLEAR_TAB, CLOSE_TAB, GET_TAB, GET_CURRENT_TAB, GET_LAST_TAB, GET_TOTAL_TAB, MOVE_TAB_TO_TOP, M_UPDATE_PIXEL, M_HOME_PAGE
} }
} }

View File

@ -1,36 +1,62 @@
package com.darkweb.genesissearchengine.dataManager; package com.darkweb.genesissearchengine.dataManager;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.content.ContentValues;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.os.Handler; import android.os.Handler;
import com.darkweb.genesissearchengine.appManager.databaseManager.databaseController;
import com.darkweb.genesissearchengine.appManager.homeManager.geckoSession; import com.darkweb.genesissearchengine.appManager.homeManager.geckoSession;
import com.darkweb.genesissearchengine.appManager.tabManager.tabRowModel; import com.darkweb.genesissearchengine.appManager.tabManager.tabRowModel;
import com.google.android.gms.ads.AdSize;
import org.mozilla.geckoview.GeckoResult; import org.mozilla.geckoview.GeckoResult;
import java.io.ByteArrayOutputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar;
import java.util.List; import java.util.List;
import java.util.Locale;
@SuppressLint("CommitPrefEdits") @SuppressLint("CommitPrefEdits")
class tabDataModel class tabDataModel
{ {
private ArrayList<tabRowModel> mTabs = new ArrayList<>(); private ArrayList<tabRowModel> mTabs = new ArrayList<>();
/*List Tabs*/
void addTabs(geckoSession mSession,boolean isHardCopy){
if(!isHardCopy){
mTabs.add(0,new tabRowModel(mSession,mTabs.size()));
}
else {
mTabs.add(0,new tabRowModel(mSession,mTabs.size()));
}
}
ArrayList<tabRowModel> getTab(){ ArrayList<tabRowModel> getTab(){
return mTabs; return mTabs;
} }
/*List Tabs*/
void initializeTab(ArrayList<tabRowModel> pTabMdel){
mTabs.addAll(pTabMdel);
}
geckoSession getHomePage(){
for(int counter = 0; counter< mTabs.size(); counter++){
if(mTabs.get(counter).getSession().getCurrentURL().equals("https://boogle.store/")){
moveTabToTop(mTabs.get(counter).getSession());
return mTabs.get(0).getSession();
}
}
return null;
}
void addTabs(geckoSession mSession,boolean pIsDataSavable){
tabRowModel mTabModel = new tabRowModel(mSession);
mTabs.add(0,mTabModel);
if(mTabs.size()>20){
closeTab(mTabs.get(mTabs.size()-1).getSession());
}
if(pIsDataSavable){
String[] params = new String[2];
params[0] = mTabModel.getSession().getTitle();
params[1] = mTabModel.getSession().getCurrentURL();
String m_date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS", Locale.ENGLISH).format(Calendar.getInstance().getTime());
databaseController.getInstance().execSQL("INSERT INTO tab(mid,date,title,url) VALUES('"+ mTabModel.getmId() +"','" + m_date + "',?,?);",params);
}
}
void clearTab() { void clearTab() {
int size = mTabs.size(); int size = mTabs.size();
for(int counter = 0; counter< size; counter++){ for(int counter = 0; counter< size; counter++){
@ -40,34 +66,54 @@ class tabDataModel
if(mTabs.size()>0){ if(mTabs.size()>0){
mTabs.get(0).getSession().closeSession(); mTabs.get(0).getSession().closeSession();
} }
databaseController.getInstance().execSQL("DELETE FROM tab WHERE 1",null);
} }
void closeTab(geckoSession mSession) { void closeTab(geckoSession mSession) {
for(int counter = 0; counter< mTabs.size(); counter++){ for(int counter = 0; counter< mTabs.size(); counter++){
if(mTabs.get(counter).getSession().getSessionID()==mSession.getSessionID()) if(mTabs.get(counter).getSession().getSessionID().equals(mSession.getSessionID()))
{ {
databaseController.getInstance().execSQL("DELETE FROM tab WHERE mid='" + mTabs.get(counter).getmId() + "'",null);
mTabs.remove(counter); mTabs.remove(counter);
break; break;
} }
else {
mTabs.get(counter).setId(mTabs.get(counter).getmId()+1);
}
} }
} }
void moveTabToTop(geckoSession mSession) { void moveTabToTop(geckoSession mSession) {
for(int counter = 0; counter< mTabs.size(); counter++){ for(int counter = 0; counter< mTabs.size(); counter++){
if(mTabs.get(counter).getSession().getSessionID()==mSession.getSessionID()) if(mTabs.get(counter).getSession().getSessionID().equals(mSession.getSessionID()))
{ {
/* BIG PROBLEM */ String m_date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS", Locale.ENGLISH).format(Calendar.getInstance().getTime());
mTabs.remove(counter); databaseController.getInstance().execSQL("UPDATE tab SET date = '" + m_date + "' WHERE mid='"+mTabs.get(counter).getmId() + "'",null);
mTabs.add(0,new tabRowModel(mSession,0)); mTabs.add(0,mTabs.remove(counter));
break; break;
}else {
mTabs.get(counter).setId(mTabs.get(counter).getmId()+1);
} }
} }
} }
boolean updateTab(String mSessionID) {
for(int counter = 0; counter< mTabs.size(); counter++){
if(mTabs.get(counter).getSession().getSessionID().equals(mSessionID))
{
String[] params = new String[2];
params[0] = mTabs.get(counter).getSession().getTitle();
params[1] = mTabs.get(counter).getSession().getCurrentURL();
String m_date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS", Locale.ENGLISH).format(Calendar.getInstance().getTime());
databaseController.getInstance().execSQL("UPDATE tab SET date = '" + m_date + "' , url = ? , title = ? WHERE mid='"+mTabs.get(counter).getmId() + "'",params);
return true;
}
}
return false;
}
tabRowModel getCurrentTab(){ tabRowModel getCurrentTab(){
if(mTabs.size()>0){ if(mTabs.size()>0){
return mTabs.get(0); return mTabs.get(0);
@ -77,17 +123,38 @@ class tabDataModel
} }
} }
public void updatePixels(int pSessionID, GeckoResult<Bitmap> pBitmapManager){ tabRowModel getLastTab(){
if(mTabs.size()>0){
return mTabs.get(mTabs.size()-1);
}
else {
return null;
}
}
public void updatePixels(String pSessionID, GeckoResult<Bitmap> pBitmapManager){
for(int counter = 0; counter< mTabs.size(); counter++){ for(int counter = 0; counter< mTabs.size(); counter++){
if(mTabs.get(counter).getSession().getSessionID()==pSessionID) if(mTabs.get(counter).getSession().getSessionID().equals(pSessionID))
{ {
final Handler handler = new Handler(); final Handler handler = new Handler();
int finalCounter = counter; int finalCounter = counter;
int finalCounter1 = counter;
handler.postDelayed(() -> handler.postDelayed(() ->
{ {
try { try {
Bitmap mBitmap = pBitmapManager.poll(0); Bitmap mBitmap = pBitmapManager.poll(0);
mTabs.get(finalCounter).setmBitmap(mBitmap); mTabs.get(finalCounter).setmBitmap(mBitmap);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
mBitmap.compress(Bitmap.CompressFormat.PNG, 100, bos);
byte[] mThumbnail = bos.toByteArray();
ContentValues mContentValues = new ContentValues();
mContentValues.put("mThumbnail", mThumbnail);
databaseController.getInstance().execTab("tab",mContentValues, mTabs.get(finalCounter1).getmId());
} catch (Throwable throwable) { } catch (Throwable throwable) {
throwable.printStackTrace(); throwable.printStackTrace();
} }
@ -108,6 +175,9 @@ class tabDataModel
else if(p_commands == dataEnums.eTabCommands.GET_CURRENT_TAB){ else if(p_commands == dataEnums.eTabCommands.GET_CURRENT_TAB){
return getCurrentTab(); return getCurrentTab();
} }
else if(p_commands == dataEnums.eTabCommands.GET_LAST_TAB){
return getLastTab();
}
else if(p_commands == dataEnums.eTabCommands.MOVE_TAB_TO_TOP){ else if(p_commands == dataEnums.eTabCommands.MOVE_TAB_TO_TOP){
moveTabToTop((geckoSession)p_data.get(0)); moveTabToTop((geckoSession)p_data.get(0));
} }
@ -117,17 +187,20 @@ class tabDataModel
else if(p_commands == dataEnums.eTabCommands.M_CLEAR_TAB){ else if(p_commands == dataEnums.eTabCommands.M_CLEAR_TAB){
clearTab(); clearTab();
} }
else if(p_commands == dataEnums.eTabCommands.M_CLOSE_TAB_PARAMETERIZED){
closeTab((geckoSession)p_data.get(0));
}
else if(p_commands == dataEnums.eTabCommands.M_ADD_TAB){ else if(p_commands == dataEnums.eTabCommands.M_ADD_TAB){
addTabs((geckoSession)p_data.get(0), (boolean)p_data.get(1)); addTabs((geckoSession)p_data.get(0), (boolean)p_data.get(1));
} }
else if(p_commands == dataEnums.eTabCommands.M_UPDATE_TAB){
updateTab((String) p_data.get(1));
}
else if(p_commands == dataEnums.eTabCommands.GET_TAB){ else if(p_commands == dataEnums.eTabCommands.GET_TAB){
return getTab(); return getTab();
} }
else if(p_commands == dataEnums.eTabCommands.M_UPDATE_PIXEL){ else if(p_commands == dataEnums.eTabCommands.M_UPDATE_PIXEL){
updatePixels((int)p_data.get(0), (GeckoResult<Bitmap>)p_data.get(1)); updatePixels((String)p_data.get(0), (GeckoResult<Bitmap>)p_data.get(1));
}
else if(p_commands == dataEnums.eTabCommands.M_HOME_PAGE){
return getHomePage();
} }
return null; return null;

View File

@ -13,7 +13,6 @@ import android.graphics.Color;
import android.graphics.Point; import android.graphics.Point;
import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.ColorDrawable;
import android.net.Uri; import android.net.Uri;
import android.os.Build;
import android.os.Vibrator; import android.os.Vibrator;
import android.text.SpannableString; import android.text.SpannableString;
import android.text.Spanned; import android.text.Spanned;
@ -29,33 +28,25 @@ import android.view.inputmethod.InputMethodManager;
import android.widget.ActionMenuView; import android.widget.ActionMenuView;
import android.widget.PopupWindow; import android.widget.PopupWindow;
import android.widget.Toast; import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat; import androidx.core.app.ActivityCompat;
import androidx.core.app.ShareCompat; import androidx.core.app.ShareCompat;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import com.darkweb.genesissearchengine.constants.keys; import com.darkweb.genesissearchengine.constants.keys;
import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.example.myapplication.BuildConfig;
import com.example.myapplication.R; import com.example.myapplication.R;
import java.io.IOException; import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException; import java.net.MalformedURLException;
import java.net.URI; import java.net.URI;
import java.net.URL; import java.net.URL;
import java.net.URLConnection; import java.net.URLConnection;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.UUID;
import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.HttpsURLConnection;
import static android.content.Context.LAYOUT_INFLATER_SERVICE; import static android.content.Context.LAYOUT_INFLATER_SERVICE;
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK; import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
import static android.content.Intent.FLAG_ACTIVITY_NO_ANIMATION; import static android.content.Intent.FLAG_ACTIVITY_NO_ANIMATION;
@ -68,7 +59,7 @@ public class helperMethod
if(pURL.equals("about:blank")){ if(pURL.equals("about:blank")){
return pURL; return pURL;
} }
URL weburl = null; URL weburl;
try try
{ {
weburl = new URL(pURL); weburl = new URL(pURL);
@ -77,12 +68,6 @@ public class helperMethod
if (result instanceof HttpsURLConnection) { if (result instanceof HttpsURLConnection) {
} }
else if (result instanceof HttpURLConnection) {
// http
}
else {
// null or something bad happened
}
} catch (IOException e) } catch (IOException e)
{ {
e.printStackTrace(); e.printStackTrace();
@ -97,6 +82,17 @@ public class helperMethod
return pURL; return pURL;
} }
public static String createRandomID(){
return UUID.randomUUID().toString();
}
public static int getScreenHeight(AppCompatActivity context) {
Display display = context.getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getRealSize(size);
return size.y;
}
public static SpannableString urlDesigner(String url, Context pContext){ public static SpannableString urlDesigner(String url, Context pContext){
if (url.contains("https://")) if (url.contains("https://"))
@ -133,7 +129,7 @@ public class helperMethod
public static void sendBridgeEmail(Context context){ public static void sendBridgeEmail(Context context){
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
String aEmailList[] = { "bridges@torproject.org"}; String[] aEmailList = { "bridges@torproject.org"};
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, aEmailList); emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, aEmailList);
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "get transport"); emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "get transport");
emailIntent.setType("plain/text"); emailIntent.setType("plain/text");
@ -151,11 +147,6 @@ public class helperMethod
} }
} }
public static void rateApp(AppCompatActivity context){
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.PROXY_IS_APP_RATED,true));
context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.darkweb.genesissearchengine")));
}
public static void shareApp(AppCompatActivity context) { public static void shareApp(AppCompatActivity context) {
ShareCompat.IntentBuilder.from(context) ShareCompat.IntentBuilder.from(context)
.setType("text/plain") .setType("text/plain")
@ -199,11 +190,6 @@ public class helperMethod
} }
} }
public static void openLocaleSettings(Context context){
Intent i = new Intent(android.provider.Settings.ACTION_LOCALE_SETTINGS);
context.startActivity(i);
}
static String getHost(String link){ static String getHost(String link){
URL url; URL url;
try try
@ -244,7 +230,7 @@ public class helperMethod
public static String urlWithoutPrefix(String url){ public static String urlWithoutPrefix(String url){
try{ try{
url = url.substring(url.indexOf(getHost(url)),url.length()).replace("www.","").replace("m.",""); url = url.substring(url.indexOf(getHost(url))).replace("www.","").replace("m.","");
return url; return url;
}catch (Exception ex){ }catch (Exception ex){
return url; return url;
@ -292,15 +278,6 @@ public class helperMethod
pContext.startActivity(intent); pContext.startActivity(intent);
} }
public static String ellipsize(String input, int maxLength) {
String ellip = "...";
if (input == null || input.length() <= maxLength
|| input.length() < ellip.length()) {
return input;
}
return input.substring(0, maxLength - ellip.length()).concat(ellip);
}
public static String getDomainName(String url) public static String getDomainName(String url)
{ {
try{ try{
@ -320,11 +297,6 @@ public class helperMethod
return params_loading; return params_loading;
} }
@SuppressWarnings("ConstantConditions")
public static boolean isBuildValid (){
return BuildConfig.FLAVOR.equals("aarch64") && Build.SUPPORTED_ABIS[0].equals("arm64-v8a") || BuildConfig.FLAVOR.equals("arm") && Build.SUPPORTED_ABIS[0].equals("armeabi-v7a") || BuildConfig.FLAVOR.equals("x86") && Build.SUPPORTED_ABIS[0].equals("x86") || BuildConfig.FLAVOR.equals("x86_64") && Build.SUPPORTED_ABIS[0].equals("x86_64");
}
public static void openPlayStore(String packageName,AppCompatActivity context) public static void openPlayStore(String packageName,AppCompatActivity context)
{ {
Intent intent = new Intent(Intent.ACTION_VIEW); Intent intent = new Intent(Intent.ACTION_VIEW);
@ -347,13 +319,6 @@ public class helperMethod
return (int) (dp * Resources.getSystem().getDisplayMetrics().density); return (int) (dp * Resources.getSystem().getDisplayMetrics().density);
} }
public static int getScreenHeight(AppCompatActivity context) {
Display display = context.getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getRealSize(size);
return size.y;
}
public static int getStatusBarHeight(Context context) { public static int getStatusBarHeight(Context context) {
int result = 0; int result = 0;
int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android"); int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");
@ -395,20 +360,14 @@ public class helperMethod
} }
} }
if (!listPermissionsNeeded.isEmpty()) { if (!listPermissionsNeeded.isEmpty()) {
ActivityCompat.requestPermissions(context, listPermissionsNeeded.toArray(new String[listPermissionsNeeded.size()]), 100); ActivityCompat.requestPermissions(context, listPermissionsNeeded.toArray(new String[0]), 100);
return false; return false;
} }
return true; return true;
} }
public static void clearAppData(Context context) {
Intent intent = new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.setData(Uri.parse("package:" + context.getPackageName()));
context.startActivity(intent);
}
public static String getCurrentDate(){ public static String getCurrentDate(){
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy"); @SuppressLint("SimpleDateFormat") SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
Date date = new Date(); Date date = new Date();
sdf.applyPattern("E | MMM dd,yyyy"); sdf.applyPattern("E | MMM dd,yyyy");
return sdf.format(date); return sdf.format(date);
@ -429,10 +388,7 @@ public class helperMethod
} }
public static PopupWindow onCreateMenu(View p_view, int p_layout) { public static PopupWindow onCreateMenu(View p_view, int p_layout) {
PopupWindow popupWindow = null; PopupWindow popupWindow;
if(popupWindow!=null){
popupWindow.dismiss();
}
LayoutInflater layoutInflater LayoutInflater layoutInflater
= (LayoutInflater) p_view.getContext() = (LayoutInflater) p_view.getContext()

View File

@ -15,6 +15,7 @@ class adManager
private AppCompatActivity mAppContext; private AppCompatActivity mAppContext;
private eventObserver.eventListener mEvent; private eventObserver.eventListener mEvent;
private AdView mBannerAds; private AdView mBannerAds;
private boolean bannerAdsLoading = false; private boolean bannerAdsLoading = false;
private boolean bannerAdsLoaded = false; private boolean bannerAdsLoaded = false;
@ -56,7 +57,6 @@ class adManager
@Override @Override
public void onAdFailedToLoad(int errorCode) { public void onAdFailedToLoad(int errorCode) {
//Log.i("Failure___",""+errorCode);
} }
@Override @Override
@ -82,10 +82,9 @@ class adManager
private void initializeBannerAds(){ private void initializeBannerAds(){
if(!sPaidStatus){ if(!sPaidStatus){
AdRequest request = new AdRequest.Builder().addTestDevice("E731DE5933CDC0E42B335787CE3E23EF").build(); AdRequest request = new AdRequest.Builder().build();
mBannerAds.loadAd(request); mBannerAds.loadAd(request);
admobListeners(); admobListeners();
} }
} }
} }

View File

@ -1,34 +0,0 @@
package com.darkweb.genesissearchengine.pluginManager;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
/*
public class exitManager extends Service {
@Override
public IBinder onBind(Intent intent) {
return null;
}
public exitManager(){
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_NOT_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
pluginController.getInstance().proxyManagerExitInvoke();
}
@Override
public void onTaskRemoved(Intent rootIntent) {
stopSelf();
pluginController.getInstance().proxyManagerExitInvoke();
}
}*/

View File

@ -17,7 +17,6 @@ class firebaseManager
firebaseManager(AppCompatActivity app_context, eventObserver.eventListener event){ firebaseManager(AppCompatActivity app_context, eventObserver.eventListener event){
this.mAppContext = app_context; this.mAppContext = app_context;
initialize(); initialize();
} }
@ -36,5 +35,4 @@ class firebaseManager
FlurryAgent.logEvent(value); FlurryAgent.logEvent(value);
} }
} }
} }

View File

@ -5,16 +5,18 @@ import android.app.Dialog;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.res.Resources; import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.graphics.drawable.InsetDrawable;
import android.net.Uri; import android.net.Uri;
import android.os.Handler; import android.os.Handler;
import android.view.Gravity; import android.view.Gravity;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager; import android.view.inputmethod.InputMethodManager;
import android.widget.EditText; import android.widget.EditText;
import android.widget.RatingBar; import android.widget.RatingBar;
import android.widget.TextView; import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import com.darkweb.genesissearchengine.appManager.activityContextManager; import com.darkweb.genesissearchengine.appManager.activityContextManager;
import com.darkweb.genesissearchengine.constants.constants; import com.darkweb.genesissearchengine.constants.constants;
@ -27,7 +29,6 @@ import com.example.myapplication.R;
import java.io.File; import java.io.File;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import static android.view.WindowManager.LayoutParams.FLAG_DIM_BEHIND;
class messageManager class messageManager
{ {
@ -43,7 +44,7 @@ class messageManager
/*Initializations*/ /*Initializations*/
private void initializeDialog(int pLayout,int pGravity,int pFlag){ private void initializeDialog(int pLayout, int pGravity){
if(dialog!=null && dialog.isShowing()){ if(dialog!=null && dialog.isShowing()){
dialog.dismiss(); dialog.dismiss();
} }
@ -63,7 +64,6 @@ class messageManager
dialog.setCancelable(true); dialog.setCancelable(true);
dialog.setContentView(pLayout); dialog.setContentView(pLayout);
dialog.show(); dialog.show();
//dialog.getWindow().clearFlags(pFlag);
} }
messageManager(eventObserver.eventListener event) messageManager(eventObserver.eventListener event)
@ -74,33 +74,33 @@ class messageManager
/*Helper Methods*/ /*Helper Methods*/
private void welcomeMessage() private void welcomeMessage()
{ {
initializeDialog(R.layout.popup_welcome, Gravity.CENTER, FLAG_DIM_BEHIND); initializeDialog(R.layout.popup_welcome, Gravity.CENTER);
dialog.findViewById(R.id.pOption1).setOnClickListener(v -> { dialog.findViewById(R.id.pOption1).setOnClickListener(v -> {
event.invokeObserver(Collections.singletonList(constants.CONST_BLACK_MARKET_URL), enums.etype.welcome); event.invokeObserver(Collections.singletonList(constants.CONST_BLACK_MARKET_URL), enums.eMessageEnums.M_WELCOME);
dialog.dismiss(); dialog.dismiss();
}); });
dialog.findViewById(R.id.pOption2).setOnClickListener(v -> { dialog.findViewById(R.id.pOption2).setOnClickListener(v -> {
event.invokeObserver(Collections.singletonList(constants.CONST_LEAKED_DOCUMENT_URL), enums.etype.welcome); event.invokeObserver(Collections.singletonList(constants.CONST_LEAKED_DOCUMENT_URL), enums.eMessageEnums.M_WELCOME);
dialog.dismiss(); dialog.dismiss();
}); });
dialog.findViewById(R.id.pOption3).setOnClickListener(v -> { dialog.findViewById(R.id.pOption3).setOnClickListener(v -> {
event.invokeObserver(Collections.singletonList(constants.CONST_NEWS_URL), enums.etype.welcome); event.invokeObserver(Collections.singletonList(constants.CONST_NEWS_URL), enums.eMessageEnums.M_WELCOME);
dialog.dismiss(); dialog.dismiss();
}); });
dialog.findViewById(R.id.pOption4).setOnClickListener(v -> { dialog.findViewById(R.id.pOption4).setOnClickListener(v -> {
event.invokeObserver(Collections.singletonList(constants.CONST_SOFTWARE_URL), enums.etype.welcome); event.invokeObserver(Collections.singletonList(constants.CONST_SOFTWARE_URL), enums.eMessageEnums.M_WELCOME);
dialog.dismiss(); dialog.dismiss();
}); });
dialog.findViewById(R.id.pOption5).setOnClickListener(v -> { dialog.findViewById(R.id.pOption5).setOnClickListener(v -> {
event.invokeObserver(Collections.singletonList(constants.CONST_SOFTWARE_FINANCE), enums.etype.welcome); event.invokeObserver(Collections.singletonList(constants.CONST_SOFTWARE_FINANCE), enums.eMessageEnums.M_WELCOME);
dialog.dismiss(); dialog.dismiss();
}); });
dialog.findViewById(R.id.pOption6).setOnClickListener(v -> { dialog.findViewById(R.id.pOption6).setOnClickListener(v -> {
event.invokeObserver(Collections.singletonList(constants.CONST_COMMUNITIES), enums.etype.welcome); event.invokeObserver(Collections.singletonList(constants.CONST_COMMUNITIES), enums.eMessageEnums.M_WELCOME);
dialog.dismiss(); dialog.dismiss();
}); });
dialog.findViewById(R.id.pDontShowAgain).setOnClickListener(v -> { dialog.findViewById(R.id.pDontShowAgain).setOnClickListener(v -> {
event.invokeObserver(null, enums.etype.cancel_welcome); event.invokeObserver(null, enums.eMessageEnums.M_CANCEL_WELCOME);
dialog.dismiss(); dialog.dismiss();
}); });
} }
@ -108,7 +108,7 @@ class messageManager
@SuppressLint("QueryPermissionsNeeded") @SuppressLint("QueryPermissionsNeeded")
private void abiError() private void abiError()
{ {
initializeDialog(R.layout.popup_abi_error, Gravity.CENTER, FLAG_DIM_BEHIND); initializeDialog(R.layout.popup_abi_error, Gravity.CENTER);
dialog.findViewById(R.id.pOption1).setOnClickListener(v -> { dialog.findViewById(R.id.pOption1).setOnClickListener(v -> {
dialog.dismiss(); dialog.dismiss();
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(constants.CONST_GENESIS_UPDATE_URL + status.sAppCurrentABI)); Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(constants.CONST_GENESIS_UPDATE_URL + status.sAppCurrentABI));
@ -119,6 +119,7 @@ class messageManager
helperMethod.showToastMessage("Not Supported", mContext); helperMethod.showToastMessage("Not Supported", mContext);
} }
}); });
dialog.findViewById(R.id.pOption2).setOnClickListener(v -> { dialog.findViewById(R.id.pOption2).setOnClickListener(v -> {
dialog.dismiss(); dialog.dismiss();
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(constants.CONST_PLAYSTORE_URL)); Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(constants.CONST_PLAYSTORE_URL));
@ -133,7 +134,7 @@ class messageManager
private void rateFailure() private void rateFailure()
{ {
initializeDialog(R.layout.popup_rate_failure, Gravity.CENTER, FLAG_DIM_BEHIND); initializeDialog(R.layout.popup_rate_failure, Gravity.CENTER);
dialog.findViewById(R.id.pDismiss).setOnClickListener(v -> dialog.dismiss()); dialog.findViewById(R.id.pDismiss).setOnClickListener(v -> dialog.dismiss());
dialog.findViewById(R.id.pNext).setOnClickListener(v -> { dialog.findViewById(R.id.pNext).setOnClickListener(v -> {
dialog.dismiss(); dialog.dismiss();
@ -143,7 +144,7 @@ class messageManager
helperMethod.sendRateEmail(mContext); helperMethod.sendRateEmail(mContext);
} }
catch (Exception ex){ catch (Exception ex){
createMessage(mContext,Collections.singletonList(mContext.getString(R.string.ALERT_NOT_SUPPORTED_MESSAGE)),enums.etype.on_not_support); createMessage(mContext,Collections.singletonList(mContext.getString(R.string.ALERT_NOT_SUPPORTED_MESSAGE)),enums.eMessageEnums.M_NOT_SUPPORTED);
} }
}; };
handler.postDelayed(runnable, 1000); handler.postDelayed(runnable, 1000);
@ -152,27 +153,31 @@ class messageManager
private void reportedSuccessfully() private void reportedSuccessfully()
{ {
initializeDialog(R.layout.popup_reported_successfully, Gravity.CENTER, FLAG_DIM_BEHIND); initializeDialog(R.layout.popup_reported_successfully, Gravity.CENTER);
dialog.findViewById(R.id.pNext).setOnClickListener(v -> dialog.dismiss()); dialog.findViewById(R.id.pNext).setOnClickListener(v -> dialog.dismiss());
} }
private void notSupportMessage() private void notSupportMessage()
{ {
initializeDialog(R.layout.popup_not_supported, Gravity.BOTTOM, FLAG_DIM_BEHIND); initializeDialog(R.layout.popup_not_supported, Gravity.BOTTOM);
dialog.findViewById(R.id.pDismiss).setOnClickListener(v -> dialog.dismiss()); dialog.findViewById(R.id.pDismiss).setOnClickListener(v -> dialog.dismiss());
} }
private void dataClearedSuccessfully() private void dataClearedSuccessfully()
{ {
initializeDialog(R.layout.popup_data_cleared, Gravity.BOTTOM, FLAG_DIM_BEHIND); initializeDialog(R.layout.popup_data_cleared, Gravity.BOTTOM);
dialog.findViewById(R.id.pDismiss).setOnClickListener(v -> dialog.dismiss());
ColorDrawable back = new ColorDrawable(Color.TRANSPARENT);
InsetDrawable inset = new InsetDrawable(back, 0,0,0,helperMethod.pxFromDp(25));
dialog.getWindow().setBackgroundDrawable(inset);
dialog.findViewById(R.id.pNext).setOnClickListener(v -> dialog.dismiss());
} }
@SuppressLint("ResourceType") @SuppressLint("ResourceType")
private void bookmark() private void bookmark()
{ {
initializeDialog(R.layout.popup_create_bookmark, Gravity.CENTER, FLAG_DIM_BEHIND); initializeDialog(R.layout.popup_create_bookmark, Gravity.CENTER);
EditText mBoomMarkTitle = dialog.findViewById(R.id.pBookmark); EditText mBoomMarkTitle = dialog.findViewById(R.id.pBookmark);
dialog.setOnDismissListener(dialog -> { dialog.setOnDismissListener(dialog -> {
final Handler handler = new Handler(); final Handler handler = new Handler();
@ -194,38 +199,38 @@ class messageManager
dialog.findViewById(R.id.pNext).setOnClickListener(v -> { dialog.findViewById(R.id.pNext).setOnClickListener(v -> {
dialog.dismiss(); dialog.dismiss();
helperMethod.hideKeyboard(mContext); helperMethod.hideKeyboard(mContext);
event.invokeObserver(Collections.singletonList(data.get(0).toString().replace("genesis.onion","boogle.store")+"split"+((EditText)dialog.findViewById(R.id.pBookmark)).getText().toString()), enums.etype.bookmark); event.invokeObserver(Collections.singletonList(data.get(0).toString().replace("genesis.onion","boogle.store")+"split"+((EditText)dialog.findViewById(R.id.pBookmark)).getText().toString()), enums.eMessageEnums.M_BOOKMARK);
}); });
} }
private void clearHistory() private void clearHistory()
{ {
initializeDialog(R.layout.popup_clear_history, Gravity.CENTER, FLAG_DIM_BEHIND); initializeDialog(R.layout.popup_clear_history, Gravity.CENTER);
dialog.findViewById(R.id.pDismiss).setOnClickListener(v -> dialog.dismiss()); dialog.findViewById(R.id.pDismiss).setOnClickListener(v -> dialog.dismiss());
dialog.findViewById(R.id.pNext).setOnClickListener(v -> { dialog.findViewById(R.id.pNext).setOnClickListener(v -> {
dialog.dismiss(); dialog.dismiss();
event.invokeObserver(null, enums.etype.clear_history); event.invokeObserver(null, enums.eMessageEnums.M_CLEAR_HISTORY);
}); });
} }
private void clearBookmark() private void clearBookmark()
{ {
initializeDialog(R.layout.popup_clear_bookmark, Gravity.CENTER, FLAG_DIM_BEHIND); initializeDialog(R.layout.popup_clear_bookmark, Gravity.CENTER);
dialog.findViewById(R.id.pDismiss).setOnClickListener(v -> dialog.dismiss()); dialog.findViewById(R.id.pDismiss).setOnClickListener(v -> dialog.dismiss());
dialog.findViewById(R.id.pNext).setOnClickListener(v -> { dialog.findViewById(R.id.pNext).setOnClickListener(v -> {
dialog.dismiss(); dialog.dismiss();
event.invokeObserver(null, enums.etype.clear_bookmark); event.invokeObserver(null, enums.eMessageEnums.M_CLEAR_BOOKMARK);
}); });
} }
private void reportURL() private void reportURL()
{ {
initializeDialog(R.layout.popup_report_url, Gravity.CENTER, FLAG_DIM_BEHIND); initializeDialog(R.layout.popup_report_url, Gravity.CENTER);
dialog.findViewById(R.id.pDismiss).setOnClickListener(v -> dialog.dismiss()); dialog.findViewById(R.id.pDismiss).setOnClickListener(v -> dialog.dismiss());
dialog.findViewById(R.id.pNext).setOnClickListener(v -> { dialog.findViewById(R.id.pNext).setOnClickListener(v -> {
dialog.dismiss(); dialog.dismiss();
final Handler handler = new Handler(); final Handler handler = new Handler();
Runnable runnable = () -> createMessage(mContext,Collections.singletonList(strings.GENERIC_EMPTY_STR), enums.etype.reported_success); Runnable runnable = () -> createMessage(mContext,Collections.singletonList(strings.GENERIC_EMPTY_STR), enums.eMessageEnums.M_RATE_SUCCESS);
handler.postDelayed(runnable, 1000); handler.postDelayed(runnable, 1000);
}); });
} }
@ -233,12 +238,12 @@ class messageManager
@SuppressLint("QueryPermissionsNeeded") @SuppressLint("QueryPermissionsNeeded")
private void rateApp() private void rateApp()
{ {
initializeDialog(R.layout.popup_rate_us, Gravity.CENTER, FLAG_DIM_BEHIND); initializeDialog(R.layout.popup_rate_us, Gravity.CENTER);
dialog.findViewById(R.id.pDismiss).setOnClickListener(v -> dialog.dismiss()); dialog.findViewById(R.id.pDismiss).setOnClickListener(v -> dialog.dismiss());
dialog.findViewById(R.id.pNext).setOnClickListener(v -> { dialog.findViewById(R.id.pNext).setOnClickListener(v -> {
RatingBar mRatingBar = dialog.findViewById(R.id.pRating); RatingBar mRatingBar = dialog.findViewById(R.id.pRating);
if(mRatingBar.getRating()>=3){ if(mRatingBar.getRating()>=3){
event.invokeObserver(null, enums.etype.app_rated); event.invokeObserver(null, enums.eMessageEnums.M_APP_RATED);
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.darkweb.genesissearchengine")); Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.darkweb.genesissearchengine"));
if(intent.resolveActivity(mContext.getPackageManager()) != null) if(intent.resolveActivity(mContext.getPackageManager()) != null)
{ {
@ -248,9 +253,9 @@ class messageManager
} }
dialog.dismiss(); dialog.dismiss();
}else if(mRatingBar.getRating()>0) { }else if(mRatingBar.getRating()>0) {
event.invokeObserver(null, enums.etype.app_rated); event.invokeObserver(null, enums.eMessageEnums.M_APP_RATED);
final Handler handler = new Handler(); final Handler handler = new Handler();
handler.postDelayed(() -> createMessage(mContext,Collections.singletonList(strings.GENERIC_EMPTY_STR), enums.etype.rate_failure), 1000); handler.postDelayed(() -> createMessage(mContext,Collections.singletonList(strings.GENERIC_EMPTY_STR), enums.eMessageEnums.M_RATE_FAILURE), 1000);
dialog.dismiss(); dialog.dismiss();
} }
}); });
@ -258,7 +263,7 @@ class messageManager
private void downloadFile() private void downloadFile()
{ {
initializeDialog(R.layout.popup_download_file, Gravity.BOTTOM, FLAG_DIM_BEHIND); initializeDialog(R.layout.popup_download_file, Gravity.BOTTOM);
((TextView)dialog.findViewById(R.id.pDescription)).setText((mContext.getString(R.string.ALERT_DOWNLOAD_MESSAGE) + data.get(0))); ((TextView)dialog.findViewById(R.id.pDescription)).setText((mContext.getString(R.string.ALERT_DOWNLOAD_MESSAGE) + data.get(0)));
dialog.findViewById(R.id.pDismiss).setOnClickListener(v -> dialog.dismiss()); dialog.findViewById(R.id.pDismiss).setOnClickListener(v -> dialog.dismiss());
} }
@ -275,23 +280,23 @@ class messageManager
size = 235; size = 235;
} }
initializeDialog(R.layout.popup_file_longpress, Gravity.CENTER, FLAG_DIM_BEHIND); initializeDialog(R.layout.popup_file_longpress, Gravity.CENTER);
((TextView)dialog.findViewById(R.id.pDescription)).setText((title + " | " + data.get(0).toString().substring(0,size)+"...")); ((TextView)dialog.findViewById(R.id.pDescription)).setText((title + " | " + data.get(0).toString().substring(0,size)+"..."));
dialog.findViewById(R.id.pDismiss).setOnClickListener(v -> dialog.dismiss()); dialog.findViewById(R.id.pDismiss).setOnClickListener(v -> dialog.dismiss());
dialog.findViewById(R.id.pOption1).setOnClickListener(v -> { dialog.findViewById(R.id.pOption1).setOnClickListener(v -> {
event.invokeObserver(Collections.singletonList(data.get(0)), enums.etype.download_file_manual); event.invokeObserver(Collections.singletonList(data.get(0)), enums.eMessageEnums.M_DOWNLOAD_FILE_MANUAL);
dialog.dismiss(); dialog.dismiss();
}); });
dialog.findViewById(R.id.pOption2).setOnClickListener(v -> { dialog.findViewById(R.id.pOption2).setOnClickListener(v -> {
event.invokeObserver(Collections.singletonList(data.get(0)), enums.etype.open_link_current_tab); event.invokeObserver(Collections.singletonList(data.get(0)), enums.eMessageEnums.M_OPEN_LINK_CURRENT_TAB);
dialog.dismiss(); dialog.dismiss();
}); });
dialog.findViewById(R.id.pOption3).setOnClickListener(v -> { dialog.findViewById(R.id.pOption3).setOnClickListener(v -> {
event.invokeObserver(Collections.singletonList(data.get(0)), enums.etype.copy_link); event.invokeObserver(Collections.singletonList(data.get(0)), enums.eMessageEnums.M_COPY_LINK);
dialog.dismiss(); dialog.dismiss();
}); });
dialog.findViewById(R.id.pOption3).setOnClickListener(v -> { dialog.findViewById(R.id.pOption3).setOnClickListener(v -> {
event.invokeObserver(Collections.singletonList(data.get(0)), enums.etype.copy_link); event.invokeObserver(Collections.singletonList(data.get(0)), enums.eMessageEnums.M_COPY_LINK);
dialog.dismiss(); dialog.dismiss();
}); });
} }
@ -305,19 +310,19 @@ class messageManager
size = 235; size = 235;
} }
initializeDialog(R.layout.popup_url_longpress, Gravity.CENTER, FLAG_DIM_BEHIND); initializeDialog(R.layout.popup_url_longpress, Gravity.CENTER);
((TextView)dialog.findViewById(R.id.pDescription)).setText((title + data.get(0).toString().substring(0,size)+"...")); ((TextView)dialog.findViewById(R.id.pDescription)).setText((title + data.get(0).toString().substring(0,size)+"..."));
dialog.findViewById(R.id.pDismiss).setOnClickListener(v -> dialog.dismiss()); dialog.findViewById(R.id.pDismiss).setOnClickListener(v -> dialog.dismiss());
dialog.findViewById(R.id.pOption1).setOnClickListener(v -> { dialog.findViewById(R.id.pOption1).setOnClickListener(v -> {
event.invokeObserver(Collections.singletonList(data.get(0)), enums.etype.open_link_new_tab); event.invokeObserver(Collections.singletonList(data.get(0)), enums.eMessageEnums.M_OPEN_LINK_NEW_TAB);
dialog.dismiss(); dialog.dismiss();
}); });
dialog.findViewById(R.id.pOption2).setOnClickListener(v -> { dialog.findViewById(R.id.pOption2).setOnClickListener(v -> {
event.invokeObserver(Collections.singletonList(data.get(0)), enums.etype.open_link_current_tab); event.invokeObserver(Collections.singletonList(data.get(0)), enums.eMessageEnums.M_OPEN_LINK_CURRENT_TAB);
dialog.dismiss(); dialog.dismiss();
}); });
dialog.findViewById(R.id.pOption3).setOnClickListener(v -> { dialog.findViewById(R.id.pOption3).setOnClickListener(v -> {
event.invokeObserver(Collections.singletonList(data.get(0)), enums.etype.copy_link); event.invokeObserver(Collections.singletonList(data.get(0)), enums.eMessageEnums.M_COPY_LINK);
dialog.dismiss(); dialog.dismiss();
}); });
} }
@ -350,49 +355,49 @@ class messageManager
mTitle = data.get(0).toString().substring(0,size)+"..."; mTitle = data.get(0).toString().substring(0,size)+"...";
} }
initializeDialog(R.layout.popup_download_full, Gravity.CENTER, FLAG_DIM_BEHIND); initializeDialog(R.layout.popup_download_full, Gravity.CENTER);
((TextView)dialog.findViewById(R.id.pHeader)).setText(mTitle); ((TextView)dialog.findViewById(R.id.pHeader)).setText(mTitle);
((TextView)dialog.findViewById(R.id.pDescription)).setText((data_local)); ((TextView)dialog.findViewById(R.id.pDescription)).setText((data_local));
dialog.findViewById(R.id.pDismiss).setOnClickListener(v -> dialog.dismiss()); dialog.findViewById(R.id.pDismiss).setOnClickListener(v -> dialog.dismiss());
dialog.findViewById(R.id.pOption1).setOnClickListener(v -> { dialog.findViewById(R.id.pOption1).setOnClickListener(v -> {
event.invokeObserver(Collections.singletonList(data.get(0)), enums.etype.open_link_new_tab); event.invokeObserver(Collections.singletonList(data.get(0)), enums.eMessageEnums.M_OPEN_LINK_NEW_TAB);
dialog.dismiss(); dialog.dismiss();
}); });
dialog.findViewById(R.id.pOption2).setOnClickListener(v -> { dialog.findViewById(R.id.pOption2).setOnClickListener(v -> {
event.invokeObserver(Collections.singletonList(data.get(0)), enums.etype.open_link_current_tab); event.invokeObserver(Collections.singletonList(data.get(0)), enums.eMessageEnums.M_OPEN_LINK_CURRENT_TAB);
dialog.dismiss(); dialog.dismiss();
}); });
dialog.findViewById(R.id.pOption3).setOnClickListener(v -> { dialog.findViewById(R.id.pOption3).setOnClickListener(v -> {
event.invokeObserver(Collections.singletonList(data.get(0)), enums.etype.copy_link); event.invokeObserver(Collections.singletonList(data.get(0)), enums.eMessageEnums.M_COPY_LINK);
dialog.dismiss(); dialog.dismiss();
}); });
dialog.findViewById(R.id.pOption3).setOnClickListener(v -> { dialog.findViewById(R.id.pOption3).setOnClickListener(v -> {
event.invokeObserver(Collections.singletonList(data.get(0)), enums.etype.copy_link); event.invokeObserver(Collections.singletonList(data.get(0)), enums.eMessageEnums.M_COPY_LINK);
dialog.dismiss(); dialog.dismiss();
}); });
dialog.findViewById(R.id.pOption3).setOnClickListener(v -> { dialog.findViewById(R.id.pOption3).setOnClickListener(v -> {
event.invokeObserver(Collections.singletonList(data.get(0)), enums.etype.copy_link); event.invokeObserver(Collections.singletonList(data.get(0)), enums.eMessageEnums.M_COPY_LINK);
dialog.dismiss(); dialog.dismiss();
}); });
dialog.findViewById(R.id.pOption3).setOnClickListener(v -> { dialog.findViewById(R.id.pOption3).setOnClickListener(v -> {
event.invokeObserver(Collections.singletonList(data.get(0)), enums.etype.copy_link); event.invokeObserver(Collections.singletonList(data.get(0)), enums.eMessageEnums.M_COPY_LINK);
dialog.dismiss(); dialog.dismiss();
}); });
dialog.findViewById(R.id.pOption3).setOnClickListener(v -> { dialog.findViewById(R.id.pOption3).setOnClickListener(v -> {
event.invokeObserver(Collections.singletonList(data.get(0)), enums.etype.copy_link); event.invokeObserver(Collections.singletonList(data.get(0)), enums.eMessageEnums.M_COPY_LINK);
dialog.dismiss(); dialog.dismiss();
}); });
} }
private void startingOrbotInfo() private void startingOrbotInfo()
{ {
initializeDialog(R.layout.popup_starting_orbot_info, Gravity.BOTTOM, FLAG_DIM_BEHIND); initializeDialog(R.layout.popup_starting_orbot_info, Gravity.BOTTOM);
dialog.findViewById(R.id.pDismiss).setOnClickListener(v -> dialog.dismiss()); dialog.findViewById(R.id.pDismiss).setOnClickListener(v -> dialog.dismiss());
} }
private void sendBridgeMail() private void sendBridgeMail()
{ {
initializeDialog(R.layout.popup_bridge_mail, Gravity.CENTER, FLAG_DIM_BEHIND); initializeDialog(R.layout.popup_bridge_mail, Gravity.CENTER);
dialog.findViewById(R.id.pDismiss).setOnClickListener(v -> dialog.dismiss()); dialog.findViewById(R.id.pDismiss).setOnClickListener(v -> dialog.dismiss());
dialog.findViewById(R.id.pNext).setOnClickListener(v -> { dialog.findViewById(R.id.pNext).setOnClickListener(v -> {
dialog.dismiss(); dialog.dismiss();
@ -402,7 +407,7 @@ class messageManager
helperMethod.sendBridgeEmail(mContext); helperMethod.sendBridgeEmail(mContext);
} }
catch (Exception ex){ catch (Exception ex){
createMessage(mContext,Collections.singletonList(mContext.getString(R.string.ALERT_NOT_SUPPORTED_MESSAGE)),enums.etype.on_not_support); createMessage(mContext,Collections.singletonList(mContext.getString(R.string.ALERT_NOT_SUPPORTED_MESSAGE)),enums.eMessageEnums.M_NOT_SUPPORTED);
} }
}; };
handler.postDelayed(runnable, 1000); handler.postDelayed(runnable, 1000);
@ -417,78 +422,78 @@ class messageManager
/*External Helper Methods*/ /*External Helper Methods*/
void createMessage(AppCompatActivity app_context, List<Object> data, enums.etype type) void createMessage(AppCompatActivity app_context, List<Object> data, enums.eMessageEnums type)
{ {
this.mContext = app_context; this.mContext = app_context;
this.data = data; this.data = data;
switch (type) switch (type)
{ {
case welcome: case M_WELCOME:
welcomeMessage(); welcomeMessage();
break; break;
case abi_error: case M_ABI_ERROR:
abiError(); abiError();
break; break;
case rate_failure: case M_RATE_FAILURE:
rateFailure(); rateFailure();
break; break;
case reported_success: case M_RATE_SUCCESS:
reportedSuccessfully(); reportedSuccessfully();
break; break;
case bookmark: case M_BOOKMARK:
bookmark(); bookmark();
break; break;
case clear_history: case M_CLEAR_HISTORY:
clearHistory(); clearHistory();
break; break;
case clear_bookmark: case M_CLEAR_BOOKMARK:
clearBookmark(); clearBookmark();
break; break;
case report_url: case M_REPORT_URL:
reportURL(); reportURL();
break; break;
case rate_app: case M_RATE_APP:
rateApp(); rateApp();
break; break;
case download_file: case M_DOWNLOAD_FILE:
downloadFile(); downloadFile();
break; break;
case start_orbot: case M_START_ORBOT:
startingOrbotInfo(); startingOrbotInfo();
break; break;
case download_file_long_press: case M_LONG_PRESS_DOWNLOAD:
downloadFileLongPress(); downloadFileLongPress();
break; break;
case on_long_press_url: case M_LONG_PRESS_URL:
openURLLongPress(); openURLLongPress();
break; break;
case on_long_press_with_link: case M_LONG_PRESS_WITH_LINK:
popupDownloadFull(); popupDownloadFull();
break; break;
case on_bridge_mail: case M_BRIDGE_MAIL:
sendBridgeMail(); sendBridgeMail();
break; break;
case on_not_support: case M_NOT_SUPPORTED:
notSupportMessage(); notSupportMessage();
break; break;
case data_cleared: case M_DATA_CLEARED:
dataClearedSuccessfully(); dataClearedSuccessfully();
break; break;
} }

View File

@ -3,8 +3,12 @@ package com.darkweb.genesissearchengine.pluginManager;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Build; import android.os.Build;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import org.mozilla.gecko.PrefsHelper;
import org.torproject.android.service.OrbotService;
import org.torproject.android.service.util.Prefs;
import org.torproject.android.service.wrapper.orbotLocalConstants;
import java.util.Arrays;
import com.darkweb.genesissearchengine.constants.*; import com.darkweb.genesissearchengine.constants.*;
import com.darkweb.genesissearchengine.dataManager.dataController; import com.darkweb.genesissearchengine.dataManager.dataController;
@ -12,13 +16,6 @@ import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.darkweb.genesissearchengine.helperManager.helperMethod; import com.darkweb.genesissearchengine.helperManager.helperMethod;
import org.mozilla.gecko.PrefsHelper;
import org.torproject.android.service.OrbotService;
import org.torproject.android.service.util.Prefs;
import org.torproject.android.service.wrapper.orbotLocalConstants;
import java.util.Arrays;
import static org.torproject.android.service.TorServiceConstants.ACTION_START; import static org.torproject.android.service.TorServiceConstants.ACTION_START;
class orbotManager class orbotManager

View File

@ -13,8 +13,6 @@ import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.dataManager.dataEnums; import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.helperManager.eventObserver; import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.darkweb.genesissearchengine.helperManager.helperMethod; import com.darkweb.genesissearchengine.helperManager.helperMethod;
//import org.torproject.android.service.wrapper.orbotLocalConstants;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
@ -63,7 +61,6 @@ public class pluginController
mAnalyticManager = new analyticManager(getAppContext(),new analyticCallback()); mAnalyticManager = new analyticManager(getAppContext(),new analyticCallback());
mFirebaseManager = new firebaseManager(getAppContext(),new firebaseCallback()); mFirebaseManager = new firebaseManager(getAppContext(),new firebaseCallback());
mMessageManager = new messageManager(new messageCallback()); mMessageManager = new messageManager(new messageCallback());
} }
public void initializeAllServices(AppCompatActivity context){ public void initializeAllServices(AppCompatActivity context){
@ -84,7 +81,7 @@ public class pluginController
/*---------------------------------------------- EXTERNAL REQUEST LISTENER-------------------------------------------------------*/ /*---------------------------------------------- EXTERNAL REQUEST LISTENER-------------------------------------------------------*/
/*Message Manager*/ /*Message Manager*/
public void MessageManagerHandler(AppCompatActivity app_context,List<Object> data,enums.etype type){ public void MessageManagerHandler(AppCompatActivity app_context,List<Object> data,enums.eMessageEnums type){
mMessageManager.createMessage(app_context,data,type); mMessageManager.createMessage(app_context,data,type);
} }
public void onResetMessage(){ public void onResetMessage(){
@ -169,15 +166,6 @@ public class pluginController
} }
} }
/*Fabric Manager*/
private class fabricCallback implements eventObserver.eventListener{
@Override
public Object invokeObserver(List<Object> data, Object event_type)
{
return null;
}
}
/*Firebase Manager*/ /*Firebase Manager*/
private class firebaseCallback implements eventObserver.eventListener{ private class firebaseCallback implements eventObserver.eventListener{
@Override @Override
@ -210,7 +198,7 @@ public class pluginController
mLangManager.setDefaultLanguage(new Locale(status.sSettingLanguage)); mLangManager.setDefaultLanguage(new Locale(status.sSettingLanguage));
} }
public void onCreate(Activity activity) { public void onCreate(Activity activity) {
if(activity==null || !activity.isDestroyed()){ if(activity==null && mLangManager!=null){
mLangManager.onCreate(activity); mLangManager.onCreate(activity);
} }
} }
@ -227,10 +215,10 @@ public class pluginController
{ {
mHomeController.onLoadURL(data.get(0).toString()); mHomeController.onLoadURL(data.get(0).toString());
} }
else if(event_type.equals(enums.etype.cancel_welcome)){ else if(event_type.equals(enums.eMessageEnums.M_CANCEL_WELCOME)){
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_IS_WELCOME_ENABLED,false)); dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_IS_WELCOME_ENABLED,false));
} }
else if(event_type.equals(enums.etype.ignore_abi)){ else if(event_type.equals(enums.eMessageEnums.M_IGNORE_ABI)){
//mHomeController.ignoreAbiError(); //mHomeController.ignoreAbiError();
} }
else if(event_type.equals(enums.etype.reload)){ else if(event_type.equals(enums.etype.reload)){
@ -239,21 +227,21 @@ public class pluginController
mHomeController.onReload(null); mHomeController.onReload(null);
} }
else { else {
mMessageManager.createMessage(mHomeController, Collections.singletonList(data.get(0).toString()),enums.etype.start_orbot); mMessageManager.createMessage(mHomeController, Collections.singletonList(data.get(0).toString()),enums.eMessageEnums.M_START_ORBOT);
} }
} }
else if(event_type.equals(enums.etype.clear_history)){ else if(event_type.equals(enums.eMessageEnums.M_CLEAR_HISTORY)){
dataController.getInstance().invokeHistory(dataEnums.eHistoryCommands.M_CLEAR_HISTORY ,null); dataController.getInstance().invokeHistory(dataEnums.eHistoryCommands.M_CLEAR_HISTORY ,null);
mContextManager.getHistoryController().onclearData(); mContextManager.getHistoryController().onclearData();
mHomeController.onClearSession(); mHomeController.onClearSession();
dataController.getInstance().invokeTab(dataEnums.eTabCommands.M_CLEAR_TAB, null); dataController.getInstance().invokeTab(dataEnums.eTabCommands.M_CLEAR_TAB, null);
mHomeController.initTab(false); mHomeController.initTab(false);
} }
else if(event_type.equals(enums.etype.clear_bookmark)){ else if(event_type.equals(enums.eMessageEnums.M_CLEAR_BOOKMARK)){
dataController.getInstance().invokeBookmark(dataEnums.eBookmarkCommands.M_CLEAR_BOOKMARK ,data); dataController.getInstance().invokeBookmark(dataEnums.eBookmarkCommands.M_CLEAR_BOOKMARK ,data);
mContextManager.getBookmarkController().onclearData(); mContextManager.getBookmarkController().onclearData();
} }
else if(event_type.equals(enums.etype.bookmark)){ else if(event_type.equals(enums.eMessageEnums.M_BOOKMARK)){
String [] dataParser = data.get(0).toString().split("split"); String [] dataParser = data.get(0).toString().split("split");
if(dataParser.length>1){ if(dataParser.length>1){
logEvent(strings.EVENT_URL_BOOKMARKED); logEvent(strings.EVENT_URL_BOOKMARKED);
@ -262,28 +250,28 @@ public class pluginController
dataController.getInstance().invokeBookmark(dataEnums.eBookmarkCommands.M_ADD_BOOKMARK ,Arrays.asList(dataParser[0],"")); dataController.getInstance().invokeBookmark(dataEnums.eBookmarkCommands.M_ADD_BOOKMARK ,Arrays.asList(dataParser[0],""));
} }
} }
else if(event_type.equals(enums.etype.app_rated)){ else if(event_type.equals(enums.eMessageEnums.M_APP_RATED)){
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.PROXY_IS_APP_RATED,true)); dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.PROXY_IS_APP_RATED,true));
} }
else if(event_type.equals(enums.etype.download_file)){ else if(event_type.equals(enums.eMessageEnums.M_DOWNLOAD_FILE)){
mHomeController.onDownloadFile(); mHomeController.onDownloadFile();
} }
else if(event_type.equals(enums.etype.download_file_manual)){ else if(event_type.equals(enums.eMessageEnums.M_DOWNLOAD_FILE_MANUAL)){
mHomeController.onManualDownload(data.get(0).toString()); mHomeController.onManualDownload(data.get(0).toString());
} }
else if(event_type.equals(enums.etype.connect_vpn)){ else if(event_type.equals(enums.eMessageEnums.M_CONNECT_VPN)){
//orbotLocalConstants.sIsTorInitialized = (boolean)data.get(0); //orbotLocalConstants.sIsTorInitialized = (boolean)data.get(0);
} }
else if(event_type.equals(enums.etype.open_link_new_tab)){ else if(event_type.equals(enums.eMessageEnums.M_OPEN_LINK_NEW_TAB)){
mHomeController.onOpenLinkNewTab(data.get(0).toString()); mHomeController.onOpenLinkNewTab(data.get(0).toString());
} }
else if(event_type.equals(enums.etype.open_link_current_tab)){ else if(event_type.equals(enums.eMessageEnums.M_OPEN_LINK_CURRENT_TAB)){
mHomeController.onLoadURL(data.get(0).toString()); mHomeController.onLoadURL(data.get(0).toString());
} }
else if(event_type.equals(enums.etype.copy_link)){ else if(event_type.equals(enums.eMessageEnums.M_COPY_LINK)){
helperMethod.copyURL(data.get(0).toString(),mContextManager.getHomeController()); helperMethod.copyURL(data.get(0).toString(),mContextManager.getHomeController());
} }
else if(event_type.equals(enums.etype.clear_tab)){ else if(event_type.equals(enums.eMessageEnums.M_CLEAR_TAB)){
dataController.getInstance().invokeTab(dataEnums.eTabCommands.M_CLEAR_TAB, null); dataController.getInstance().invokeTab(dataEnums.eTabCommands.M_CLEAR_TAB, null);
mHomeController.initTab(true); mHomeController.initTab(true);
activityContextManager.getInstance().getTabController().finish(); activityContextManager.getInstance().getTabController().finish();

View File

@ -0,0 +1,5 @@
package com.darkweb.genesissearchengine.pluginManager;
public class pluginEnums
{
}

View File

@ -1,16 +0,0 @@
package com.darkweb.genesissearchengine.securityManager;
public class securityController
{
private static final securityController ourInstance = new securityController();
public static securityController getInstance()
{
return ourInstance;
}
private securityController()
{
}
}

View File

@ -3,7 +3,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package com.darkweb.genesissearchengine.widget; package com.darkweb.genesissearchengine.widget.progressBar;
import android.animation.Animator; import android.animation.Animator;
import android.animation.ValueAnimator; import android.animation.ValueAnimator;

View File

@ -1,4 +1,4 @@
package com.darkweb.genesissearchengine.widget; package com.darkweb.genesissearchengine.widget.progressBar;
import android.content.res.Resources; import android.content.res.Resources;
import android.graphics.Canvas; import android.graphics.Canvas;

View File

@ -1,4 +1,4 @@
package com.darkweb.genesissearchengine.widget; package com.darkweb.genesissearchengine.widget.progressBar;
import android.animation.Animator; import android.animation.Animator;
import android.animation.ValueAnimator; import android.animation.ValueAnimator;

View File

@ -6,7 +6,7 @@
<shape <shape
android:shape="rectangle" android:padding="10dp" > android:shape="rectangle" android:padding="10dp" >
<solid android:color="@color/c_edittext_background"/> <solid android:color="@color/c_edittext_background"/>
<corners android:radius="5dp"/> <corners android:radius="7dp"/>
</shape> </shape>
</item> </item>
<item android:state_pressed="false" <item android:state_pressed="false"
@ -14,7 +14,7 @@
<shape <shape
android:shape="rectangle" android:padding="10dp"> android:shape="rectangle" android:padding="10dp">
<solid android:color="@color/c_edittext_background"/> <solid android:color="@color/c_edittext_background"/>
<corners android:radius="5dp"/> <corners android:radius="7dp"/>
</shape> </shape>
</item> </item>
</selector> </selector>

View File

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M12,15c1.66,0 2.99,-1.34 2.99,-3L15,6c0,-1.66 -1.34,-3 -3,-3S9,4.34 9,6v6c0,1.66 1.34,3 3,3zM17.3,12c0,3 -2.54,5.1 -5.3,5.1S6.7,15 6.7,12L5,12c0,3.42 2.72,6.23 6,6.72L11,22h2v-3.28c3.28,-0.48 6,-3.3 6,-6.72h-1.7z"/>
</vector>

View File

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M18,8h-1L17,6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6v2L6,8c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,10c0,-1.1 -0.9,-2 -2,-2zM12,17c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM15.1,8L8.9,8L8.9,6c0,-1.71 1.39,-3.1 3.1,-3.1 1.71,0 3.1,1.39 3.1,3.1v2z"/>
</vector>

View File

@ -0,0 +1,8 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path android:fillColor="@android:color/white" android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/>
</vector>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 720 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 831 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 344 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 730 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -7,14 +7,15 @@
android:layout_height="match_parent"> android:layout_height="match_parent">
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:id="@+id/pMainLayout" android:id="@+id/pMainLayout"
android:layout_width="360dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="25dp"
android:background="@xml/hox_rounded_corner" android:background="@xml/hox_rounded_corner"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"> app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView <TextView
android:id="@+id/pHeader" android:id="@+id/pHeader"
@ -34,16 +35,14 @@
android:id="@+id/pDescription" android:id="@+id/pDescription"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="0dp"
android:layout_marginTop="5dp" android:layout_marginTop="5dp"
android:layout_marginEnd="5dp" android:paddingEnd="10dp"
android:paddingEnd="15dp"
android:textColor="@color/c_alert_text"
android:alpha="0.6"
android:text="@string/ALERT_DATA_CLEARED_INFO" android:text="@string/ALERT_DATA_CLEARED_INFO"
android:textAlignment="textStart" android:textAlignment="textStart"
android:paddingStart="15dp" android:paddingStart="15dp"
android:textColor="@color/c_alert_text"
android:textSize="13sp" android:textSize="13sp"
android:alpha="0.6"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/pHeader" app:layout_constraintTop_toBottomOf="@+id/pHeader"
@ -53,33 +52,32 @@
android:id="@+id/pDivider" android:id="@+id/pDivider"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:layout_marginTop="30dp" android:layout_marginTop="25dp"
android:background="@color/c_view_divier_background" android:background="@color/c_view_divier_background"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/pDescription" /> app:layout_constraintTop_toBottomOf="@+id/pDescription" />
<LinearLayout <LinearLayout
android:id="@+id/pNavigationContainer"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="50dp" android:layout_height="50dp"
android:orientation="horizontal" android:id="@+id/pNavigationContainer"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/pDivider"> app:layout_constraintTop_toBottomOf="@+id/pDivider"
android:orientation="horizontal">
<Button <Button
android:id="@+id/pDismiss" android:id="@+id/pDismiss"
android:textColor="@color/c_button_text_v1"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1"
android:background="@xml/ax_ripple_default_round_right"
android:padding="0dp" android:padding="0dp"
android:text="@string/ALERT_DISMISS" android:background="@xml/ax_ripple_default_round_bottom"
android:textAllCaps="false"
android:textColor="@color/c_button_text_v1"
android:textSize="15sp" android:textSize="15sp"
android:textStyle="bold" /> android:textAllCaps="false"
android:layout_weight="1"
android:textStyle="bold"
android:text="@string/ALERT_DISMISS" />
</LinearLayout> </LinearLayout>

View File

@ -1,4 +1,5 @@
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:focusableInTouchMode="true" android:focusableInTouchMode="true"
@ -58,42 +59,23 @@
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="1"/> android:layout_weight="1"/>
<ImageButton <ImageView
android:layout_width="45dp" android:layout_width="47dp"
android:layout_height="45dp" android:layout_height="match_parent"
android:layout_marginStart="0dp" android:padding="0dp"
android:scaleX="1.08" android:layout_marginEnd="0dp"
android:scaleY="1.08" android:layout_gravity="center_vertical"
android:layout_marginTop="3dp" android:layout_marginStart="6dp"
android:layout_marginEnd="7dp" android:paddingStart="3dp"
android:background="@xml/gx_ripple_default_round" android:onClick="onOpenInfo"
android:background="@xml/gx_ripple_gray"
android:contentDescription="@string/GENERAL_TODO" android:contentDescription="@string/GENERAL_TODO"
android:src="@xml/ic_baseline_info" android:src="@drawable/info"
android:tint="@color/c_navigation_light" /> app:tint="@color/c_icon_tint_light" />
</LinearLayout> </LinearLayout>
<!-- Title Header --> <!-- Title Header -->
<LinearLayout
android:layout_width="match_parent"
android:background="@color/c_background"
android:focusable="true"
android:layout_marginBottom="0dp"
android:orientation="horizontal"
android:layout_height="40dp">
<TextView
android:textColor="@color/c_text_setting_heading"
android:textSize="16sp"
android:layout_width="0dp"
android:textStyle="bold"
android:layout_height="wrap_content"
android:layout_weight="40"
android:layout_marginTop="10dp"
android:layout_marginStart="20dp"
android:text="@string/BRIDGE_SETTING"
/>
</LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:background="@color/clear_alpha" android:background="@color/clear_alpha"
@ -101,12 +83,13 @@
android:focusable="true" android:focusable="true"
android:layout_marginEnd = "20dp" android:layout_marginEnd = "20dp"
android:orientation="horizontal" android:orientation="horizontal"
android:layout_marginTop="20dp"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<TextView <TextView
android:textSize="14sp" android:textSize="14sp"
android:layout_width="0dp" android:layout_width="0dp"
android:textColor="@color/c_text_v2" android:textColor="@color/c_text_v2"
android:paddingBottom="30dp" android:paddingBottom="10dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="40" android:layout_weight="40"
android:background="@color/clear_alpha" android:background="@color/clear_alpha"
@ -119,14 +102,13 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_marginEnd = "20dp" android:layout_marginEnd = "20dp"
android:background="@color/clear_alpha" android:background="@color/clear_alpha"
android:layout_marginTop="8dp" android:layout_marginTop="10dp"
android:focusable="true" android:focusable="true"
android:layout_marginBottom="5dp" android:orientation="vertical"
android:orientation="horizontal"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<TextView <TextView
android:textSize="14sp" android:textSize="14sp"
android:layout_width="0dp" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="40" android:layout_weight="40"
android:textColor="@color/c_text_setting_heading" android:textColor="@color/c_text_setting_heading"
@ -134,6 +116,17 @@
android:textStyle="bold" android:textStyle="bold"
android:text="@string/BRIDGE_AUTO" android:text="@string/BRIDGE_AUTO"
/> />
<TextView
android:textSize="14sp"
android:layout_width="wrap_content"
android:textColor="@color/c_text_v2"
android:layout_height="wrap_content"
android:layout_weight="40"
android:background="@color/clear_alpha"
android:layout_marginStart="20dp"
android:text="@string/BRIDGE_AUTO_INFO"
/>
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
@ -150,75 +143,207 @@
tools:ignore="RtlSymmetry"> tools:ignore="RtlSymmetry">
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/pTopPanel"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_marginStart="0dp" android:paddingStart="4dp"
android:layout_marginEnd = "00dp" android:id="@+id/pTopPanel"
android:paddingEnd="5dp" android:layout_marginTop="0dp"
android:focusable="true"
android:layout_marginBottom="0dp"
android:layout_marginTop="-8dp"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:orientation="vertical" android:orientation="vertical"
android:layout_height="wrap_content" android:layout_height="wrap_content"
tools:ignore="RtlSymmetry"> tools:ignore="RtlSymmetry">
<RadioGroup <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:background="@xml/sx_border_left"
android:layout_marginStart="15dp"
android:paddingStart="4dp"
android:layout_marginTop="15dp"
android:orientation="vertical" android:orientation="vertical"
android:id="@+id/pProxyGroup" android:layout_height="wrap_content"
android:paddingStart="5dp" tools:ignore="RtlSymmetry">
android:layout_height="match_parent" >
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:background="@color/c_view_divier_background" /> android:layout_marginTop="-1dp"
android:elevation="2dp"
android:background="@color/white"/>
<LinearLayout
android:id="@+id/pOption1"
android:layout_width="match_parent"
android:layout_height="55dp"
android:background="@xml/gx_ripple_gray"
android:clickable="true"
android:paddingStart="0dp"
android:onClick="onObfsChecked"
android:orientation="horizontal"
android:weightSum="8"
android:focusable="true"
tools:ignore="RtlSymmetry">
<LinearLayout
android:layout_width="0dp"
android:layout_weight="7"
android:layout_height="55dp"
android:orientation="vertical">
<Button
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_marginTop="18dp"
android:alpha="1"
android:paddingStart="15dp"
android:background="@android:color/transparent"
android:clickable="false"
android:padding="0dp"
android:text="@string/BRIDGE_OBFS4"
android:textAlignment="textStart"
android:textAllCaps="false"
android:textColor="@color/c_text_v1"
android:textSize="15sp"
tools:ignore="RtlSymmetry" />
</LinearLayout>
<RadioButton <RadioButton
android:id="@+id/pBridgeObfs" android:id="@+id/pBridgeObfs"
android:layout_width="match_parent" android:layout_width="0dp"
android:layout_height="match_parent"
android:clickable="false"
android:layout_weight="1"
android:layout_marginEnd="10dp"
android:layout_marginStart="50dp"
android:checked="true" android:checked="true"
android:textSize="14sp"
android:paddingTop="15dp"
android:buttonTint="@color/c_radio_tint" android:buttonTint="@color/c_radio_tint"
android:paddingBottom="15dp" android:background="@android:color/transparent"
android:onClick="onObfsChecked" android:src="@xml/ic_arrow_right"
android:layout_height="wrap_content" android:contentDescription="@string/GENERAL_TODO" />
android:textColor="@color/c_text_v1"
android:text="@string/BRIDGE_OBFS4" /> </LinearLayout>
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:background="@color/c_view_divier_background" /> android:background="@color/c_view_divier_background_inner"/>
<RadioButton
android:id="@+id/pBridgeChina" <LinearLayout
android:id="@+id/pOption2"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="55dp"
android:background="@xml/gx_ripple_gray"
android:clickable="true"
android:onClick="onMeekChecked" android:onClick="onMeekChecked"
android:checked="false" android:orientation="horizontal"
android:textSize="14sp" android:weightSum="8"
android:paddingTop="15dp" android:focusable="true"
android:paddingBottom="15dp" tools:ignore="RtlSymmetry">
android:layout_height="wrap_content"
android:buttonTint="@color/c_radio_tint" <LinearLayout
android:layout_width="0dp"
android:layout_weight="7"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginStart="0dp"
android:alpha="1"
android:background="@android:color/transparent"
android:clickable="false"
android:text="@string/BRIDGE_MEEK"
android:padding="0dp"
android:paddingStart="15dp"
android:textAlignment="textStart"
android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
android:text="@string/BRIDGE_MEEK" /> android:textSize="15sp"
tools:ignore="RtlSymmetry" />
</LinearLayout>
<RadioButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginEnd="10dp"
android:id="@+id/pBridgeChina"
android:layout_weight="1"
android:background="@android:color/transparent"
android:layout_marginStart="50dp"
android:src="@xml/ic_arrow_right"
android:buttonTint="@color/c_radio_tint"
android:clickable="false"
android:contentDescription="@string/GENERAL_TODO" />
</LinearLayout>
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:background="@color/c_view_divier_background" /> android:background="@color/c_view_divier_background_inner"/>
<RadioButton
android:id="@+id/pBridgeCustom" <LinearLayout
android:id="@+id/pOption3"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="55dp"
android:background="@xml/gx_ripple_gray"
android:clickable="true"
android:onClick="onCustomChecked" android:onClick="onCustomChecked"
android:checked="false" android:orientation="horizontal"
android:textSize="14sp" android:weightSum="8"
android:focusable="true"
tools:ignore="RtlSymmetry">
<LinearLayout
android:layout_width="0dp"
android:layout_weight="7"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginBottom="5dp"
android:layout_marginStart="0dp"
android:alpha="1"
android:background="@android:color/transparent"
android:clickable="false"
android:text="@string/BRIDGE_MANUAL"
android:padding="0dp"
android:paddingStart="15dp"
android:textAlignment="textStart"
android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
android:paddingTop="15dp" android:textSize="15sp"
android:paddingBottom="15dp" tools:ignore="RtlSymmetry" />
android:layout_height="wrap_content"
</LinearLayout>
<RadioButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginEnd="10dp"
android:id="@+id/pBridgeCustom"
android:layout_weight="1"
android:background="@android:color/transparent"
android:layout_marginStart="50dp"
android:src="@xml/ic_arrow_right"
android:buttonTint="@color/c_radio_tint" android:buttonTint="@color/c_radio_tint"
android:text="@string/BRIDGE_MANUAL" /> android:clickable="false"
</RadioGroup> android:contentDescription="@string/GENERAL_TODO" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:elevation="4dp"
android:background="@color/c_view_divier_background_inner"/>
</LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/pBottomPanel" android:id="@+id/pBottomPanel"
@ -229,6 +354,7 @@
android:onClick="onCustomChecked" android:onClick="onCustomChecked"
android:paddingTop="10dp" android:paddingTop="10dp"
android:paddingBottom="10dp" android:paddingBottom="10dp"
android:layout_marginEnd="10dp"
android:orientation="horizontal" android:orientation="horizontal"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:focusableInTouchMode="true" android:focusableInTouchMode="true"
@ -274,12 +400,6 @@
android:contentDescription="@string/GENERAL_TODO"> android:contentDescription="@string/GENERAL_TODO">
</ImageView> </ImageView>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginBottom="10dp"
android:background="@color/c_view_divier_background" />
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</ScrollView> </ScrollView>

View File

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/c_background"
tools:context="com.darkweb.genesissearchengine.appManager.helpManager.helpController">
<!-- Title Header -->
<LinearLayout
android:id="@+id/pHeaderContainerTop"
android:layout_width="match_parent"
android:layout_height="48dp"
android:elevation="8dp"
android:background="@color/c_background"
android:clickable="true"
android:focusable="true"
android:orientation="horizontal"
android:paddingStart="5dp"
android:paddingEnd="7dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="RtlSymmetry">
<ImageButton
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_marginStart="0dp"
android:layout_marginTop="1dp"
android:background="@xml/gx_ripple_default_round"
android:contentDescription="@string/GENERAL_TODO"
android:onClick="onClose"
android:src="@xml/ic_arrow_back"
android:tint="@color/c_navigation_tint" />
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginTop="-3dp"
android:onClick="onClose"
android:layout_weight="40"
android:gravity="center_vertical|start"
android:text="@string/HELP_TITLE"
android:textColor="@color/c_text_v1"
android:textSize="17sp"
android:textStyle="bold" />
<View
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1"/>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -18,7 +18,6 @@
android:focusable="true" android:focusable="true"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingStart="5dp" android:paddingStart="5dp"
android:paddingEnd="7dp"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
@ -36,11 +35,12 @@
android:tint="@color/c_navigation_tint" /> android:tint="@color/c_navigation_tint" />
<TextView <TextView
android:layout_width="0dp" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginTop="-3dp" android:paddingLeft="10dp"
android:paddingRight="10dp"
android:onClick="onClose" android:onClick="onClose"
android:layout_weight="40" android:layout_marginTop="-3dp"
android:gravity="center_vertical|start" android:gravity="center_vertical|start"
android:text="@string/LANGUAGE_TITLE" android:text="@string/LANGUAGE_TITLE"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
@ -52,17 +52,20 @@
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="1"/> android:layout_weight="1"/>
<ImageButton
android:layout_width="45dp" <ImageView
android:layout_height="45dp" android:layout_width="47dp"
android:layout_marginStart="0dp" android:layout_height="match_parent"
android:scaleX="1.08" android:padding="0dp"
android:scaleY="1.08" android:layout_marginEnd="0dp"
android:layout_marginTop="1dp" android:layout_gravity="center_vertical"
android:background="@xml/gx_ripple_default_round" android:layout_marginStart="6dp"
android:paddingStart="3dp"
android:onClick="onOpenInfo"
android:background="@xml/gx_ripple_gray"
android:contentDescription="@string/GENERAL_TODO" android:contentDescription="@string/GENERAL_TODO"
android:src="@xml/ic_baseline_info" android:src="@drawable/info"
android:tint="@color/c_navigation_light" /> app:tint="@color/c_icon_tint_light" />
</LinearLayout> </LinearLayout>

View File

@ -51,18 +51,19 @@
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="1"/> android:layout_weight="1"/>
<ImageButton <ImageView
android:layout_width="45dp" android:layout_width="47dp"
android:layout_height="45dp" android:layout_height="match_parent"
android:layout_marginStart="0dp" android:padding="0dp"
android:scaleX="1.08" android:layout_marginEnd="0dp"
android:scaleY="1.08" android:layout_gravity="center_vertical"
android:layout_marginTop="3dp" android:layout_marginStart="6dp"
android:layout_marginEnd="7dp" android:paddingStart="3dp"
android:background="@xml/gx_ripple_default_round" android:onClick="onOpenInfo"
android:background="@xml/gx_ripple_gray"
android:contentDescription="@string/GENERAL_TODO" android:contentDescription="@string/GENERAL_TODO"
android:src="@xml/ic_baseline_info" android:src="@drawable/info"
android:tint="@color/c_navigation_light" /> app:tint="@color/c_icon_tint_light" />
</LinearLayout> </LinearLayout>
@ -127,6 +128,7 @@
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:layout_marginStart="15dp"
android:background="@color/c_view_divier_background"/> android:background="@color/c_view_divier_background"/>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
@ -160,10 +162,13 @@
android:theme="@style/SCBSwitch" android:theme="@style/SCBSwitch"
tools:ignore="UseSwitchCompatOrMaterialXml" /> tools:ignore="UseSwitchCompatOrMaterialXml" />
</LinearLayout> </LinearLayout>
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:layout_marginStart="16dp"
android:background="@color/c_view_divier_background"/> android:background="@color/c_view_divier_background"/>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:background="@xml/gx_ripple_blue" android:background="@xml/gx_ripple_blue"
@ -198,6 +203,7 @@
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_marginStart="15dp"
android:layout_height="1dp" android:layout_height="1dp"
android:background="@color/c_view_divier_background"/> android:background="@color/c_view_divier_background"/>
@ -258,6 +264,7 @@
android:layout_marginTop="-5dp" android:layout_marginTop="-5dp"
android:clickable="false" android:clickable="false"
android:scaleType="fitCenter" android:scaleType="fitCenter"
android:padding="2dp"
android:src="@xml/ic_arrow_right" android:src="@xml/ic_arrow_right"
android:layout_marginEnd="12dp" android:layout_marginEnd="12dp"
android:contentDescription="@string/GENERAL_TODO" android:contentDescription="@string/GENERAL_TODO"
@ -269,7 +276,7 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_marginEnd = "10dp" android:layout_marginEnd = "10dp"
android:layout_marginStart = "10dp" android:layout_marginStart = "15dp"
android:paddingTop="5dp" android:paddingTop="5dp"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:layout_marginBottom="15dp" android:layout_marginBottom="15dp"

View File

@ -16,6 +16,7 @@
android:id="@+id/appbar" android:id="@+id/appbar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:translationZ="10dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<FrameLayout <FrameLayout
@ -23,9 +24,12 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="#00000000" android:background="#00000000"
app:layout_scrollFlags="scroll|enterAlways|snap|exitUntilCollapsed" android:clipToPadding="false"
android:layout_marginBottom="-1dp"
app:layout_scrollFlags="scroll|enterAlways|snap"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
android:animateLayoutChanges="true"
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
<LinearLayout <LinearLayout
@ -33,11 +37,11 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="60dp" android:layout_height="60dp"
android:background="@xml/ic_secondary_gradinet" android:background="@xml/ic_secondary_gradinet"
android:elevation="7dp"
android:gravity="left" android:gravity="left"
android:elevation="4dp"
android:orientation="vertical" android:orientation="vertical"
android:paddingBottom="1dp"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
android:animateLayoutChanges="true"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
tools:ignore="RtlHardcoded,UselessParent"> tools:ignore="RtlHardcoded,UselessParent">
@ -45,21 +49,32 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:elevation="7dp"
android:gravity="left" android:gravity="left"
android:orientation="horizontal" android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
android:animateLayoutChanges="true"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
tools:ignore="RtlHardcoded,UselessParent"> tools:ignore="RtlHardcoded,UselessParent">
<ImageView
android:layout_width="20dp"
android:src="@xml/ic_baseline_lock"
android:layout_height="20dp"
android:layout_gravity="center_vertical"
android:layout_marginStart="21dp"
android:translationZ="10dp"
android:contentDescription="@string/GENERAL_TODO"
app:tint="@color/c_lock_tint" />
<AutoCompleteTextView <AutoCompleteTextView
android:id="@+id/pSearchInput" android:id="@+id/pSearchInput"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginStart="10dp" android:layout_marginStart="-31dp"
android:animateLayoutChanges="true"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:layout_marginEnd="0dp" android:layout_marginEnd="18dp"
android:layout_marginBottom="8dp" android:layout_marginBottom="8dp"
android:layout_weight="1" android:layout_weight="1"
android:background="@xml/gx_generic_input" android:background="@xml/gx_generic_input"
@ -69,8 +84,8 @@
android:importantForAutofill="no" android:importantForAutofill="no"
android:inputType="textNoSuggestions" android:inputType="textNoSuggestions"
android:maxLines="1" android:maxLines="1"
android:paddingLeft="15dp" android:paddingLeft="38dp"
android:paddingRight="15dp" android:paddingRight="40dp"
android:popupElevation="5dp" android:popupElevation="5dp"
android:selectAllOnFocus="true" android:selectAllOnFocus="true"
android:text="@string/GENERAL_HOME_URL" android:text="@string/GENERAL_HOME_URL"
@ -79,10 +94,30 @@
android:textColorHint="@color/c_text_v1" android:textColorHint="@color/c_text_v1"
android:textCursorDrawable="@xml/gx_search_cursor_state" android:textCursorDrawable="@xml/gx_search_cursor_state"
android:textSize="16sp" android:textSize="16sp"
tools:targetApi="o" /> tools:targetApi="o" >
</AutoCompleteTextView>
<ImageButton
android:id="@+id/pVoiceInput"
android:layout_width="36dp"
android:layout_height="36dp"
android:scaleX="1.1"
android:scaleY="1.1"
android:onClick="onVoiceClick"
android:layout_marginTop="-1dp"
android:layout_marginEnd="15dp"
android:layout_marginStart="-60dp"
android:visibility="gone"
android:src="@xml/ic_baseline_keyboard_voice"
android:tint="@color/c_navigation_tint"
android:background="@color/clear_alpha"
android:layout_gravity="center_vertical"
android:contentDescription="@string/GENERAL_TODO" />
<LinearLayout <LinearLayout
android:layout_width="40dp" android:layout_width="40dp"
android:layout_marginStart="-10dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:gravity="left" android:gravity="left"
android:onClick="onOpenTabViewBoundary" android:onClick="onOpenTabViewBoundary"
@ -93,11 +128,12 @@
android:layout_width="22dp" android:layout_width="22dp"
android:layout_height="22dp" android:layout_height="22dp"
android:layout_marginStart="12dp" android:layout_marginStart="12dp"
android:layout_marginTop="17dp" android:layout_gravity="center_vertical"
android:layout_marginEnd="13dp" android:layout_marginEnd="13dp"
android:layout_marginBottom="0dp" android:layout_marginBottom="0dp"
android:background="@xml/gx_generic_tab_button" android:background="@xml/gx_generic_tab_button"
android:clickable="false" android:clickable="false"
android:layout_marginTop="-1dp"
android:contentDescription="@string/GENERAL_TODO" android:contentDescription="@string/GENERAL_TODO"
android:scaleType="fitCenter" android:scaleType="fitCenter"
android:text="@string/HOME_TAB_TEXT" android:text="@string/HOME_TAB_TEXT"
@ -107,7 +143,7 @@
</LinearLayout> </LinearLayout>
<ImageButton <ImageButton
android:id="@+id/menu" android:id="@+id/pMenu"
android:layout_width="35dp" android:layout_width="35dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="-4dp" android:layout_marginTop="-4dp"
@ -137,29 +173,31 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_gravity="fill_vertical" android:layout_gravity="fill_vertical"
android:layout_marginTop="0dp"
android:fillViewport="true" android:fillViewport="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior"> app:layout_behavior="@string/appbar_scrolling_view_behavior">
<FrameLayout <FrameLayout
android:id="@+id/pWebLayoutView" android:id="@+id/pWebLayoutView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="0dp"
android:background="@color/c_background" android:background="@color/c_background"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/pTopLayout"> app:layout_constraintTop_toBottomOf="@+id/pTopLayout">
<com.darkweb.genesissearchengine.widget.AnimatedProgressBar <com.darkweb.genesissearchengine.widget.progressBar.AnimatedProgressBar
android:id="@+id/progressBar" android:id="@+id/progressBar"
style="@style/Base.Widget.AppCompat.ProgressBar.Horizontal" style="@style/Base.Widget.AppCompat.ProgressBar.Horizontal"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="5dp" android:layout_height="2.5dp"
android:alpha="0" android:alpha="0"
android:max="10000" android:max="10000"
android:layout_marginTop="-1dp" android:background="@color/clear_alpha"
android:layout_marginTop="0dp"
android:progress="0" android:progress="0"
android:elevation="7dp"
android:progressDrawable="@xml/hox_photon_progress" android:progressDrawable="@xml/hox_photon_progress"
android:scaleY="0.7" android:scaleY="1"
app:shiftDuration="@integer/progress_shift_duration" app:shiftDuration="@integer/progress_shift_duration"
app:wrapShiftDrawable="true" app:wrapShiftDrawable="true"
tools:progress="0" /> tools:progress="0" />
@ -168,7 +206,7 @@
android:id="@+id/pWebView" android:id="@+id/pWebView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="0dp" android:layout_marginTop="2dp"
android:alpha="1" android:alpha="1"
android:background="@color/c_background" android:background="@color/c_background"
tools:layout_editor_absoluteX="8dp" tools:layout_editor_absoluteX="8dp"

View File

@ -59,18 +59,20 @@
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="1"/> android:layout_weight="1"/>
<ImageButton <ImageView
android:layout_width="45dp" android:layout_width="47dp"
android:layout_height="45dp" android:layout_height="match_parent"
android:layout_marginStart="0dp" android:padding="0dp"
android:scaleX="1.08" android:layout_marginEnd="0dp"
android:layout_marginEnd="7dp" android:layout_gravity="center_vertical"
android:scaleY="1.08" android:layout_marginStart="6dp"
android:layout_marginTop="1dp" android:paddingStart="3dp"
android:background="@xml/gx_ripple_default_round" android:onClick="onOpenInfo"
android:background="@xml/gx_ripple_gray"
android:contentDescription="@string/GENERAL_TODO" android:contentDescription="@string/GENERAL_TODO"
android:src="@xml/ic_baseline_info" android:src="@drawable/info"
android:tint="@color/c_navigation_light" /> app:tint="@color/c_icon_tint_light" />
</LinearLayout> </LinearLayout>
<!-- Title Header --> <!-- Title Header -->
@ -86,7 +88,8 @@
<ImageView <ImageView
android:layout_weight="1" android:layout_weight="1"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="10dp" android:padding="10dp"
android:layout_marginStart="5dp" android:layout_marginStart="5dp"
android:layout_marginEnd="5dp" android:layout_marginEnd="5dp"
@ -109,17 +112,6 @@
android:textSize="15sp" android:textSize="15sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
<ImageButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_marginEnd="4.5dp"
android:clickable="false"
android:background="@android:color/transparent"
android:contentDescription="@string/GENERAL_TODO"
android:tint="@color/c_navigation_tint"
android:src="@xml/ic_arrow_right" />
</LinearLayout> </LinearLayout>
<View <View
@ -138,7 +130,8 @@
<ImageView <ImageView
android:layout_weight="1" android:layout_weight="1"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="10dp" android:padding="10dp"
android:layout_marginStart="5dp" android:layout_marginStart="5dp"
android:layout_marginEnd="5dp" android:layout_marginEnd="5dp"
@ -179,7 +172,7 @@
android:text="@string/SETTING_GENERAL_INFO" android:text="@string/SETTING_GENERAL_INFO"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -214,7 +207,8 @@
<ImageView <ImageView
android:layout_weight="1" android:layout_weight="1"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="10dp" android:padding="10dp"
android:layout_marginStart="5dp" android:layout_marginStart="5dp"
android:layout_marginEnd="5dp" android:layout_marginEnd="5dp"
@ -255,7 +249,7 @@
android:text="@string/SETTING_SEARCH_INFO" android:text="@string/SETTING_SEARCH_INFO"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -290,7 +284,8 @@
<ImageView <ImageView
android:layout_weight="1" android:layout_weight="1"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="10dp" android:padding="10dp"
app:tint="@color/c_icon_tint" app:tint="@color/c_icon_tint"
android:layout_marginStart="5dp" android:layout_marginStart="5dp"
@ -331,7 +326,7 @@
android:text="@string/SETTING_PRIVACY_INFO" android:text="@string/SETTING_PRIVACY_INFO"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -366,7 +361,8 @@
<ImageView <ImageView
android:layout_weight="1" android:layout_weight="1"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
app:tint="@color/c_icon_tint" app:tint="@color/c_icon_tint"
android:padding="10dp" android:padding="10dp"
android:layout_marginStart="5dp" android:layout_marginStart="5dp"
@ -405,7 +401,7 @@
android:text="@string/SETTING_NOTIFICATION_INFO" android:text="@string/SETTING_NOTIFICATION_INFO"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -440,7 +436,8 @@
<ImageView <ImageView
android:layout_weight="1" android:layout_weight="1"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="10dp" android:padding="10dp"
android:layout_marginStart="5dp" android:layout_marginStart="5dp"
android:layout_marginEnd="5dp" android:layout_marginEnd="5dp"
@ -480,7 +477,7 @@
android:text="@string/SETTING_ACCESSIBILITY_INFO" android:text="@string/SETTING_ACCESSIBILITY_INFO"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -515,7 +512,8 @@
<ImageView <ImageView
android:layout_weight="1" android:layout_weight="1"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="10dp" android:padding="10dp"
app:tint="@color/c_icon_tint" app:tint="@color/c_icon_tint"
android:layout_marginStart="5dp" android:layout_marginStart="5dp"
@ -555,7 +553,7 @@
android:text="@string/SETTING_CLEAR_INFO" android:text="@string/SETTING_CLEAR_INFO"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -591,7 +589,8 @@
android:layout_weight="1" android:layout_weight="1"
android:layout_width="0dp" android:layout_width="0dp"
app:tint="@color/c_icon_tint" app:tint="@color/c_icon_tint"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="10dp" android:padding="10dp"
android:layout_marginStart="5dp" android:layout_marginStart="5dp"
android:layout_marginEnd="5dp" android:layout_marginEnd="5dp"
@ -630,7 +629,7 @@
android:text="@string/SETTING_ADVANCE_INFO" android:text="@string/SETTING_ADVANCE_INFO"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>

View File

@ -1,4 +1,5 @@
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
@ -56,47 +57,40 @@
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="1"/> android:layout_weight="1"/>
<ImageButton <ImageView
android:layout_width="45dp" android:layout_width="47dp"
android:layout_height="45dp" android:layout_height="match_parent"
android:layout_marginStart="0dp" android:padding="0dp"
android:scaleX="1.08" android:layout_marginEnd="0dp"
android:scaleY="1.08" android:layout_gravity="center_vertical"
android:layout_marginTop="1dp" android:layout_marginStart="6dp"
android:layout_marginEnd="7dp" android:paddingStart="3dp"
android:background="@xml/gx_ripple_default_round" android:onClick="onOpenInfo"
android:background="@xml/gx_ripple_gray"
android:contentDescription="@string/GENERAL_TODO" android:contentDescription="@string/GENERAL_TODO"
android:src="@xml/ic_baseline_info" android:src="@drawable/info"
android:tint="@color/c_navigation_light" /> app:tint="@color/c_icon_tint_light" />
</LinearLayout> </LinearLayout>
<!-- Title Header --> <!-- Title Header -->
<LinearLayout <LinearLayout
android:id="@+id/pOption2"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="35dp" android:layout_marginTop="15dp"
android:background="@xml/gx_ripple_gray"
android:orientation="horizontal" android:orientation="horizontal"
android:weightSum="7"> android:layout_height="wrap_content">
<TextView
<Button android:textColor="@color/c_text_setting_heading"
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_marginTop="12dp"
android:alpha="1"
android:background="@android:color/transparent"
android:clickable="false"
android:padding="0dp"
android:paddingStart="15dp"
android:text="@string/SETTING_ACCESSIBILITY_FONT"
android:textAlignment="textStart"
android:textAllCaps="false"
android:textColor="@color/c_text_v1"
android:textSize="15sp" android:textSize="15sp"
tools:ignore="RtlSymmetry" /> android:layout_width="0dp"
android:textStyle="bold"
android:layout_height="wrap_content"
android:layout_weight="40"
android:layout_marginTop="00dp"
android:layout_marginStart="15dp"
android:text="@string/SETTING_ACCESSIBILITY_FONT"
/>
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
@ -127,7 +121,7 @@
android:text="@string/SETTING_ACCESSIBILITY_FONT_CUSTOM" android:text="@string/SETTING_ACCESSIBILITY_FONT_CUSTOM"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
@ -184,7 +178,7 @@
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:background="@xml/sx_font_change_round_background" android:background="@xml/sx_font_change_round_background"
android:textColor="@color/c_font_change_foreground" android:textColor="@color/c_text_v6"
android:textSize="12sp" android:textSize="12sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
@ -194,12 +188,53 @@
</LinearLayout> </LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginBottom="5dp"
android:layout_marginTop="12dp"
android:layout_marginStart="15dp"
android:background="@color/c_view_divier_background"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:orientation="vertical"
android:layout_height="wrap_content">
<TextView
android:textColor="@color/c_text_setting_heading"
android:textSize="15sp"
android:layout_width="wrap_content"
android:textStyle="bold"
android:layout_height="wrap_content"
android:layout_weight="40"
android:layout_marginTop="00dp"
android:layout_marginStart="15dp"
android:text="@string/SETTING_INTERACTION"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:alpha="1"
android:background="@android:color/transparent"
android:clickable="false"
android:padding="0dp"
android:paddingStart="15dp"
android:text="@string/SETTING_INTERACTION_INFO"
android:textAlignment="textStart"
android:textAllCaps="false"
android:textColor="@color/c_text_v6"
android:textSize="13.5sp"
tools:ignore="RtlSymmetry" />
</LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/pOption4" android:id="@+id/pOption4"
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"
android:layout_marginTop="10dp" android:layout_marginTop="5dp"
android:onClick="onZoomSettingUpdate" android:onClick="onZoomSettingUpdate"
android:orientation="horizontal" android:orientation="horizontal"
android:weightSum="7"> android:weightSum="7">
@ -211,7 +246,7 @@
android:clickable="false" android:clickable="false"
android:orientation="vertical"> android:orientation="vertical">
<Button <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="20dp" android:layout_height="20dp"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
@ -224,7 +259,7 @@
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
android:textSize="15sp" android:textSize="14sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
<TextView <TextView
@ -239,7 +274,7 @@
android:text="@string/SETTING_ACCESSIBILITY_ZOOM_INFO" android:text="@string/SETTING_ACCESSIBILITY_ZOOM_INFO"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -256,11 +291,6 @@
</LinearLayout> </LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/c_view_divier_background"/>
<LinearLayout <LinearLayout
android:id="@+id/pOption5" android:id="@+id/pOption5"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -277,7 +307,7 @@
android:clickable="false" android:clickable="false"
android:orientation="vertical"> android:orientation="vertical">
<Button <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="20dp" android:layout_height="20dp"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
@ -290,7 +320,7 @@
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
android:textSize="15sp" android:textSize="14sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
<TextView <TextView
@ -305,7 +335,7 @@
android:text="@string/SETTING_ACCESSIBILITY_VOICE_INFO" android:text="@string/SETTING_ACCESSIBILITY_VOICE_INFO"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -322,11 +352,6 @@
</LinearLayout> </LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/c_view_divier_background"/>
</LinearLayout> </LinearLayout>
</ScrollView> </ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -1,4 +1,5 @@
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
@ -55,23 +56,58 @@
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="1"/> android:layout_weight="1"/>
<ImageButton <ImageView
android:layout_width="45dp" android:layout_width="47dp"
android:layout_height="45dp" android:layout_height="match_parent"
android:layout_marginStart="0dp" android:padding="0dp"
android:scaleX="1.08" android:layout_marginEnd="0dp"
android:scaleY="1.08" android:layout_gravity="center_vertical"
android:layout_marginTop="1dp" android:layout_marginStart="6dp"
android:layout_marginEnd="7dp" android:paddingStart="3dp"
android:background="@xml/gx_ripple_default_round" android:onClick="onOpenInfo"
android:background="@xml/gx_ripple_gray"
android:contentDescription="@string/GENERAL_TODO" android:contentDescription="@string/GENERAL_TODO"
android:src="@xml/ic_baseline_info" android:src="@drawable/info"
android:tint="@color/c_navigation_light" /> app:tint="@color/c_icon_tint_light" />
</LinearLayout> </LinearLayout>
<!-- Title Header --> <!-- Title Header -->
<LinearLayout
android:layout_width="match_parent"
android:layout_marginTop="15dp"
android:layout_marginBottom="10dp"
android:orientation="vertical"
android:layout_height="wrap_content">
<TextView
android:textColor="@color/c_text_setting_heading"
android:textSize="15sp"
android:layout_width="wrap_content"
android:textStyle="bold"
android:layout_height="wrap_content"
android:layout_weight="40"
android:layout_marginTop="00dp"
android:layout_marginStart="15dp"
android:text="@string/SETTING_ADVANCE_TAB"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="0dp"
android:alpha="1"
android:background="@android:color/transparent"
android:clickable="false"
android:padding="0dp"
android:paddingStart="15dp"
android:text="@string/SETTING_ADVANCE_TAB_INFO"
android:textAlignment="textStart"
android:textAllCaps="false"
android:textColor="@color/c_text_v6"
android:textSize="13.5sp"
tools:ignore="RtlSymmetry" />
</LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/pOption1" android:id="@+id/pOption1"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -85,7 +121,7 @@
android:layout_weight="6" android:layout_weight="6"
android:layout_height="65dp" android:layout_height="65dp"
android:orientation="vertical"> android:orientation="vertical">
<Button <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="20dp" android:layout_height="20dp"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
@ -98,7 +134,7 @@
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
android:textSize="15sp" android:textSize="14sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
<TextView <TextView
@ -113,7 +149,7 @@
android:text="@string/SETTING_ADVANCE_RESTORE_TAB_INFO" android:text="@string/SETTING_ADVANCE_RESTORE_TAB_INFO"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -133,17 +169,19 @@
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:layout_marginStart="15dp"
android:background="@color/c_view_divier_background" /> android:background="@color/c_view_divier_background" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_marginTop="15dp" android:layout_marginTop="15dp"
android:orientation="horizontal" android:layout_marginBottom="10dp"
android:orientation="vertical"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<TextView <TextView
android:textColor="@color/c_text_setting_heading" android:textColor="@color/c_text_setting_heading"
android:textSize="14sp" android:textSize="15sp"
android:layout_width="0dp" android:layout_width="wrap_content"
android:textStyle="bold" android:textStyle="bold"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="40" android:layout_weight="40"
@ -151,55 +189,20 @@
android:layout_marginStart="15dp" android:layout_marginStart="15dp"
android:text="@string/SETTING_ADVANCE_DATA_SAVER" android:text="@string/SETTING_ADVANCE_DATA_SAVER"
/> />
</LinearLayout>
<LinearLayout
android:id="@+id/pOption3"
android:layout_width="match_parent"
android:layout_height="65dp"
android:background="@xml/gx_ripple_gray"
android:orientation="horizontal"
android:weightSum="7"
android:baselineAligned="false">
<LinearLayout
android:layout_width="0dp"
android:layout_weight="6"
android:layout_height="65dp"
android:orientation="vertical"
tools:ignore="UselessParent">
<Button
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_marginTop="12dp"
android:alpha="1"
android:background="@android:color/transparent"
android:clickable="false"
android:padding="0dp"
android:paddingStart="15dp"
android:text="@string/SETTING_ADVANCE_SHOW_IMAGES"
android:textAlignment="textStart"
android:textAllCaps="false"
android:textColor="@color/c_text_v1"
android:textSize="15sp"
tools:ignore="RtlSymmetry" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:alpha="1" android:alpha="1"
android:background="@android:color/transparent" android:background="@android:color/transparent"
android:clickable="false" android:clickable="false"
android:padding="0dp" android:padding="0dp"
android:paddingStart="15dp" android:paddingStart="15dp"
android:text="@string/SETTING_ADVANCE_WEB_FONTS_INFO" android:text="@string/SETTING_ADVANCE_DATA_SAVER_INFO"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout>
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
@ -211,6 +214,13 @@
android:orientation="vertical" android:orientation="vertical"
android:layout_height="wrap_content" > android:layout_height="wrap_content" >
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="-1dp"
android:elevation="2dp"
android:background="@color/white"/>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="55dp" android:layout_height="55dp"
@ -258,6 +268,7 @@
</LinearLayout> </LinearLayout>
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
@ -308,8 +319,16 @@
android:contentDescription="@string/GENERAL_TODO" /> android:contentDescription="@string/GENERAL_TODO" />
</LinearLayout> </LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:elevation="4dp"
android:background="@color/c_view_divier_background_inner"/>
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/pOption4" android:id="@+id/pOption4"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -324,7 +343,7 @@
android:layout_weight="6" android:layout_weight="6"
android:layout_height="65dp" android:layout_height="65dp"
android:orientation="vertical"> android:orientation="vertical">
<Button <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="20dp" android:layout_height="20dp"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
@ -337,7 +356,7 @@
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
android:textSize="15sp" android:textSize="14sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
<TextView <TextView
@ -352,7 +371,7 @@
android:text="@string/SETTING_ADVANCE_WEB_FONTS_INFO" android:text="@string/SETTING_ADVANCE_WEB_FONTS_INFO"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -372,18 +391,19 @@
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:layout_marginStart="15dp"
android:background="@color/c_view_divier_background" /> android:background="@color/c_view_divier_background" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_marginTop="15dp" android:layout_marginTop="15dp"
android:layout_marginBottom="10dp" android:layout_marginBottom="15dp"
android:orientation="horizontal" android:orientation="vertical"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<TextView <TextView
android:textColor="@color/c_text_setting_heading" android:textColor="@color/c_text_setting_heading"
android:textSize="14sp" android:textSize="14sp"
android:layout_width="0dp" android:layout_width="wrap_content"
android:textStyle="bold" android:textStyle="bold"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="40" android:layout_weight="40"
@ -391,6 +411,20 @@
android:layout_marginStart="15dp" android:layout_marginStart="15dp"
android:text="@string/SETTING_ADVANCE_MEDIA_SUB_HEADER" android:text="@string/SETTING_ADVANCE_MEDIA_SUB_HEADER"
/> />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:alpha="1"
android:background="@android:color/transparent"
android:clickable="false"
android:padding="0dp"
android:paddingStart="15dp"
android:text="@string/SETTING_ADVANCE_MEDIA_SUB_HEADER_INFO"
android:textAlignment="textStart"
android:textAllCaps="false"
android:textColor="@color/c_text_v6"
android:textSize="13.5sp"
tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
@ -406,7 +440,7 @@
android:layout_weight="6" android:layout_weight="6"
android:layout_height="65dp" android:layout_height="65dp"
android:orientation="vertical"> android:orientation="vertical">
<Button <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="20dp" android:layout_height="20dp"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
@ -419,7 +453,7 @@
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
android:textSize="15sp" android:textSize="14sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
<TextView <TextView
@ -434,7 +468,7 @@
android:text="@string/SETTING_ADVANCE_MEDIA_INFO" android:text="@string/SETTING_ADVANCE_MEDIA_INFO"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -451,11 +485,6 @@
</LinearLayout> </LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/c_view_divier_background" />
</LinearLayout> </LinearLayout>
</ScrollView> </ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -1,5 +1,6 @@
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
@ -57,18 +58,19 @@
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="1"/> android:layout_weight="1"/>
<ImageButton <ImageView
android:layout_width="45dp" android:layout_width="47dp"
android:layout_height="45dp" android:layout_height="match_parent"
android:layout_marginStart="0dp" android:padding="0dp"
android:scaleX="1.08" android:layout_marginEnd="0dp"
android:scaleY="1.08" android:layout_gravity="center_vertical"
android:layout_marginTop="1dp" android:layout_marginStart="6dp"
android:background="@xml/gx_ripple_default_round" android:paddingStart="3dp"
android:onClick="onOpenInfo"
android:background="@xml/gx_ripple_gray"
android:contentDescription="@string/GENERAL_TODO" android:contentDescription="@string/GENERAL_TODO"
android:src="@xml/ic_baseline_info" android:src="@drawable/info"
android:layout_marginEnd="7dp" app:tint="@color/c_icon_tint_light" />
android:tint="@color/c_navigation_light" />
</LinearLayout> </LinearLayout>
@ -104,7 +106,7 @@
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
android:textSize="15sp" android:textSize="14sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
<TextView <TextView
@ -119,7 +121,7 @@
android:text="@string/SETTING_CLEAR_CACHE_OPTION_1" android:text="@string/SETTING_CLEAR_CACHE_OPTION_1"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -140,11 +142,6 @@
</LinearLayout> </LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/c_view_divier_background" />
<LinearLayout <LinearLayout
android:id="@+id/pOption2" android:id="@+id/pOption2"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -175,7 +172,7 @@
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
android:textSize="15sp" android:textSize="14sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
<TextView <TextView
@ -190,7 +187,7 @@
android:text="@string/SETTING_CLEAR_CACHE_OPTION_2" android:text="@string/SETTING_CLEAR_CACHE_OPTION_2"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -211,11 +208,6 @@
</LinearLayout> </LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/c_view_divier_background" />
<LinearLayout <LinearLayout
android:id="@+id/pOption3" android:id="@+id/pOption3"
android:tag="2" android:tag="2"
@ -246,7 +238,7 @@
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
android:textSize="15sp" android:textSize="14sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@ -260,7 +252,7 @@
android:text="@string/SETTING_CLEAR_CACHE_OPTION_3" android:text="@string/SETTING_CLEAR_CACHE_OPTION_3"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -281,11 +273,6 @@
</LinearLayout> </LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/c_view_divier_background" />
<LinearLayout <LinearLayout
android:id="@+id/pOption4" android:id="@+id/pOption4"
android:tag="3" android:tag="3"
@ -316,7 +303,7 @@
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
android:textSize="15sp" android:textSize="14sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@ -330,7 +317,7 @@
android:text="@string/SETTING_CLEAR_CACHE_OPTION_4" android:text="@string/SETTING_CLEAR_CACHE_OPTION_4"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -352,13 +339,8 @@
</LinearLayout> </LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/c_view_divier_background" />
<LinearLayout <LinearLayout
android:id="@+id/pOption6" android:id="@+id/pOption5"
android:tag="4" android:tag="4"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="65dp" android:layout_height="65dp"
@ -387,7 +369,7 @@
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
android:textSize="15sp" android:textSize="14sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@ -401,7 +383,7 @@
android:text="@string/SETTING_CLEAR_CACHE_OPTION_6" android:text="@string/SETTING_CLEAR_CACHE_OPTION_6"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -410,7 +392,7 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:layout_weight="1"
android:id="@+id/pClearChecked_6" android:id="@+id/pClearChecked_5"
android:tag="4" android:tag="4"
android:checked="true" android:checked="true"
android:layout_marginStart="100dp" android:layout_marginStart="100dp"
@ -422,13 +404,8 @@
</LinearLayout> </LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/c_view_divier_background" />
<LinearLayout <LinearLayout
android:id="@+id/pOption7" android:id="@+id/pOption6"
android:tag="5" android:tag="5"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="65dp" android:layout_height="65dp"
@ -457,7 +434,7 @@
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
android:textSize="15sp" android:textSize="14sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@ -471,7 +448,7 @@
android:text="@string/SETTING_CLEAR_CACHE_OPTION_7" android:text="@string/SETTING_CLEAR_CACHE_OPTION_7"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -480,7 +457,7 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:layout_weight="1"
android:id="@+id/pClearChecked_7" android:id="@+id/pClearChecked_6"
android:tag="5" android:tag="5"
android:layout_marginStart="100dp" android:layout_marginStart="100dp"
android:checked="true" android:checked="true"
@ -492,13 +469,8 @@
</LinearLayout> </LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/c_view_divier_background" />
<LinearLayout <LinearLayout
android:id="@+id/pOption8" android:id="@+id/pOption7"
android:tag="6" android:tag="6"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="65dp" android:layout_height="65dp"
@ -527,7 +499,7 @@
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
android:textSize="15sp" android:textSize="14sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@ -541,7 +513,7 @@
android:text="@string/SETTING_CLEAR_CACHE_OPTION_8" android:text="@string/SETTING_CLEAR_CACHE_OPTION_8"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -550,7 +522,7 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:layout_weight="1"
android:id="@+id/pClearChecked_8" android:id="@+id/pClearChecked_7"
android:tag="6" android:tag="6"
android:layout_marginStart="100dp" android:layout_marginStart="100dp"
android:checked="true" android:checked="true"
@ -562,14 +534,8 @@
</LinearLayout> </LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginBottom="0dp"
android:background="@color/c_view_divier_background" />
<LinearLayout <LinearLayout
android:id="@+id/pOption9" android:id="@+id/pOption8"
android:tag="7" android:tag="7"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="65dp" android:layout_height="65dp"
@ -598,7 +564,7 @@
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
android:textSize="15sp" android:textSize="14sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@ -612,7 +578,7 @@
android:text="@string/SETTING_CLEAR_CACHE_OPTION_9" android:text="@string/SETTING_CLEAR_CACHE_OPTION_9"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -621,7 +587,7 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:layout_weight="1"
android:id="@+id/pClearChecked_9" android:id="@+id/pClearChecked_8"
android:tag="7" android:tag="7"
android:layout_marginStart="100dp" android:layout_marginStart="100dp"
android:checked="false" android:checked="false"

View File

@ -2,6 +2,7 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="@color/c_background" android:background="@color/c_background"
tools:context="com.darkweb.genesissearchengine.appManager.settingManager.generalManager.settingGeneralController"> tools:context="com.darkweb.genesissearchengine.appManager.settingManager.generalManager.settingGeneralController">
<ScrollView <ScrollView
@ -17,7 +18,7 @@
<LinearLayout <LinearLayout
android:id="@+id/pHeaderContainerTop" android:id="@+id/pHeaderContainerTop"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="48dp"
android:elevation="8dp" android:elevation="8dp"
android:background="@color/c_background" android:background="@color/c_background"
android:clickable="true" android:clickable="true"
@ -55,45 +56,47 @@
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="1"/> android:layout_weight="1"/>
<ImageButton <ImageView
android:layout_width="45dp" android:layout_width="47dp"
android:layout_height="45dp" android:layout_height="match_parent"
android:layout_marginStart="0dp" android:padding="0dp"
android:scaleX="1.08" android:layout_marginEnd="0dp"
android:scaleY="1.08" android:layout_gravity="center_vertical"
android:layout_marginTop="1dp" android:layout_marginStart="6dp"
android:background="@xml/gx_ripple_default_round" android:paddingStart="3dp"
android:onClick="onOpenInfo"
android:background="@xml/gx_ripple_gray"
android:contentDescription="@string/GENERAL_TODO" android:contentDescription="@string/GENERAL_TODO"
android:src="@xml/ic_baseline_info" android:src="@drawable/info"
android:layout_marginEnd="7dp" app:tint="@color/c_icon_tint_light" />
android:tint="@color/c_navigation_light" />
</LinearLayout> </LinearLayout>
<!-- Title Header --> <!-- Title Header -->
<LinearLayout
android:layout_width="match_parent"
android:layout_marginTop="15dp"
android:orientation="horizontal"
android:layout_height="wrap_content">
<TextView
android:textColor="@color/c_text_setting_heading"
android:textSize="15sp"
android:layout_width="0dp"
android:textStyle="bold"
android:layout_height="wrap_content"
android:layout_weight="40"
android:layout_marginTop="00dp"
android:layout_marginStart="15dp"
android:text="@string/SETTING_GENERAL_HOME"
/>
</LinearLayout>
<LinearLayout <LinearLayout
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"
android:orientation="vertical"> android:orientation="vertical">
<Button
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_marginTop="12dp"
android:alpha="1"
android:background="@android:color/transparent"
android:clickable="false"
android:padding="0dp"
android:paddingStart="15dp"
android:text="@string/SETTING_GENERAL_HOME"
android:textAlignment="textStart"
android:textAllCaps="false"
android:textColor="@color/c_text_v1"
android:textSize="15sp"
tools:ignore="RtlSymmetry" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -107,7 +110,7 @@
android:text="@string/SETTING_GENERAL_HOME_INFO" android:text="@string/SETTING_GENERAL_HOME_INFO"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
@ -116,9 +119,8 @@
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"
android:background="@xml/sx_border_left" android:layout_marginStart="0dp"
android:layout_marginStart="15dp" android:paddingStart="0dp"
android:paddingStart="5dp"
android:weightSum="7" android:weightSum="7"
tools:ignore="RtlSymmetry"> tools:ignore="RtlSymmetry">
@ -136,7 +138,7 @@
android:layout_marginStart="0dp" android:layout_marginStart="0dp"
android:orientation="vertical"> android:orientation="vertical">
<Button <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="20dp" android:layout_height="20dp"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
@ -149,7 +151,7 @@
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
android:textSize="15sp" android:textSize="14sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
<TextView <TextView
@ -164,7 +166,7 @@
android:text="@string/SETTING_GENERAL_OPEN_URL_IN_NEW_tAB_INFO" android:text="@string/SETTING_GENERAL_OPEN_URL_IN_NEW_tAB_INFO"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -184,138 +186,31 @@
</LinearLayout> </LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="10dp"
android:background="@xml/gx_ripple_gray"
android:orientation="horizontal"
android:onClick="onFullScreenBrowsing"
android:weightSum="7">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="6"
android:clickable="false"
android:orientation="vertical">
<Button
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_marginTop="12dp"
android:alpha="1"
android:background="@android:color/transparent"
android:clickable="false"
android:padding="0dp"
android:paddingStart="15dp"
android:text="@string/SETTING_GENERAL_FULLSCREEN_BROWSING"
android:textAlignment="textStart"
android:textAllCaps="false"
android:textColor="@color/c_text_v1"
android:textSize="15sp"
tools:ignore="RtlSymmetry" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:layout_marginEnd="30dp"
android:alpha="1"
android:background="@android:color/transparent"
android:clickable="false"
android:padding="0dp"
android:paddingStart="15dp"
android:text="@string/SETTING_GENERAL_FULLSCREEN_BROWSING_INFO"
android:textAlignment="textStart"
android:textAllCaps="false"
android:textColor="@color/c_text_v1"
android:textSize="13.5sp"
tools:ignore="RtlSymmetry" />
</LinearLayout>
<com.google.android.material.switchmaterial.SwitchMaterial
android:layout_width="0dp"
android:layout_height="match_parent"
android:id="@+id/pFullScreenMode"
android:layout_marginEnd="10dp"
android:layout_weight="1"
android:theme="@style/SCBSwitch"
android:contentDescription="@string/GENERAL_TODO" />
</LinearLayout>
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:paddingTop="10dp"
android:layout_marginStart="15dp"
android:background="@color/c_view_divier_background"/> android:background="@color/c_view_divier_background"/>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="65dp" android:layout_marginTop="10dp"
android:onClick="onManageLanguage"
android:background="@xml/gx_ripple_gray"
android:orientation="horizontal" android:orientation="horizontal"
android:weightSum="7"> android:layout_height="wrap_content">
<LinearLayout
android:layout_width="0dp"
android:layout_height="65dp"
android:layout_weight="6"
android:clickable="false"
android:orientation="vertical">
<Button
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_marginTop="12dp"
android:alpha="1"
android:background="@android:color/transparent"
android:clickable="false"
android:padding="0dp"
android:paddingStart="15dp"
android:text="@string/SETTING_GENERAL_LANGUAGE"
android:textAlignment="textStart"
android:textAllCaps="false"
android:textColor="@color/c_text_v1"
android:textSize="15sp"
tools:ignore="RtlSymmetry" />
<TextView <TextView
android:layout_width="wrap_content" android:textColor="@color/c_text_setting_heading"
android:layout_height="wrap_content" android:textSize="15sp"
android:layout_marginTop="2dp"
android:alpha="1"
android:background="@android:color/transparent"
android:clickable="false"
android:padding="0dp"
android:paddingStart="15dp"
android:text="@string/SETTING_GENERAL_LANGUAGE_INFO"
android:textAlignment="textStart"
android:textAllCaps="false"
android:textColor="@color/c_text_v1"
android:textSize="13.5sp"
tools:ignore="RtlSymmetry" />
</LinearLayout>
<ImageButton
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:textStyle="bold"
android:layout_weight="1" android:layout_height="wrap_content"
android:background="@android:color/transparent" android:layout_weight="40"
android:tint="@color/c_navigation_tint" android:layout_marginTop="00dp"
android:src="@xml/ic_arrow_right" android:layout_marginStart="15dp"
android:contentDescription="@string/GENERAL_TODO" /> android:text="@string/SETTING_GENERAL_THEME"
/>
</LinearLayout> </LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/c_view_divier_background"/>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -323,23 +218,6 @@
android:orientation="vertical" android:orientation="vertical"
android:weightSum="7"> android:weightSum="7">
<Button
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_marginTop="12dp"
android:alpha="1"
android:background="@android:color/transparent"
android:clickable="false"
android:padding="0dp"
android:paddingStart="15dp"
android:text="@string/SETTING_GENERAL_THEME"
android:textAlignment="textStart"
android:textAllCaps="false"
android:textColor="@color/c_text_v1"
android:textSize="15sp"
tools:ignore="RtlSymmetry" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -352,7 +230,7 @@
android:text="@string/SETTING_GENERAL_THEME_INFO" android:text="@string/SETTING_GENERAL_THEME_INFO"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
@ -360,13 +238,21 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_marginTop="10dp"
android:background="@xml/sx_border_left" android:background="@xml/sx_border_left"
android:layout_marginStart="15dp" android:layout_marginStart="15dp"
android:paddingStart="5dp" android:paddingStart="4dp"
android:layout_marginTop="15dp"
android:orientation="vertical" android:orientation="vertical"
android:layout_height="wrap_content" android:layout_height="wrap_content"
tools:ignore="RtlSymmetry"> tools:ignore="RtlSymmetry">
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="-1dp"
android:elevation="2dp"
android:background="@color/white"/>
<LinearLayout <LinearLayout
android:id="@+id/pOption1" android:id="@+id/pOption1"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -385,6 +271,7 @@
android:layout_weight="7" android:layout_weight="7"
android:layout_height="55dp" android:layout_height="55dp"
android:orientation="vertical"> android:orientation="vertical">
<Button <Button
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="20dp" android:layout_height="20dp"
@ -500,6 +387,7 @@
<Button <Button
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginBottom="5dp"
android:layout_marginStart="0dp" android:layout_marginStart="0dp"
android:alpha="1" android:alpha="1"
android:background="@android:color/transparent" android:background="@android:color/transparent"
@ -529,8 +417,176 @@
android:contentDescription="@string/GENERAL_TODO" /> android:contentDescription="@string/GENERAL_TODO" />
</LinearLayout> </LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:elevation="4dp"
android:background="@color/c_view_divier_background_inner"/>
</LinearLayout> </LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="20dp"
android:layout_marginBottom="7dp"
android:layout_marginStart="15dp"
android:background="@color/c_view_divier_background"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_marginTop="5dp"
android:layout_marginBottom="15dp"
android:orientation="vertical"
android:layout_height="wrap_content">
<TextView
android:textColor="@color/c_text_setting_heading"
android:textSize="15sp"
android:layout_width="wrap_content"
android:textStyle="bold"
android:layout_height="wrap_content"
android:layout_weight="40"
android:layout_marginTop="00dp"
android:layout_marginStart="15dp"
android:text="@string/SETTING_GENERAL"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="0dp"
android:alpha="1"
android:background="@android:color/transparent"
android:clickable="false"
android:padding="0dp"
android:paddingStart="15dp"
android:text="@string/SETTING_GENERAL_INFO_OPTION"
android:textAlignment="textStart"
android:textAllCaps="false"
android:textColor="@color/c_text_v6"
android:textSize="13.5sp"
tools:ignore="RtlSymmetry" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="10dp"
android:background="@xml/gx_ripple_gray"
android:orientation="horizontal"
android:onClick="onFullScreenBrowsing"
android:weightSum="7">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="6"
android:clickable="false"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_marginTop="8dp"
android:alpha="1"
android:background="@android:color/transparent"
android:clickable="false"
android:padding="0dp"
android:paddingStart="15dp"
android:text="@string/SETTING_GENERAL_FULLSCREEN_BROWSING"
android:textAlignment="textStart"
android:textAllCaps="false"
android:textColor="@color/c_text_v1"
android:textSize="14sp"
tools:ignore="RtlSymmetry" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:layout_marginEnd="30dp"
android:alpha="1"
android:background="@android:color/transparent"
android:clickable="false"
android:padding="0dp"
android:paddingStart="15dp"
android:text="@string/SETTING_GENERAL_FULLSCREEN_BROWSING_INFO"
android:textAlignment="textStart"
android:textAllCaps="false"
android:textColor="@color/c_text_v6"
android:textSize="13.5sp"
tools:ignore="RtlSymmetry" />
</LinearLayout>
<com.google.android.material.switchmaterial.SwitchMaterial
android:layout_width="0dp"
android:layout_height="match_parent"
android:id="@+id/pFullScreenMode"
android:layout_marginEnd="10dp"
android:layout_weight="1"
android:theme="@style/SCBSwitch"
android:contentDescription="@string/GENERAL_TODO" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="65dp"
android:onClick="onManageLanguage"
android:background="@xml/gx_ripple_gray"
android:orientation="horizontal"
android:weightSum="7">
<LinearLayout
android:layout_width="0dp"
android:layout_height="65dp"
android:layout_weight="6"
android:clickable="false"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_marginTop="12dp"
android:alpha="1"
android:background="@android:color/transparent"
android:clickable="false"
android:padding="0dp"
android:paddingStart="15dp"
android:text="@string/SETTING_GENERAL_LANGUAGE"
android:textAlignment="textStart"
android:textAllCaps="false"
android:textColor="@color/c_text_v1"
android:textSize="14sp"
tools:ignore="RtlSymmetry" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:alpha="1"
android:background="@android:color/transparent"
android:clickable="false"
android:padding="0dp"
android:paddingStart="15dp"
android:text="@string/SETTING_GENERAL_LANGUAGE_INFO"
android:textAlignment="textStart"
android:textAllCaps="false"
android:textColor="@color/c_text_v6"
android:textSize="13.5sp"
tools:ignore="RtlSymmetry" />
</LinearLayout>
<ImageButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/transparent"
android:tint="@color/c_navigation_tint"
android:src="@xml/ic_arrow_right"
android:contentDescription="@string/GENERAL_TODO" />
</LinearLayout>
</LinearLayout> </LinearLayout>
</ScrollView> </ScrollView>

View File

@ -1,4 +1,5 @@
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
@ -55,18 +56,19 @@
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="1"/> android:layout_weight="1"/>
<ImageButton <ImageView
android:layout_width="45dp" android:layout_width="47dp"
android:layout_height="45dp" android:layout_height="match_parent"
android:layout_marginStart="0dp" android:padding="0dp"
android:scaleX="1.08" android:layout_marginEnd="0dp"
android:scaleY="1.08" android:layout_gravity="center_vertical"
android:layout_marginTop="1dp" android:layout_marginStart="6dp"
android:layout_marginEnd="7dp" android:paddingStart="3dp"
android:background="@xml/gx_ripple_default_round" android:onClick="onOpenInfo"
android:background="@xml/gx_ripple_gray"
android:contentDescription="@string/GENERAL_TODO" android:contentDescription="@string/GENERAL_TODO"
android:src="@xml/ic_baseline_info" android:src="@drawable/info"
android:tint="@color/c_navigation_light" /> app:tint="@color/c_icon_tint_light" />
</LinearLayout> </LinearLayout>
@ -81,7 +83,7 @@
android:orientation="horizontal" android:orientation="horizontal"
android:weightSum="7"> android:weightSum="7">
<Button <TextView
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="6" android:layout_weight="6"
@ -89,12 +91,13 @@
android:background="@android:color/transparent" android:background="@android:color/transparent"
android:clickable="false" android:clickable="false"
android:padding="0dp" android:padding="0dp"
android:layout_marginTop="20dp"
android:paddingStart="15dp" android:paddingStart="15dp"
android:text="@string/SETTING_ORBOT_LIST_VIEW" android:text="@string/SETTING_ORBOT_LIST_VIEW"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
android:textSize="15sp" android:textSize="14sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
<com.google.android.material.switchmaterial.SwitchMaterial <com.google.android.material.switchmaterial.SwitchMaterial

View File

@ -2,6 +2,7 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="@color/c_background" android:background="@color/c_background"
tools:context="com.darkweb.genesissearchengine.appManager.settingManager.notificationManager.settingNotificationController"> tools:context="com.darkweb.genesissearchengine.appManager.settingManager.notificationManager.settingNotificationController">
<ScrollView <ScrollView
@ -55,36 +56,79 @@
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="1"/> android:layout_weight="1"/>
<ImageButton <ImageView
android:layout_width="45dp" android:layout_width="47dp"
android:layout_height="45dp" android:layout_height="match_parent"
android:layout_marginStart="0dp" android:padding="0dp"
android:scaleX="1.08" android:layout_marginEnd="0dp"
android:scaleY="1.08" android:layout_gravity="center_vertical"
android:layout_marginEnd="7dp" android:layout_marginStart="6dp"
android:layout_marginTop="1dp" android:paddingStart="3dp"
android:background="@xml/gx_ripple_default_round" android:onClick="onOpenInfo"
android:background="@xml/gx_ripple_gray"
android:contentDescription="@string/GENERAL_TODO" android:contentDescription="@string/GENERAL_TODO"
android:src="@xml/ic_baseline_info" android:src="@drawable/info"
android:tint="@color/c_navigation_light" /> app:tint="@color/c_icon_tint_light" />
</LinearLayout> </LinearLayout>
<!-- Title Header --> <!-- Title Header -->
<LinearLayout <LinearLayout
android:id="@+id/pOption2"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="55dp" android:layout_marginTop="15dp"
android:onClick="onSaveLocalNotificationSettings" android:layout_marginBottom="15dp"
android:orientation="vertical"
android:layout_height="wrap_content">
<TextView
android:textColor="@color/c_text_setting_heading"
android:textSize="15sp"
android:layout_width="wrap_content"
android:textStyle="bold"
android:layout_height="wrap_content"
android:layout_weight="40"
android:layout_marginTop="00dp"
android:layout_marginStart="15dp"
android:text="@string/SETTING_NOTIFICATION_HEADER_1"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:alpha="1"
android:id="@+id/pHomePageText"
android:background="@android:color/transparent"
android:clickable="false"
android:padding="0dp"
android:paddingStart="15dp"
android:text="@string/SETTING_NOTIFICATION_HEADER_1_INFO"
android:textAlignment="textStart"
android:textAllCaps="false"
android:textColor="@color/c_text_v6"
android:textSize="13.5sp"
tools:ignore="RtlSymmetry" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="10dp"
android:background="@xml/gx_ripple_gray" android:background="@xml/gx_ripple_gray"
android:onClick="onSaveLocalNotificationSettings"
android:orientation="horizontal" android:orientation="horizontal"
android:weightSum="7"> android:weightSum="7">
<Button <LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="6" android:layout_weight="6"
android:clickable="false"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_marginTop="8dp"
android:alpha="1" android:alpha="1"
android:background="@android:color/transparent" android:background="@android:color/transparent"
android:clickable="false" android:clickable="false"
@ -94,40 +138,57 @@
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
android:textSize="15sp" android:textSize="14sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:layout_marginEnd="30dp"
android:alpha="1"
android:background="@android:color/transparent"
android:clickable="false"
android:padding="0dp"
android:paddingStart="15dp"
android:text="@string/SETTING_NOTIFICATION_DISABLE_STATUS_NOTIFICATION_INFO"
android:textAlignment="textStart"
android:textAllCaps="false"
android:textColor="@color/c_text_v6"
android:textSize="13.5sp"
tools:ignore="RtlSymmetry" />
</LinearLayout>
<com.google.android.material.switchmaterial.SwitchMaterial <com.google.android.material.switchmaterial.SwitchMaterial
android:layout_width="0dp" android:layout_width="0dp"
android:id="@+id/pNotificationManual"
android:layout_height="match_parent" android:layout_height="match_parent"
android:clickable="false" android:id="@+id/pNotificationManual"
android:layout_marginEnd="10dp" android:layout_marginEnd="10dp"
android:theme="@style/SCBSwitch"
android:layout_weight="1" android:layout_weight="1"
android:background="@android:color/transparent"> android:theme="@style/SCBSwitch"
</com.google.android.material.switchmaterial.SwitchMaterial> android:contentDescription="@string/GENERAL_TODO" />
</LinearLayout> </LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/c_view_divier_background"/>
<LinearLayout <LinearLayout
android:id="@+id/pOption3"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="55dp" android:layout_height="65dp"
android:onClick="onSwitchLogUIMode"
android:background="@xml/gx_ripple_gray" android:background="@xml/gx_ripple_gray"
android:onClick="onOpenNotificationSettings"
android:orientation="horizontal" android:orientation="horizontal"
android:weightSum="7"> android:weightSum="7">
<Button <LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="65dp"
android:layout_weight="6" android:layout_weight="6"
android:clickable="false"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_marginTop="12dp"
android:alpha="1" android:alpha="1"
android:background="@android:color/transparent" android:background="@android:color/transparent"
android:clickable="false" android:clickable="false"
@ -137,26 +198,37 @@
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
android:textSize="15sp" android:textSize="14sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:alpha="1"
android:background="@android:color/transparent"
android:clickable="false"
android:padding="0dp"
android:paddingStart="15dp"
android:text="@string/SETTING_NOTIFICATION_OPEN_NOTIFICATION_MANAGER_INFO"
android:textAlignment="textStart"
android:textAllCaps="false"
android:textColor="@color/c_text_v6"
android:textSize="13.5sp"
tools:ignore="RtlSymmetry" />
</LinearLayout>
<ImageButton <ImageButton
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:layout_weight="1"
android:background="@android:color/transparent" android:background="@android:color/transparent"
android:scaleX="1"
android:scaleY="1"
android:tint="@color/c_navigation_tint" android:tint="@color/c_navigation_tint"
android:src="@xml/ic_arrow_right" android:src="@xml/ic_arrow_right"
android:contentDescription="@string/GENERAL_TODO" /> android:contentDescription="@string/GENERAL_TODO" />
</LinearLayout> </LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/c_view_divier_background"/>
</LinearLayout> </LinearLayout>
</ScrollView> </ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -1,4 +1,5 @@
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
@ -55,23 +56,59 @@
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="1"/> android:layout_weight="1"/>
<ImageButton <ImageView
android:layout_width="45dp" android:layout_width="47dp"
android:layout_height="45dp" android:layout_height="match_parent"
android:layout_marginStart="0dp" android:padding="0dp"
android:scaleX="1.08" android:layout_marginEnd="0dp"
android:scaleY="1.08" android:layout_gravity="center_vertical"
android:layout_marginTop="1dp" android:layout_marginStart="6dp"
android:layout_marginEnd="7dp" android:paddingStart="3dp"
android:background="@xml/gx_ripple_default_round" android:onClick="onOpenInfo"
android:background="@xml/gx_ripple_gray"
android:contentDescription="@string/GENERAL_TODO" android:contentDescription="@string/GENERAL_TODO"
android:src="@xml/ic_baseline_info" android:src="@drawable/info"
android:tint="@color/c_navigation_light" /> app:tint="@color/c_icon_tint_light" />
</LinearLayout> </LinearLayout>
<!-- Title Header --> <!-- Title Header -->
<LinearLayout
android:layout_width="match_parent"
android:layout_marginTop="15dp"
android:layout_marginBottom="15dp"
android:orientation="vertical"
android:layout_height="wrap_content">
<TextView
android:textColor="@color/c_text_setting_heading"
android:textSize="15sp"
android:layout_width="wrap_content"
android:textStyle="bold"
android:layout_height="wrap_content"
android:layout_weight="40"
android:layout_marginTop="00dp"
android:layout_marginStart="15dp"
android:text="@string/SETTING_PRIVACY_CLEAR_PRIVATE_HEADER"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:alpha="1"
android:id="@+id/pHomePageText"
android:background="@android:color/transparent"
android:clickable="false"
android:padding="0dp"
android:paddingStart="15dp"
android:text="@string/SETTING_PRIVACY_CLEAR_PRIVATE_HEADER_INFO"
android:textAlignment="textStart"
android:textAllCaps="false"
android:textColor="@color/c_text_v6"
android:textSize="13.5sp"
tools:ignore="RtlSymmetry" />
</LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/pOption0" android:id="@+id/pOption0"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -89,7 +126,7 @@
android:clickable="false" android:clickable="false"
android:orientation="vertical"> android:orientation="vertical">
<Button <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="20dp" android:layout_height="20dp"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
@ -102,7 +139,7 @@
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
android:textSize="15sp" android:textSize="14sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
<TextView <TextView
@ -117,7 +154,7 @@
android:text="@string/SETTING_PRIVACY_JAVASCRIPT_INFO" android:text="@string/SETTING_PRIVACY_JAVASCRIPT_INFO"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -135,11 +172,6 @@
</LinearLayout> </LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/c_view_divier_background"/>
<LinearLayout <LinearLayout
android:id="@+id/pOption1" android:id="@+id/pOption1"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -158,7 +190,7 @@
android:clickable="false" android:clickable="false"
android:orientation="vertical"> android:orientation="vertical">
<Button <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="20dp" android:layout_height="20dp"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
@ -171,7 +203,7 @@
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
android:textSize="15sp" android:textSize="14sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
<TextView <TextView
@ -186,7 +218,7 @@
android:text="@string/SETTING_PRIVACY_DONOT_TRACK_INFO" android:text="@string/SETTING_PRIVACY_DONOT_TRACK_INFO"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -204,11 +236,6 @@
</LinearLayout> </LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/c_view_divier_background"/>
<LinearLayout <LinearLayout
android:id="@+id/pOption2" android:id="@+id/pOption2"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -227,7 +254,7 @@
android:clickable="false" android:clickable="false"
android:orientation="vertical"> android:orientation="vertical">
<Button <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="20dp" android:layout_height="20dp"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
@ -240,7 +267,7 @@
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
android:textSize="15sp" android:textSize="14sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
<TextView <TextView
@ -255,7 +282,7 @@
android:text="@string/SETTING_PRIVACY_TRACKING_PROTECTION_INFO" android:text="@string/SETTING_PRIVACY_TRACKING_PROTECTION_INFO"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
@ -274,16 +301,10 @@
</LinearLayout> </LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/c_view_divier_background"/>
<LinearLayout <LinearLayout
android:id="@+id/pOption3" android:id="@+id/pOption3"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:orientation="horizontal" android:orientation="horizontal"
android:weightSum="7"> android:weightSum="7">
@ -294,7 +315,7 @@
android:orientation="vertical" android:orientation="vertical"
tools:ignore="UselessParent"> tools:ignore="UselessParent">
<Button <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="20dp" android:layout_height="20dp"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
@ -307,7 +328,7 @@
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
android:textSize="15sp" android:textSize="14sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
<TextView <TextView
@ -323,19 +344,27 @@
android:text="@string/SETTING_PRIVACY_COOKIES_INFO" android:text="@string/SETTING_PRIVACY_COOKIES_INFO"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
<RadioGroup
<LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:background="@xml/sx_border_left" android:background="@xml/sx_border_left"
android:paddingStart="5dp" android:paddingStart="4dp"
android:layout_marginStart="15dp" android:layout_marginStart="15dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"
tools:ignore="RtlSymmetry"> tools:ignore="RtlSymmetry">
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="-1dp"
android:elevation="2dp"
android:background="@color/white"/>
<LinearLayout <LinearLayout
android:id="@+id/pCookieOption1" android:id="@+id/pCookieOption1"
@ -439,12 +468,21 @@
android:text="@string/SETTING_PRIVACY_COOKIES_OPTION4" android:text="@string/SETTING_PRIVACY_COOKIES_OPTION4"
tools:ignore="RtlHardcoded" /> tools:ignore="RtlHardcoded" />
</LinearLayout> </LinearLayout>
</RadioGroup>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:elevation="4dp"
android:layout_marginTop="0.5dp"
android:background="@color/c_view_divier_background_inner"/>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/pOption4" android:id="@+id/pOption4"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -464,7 +502,7 @@
android:clickable="false" android:clickable="false"
android:orientation="vertical"> android:orientation="vertical">
<Button <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="20dp" android:layout_height="20dp"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
@ -472,7 +510,7 @@
android:background="@android:color/transparent" android:background="@android:color/transparent"
android:clickable="false" android:clickable="false"
android:padding="0dp" android:padding="0dp"
android:paddingStart="15dp" android:paddingStart="14dp"
android:text="@string/SETTING_PRIVACY_CLEAR_PRIVATE_DATA" android:text="@string/SETTING_PRIVACY_CLEAR_PRIVATE_DATA"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
@ -493,7 +531,7 @@
android:text="@string/SETTING_PRIVACY_CLEAR_PRIVATE_DATA_INFO" android:text="@string/SETTING_PRIVACY_CLEAR_PRIVATE_DATA_INFO"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -511,11 +549,6 @@
</LinearLayout> </LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/c_view_divier_background"/>
</LinearLayout> </LinearLayout>
</ScrollView> </ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -2,6 +2,7 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="@color/c_background" android:background="@color/c_background"
tools:context="com.darkweb.genesissearchengine.appManager.settingManager.searchEngineManager.settingSearchController"> tools:context="com.darkweb.genesissearchengine.appManager.settingManager.searchEngineManager.settingSearchController">
<ScrollView <ScrollView
@ -57,18 +58,19 @@
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="1"/> android:layout_weight="1"/>
<ImageButton <ImageView
android:layout_width="45dp" android:layout_width="47dp"
android:layout_height="45dp" android:layout_height="match_parent"
android:layout_marginStart="0dp" android:padding="0dp"
android:scaleX="1.08" android:layout_marginEnd="0dp"
android:scaleY="1.08" android:layout_gravity="center_vertical"
android:layout_marginEnd="7dp" android:layout_marginStart="6dp"
android:layout_marginTop="1dp" android:paddingStart="3dp"
android:background="@xml/gx_ripple_default_round" android:onClick="onOpenInfo"
android:background="@xml/gx_ripple_gray"
android:contentDescription="@string/GENERAL_TODO" android:contentDescription="@string/GENERAL_TODO"
android:src="@xml/ic_baseline_info" android:src="@drawable/info"
android:tint="@color/c_navigation_light" /> app:tint="@color/c_icon_tint_light" />
</LinearLayout> </LinearLayout>
<!-- Title Header --> <!-- Title Header -->
@ -76,21 +78,44 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_marginTop="15dp" android:layout_marginTop="15dp"
android:layout_marginBottom="15dp" android:layout_marginBottom="10dp"
android:orientation="horizontal" android:orientation="vertical"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<TextView <TextView
android:textColor="@color/c_text_setting_heading" android:textColor="@color/c_text_setting_heading"
android:textSize="14sp" android:textSize="15sp"
android:layout_width="0dp" android:layout_width="wrap_content"
android:textStyle="bold" android:textStyle="bold"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="40" android:layout_weight="40"
android:layout_marginTop="00dp" android:layout_marginTop="00dp"
android:layout_marginStart="15dp" android:layout_marginStart="15dp"
android:text="@string/SETTING_SEARCH_HEADER_1"/> android:text="@string/SETTING_SEARCH_HEADER_1"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:alpha="1"
android:id="@+id/pHomePageText"
android:background="@android:color/transparent"
android:clickable="false"
android:padding="0dp"
android:paddingStart="15dp"
android:text="@string/SETTING_SEARCH_HEADER_1_INFO"
android:textAlignment="textStart"
android:textAllCaps="false"
android:textColor="@color/c_text_v6"
android:textSize="13.5sp"
tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginStart="15dp"
android:background="@color/c_view_divier_background"/>
<LinearLayout <LinearLayout
android:id="@+id/pOption1" android:id="@+id/pOption1"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -145,7 +170,7 @@
android:text="@string/SETTING_SEARCH_DEFAULT" android:text="@string/SETTING_SEARCH_DEFAULT"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -167,6 +192,7 @@
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:layout_marginStart="15dp"
android:background="@color/c_view_divier_background"/> android:background="@color/c_view_divier_background"/>
<LinearLayout <LinearLayout
@ -224,7 +250,7 @@
android:text="@string/SETTING_SEARCH_DUCK" android:text="@string/SETTING_SEARCH_DUCK"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -246,6 +272,7 @@
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:layout_marginStart="15dp"
android:background="@color/c_view_divier_background"/> android:background="@color/c_view_divier_background"/>
<LinearLayout <LinearLayout
@ -302,7 +329,7 @@
android:text="@string/SETTING_SEARCH_GOOGLE" android:text="@string/SETTING_SEARCH_GOOGLE"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -324,6 +351,7 @@
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:layout_marginStart="15dp"
android:background="@color/c_view_divier_background"/> android:background="@color/c_view_divier_background"/>
<LinearLayout <LinearLayout
@ -380,7 +408,7 @@
android:text="@string/SETTING_SEARCH_AMAZON" android:text="@string/SETTING_SEARCH_AMAZON"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -402,6 +430,7 @@
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:layout_marginStart="15dp"
android:background="@color/c_view_divier_background"/> android:background="@color/c_view_divier_background"/>
<LinearLayout <LinearLayout
@ -458,7 +487,7 @@
android:text="@string/SETTING_SEARCH_BING" android:text="@string/SETTING_SEARCH_BING"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -480,18 +509,19 @@
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:layout_marginStart="15dp"
android:background="@color/c_view_divier_background"/> android:background="@color/c_view_divier_background"/>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_marginTop="15dp" android:layout_marginTop="15dp"
android:layout_marginBottom="10dp" android:layout_marginBottom="15dp"
android:orientation="horizontal" android:orientation="vertical"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<TextView <TextView
android:textColor="@color/c_text_setting_heading" android:textColor="@color/c_text_setting_heading"
android:textSize="14sp" android:textSize="15sp"
android:layout_width="0dp" android:layout_width="wrap_content"
android:textStyle="bold" android:textStyle="bold"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="40" android:layout_weight="40"
@ -499,6 +529,20 @@
android:layout_marginStart="15dp" android:layout_marginStart="15dp"
android:text="@string/SETTING_SEARCH_HEADER_2" android:text="@string/SETTING_SEARCH_HEADER_2"
/> />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:alpha="1"
android:background="@android:color/transparent"
android:clickable="false"
android:padding="0dp"
android:paddingStart="15dp"
android:text="@string/SETTING_SEARCH_HEADER_2_INFO"
android:textAlignment="textStart"
android:textAllCaps="false"
android:textColor="@color/c_text_v6"
android:textSize="13.5sp"
tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
@ -506,7 +550,6 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:minHeight="65dp" android:minHeight="65dp"
android:paddingBottom="10dp"
android:background="@xml/gx_ripple_gray" android:background="@xml/gx_ripple_gray"
android:clickable="true" android:clickable="true"
android:onClick="setSearchHistory" android:onClick="setSearchHistory"
@ -519,10 +562,10 @@
android:layout_weight="6" android:layout_weight="6"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
<Button <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="20dp" android:layout_height="20dp"
android:layout_marginTop="6dp" android:layout_marginTop="3dp"
android:alpha="1" android:alpha="1"
android:background="@android:color/transparent" android:background="@android:color/transparent"
android:clickable="false" android:clickable="false"
@ -532,7 +575,7 @@
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
android:textSize="15sp" android:textSize="14sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
<TextView <TextView
@ -548,7 +591,7 @@
android:text="@string/SETTING_SEARCH_HISTORY_INFO" android:text="@string/SETTING_SEARCH_HISTORY_INFO"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
@ -569,11 +612,6 @@
</LinearLayout> </LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/c_view_divier_background"/>
<LinearLayout <LinearLayout
android:id="@+id/pOption7" android:id="@+id/pOption7"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -592,7 +630,7 @@
android:layout_weight="6" android:layout_weight="6"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
<Button <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="20dp" android:layout_height="20dp"
android:layout_marginTop="6dp" android:layout_marginTop="6dp"
@ -605,7 +643,7 @@
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v1"
android:textSize="15sp" android:textSize="14sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
<TextView <TextView
@ -621,7 +659,7 @@
android:text="@string/SETTING_SEARCH_SUGGESTION_INFO" android:text="@string/SETTING_SEARCH_SUGGESTION_INFO"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/c_text_v1" android:textColor="@color/c_text_v6"
android:textSize="13.5sp" android:textSize="13.5sp"
tools:ignore="RtlSymmetry" /> tools:ignore="RtlSymmetry" />
</LinearLayout> </LinearLayout>
@ -641,11 +679,6 @@
</LinearLayout> </LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/c_view_divier_background"/>
</LinearLayout> </LinearLayout>
</ScrollView> </ScrollView>

View File

@ -3,13 +3,14 @@
<color name="c_background_inverted">#ffffff</color> <color name="c_background_inverted">#ffffff</color>
<color name="c_view_divier_background_inner">#0f0f0f</color> <color name="c_view_divier_background_inner">#0f0f0f</color>
<color name="c_view_divier_background_inner_v1">#666666</color> <color name="c_view_divier_background_inner_v1">#666666</color>
<color name="c_view_divier_background">#141316</color> <color name="c_view_divier_background">#0f0f0f</color>
<color name="c_text_v1">#ffffff</color> <color name="c_text_v1">#ffffff</color>
<color name="c_text_v2">#b3b3b3</color> <color name="c_text_v2">#b3b3b3</color>
<color name="c_text_v3">#666666</color> <color name="c_text_v3">#666666</color>
<color name="c_text_v4">#a6a6a6</color> <color name="c_text_v4">#a6a6a6</color>
<color name="c_text_v5">#ffffff</color> <color name="c_text_v5">#ffffff</color>
<color name="c_icon_tint">#7591bd</color> <color name="c_icon_tint">#ffffff</color>
<color name="c_icon_tint_light">#a6a6a6</color>
<color name="c_text_setting_heading">#ffad33</color> <color name="c_text_setting_heading">#ffad33</color>
<color name="c_button_text_v1">#ffffff</color> <color name="c_button_text_v1">#ffffff</color>
<color name="c_button_text_v1_inverted">#3385ff</color> <color name="c_button_text_v1_inverted">#3385ff</color>
@ -34,7 +35,7 @@
<color name="c_ripple_v1">#0c0b0e</color> <color name="c_ripple_v1">#0c0b0e</color>
<color name="c_ripple_v2">#ededed</color> <color name="c_ripple_v2">#ededed</color>
<color name="c_button_text">#1c1b21</color> <color name="c_button_text">#1c1b21</color>
<color name="c_button_background">#ffad33</color> <color name="c_button_background">#a6a6a6</color>
<color name="c_alert_background">#3c3946</color> <color name="c_alert_background">#3c3946</color>
<color name="c_view_divier_background_v1">#24222a</color> <color name="c_view_divier_background_v1">#24222a</color>
<color name="c_view_divier_background_v2">#302e38</color> <color name="c_view_divier_background_v2">#302e38</color>
@ -49,6 +50,8 @@
<color name="c_text_home_menu">#ffffff</color> <color name="c_text_home_menu">#ffffff</color>
<color name="c_hint_text">#b3b3b3</color> <color name="c_hint_text">#b3b3b3</color>
<color name="c_list_item_current">#0c0b0e</color> <color name="c_list_item_current">#0c0b0e</color>
<color name="c_lock_tint">#f2f2f2</color>
<color name="c_text_v6">#a6a6a6</color>
<color name="c_alert_text">#ffffff</color> <color name="c_alert_text">#ffffff</color>
<color name="c_alert_text_inverted">#242B64</color> <color name="c_alert_text_inverted">#242B64</color>

View File

@ -4,13 +4,15 @@
<color name="c_background_inverted">#1c1b21</color> <color name="c_background_inverted">#1c1b21</color>
<color name="c_view_divier_background_inner">#ebebeb</color> <color name="c_view_divier_background_inner">#ebebeb</color>
<color name="c_view_divier_background_inner_v1">#e6e6e6</color> <color name="c_view_divier_background_inner_v1">#e6e6e6</color>
<color name="c_view_divier_background">#f2f2f2</color> <color name="c_view_divier_background">#e6e6e6</color>
<color name="c_text_v1">#192234</color> <color name="c_text_v1">#111722</color>
<color name="c_text_v2">#999999</color> <color name="c_text_v2">#999999</color>
<color name="c_text_v3">#bfbfbf</color> <color name="c_text_v3">#bfbfbf</color>
<color name="c_text_v4">#425e8a</color> <color name="c_text_v4">#425e8a</color>
<color name="c_text_v5">#000000</color> <color name="c_text_v5">#000000</color>
<color name="c_text_v6">#8c8c8c</color>
<color name="c_icon_tint">#425e8a</color> <color name="c_icon_tint">#425e8a</color>
<color name="c_icon_tint_light">#7591bd</color>
<color name="c_text_setting_heading">#3385ff</color> <color name="c_text_setting_heading">#3385ff</color>
<color name="c_button_text_v1">#3385ff</color> <color name="c_button_text_v1">#3385ff</color>
<color name="c_button_text_v1_inverted">#ffffff</color> <color name="c_button_text_v1_inverted">#ffffff</color>
@ -53,6 +55,7 @@
<color name="c_text_home_menu">#212d45</color> <color name="c_text_home_menu">#212d45</color>
<color name="c_hint_text">#b3b3b3</color> <color name="c_hint_text">#b3b3b3</color>
<color name="c_list_item_current">#f1f3f4</color> <color name="c_list_item_current">#f1f3f4</color>
<color name="c_lock_tint">#00b300</color>
<color name="c_menu_drop_shadow_05">#05e6e6e6</color> <color name="c_menu_drop_shadow_05">#05e6e6e6</color>
<color name="c_menu_drop_shadow_10">#10e6e6e6</color> <color name="c_menu_drop_shadow_10">#10e6e6e6</color>

View File

@ -28,8 +28,12 @@
<string name="SETTING_COOKIE_TEXT_INFO" translatable="false">Cookie Settings</string> <string name="SETTING_COOKIE_TEXT_INFO" translatable="false">Cookie Settings</string>
<string name="SETTING_COOKIE" translatable="false">Cookies</string> <string name="SETTING_COOKIE" translatable="false">Cookies</string>
<string name="SETTING_NOTIFICATION_HEADER" translatable="false">Settings | Notification</string> <string name="SETTING_NOTIFICATION_HEADER" translatable="false">Settings | Notification</string>
<string name="SETTING_NOTIFICATION_HEADER_1" translatable="false">Notifications</string>
<string name="SETTING_NOTIFICATION_HEADER_1_INFO" translatable="false">Manage network stats notification</string>
<string name="SETTING_NOTIFICATION_DISABLE_STATUS_NOTIFICATION" translatable="false">Network Status Notification</string> <string name="SETTING_NOTIFICATION_DISABLE_STATUS_NOTIFICATION" translatable="false">Network Status Notification</string>
<string name="SETTING_NOTIFICATION_DISABLE_STATUS_NOTIFICATION_INFO" translatable="false">Local Notification</string>
<string name="SETTING_NOTIFICATION_OPEN_NOTIFICATION_MANAGER" translatable="false">Device Notification Settings</string> <string name="SETTING_NOTIFICATION_OPEN_NOTIFICATION_MANAGER" translatable="false">Device Notification Settings</string>
<string name="SETTING_NOTIFICATION_OPEN_NOTIFICATION_MANAGER_INFO" translatable="false">System Notification</string>
<string name="SETTING_ORBOT_LOG_HEADER" translatable="false">Log Settings</string> <string name="SETTING_ORBOT_LOG_HEADER" translatable="false">Log Settings</string>
<string name="SETTING_ORBOT_LIST_VIEW" translatable="false">Show Logs in Advance List View</string> <string name="SETTING_ORBOT_LIST_VIEW" translatable="false">Show Logs in Advance List View</string>
<string name="SETTING_SEARCH" translatable="false">Manage Search</string> <string name="SETTING_SEARCH" translatable="false">Manage Search</string>
@ -38,7 +42,9 @@
<string name="SETTING_NOTIFICATION_INFO" translatable="false">New features, network status</string> <string name="SETTING_NOTIFICATION_INFO" translatable="false">New features, network status</string>
<string name="SETTING_SEARCH_HEADER" translatable="false">Settings | Search</string> <string name="SETTING_SEARCH_HEADER" translatable="false">Settings | Search</string>
<string name="SETTING_SEARCH_HEADER_1" translatable="false">Supported search engines</string> <string name="SETTING_SEARCH_HEADER_1" translatable="false">Supported search engines</string>
<string name="SETTING_SEARCH_HEADER_1_INFO" translatable="false">Choose to search directly from search bar</string>
<string name="SETTING_SEARCH_HEADER_2" translatable="false">Search setting</string> <string name="SETTING_SEARCH_HEADER_2" translatable="false">Search setting</string>
<string name="SETTING_SEARCH_HEADER_2_INFO" translatable="false">Manage how searches appear</string>
<string name="SETTING_SEARCH_DEFAULT" translatable="false">Default</string> <string name="SETTING_SEARCH_DEFAULT" translatable="false">Default</string>
<string name="SETTING_SEARCH_GENESIS" translatable="false">Genesis</string> <string name="SETTING_SEARCH_GENESIS" translatable="false">Genesis</string>
<string name="SETTING_SEARCH_DUCK" translatable="false">DuckDuckGo</string> <string name="SETTING_SEARCH_DUCK" translatable="false">DuckDuckGo</string>
@ -74,6 +80,8 @@
<string name="SETTING_ACCESSIBILITY_FONT_CUSTOM" translatable="false">Select custom font scale</string> <string name="SETTING_ACCESSIBILITY_FONT_CUSTOM" translatable="false">Select custom font scale</string>
<string name="SETTING_ACCESSIBILITY_FONT_CUSTOM_SAMPLE" translatable="false">Drag the slider until you can read this comfortably. Text should look at least this big after double-tapping on a paragraph</string> <string name="SETTING_ACCESSIBILITY_FONT_CUSTOM_SAMPLE" translatable="false">Drag the slider until you can read this comfortably. Text should look at least this big after double-tapping on a paragraph</string>
<string name="SETTING_ACCESSIBILITY_200_PERCENT" translatable="false">200%</string> <string name="SETTING_ACCESSIBILITY_200_PERCENT" translatable="false">200%</string>
<string name="SETTING_INTERACTION" translatable="false">Interactions</string>
<string name="SETTING_INTERACTION_INFO" translatable="false">Change how you interact with the content</string>
<string name="SETTING_PRIVACY" translatable="false">Privacy</string> <string name="SETTING_PRIVACY" translatable="false">Privacy</string>
<string name="SETTING_PRIVACY_INFO" translatable="false">Tracking, logins, data choices</string> <string name="SETTING_PRIVACY_INFO" translatable="false">Tracking, logins, data choices</string>
<string name="SETTING_PRIVACY_HEADER" translatable="false">Settings | Privacy</string> <string name="SETTING_PRIVACY_HEADER" translatable="false">Settings | Privacy</string>
@ -85,6 +93,8 @@
<string name="SETTING_PRIVACY_COOKIES_INFO" translatable="false">Select cookies preferences according to your security needs</string> <string name="SETTING_PRIVACY_COOKIES_INFO" translatable="false">Select cookies preferences according to your security needs</string>
<string name="SETTING_PRIVACY_CLEAR_PRIVATE_DATA" translatable="false">Clear private data on exit</string> <string name="SETTING_PRIVACY_CLEAR_PRIVATE_DATA" translatable="false">Clear private data on exit</string>
<string name="SETTING_PRIVACY_CLEAR_PRIVATE_DATA_INFO" translatable="false">Clear data automatically upon application close</string> <string name="SETTING_PRIVACY_CLEAR_PRIVATE_DATA_INFO" translatable="false">Clear data automatically upon application close</string>
<string name="SETTING_PRIVACY_CLEAR_PRIVATE_HEADER" translatable="false">Private Browsing</string>
<string name="SETTING_PRIVACY_CLEAR_PRIVATE_HEADER_INFO" translatable="false">Keep your identity safe and use the options below</string>
<string name="SETTING_PRIVACY_COOKIES_OPTION1" translatable="false">Enabled</string> <string name="SETTING_PRIVACY_COOKIES_OPTION1" translatable="false">Enabled</string>
<string name="SETTING_PRIVACY_COOKIES_OPTION2" translatable="false">Enabled, excluding tracking cookies</string> <string name="SETTING_PRIVACY_COOKIES_OPTION2" translatable="false">Enabled, excluding tracking cookies</string>
<string name="SETTING_PRIVACY_COOKIES_OPTION3" translatable="false">Enabled, excluding 3rd party</string> <string name="SETTING_PRIVACY_COOKIES_OPTION3" translatable="false">Enabled, excluding 3rd party</string>
@ -103,7 +113,11 @@
<string name="SETTING_ADVANCE_MEDIA" translatable="false">Allow autoplay</string> <string name="SETTING_ADVANCE_MEDIA" translatable="false">Allow autoplay</string>
<string name="SETTING_ADVANCE_MEDIA_INFO" translatable="false">Allow media to auto start</string> <string name="SETTING_ADVANCE_MEDIA_INFO" translatable="false">Allow media to auto start</string>
<string name="SETTING_ADVANCE_DATA_SAVER" translatable="false">Data saver</string> <string name="SETTING_ADVANCE_DATA_SAVER" translatable="false">Data saver</string>
<string name="SETTING_ADVANCE_TAB" translatable="false">Tab</string>
<string name="SETTING_ADVANCE_TAB_INFO" translatable="false">Change how tab behave after restarting application</string>
<string name="SETTING_ADVANCE_MEDIA_SUB_HEADER" translatable="false">Media</string> <string name="SETTING_ADVANCE_MEDIA_SUB_HEADER" translatable="false">Media</string>
<string name="SETTING_ADVANCE_DATA_SAVER_INFO" translatable="false">Change default data saver settings</string>
<string name="SETTING_ADVANCE_MEDIA_SUB_HEADER_INFO" translatable="false">Change default media settings</string>
<string name="SETTING_ADVANCE_IMAGE_OPTION_1" translatable="false">Always show images</string> <string name="SETTING_ADVANCE_IMAGE_OPTION_1" translatable="false">Always show images</string>
<string name="SETTING_ADVANCE_IMAGE_OPTION_2" translatable="false">Only show images over WI-FI</string> <string name="SETTING_ADVANCE_IMAGE_OPTION_2" translatable="false">Only show images over WI-FI</string>
<string name="SETTING_ADVANCE_IMAGE_OPTION_3" translatable="false">Block all images</string> <string name="SETTING_ADVANCE_IMAGE_OPTION_3" translatable="false">Block all images</string>
@ -120,6 +134,7 @@
<string name="SETTING_GENERAL_THEME_INFO" translatable="false">Choose light and dark or theme</string> <string name="SETTING_GENERAL_THEME_INFO" translatable="false">Choose light and dark or theme</string>
<string name="SETTING_GENERAL_THEME_LIGHT" translatable="false">Theme Light</string> <string name="SETTING_GENERAL_THEME_LIGHT" translatable="false">Theme Light</string>
<string name="SETTING_GENERAL_THEME_DARK" translatable="false">Theme Dark</string> <string name="SETTING_GENERAL_THEME_DARK" translatable="false">Theme Dark</string>
<string name="SETTING_GENERAL_INFO_OPTION" translatable="false">Change full screen browsing and language settings</string>
<string name="SETTING_GENERAL_THEME_DEFAULT" translatable="false">System Default</string> <string name="SETTING_GENERAL_THEME_DEFAULT" translatable="false">System Default</string>
<string name="SETTING_GENERAL_HOME" translatable="false">Home</string> <string name="SETTING_GENERAL_HOME" translatable="false">Home</string>
<string name="SETTING_GENERAL_HOME_INFO" translatable="false">about:blank</string> <string name="SETTING_GENERAL_HOME_INFO" translatable="false">about:blank</string>
@ -203,6 +218,7 @@
<string name="BRIDGE_BASIC_SETTING" translatable="false">Security Settings</string> <string name="BRIDGE_BASIC_SETTING" translatable="false">Security Settings</string>
<string name="BRIDGE_SETTING" translatable="false">Bridge Settings</string> <string name="BRIDGE_SETTING" translatable="false">Bridge Settings</string>
<string name="BRIDGE_AUTO" translatable="false">Create Automatically</string> <string name="BRIDGE_AUTO" translatable="false">Create Automatically</string>
<string name="BRIDGE_AUTO_INFO" translatable="false">Automatically configure bridges settings</string>
<string name="BRIDGE_MANUAL" translatable="false">Provide a Bridge I know</string> <string name="BRIDGE_MANUAL" translatable="false">Provide a Bridge I know</string>
<string name="BRIDGE_PORT_HINT" translatable="false">address:port Single Line</string> <string name="BRIDGE_PORT_HINT" translatable="false">address:port Single Line</string>
<string name="BRIDGE_HEADER" translatable="false">Proxy Settings | Bridges</string> <string name="BRIDGE_HEADER" translatable="false">Proxy Settings | Bridges</string>
@ -259,6 +275,9 @@
<string name="BOOKMARK_CLEAR" translatable="false">Clear</string> <string name="BOOKMARK_CLEAR" translatable="false">Clear</string>
<string name="BOOKMARK_SEARCH_HINT" translatable="false">Search ...</string> <string name="BOOKMARK_SEARCH_HINT" translatable="false">Search ...</string>
<!-- Help -->
<string name="HELP_TITLE" translatable="false">Support</string>
<!-- Language Manager Manager --> <!-- Language Manager Manager -->
<string name="LANGUAGE_TITLE" translatable="false">Language</string> <string name="LANGUAGE_TITLE" translatable="false">Language</string>
<string name="LANGUAGE_LANGUAGE_MESSAGE_TITLE" translatable="false">Change Language</string> <string name="LANGUAGE_LANGUAGE_MESSAGE_TITLE" translatable="false">Change Language</string>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 359 B

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 508 B

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 675 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 901 B

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 262 B

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 326 B

After

Width:  |  Height:  |  Size: 6.4 KiB

Some files were not shown because too many files have changed in this diff Show More