Bug FIxes

Bug FIxes
master
Abdul Mannan Saeed 2022-02-09 19:20:58 +05:00
parent 001f977dc1
commit 16c4053ca9
19 changed files with 155 additions and 67 deletions

View File

@ -3,6 +3,7 @@
<component name="DesignSurface">
<option name="filePathToZoomLevelMap">
<map>
<entry key="../../../../layout/custom_preview.xml" value="0.18645833333333334" />
<entry key="..\:/Workspace/Genesis Android/app/src/main/res/layouts/alert/layout/application_crash.xml" value="0.33" />
<entry key="..\:/Workspace/Genesis Android/app/src/main/res/layouts/alert/layout/certificate_info.xml" value="0.20260416666666667" />
<entry key="..\:/Workspace/Genesis Android/app/src/main/res/layouts/alert/layout/popup_block_popup.xml" value="0.20260416666666667" />
@ -73,6 +74,8 @@
<entry key="..\:/Workspace/Genesis-Android/app/src/main/res/layouts/tab/layout/tab_menu.xml" value="0.16875" />
<entry key="..\:/Workspace/Genesis-Android/app/src/main/res/layouts/tab/layout/tab_row_view.xml" value="0.5" />
<entry key="..\:/Workspace/Genesis-Android/app/src/main/res/layouts/tab/layout/tab_view.xml" value="0.203125" />
<entry key="app/src/main/res/layouts/home/layout/home_view.xml" value="0.15833333333333333" />
<entry key="app/src/main/res/layouts/home/layout/popup_search_view.xml" value="0.67" />
</map>
</option>
</component>

View File

@ -78,31 +78,30 @@ dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.preference:preference-ktx:1.1.1'
implementation 'androidx.preference:preference-ktx:1.2.0'
implementation 'androidx.legacy:legacy-preference-v14:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.1.0'
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.2.0'
implementation 'com.android.support:support-core-utils:28.0.0'
/* Default Libraries */
implementation 'androidx.constraintlayout:constraintlayout:2.1.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
implementation 'com.android.support.constraint:constraint-layout:2.0.4'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.preference:preference-ktx:1.1.1'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'com.google.android.material:material:1.5.0'
implementation 'androidx.preference:preference-ktx:1.2.0'
implementation 'com.google.android.material:material:1.5.0'
implementation 'androidx.appcompat:appcompat:1.4.1'
/* Firefox ABI Splits */
implementation "org.mozilla.components:browser-engine-gecko:75.0.0"
implementation "org.mozilla.components:browser-icons:91.0.6"
implementation "org.mozilla.geckoview:geckoview: 90.0.20210705185941"
implementation "org.mozilla.geckoview:geckoview: 97.0.20220202182137"
implementation "org.mozilla.components:concept-fetch:91.0.6"
implementation "org.mozilla.components:concept-base:91.0.6"
implementation "org.mozilla.components:support-utils:91.0.6"
/*Crashlytics*/
implementation 'com.flurry.android:analytics:12.13.0@aar'
@ -118,7 +117,7 @@ dependencies {
/* Crawler Service */
implementation 'org.jsoup:jsoup:1.11.1'
implementation 'org.jsoup:jsoup:1.13.1'
/* Orbot Service */
@ -133,13 +132,13 @@ dependencies {
implementation 'com.android.volley:volley:1.2.1'
implementation 'com.github.instacart.truetime-android:library-extension-rx:3.3'
implementation "net.zetetic:android-database-sqlcipher:4.4.3"
implementation "androidx.sqlite:sqlite-ktx:2.1.0"
implementation "androidx.sqlite:sqlite-ktx:2.2.0"
implementation 'androidx.palette:palette-ktx:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.1.0'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.2.0'
implementation 'com.google.android.material:material:1.5.0'
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'com.google.android.gms:play-services-ads:20.3.0'
implementation 'com.google.android.gms:play-services-ads:20.5.0'
}
/* Automated APK Generation */

View File

@ -12,6 +12,7 @@
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<application
android:allowBackup="true"

View File

@ -393,6 +393,7 @@ public class bookmarkAdapter extends RecyclerView.Adapter<bookmarkAdapter.listVi
super(itemView);
}
@SuppressLint({"SetTextI18n", "UseCompatLoadingForDrawables"})
void bindListView(bookmarkRowModel model, int p_position) {
mDateContainer = itemView.findViewById(R.id.pDateContainer);
mHeader = itemView.findViewById(R.id.pOrbotRowHeader);

View File

@ -4,7 +4,6 @@ import android.content.Context;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.text.Html;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@ -14,11 +13,8 @@ import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.darkweb.genesissearchengine.appManager.historyManager.historyEnums;
import com.darkweb.genesissearchengine.helperManager.helperMethod;
import com.example.myapplication.R;
import java.util.ArrayList;
import java.util.List;

View File

@ -30,7 +30,7 @@ public class errorHandler
}
mErrorTemplate = builder.toString();
} catch (IOException e) {
} catch (Exception ex) {
return null;
}
}

