mirror of https://github.com/LeOS-GSI/LeOS-Genesis
parent
dce1daf69b
commit
10a9426b67
|
@ -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>
|
||||
|
|
|
@ -132,7 +132,7 @@ dependencies {
|
|||
|
||||
/* Orbot Service */
|
||||
|
||||
implementation project(path: ':orbotservice')
|
||||
implementation project(path: ':orbotservicemanager')
|
||||
|
||||
/* Helper Libraries */
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
|
@ -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>
|
|
@ -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"
|
||||
|
|
|
@ -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>
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
apply plugin: 'com.android.library'
|
||||
|
||||
android {
|
||||
compileSdkVersion 30
|
||||
compileSdkVersion 31
|
||||
buildToolsVersion '30.0.3'
|
||||
ndkVersion '21.4.7075529'
|
||||
|
0
orbotservice/src/main/jni/pdnsd/AUTHORS → orbotservicemanager/src/main/jni/pdnsd/AUTHORS
Executable file → Normal file
0
orbotservice/src/main/jni/pdnsd/AUTHORS → orbotservicemanager/src/main/jni/pdnsd/AUTHORS
Executable file → Normal file
0
orbotservice/src/main/jni/pdnsd/TODO → orbotservicemanager/src/main/jni/pdnsd/TODO
Executable file → Normal file
0
orbotservice/src/main/jni/pdnsd/TODO → orbotservicemanager/src/main/jni/pdnsd/TODO
Executable file → Normal file
0
orbotservice/src/main/jni/pdnsd/contrib/dhcp2pdnsd → orbotservicemanager/src/main/jni/pdnsd/contrib/dhcp2pdnsd
Executable file → Normal file
0
orbotservice/src/main/jni/pdnsd/contrib/dhcp2pdnsd → orbotservicemanager/src/main/jni/pdnsd/contrib/dhcp2pdnsd
Executable file → Normal file
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue