Bug Fixes

Bug Fixes
master
msmannan00 2021-04-27 02:25:23 +05:00
parent dce1daf69b
commit 10a9426b67
1000 changed files with 443 additions and 340 deletions

View File

@ -22,7 +22,7 @@
<option value="$PROJECT_DIR$/chromiumTabs" />
<option value="$PROJECT_DIR$/httpclient" />
<option value="$PROJECT_DIR$/intentintegrator" />
<option value="$PROJECT_DIR$/orbotservice" />
<option value="$PROJECT_DIR$/orbotservicemanager" />
<option value="$PROJECT_DIR$/shutterbug" />
</set>
</option>

View File

@ -132,7 +132,7 @@ dependencies {
/* Orbot Service */
implementation project(path: ':orbotservice')
implementation project(path: ':orbotservicemanager')
/* Helper Libraries */

View File

@ -4,11 +4,12 @@ import android.content.Context;
import androidx.core.view.NestedScrollingChildHelper;
import androidx.core.view.ViewCompat;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import com.darkweb.genesissearchengine.constants.status;
import com.darkweb.genesissearchengine.helperManager.eventObserver;
import org.mozilla.geckoview.GeckoView;
import org.mozilla.geckoview.PanZoomController;
import java.util.Collections;
import static com.darkweb.genesissearchengine.constants.enums.etype.GECKO_SCROLL_CHANGED;
@ -19,7 +20,7 @@ public class NestedGeckoView extends GeckoView {
private int mNestedOffsetY;
private NestedScrollingChildHelper mChildHelper;
private eventObserver.eventListener mEvent;
private int mInputResult = PanZoomController.INPUT_RESULT_UNHANDLED;
public void onSetHomeEvent(eventObserver.eventListener pEvent){
mEvent = pEvent;
@ -30,79 +31,85 @@ public class NestedGeckoView extends GeckoView {
mChildHelper = null;
}
public NestedGeckoView(Context context, AttributeSet attrs) {
super(context.getApplicationContext(), attrs);
public NestedGeckoView(final Context context) {
this(context, null);
}
public NestedGeckoView(final Context context, final AttributeSet attrs) {
super(context, attrs);
mChildHelper = new NestedScrollingChildHelper(this);
setNestedScrollingEnabled(true);
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
final MotionEvent event = MotionEvent.obtain(ev);
final int action = ev.getActionMasked();
boolean eventHandled = false;
final MotionEvent event = MotionEvent.obtain(ev);
final int action = event.getActionMasked();
if (action == MotionEvent.ACTION_DOWN) {
mNestedOffsetY = 0;
}
final int eventY = (int) event.getY();
event.offsetLocation(0, mNestedOffsetY);
switch (action) {
case MotionEvent.ACTION_MOVE:
// mEvent.invokeObserver(Collections.singletonList(null), GECKO_SCROLL_FINISHED);
final boolean allowScroll = status.sFullScreenBrowsing;
int deltaY = mLastY - eventY;
if (allowScroll && dispatchNestedPreScroll(0, deltaY, mScrollConsumed, mScrollOffset)) {
deltaY -= mScrollConsumed[1];
mLastY = eventY - mScrollOffset[1];
event.offsetLocation(0, -mScrollOffset[1]);
mNestedOffsetY += mScrollOffset[1];
}
mLastY = eventY - mScrollOffset[1];
eventHandled = super.onTouchEvent(event);
mEvent.invokeObserver(Collections.singletonList(deltaY), GECKO_SCROLL_CHANGED);
if (allowScroll && dispatchNestedScroll(0, mScrollOffset[1], 0, deltaY, mScrollOffset)) {
mLastY -= mScrollOffset[1];
event.offsetLocation(0, mScrollOffset[1]);
mNestedOffsetY += mScrollOffset[1];
mLastY -= mScrollOffset[1];
}
if(status.sFullScreenBrowsing){
Log.i("wow1", eventY + "");
mEvent.invokeObserver(Collections.singletonList(deltaY), GECKO_SCROLL_CHANGED);
}
break;
case MotionEvent.ACTION_DOWN:
eventHandled = super.onTouchEvent(event);
mLastY = eventY;
startNestedScroll(ViewCompat.SCROLL_AXIS_VERTICAL);
// mEvent.invokeObserver(Collections.singletonList(null), GECKO_SCROLL_FINISHED);
break;
case MotionEvent.ACTION_UP:
// mEvent.invokeObserver(Collections.singletonList(null), GECKO_SCROLL_FINISHED);
case MotionEvent.ACTION_CANCEL:
// mEvent.invokeObserver(Collections.singletonList(null), GECKO_SCROLL_FINISHED);
eventHandled = super.onTouchEvent(event);
stopNestedScroll();
break;
default:
// mEvent.invokeObserver(Collections.singletonList(null), GECKO_SCROLL_FINISHED);
// We don't care about other touch events
}
// Execute event handler from parent class in all cases
boolean eventHandled = super.onTouchEvent(event);
// Recycle previously obtained event
event.recycle();
return eventHandled;
}
private boolean callSuperOnTouchEvent(MotionEvent event) {
return super.onTouchEvent(event);
}
private void updateInputResult(MotionEvent event) {
super.onTouchEventForResult(event).accept(inputResult -> {
mInputResult = inputResult;
startNestedScroll(ViewCompat.SCROLL_AXIS_VERTICAL);
});
}
public int getInputResult() {
return mInputResult;
}
@Override
public void setNestedScrollingEnabled(boolean enabled) {
mChildHelper.setNestedScrollingEnabled(enabled);
@ -129,7 +136,11 @@ public class NestedGeckoView extends GeckoView {
}
@Override
public boolean dispatchNestedScroll(int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed, int[] offsetInWindow) {
public boolean dispatchNestedScroll(int dxConsumed,
int dyConsumed,
int dxUnconsumed,
int dyUnconsumed,
int[] offsetInWindow) {
return mChildHelper.dispatchNestedScroll(dxConsumed, dyConsumed, dxUnconsumed, dyUnconsumed, offsetInWindow);
}
@ -142,4 +153,9 @@ public class NestedGeckoView extends GeckoView {
public boolean dispatchNestedFling(float velocityX, float velocityY, boolean consumed) {
return mChildHelper.dispatchNestedFling(velocityX, velocityY, consumed);
}
@Override
public boolean dispatchNestedPreFling(float velocityX, float velocityY) {
return mChildHelper.dispatchNestedPreFling(velocityX, velocityY);
}
}

View File

@ -281,12 +281,12 @@ public class geckoClients
mRuntime.getStorageController().clearData(COOKIES);
}
public void onBackPressed(boolean isFinishAllowed){
public void onBackPressed(boolean isFinishAllowed, int mTabSize){
if(mSession.canGoBack()){
mSession.goBackSession();
}
else if(isFinishAllowed){
if(mSession.getRemovableFromBackPressed()){
if(mSession.getRemovableFromBackPressed() && mTabSize>1){
event.invokeObserver(null, enums.etype.M_CLOSE_TAB);
}else {
event.invokeObserver(null, enums.etype.back_list_empty);

View File

@ -114,6 +114,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
private boolean mIsProgressBarChanging = false;
private Handler mFindHandler;
private boolean mClosed = false;
private SessionState mSessionState;
geckoSession(eventObserver.eventListener event,String mSessionID,AppCompatActivity mContext, GeckoView pGeckoView){
@ -369,6 +370,10 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
mHistoryList = var2;
}
@UiThread
public void onSessionStateChange(@NonNull GeckoSession session, @NonNull SessionState sessionState) {
mSessionState = sessionState;
}
/*Navigation Delegate*/
public void onLocationChange(@NonNull GeckoSession var1, @Nullable String var2) {

View File

@ -1,6 +1,7 @@
package com.darkweb.genesissearchengine.appManager.homeManager.hintManager;
import android.annotation.SuppressLint;
import android.content.res.ColorStateList;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
@ -46,9 +47,6 @@ public class hintAdapter extends RecyclerView.Adapter<hintAdapter.listViewHolder
private ArrayList<historyRowModel> mHintList;
private AppCompatActivity mContext;
private eventObserver.eventListener mEvent;
private Map<String, Drawable> mWebIcon = new HashMap<>();
private ArrayList<String> mKeys = new ArrayList<>();
private Map<Integer,Handler> mHandlers = new HashMap<>();
private Map<Integer, Drawable> mPastWebIcon = new HashMap<>();
private Map<Integer, String> mPastIconFlicker = new HashMap<>();
@ -70,9 +68,10 @@ public class hintAdapter extends RecyclerView.Adapter<hintAdapter.listViewHolder
}
public void onClearAdapter(){
// mHandlers.clear();
// mPastIconFlicker.clear();
// mWebIcon.clear();
//mPastWebIcon.clear();
mPastWebIcon.remove(0);
mPastWebIcon.remove(1);
mPastWebIcon.remove(2);
}
/*Initializations*/
@ -123,6 +122,26 @@ public class hintAdapter extends RecyclerView.Adapter<hintAdapter.listViewHolder
mHintWebIcon = itemView.findViewById(R.id.pHintWebIcon);
mHindTypeIconTemp = new ImageView(mContext);
mHintWebIcon.setImageTintList(ColorStateList.valueOf(mContext.getResources().getColor(R.color.c_text_v6)));
if(mPastWebIcon.containsKey(getLayoutPosition())){
mHintWebIcon.setImageDrawable(mPastWebIcon.get(getLayoutPosition()));
mHintWebIcon.setImageTintList(null);
}else {
mHintWebIcon.setImageTintList(ColorStateList.valueOf(mContext.getResources().getColor(R.color.c_text_v8)));
Drawable mDrawable;
Resources res = itemView.getContext().getResources();
try {
mDrawable = Drawable.createFromXml(res, res.getXml(R.xml.ic_baseline_browser));
mMoveURL.setVisibility(View.VISIBLE);
mMoveURL.setOnTouchListener(listViewHolder.this);
mHintWebIcon.setImageDrawable(mDrawable);
} catch (Exception ignored) {
}
}
String mURLLink;
if(model.getDescription().equals(strings.GENERIC_EMPTY_STR)){
mURLLink = model.getHeader();
@ -169,111 +188,36 @@ public class hintAdapter extends RecyclerView.Adapter<hintAdapter.listViewHolder
mpHintListener.setOnTouchListener(listViewHolder.this);
String mURLPast = mURLLink;
mPastIconFlicker.put(getLayoutPosition(),mURLPast);
if(mWebIcon.containsKey(mURLLink)){
mHintWebIcon.setColorFilter(null);
mHintWebIcon.clearColorFilter();
mHintWebIcon.setImageTintList(null);
mHintWebIcon.setClipToOutline(true);
mHintWebIcon.setImageDrawable(mPastWebIcon.get(getLayoutPosition()));
}else if(mHandlers.containsKey(getLayoutPosition())){
if(mPastWebIcon.containsKey(getLayoutPosition())){
mHintWebIcon.setColorFilter(null);
mHintWebIcon.clearColorFilter();
mHintWebIcon.setImageTintList(null);
mHintWebIcon.setClipToOutline(true);
mHintWebIcon.setImageDrawable(mPastWebIcon.get(getLayoutPosition()));
Log.i("FUSSSS1111","FUSSSS3333");
}else {
Resources res1 = itemView.getContext().getResources();
try {
mHintWebIcon.setImageDrawable(Drawable.createFromXml(res1, res1.getXml(R.xml.ic_baseline_browser)));
mPastWebIcon.put(getLayoutPosition(),mHintWebIcon.getDrawable());
} catch (Exception ignored) {
}
}
}
if(!mWebIcon.containsKey(mURLLink)){
if(mURLLink.contains("boogle.store") || mURLLink.contains("genesis.onion")){
mHintWebIcon.setColorFilter(null);
mHintWebIcon.clearColorFilter();
mHintWebIcon.setImageTintList(null);
mHintWebIcon.setClipToOutline(true);
mHintWebIcon.setImageDrawable(itemView.getResources().getDrawable(R.drawable.genesis));
mPastWebIcon.put(getLayoutPosition(),mHintWebIcon.getDrawable());
}else
{
new Thread(){
public void run(){
try {
String mURLPast = mURLLink;
mPastIconFlicker.put(getLayoutPosition(),mURLPast);
mHindTypeIconTemp.setImageDrawable(null);
mEvent.invokeObserver(Arrays.asList(mHindTypeIconTemp, "http://" + helperMethod.getDomainName(model.getDescription())), enums.etype.fetch_favicon);
while (true){
int mCounter=0;
if(mHindTypeIconTemp.isAttachedToWindow() || mHindTypeIconTemp.getDrawable()==null){
sleep(50);
mCounter+=1;
}else {
break;
}
if(mCounter>6){
break;
}
}
mContext.runOnUiThread(() -> {
mWebIcon.put(mURLLink,mHindTypeIconTemp.getDrawable());
mKeys.add(mURLLink);
if(mKeys.size()>5){
mWebIcon.remove(mKeys.get(0));
mKeys.remove(0);
}
mEvent.invokeObserver(Arrays.asList(mHindTypeIconTemp, "https://" + helperMethod.getDomainName(model.getDescription())), enums.etype.fetch_favicon);
sleep(200);
mContext.runOnUiThread(() -> new Handler().postDelayed(() ->
{
if(mHindTypeIconTemp.getDrawable() != null){
if(mHandlers.containsKey(getLayoutPosition())){
mHandlers.get(getLayoutPosition()).removeCallbacksAndMessages(null);
if(getLayoutPosition()==1){
Log.i("SUPERFUCK1","SUPERFUCK1");
}
}else {
mHandlers.put(getLayoutPosition(), new Handler());
}
if(mURLPast.equals(mPastIconFlicker.get(getLayoutPosition()))){
Runnable mRunnable = () -> {
mHintWebIcon.setColorFilter(null);
mHintWebIcon.clearColorFilter();
mHintWebIcon.setImageTintList(null);
mHintWebIcon.setClipToOutline(true);
mHintWebIcon.setImageDrawable(mHindTypeIconTemp.getDrawable());
mPastWebIcon.put(getLayoutPosition(),mHindTypeIconTemp.getDrawable());
mPastWebIcon.put(getLayoutPosition(),mHintWebIcon.getDrawable());
}
if(getLayoutPosition() == 1){
Log.i("FUSSSS1111","FUSSSS1111");
}
};
mHandlers.get(getLayoutPosition()).postDelayed(mRunnable, 200);
}
}else {
if(mURLPast.equals(mPastIconFlicker.get(getLayoutPosition()))){
Resources res = itemView.getContext().getResources();
try {
Log.i("FUSSSS1111","FUSSSS2222");
mHintWebIcon.setImageDrawable(Drawable.createFromXml(res, res.getXml(R.xml.ic_baseline_browser)));
} catch (Exception ignored) {
Log.i("FUSSSS1111","FUSSSS4444");
}
}
}
});
}, 200));
} catch (InterruptedException e) {
e.printStackTrace();
@ -282,7 +226,6 @@ public class hintAdapter extends RecyclerView.Adapter<hintAdapter.listViewHolder
}.start();
}
}
}
@SuppressLint("ClickableViewAccessibility")
@Override

View File

@ -814,12 +814,14 @@ public class homeController extends AppCompatActivity implements ComponentCallba
int[] location = new int[2];
mTopLayout.getLocationOnScreen(location);
int y = location[1];
if(y<=-12){
if(status.sFullScreenBrowsing){
if(y<=-helperMethod.pxFromDp(6)){
mAppBar.setExpanded(false,true);
}else {
mAppBar.setExpanded(true,true);
}
}
}
return false;
});
@ -869,7 +871,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
mEdittextChanged.removeCallbacks(postToServerRunnable);
mSuggestions = (ArrayList<historyRowModel>)dataController.getInstance().invokeSuggestions(dataEnums.eSuggestionCommands.M_GET_SUGGESTIONS, Collections.singletonList(mText));
mEdittextChanged.postDelayed(postToServerRunnable, 350);
mEdittextChanged.postDelayed(postToServerRunnable, 150);
return;
}
if(mSuggestions.size()>0){
@ -882,7 +884,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
mSearchBarLoading = true;
mEdittextChanged.postDelayed(postToServerRunnable, 0);
}else{
mEdittextChanged.postDelayed(postToServerRunnable, 350);
mEdittextChanged.postDelayed(postToServerRunnable, 150);
}
}
}
@ -975,7 +977,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
final Handler handler = new Handler();
handler.postDelayed(() -> {
mSearchBarLoading = false;
}, 350);
}, 150);
};
public void onSearchBarInvoked(View view){
@ -1086,7 +1088,12 @@ public class homeController extends AppCompatActivity implements ComponentCallba
}
public void postNewLinkTabAnimationInBackgroundTrigger(String url){
String mExtention = helperMethod.getMimeType(url, this);
if(mExtention == null || mExtention.equals("text/html") || mExtention.equals("application/vnd.ms-htmlhelp") || mExtention.equals("application/vnd.sun.xml.writer") || mExtention.equals("application/vnd.sun.xml.writer.global") || mExtention.equals("application/vnd.sun.xml.writer.template") || mExtention.equals("application/xhtml+xml")){
initTabCount(M_NEW_LINK_IN_NEW_TAB, Collections.singletonList(url));
}else {
postNewLinkTabAnimation(url, true);
}
}
public void postNewLinkTabAnimationInBackground(String url){
@ -1185,6 +1192,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
if(!status.mThemeApplying){
runOnUiThread(() -> {
mHomeViewController.onShowTabContainer();
pluginController.getInstance().onMessageManagerInvoke(null, M_RESET);
activityContextManager.getInstance().getTabController().onInitInvoked();
});
}
@ -1207,7 +1215,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
initLocalLanguage();
helperMethod.hideKeyboard(this);
mHomeViewController.onOpenMenu(view,mGeckoClient.canGoForward(),!(mProgressBar.getAlpha()<=0 || mProgressBar.getVisibility() ==View.INVISIBLE),mGeckoClient.getUserAgent());
mHomeViewController.onOpenMenu(view,mGeckoClient.canGoForward(),!(mProgressBar.getAlpha()<=0 || mProgressBar.getVisibility() ==View.INVISIBLE),mGeckoClient.getUserAgent(), mGeckoClient.getSession().getCurrentURL());
view.setClickable(false);
new Handler().postDelayed(() ->
@ -1259,7 +1267,8 @@ public class homeController extends AppCompatActivity implements ComponentCallba
mHomeViewController.onClearSelections(true);
}
else if(!mSearchBarWasBackButtonPressed){
mGeckoClient.onBackPressed(true);
int mTabSize = (int)dataController.getInstance().invokeTab(dataEnums.eTabCommands.GET_TOTAL_TAB, null);
mGeckoClient.onBackPressed(true, mTabSize);
}
}
@ -1325,6 +1334,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_RESUME);
mHomeViewController.onClearSelections(true);
mHomeViewController.onUpdateSearchBar(mGeckoClient.getSession().getCurrentURL(),false,true, true);
mHomeViewController.initTopBarPadding();
}
@Override
@ -1635,6 +1645,9 @@ public class homeController extends AppCompatActivity implements ComponentCallba
onNewTab(isKeyboardOpened, true);
}
}
else if (menuId == R.id.menuItem25) {
pluginController.getInstance().onMessageManagerInvoke(Arrays.asList(mGeckoClient.getSession().getCurrentURL(), this), M_DOWNLOAD_SINGLE);
}
else {
mSearchbar.clearFocus();
if (menuId == R.id.menu12) {
@ -1646,6 +1659,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
helperMethod.hideKeyboard(this);
mGeckoClient.onRedrawPixel(homeController.this);
mHomeViewController.onShowTabContainer();
pluginController.getInstance().onMessageManagerInvoke(null, M_RESET);
Log.i("I AM FUCKED,","I AM FUCKED : 1");
activityContextManager.getInstance().getTabController().onInit();
}
@ -2061,7 +2075,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
dataController.getInstance().invokeTab(dataEnums.eTabCommands.M_UPDATE_PIXEL, Arrays.asList(mGeckoClient.getSession().getSessionID(), mRenderedBitmap, null, mGeckoView, true));
}
}
}, 400);
}, 100);
};
mScrollHandler.postDelayed(mScrollRunnable, 450);

