diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml deleted file mode 100644 index 131ce921..00000000 --- a/.idea/deploymentTargetDropDown.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.safedk/hashes.safedk b/.safedk/hashes.safedk index b67c308b..6243fd68 100644 --- a/.safedk/hashes.safedk +++ b/.safedk/hashes.safedk @@ -1,3 +1,3 @@ -#Sat Feb 25 16:05:10 PKT 2023 +#Sun Feb 26 18:36:51 PKT 2023 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000= -json=2083951825 +json=-1222968406 diff --git a/.safedk/plugin.properties b/.safedk/plugin.properties index 3bf4d037..836c7aec 100644 --- a/.safedk/plugin.properties +++ b/.safedk/plugin.properties @@ -1,5 +1,5 @@ # -#Sat Feb 25 16:05:10 PKT 2023 +#Sun Feb 26 18:36:51 PKT 2023 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000= pCPe4EeU2ZQVwQPeHLgseRqHBX1V5pvo9Piuu4J809dRhadEgukXa1A8po_UeXu5hmPOTaP1v4QPaMKIEOhh50=hGlhanpemGqPOKKAgaXvhyxwZaG9uD68csy1OadWTNhEgKvBWR7-7KSpyFr6nfZ4KMOuBBV5J49s2LLSg-SVxg sdk_analysis_plugin_version=4.8.5 diff --git a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/delegateModel/contentDelegate.java b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/delegateModel/contentDelegate.java index a921cfb6..87a34200 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/delegateModel/contentDelegate.java +++ b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/delegateModel/contentDelegate.java @@ -3,6 +3,8 @@ package com.hiddenservices.onionservices.appManager.homeManager.geckoManager.del import static com.hiddenservices.onionservices.pluginManager.pluginEnums.eMessageManager.M_LONG_PRESS_URL; import static com.hiddenservices.onionservices.pluginManager.pluginEnums.eMessageManager.M_LONG_PRESS_WITH_LINK; + +import android.Manifest; import android.content.ActivityNotFoundException; import android.os.Handler; import android.util.Log; @@ -18,11 +20,18 @@ import com.hiddenservices.onionservices.constants.status; import com.hiddenservices.onionservices.constants.strings; import com.hiddenservices.onionservices.eventObserver; import com.hiddenservices.onionservices.helperManager.helperMethod; +import com.karumi.dexter.Dexter; +import com.karumi.dexter.MultiplePermissionsReport; +import com.karumi.dexter.PermissionToken; +import com.karumi.dexter.listener.PermissionRequest; +import com.karumi.dexter.listener.multi.MultiplePermissionsListener; + import org.json.JSONObject; import org.mozilla.geckoview.GeckoSession; import org.mozilla.geckoview.WebResponse; import java.lang.ref.WeakReference; import java.util.Arrays; +import java.util.List; public class contentDelegate implements GeckoSession.ContentDelegate { @@ -94,16 +103,40 @@ public class contentDelegate implements GeckoSession.ContentDelegate { @UiThread @Override public void onExternalResponse(@NonNull GeckoSession session, @NonNull WebResponse response) { - try { - if (response.headers.containsKey("Content-Disposition")) { - mDownloadManager.downloadFile(response, mGeckoSession, mContext.get(), mEvent); - } else if (response.headers.containsKey("Content-Type")) { - mDownloadManager.downloadFile(response, mGeckoSession, mContext.get(), mEvent); - } - } catch (ActivityNotFoundException e) { - mEvent.invokeObserver(Arrays.asList(response, mGeckoDataModel.mSessionID), homeEnums.eGeckoCallback.ON_HANDLE_EXTERNAL_INTENT); - mGeckoSession.stop(); - } + Dexter.withContext(mContext.get()) + .withPermissions( + Manifest.permission.CAMERA, + Manifest.permission.READ_CONTACTS, + Manifest.permission.MEDIA_CONTENT_CONTROL, + Manifest.permission.MANAGE_MEDIA, + Manifest.permission.ACCESS_MEDIA_LOCATION, + Manifest.permission.READ_MEDIA_AUDIO, + Manifest.permission.READ_MEDIA_VIDEO, + Manifest.permission.READ_MEDIA_IMAGES, + Manifest.permission.MANAGE_EXTERNAL_STORAGE, + Manifest.permission.READ_EXTERNAL_STORAGE, + Manifest.permission.WRITE_EXTERNAL_STORAGE, + Manifest.permission.RECORD_AUDIO + ).withListener(new MultiplePermissionsListener() { + @Override + public void onPermissionsChecked(MultiplePermissionsReport multiplePermissionsReport) { + try { + if (response.headers.containsKey("Content-Disposition")) { + mDownloadManager.downloadFile(response, mGeckoSession, mContext.get(), mEvent); + } else if (response.headers.containsKey("Content-Type")) { + mDownloadManager.downloadFile(response, mGeckoSession, mContext.get(), mEvent); + } + } catch (ActivityNotFoundException e) { + mEvent.invokeObserver(Arrays.asList(response, mGeckoDataModel.mSessionID), homeEnums.eGeckoCallback.ON_HANDLE_EXTERNAL_INTENT); + mGeckoSession.stop(); + } + } + + @Override + public void onPermissionRationaleShouldBeShown(List list, PermissionToken permissionToken) { + + } + }).check(); } @UiThread diff --git a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/delegateModel/mediaDelegate.java b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/delegateModel/mediaDelegate.java index e468d364..6f0078fb 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/delegateModel/mediaDelegate.java +++ b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/delegateModel/mediaDelegate.java @@ -42,7 +42,9 @@ public class mediaDelegate implements GeckoSession.MediaDelegate { } public void onHideDefaultNotification(){ - NotificationManagerCompat.from(mContext.get()).cancel(S_NOTIFICATION_ID); + if(!status.mThemeApplying){ + NotificationManagerCompat.from(mContext.get()).cancel(S_NOTIFICATION_ID); + } } /*Triggers*/ diff --git a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/delegateModel/navigationDelegate.java b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/delegateModel/navigationDelegate.java index 1fc23353..2c20d8cd 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/delegateModel/navigationDelegate.java +++ b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/delegateModel/navigationDelegate.java @@ -10,10 +10,12 @@ import static com.hiddenservices.onionservices.constants.constants.CONST_GENESIS import android.util.Log; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.annotation.UiThread; import androidx.appcompat.app.AppCompatActivity; import com.hiddenservices.onionservices.appManager.homeManager.geckoManager.dataModel.geckoDataModel; import com.hiddenservices.onionservices.appManager.homeManager.geckoManager.geckoSession; import com.hiddenservices.onionservices.appManager.homeManager.geckoManager.helperClasses.errorHandler; +import com.hiddenservices.onionservices.appManager.homeManager.geckoManager.helperClasses.intentHandler; import com.hiddenservices.onionservices.appManager.homeManager.geckoManager.helperClasses.preferencesHandler; import com.hiddenservices.onionservices.appManager.homeManager.homeController.homeEnums; import com.hiddenservices.onionservices.constants.constants; @@ -30,6 +32,7 @@ import org.torproject.android.service.wrapper.orbotLocalConstants; import java.io.InputStream; import java.lang.ref.WeakReference; import java.util.Arrays; +import java.util.List; public class navigationDelegate implements GeckoSession.NavigationDelegate { @@ -62,6 +65,12 @@ public class navigationDelegate implements GeckoSession.NavigationDelegate { mCanGoForward = var2; } + @UiThread + public void onLocationChange(@NonNull GeckoSession session, @Nullable String url, final @NonNull List perms) { + url = ""; + + } + private String setGenesisVerificationToken(String pString) { try { if (pString.contains("?")) { @@ -84,6 +93,9 @@ public class navigationDelegate implements GeckoSession.NavigationDelegate { } String m_url = var1.uri; + if(m_url.startsWith("tel:")){ + return GeckoResult.fromValue(AllowOrDeny.DENY); + } if (helperMethod.getHost(m_url).endsWith(".onion")) { m_url = m_url.replace("www.", ""); } diff --git a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/delegateModel/progressDelegate.java b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/delegateModel/progressDelegate.java index 290a7243..74532dbd 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/delegateModel/progressDelegate.java +++ b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/delegateModel/progressDelegate.java @@ -12,6 +12,9 @@ import com.hiddenservices.onionservices.constants.constants; import com.hiddenservices.onionservices.constants.status; import com.hiddenservices.onionservices.eventObserver; import com.hiddenservices.onionservices.helperManager.helperMethod; + +import org.mozilla.geckoview.AllowOrDeny; +import org.mozilla.geckoview.GeckoResult; import org.mozilla.geckoview.GeckoSession; import java.lang.ref.WeakReference; import java.util.Arrays; @@ -74,10 +77,15 @@ public class progressDelegate implements GeckoSession.ProgressDelegate { @Override public void onPageStart(@NonNull GeckoSession var1, @NonNull String var2) { + if(var2.startsWith("tel:")){ + intentHandler.actionDial(var2, mContext); + return; + } securityInfo = null; mGeckoDataModel.mTheme = null; mProgress = 5; mEvent.invokeObserver(Arrays.asList(5, mGeckoDataModel.mSessionID), homeEnums.eGeckoCallback.PROGRESS_UPDATE); + if(var2.startsWith("jar:file")){ return; } @@ -152,6 +160,9 @@ public class progressDelegate implements GeckoSession.ProgressDelegate { } public boolean getSecurtityState(){ + if(mGeckoDataModel.mCurrentURL.equals("about:blank") || mGeckoDataModel.mCurrentURL.startsWith("resource://android/assets/policy")){ + return true; + } if(securityInfo==null){ return false; }else { diff --git a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/homeController/homeController.java b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/homeController/homeController.java index 8243d5e7..f6454c15 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/homeController/homeController.java +++ b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/homeController/homeController.java @@ -263,7 +263,9 @@ public class homeController extends AppCompatActivity implements ComponentCallba status.sSettingIsAppRunning = true; initPreFixes(); initBundle(); - initTor(); + if(!status.mThemeApplying){ + initTor(); + } onMemoryCalculate(); pluginController.getInstance().onAdsInvoke(null, pluginEnums.eAdManager.M_INIT_ADS); mHomeViewController.updateBannerAdvertStatus(true, (boolean) pluginController.getInstance().onAdsInvoke(null, pluginEnums.eAdManager.M_IS_ADVERT_LOADED)); @@ -301,14 +303,14 @@ public class homeController extends AppCompatActivity implements ComponentCallba } new Handler().postDelayed(() -> { - onShowDefaultNotification(); + onShowDefaultNotification(true); }, 500); }else { onHideDefaultNotification(); int notificationStatus = status.sNotificaionStatus; if (notificationStatus == 0) { pluginController.getInstance().onOrbotInvoke(null, pluginEnums.eOrbotManager.M_DISABLE_NOTIFICATION); - activityContextManager.getInstance().getHomeController().onShowDefaultNotification(); + activityContextManager.getInstance().getHomeController().onShowDefaultNotification(true); } else { if(status.mThemeApplying){ new Handler().postDelayed(() -> @@ -512,7 +514,11 @@ public class homeController extends AppCompatActivity implements ComponentCallba mHomeViewController.onUpdateSearchEngineBar(false, 150); mSearchbar.clearFocus(); mHomeViewController.onClearSelections(true); - mHomeViewController.onUpdateSearchBar(mGeckoClient.getSession().getCurrentURL(), false, false, true); + if(mProgressBar.getProgress()<=0 || mProgressBar.getProgress()>=100){ + mHomeViewController.onUpdateSearchBar(mGeckoClient.getSession().getCurrentURL(), false, false, true); + }else { + mHomeViewController.triggerUpdateSearchBar(mPastURL, false, false, true); + } } return false; }); @@ -620,7 +626,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba public void initPreFixes() { try { if(status.mThemeApplying){ - onShowDefaultNotification(); + onShowDefaultNotification(true); }else { onHideDefaultNotification(); } @@ -918,12 +924,14 @@ public class homeController extends AppCompatActivity implements ComponentCallba mGeckoClient.onMediaInvoke(enums.MediaController.SKIP_BACKWARD); } - public void onShowDefaultNotification(){ - showDefaultNotification(this, "Orion Browser"); + public void onShowDefaultNotification(boolean pSticky){ + showDefaultNotification(this, "Orion Browser", pSticky); } public void onHideDefaultNotification(){ - NotificationManagerCompat.from(this).cancelAll(); - NotificationManagerCompat.from(this).cancel(1025); + if(!status.mThemeApplying){ + NotificationManagerCompat.from(this).cancelAll(); + NotificationManagerCompat.from(this).cancel(1125); + } } public void resetAndRestart(){ @@ -953,20 +961,25 @@ public class homeController extends AppCompatActivity implements ComponentCallba } NotificationManager manager = null; - public void showDefaultNotification(Context context, String title) { + public void showDefaultNotification(Context context, String title, boolean isSticky) { if(!status.mThemeApplying && status.sTorBrowsing && status.sNotificaionStatus != 0 || !orbotLocalConstants.mAppStarted || status.sNotificaionStatus == 0){ return; } + if(status.mThemeApplying){ + return; + } manager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); - pluginController.getInstance().onOrbotInvoke(null, pluginEnums.eOrbotManager.M_DISABLE_NOTIFICATION); + if(!status.mThemeApplying){ + pluginController.getInstance().onOrbotInvoke(null, pluginEnums.eOrbotManager.M_DISABLE_NOTIFICATION); + } PendingIntent action; if (SDK_INT >= Build.VERSION_CODES.M) { - action = PendingIntent.getActivity(context, 1025, new Intent(context, homeController.class), PendingIntent.FLAG_IMMUTABLE); // Flag indicating that if the described PendingIntent already exists, the current one should be canceled before generating a new one. + action = PendingIntent.getActivity(context, 1125, new Intent(context, homeController.class), PendingIntent.FLAG_IMMUTABLE); // Flag indicating that if the described PendingIntent already exists, the current one should be canceled before generating a new one. }else { - action = PendingIntent.getActivity(context, 1025, new Intent(context, homeController.class), 0); // Flag indicating that if the described PendingIntent already exists, the current one should be canceled before generating a new one. + action = PendingIntent.getActivity(context, 1125, new Intent(context, homeController.class), 0); // Flag indicating that if the described PendingIntent already exists, the current one should be canceled before generating a new one. } NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "notify_001"); @@ -989,31 +1002,33 @@ public class homeController extends AppCompatActivity implements ComponentCallba Intent intentActionOpen = new Intent(context,homeController.class); intentActionOpen.putExtra("action","Open"); - PendingIntent pIntentOpen = helperMethod.onCreateActionIntent(context, defaultNotificationReciever.class, 1025, "media_play", 0); + PendingIntent pIntentOpen = helperMethod.onCreateActionIntent(context, defaultNotificationReciever.class, 1125, "media_play", 0); builder.addAction(0, "ERASE AND RESET", pIntentOpen); Intent intentActionClose = new Intent(context,homeController.class); intentActionClose.putExtra("action","Exit"); - PendingIntent pIntentClose = helperMethod.onCreateActionIntent(context, defaultNotificationReciever.class, 1025, "media_pause", 1); + PendingIntent pIntentClose = helperMethod.onCreateActionIntent(context, defaultNotificationReciever.class, 1125, "media_pause", 1); builder.addAction(0, "EXIT BROWSER", pIntentClose); Notification notification = builder.build(); PendingIntent dummyIntent = null; if (SDK_INT >= Build.VERSION_CODES.M) { - PendingIntent.getActivity(context, 1025, new Intent(), PendingIntent.FLAG_IMMUTABLE); + PendingIntent.getActivity(context, 1125, new Intent(), PendingIntent.FLAG_IMMUTABLE); }else { - PendingIntent.getActivity(context, 1025, new Intent(), 0); + PendingIntent.getActivity(context, 1125, new Intent(), 0); } notification.fullScreenIntent = dummyIntent; - if (SDK_INT >= Build.VERSION_CODES.TIRAMISU){ - notification.flags = Notification.FLAG_AUTO_CANCEL|Notification.FLAG_ONGOING_EVENT; - }else { - notification.flags |= Notification.FLAG_NO_CLEAR; + if(isSticky){ + if (SDK_INT >= Build.VERSION_CODES.TIRAMISU){ + notification.flags = Notification.FLAG_AUTO_CANCEL|Notification.FLAG_ONGOING_EVENT; + }else { + notification.flags |= Notification.FLAG_NO_CLEAR; + } } - int notificationCode = 1025; + int notificationCode = 1125; manager.notify(notificationCode, notification); } @@ -1121,10 +1136,10 @@ public class homeController extends AppCompatActivity implements ComponentCallba orbotLocalConstants.mAppForceExit = true; if (!status.mThemeApplying) { NotificationManagerCompat.from(this).cancel(1030); - NotificationManagerCompat.from(this).cancel(1025); + NotificationManagerCompat.from(this).cancel(1125); } - if(manager!=null){ - manager.cancel(1025); + if(manager!=null && !status.mThemeApplying){ + manager.cancel(1125); } if(mGeckoClient.getSession() !=null){ mGeckoClient.getSession().getMediaSessionDelegate().onTrigger(enums.MediaController.DESTROY); @@ -1418,12 +1433,18 @@ public class homeController extends AppCompatActivity implements ComponentCallba mHomeViewController.onUpdateSearchEngineBar(false, 150); } mHomeViewController.initSearchBarFocus(false, isKeyboardOpened); - mHomeViewController.onUpdateSearchBar(mGeckoClient.getSession().getCurrentURL(), false, true, false); + if(mProgressBar.getProgress()<=0 || mProgressBar.getProgress()>=100){ + mHomeViewController.onUpdateSearchBar(mGeckoClient.getSession().getCurrentURL(), false, false, false); + }else { + mHomeViewController.triggerUpdateSearchBar(mPastURL, false, false, false); + } helperMethod.hideKeyboard(homeController.this); } } mSearchbar.setSelection(0); } else { + mPastURL = mSearchbar.getText().toString(); + msearchstatuscopy = true; mSearchBarWasBackButtonPressed = false; if (!isFocusChanging) { @@ -1451,6 +1472,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba mSearchBarLoading = false; }, 150); }; + String mPastURL = ""; public void onSearchBarInvoked(View view) { String url; @@ -1947,13 +1969,14 @@ public class homeController extends AppCompatActivity implements ComponentCallba if (mGeckoClient.getSession() != null && mGeckoClient != null) { mGeckoClient.onMediaInvoke(enums.MediaController.PAUSE); } - + onShowDefaultNotification(false); + orbotLocalConstants.mSoftNotification = true; } @Override public void onResume() { if(status.sNotificaionStatus == 1){ - onShowDefaultNotification(); + onShowDefaultNotification(true); } orbotLocalConstants.mAppForceExit = false; @@ -2030,6 +2053,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba status.mThemeApplying = false; + orbotLocalConstants.mSoftNotification = false; super.onResume(); } @@ -2260,7 +2284,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba mHomeViewController.initHomePage(); } onInvokeProxyLoading(); - onShowDefaultNotification(); + onShowDefaultNotification(true); } public void onStartApplication(View view) { @@ -2269,7 +2293,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba int notificationStatus = status.sNotificaionStatus; if (notificationStatus == 0) { pluginController.getInstance().onOrbotInvoke(null, pluginEnums.eOrbotManager.M_DISABLE_NOTIFICATION); - activityContextManager.getInstance().getHomeController().onShowDefaultNotification(); + activityContextManager.getInstance().getHomeController().onShowDefaultNotification(true); } else { new Handler().postDelayed(() -> { @@ -3109,6 +3133,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba } else if (e_type.equals(homeEnums.eGeckoCallback.PROGRESS_UPDATE_FORCED)) { //mHomeViewController.onProgressBarUpdate((int) data.get(0), true, isStaticURL()); } else if (e_type.equals(homeEnums.eGeckoCallback.ON_UPDATE_SEARCH_BAR)) { + mPastURL = (String) data.get(0); mHomeViewController.onUpdateSearchBar((String) data.get(0), false, false, false); } else if (e_type.equals(homeEnums.eGeckoCallback.ON_FIRST_PAINT)) { mHomeViewController.onFirstPaint(); @@ -3165,9 +3190,11 @@ public class homeController extends AppCompatActivity implements ComponentCallba pluginController.getInstance().onLanguageInvoke(Arrays.asList(homeController.this, status.sSettingLanguage, status.sSettingLanguageRegion, status.mThemeApplying), pluginEnums.eLangManager.M_SET_LANGUAGE); initLocalLanguage(); mHomeViewController.onPageFinished(); - mHomeViewController.onUpdateSearchBar(dataToStr(data.get(0), mGeckoClient.getSession().getCurrentURL()), false, true, false); + mPastURL = (String) data.get(0); + mHomeViewController.onUpdateSearchBar(dataToStr(data.get(0), mGeckoClient.getSession().getCurrentURL()), false, false, false); } else if (e_type.equals(homeEnums.eGeckoCallback.SEARCH_UPDATE)) { - mHomeViewController.onUpdateSearchBar(dataToStr(data.get(0), mGeckoClient.getSession().getCurrentURL()), false, true, false); + mPastURL = (String) data.get(0); + mHomeViewController.onUpdateSearchBar(dataToStr(data.get(0), mGeckoClient.getSession().getCurrentURL()), false, false, false); } else if (e_type.equals(homeEnums.eGeckoCallback.DOWNLOAD_FILE_POPUP)) { List mData = new ArrayList<>(); mData.addAll(data); @@ -3236,7 +3263,8 @@ public class homeController extends AppCompatActivity implements ComponentCallba pluginController.getInstance().onMessageManagerInvoke(Collections.singletonList(homeController.this), M_ORBOT_LOADING); new Handler().postDelayed(() -> { - mHomeViewController.onUpdateSearchBar(mGeckoClient.getSession().getCurrentURL(), false, false, true); + mPastURL = mGeckoClient.getSession().getCurrentURL(); + mHomeViewController.onUpdateSearchBar(mGeckoClient.getSession().getCurrentURL(), false, false, false); }, 1000); } else if (e_type.equals(homeEnums.eGeckoCallback.M_DEFAULT_BROWSER)) { diff --git a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/homeController/homeViewController.java b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/homeController/homeViewController.java index 6b2527df..b451800c 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/homeController/homeViewController.java +++ b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/homeController/homeViewController.java @@ -402,12 +402,16 @@ public class homeViewController { } public void setSecurityColor(){ + boolean ssl = (boolean)mEvent.invokeObserver(null, homeEnums.eHomeViewCallback.M_GET_SSL_STATUS); + if (mSearchbar.hasFocus()) { + ssl_status = true; + return; + } mSearchLock.setColorFilter(null); mSearchLock.clearColorFilter(); mSearchLock.setImageTintList(null); mSearchLock.setImageDrawable(helperMethod.getDrawableXML(mContext, R.xml.ic_baseline_lock)); - boolean ssl = (boolean)mEvent.invokeObserver(null, homeEnums.eHomeViewCallback.M_GET_SSL_STATUS); if(ssl || status.sTorBrowsing){ if(helperMethod.getColorDensity(((ColorDrawable)mTopBar.getBackground()).getColor()) < 0.80){ mSearchLock.setColorFilter(ContextCompat.getColor(mContext, R.color.c_white)); @@ -420,7 +424,6 @@ public class homeViewController { ssl_status = false; } } - @SuppressLint("UseCompatLoadingForDrawables") public void initSearchBarFocus(boolean pStatus, boolean mIsKeyboardOpened) { if (!pStatus) { @@ -1146,6 +1149,22 @@ public class homeViewController { private Handler mSearchUpdateHandler = null; void onUpdateSearchBar(String url, boolean showProtocol, boolean pClearText, boolean pBypassFocus) { + + if (mSearchbar.isFocused()){ + if(mProgressBar.getProgress()>0 && mProgressBar.getProgress()<100){ + if(!mSearchbar.getText().toString().startsWith("http")){ + if(url.startsWith("https://")){ + url = "https://" + mSearchbar.getText().toString(); + } + else{ + url = "http://" + mSearchbar.getText().toString(); + } + }else { + url = mSearchbar.getText().toString(); + } + } + } + String mURL = url; if (mURL.endsWith("genesisconfigurenewidentity.com/")) { return; diff --git a/app/src/main/java/com/hiddenservices/onionservices/appManager/settingManager/notificationManager/settingNotificationController.java b/app/src/main/java/com/hiddenservices/onionservices/appManager/settingManager/notificationManager/settingNotificationController.java index 5fd6e20a..d4f58664 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/appManager/settingManager/notificationManager/settingNotificationController.java +++ b/app/src/main/java/com/hiddenservices/onionservices/appManager/settingManager/notificationManager/settingNotificationController.java @@ -97,7 +97,7 @@ public class settingNotificationController extends AppCompatActivity { activityContextManager.getInstance().getHomeController().onHideDefaultNotification(); } else { pluginController.getInstance().onOrbotInvoke(null, pluginEnums.eOrbotManager.M_ENABLE_NOTIFICATION); - activityContextManager.getInstance().getHomeController().onShowDefaultNotification(); + activityContextManager.getInstance().getHomeController().onShowDefaultNotification(true); } } diff --git a/app/src/main/java/com/hiddenservices/onionservices/appManager/settingManager/notificationManager/settingNotificationModel.java b/app/src/main/java/com/hiddenservices/onionservices/appManager/settingManager/notificationManager/settingNotificationModel.java index 350632d2..ce3d132f 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/appManager/settingManager/notificationManager/settingNotificationModel.java +++ b/app/src/main/java/com/hiddenservices/onionservices/appManager/settingManager/notificationManager/settingNotificationModel.java @@ -33,7 +33,7 @@ class settingNotificationModel { if(status.sTorBrowsing){ pluginController.getInstance().onOrbotInvoke(null, pluginEnums.eOrbotManager.M_ENABLE_NOTIFICATION); }else { - activityContextManager.getInstance().getHomeController().onShowDefaultNotification(); + activityContextManager.getInstance().getHomeController().onShowDefaultNotification(true); } } } diff --git a/app/src/main/java/com/hiddenservices/onionservices/helperManager/helperMethod.java b/app/src/main/java/com/hiddenservices/onionservices/helperManager/helperMethod.java index 1d2487b1..e813610c 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/helperManager/helperMethod.java +++ b/app/src/main/java/com/hiddenservices/onionservices/helperManager/helperMethod.java @@ -13,7 +13,6 @@ import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; import android.content.res.Configuration; import android.content.res.Resources; import android.graphics.Color; @@ -84,6 +83,8 @@ import java.util.concurrent.Callable; import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.net.ssl.HttpsURLConnection; +import org.mozilla.geckoview.ContentBlocking; +import org.torproject.android.service.wrapper.orbotLocalConstants; import static android.content.Context.LAYOUT_INFLATER_SERVICE; import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK; import static android.content.Intent.FLAG_ACTIVITY_NO_ANIMATION; @@ -93,9 +94,6 @@ import static com.hiddenservices.onionservices.constants.keys.M_ACTIVITY_NAVIGAT import static com.hiddenservices.onionservices.constants.keys.M_RESTART_APP_KEY; import static com.hiddenservices.onionservices.pluginManager.pluginEnums.eMessageManager.M_OPEN_ACTIVITY_FAILED; -import org.mozilla.geckoview.ContentBlocking; -import org.torproject.android.service.wrapper.orbotLocalConstants; - public class helperMethod { /*Helper Methods General*/ @@ -396,7 +394,7 @@ public class helperMethod { final Intent emailIntent = new Intent(Intent.ACTION_SEND); emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"orionhiddentechnologies@gmail.com"}); - emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Issue Report"); + emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Issue Title"); emailIntent.putExtra(Intent.EXTRA_TEXT, "Write Message Here...."); emailIntent.setSelector(selectorIntent); context.startActivity(Intent.createChooser(emailIntent, "Send email...")); diff --git a/app/src/main/java/com/hiddenservices/onionservices/pluginManager/messagePluginManager/messageManager.java b/app/src/main/java/com/hiddenservices/onionservices/pluginManager/messagePluginManager/messageManager.java index 93fbe456..bd8f27ba 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/pluginManager/messagePluginManager/messageManager.java +++ b/app/src/main/java/com/hiddenservices/onionservices/pluginManager/messagePluginManager/messageManager.java @@ -463,6 +463,16 @@ public class messageManager implements View.OnClickListener, DialogInterface.OnD mDescription = data_local; } + if(mDescription.equals("")){ + mDescription = url; + } + if(mDescriptionShort.equals("")){ + mDescription = ""; + mDescriptionShort = mDescription; + } + if(mDescriptionShort.length()>50){ + mDescriptionShort = mDescriptionShort.substring(0, 50)+"..."; + } initializeDialog(R.layout.popup_download_full, Gravity.CENTER); @@ -477,8 +487,12 @@ public class messageManager implements View.OnClickListener, DialogInterface.OnD LinearLayout mPopupDownloadFullImageCopy = mDialog.findViewById(R.id.pPopupDownloadFullImageCopy); LinearLayout mPopupDownloadFullImageDownload = mDialog.findViewById(R.id.pPopupDownloadFullImageDownload); + if(mDescription.startsWith("http")){ + mPopupDownloadFullDescriptionShort.setText("static url"); + }else { + mPopupDownloadFullDescriptionShort.setText((mDescriptionShort)); + } mPopupDownloadFullDescription.setText((mDescription)); - mPopupDownloadFullDescriptionShort.setText((mDescriptionShort)); mEvent.invokeObserver(Arrays.asList((mPopupDownloadFullImage), helperMethod.getDomainName(data_local)), ON_FETCH_FAVICON); if (mData != null) { @@ -852,7 +866,7 @@ public class messageManager implements View.OnClickListener, DialogInterface.OnD case M_POPUP_BLOCKED: /*VERIFIED*/ - onShowToast(R.layout.popup_toast_generic, R.xml.ax_background_generic, 2000, mContext.getString(R.string.TOAST_ALERT_SETTING_PRIVACY_POPUP), mContext.getString(R.string.TOAST_ALERT_SETTING), M_OPEN_PRIVACY); + onShowToast(R.layout.popup_toast_generic, R.xml.ax_background_important, 2000, mContext.getString(R.string.TOAST_ALERT_SETTING_PRIVACY_POPUP), mContext.getString(R.string.TOAST_ALERT_SETTING), M_OPEN_PRIVACY); break; case M_MAX_TAB_REACHED: diff --git a/app/src/main/java/com/hiddenservices/onionservices/pluginManager/orbotPluginManager/orbotManager.java b/app/src/main/java/com/hiddenservices/onionservices/pluginManager/orbotPluginManager/orbotManager.java index d9d5299f..c8ae9985 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/pluginManager/orbotPluginManager/orbotManager.java +++ b/app/src/main/java/com/hiddenservices/onionservices/pluginManager/orbotPluginManager/orbotManager.java @@ -135,7 +135,7 @@ public class orbotManager { } } else if (pCommands.equals(pluginEnums.eOrbotManager.M_UPDATE_BRIDGES)) { orbotLocalConstants.mInitUpdateBridge = (boolean)pData.get(0); - } else if (pCommands.equals(pluginEnums.eOrbotManager.M_UPDATE_BRIDGE_LIST)) { + } else if (pCommands.equals(pluginEnums.eOrbotManager.M_UPDATE_BRIDGE_LIST)) { orbotLocalConstants.mInitUpdateBridgeList = (String)pData.get(0); } else if (pCommands.equals(pluginEnums.eOrbotManager.M_UPDATE_VPN)) { orbotLocalConstants.mInitUpdateVPN = (boolean)pData.get(0); diff --git a/app/src/main/java/com/hiddenservices/onionservices/pluginManager/pluginController.java b/app/src/main/java/com/hiddenservices/onionservices/pluginManager/pluginController.java index 4c195127..82cce25c 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/pluginManager/pluginController.java +++ b/app/src/main/java/com/hiddenservices/onionservices/pluginManager/pluginController.java @@ -1,5 +1,6 @@ package com.hiddenservices.onionservices.pluginManager; +import android.Manifest; import android.content.Intent; import android.os.Bundle; import android.os.Handler; @@ -24,6 +25,12 @@ import com.hiddenservices.onionservices.pluginManager.downloadPluginManager.down import com.hiddenservices.onionservices.pluginManager.langPluginManager.langManager; import com.hiddenservices.onionservices.pluginManager.messagePluginManager.messageManager; import com.hiddenservices.onionservices.pluginManager.orbotPluginManager.orbotManager; +import com.karumi.dexter.Dexter; +import com.karumi.dexter.MultiplePermissionsReport; +import com.karumi.dexter.PermissionToken; +import com.karumi.dexter.listener.PermissionRequest; +import com.karumi.dexter.listener.multi.MultiplePermissionsListener; + import java.lang.ref.WeakReference; import java.util.Arrays; import java.util.Collections; @@ -225,18 +232,51 @@ public class pluginController { activityContextManager.getInstance().getHomeController().panicExitInvoked(); return null; }); - } else if (pEventType.equals(M_DOWNLOAD_SINGLE)) { - if (pData != null) { - if (pData.size() < 3) { - ((homeController) mHomeController.get()).onManualDownload(pData.get(0).toString()); - } else { - if (pData.get(2).toString().startsWith("https://data") || pData.get(2).toString().startsWith("http://data")) { - ((homeController) mHomeController.get()).onManualDownload(pData.get(2).toString().replace("https://", "").replace("http://", "")); - } else { - ((homeController) mHomeController.get()).onManualDownloadFileName(pData.get(2).toString(), (String) pData.get(0)); - } - } - } + } else if (pEventType.equals(M_DOWNLOAD_SINGLE) || pEventType.equals(M_DOWNLOAD_FILE) || pEventType.equals(M_DOWNLOAD_FILE_MANUAL)) { + Dexter.withContext(mHomeController.get()) + .withPermissions( + Manifest.permission.CAMERA, + Manifest.permission.READ_CONTACTS, + Manifest.permission.MEDIA_CONTENT_CONTROL, + Manifest.permission.MANAGE_MEDIA, + Manifest.permission.ACCESS_MEDIA_LOCATION, + Manifest.permission.READ_MEDIA_AUDIO, + Manifest.permission.READ_MEDIA_VIDEO, + Manifest.permission.READ_MEDIA_IMAGES, + Manifest.permission.MANAGE_EXTERNAL_STORAGE, + Manifest.permission.READ_EXTERNAL_STORAGE, + Manifest.permission.WRITE_EXTERNAL_STORAGE, + Manifest.permission.RECORD_AUDIO + ).withListener(new MultiplePermissionsListener() { + @Override + public void onPermissionsChecked(MultiplePermissionsReport multiplePermissionsReport) { + if(pEventType.equals(M_DOWNLOAD_SINGLE)){ + if (pData != null) { + if (pData.size() < 3) { + ((homeController) mHomeController.get()).onManualDownload(pData.get(0).toString()); + } else { + if (pData.get(2).toString().startsWith("https://data") || pData.get(2).toString().startsWith("http://data")) { + ((homeController) mHomeController.get()).onManualDownload(pData.get(2).toString().replace("https://", "").replace("http://", "")); + } else { + ((homeController) mHomeController.get()).onManualDownloadFileName(pData.get(2).toString(), (String) pData.get(0)); + } + } + } + } + if(pEventType.equals(M_DOWNLOAD_FILE)){ + ((homeController) mHomeController.get()).onDownloadFile(); + } + if(pEventType.equals(M_DOWNLOAD_FILE_MANUAL)){ + ((homeController) mHomeController.get()).onManualDownload(pData.get(0).toString()); + } + } + + @Override + public void onPermissionRationaleShouldBeShown(List list, PermissionToken permissionToken) { + onMessageManagerInvoke(Collections.singletonList(this), M_OPEN_CICADA); + } + }).check(); + } else if (pEventType.equals(M_CANCEL_WELCOME)) { status.sSettingIsWelcomeEnabled = false; dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_IS_WELCOME_ENABLED, false)); @@ -261,10 +301,6 @@ public class pluginController { return status.sBridgeCustomType; } else if (pEventType.equals(ON_FETCH_FAVICON)) { activityContextManager.getInstance().getHomeController().onGetFavIcon((ImageView) pData.get(0), (String) pData.get(1)); - } else if (pEventType.equals(M_DOWNLOAD_FILE)) { - ((homeController) mHomeController.get()).onDownloadFile(); - } else if (pEventType.equals(M_DOWNLOAD_FILE_MANUAL)) { - ((homeController) mHomeController.get()).onManualDownload(pData.get(0).toString()); } else if (pEventType.equals(M_LOAD_NEW_TAB)) { ((homeController) mHomeController.get()).onLoadTabHidden(false, false, true, true); } else if (pEventType.equals(M_OPEN_LINK_NEW_TAB)) { diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 86b845d2..56ee75d3 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -479,7 +479,7 @@ حالة الوكيل الحالة الحالية للوكيل المداري - حالة وكيل Genesis + حالة وكيل orion انین شرط الاتصال بالسلاح شرط وكيل الجسر diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 7d24cb39..8d4f4f77 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -322,8 +322,8 @@ bloqueja totes les imatges Configuració avançada del sistema restaurar pestanyes, estalvi de dades, eines per a desenvolupadors - onion condició de representació - comproveu l\'estat de la xarxa onion + orion condició de representació + comproveu l\'estat de la xarxa orion lloc web d\'informes lloc web d’informes abusius valora aquesta app @@ -480,9 +480,9 @@ condició del representant - estat actual del proxy orbot - Orbot condició del representant - onion + estat actual del proxy orion + orion condició del representant + orion VPN condició de connectivitat Bridge condició de representant info, canvieu la configuració del sistema diff --git a/app/src/main/res/values-ch/strings.xml b/app/src/main/res/values-ch/strings.xml index 3bbd456d..f0256771 100644 --- a/app/src/main/res/values-ch/strings.xml +++ b/app/src/main/res/values-ch/strings.xml @@ -334,8 +334,8 @@ blokovat všechny obrázky Pokročilé nastavení systému obnovit karty, spořič dat, vývojářské nástroje - onion podmínka proxy - zkontrolujte stav sítě onion + orion podmínka proxy + zkontrolujte stav sítě orion nahlásit web nahlásit nevhodný web Ohodnoťte tuto aplikaci @@ -478,8 +478,8 @@ podmínka plné moci aktuální stav 11122 proxy - Orbot podmínka proxy - onion + orion podmínka proxy + orion VPN podmínka připojení Bridge podmínka proxy informace | změnit nastavení systému diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 8ef2f61a..1ecab8cd 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -334,8 +334,8 @@ Blockiere alle Bilder Erweiterte Systemeinstellung Tabs wiederherstellen, Daten sparen, Entwicklertools - onion Proxy-Bedingung - Überprüfen Sie den onion-Zustand des Netzwerks + orion Proxy-Bedingung + Überprüfen Sie den orion-Zustand des Netzwerks report website missbräuchliche Website melden Bewerte diese App @@ -478,9 +478,9 @@ Proxy-Bedingung - aktueller Zustand von orbot Proxy - Orbot Proxy-Bedingung - onion + aktueller Zustand von orion Proxy + orion Proxy-Bedingung + orion VPN Konnektivitätsbedingung Bridge Proxy-Bedingung info | Systemeinstellung ändern diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 3589a28e..ceb78ea7 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -336,8 +336,8 @@ αποκλεισμός όλων των εικόνων Ρύθμιση συστήματος εκ των προτέρων επαναφορά καρτελών, εξοικονόμηση δεδομένων, εργαλεία προγραμματιστή - onion συνθήκη διακομιστή μεσολάβησης - ελέγξτε την κατάσταση του δικτύου onion + orion συνθήκη διακομιστή μεσολάβησης + ελέγξτε την κατάσταση του δικτύου orion αναφέρετε τον ιστότοπο αναφέρετε καταχρηστικό ιστότοπο βαθμολόγησε αυτήν την εφαρμογή @@ -480,9 +480,9 @@ κατάσταση του πληρεξούσιου - τρέχουσα κατάσταση orbot διακομιστή μεσολάβησης - Orbot συνθήκη διακομιστή μεσολάβησης - onion + τρέχουσα κατάσταση orion διακομιστή μεσολάβησης + orion συνθήκη διακομιστή μεσολάβησης + orion VPN κατάσταση σύνδεσης Bridge κατάσταση μεσολάβησης πληροφορίες | αλλαγή ρύθμισης συστήματος diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 5c1ba8b4..309292cc 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -28,7 +28,7 @@ Aucun cache local stocké Cookies gérables sécurisés Sécurisé par Tor Network - Moteur de recherche Onion intégré + Moteur de recherche Orion intégré Aucun enregistrement et empreinte numérique Navigation normale Naviguer sur Tor @@ -335,8 +335,8 @@ bloquer toutes les images Paramètres système avancés onglets de restauration, économiseur de données, outils de développement - onion condition de proxy - vérifier l\'état onion du réseau + orion condition de proxy + vérifier l\'état orion du réseau rapport site Web signaler un site Web abusif évaluer l\'application @@ -479,9 +479,9 @@ condition du proxy - état actuel du proxy orbot - Orbot condition de procuration - onion + état actuel du proxy orion + orion condition de procuration + orion VPN état de la connectivité Bridge condition de procuration info | modifier les paramètres système diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 477bb19b..02402a3e 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -335,8 +335,8 @@ blokkolja az összes képet A rendszer előzetes beállítása fülek, adatmentő, fejlesztői eszközök helyreállítása - onion a proxy feltétele - ellenőrizze a hálózat onion állapotát + orion a proxy feltétele + ellenőrizze a hálózat orion állapotát jelentés honlapja visszaélésszerű webhely jelentése Értékeld ezt az alkalmazást @@ -479,9 +479,9 @@ a meghatalmazás feltétele - a orbot proxy jelenlegi állapota - A proxy Orbot feltétele - onion + a orion proxy jelenlegi állapota + A proxy orion feltétele + orion VPN a kapcsolat feltétele Bridge a proxy állapota info | a System Setting módosítása diff --git a/app/src/main/res/values-in-rID/strings.xml b/app/src/main/res/values-in-rID/strings.xml index 3b6be7ab..87840934 100644 --- a/app/src/main/res/values-in-rID/strings.xml +++ b/app/src/main/res/values-in-rID/strings.xml @@ -19,12 +19,12 @@ Diamankan oleh Jaringan Tor Tanpa Rekam dan Sidik Jari Digital - Mesin Pencari Onion bawaan + Mesin Pencari Orion bawaan Perlindungan Pelacakan Tidak Ada Cache Lokal yang Tersimpan Cookie Aman yang Dapat Dikelola Diamankan oleh Jaringan Tor - Mesin Pencari Onion bawaan + Mesin Pencari Orion bawaan Tanpa Rekam dan Sidik Jari Digital Penjelajahan Biasa Penjelajahan Tor @@ -325,8 +325,8 @@ blokkeer alle afbeeldingen Geavanceerde Systeeminstelling tabbladen herstellen, gegevensbesparing, ontwikkelaarstools - onion voorwaarde van volmacht - controleer onion conditie van netwerk + orion voorwaarde van volmacht + controleer orion conditie van netwerk rapport website beledigende website melden beoordeel deze app @@ -469,9 +469,9 @@ inschakelen voorwaarde van volmacht - huidige toestand van orbot proxy - Orbot voorwaarde van volmacht - onion Bridges status + huidige toestand van orion proxy + orion voorwaarde van volmacht + orion Bridges status VPN voorwaarde van connectiviteit Bridge voorwaarde van volmacht info, wijzig Systeeminstelling diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index fb69a6b0..b988d80d 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -23,12 +23,12 @@ Protetto dalla rete Tor Nessun record e impronte digitali - Motore di ricerca Onion integrato + Motore di ricerca Orion integrato Protezione da tracciamento Nessuna cache locale memorizzata Cookie gestibili sicuri Protetto dalla rete Tor - Motore di ricerca Onion integrato + Motore di ricerca Orion integrato Nessun record e impronte digitali Navigazione normale Navigazione Tor @@ -335,8 +335,8 @@ blocca tutte le immagini Impostazioni avanzate del sistema ripristinare schede, risparmio dati, strumenti per sviluppatori - onion condizione di delega - controllare onion stato della rete + orion condizione di delega + controllare orion stato della rete sito web di report segnalare un sito web offensivo valuta questa applicazione @@ -479,9 +479,9 @@ condizione di delega - condizione attuale del proxy orbot - Orbot condizione di delega - onion + condizione attuale del proxy orion + orion condizione di delega + orion VPN condizione di connettività Bridge condizione di delega info | modificare le impostazioni di sistema diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml index 0173a964..04876739 100644 --- a/app/src/main/res/values-ja-rJP/strings.xml +++ b/app/src/main/res/values-ja-rJP/strings.xml @@ -334,8 +334,8 @@ すべての画像をブロックする 事前システム設定 復元タブ、データセーバー、開発者ツール - プロキシのonion条件 - ネットワークのonion状態を確認してください + プロキシのorion条件 + ネットワークのorion状態を確認してください レポートのウェブサイト 虐待的なウェブサイトを報告する このアプリを評価する @@ -478,9 +478,9 @@ プロキシの状態 - orbotプロキシの現状 - Orbotプロキシの条件 - onion + orionプロキシの現状 + orionプロキシの条件 + orion VPN接続状態 プロキシのBridge条件 情報|システム設定の変更 diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 4018b31e..2dac8ab9 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -334,8 +334,8 @@ 모든 이미지 차단 고급 시스템 설정 복원 탭, 데이터 세이버, 개발자 도구 - onion 대리 조건 - onion 네트워크 상태 확인 + orion 대리 조건 + orion 네트워크 상태 확인 웹 사이트 신고 악성 웹 사이트 신고 이 앱을 평가 해주십시오 @@ -478,9 +478,9 @@ 대리 조건 - orbot 프록시의 현재 상태 - Orbot 대리 조건 - onion + orion 프록시의 현재 상태 + orion 대리 조건 + orion VPN 연결 상태 Bridge 대리 조건 정보 | 시스템 설정 변경 diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 54411981..2be21d5d 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -19,12 +19,12 @@ Beveiligd door Tor-netwerk Geen opname en digitale vingerafdrukken - Ingebouwde Onion-zoekmachine + Ingebouwde Orion-zoekmachine Bescherming tegen volgen Geen lokale cache opgeslagen Veilige beheerbare cookies Beveiligd door Tor-netwerk - Ingebouwde Onion-zoekmachine + Ingebouwde Orion-zoekmachine Geen opname en digitale vingerafdrukken Normaal browsen Tor browsen @@ -323,7 +323,7 @@ Blokkeer alle afbeeldingen Geavanceerd Herstel tabbladen, databesparing, ontwikkelaarstools - Onion Proxy-status + orion Proxy-status Controleer uienetwerk of status Rapport website Beledigende website melden @@ -470,8 +470,8 @@ Proxystatus - Huidige status van orbot-proxy - Orbot-proxystatus + Huidige status van orion-proxy + orion-proxystatus Ui Bruggen Status VPN-verbindingsstatus Bridge-verbindingsstatus diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 687c2c09..6bb8035f 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -23,12 +23,12 @@ Protegido pela Rede Tor Sem registro e impressão digital - Mecanismo de busca Onion integrado + Mecanismo de busca Orion integrado Proteção de rastreamento Nenhum cache local armazenado Cookies gerenciáveis ​​seguros Protegido pela Rede Tor - Mecanismo de busca Onion integrado + Mecanismo de busca Orion integrado Sem registro e impressão digital Navegação Normal Navegação Tor @@ -335,8 +335,8 @@ bloquear todas as imagens Configuração avançada do sistema restaurar guias, economia de dados, ferramentas de desenvolvedor - onion condição de procuração - verificar a condição onion da rede + orion condição de procuração + verificar a condição orion da rede site do relatório denunciar site abusivo Avalie este aplicativo @@ -479,9 +479,9 @@ condição de procuração - condição atual do proxy orbot - Orbot condição de procuração - onion + condição atual do proxy orion + orion condição de procuração + orion VPN condição de conectividade Bridge condição de procuração informações | alterar configuração do sistema diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 15f5b617..9eeb549e 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -335,8 +335,8 @@ blocați toate imaginile Setare avansată a sistemului filele de restaurare, economisirea datelor, instrumentele pentru dezvoltatori - onion condiția împuternicirii - verificați starea rețelei onion + orion condiția împuternicirii + verificați starea rețelei orion raportați site-ul web raportează site-ul abuziv evalueaza aceasta aplicatie @@ -479,9 +479,9 @@ condiția împuternicirii - starea actuală a proxy-ului orbot - Orbot condiția împuternicirii - onion + starea actuală a proxy-ului orion + orion condiția împuternicirii + orion VPN starea conectivității Bridge condiția împuternicirii info | modificați Setarea sistemului diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index be1d4cfa..dd7b8d5a 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -334,8 +334,8 @@ заблокировать все изображения Расширенные настройки системы восстановить вкладки, хранитель данных, инструменты разработчика - onion состояние прокси - проверить onion состояние сети + orion состояние прокси + проверить orion состояние сети веб-сайт отчета сообщить о нарушении веб-сайта Оцените это приложение @@ -478,9 +478,9 @@ состояние доверенности - текущее состояние прокси orbot - Orbot состояние прокси - onion + текущее состояние прокси orion + orion состояние прокси + orion VPN состояние подключения Bridge состояние прокси информация | изменить настройки системы diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index 48a0e0ed..c0258b02 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -334,8 +334,8 @@ บล็อกภาพทั้งหมด การตั้งค่าระบบขั้นสูง กู้คืนแท็บโปรแกรมประหยัดข้อมูลเครื่องมือสำหรับนักพัฒนา - onion เงื่อนไขการมอบฉันทะ - ตรวจสอบสภาพเครือข่าย onion + orion เงื่อนไขการมอบฉันทะ + ตรวจสอบสภาพเครือข่าย orion รายงานเว็บไซต์ รายงานเว็บไซต์ที่ไม่เหมาะสม ให้คะแนนแอปนี้ @@ -478,9 +478,9 @@ เงื่อนไขของพร็อกซี - สภาพปัจจุบันของ orbot proxy - Orbot เงื่อนไขของพร็อกซี - onion + สภาพปัจจุบันของ orion proxy + orion เงื่อนไขของพร็อกซี + orion VPN เงื่อนไขการเชื่อมต่อ Bridge เงื่อนไขของการมอบฉันทะ ข้อมูล | เปลี่ยนการตั้งค่าระบบ diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 294f24df..25353455 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -335,8 +335,8 @@ tüm resimleri engelle Gelişmiş Sistem Ayarı sekmeleri geri yükle, veri tasarrufu, geliştirici araçları - onion vekalet koşulu - onion ağ durumunu kontrol et + orion vekalet koşulu + orion ağ durumunu kontrol et web sitesini bildir kötüye kullanılan web sitesini bildir bu uygulamayı oyla @@ -479,9 +479,9 @@ vekaletname durumu - orbot vekilinin mevcut durumu - Orbot vekalet koşulu - onion + orion vekilinin mevcut durumu + orion vekalet koşulu + orion VPN bağlantı durumu Bridge vekalet koşulu bilgi | Sistem Ayarını değiştir diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 31da8b7b..849b0a5c 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -472,7 +472,7 @@ Статус проксі Поточний стан проксі-провайдера - Статус проксі Orbot + Статус проксі orion Цибуля Статус мостів Стан підключення до VPN Статус підключення мосту diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 6bcf2a97..243871af 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -332,8 +332,8 @@ chặn tất cả hình ảnh Cài đặt hệ thống nâng cao khôi phục các tab, trình tiết kiệm dữ liệu, công cụ dành cho nhà phát triển - onion điều kiện của proxy - kiểm tra điều kiện mạng onion + orion điều kiện của proxy + kiểm tra điều kiện mạng orion báo cáo trang web báo cáo trang web lạm dụng đánh giá ứng dụng này @@ -476,9 +476,9 @@ điều kiện của proxy - tình trạng hiện tại của orbot proxy - Orbot điều kiện của proxy - onion + tình trạng hiện tại của orion proxy + orion điều kiện của proxy + orion VPN điều kiện kết nối Bridge điều kiện của proxy thông tin | thay đổi cài đặt hệ thống diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 22ec95eb..6aaedd4f 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -332,8 +332,8 @@ 封锁所有图片 进阶系统设定 还原标签,数据保护程序,开发人员工具 - onion代理条件 - 检查onion网络状况 + orion代理条件 + 检查orion网络状况 报告网站 举报滥用网站 为这个应用软件评分 @@ -477,8 +477,8 @@ 委托条件 Gateway 代理的当前状况 - Orbot委托条件 - Orbot + orion委托条件 + orion VPN的连接条件 Bridge代理条件 信息|更改系统设置 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index bbb17e95..49ca4c82 100755 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -39,12 +39,12 @@ Secured by Tor Network No Record and Digital Fingerprinting - Builtin Onion Search Engine + Builtin Orion Search Engine Tracking Protection No Local Cache Stored Secure Manageable Cookies Secured by Tor Network - Builtin Onion Search Engine + Builtin Orion Search Engine No Record and Digital Fingerprinting Fast & Secure Dark Web - VPN @@ -362,8 +362,8 @@ Block all images Advanced Restore tabs, data saver, developer tools - Onion Proxy Status - Check onion network or status + Orion Proxy Status + Check orion network or status Report website Privacy Policy Orion browser privacy policy @@ -524,8 +524,8 @@ Proxy Status Current status of orbot proxy - Orbot Proxy Status - Onion & Bridges Status + orion Proxy Status + orion & Bridges Status VPN connectivity status Bridge connectivity status INFO | Change Settings diff --git a/orbotmanager/src/main/java/org/torproject/android/service/wrapper/orbotLocalConstants.java b/orbotmanager/src/main/java/org/torproject/android/service/wrapper/orbotLocalConstants.java index 0b456915..28ba7e9d 100644 --- a/orbotmanager/src/main/java/org/torproject/android/service/wrapper/orbotLocalConstants.java +++ b/orbotmanager/src/main/java/org/torproject/android/service/wrapper/orbotLocalConstants.java @@ -31,6 +31,7 @@ public class orbotLocalConstants public static String mInitUpdateBridgeList = ""; public static boolean mInitUpdateVPN = false; public static boolean mAppTriggered = false; + public static boolean mSoftNotification = false; public static int mHTTPPort = 8118; public static int mSOCKSPort = -1; diff --git a/orbotmanager/src/main/res/raw-fa/bridges.txt b/orbotmanager/src/main/res/raw-fa/bridges.txt deleted file mode 100644 index e80de020..00000000 --- a/orbotmanager/src/main/res/raw-fa/bridges.txt +++ /dev/null @@ -1,15 +0,0 @@ -obfs4 85.31.186.98:443 011F2599C0E9B27EE74B353155E244813763C3E5 cert=ayq0XzCwhpdysn5o0EyDUbmSOx3X/oTEbzDMvczHOdBJKlvIdHHLJGkZARtT4dcBFArPPg iat-mode=0 -obfs4 38.229.1.78:80 C8CBDB2464FC9804A69531437BCF2BE31FDD2EE4 cert=Hmyfd2ev46gGY7NoVxA9ngrPF2zCZtzskRTzoWXbxNkzeVnGFPWmrTtILRyqCTjHR+s9dg iat-mode=1 -obfs4 146.57.248.225:22 10A6CD36A537FCE513A322361547444B393989F0 cert=K1gDtDAIcUfeLqbstggjIw2rtgIKqdIhUlHp82XRqNSq/mtAjp1BIC9vHKJ2FAEpGssTPw iat-mode=0 -obfs4 209.148.46.65:443 74FAD13168806246602538555B5521A0383A1875 cert=ssH+9rP8dG2NLDN2XuFw63hIO/9MNNinLmxQDpVa+7kTOa9/m+tGWT1SmSYpQ9uTBGa6Hw iat-mode=0 -obfs4 37.218.245.14:38224 D9A82D2F9C2F65A18407B1D2B764F130847F8B5D cert=bjRaMrr1BRiAW8IE9U5z27fQaYgOhX1UCmOpg2pFpoMvo6ZgQMzLsaTzzQNTlm7hNcb+Sg iat-mode=0 -obfs4 85.31.186.26:443 91A6354697E6B02A386312F68D82CF86824D3606 cert=PBwr+S8JTVZo6MPdHnkTwXJPILWADLqfMGoVvhZClMq/Urndyd42BwX9YFJHZnBB3H0XCw iat-mode=0 -obfs4 193.11.166.194:27020 86AC7B8D430DAC4117E9F42C9EAED18133863AAF cert=0LDeJH4JzMDtkJJrFphJCiPqKx7loozKN7VNfuukMGfHO0Z8OGdzHVkhVAOfo1mUdv9cMg iat-mode=0 -obfs4 38.229.33.83:80 0BAC39417268B96B9F514E7F63FA6FBA1A788955 cert=VwEFpk9F/UN9JED7XpG1XOjm/O8ZCXK80oPecgWnNDZDv5pdkhq1OpbAH0wNqOT6H6BmRQ iat-mode=1 -obfs4 192.95.36.142:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1 -obfs4 51.222.13.177:80 5EDAC3B810E12B01F6FD8050D2FD3E277B289A08 cert=2uplIpLQ0q9+0qMFrK5pkaYRDOe460LL9WHBvatgkuRr/SL31wBOEupaMMJ6koRE6Ld0ew iat-mode=0 -obfs4 193.11.166.194:27025 1AE2C08904527FEA90C4C4F8C1083EA59FBC6FAF cert=ItvYZzW5tn6v3G4UnQa6Qz04Npro6e81AP70YujmK/KXwDFPTs3aHXcHp4n8Vt6w/bv8cA iat-mode=0 -obfs4 45.145.95.6:27015 C5B7CD6946FF10C5B3E89691A7D3F2C122D2117C cert=TD7PbUO0/0k6xYHMPW3vJxICfkMZNdkRrb63Zhl5j9dW3iRGiCx0A7mPhe5T2EDzQ35+Zw iat-mode=0 -obfs4 193.11.166.194:27015 2D82C2E354D531A68469ADF7F878FA6060C6BACA cert=4TLQPJrTSaDffMK7Nbao6LC7G9OW/NHkUwIdjLSS3KYf0Nv4/nQiiI8dY2TcsQx01NniOg iat-mode=0 -meek_lite 0.0.2.0:2 97700DFE9F483596DDA6264C4D7DF7641E1E39CE url=https://meek.azureedge.net/ front=ajax.aspnetcdn.com -snowflake 192.0.2.3:1 \ No newline at end of file diff --git a/orbotmanager/src/main/res/raw-fa/debiancacerts.bks b/orbotmanager/src/main/res/raw-fa/debiancacerts.bks deleted file mode 100644 index 3c7d9559..00000000 Binary files a/orbotmanager/src/main/res/raw-fa/debiancacerts.bks and /dev/null differ