View File

@ -6,11 +6,8 @@ import android.content.Intent;
import android.net.Uri;
import android.os.Handler;
import android.util.Log;
import android.view.KeyEvent;
import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import com.darkweb.genesissearchengine.appManager.activityContextManager;
import com.darkweb.genesissearchengine.appManager.kotlinHelperLibraries.BrowserIconManager;
@ -19,21 +16,16 @@ import com.darkweb.genesissearchengine.dataManager.dataController;
import com.darkweb.genesissearchengine.dataManager.dataEnums;
import com.darkweb.genesissearchengine.eventObserver;
import com.darkweb.genesissearchengine.helperManager.helperMethod;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import static com.darkweb.genesissearchengine.constants.constants.CONST_GENESIS_URL_CACHED;
import static com.darkweb.genesissearchengine.constants.constants.CONST_GENESIS_URL_CACHED_DARK;
import static com.darkweb.genesissearchengine.constants.constants.CONST_REPORT_URL;
import static com.darkweb.genesissearchengine.constants.enums.etype.M_INDEX_WEBSITE;
import static com.darkweb.genesissearchengine.constants.enums.etype.M_NEW_LINK_IN_NEW_TAB;
import static com.darkweb.genesissearchengine.constants.enums.etype.M_NEW_LINK_IN_NEW_TAB_LOAD;
import static com.darkweb.genesissearchengine.constants.enums.etype.on_handle_external_intent;
import static org.mozilla.geckoview.GeckoSessionSettings.USER_AGENT_MODE_MOBILE;
import static org.mozilla.geckoview.StorageController.ClearFlags.AUTH_SESSIONS;
@ -44,18 +36,13 @@ import static org.mozilla.geckoview.StorageController.ClearFlags.NETWORK_CACHE;
import static org.mozilla.geckoview.StorageController.ClearFlags.PERMISSIONS;
import static org.mozilla.geckoview.StorageController.ClearFlags.SITE_DATA;
import static org.mozilla.geckoview.StorageController.ClearFlags.SITE_SETTINGS;
import org.json.JSONException;
import org.json.JSONObject;
import org.mozilla.gecko.PrefsHelper;
import org.mozilla.geckoview.ContentBlocking;
import org.mozilla.geckoview.GeckoResult;
import org.mozilla.geckoview.GeckoRuntime;
import org.mozilla.geckoview.GeckoRuntimeSettings;
import org.mozilla.geckoview.GeckoView;
import org.mozilla.geckoview.GeckoWebExecutor;
import org.mozilla.geckoview.WebExtension;
import org.mozilla.geckoview.WebRequest;
import org.mozilla.geckoview.WebResponse;
import org.torproject.android.service.wrapper.orbotLocalConstants;
@ -64,9 +51,6 @@ public class geckoClients
/*Gecko Variables*/
private geckoSession mSession = null;
private geckoSession mSession1 = null;
private geckoSession mSession2 = null;
int mCounter = 0;
private static GeckoRuntime mRuntime = null;
private BrowserIconManager mIconManager;
@ -178,20 +162,14 @@ public class geckoClients
public String getAssetsCacheFile(Context context, String fileName) {
File cacheFile = new File(context.getCacheDir(), fileName);
try {
InputStream inputStream = context.getAssets().open(fileName);
try {
FileOutputStream outputStream = new FileOutputStream(cacheFile);
try {
try (InputStream inputStream = context.getAssets().open(fileName)) {
try (FileOutputStream outputStream = new FileOutputStream(cacheFile)) {
byte[] buf = new byte[1024];
int len;
while ((len = inputStream.read(buf)) > 0) {
outputStream.write(buf, 0, len);
}
} finally {
outputStream.close();
}
} finally {
inputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
@ -230,7 +208,6 @@ public class geckoClients
private final WebExtension.MessageDelegate mMessagingDelegate = new WebExtension.MessageDelegate() {
@Nullable
@Override
public void onConnect(@NonNull WebExtension.Port port) {
Log.e("MessageDelegate", "onConnect");

View File

@ -743,7 +743,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
Cursor c= Objects.requireNonNull(dMgr).query(new DownloadManager.Query().setFilterById(id));
if(c.moveToFirst()){
String url = c.getString(c.getColumnIndex(DownloadManager.COLUMN_URI));
@SuppressLint("Range") String url = c.getString(c.getColumnIndex(DownloadManager.COLUMN_URI));
onNotificationInvoked(URLUtil.guessFileName(url, null, null), enums.etype.download_folder);
}
}
@ -1765,6 +1765,14 @@ public class homeController extends AppCompatActivity implements ComponentCallba
mHomeViewController.onUpdateSearchBar(strings.GENERIC_EMPTY_STR, false, true, true);
}
public void onCopySearch(View view){
if(mSearchBarPreviousText.length()==0){
helperMethod.copyURL(mSearchbar.getText().toString(),this);
}else {
helperMethod.copyURL(mSearchBarPreviousText,this);
}
}
public void onFindNext(View view){
mGeckoClient.getSession().findInPage(mFindText.getText().toString(), GeckoSession.FINDER_FIND_MATCH_CASE & GeckoSession.FINDER_DISPLAY_HIGHLIGHT_ALL);
}

View File

@ -115,8 +115,6 @@ class homeViewController
private boolean isLandscape = false;
private boolean isFullScreen = false;
private MovementMethod mSearchBarMovementMethod = null;
private Handler mTabDialogHandler = null;
private Runnable mTabDialogRunnable = null;
private boolean mIsTopBarExpanded = true;
void initialization(eventObserver.eventListener event, AppCompatActivity context, Button mNewTab, ConstraintLayout webviewContainer, TextView loadingText, ProgressBar progressBar, editTextManager searchbar, ConstraintLayout splashScreen, ImageView loading, MoPubView banner_ads, ImageButton gateway_splash, LinearLayout top_bar, GeckoView gecko_view, ImageView backsplash, Button connect_button, View pFindBar, EditText pFindText, TextView pFindCount, androidx.constraintlayout.widget.ConstraintLayout pTopLayout, ImageButton pVoiceInput, ImageButton pMenu, androidx.core.widget.NestedScrollView pNestedScroll, ImageView pBlocker, ImageView pBlockerFullSceen, View mSearchEngineBar, TextView pCopyright, RecyclerView pHistListView, com.google.android.material.appbar.AppBarLayout pAppBar, ImageButton pOrbotLogManager, ConstraintLayout pInfoLandscape, ConstraintLayout pInfoPortrait, ProgressBar pProgressBarIndeterminate, FragmentContainerView pTabFragment, LinearLayout pTopBarContainer, ImageView pSearchLock, ImageView pTopBarHider, ImageView pNewTabBlocker, CoordinatorLayout mCoordinatorLayout, ImageView pImageDivider, ImageButton pPanicButton, ImageView pGenesisLogo, ImageButton pPanicButtonLandscape){
@ -435,7 +433,7 @@ class homeViewController
void initTab(int count, boolean pForced, enums.etype pEvent, List<Object> pData){
if(!pForced){
ObjectAnimator scaleDown = ObjectAnimator.ofPropertyValuesHolder(mNewTab,
PropertyValuesHolder.ofFloat("scaleX", 1, 0.70f, 1),
PropertyValuesHolder.ofFloat("scale" + "X", 1, 0.70f, 1),
PropertyValuesHolder.ofFloat("scaleY", 1, 0.70f, 1));
scaleDown.setDuration(250);
scaleDown.start();
@ -1544,7 +1542,12 @@ class homeViewController
params.setMargins(0, 0, 0,-helperMethod.pxFromDp(120));
}else {
if(mBannerAds.getHeight()>0){
Object mAdvertLoaded = mEvent.invokeObserver(null, enums.etype.M_ADVERT_LOADED);
if(mAdvertLoaded!=null && (boolean)mAdvertLoaded){
params.setMargins(0, 0, 0,-helperMethod.pxFromDp(35) - helperMethod.pxFromDp(mBannerAds.getHeight()));
}else {
params.setMargins(0, 0, 0,-helperMethod.pxFromDp(70) - helperMethod.pxFromDp(mBannerAds.getHeight()));
}
}else {
params.setMargins(0, 0, 0,-helperMethod.pxFromDp(120));
}
@ -1634,7 +1637,8 @@ class homeViewController
if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
mWebviewContainer.setPadding(0,0,0,helperMethod.pxFromDp(60));
} else {
mWebviewContainer.setPadding(0,0,0,helperMethod.pxFromDp(60));
helperMethod.showToastMessage("sadadsasd",mContext);
mWebviewContainer.setPadding(0,0,0,helperMethod.pxFromDp(0));
}
}
}

View File

@ -26,16 +26,16 @@ public class constants
/*URL CONSTANTS*/
public static final String CONST_GENESIS_URL_CACHED = "resource://android/assets/homepage/homepage.html";
public static final String CONST_GENESIS_URL_CACHED_DARK = "resource://android/assets/homepage/homepage-dark.html";
public static final String CONST_GENESIS_ERROR_CACHED = "error/error.html";
public static final String CONST_GENESIS_ERROR_CACHED_DARK = "error/error-dark.html";
public static final String CONST_GENESIS_URL_CACHED = "resource://android/assets/Homepage/homepage.html";
public static final String CONST_GENESIS_URL_CACHED_DARK = "resource://android/assets/Homepage/homepage-dark.html";
public static final String CONST_GENESIS_ERROR_CACHED = "Error/error.html";
public static final String CONST_GENESIS_ERROR_CACHED_DARK = "Error/error-dark.html";
public static final String CONST_GENESIS_DOMAIN_URL_SLASHED = "https://genesishiddentechnologies.com/";
public static final String CONST_GENESIS_DOMAIN_URL = "https://genesishiddentechnologies.com";
public static final String CONST_GENESIS_LOCAL_TIME_GET_KEY = "pLocalTimeVerificationToken";
public static final String CONST_GENESIS_GMT_TIME_GET_KEY = "pGlobalTimeVerificationToken";
public static final String CONST_GENESIS_HELP_URL_CACHE = "resource://android/assets/help/help.html";
public static final String CONST_GENESIS_HELP_URL_CACHE_DARK = "resource://android/assets/help/help-dark.html";
public static final String CONST_GENESIS_HELP_URL_CACHE = "resource://android/assets/Help/help.html";
public static final String CONST_GENESIS_HELP_URL_CACHE_DARK = "resource://android/assets/Help/help-dark.html";
public static final String CONST_GENESIS_HELP_URL = "https://genesis.onion/help";
public static final String CONST_GENESIS_HELP_URL_SUB = "genesishiddentechnologies.com/help";
public static final String CONST_BACKEND_GENESIS_URL = "https://genesishiddentechnologies.com/search?q=$s&p_num=1&s_type=all";

View File

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="19dp"
android:height="19dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M16,1L4,1c-1.1,0 -2,0.9 -2,2v14h2L4,3h12L16,1zM19,5L8,5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h11c1.1,0 2,-0.9 2,-2L21,7c0,-1.1 -0.9,-2 -2,-2zM19,21L8,21L8,7h11v14z"/>
</vector>

View File

@ -132,7 +132,7 @@
android:hint="@string/GENERAL_SEARCH_HINT"
android:imeOptions="flagNoExtractUi"
android:importantForAutofill="no"
android:inputType="textNoSuggestions"
android:inputType="textWebEmailAddress"
android:maxLines="1"
android:paddingStart="52dp"
android:paddingEnd="15dp"

View File

@ -90,8 +90,31 @@
android:onClick="onClearSearchBar"
android:background="@xml/gx_ripple_default_round"
android:src="@xml/ic_close"
android:tint="@color/c_navigation_tint"
android:contentDescription="@string/GENERAL_TODO" />
android:contentDescription="@string/GENERAL_TODO"
app:tint="@color/c_navigation_tint" />
<View
android:id="@+id/view2"
android:layout_width="1dp"
android:layout_height="match_parent"
android:layout_marginStart="1dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:background="@color/c_orbot_setting_divider"
tools:ignore="RtlHardcoded" />
<ImageButton
android:id="@+id/PopoupFindCopy"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center"
android:layout_marginStart="2dp"
android:layout_marginTop="0dp"
android:background="@xml/gx_ripple_default_round"
android:contentDescription="@string/GENERAL_TODO"
android:onClick="onCopySearch"
android:src="@xml/ic_baseline_clipboard"
app:tint="@color/c_navigation_tint" />
</LinearLayout>

View File

@ -28,7 +28,7 @@ project.ext.preDexLibraries = true
project.ext.splitEnabled = true
/* Application Preferences */
project.ext.compile_sdk_version = 30
project.ext.compile_sdk_version = 31
project.ext.min_sdk_version = 21
project.ext.target_sdk_version = 30
project.ext.build_tool_version = '30.0.3'

View File

@ -1,18 +1,17 @@
buildscript {
ext {
kotlin_version = '1.5.20'
kotlin_version = '1.5.30'
}
ext.kotlinVersion = '1.1.51'
repositories {
google()
mavenLocal()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.2.2'
classpath 'com.google.gms:google-services:4.3.8'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.20"
classpath 'com.android.tools.build:gradle:7.1.1'
classpath 'com.google.gms:google-services:4.3.10'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}

12
commons.gradle Normal file
View File

@ -0,0 +1,12 @@
/*
Applies across all modules
*/
android {
compileSdkVersion 30
buildToolsVersion '30.0.3'
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
}

55
dependencies.gradle Normal file
View File

@ -0,0 +1,55 @@
ext {
versions = [
android_material : "1.4.0",
android_shell : "1.0.0",
android_snowfall : "1.2.1",
android_volley : "1.2.0",
androidx_appcompat : "1.3.1",
androidx_constraint : "2.1.0",
androidx_coordinator : "1.1.0",
androidx_core : "1.6.0",
androidx_leanback : "1.2.0-alpha01",
androidx_leanback_paging : "1.1.0-alpha08",
androidx_leanback_tab : "1.1.0-beta01",
androidx_localbroadcast : "1.0.0",
androidx_palette : "1.0.0",
androidx_recyclerview : "1.2.1",
apl_appintro : "v4.2.3",
bclogic_pulsator : "1.0.3",
fastlane_screengrab : "1.2.0",
guardian_geoip : "20191217",
guardian_jsocks : "1.0.4",
guardian_jtorctl : "0.4.5.7",
ipt_proxy : "1.4.0",
portmapper : "2.0.5",
tor_android : "0.4.6.9"
]
libs = [
android_material : "com.google.android.material:material:$versions.android_material",
android_shell : "com.jaredrummler:android-shell:$versions.android_shell",
android_snowfall : "com.github.jetradarmobile:android-snowfall:$versions.android_snowfall",
android_volley : "com.android.volley:volley:$versions.android_volley",
androidx_appcompat : "androidx.appcompat:appcompat:$versions.androidx_appcompat",
androidx_constraint : "androidx.constraintlayout:constraintlayout:$versions.androidx_constraint",
androidx_coordinator : "androidx.coordinatorlayout:coordinatorlayout:$versions.androidx_coordinator",
androidx_core : "androidx.core:core:$versions.androidx_core",
androidx_leanback_core : "androidx.leanback:leanback:$versions.androidx_leanback",
androidx_leanback_paging : "androidx.leanback:leanback-paging:$versions.androidx_leanback_paging",
androidx_leanback_preferences : "androidx.leanback:leanback-preference:$versions.androidx_leanback",
androidx_leanback_tab : "androidx.leanback:leanback-tab:$versions.androidx_leanback_tab",
androidx_localbroadcast : "androidx.localbroadcastmanager:localbroadcastmanager:$versions.androidx_localbroadcast",
androidx_palette : "androidx.palette:palette:$versions.androidx_palette",
androidx_recyclerview : "androidx.recyclerview:recyclerview:$versions.androidx_recyclerview",
apl_appintro : "com.github.apl-devs:appintro:$versions.apl_appintro",
bclogic_pulsator : "pl.bclogic:pulsator4droid:$versions.bclogic_pulsator",
fastlane_screengrab : "tools.fastlane:screengrab:$versions.fastlane_screengrab",
guardian_geoip : "info.guardianproject:geoip:$versions.guardian_geoip",
guardian_jsocks : "com.gitlab.guardianproject:jsocksandroid:$versions.guardian_jsocks",
guardian_jtorctl : "info.guardianproject:jtorctl:$versions.guardian_jtorctl",
ipt_proxy : "com.github.tladesignz:IPtProxy:$versions.ipt_proxy",
portmapper : "com.offbynull.portmapper:portmapper:$versions.portmapper",
tor_android : "info.guardianproject:tor-android:$versions.tor_android",
dns_java : "dnsjava:dnsjava:3.4.3"
]
}

View File

@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip

BIN
orbotmanager/ewr.tar.xz Normal file

Binary file not shown.