View File

@ -8,6 +8,7 @@ import android.animation.ValueAnimator;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.drawable.BitmapDrawable;
@ -220,6 +221,16 @@ class homeViewController
int paddingDp = 110;
if(isFullScreen){
paddingDp = 60;
}else {
if(mContext.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){
paddingDp = 0;
}else {
mGeckoView.setPadding(0,0,0,0);
View child = mAppBar.getChildAt(0);
AppBarLayout.LayoutParams params = (AppBarLayout.LayoutParams) child.getLayoutParams();
params.setScrollFlags(0);
return;
}
}
float density = mContext.getResources().getDisplayMetrics().density;
int paddingPixel = (int)(paddingDp * density);
@ -282,7 +293,7 @@ class homeViewController
}
public void onShowTabContainer(){
onHideLoadTabDialog();
if(mTabFragment.getAlpha()==0 || mTabFragment.getAlpha()==1){
onUpdateStatusBarTheme(null, false);
@ -294,6 +305,7 @@ class homeViewController
}
public void onHideTabContainer(){
onHideLoadTabDialog();
if(mTabFragment.getAlpha()>0 || mTabFragment.getVisibility()!=View.GONE){
Log.i("SUPERFUCK4","SUPERFUCK");
mNewTab.setPressed(false);
@ -683,7 +695,7 @@ class homeViewController
/*-------------------------------------------------------Helper Methods-------------------------------------------------------*/
void onOpenMenu(View view, boolean canGoForward, boolean isLoading, int userAgent){
void onOpenMenu(View view, boolean canGoForward, boolean isLoading, int userAgent, String mURL){
if(popupWindow!=null){
popupWindow.dismiss();
@ -720,17 +732,28 @@ class homeViewController
ImageButton back = popupView.findViewById(R.id.menu22);
ImageButton close = popupView.findViewById(R.id.menu20);
ImageButton mRefresh = popupView.findViewById(R.id.menu21);
ImageButton mDownload = popupView.findViewById(R.id.menuItem25);
CheckBox desktop = popupView.findViewById(R.id.menu27);
LinearLayout newTab = popupView.findViewById(R.id.menu11);
desktop.setChecked(userAgent==USER_AGENT_MODE_DESKTOP);
String mExtention = helperMethod.getMimeType(mURL, mContext);
if(mExtention == null || mExtention.equals("text/html") || mExtention.equals("application/vnd.ms-htmlhelp") || mExtention.equals("application/vnd.sun.xml.writer") || mExtention.equals("application/vnd.sun.xml.writer.global") || mExtention.equals("application/vnd.sun.xml.writer.template") || mExtention.equals("application/xhtml+xml")){
mDownload.setEnabled(false);
mDownload.setColorFilter(Color.argb(255, 191, 191, 191));
}
if(!canGoForward){
back.setEnabled(false);
back.setColorFilter(Color.argb(255, 191, 191, 191));
}
if(!isLoading){
close.setEnabled(false);
close.setColorFilter(Color.argb(255, 191, 191, 191));
close.setVisibility(View.GONE);
mRefresh.setVisibility(View.VISIBLE);
}else {
close.setVisibility(View.VISIBLE);
mRefresh.setVisibility(View.GONE);
}
newTab.setClickable(false);

View File

@ -5,7 +5,7 @@ public class enums
/*Settings Manager*/
public enum etype{
on_update_favicon,ON_UPDATE_TAB_TITLE, ON_OPEN_TAB_VIEW,ON_NEW_TAB_ANIMATION, ON_LOAD_REQUEST,GECKO_SCROLL_CHANGED,ON_UPDATE_SEARCH_BAR,M_ON_MAIL,SESSION_ID,M_UPDATE_PIXEL_BACKGROUND,M_CACHE_UPDATE_TAB,
on_verify_selected_url_menu,FINDER_RESULT_CALLBACK,M_ADMOB_BANNER_RECHECK,M_OPEN_SESSION,
on_verify_selected_url_menu,FINDER_RESULT_CALLBACK,M_ADMOB_BANNER_RECHECK,M_OPEN_SESSION,M_DOWNLOAD_FAILURE,
welcome, reload,download_folder, M_UPDATE_THEME,M_ON_BANNER_UPDATE, M_LOAD_HOMEPAGE_GENESIS,M_INIT_TAB_COUNT_FORCED,M_SPLASH_DISABLE,M_NEW_LINK_IN_NEW_TAB,M_RESET_SUGGESTION,
url_triggered, url_triggered_new_tab,url_clear,fetch_favicon,url_clear_at,remove_from_database,is_empty,M_HOME_PAGE,M_PRELOAD_URL,ON_KEYBOARD_CLOSE,M_CLOSE_TAB,
on_close_sesson,on_long_press, on_full_screen,on_handle_external_intent,on_update_suggestion_url,progress_update,progress_update_forced, ON_EXPAND_TOP_BAR,recheck_orbot,on_url_load,on_playstore_load,back_list_empty,start_proxy, ON_UPDATE_THEME, M_INITIALIZE_TAB_SINGLE, M_INITIALIZE_TAB_LINK,on_request_completed, on_update_history,on_update_suggestion,M_WELCOME_MESSAGE,ON_FIRST_PAINT, ON_LOAD_TAB_ON_RESUME, ON_SESSION_REINIT,on_page_loaded,on_load_error,download_file_popup,on_init_ads,search_update, open_new_tab,open_new_tab_instant

View File

@ -293,6 +293,19 @@ public class helperMethod
return bitmap;
}
public static String getMimeType(Context context, Uri uri) {
String extension;
if (uri.getScheme().equals(ContentResolver.SCHEME_CONTENT)) {
final MimeTypeMap mime = MimeTypeMap.getSingleton();
extension = mime.getExtensionFromMimeType(context.getContentResolver().getType(uri));
} else {
extension = MimeTypeMap.getFileExtensionFromUrl(Uri.fromFile(new File(uri.getPath())).toString());
}
return extension;
}
public static void hideKeyboard(AppCompatActivity context) {
View view = context.findViewById(android.R.id.content);
if (view != null)

View File

@ -37,12 +37,14 @@ import java.net.URI;
import java.net.URL;
import java.net.URLConnection;
import java.text.DecimalFormat;
import java.util.Collections;
import ch.boye.httpclientandroidlib.HttpHost;
import ch.boye.httpclientandroidlib.HttpResponse;
import ch.boye.httpclientandroidlib.client.methods.HttpGet;
import ch.boye.httpclientandroidlib.conn.params.ConnRoutePNames;
import static com.darkweb.genesissearchengine.constants.enums.etype.M_DOWNLOAD_FAILURE;
import static java.lang.Thread.sleep;
@ -64,12 +66,14 @@ public class localFileDownloader extends AsyncTask<String, Integer, String> {
private float mTotalByte;
private float mDownloadByte;
private String mURL;
private eventObserver.eventListener mEvent;
public localFileDownloader(Context pContext, String pURL, String pFileName, int pID) {
public localFileDownloader(Context pContext, String pURL, String pFileName, int pID, eventObserver.eventListener pEvent) {
this.context = pContext;
this.mFileName = pFileName;
this.mURL = pURL;
this.mID = pID;
this.mEvent = pEvent;
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
@ -193,6 +197,7 @@ public class localFileDownloader extends AsyncTask<String, Integer, String> {
} catch (Exception ex) {
Log.i("FIZZAHFUCK", ex.getMessage());
if(mRequestCode>300){
mEvent.invokeObserver(Collections.singletonList(mRequestCode), M_DOWNLOAD_FAILURE);
//Toast.makeText(context,"Request Forbidden Error Code : ",mRequestCode).show();
}
onCancel();
@ -256,7 +261,7 @@ public class localFileDownloader extends AsyncTask<String, Integer, String> {
mStream.close();
}catch (Exception ex){
if(mRequestCode>300){
//Toast.makeText(context,"Request Forbidden Error Code : ",mRequestCode).show();
mEvent.invokeObserver(Collections.singletonList(mRequestCode), M_DOWNLOAD_FAILURE);
}
onCancel();
}

View File

@ -16,11 +16,14 @@ class downloadManager
private WeakReference<AppCompatActivity> mAppContext;
private Map<Integer, localFileDownloader> mDownloads = new HashMap<>();
private eventObserver.eventListener mEvent;
/*Initializations*/
downloadManager(WeakReference<AppCompatActivity> pAppContext, eventObserver.eventListener pEvent){
this.mAppContext = pAppContext;
this.mEvent = pEvent;
initialize();
}
@ -30,7 +33,7 @@ class downloadManager
private void startDownload(String pPath,String pFile) {
int mID = helperMethod.createNotificationID();
localFileDownloader mFileDownloader = (localFileDownloader)new localFileDownloader(mAppContext.get().getApplicationContext(),pPath, pFile, mID).execute(pPath);
localFileDownloader mFileDownloader = (localFileDownloader)new localFileDownloader(mAppContext.get().getApplicationContext(),pPath, pFile, mID, mEvent).execute(pPath);
mDownloads.put(mID,mFileDownloader);
}

View File

@ -174,6 +174,26 @@ class messageManager
handler.postDelayed(runnable, 1500);
}
private void mDownloadFailure()
{
mContext.runOnUiThread(() -> {
final Handler handler = new Handler();
Runnable runnable = () -> mDialog.dismiss();
initializeDialog(R.layout.popup_download_failure, Gravity.BOTTOM);
((TextView)mDialog.findViewById(R.id.pDescription)).setText(("Request denied Error " + mData.get(0)));
mDialog.findViewById(R.id.pDismiss).setOnClickListener(v -> mDialog.dismiss());
mDialog.setOnDismissListener(dialog -> {
handler.removeCallbacks(runnable);
onClearReference();
});
handler.postDelayed(runnable, 20000);
});
}
private void popupBlocked()
{
final Handler handler = new Handler();
@ -440,14 +460,14 @@ class messageManager
mDialog.dismiss();
});
mDialog.findViewById(R.id.pOption2).setOnClickListener(v -> {
mEvent.invokeObserver(Collections.singletonList(mData.get(0)), M_OPEN_LINK_CURRENT_TAB);
mDialog.dismiss();
});
mDialog.findViewById(R.id.pOption3).setOnClickListener(v -> {
mEvent.invokeObserver(Collections.singletonList(mData.get(0)), M_OPEN_LINK_NEW_TAB);
mDialog.dismiss();
});
mDialog.findViewById(R.id.pOption3).setOnClickListener(v -> {
mEvent.invokeObserver(Collections.singletonList(mData.get(0)), M_OPEN_LINK_CURRENT_TAB);
mDialog.dismiss();
});
mDialog.findViewById(R.id.pOption4).setOnClickListener(v -> {
mEvent.invokeObserver(Collections.singletonList(mData.get(0)), M_COPY_LINK);
mDialog.dismiss();
});
@ -672,6 +692,11 @@ class messageManager
newIdentityCreated();
break;
case M_DOWNLOAD_FAILURE:
/*VERIFIED*/
mDownloadFailure();
break;
case M_POPUP_BLOCKED:
/*VERIFIED*/
popupBlocked();

View File

@ -138,8 +138,12 @@ public class pluginController
/*Download Manager*/
private class downloadCallback implements eventObserver.eventListener{
@Override
public Object invokeObserver(List<Object> data, Object event_type)
public Object invokeObserver(List<Object> pData, Object event_type)
{
if(event_type.equals(enums.etype.M_DOWNLOAD_FAILURE))
{
mMessageManager.onTrigger(Arrays.asList(Collections.singletonList(pData.get(0).toString()), mHomeController.get()),M_DOWNLOAD_FAILURE);
}
return null;
}
}
@ -202,8 +206,12 @@ public class pluginController
activityContextManager.getInstance().getHomeController().panicExitInvoked();
}
else if(pEventType.equals(M_DOWNLOAD_SINGLE)){
if(pData.size()<3){
((homeController)mHomeController.get()).onManualDownload(pData.get(0).toString());
}else {
activityContextManager.getInstance().getHomeController().onManualDownloadFileName((String)pData.get(2),(String)pData.get(0));
}
}
else if(pEventType.equals(M_SECURE_CONNECTION)){
helperMethod.openActivity(settingPrivacyController.class, constants.CONST_LIST_HISTORY, mHomeController.get(),true);
}

View File

@ -28,7 +28,7 @@ public class pluginEnums
/*Message Manager*/
public enum eMessageManager{
M_RESET, M_DATA_CLEARED, M_SECURE_CONNECTION, M_POPUP_BLOCKED, M_PANIC, M_MAX_TAB_REACHED,M_DOWNLOAD_SINGLE, M_UPDATE_BRIDGES, M_NEW_IDENTITY, M_NOT_SUPPORTED, M_BRIDGE_MAIL, M_LONG_PRESS_WITH_LINK, M_LONG_PRESS_URL, M_LONG_PRESS_DOWNLOAD, M_START_ORBOT, M_DOWNLOAD_FILE, M_RATE_APP, M_REPORT_URL, M_CLEAR_BOOKMARK, M_CLEAR_HISTORY, M_BOOKMARK, M_PANIC_RESET, M_RATE_SUCCESS, M_RATE_FAILURE, M_LANGUAGE_SUPPORT_FAILURE, M_WELCOME
M_RESET, M_DATA_CLEARED, M_SECURE_CONNECTION, M_POPUP_BLOCKED, M_PANIC, M_MAX_TAB_REACHED,M_DOWNLOAD_SINGLE, M_UPDATE_BRIDGES, M_NEW_IDENTITY, M_NOT_SUPPORTED, M_BRIDGE_MAIL, M_LONG_PRESS_WITH_LINK, M_LONG_PRESS_URL, M_LONG_PRESS_DOWNLOAD, M_START_ORBOT, M_DOWNLOAD_FAILURE, M_DOWNLOAD_FILE, M_RATE_APP, M_REPORT_URL, M_CLEAR_BOOKMARK, M_CLEAR_HISTORY, M_BOOKMARK, M_PANIC_RESET, M_RATE_SUCCESS, M_RATE_FAILURE, M_LANGUAGE_SUPPORT_FAILURE, M_WELCOME
}
public enum eMessageManagerCallbacks{
M_CANCEL_WELCOME, M_APP_RATED, M_DOWNLOAD_FILE_MANUAL, M_OPEN_LINK_CURRENT_TAB, M_COPY_LINK, M_REQUEST_BRIDGES, M_SET_BRIDGES, M_OPEN_LINK_NEW_TAB, M_CLEAR_TAB, M_RATE_APPLICATION, M_OPEN_PRIVACY

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="M20,12l-1.41,-1.41L13,16.17V4h-2v12.17l-5.58,-5.59L4,12l8,8 8,-8z"/>
</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="M19,9h-4V3H9v6H5l7,7 7,-7zM5,18v2h14v-2H5z"/>
</vector>

View File

@ -41,7 +41,7 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:layout_marginEnd="15dp"
android:layout_marginEnd="10dp"
android:layout_marginBottom="10dp"
android:layout_weight="1"
android:background="@xml/ax_ripple_default_round"
@ -61,7 +61,7 @@
android:id="@+id/view6"
android:layout_width="1dp"
android:layout_height="30dp"
android:layout_marginEnd="15dp"
android:layout_marginEnd="10dp"
android:background="@color/c_border_background_divider"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/pOpenPrivacy"

View File

@ -0,0 +1,77 @@
<?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"
android:id="@+id/pToastLayoutRoot"
android:translationZ="5dp"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/pMainLayout"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginBottom="15dp"
android:background="@xml/ax_background_inverted"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
<TextView
android:id="@+id/pDescription"
android:layout_width="0dp"
app:layout_constraintHorizontal_weight="1"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:ellipsize="end"
android:maxLines="2"
android:layout_marginEnd="10dp"
android:alpha="0.8"
android:paddingStart="5dp"
android:paddingEnd="15dp"
android:text=""
android:textAlignment="textStart"
android:textColor="@color/c_alert_text_inverted"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/view6"
app:layout_constraintStart_toStartOf="@+id/pMainLayout"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="SmallSp" />
<Button
android:id="@+id/pDismiss"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
android:layout_marginBottom="10dp"
android:layout_weight="1"
android:background="@xml/ax_ripple_default_round"
android:padding="0dp"
android:text="@string/ALERT_DISMISS"
android:textAllCaps="false"
android:textColor="@color/c_button_text_v1_inverted"
android:textSize="15sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/view6"
android:layout_width="1dp"
android:layout_height="30dp"
android:layout_marginEnd="10dp"
android:background="@color/c_border_background_divider"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/pDismiss"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -43,7 +43,7 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:layout_marginEnd="15dp"
android:layout_marginEnd="10dp"
android:layout_marginBottom="10dp"
android:layout_weight="1"
android:background="@xml/ax_ripple_default_round"
@ -77,7 +77,7 @@
android:id="@+id/view4"
android:layout_width="1dp"
android:layout_height="30dp"
android:layout_marginEnd="15dp"
android:layout_marginEnd="10dp"
android:background="#3973ac"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/pDismiss"

View File

@ -41,7 +41,7 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:layout_marginEnd="15dp"
android:layout_marginEnd="10dp"
android:layout_marginBottom="10dp"
android:layout_weight="1"
android:background="@xml/ax_ripple_default_round"
@ -61,7 +61,7 @@
android:id="@+id/view6"
android:layout_width="1dp"
android:layout_height="30dp"
android:layout_marginEnd="15dp"
android:layout_marginEnd="10dp"
android:background="@color/c_border_background_divider"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/pDismiss"

View File

@ -41,7 +41,7 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:layout_marginEnd="15dp"
android:layout_marginEnd="10dp"
android:layout_marginBottom="10dp"
android:layout_weight="1"
android:background="@xml/ax_ripple_default_round"
@ -59,7 +59,7 @@
android:id="@+id/view6"
android:layout_width="1dp"
android:layout_height="30dp"
android:layout_marginEnd="15dp"
android:layout_marginEnd="10dp"
android:background="@color/c_border_background_divider"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/pDismiss"

View File

@ -43,7 +43,7 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:layout_marginEnd="15dp"
android:layout_marginEnd="10dp"
android:layout_marginBottom="10dp"
android:layout_weight="1"
android:background="@xml/ax_ripple_default_round"
@ -77,7 +77,7 @@
android:id="@+id/view6"
android:layout_width="1dp"
android:layout_height="30dp"
android:layout_marginEnd="15dp"
android:layout_marginEnd="10dp"
android:background="@color/c_border_background_divider"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/pDismiss"

View File

@ -172,13 +172,12 @@
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_weight="1"
android:layout_height="55dp"
android:orientation="vertical">
@ -202,10 +201,9 @@
<RadioButton
android:id="@+id/pBridgeObfs"
android:layout_width="0dp"
android:layout_width="35dp"
android:layout_height="match_parent"
android:clickable="false"
android:layout_weight="1"
android:layout_marginEnd="10dp"
android:layout_marginStart="50dp"
android:checked="true"
@ -230,13 +228,12 @@
android:clickable="true"
android:onClick="onMeekChecked"
android:orientation="horizontal"
android:weightSum="8"
android:focusable="true"
tools:ignore="RtlSymmetry">
<LinearLayout
android:layout_width="0dp"
android:layout_weight="7"
android:layout_weight="1"
android:layout_height="match_parent"
android:orientation="vertical">
@ -259,11 +256,10 @@
</LinearLayout>
<RadioButton
android:layout_width="0dp"
android:layout_width="35dp"
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"
@ -287,13 +283,12 @@
android:clickable="true"
android:onClick="onCustomChecked"
android:orientation="horizontal"
android:weightSum="8"
android:focusable="true"
tools:ignore="RtlSymmetry">
<LinearLayout
android:layout_width="0dp"
android:layout_weight="7"
android:layout_weight="1"
android:layout_height="match_parent"
android:orientation="vertical">
@ -317,11 +312,10 @@
</LinearLayout>
<RadioButton
android:layout_width="0dp"
android:layout_width="35dp"
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"

View File

@ -31,7 +31,7 @@
android:id="@+id/pHindTypeIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginStart="13dp"
android:alpha="0.6"
android:contentDescription="@string/GENERAL_TODO"
app:layout_constraintBottom_toBottomOf="parent"
@ -45,6 +45,7 @@
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="13dp"
android:layout_marginTop="1dp"
android:layout_marginBottom="3dp"
android:background="@xml/hox_round_outline"
android:contentDescription="@string/GENERAL_TODO"

View File

@ -33,6 +33,7 @@
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:fitsSystemWindows="true"
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">
<androidx.constraintlayout.widget.ConstraintLayout
@ -44,6 +45,7 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:fitsSystemWindows="true"
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">
<LinearLayout

View File

@ -44,21 +44,34 @@
android:layout_width="wrap_content"
android:layout_height="47dp"
android:layout_weight="1"
android:scaleX="0.95"
android:scaleY="0.95"
android:scaleX="0.96"
android:scaleY="0.96"
android:background="@xml/gx_ripple_gray_top_left"
android:contentDescription="@string/GENERAL_TODO"
android:onClick="onMenuItemInvoked"
android:src="@xml/ic_home"
android:tint="@color/c_navigation_tint" />
<ImageButton
android:id="@+id/menu22"
android:layout_width="wrap_content"
android:layout_height="47dp"
android:layout_weight="1"
android:background="@xml/gx_ripple_gray"
android:contentDescription="@string/GENERAL_TODO"
android:onClick="onMenuItemInvoked"
android:scaleX="0.96"
android:scaleY="0.96"
android:src="@xml/ic_arrow_right"
android:tint="@color/c_navigation_tint" />
<ImageButton
android:id="@+id/menu23"
android:layout_width="wrap_content"
android:layout_height="47dp"
android:layout_weight="1"
android:scaleX="0.95"
android:scaleY="0.95"
android:scaleX="0.96"
android:scaleY="0.96"
android:background="@xml/gx_ripple_gray"
android:contentDescription="@string/GENERAL_TODO"
android:onClick="onMenuItemInvoked"
@ -66,24 +79,24 @@
android:tint="@color/c_navigation_tint" />
<ImageButton
android:id="@+id/menu22"
android:id="@+id/menuItem25"
android:layout_width="wrap_content"
android:layout_height="47dp"
android:layout_weight="1"
android:scaleX="0.95"
android:scaleY="0.95"
android:background="@xml/gx_ripple_gray"
android:contentDescription="@string/GENERAL_TODO"
android:onClick="onMenuItemInvoked"
android:src="@xml/ic_arrow_right"
android:scaleX="0.96"
android:scaleY="0.96"
android:src="@xml/ic_baseline_file_download"
android:tint="@color/c_navigation_tint" />
<ImageButton
android:id="@+id/menu21"
android:layout_width="wrap_content"
android:layout_height="47dp"
android:scaleX="0.95"
android:scaleY="0.95"
android:scaleX="0.96"
android:scaleY="0.96"
android:layout_weight="1"
android:background="@xml/gx_ripple_gray"
android:contentDescription="@string/GENERAL_TODO"
@ -96,8 +109,8 @@
android:layout_width="wrap_content"
android:layout_height="47dp"
android:layout_gravity="center"
android:scaleX="0.95"
android:scaleY="0.95"
android:scaleX="0.96"
android:scaleY="0.96"
android:layout_weight="1"
android:background="@xml/gx_ripple_gray_top_right"
android:contentDescription="@string/GENERAL_TODO"

View File

@ -84,12 +84,10 @@
android:paddingBottom="10dp"
android:background="@xml/gx_ripple_gray"
android:onClick="onDefaultBrowser"
android:weightSum="8"
android:orientation="horizontal">
<ImageView
android:layout_weight="1"
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="10dp"
@ -128,12 +126,10 @@
android:paddingBottom="10dp"
android:background="@xml/gx_ripple_gray"
android:onClick="onManageGeneral"
android:orientation="horizontal"
android:weightSum="8">
android:orientation="horizontal">
<ImageView
android:layout_weight="1"
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="10dp"
@ -146,7 +142,7 @@
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="6"
android:layout_weight="1"
android:clickable="false"
android:orientation="vertical">
@ -181,9 +177,8 @@
</LinearLayout>
<ImageButton
android:layout_width="0dp"
android:layout_width="45dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_marginEnd="5dp"
android:autoMirrored="true"
android:background="@android:color/transparent"
@ -207,12 +202,10 @@
android:paddingBottom="10dp"
android:background="@xml/gx_ripple_gray"
android:onClick="onManageSearchEngine"
android:orientation="horizontal"
android:weightSum="8">
android:orientation="horizontal">
<ImageView
android:layout_weight="1"
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="10dp"
@ -260,9 +253,8 @@
</LinearLayout>
<ImageButton
android:layout_width="0dp"
android:layout_width="45dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/transparent"
android:contentDescription="@string/GENERAL_TODO"
android:clickable="false"
@ -285,12 +277,10 @@
android:paddingBottom="10dp"
android:background="@xml/gx_ripple_gray"
android:onClick="onManageSearchPrivacy"
android:orientation="horizontal"
android:weightSum="8">
android:orientation="horizontal">
<ImageView
android:layout_weight="1"
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="10dp"
@ -338,9 +328,8 @@
</LinearLayout>
<ImageButton
android:layout_width="0dp"
android:layout_width="45dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/transparent"
android:contentDescription="@string/GENERAL_TODO"
android:clickable="false"
@ -358,12 +347,10 @@
android:paddingBottom="10dp"
android:background="@xml/gx_ripple_gray"
android:onClick="onManageTracking"
android:orientation="horizontal"
android:weightSum="8">
android:orientation="horizontal">
<ImageView
android:layout_weight="1"
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="10dp"
@ -411,9 +398,8 @@
</LinearLayout>
<ImageButton
android:layout_width="0dp"
android:layout_width="45dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/transparent"
android:contentDescription="@string/GENERAL_TODO"
android:clickable="false"
@ -436,12 +422,10 @@
android:paddingBottom="10dp"
android:onClick="onManageNotification"
android:background="@xml/gx_ripple_gray"
android:orientation="horizontal"
android:weightSum="8">
android:orientation="horizontal">
<ImageView
android:layout_weight="1"
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
app:tint="@color/c_icon_tint"
@ -487,9 +471,8 @@
</LinearLayout>
<ImageButton
android:layout_width="0dp"
android:layout_width="45dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/transparent"
android:clickable="false"
android:layout_marginEnd="5dp"
@ -512,12 +495,10 @@
android:paddingBottom="10dp"
android:onClick="onManageSearchAccessibility"
android:background="@xml/gx_ripple_gray"
android:orientation="horizontal"
android:weightSum="8">
android:orientation="horizontal">
<ImageView
android:layout_weight="1"
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="10dp"
@ -564,9 +545,8 @@
</LinearLayout>
<ImageButton
android:layout_width="0dp"
android:layout_width="45dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/transparent"
android:clickable="false"
android:layout_marginEnd="5dp"
@ -589,12 +569,10 @@
android:paddingBottom="10dp"
android:onClick="onManageSearchClearData"
android:background="@xml/gx_ripple_gray"
android:orientation="horizontal"
android:weightSum="8">
android:orientation="horizontal">
<ImageView
android:layout_weight="1"
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="10dp"
@ -641,9 +619,8 @@
</LinearLayout>
<ImageButton
android:layout_width="0dp"
android:layout_width="45dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/transparent"
android:clickable="false"
android:layout_marginEnd="5dp"
@ -666,12 +643,10 @@
android:paddingBottom="10dp"
android:onClick="onManageSearchAdvanced"
android:background="@xml/gx_ripple_gray"
android:orientation="horizontal"
android:weightSum="8">
android:orientation="horizontal">
<ImageView
android:layout_weight="1"
android:layout_width="0dp"
android:layout_width="wrap_content"
app:tint="@color/c_icon_tint"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
@ -718,9 +693,8 @@
</LinearLayout>
<ImageButton
android:layout_width="0dp"
android:layout_width="45dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/transparent"
android:clickable="false"
android:layout_marginEnd="5dp"
@ -744,16 +718,14 @@
android:paddingBottom="10dp"
android:background="@xml/gx_ripple_gray"
android:onClick="onOpenProxyStatus"
android:orientation="horizontal"
android:weightSum="8">
android:orientation="horizontal">
<ImageView
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="5dp"
android:layout_marginEnd="5dp"
android:layout_weight="1"
android:contentDescription="@string/GENERAL_TODO"
android:padding="10dp"
android:src="@xml/ic_baseline_vpn"
@ -797,10 +769,9 @@
</LinearLayout>
<ImageButton
android:layout_width="0dp"
android:layout_width="45dp"
android:layout_height="match_parent"
android:layout_marginEnd="5dp"
android:layout_weight="1"
android:background="@android:color/transparent"
android:clickable="false"
android:contentDescription="@string/GENERAL_TODO"
@ -823,16 +794,14 @@
android:onClick="onRateApplication"
android:orientation="horizontal"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:weightSum="8">
android:paddingBottom="10dp">
<ImageView
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="5dp"
android:layout_marginEnd="5dp"
android:layout_weight="1"
android:contentDescription="@string/GENERAL_TODO"
android:padding="10dp"
android:src="@xml/ic_baseline_rate"
@ -876,10 +845,9 @@
</LinearLayout>
<ImageButton
android:layout_width="0dp"
android:layout_width="45dp"
android:layout_height="match_parent"
android:layout_marginEnd="5dp"
android:layout_weight="1"
android:background="@android:color/transparent"
android:clickable="false"
android:contentDescription="@string/GENERAL_TODO"
@ -896,16 +864,14 @@
android:onClick="onShareApplication"
android:orientation="horizontal"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:weightSum="8">
android:paddingBottom="10dp">
<ImageView
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="5dp"
android:layout_marginEnd="5dp"
android:layout_weight="1"
android:contentDescription="@string/GENERAL_TODO"
android:padding="10dp"
android:src="@xml/ic_baseline_share"
@ -949,10 +915,9 @@
</LinearLayout>
<ImageButton
android:layout_width="0dp"
android:layout_width="45dp"
android:layout_height="match_parent"
android:layout_marginEnd="5dp"
android:layout_weight="1"
android:background="@android:color/transparent"
android:clickable="false"
android:contentDescription="@string/GENERAL_TODO"
@ -976,16 +941,14 @@
android:onClick="onPrivacyPolicy"
android:orientation="horizontal"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:weightSum="8">
android:paddingBottom="10dp">
<ImageView
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="5dp"
android:layout_marginEnd="5dp"
android:layout_weight="1"
android:contentDescription="@string/GENERAL_TODO"
android:padding="10dp"
android:src="@xml/ic_baseline_policy"
@ -1029,10 +992,9 @@
</LinearLayout>
<ImageButton
android:layout_width="0dp"
android:layout_width="45dp"
android:layout_height="match_parent"
android:layout_marginEnd="5dp"
android:layout_weight="1"
android:background="@android:color/transparent"
android:clickable="false"
android:contentDescription="@string/GENERAL_TODO"
@ -1049,16 +1011,14 @@
android:onClick="onReportWebsite"
android:orientation="horizontal"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:weightSum="8">
android:paddingBottom="10dp">
<ImageView
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="5dp"
android:layout_marginEnd="5dp"
android:layout_weight="1"
android:contentDescription="@string/GENERAL_TODO"
android:padding="10dp"
android:src="@xml/ic_baseline_report"
@ -1102,10 +1062,9 @@
</LinearLayout>
<ImageButton
android:layout_width="0dp"
android:layout_width="45dp"
android:layout_height="match_parent"
android:layout_marginEnd="5dp"
android:layout_weight="1"
android:background="@android:color/transparent"
android:clickable="false"
android:contentDescription="@string/GENERAL_TODO"
@ -1122,16 +1081,14 @@
android:onClick="onSitemap"
android:orientation="horizontal"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:weightSum="8">
android:paddingBottom="10dp">
<ImageView
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="5dp"
android:layout_marginEnd="5dp"
android:layout_weight="1"
android:contentDescription="@string/GENERAL_TODO"
android:padding="10dp"
android:src="@xml/ic_baseline_sitemap"
@ -1175,10 +1132,9 @@
</LinearLayout>
<ImageButton
android:layout_width="0dp"
android:layout_width="45dp"
android:layout_height="match_parent"
android:layout_marginEnd="5dp"
android:layout_weight="1"
android:background="@android:color/transparent"
android:clickable="false"
android:contentDescription="@string/GENERAL_TODO"

View File

@ -324,7 +324,7 @@
<RadioButton
android:id="@+id/pAdvanceGridOption1"
android:layout_width="wrap_content"
android:layout_width="35dp"
android:layout_height="match_parent"
android:clickable="false"
android:background="@android:color/transparent"
@ -377,7 +377,7 @@
<RadioButton
android:id="@+id/pAdvanceGridOption2"
android:layout_width="wrap_content"
android:layout_width="35dp"
android:layout_height="match_parent"
android:clickable="false"
android:background="@android:color/transparent"
@ -488,7 +488,7 @@
<RadioButton
android:id="@+id/pAdvanceImageOption1"
android:layout_width="wrap_content"
android:layout_width="35dp"
android:layout_height="match_parent"
android:clickable="false"
android:background="@android:color/transparent"
@ -541,7 +541,7 @@
<RadioButton
android:id="@+id/pAdvanceImageOption2"
android:layout_width="wrap_content"
android:layout_width="35dp"
android:layout_height="match_parent"
android:clickable="false"
android:background="@android:color/transparent"

View File

@ -302,7 +302,7 @@
<RadioButton
android:id="@+id/pThemeDark"
android:layout_width="wrap_content"
android:layout_width="35dp"
android:layout_height="match_parent"
android:clickable="false"
android:layout_marginEnd="10dp"
@ -358,7 +358,7 @@
</LinearLayout>
<RadioButton
android:layout_width="wrap_content"
android:layout_width="35dp"
android:layout_height="match_parent"
android:layout_marginEnd="10dp"
android:id="@+id/pThemeLight"
@ -416,7 +416,7 @@
</LinearLayout>
<RadioButton
android:layout_width="wrap_content"
android:layout_width="35dp"
android:layout_height="match_parent"
android:layout_marginEnd="10dp"
android:id="@+id/pThemeDefault"
@ -541,13 +541,12 @@
android:layout_height="65dp"
android:onClick="onManageLanguage"
android:background="@xml/gx_ripple_gray"
android:orientation="horizontal"
android:weightSum="7">
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="65dp"
android:layout_weight="6"
android:layout_weight="1"
android:clickable="false"
android:orientation="vertical">
@ -587,9 +586,8 @@
</LinearLayout>
<ImageButton
android:layout_width="0dp"
android:layout_width="50dp"
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"

View File

@ -128,12 +128,10 @@
android:paddingStart="3dp"
android:onClick="onSelectSearchEngine"
android:orientation="horizontal"
android:weightSum="8"
android:focusable="true">
<ImageView
android:layout_width="0dp"
android:layout_weight="1"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:padding="3dp"
@ -142,7 +140,7 @@
<LinearLayout
android:layout_width="0dp"
android:layout_weight="6"
android:layout_weight="1"
android:layout_height="55dp"
android:orientation="vertical">
<Button
@ -181,10 +179,9 @@
<RadioButton
android:id="@+id/mRadioSearch_1"
android:layout_width="0dp"
android:layout_width="50dp"
android:layout_height="match_parent"
android:clickable="false"
android:layout_weight="1"
android:layout_marginStart="50dp"
android:buttonTint="@color/c_radio_tint"
android:background="@android:color/transparent"
@ -208,12 +205,10 @@
android:paddingStart="3dp"
android:onClick="onSelectSearchEngine"
android:orientation="horizontal"
android:weightSum="8"
android:focusable="true">
<ImageView
android:layout_width="0dp"
android:layout_weight="1"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:clickable="false"
android:padding="6dp"
@ -223,7 +218,7 @@
<LinearLayout
android:layout_width="0dp"
android:layout_weight="6"
android:layout_weight="1"
android:layout_height="55dp"
android:orientation="vertical">
<Button
@ -260,10 +255,9 @@
</LinearLayout>
<RadioButton
android:layout_width="0dp"
android:layout_width="50dp"
android:layout_height="match_parent"
android:id="@+id/mRadioSearch_2"
android:layout_weight="1"
android:background="@android:color/transparent"
android:layout_marginStart="50dp"
android:src="@xml/ic_arrow_right"
@ -288,12 +282,10 @@
android:paddingStart="3dp"
android:onClick="onSelectSearchEngine"
android:orientation="horizontal"
android:weightSum="8"
android:focusable="true">
<ImageView
android:layout_width="0dp"
android:layout_weight="1"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:padding="3dp"
android:layout_marginStart="7dp"
@ -302,7 +294,7 @@
<LinearLayout
android:layout_width="0dp"
android:layout_weight="6"
android:layout_weight="1"
android:layout_height="55dp"
android:orientation="vertical">
<Button
@ -340,11 +332,10 @@
</LinearLayout>
<RadioButton
android:layout_width="0dp"
android:layout_width="50dp"
android:layout_height="match_parent"
android:id="@+id/mRadioSearch_3"
android:clickable="false"
android:layout_weight="1"
android:layout_marginStart="50dp"
android:buttonTint="@color/c_radio_tint"
android:background="@android:color/transparent"
@ -368,12 +359,10 @@
android:paddingStart="3dp"
android:onClick="onSelectSearchEngine"
android:orientation="horizontal"
android:weightSum="8"
android:focusable="true">
<ImageView
android:layout_width="0dp"
android:layout_weight="1"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:layout_marginStart="7dp"
android:padding="5dp"
@ -382,7 +371,7 @@
<LinearLayout
android:layout_width="0dp"
android:layout_weight="6"
android:layout_weight="1"
android:layout_height="55dp"
android:orientation="vertical">
<Button
@ -420,10 +409,9 @@
</LinearLayout>
<RadioButton
android:layout_width="0dp"
android:layout_width="50dp"
android:layout_height="match_parent"
android:id="@+id/mRadioSearch_4"
android:layout_weight="1"
android:background="@android:color/transparent"
android:layout_marginStart="50dp"
android:buttonTint="@color/c_radio_tint"
@ -448,12 +436,10 @@
android:paddingStart="3dp"
android:onClick="onSelectSearchEngine"
android:orientation="horizontal"
android:weightSum="8"
android:focusable="true">
<ImageView
android:layout_width="0dp"
android:layout_weight="1"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:padding="5dp"
android:layout_marginStart="7dp"
@ -462,7 +448,7 @@
<LinearLayout
android:layout_width="0dp"
android:layout_weight="6"
android:layout_weight="1"
android:layout_height="55dp"
android:orientation="vertical">
<Button
@ -500,10 +486,9 @@
</LinearLayout>
<RadioButton
android:layout_width="0dp"
android:layout_width="50dp"
android:layout_height="match_parent"
android:id="@+id/mRadioSearch_5"
android:layout_weight="1"
android:clickable="false"
android:layout_marginStart="50dp"
android:buttonTint="@color/c_radio_tint"

View File

@ -166,7 +166,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layoutDirection="ltr"
android:layout_marginTop="-2dp"
android:layout_marginTop="3dp"
android:textColor="@color/c_text_v1"
android:textSize="15sp"
android:text="@string/SETTING_PRIVACY_TRACKING_OPTION1"
@ -191,9 +191,9 @@
android:clickable="false"
android:background="@android:color/transparent"
android:buttonTint="@color/c_radio_tint"
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
android:layout_marginStart="15dp"
android:layout_gravity="center_vertical"
android:paddingStart="10dp"
android:paddingEnd="10dp"
tools:ignore="RtlHardcoded"
@ -229,7 +229,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layoutDirection="ltr"
android:layout_marginTop="-2dp"
android:layout_marginTop="3dp"
android:textColor="@color/c_text_v1"
android:textSize="15sp"
android:text="@string/SETTING_PRIVACY_TRACKING_OPTION2"
@ -254,7 +254,7 @@
android:clickable="false"
android:background="@android:color/transparent"
android:buttonTint="@color/c_radio_tint"
android:layout_marginTop="10dp"
android:layout_gravity="center_vertical"
android:layout_marginEnd="10dp"
android:layout_marginStart="15dp"
android:paddingStart="10dp"
@ -292,7 +292,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layoutDirection="ltr"
android:layout_marginTop="-2dp"
android:layout_marginTop="3dp"
android:textColor="@color/c_text_v1"
android:textSize="15sp"
android:text="@string/SETTING_PRIVACY_TRACKING_OPTION3"
@ -317,7 +317,7 @@
android:clickable="false"
android:background="@android:color/transparent"
android:buttonTint="@color/c_radio_tint"
android:layout_marginTop="10dp"
android:layout_gravity="center_vertical"
android:layout_marginEnd="10dp"
android:layout_marginStart="15dp"
android:paddingStart="10dp"

View File

@ -12,6 +12,7 @@
<color name="c_text_v4">#a6a6a6</color>
<color name="c_text_v5">#ffffff</color>
<color name="c_text_v7">#248f8f</color>
<color name="c_text_v8">#a6a6a6</color>
<color name="c_icon_tint">#ffffff</color>
<color name="c_security_popup_background">#121216</color>
<color name="c_security_popup_divider">#121216</color>

View File

@ -14,6 +14,7 @@
<color name="c_text_v5">#000000</color>
<color name="c_text_v6">#8c8c8c</color>
<color name="c_text_v7">#7591bd</color>
<color name="c_text_v8">#666666</color>
<color name="c_icon_tint">#425e8a</color>
<color name="c_icon_tint_light">#7591bd</color>
<color name="c_lang_row">#7591bd</color>

View File

@ -1,7 +1,7 @@
apply plugin: 'com.android.library'
android {
compileSdkVersion 30
compileSdkVersion 31
buildToolsVersion '30.0.3'
ndkVersion '21.4.7075529'

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