From 683e8aa043126e715f40f203b28737716126625b Mon Sep 17 00:00:00 2001 From: Jeremy Massel <1123407+jkmassel@users.noreply.github.com> Date: Wed, 11 Feb 2026 20:19:35 -0700 Subject: [PATCH] Remove "Open Web Links with Jetpack" feature The feature was already disabled (feature flag hardcoded to false) and has no user-facing effect. This removes all associated code: the helper, feature/remote configs, build config flags, manifest activity-alias, preferences, settings UI, analytics event, broadcast receiver, and related tests. Co-Authored-By: Claude Opus 4.6 --- WordPress/build.gradle | 4 - WordPress/src/main/AndroidManifest.xml | 158 ----------- .../org/wordpress/android/AppInitializer.kt | 22 -- .../ui/deeplinks/DeepLinkEntryPoint.kt | 4 +- .../android/ui/deeplinks/DeepLinkNavigator.kt | 4 - .../DeepLinkOpenWebLinksWithJetpackHelper.kt | 118 -------- .../DeepLinkingIntentReceiverActivity.java | 35 --- .../DeepLinkingIntentReceiverViewModel.kt | 76 +++--- .../wordpress/android/ui/main/MeFragment.kt | 6 - .../android/ui/main/WPMainActivity.java | 23 -- .../wordpress/android/ui/prefs/AppPrefs.java | 18 -- .../android/ui/prefs/AppPrefsWrapper.kt | 11 - .../android/ui/prefs/AppSettingsFragment.java | 43 --- .../ui/reader/ReaderPostPagerActivity.kt | 41 +-- ...penWebLinksWithJetpackFlowFeatureConfig.kt | 21 -- ...nWebLinksWithJetpackFlowFrequencyConfig.kt | 18 -- .../util/config/RemoteConfigWrapper.kt | 2 - WordPress/src/main/res/values-ar/strings.xml | 4 - WordPress/src/main/res/values-cs/strings.xml | 4 - WordPress/src/main/res/values-de/strings.xml | 4 - .../src/main/res/values-en-rCA/strings.xml | 4 - .../src/main/res/values-en-rGB/strings.xml | 4 - .../src/main/res/values-es-rCL/strings.xml | 4 - .../src/main/res/values-es-rCO/strings.xml | 4 - .../src/main/res/values-es-rMX/strings.xml | 4 - WordPress/src/main/res/values-es/strings.xml | 4 - .../src/main/res/values-fr-rCA/strings.xml | 4 - WordPress/src/main/res/values-fr/strings.xml | 4 - WordPress/src/main/res/values-gl/strings.xml | 4 - WordPress/src/main/res/values-he/strings.xml | 4 - WordPress/src/main/res/values-id/strings.xml | 4 - WordPress/src/main/res/values-it/strings.xml | 4 - WordPress/src/main/res/values-ja/strings.xml | 4 - WordPress/src/main/res/values-ko/strings.xml | 4 - WordPress/src/main/res/values-lv/strings.xml | 4 - WordPress/src/main/res/values-nl/strings.xml | 4 - WordPress/src/main/res/values-pl/strings.xml | 4 - .../src/main/res/values-pt-rBR/strings.xml | 4 - WordPress/src/main/res/values-ro/strings.xml | 4 - WordPress/src/main/res/values-ru/strings.xml | 4 - WordPress/src/main/res/values-sq/strings.xml | 4 - WordPress/src/main/res/values-sv/strings.xml | 4 - WordPress/src/main/res/values-tr/strings.xml | 4 - .../src/main/res/values-zh-rCN/strings.xml | 4 - .../src/main/res/values-zh-rHK/strings.xml | 4 - .../src/main/res/values-zh-rTW/strings.xml | 4 - WordPress/src/main/res/values/key_strings.xml | 3 - WordPress/src/main/res/values/strings.xml | 8 +- WordPress/src/main/res/xml/app_settings.xml | 6 - ...epLinkOpenWebLinksWithJetpackHelperTest.kt | 254 ------------------ .../DeepLinkingIntentReceiverViewModelTest.kt | 213 --------------- WordPress/src/wordpress/AndroidManifest.xml | 8 - .../deeplinks/JetpackAppUninstallReceiver.kt | 34 --- fastlane/resources/values/strings.xml | 6 +- .../android/analytics/AnalyticsTracker.java | 1 - 55 files changed, 40 insertions(+), 1213 deletions(-) delete mode 100644 WordPress/src/main/java/org/wordpress/android/ui/deeplinks/DeepLinkOpenWebLinksWithJetpackHelper.kt delete mode 100644 WordPress/src/main/java/org/wordpress/android/util/config/OpenWebLinksWithJetpackFlowFeatureConfig.kt delete mode 100644 WordPress/src/main/java/org/wordpress/android/util/config/OpenWebLinksWithJetpackFlowFrequencyConfig.kt delete mode 100644 WordPress/src/test/java/org/wordpress/android/ui/deeplinks/DeepLinkOpenWebLinksWithJetpackHelperTest.kt delete mode 100644 WordPress/src/test/java/org/wordpress/android/ui/deeplinks/DeepLinkingIntentReceiverViewModelTest.kt delete mode 100644 WordPress/src/wordpress/java/org/wordpress/android/ui/deeplinks/JetpackAppUninstallReceiver.kt diff --git a/WordPress/build.gradle b/WordPress/build.gradle index cd4cb1c3e5eb..059d5ad9876a 100644 --- a/WordPress/build.gradle +++ b/WordPress/build.gradle @@ -146,7 +146,6 @@ android { buildConfigField "boolean", "JETPACK_FEATURE_REMOVAL_STATIC_POSTERS", "false" buildConfigField "boolean", "JETPACK_FEATURE_REMOVAL_SELF_HOSTED_USERS", "false" buildConfigField "boolean", "PREVENT_DUPLICATE_NOTIFS_REMOTE_FIELD", "false" - buildConfigField "boolean", "OPEN_WEB_LINKS_WITH_JETPACK_FLOW", "false" buildConfigField "boolean", "ENABLE_BLAZE_FEATURE", "false" buildConfigField "boolean", "WP_INDIVIDUAL_PLUGIN_OVERLAY", "false" buildConfigField "boolean", "SITE_EDITOR_MVP", "false" @@ -174,7 +173,6 @@ android { buildConfigField "boolean", "ENABLE_FOLLOWED_SITES_SETTINGS", "true" buildConfigField "boolean", "ENABLE_WHATS_NEW_FEATURE", "true" buildConfigField "boolean", "ENABLE_QRCODE_AUTH_FLOW", "true" - buildConfigField "boolean", "ENABLE_OPEN_WEB_LINKS_WITH_JP_FLOW", "true" buildConfigField "boolean", "BLAZE_MANAGE_CAMPAIGNS", "false" buildConfigField "boolean", "DASHBOARD_PERSONALIZATION", "false" buildConfigField "boolean", "ENABLE_SITE_MONITORING", "false" @@ -207,7 +205,6 @@ android { buildConfigField "String", "TRACKS_EVENT_PREFIX", '"wpandroid_"' buildConfigField "String", "PUSH_NOTIFICATIONS_APP_KEY", '"org.wordpress.android"' buildConfigField "boolean", "ENABLE_QRCODE_AUTH_FLOW", "false" - buildConfigField "boolean", "ENABLE_OPEN_WEB_LINKS_WITH_JP_FLOW", "true" buildConfigField "String", "WPCOM_REDIRECT_URI", '"wordpress://wpcom-authorize"' manifestPlaceholders = [magicLinkScheme:"wordpress"] @@ -229,7 +226,6 @@ android { buildConfigField "String", "TRACKS_EVENT_PREFIX", '"jpandroid_"' buildConfigField "String", "PUSH_NOTIFICATIONS_APP_KEY", '"com.jetpack.android"' buildConfigField "boolean", "ENABLE_QRCODE_AUTH_FLOW", "true" - buildConfigField "boolean", "ENABLE_OPEN_WEB_LINKS_WITH_JP_FLOW", "false" buildConfigField "String", "WPCOM_REDIRECT_URI", '"jetpack://wpcom-authorize"' manifestPlaceholders = [magicLinkScheme:"jetpack"] diff --git a/WordPress/src/main/AndroidManifest.xml b/WordPress/src/main/AndroidManifest.xml index 981df4ce2d2b..c62a5e4a1afa 100644 --- a/WordPress/src/main/AndroidManifest.xml +++ b/WordPress/src/main/AndroidManifest.xml @@ -509,164 +509,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - URI_LINKS - R.string.deep_linking_weblinks_alias_label == resId -> WEB_LINKS else -> DEFAULT } } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/DeepLinkNavigator.kt b/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/DeepLinkNavigator.kt index eeffd41f9225..7fa440b25cdc 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/DeepLinkNavigator.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/DeepLinkNavigator.kt @@ -11,7 +11,6 @@ import org.wordpress.android.ui.deeplinks.DeepLinkNavigator.NavigateAction.OpenE import org.wordpress.android.ui.deeplinks.DeepLinkNavigator.NavigateAction.OpenEditorForSite import org.wordpress.android.ui.deeplinks.DeepLinkNavigator.NavigateAction.OpenInBrowser import org.wordpress.android.ui.deeplinks.DeepLinkNavigator.NavigateAction.OpenInReader -import org.wordpress.android.ui.deeplinks.DeepLinkNavigator.NavigateAction.OpenJetpackForDeepLink import org.wordpress.android.ui.deeplinks.DeepLinkNavigator.NavigateAction.OpenLoginPrologue import org.wordpress.android.ui.deeplinks.DeepLinkNavigator.NavigateAction.OpenMySite import org.wordpress.android.ui.deeplinks.DeepLinkNavigator.NavigateAction.OpenNotifications @@ -99,8 +98,6 @@ class DeepLinkNavigator is OpenQRCodeAuthFlow -> ActivityLauncher.startQRCodeAuthFlowInNewStack(activity, navigateAction.uri) OpenMySite -> ActivityLauncher.viewMySiteInNewStack(activity) OpenLoginPrologue -> ActivityLauncher.showLoginPrologue(activity) - is OpenJetpackForDeepLink -> - ActivityLauncher.openJetpackForDeeplink(activity, navigateAction.action, navigateAction.uri) is NavigateAction.OpenJetpackStaticPosterView -> ActivityLauncher.showJetpackStaticPoster(activity) is NavigateAction.OpenMediaForSite -> activityNavigator.openMediaInNewStack(activity, navigateAction.site) @@ -152,7 +149,6 @@ class DeepLinkNavigator data class OpenQRCodeAuthFlow(val uri: String) : NavigateAction() object OpenMySite : NavigateAction() object OpenLoginPrologue : NavigateAction() - data class OpenJetpackForDeepLink(val action: String?, val uri: UriWrapper) : NavigateAction() object OpenJetpackStaticPosterView : NavigateAction() data class OpenMediaForSite(val site: SiteModel) : NavigateAction() object OpenMedia : NavigateAction() diff --git a/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/DeepLinkOpenWebLinksWithJetpackHelper.kt b/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/DeepLinkOpenWebLinksWithJetpackHelper.kt deleted file mode 100644 index a344b8d2f72e..000000000000 --- a/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/DeepLinkOpenWebLinksWithJetpackHelper.kt +++ /dev/null @@ -1,118 +0,0 @@ -package org.wordpress.android.ui.deeplinks - -import android.content.pm.PackageManager -import org.wordpress.android.ui.prefs.AppPrefsWrapper -import org.wordpress.android.util.AppLog -import org.wordpress.android.util.AppLog.T -import org.wordpress.android.util.BuildConfigWrapper -import org.wordpress.android.util.DateTimeUtilsWrapper -import org.wordpress.android.util.PackageManagerWrapper -import org.wordpress.android.util.config.OpenWebLinksWithJetpackFlowFeatureConfig -import org.wordpress.android.util.config.RemoteConfigWrapper -import java.util.Date -import javax.inject.Inject - -@Suppress("TooManyFunctions") -class DeepLinkOpenWebLinksWithJetpackHelper @Inject constructor( - private val openWebLinksWithJetpackFlowFeatureConfig: OpenWebLinksWithJetpackFlowFeatureConfig, - private val appPrefsWrapper: AppPrefsWrapper, - private val packageManagerWrapper: PackageManagerWrapper, - private val dateTimeUtilsWrapper: DateTimeUtilsWrapper, - private val buildConfigWrapper: BuildConfigWrapper, - private val remoteConfigWrapper: RemoteConfigWrapper -) { - fun shouldShowOpenLinksInJetpackOverlay() = showOverlay() - - fun shouldShowAppSetting(): Boolean { - return openWebLinksWithJetpackFlowFeatureConfig.isEnabled() - && isJetpackInstalled() - } - - fun enableDeepLinks() { - packageManagerWrapper.enableReaderDeeplinks() - packageManagerWrapper.enableComponentEnabledSetting(WEB_LINKS_DEEPLINK_ACTIVITY_ALIAS) - } - - fun disableDeepLinks() { - packageManagerWrapper.disableReaderDeepLinks() - packageManagerWrapper.disableComponentEnabledSetting(WEB_LINKS_DEEPLINK_ACTIVITY_ALIAS) - } - - fun onJetpackUninstalled() { - reset() - } - - fun reset() { - enableDeepLinks() - appPrefsWrapper.setIsOpenWebLinksWithJetpack(false) - appPrefsWrapper.setOpenWebLinksWithJetpackOverlayLastShownTimestamp(0L) - } - - @Suppress("SwallowedException") - fun handleOpenLinksInJetpackIfPossible(): Boolean { - try { - disableDeepLinks() - appPrefsWrapper.setIsOpenWebLinksWithJetpack(true) - return true - } catch (ex: PackageManager.NameNotFoundException) { - AppLog.e(T.UTILS, "Unable to set open web links with Jetpack ${ex.message}") - } - return false - } - - private fun showOverlay(): Boolean { - return openWebLinksWithJetpackFlowFeatureConfig.isEnabled() - && isJetpackInstalled() - && !isOpenWebLinksWithJetpack() - && isValidOverlayFrequency() - } - - private fun isJetpackInstalled() = packageManagerWrapper.isPackageInstalled(getPackageName()) - - private fun isValidOverlayFrequency(): Boolean { - if (!hasOverlayBeenShown()) return true // short circuit if the overlay has never been shown - - return hasExceededOverlayFrequency() - } - - private fun hasExceededOverlayFrequency(): Boolean { - val frequency = remoteConfigWrapper.getOpenWebLinksWithJetpackFlowFrequency() - if (frequency == 0L) return false // Only show the overlay 1X and it's already been shown do not show again - - val lastShownDate = Date(getOpenWebLinksWithJetpackOverlayLastShownTimestamp()) - val daysPastOverlayShown = dateTimeUtilsWrapper.daysBetween( - lastShownDate, - getTodaysDate() - ) - return daysPastOverlayShown >= frequency - } - - private fun hasOverlayBeenShown() = getOpenWebLinksWithJetpackOverlayLastShownTimestamp() > 0L - - private fun getOpenWebLinksWithJetpackOverlayLastShownTimestamp() = - appPrefsWrapper.getOpenWebLinksWithJetpackOverlayLastShownTimestamp() - - private fun isOpenWebLinksWithJetpack() = appPrefsWrapper.getIsOpenWebLinksWithJetpack() - - private fun getTodaysDate() = Date(System.currentTimeMillis()) - - private fun getPackageName(): String { - val appSuffix = buildConfigWrapper.getApplicationId().split(".").last() - val appPackage = if (appSuffix.isNotBlank() && !appSuffix.equals("ANDROID", ignoreCase = true)) { - "$JETPACK_PACKAGE_NAME.${appSuffix}" - } else { - JETPACK_PACKAGE_NAME - } - return appPackage - } - - fun onOverlayShown() = - appPrefsWrapper.setOpenWebLinksWithJetpackOverlayLastShownTimestamp(System.currentTimeMillis()) - - - companion object { - const val JETPACK_PACKAGE_NAME = "com.jetpack.android" - const val WEB_LINKS_DEEPLINK_ACTIVITY_ALIAS = - "org.wordpress.android.WebLinksDeepLinkingIntentReceiverActivity" - } -} diff --git a/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/DeepLinkingIntentReceiverActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/DeepLinkingIntentReceiverActivity.java index 66939626a198..101d37f95c16 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/DeepLinkingIntentReceiverActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/DeepLinkingIntentReceiverActivity.java @@ -12,10 +12,6 @@ import org.wordpress.android.ui.ActivityLauncherWrapper; import org.wordpress.android.ui.RequestCodes; -import org.wordpress.android.ui.jetpackoverlay.JetpackFeatureFullScreenOverlayFragment; -import org.wordpress.android.ui.jetpackoverlay.JetpackFeatureFullScreenOverlayViewModel; -import org.wordpress.android.ui.jetpackoverlay.JetpackFeatureOverlayActions.ForwardToJetpack; -import org.wordpress.android.ui.jetpackoverlay.JetpackFeatureRemovalOverlayUtil.JetpackFeatureCollectionOverlaySource; import org.wordpress.android.ui.main.BaseAppCompatActivity; import org.wordpress.android.ui.utils.JetpackAppMigrationFlowUtils; import org.wordpress.android.ui.utils.PreMigrationDeepLinkData; @@ -47,7 +43,6 @@ public class DeepLinkingIntentReceiverActivity extends BaseAppCompatActivity { @Inject ActivityLauncherWrapper mActivityLauncherWrapper; @Inject JetpackAppMigrationFlowUtils mJetpackAppMigrationFlowUtils; private DeepLinkingIntentReceiverViewModel mViewModel; - private JetpackFeatureFullScreenOverlayViewModel mJetpackFullScreenViewModel; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { @@ -63,7 +58,6 @@ public void handleOnBackPressed() { getOnBackPressedDispatcher().addCallback(this, callback); mViewModel = new ViewModelProvider(this).get(DeepLinkingIntentReceiverViewModel.class); - mJetpackFullScreenViewModel = new ViewModelProvider(this).get(JetpackFeatureFullScreenOverlayViewModel.class); setupObservers(); String action = getIntent().getAction(); @@ -105,37 +99,8 @@ private void setupObservers() { ToastUtils.showToast(getContext(), toastMessage); return null; })); - mViewModel.getShowOpenWebLinksWithJetpackOverlay().observe(this, - showOverlay -> showOverlay.applyIfNotHandled(unit -> { - showOverlay(); - return null; - })); - - observeOverlayEvents(); - } - - private void observeOverlayEvents() { - mJetpackFullScreenViewModel.getAction().observe(this, - action -> { - if (action instanceof ForwardToJetpack) { - mViewModel.forwardDeepLinkToJetpack(); - } else { - mViewModel.handleRequest(); - } - }); } - private void showOverlay() { - JetpackFeatureFullScreenOverlayFragment - .newInstance( - null, - true, - false, - JetpackFeatureCollectionOverlaySource.UNSPECIFIED) - .show(getSupportFragmentManager(), JetpackFeatureFullScreenOverlayFragment.TAG); - } - - private DeepLinkEntryPoint extractEntryPoint(Intent intent) { return DeepLinkEntryPoint.fromResId(mPackageManagerWrapper.getActivityLabelResFromIntent(intent)); } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/DeepLinkingIntentReceiverViewModel.kt b/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/DeepLinkingIntentReceiverViewModel.kt index 978c941d4251..4acf2f1b3e2f 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/DeepLinkingIntentReceiverViewModel.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/DeepLinkingIntentReceiverViewModel.kt @@ -9,11 +9,9 @@ import kotlinx.coroutines.CoroutineDispatcher import org.wordpress.android.analytics.AnalyticsTracker.Stat.DEEP_LINKED import org.wordpress.android.fluxc.store.AccountStore import org.wordpress.android.modules.UI_THREAD -import org.wordpress.android.ui.deeplinks.DeepLinkEntryPoint.WEB_LINKS import org.wordpress.android.ui.deeplinks.DeepLinkNavigator.NavigateAction import org.wordpress.android.ui.deeplinks.DeepLinkNavigator.NavigateAction.LoginForResult import org.wordpress.android.ui.deeplinks.DeepLinkNavigator.NavigateAction.OpenInBrowser -import org.wordpress.android.ui.deeplinks.DeepLinkNavigator.NavigateAction.OpenJetpackForDeepLink import org.wordpress.android.ui.deeplinks.DeepLinkNavigator.NavigateAction.OpenLoginPrologue import org.wordpress.android.ui.deeplinks.DeepLinkNavigator.NavigateAction.ShowSignInFlow import org.wordpress.android.ui.deeplinks.handlers.DeepLinkHandlers @@ -27,7 +25,6 @@ import javax.inject.Inject import javax.inject.Named @HiltViewModel -@Suppress("LongParameterList", "TooManyFunctions") class DeepLinkingIntentReceiverViewModel @Inject constructor( @Named(UI_THREAD) private val uiDispatcher: CoroutineDispatcher, @@ -37,14 +34,11 @@ class DeepLinkingIntentReceiverViewModel private val serverTrackingHandler: ServerTrackingHandler, private val deepLinkTrackingUtils: DeepLinkTrackingUtils, private val analyticsUtilsWrapper: AnalyticsUtilsWrapper, - private val openWebLinksWithJetpackHelper: DeepLinkOpenWebLinksWithJetpackHelper, ) : ScopedViewModel(uiDispatcher) { private val _navigateAction = MutableLiveData>() val navigateAction = _navigateAction as LiveData> private val _finish = MutableLiveData>() val finish = _finish as LiveData> - private val _showOpenWebLinksWithJetpackOverlay = MutableLiveData>() - val showOpenWebLinksWithJetpackOverlay = _showOpenWebLinksWithJetpackOverlay as LiveData> val toast = deepLinkHandlers.toast private var action: String? = null private var uriWrapper: UriWrapper? = null @@ -58,10 +52,7 @@ class DeepLinkingIntentReceiverViewModel ) { extractSavedInstanceStateIfNeeded(savedInstanceState) applyFromArgsIfNeeded(action, data, entryPoint, savedInstanceState != null) - - val requestHandled = checkAndShowOpenWebLinksWithJetpackOverlayIfNeeded() - if (!requestHandled) - handleRequest() + handleRequest() } fun handleRequest() { @@ -74,7 +65,9 @@ class DeepLinkingIntentReceiverViewModel private fun trackWithDeepLinkDataAndFinish() { action?.let { - analyticsUtilsWrapper.trackWithDeepLinkData(DEEP_LINKED, it, uriWrapper?.host ?: "", uriWrapper?.uri) + analyticsUtilsWrapper.trackWithDeepLinkData( + DEEP_LINKED, it, uriWrapper?.host ?: "", uriWrapper?.uri + ) } _finish.value = Event(Unit) } @@ -92,16 +85,6 @@ class DeepLinkingIntentReceiverViewModel outState.putString(DEEP_LINK_ENTRY_POINT_KEY, deepLinkEntryPoint.name) } - fun forwardDeepLinkToJetpack() { - uriWrapper?.let { - if (openWebLinksWithJetpackHelper.handleOpenLinksInJetpackIfPossible()) { - _navigateAction.value = Event(OpenJetpackForDeepLink(action = action, uri = it)) - } else { - handleRequest() - } - } ?: handleRequest() - } - /** * Handles the following URLs * `wordpress.com/post...` @@ -109,7 +92,10 @@ class DeepLinkingIntentReceiverViewModel * `public-api.wordpress.com/mbar` * and builds the navigation action based on them */ - private fun handleUrl(uriWrapper: UriWrapper, action: String? = null): Boolean { + private fun handleUrl( + uriWrapper: UriWrapper, + action: String? = null + ): Boolean { return buildNavigateAction(uriWrapper)?.also { if (action != null) { deepLinkTrackingUtils.track(action, it, uriWrapper) @@ -129,21 +115,29 @@ class DeepLinkingIntentReceiverViewModel action is OpenLoginPrologue } - private fun buildNavigateAction(uri: UriWrapper, rootUri: UriWrapper = uri): NavigateAction? { + private fun buildNavigateAction( + uri: UriWrapper, + rootUri: UriWrapper = uri + ): NavigateAction? { return when { - deepLinkUriUtils.isTrackingUrl(uri) -> getRedirectUriAndBuildNavigateAction(uri, rootUri) - ?.also { - // The new URL was build so we need to hit the original `mbar` tracking URL - serverTrackingHandler.request(uri) - } - ?: OpenInBrowser(rootUri.copy(REGULAR_TRACKING_PATH)) - deepLinkUriUtils.isWpLoginUrl(uri) -> getRedirectUriAndBuildNavigateAction(uri, rootUri) + deepLinkUriUtils.isTrackingUrl(uri) -> + getRedirectUriAndBuildNavigateAction(uri, rootUri) + ?.also { + serverTrackingHandler.request(uri) + } + ?: OpenInBrowser(rootUri.copy(REGULAR_TRACKING_PATH)) + deepLinkUriUtils.isWpLoginUrl(uri) -> + getRedirectUriAndBuildNavigateAction(uri, rootUri) else -> deepLinkHandlers.buildNavigateAction(uri) } } - private fun getRedirectUriAndBuildNavigateAction(uri: UriWrapper, rootUri: UriWrapper): NavigateAction? { - return deepLinkUriUtils.getRedirectUri(uri)?.let { buildNavigateAction(it, rootUri) } + private fun getRedirectUriAndBuildNavigateAction( + uri: UriWrapper, + rootUri: UriWrapper + ): NavigateAction? { + return deepLinkUriUtils.getRedirectUri(uri) + ?.let { buildNavigateAction(it, rootUri) } } private fun extractSavedInstanceStateIfNeeded(savedInstanceState: Bundle?) { @@ -151,7 +145,10 @@ class DeepLinkingIntentReceiverViewModel val uri = savedInstanceState.getParcelableCompat(URI_KEY) uriWrapper = uri?.let { UriWrapper(it) } deepLinkEntryPoint = DeepLinkEntryPoint.valueOf( - savedInstanceState.getString(DEEP_LINK_ENTRY_POINT_KEY, DeepLinkEntryPoint.DEFAULT.name) + savedInstanceState.getString( + DEEP_LINK_ENTRY_POINT_KEY, + DeepLinkEntryPoint.DEFAULT.name + ) ) } } @@ -169,19 +166,6 @@ class DeepLinkingIntentReceiverViewModel deepLinkEntryPoint = deepLinkEntryPointValue } - private fun checkAndShowOpenWebLinksWithJetpackOverlayIfNeeded(): Boolean { - return if (deepLinkEntryPoint == WEB_LINKS && - accountStore.hasAccessToken() && // Already logged in - openWebLinksWithJetpackHelper.shouldShowOpenLinksInJetpackOverlay() - ) { - openWebLinksWithJetpackHelper.onOverlayShown() - _showOpenWebLinksWithJetpackOverlay.value = Event(Unit) - true - } else { - false - } - } - override fun onCleared() { serverTrackingHandler.clear() uriWrapper = null diff --git a/WordPress/src/main/java/org/wordpress/android/ui/main/MeFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/main/MeFragment.kt index f46f1bf92ba4..df21d5d179bd 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/main/MeFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/main/MeFragment.kt @@ -49,7 +49,6 @@ import org.wordpress.android.ui.ActivityLauncher import org.wordpress.android.ui.about.UnifiedAboutActivity import org.wordpress.android.ui.accounts.HelpActivity.Origin.ME_SCREEN_HELP import org.wordpress.android.ui.debug.DebugSettingsActivity -import org.wordpress.android.ui.deeplinks.DeepLinkOpenWebLinksWithJetpackHelper import org.wordpress.android.ui.jetpackoverlay.JetpackFeatureRemovalOverlayUtil import org.wordpress.android.ui.main.MeViewModel.RecommendAppUiState import org.wordpress.android.ui.main.WPMainActivity.OnScrollToTopListener @@ -622,11 +621,6 @@ class MeFragment : Fragment(R.layout.me_fragment), OnScrollToTopListener { private fun enableDeepLinkComponents() { packageManagerWrapper.enableReaderDeeplinks() - packageManagerWrapper.enableComponentEnabledSetting( - DeepLinkOpenWebLinksWithJetpackHelper.WEB_LINKS_DEEPLINK_ACTIVITY_ALIAS - ) - appPrefsWrapper.setOpenWebLinksWithJetpackOverlayLastShownTimestamp(0L) - appPrefsWrapper.setIsOpenWebLinksWithJetpack(false) } @Suppress("DEPRECATION") diff --git a/WordPress/src/main/java/org/wordpress/android/ui/main/WPMainActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/main/WPMainActivity.java index 0e040cde4f00..316d8d2f088f 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/main/WPMainActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/main/WPMainActivity.java @@ -86,7 +86,6 @@ import org.wordpress.android.ui.bloggingprompts.onboarding.BloggingPromptsReminderSchedulerListener; import org.wordpress.android.ui.bloggingreminders.BloggingReminderUtils; import org.wordpress.android.ui.bloggingreminders.BloggingRemindersViewModel; -import org.wordpress.android.ui.deeplinks.DeepLinkOpenWebLinksWithJetpackHelper; import org.wordpress.android.ui.jetpackoverlay.JetpackFeatureFullScreenOverlayFragment; import org.wordpress.android.ui.jetpackoverlay.JetpackFeatureRemovalOverlayUtil; import org.wordpress.android.ui.jetpackoverlay.JetpackFeatureRemovalOverlayUtil.JetpackFeatureCollectionOverlaySource; @@ -151,7 +150,6 @@ import org.wordpress.android.util.analytics.AnalyticsTrackerWrapper; import org.wordpress.android.util.analytics.AnalyticsUtils; import org.wordpress.android.util.analytics.service.InstallationReferrerServiceStarter; -import org.wordpress.android.util.config.OpenWebLinksWithJetpackFlowFeatureConfig; import org.wordpress.android.util.config.QRCodeAuthFlowFeatureConfig; import org.wordpress.android.util.extensions.CompatExtensionsKt; import org.wordpress.android.util.extensions.ViewExtensionsKt; @@ -264,8 +262,6 @@ public class WPMainActivity extends BaseAppCompatActivity implements @Inject CreateSiteNotificationScheduler mCreateSiteNotificationScheduler; @Inject WeeklyRoundupScheduler mWeeklyRoundupScheduler; @Inject JetpackAppMigrationFlowUtils mJetpackAppMigrationFlowUtils; - @Inject DeepLinkOpenWebLinksWithJetpackHelper mDeepLinkOpenWebLinksWithJetpackHelper; - @Inject OpenWebLinksWithJetpackFlowFeatureConfig mOpenWebLinksWithJetpackFlowFeatureConfig; @Inject QRCodeAuthFlowFeatureConfig mQrCodeAuthFlowFeatureConfig; @Inject JetpackFeatureRemovalOverlayUtil mJetpackFeatureRemovalOverlayUtil; @Inject JetpackFeatureRemovalPhaseHelper mJetpackFeatureRemovalPhaseHelper; @@ -410,9 +406,6 @@ && getIntent().getExtras().getBoolean(ARG_CONTINUE_JETPACK_CONNECT, false)) { checkTrackAnalyticsEvent(); } - // Ensure deep linking activities are enabled.They may have been disabled elsewhere and failed to get re-enabled - enableDeepLinkingComponentsIfNeeded(); - // monitor whether we're not the default app trackDefaultApp(); @@ -1073,10 +1066,6 @@ protected void onResume() { // Load selected site initSelectedSite(); - // ensure the deep linking activity is enabled. We might be returning from the external-browser - // viewing of a post - enableDeepLinkingComponentsIfNeeded(); - // We need to track the current item on the screen when this activity is resumed. // Ex: Notifications -> notifications detail -> back to notifications @@ -1534,7 +1523,6 @@ private void updateConnectionBar(boolean isConnected) { private void handleSiteRemoved() { mViewModel.handleSiteRemoved(); if (!mViewModel.isSignedInWPComOrHasWPOrgSite()) { - mDeepLinkOpenWebLinksWithJetpackHelper.reset(); showSignInForResultBasedOnIsJetpackAppBuildConfig(this); return; } @@ -1746,17 +1734,6 @@ protected void onPause() { mWpAppNotifierHandler.removeListener(this); } - private void enableDeepLinkingComponentsIfNeeded() { - if (mOpenWebLinksWithJetpackFlowFeatureConfig.isEnabled()) { - if (!AppPrefs.getIsOpenWebLinksWithJetpack()) { - mDeepLinkOpenWebLinksWithJetpackHelper.enableDeepLinks(); - } - } else { - // re-enable all deep linking components - mDeepLinkOpenWebLinksWithJetpackHelper.enableDeepLinks(); - } - } - private void showPrivacyConsentDialog() { PrivacyBannerFragment privacyBannerFragment = (PrivacyBannerFragment) getSupportFragmentManager() .findFragmentByTag(PrivacyBannerFragment.TAG); diff --git a/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppPrefs.java b/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppPrefs.java index 967107aec596..cbd78655c8b8 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppPrefs.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppPrefs.java @@ -160,8 +160,6 @@ public enum DeletablePrefKey implements PrefKey { SHOULD_SHOW_WEEKLY_ROUNDUP_NOTIFICATION, SKIPPED_BLOGGING_PROMPT_DAY, - OPEN_WEB_LINKS_WITH_JETPACK_OVERLAY_LAST_SHOWN_TIMESTAMP, - OPEN_WEB_LINKS_WITH_JETPACK, SHOULD_HIDE_JETPACK_FEATURE_CARD, JETPACK_FEATURE_CARD_LAST_SHOWN_TIMESTAMP, SWITCH_TO_JETPACK_MENU_CARD_SHOWN_TIMESTAMP, @@ -1454,22 +1452,6 @@ public static void setIsJetpackMigrationEligible(final boolean isEligible) { setBoolean(UndeletablePrefKey.IS_JETPACK_MIGRATION_ELIGIBLE, isEligible); } - public static Long getOpenWebLinksWithJetpackOverlayLastShownTimestamp() { - return getLong(DeletablePrefKey.OPEN_WEB_LINKS_WITH_JETPACK_OVERLAY_LAST_SHOWN_TIMESTAMP, 0L); - } - - public static void setOpenWebLinksWithJetpackOverlayLastShownTimestamp(final Long overlayLastShownTimestamp) { - setLong(DeletablePrefKey.OPEN_WEB_LINKS_WITH_JETPACK_OVERLAY_LAST_SHOWN_TIMESTAMP, overlayLastShownTimestamp); - } - - public static Boolean getIsOpenWebLinksWithJetpack() { - return getBoolean(DeletablePrefKey.OPEN_WEB_LINKS_WITH_JETPACK, false); - } - - public static void setIsOpenWebLinksWithJetpack(final boolean isOpenWebLinksWithJetpack) { - setBoolean(DeletablePrefKey.OPEN_WEB_LINKS_WITH_JETPACK, isOpenWebLinksWithJetpack); - } - public static Boolean getShouldHideJetpackFeatureCard(JetpackFeatureRemovalPhase phase) { return prefs().getBoolean(getHideJetpackFeatureCardWithPhaseKey(phase), false); } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppPrefsWrapper.kt b/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppPrefsWrapper.kt index 2706800222e8..0fb9d8ed4c93 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppPrefsWrapper.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppPrefsWrapper.kt @@ -287,17 +287,6 @@ class AppPrefsWrapper @Inject constructor(val buildConfigWrapper: BuildConfigWra fun isJetpackMigrationEligible() = AppPrefs.getIsJetpackMigrationEligible() - fun getOpenWebLinksWithJetpackOverlayLastShownTimestamp(): Long = - AppPrefs.getOpenWebLinksWithJetpackOverlayLastShownTimestamp() - - fun setOpenWebLinksWithJetpackOverlayLastShownTimestamp(lastShown: Long) = - AppPrefs.setOpenWebLinksWithJetpackOverlayLastShownTimestamp(lastShown) - - fun getIsOpenWebLinksWithJetpack(): Boolean = AppPrefs.getIsOpenWebLinksWithJetpack() - - fun setIsOpenWebLinksWithJetpack(isOpenWebLinksWithJetpack: Boolean) = - AppPrefs.setIsOpenWebLinksWithJetpack(isOpenWebLinksWithJetpack) - fun getShouldHideJetpackFeatureCard(jetpackFeatureRemovalPhase: JetpackFeatureRemovalPhase): Boolean = AppPrefs.getShouldHideJetpackFeatureCard(jetpackFeatureRemovalPhase) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppSettingsFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppSettingsFragment.java index 2bc319f1c6c2..720d0ae79339 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppSettingsFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppSettingsFragment.java @@ -45,7 +45,6 @@ import org.wordpress.android.fluxc.store.WhatsNewStore.WhatsNewAppId; import org.wordpress.android.fluxc.store.WhatsNewStore.WhatsNewFetchPayload; import org.wordpress.android.models.JetpackPoweredScreen; -import org.wordpress.android.ui.deeplinks.DeepLinkOpenWebLinksWithJetpackHelper; import org.wordpress.android.ui.jetpackoverlay.JetpackFeatureRemovalPhaseHelper; import org.wordpress.android.ui.mysite.jetpackbadge.JetpackPoweredBottomSheetFragment; import org.wordpress.android.ui.prefs.language.LocalePickerBottomSheet; @@ -91,8 +90,6 @@ public class AppSettingsFragment extends PreferenceFragment private PreferenceScreen mPrivacySettings; private WPSwitchPreference mStripImageLocation; private WPSwitchPreference mReportCrashPref; - private WPSwitchPreference mOpenWebLinksWithJetpack; - private Preference mWhatsNew; @Inject SiteStore mSiteStore; @@ -102,7 +99,6 @@ public class AppSettingsFragment extends PreferenceFragment @Inject FeatureAnnouncementProvider mFeatureAnnouncementProvider; @Inject BuildConfigWrapper mBuildConfigWrapper; @Inject JetpackBrandingUtils mJetpackBrandingUtils; - @Inject DeepLinkOpenWebLinksWithJetpackHelper mOpenWebLinksWithJetpackHelper; @Inject UiHelpers mUiHelpers; @Inject JetpackFeatureRemovalPhaseHelper mJetpackFeatureRemovalPhaseHelper; @Inject PerAppLocaleManager mPerAppLocaleManager; @@ -174,10 +170,6 @@ public boolean onPreferenceChange(Preference preference, Object newValue) { mReportCrashPref = (WPSwitchPreference) WPPrefUtils .getPrefAndSetChangeListener(this, R.string.pref_key_send_crash, this); - mOpenWebLinksWithJetpack = - (WPSwitchPreference) WPPrefUtils - .getPrefAndSetChangeListener(this, R.string.pref_key_open_web_links_with_jetpack, this); - // Set Local settings mOptimizedImage.setChecked(AppPrefs.isImageOptimize()); setDetailListPreferenceValue(mImageMaxSizePref, @@ -197,8 +189,6 @@ public boolean onPreferenceChange(Preference preference, Object newValue) { mStripImageLocation.setChecked(AppPrefs.isStripImageLocation()); - mOpenWebLinksWithJetpack.setChecked(AppPrefs.getIsOpenWebLinksWithJetpack()); - mWhatsNew = findPreference(getString(R.string.pref_key_whats_new)); removeWhatsNewPreference(); @@ -208,10 +198,6 @@ public boolean onPreferenceChange(Preference preference, Object newValue) { removeExperimentalCategory(); } - if (!mOpenWebLinksWithJetpackHelper.shouldShowAppSetting()) { - removeOpenWebLinksWithJetpack(); - } - final boolean showPrivacySettings = getActivity() .getIntent() .getBooleanExtra(EXTRA_SHOW_PRIVACY_SETTINGS, false); @@ -302,14 +288,6 @@ private void addWhatsNewPreference() { } - private void removeOpenWebLinksWithJetpack() { - Preference openWebLinksWithJetpackPreference = - findPreference(getString(R.string.pref_key_open_web_links_with_jetpack)); - PreferenceScreen preferenceScreen = - (PreferenceScreen) findPreference(getString(R.string.pref_key_app_settings_root)); - preferenceScreen.removePreference(openWebLinksWithJetpackPreference); - } - @Override public void onResume() { super.onResume(); @@ -471,8 +449,6 @@ public boolean onPreferenceChange(Preference preference, Object newValue) { } else if (preference == mReportCrashPref) { AnalyticsTracker.track(Stat.PRIVACY_SETTINGS_REPORT_CRASHES_TOGGLED, Collections .singletonMap(TRACK_ENABLED, newValue)); - } else if (preference == mOpenWebLinksWithJetpack) { - handleOpenLinksInJetpack((Boolean) newValue); } return true; } @@ -629,23 +605,4 @@ public void onLocaleSelected(@NonNull String languageCode) { mPerAppLocaleManager.onLanguageChanged(languageCode); } - private void handleOpenLinksInJetpack(Boolean newValue) { - try { - if (newValue) { - mOpenWebLinksWithJetpackHelper.disableDeepLinks(); - } else { - mOpenWebLinksWithJetpackHelper.enableDeepLinks(); - } - AppPrefs.setIsOpenWebLinksWithJetpack(newValue); - AnalyticsTracker.track(AnalyticsTracker.Stat.APP_SETTINGS_OPEN_WEB_LINKS_WITH_JETPACK_CHANGED, Collections - .singletonMap(TRACK_ENABLED, newValue)); - } catch (Exception e) { - ToastUtils.showToast( - getActivity(), - (newValue ? R.string.preference_open_links_in_jetpack_setting_change_enable_error - : R.string.preference_open_links_in_jetpack_setting_change_disable_error), - ToastUtils.Duration.LONG); - AppLog.e(AppLog.T.UTILS, "Unable to enable or disable open with Jetpack components ", e); - } - } } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostPagerActivity.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostPagerActivity.kt index 9fd36abad591..677bd30b0dbb 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostPagerActivity.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostPagerActivity.kt @@ -38,7 +38,6 @@ import org.wordpress.android.ui.ActivityLauncher import org.wordpress.android.ui.RequestCodes import org.wordpress.android.ui.WPLaunchActivity import org.wordpress.android.ui.deeplinks.DeepLinkNavigator.NavigateAction.OpenInReader -import org.wordpress.android.ui.deeplinks.DeepLinkOpenWebLinksWithJetpackHelper import org.wordpress.android.ui.deeplinks.DeepLinkTrackingUtils import org.wordpress.android.ui.jetpackoverlay.JetpackFeatureFullScreenOverlayFragment import org.wordpress.android.ui.jetpackoverlay.JetpackFeatureFullScreenOverlayFragment.Companion.newInstance @@ -188,9 +187,6 @@ class ReaderPostPagerActivity : BaseAppCompatActivity() { @Inject lateinit var selectedSiteRepository: SelectedSiteRepository - @Inject - lateinit var deepLinkOpenWebLinksWithJetpackHelper: DeepLinkOpenWebLinksWithJetpackHelper - @Inject lateinit var jetpackAppMigrationFlowUtils: JetpackAppMigrationFlowUtils private var jetpackFullScreenViewModel: JetpackFeatureFullScreenOverlayViewModel? = null @@ -362,16 +358,12 @@ class ReaderPostPagerActivity : BaseAppCompatActivity() { this ) { action: JetpackFeatureOverlayActions? -> if (action is ForwardToJetpack) { - if (!deepLinkOpenWebLinksWithJetpackHelper.handleOpenLinksInJetpackIfPossible()) { - finishDeepLinkRequestFromOverlay(intent.action!!, intent.data!!) - } else { - WPActivityUtils.disableReaderDeeplinks(this) - ActivityLauncher.openJetpackForDeeplink( - this, intent.action, - UriWrapper(intent.data!!) - ) - finish() - } + WPActivityUtils.disableReaderDeeplinks(this) + ActivityLauncher.openJetpackForDeeplink( + this, intent.action, + UriWrapper(intent.data!!) + ) + finish() } else { finishDeepLinkRequestFromOverlay(intent.action!!, intent.data!!) } @@ -407,9 +399,7 @@ class ReaderPostPagerActivity : BaseAppCompatActivity() { return } - if (!checkAndShowOpenWebLinksWithJetpackOverlayIfNeeded()) { - finishDeepLinkRequest(action!!, uri) - } + finishDeepLinkRequest(action!!, uri) } private fun finishDeepLinkRequestFromOverlay(action: String, uri: Uri) { @@ -598,23 +588,6 @@ class ReaderPostPagerActivity : BaseAppCompatActivity() { } } - @Suppress("ReturnCount") - private fun checkAndShowOpenWebLinksWithJetpackOverlayIfNeeded(): Boolean { - if (!isSignedInWPComOrHasWPOrgSite) return false - - if (!deepLinkOpenWebLinksWithJetpackHelper.shouldShowOpenLinksInJetpackOverlay()) return false - - deepLinkOpenWebLinksWithJetpackHelper.onOverlayShown() - newInstance( - null, - isDeepLinkOverlay = true, - isFeatureCollectionOverlay = false, - featureCollectionOverlaySource = JetpackFeatureCollectionOverlaySource.UNSPECIFIED - ) - .show(supportFragmentManager, JetpackFeatureFullScreenOverlayFragment.TAG) - return true - } - private val isSignedInWPComOrHasWPOrgSite: Boolean get() { return FluxCUtils.isSignedInWPComOrHasWPOrgSite(mAccountStore, siteStore) diff --git a/WordPress/src/main/java/org/wordpress/android/util/config/OpenWebLinksWithJetpackFlowFeatureConfig.kt b/WordPress/src/main/java/org/wordpress/android/util/config/OpenWebLinksWithJetpackFlowFeatureConfig.kt deleted file mode 100644 index 066ab53c3622..000000000000 --- a/WordPress/src/main/java/org/wordpress/android/util/config/OpenWebLinksWithJetpackFlowFeatureConfig.kt +++ /dev/null @@ -1,21 +0,0 @@ -package org.wordpress.android.util.config - -import org.wordpress.android.BuildConfig -import org.wordpress.android.annotation.Feature -import javax.inject.Inject - -@Feature(OpenWebLinksWithJetpackFlowFeatureConfig.OPEN_WEB_LINKS_WITH_JETPACK_FLOW, false) -class OpenWebLinksWithJetpackFlowFeatureConfig -@Inject constructor(appConfig: AppConfig) : FeatureConfig( - appConfig, - BuildConfig.OPEN_WEB_LINKS_WITH_JETPACK_FLOW, - OPEN_WEB_LINKS_WITH_JETPACK_FLOW -) { - override fun isEnabled(): Boolean { - return BuildConfig.ENABLE_OPEN_WEB_LINKS_WITH_JP_FLOW && super.isEnabled() - } - - companion object { - const val OPEN_WEB_LINKS_WITH_JETPACK_FLOW = "open_web_links_with_jetpack_flow" - } -} diff --git a/WordPress/src/main/java/org/wordpress/android/util/config/OpenWebLinksWithJetpackFlowFrequencyConfig.kt b/WordPress/src/main/java/org/wordpress/android/util/config/OpenWebLinksWithJetpackFlowFrequencyConfig.kt deleted file mode 100644 index 1fbc2f13b8aa..000000000000 --- a/WordPress/src/main/java/org/wordpress/android/util/config/OpenWebLinksWithJetpackFlowFrequencyConfig.kt +++ /dev/null @@ -1,18 +0,0 @@ -package org.wordpress.android.util.config - -import org.wordpress.android.annotation.RemoteFieldDefaultGenerater -import javax.inject.Inject - -const val OPEN_WEB_LINKS_WITH_JETPACK_FLOW_FREQUENCY_REMOTE_FIELD = "open_web_links_with_jetpack_flow_frequency" -const val OPEN_WEB_LINKS_WITH_JETPACK_FLOW_FREQUENCY_DEFAULT = "0" - -@RemoteFieldDefaultGenerater( - remoteField = OPEN_WEB_LINKS_WITH_JETPACK_FLOW_FREQUENCY_REMOTE_FIELD, - defaultValue = OPEN_WEB_LINKS_WITH_JETPACK_FLOW_FREQUENCY_DEFAULT -) - -class OpenWebLinksWithJetpackFlowFrequencyConfig @Inject constructor(appConfig: AppConfig) : - RemoteConfigField( - appConfig, - OPEN_WEB_LINKS_WITH_JETPACK_FLOW_FREQUENCY_REMOTE_FIELD - ) diff --git a/WordPress/src/main/java/org/wordpress/android/util/config/RemoteConfigWrapper.kt b/WordPress/src/main/java/org/wordpress/android/util/config/RemoteConfigWrapper.kt index eae8223994d6..edb00bebd0d7 100644 --- a/WordPress/src/main/java/org/wordpress/android/util/config/RemoteConfigWrapper.kt +++ b/WordPress/src/main/java/org/wordpress/android/util/config/RemoteConfigWrapper.kt @@ -5,13 +5,11 @@ import javax.inject.Singleton @Singleton class RemoteConfigWrapper @Inject constructor( - private val openWebLinksWithJetpackFlowFrequencyConfig: OpenWebLinksWithJetpackFlowFrequencyConfig, private val codeableGetFreeEstimateUrlConfig: CodeableGetFreeEstimateUrlConfig, private val performanceMonitoringSampleRateConfig: PerformanceMonitoringSampleRateConfig, private val inAppUpdateBlockingVersionConfig: InAppUpdateBlockingVersionConfig, private val inAppUpdateFlexibleIntervalConfig: InAppUpdateFlexibleIntervalConfig, ) { - fun getOpenWebLinksWithJetpackFlowFrequency() = openWebLinksWithJetpackFlowFrequencyConfig.getValue() fun getPerformanceMonitoringSampleRate() = performanceMonitoringSampleRateConfig.getValue() fun getCodeableGetFreeEstimateUrl() = codeableGetFreeEstimateUrlConfig.getValue() fun getInAppUpdateBlockingVersion() = inAppUpdateBlockingVersionConfig.getValue() diff --git a/WordPress/src/main/res/values-ar/strings.xml b/WordPress/src/main/res/values-ar/strings.xml index 8407b2e0d090..3d7a42d9c417 100644 --- a/WordPress/src/main/res/values-ar/strings.xml +++ b/WordPress/src/main/res/values-ar/strings.xml @@ -804,7 +804,6 @@ Language: ar يوفر Jetpack الإحصاءات والتنبيهات والمزيد لمساعدتك على إنشاء الموقع الذي تحلم به على ووردبريس وتطويره.\n\nلا يدعم تطبيق ووردبريس إنشاء موقع جديد بعد الآن. يوفر Jetpack الإحصاءات والتنبيهات والمزيد لمساعدتك على إنشاء الموقع الذي تحلم به على ووردبريس وتطويره. إنشاء موقع جديد على ووردبريس باستخدام تطبيق Jetpack - روابط الويب روابط عناوين uri قم بالتبديل إلى تطبيق Jetpack للاستمرار في تلقي من التنبيهات في الوقت الفعلي على جهازك. قم بالتبديل إلى تطبيق Jetpack للعثور على كل المواقع والتدوينات التي تفضّلها ومتابعتها والإعجاب بها باستخدام القارئ. @@ -812,9 +811,6 @@ Language: ar تلقي تنبيهاتك من خلال تطبيق Jetpack متابعة أي موقع باستخدام تطبيق Jetpack الحصول على إحصاءاتك باستخدام تطبيق Jetpack جديد - يتعذر تعطيل فتح الروابط في Jetpack - يتعذر تمكين فتح الروابط في Jetpack - فتح الروابط في Jetpack هل تحتاج إلى مساعدة؟ فهمت يتعذر علينا نقل بياناتك وإعداداتك من دون اتصال الشبكة. diff --git a/WordPress/src/main/res/values-cs/strings.xml b/WordPress/src/main/res/values-cs/strings.xml index 84d6dc2a5961..b404a240d672 100644 --- a/WordPress/src/main/res/values-cs/strings.xml +++ b/WordPress/src/main/res/values-cs/strings.xml @@ -165,7 +165,6 @@ Language: cs_CZ Jetpack poskytuje statistiky, upozornění a další, které vám pomohou vytvořit a rozšířit web WordPress vašich snů.\n\nAplikace WordPress již nepodporuje vytváření nového webu. Jetpack poskytuje statistiky, upozornění a další, které vám pomohou vytvořit a rozšířit web WordPress vašich snů. Vytvořte nový WordPress web pomocí aplikace Jetpack - weblinks urilinks Přepněte na aplikaci Jetpack, abyste do svého zařízení nadále dostávali upozornění v reálném čase. Přepněte do aplikace Jetpack a najděte, sledujte a lajkujte všechny své oblíbené stránky a příspěvky pomocí aplikace Reader. @@ -173,9 +172,6 @@ Language: cs_CZ Získejte oznámení pomocí aplikace Jetpack Sledujte libovolnou stránku pomocí aplikace Jetpack Získejte své statistiky pomocí nové aplikace Jetpack - Nelze zakázat otevřené odkazy v Jetpacku - Nelze povolit otevřené odkazy v Jetpacku - Otevřít odkazy v Jetpacku Potřebujete pomoci? Mám to Bez připojení k síti nemůžeme přenést vaše data a nastavení. diff --git a/WordPress/src/main/res/values-de/strings.xml b/WordPress/src/main/res/values-de/strings.xml index 1c9658f5f703..ba665fedd604 100644 --- a/WordPress/src/main/res/values-de/strings.xml +++ b/WordPress/src/main/res/values-de/strings.xml @@ -828,7 +828,6 @@ Language: de Jetpack bietet Statistiken, Benachrichtigungen und mehr, mit deren Hilfe du deine perfekte WordPress-Website gestalten und erweitern kannst.\n\nDie WordPress-App unterstützt das Erstellen neuer Websites nicht mehr. Jetpack bietet Statistiken, Benachrichtigungen und mehr, mit deren Hilfe du deine perfekte WordPress-Website gestalten und erweitern kannst. Eine neue WordPress-Website mit der Jetpack-App erstellen - weblinks urilinks Wechsle zur Jetpack-App, um weiterhin Benachrichtigungen in Echtzeit auf deinem Gerät zu erhalten. Wechsle zur Jetpack-App, um mit dem Reader all deine Lieblings-Websites und -Beiträge zu finden, ihnen zu folgen und Likes dafür zu vergeben. @@ -836,9 +835,6 @@ Language: de Benachrichtigungen in der Jetpack-App erhalten Mit der Jetpack-App beliebigen Websites folgen Statistiken in der neuen Jetpack-App ansehen - „Open links“ (Links öffnen) kann in Jetpack nicht deaktiviert werden - „Open links“ (Links öffnen) kann in Jetpack nicht aktiviert werden - Links in Jetpack öffnen Brauchst du Hilfe? Verstanden Wir können deine Daten und Einstellungen ohne Netzwerkverbindung nicht übertragen. diff --git a/WordPress/src/main/res/values-en-rCA/strings.xml b/WordPress/src/main/res/values-en-rCA/strings.xml index eab384c385fe..4327d9f7e6f7 100644 --- a/WordPress/src/main/res/values-en-rCA/strings.xml +++ b/WordPress/src/main/res/values-en-rCA/strings.xml @@ -724,7 +724,6 @@ Language: en_CA Jetpack provides stats, notifications and more to help you build and grow the WordPress site of your dreams.\n\nThe WordPress app no longer supports creating a new site. Jetpack provides stats, notifications and more to help you build and grow the WordPress site of your dreams. Create a new WordPress site with the Jetpack app - weblinks urilinks Switch to the Jetpack app to keep receiving realtime notifications on your device. Switch to the Jetpack app to find, follow, and like all your favorite sites and posts with Reader. @@ -732,9 +731,6 @@ Language: en_CA Get your notifications with the Jetpack app Follow any site with the Jetpack app Get your stats using the new Jetpack app - Unable to disable open links in Jetpack - Unable to enable open links in Jetpack - Open links in Jetpack Need help? Got it We are unable to transfer your data and settings without a network connection. diff --git a/WordPress/src/main/res/values-en-rGB/strings.xml b/WordPress/src/main/res/values-en-rGB/strings.xml index 07d0008a2e56..0803169330c6 100644 --- a/WordPress/src/main/res/values-en-rGB/strings.xml +++ b/WordPress/src/main/res/values-en-rGB/strings.xml @@ -745,7 +745,6 @@ Language: en_GB Jetpack provides stats, notifications and more to help you build and grow the WordPress site of your dreams.\n\nThe WordPress app no longer supports creating a new site. Jetpack provides stats, notifications and more to help you build and grow the WordPress site of your dreams. Create a new WordPress site with the Jetpack app - weblinks urilinks Switch to the Jetpack app to keep receiving realtime notifications on your device. Switch to the Jetpack app to find, follow, and like all your favourite sites and posts with Reader. @@ -753,9 +752,6 @@ Language: en_GB Get your notifications with the Jetpack app Follow any site with the Jetpack app Get your stats using the new Jetpack app - Unable to disable open links in Jetpack - Unable to enable open links in Jetpack - Open links in Jetpack Need help? Got it We are unable to transfer your data and settings without a network connection. diff --git a/WordPress/src/main/res/values-es-rCL/strings.xml b/WordPress/src/main/res/values-es-rCL/strings.xml index b93301ab2f48..3bdcabc2d2fc 100644 --- a/WordPress/src/main/res/values-es-rCL/strings.xml +++ b/WordPress/src/main/res/values-es-rCL/strings.xml @@ -612,7 +612,6 @@ Language: es_CL Jetpack proporciona estadísticas, notificaciones y mucho más para ayudarte a crear y ampliar el sitio de WordPress de tus sueños.\n\nLa aplicación de WordPress ya no admite la creación de sitios nuevos. Jetpack proporciona estadísticas, notificaciones y mucho más para ayudarte a crear y ampliar el sitio de WordPress de tus sueños. Crear un sitio de WordPress nuevo con la aplicación de Jetpack - enlaces web enlaces URI Cambia a la aplicación de Jetpack para seguir recibiendo notificaciones en tiempo real en tu dispositivo. Cambia a la aplicación de Jetpack para buscar tus entradas y sitios favoritos, seguirlos e indicar que te gustan con el Lector. @@ -620,9 +619,6 @@ Language: es_CL Recibe tus notificaciones con la aplicación de Jetpack Sigue cualquier sitio con la aplicación de Jetpack Obtén tus estadísticas con la nueva aplicación de Jetpack - No se puede desactivar Abrir enlaces en Jetpack - No se puede activar Abrir enlaces en Jetpack - Abrir enlaces en Jetpack ¿Necesitas ayuda? De acuerdo No podemos transferir tus datos y ajustes sin una conexión de red. diff --git a/WordPress/src/main/res/values-es-rCO/strings.xml b/WordPress/src/main/res/values-es-rCO/strings.xml index f300af597321..dc6a981f082d 100644 --- a/WordPress/src/main/res/values-es-rCO/strings.xml +++ b/WordPress/src/main/res/values-es-rCO/strings.xml @@ -745,7 +745,6 @@ Language: es_CO Jetpack proporciona estadísticas, notificaciones y mucho más para ayudarte a crear y ampliar el sitio de WordPress de tus sueños.\n\nLa aplicación de WordPress ya no admite la creación de sitios nuevos. Jetpack provee estadísticas, notificaciones y más para ayudarle construir y crecer el sitio de WordPress que usted ha imaginado. Crear un sitio nuevo de WordPress con la aplicación de Jetpack. - enlaces web enlaces URI Cambia a la aplicación de Jetpack para continuar recibiendo las notificaciones actualizadas en su dispositivo. Cambia a la aplicación de Jetpack para encontrar, seguir y poner like en todos sus sitios favoritos y posts con el Lector. @@ -753,9 +752,6 @@ Language: es_CO Recibir sus notificaciones en la aplicación de Jetpack. Seguir cualquier sitio con la aplicación de Jetpack. Recibir sus estadísticas de la aplicación nuevo Jetpack. - No se puede deshabilitar las ligas abiertas en Jetpack. - No se puede activar las ligas abiertas en Jetpack. - Abrir las ligas en Jetpack. ¿Necesita ayuda? Entendido No podemos transferir tus datos y ajustes sin una conexión de red. diff --git a/WordPress/src/main/res/values-es-rMX/strings.xml b/WordPress/src/main/res/values-es-rMX/strings.xml index 8ce268906c1a..e0dcc6a1ed4f 100644 --- a/WordPress/src/main/res/values-es-rMX/strings.xml +++ b/WordPress/src/main/res/values-es-rMX/strings.xml @@ -21,7 +21,6 @@ Language: es_MX Jetpack provee estadísticas, notificaciones y más para ayudarle construir y crecer el sitio de WordPress que usted ha imaginado. Jetpack provee estadísticas, notificaciones y más para ayudarle construir y crecer el sitio de WordPress que usted ha imaginado. Crear un sitio nuevo de WordPress con la aplicación de Jetpack. - Enlances Enlances URI Cambia a la aplicación de Jetpack para continuar recibiendo las notificaciones actualizadas en su dispositivo. Cambia a la aplicación de Jetpack para encontrar, seguir y poner like en todos sus sitios favoritos y posts con el Lector. @@ -29,9 +28,6 @@ Language: es_MX Recibir sus notificaciones en la aplicación de Jetpack. Seguir cualquier sitio con la aplicación de Jetpack. Recibir sus estadísticas de la aplicación nuevo Jetpack. - No se puede deshabilitar las ligas abiertas en Jetpack. - No se puede activar las ligas abiertas en Jetpack. - Abrir las ligas en Jetpack. ¿Necesita ayuda? Entendido No pudimos cambiar sus datos y configuraciones sin conexión con la red. diff --git a/WordPress/src/main/res/values-es/strings.xml b/WordPress/src/main/res/values-es/strings.xml index d37c19fe442d..4779b1e8c734 100644 --- a/WordPress/src/main/res/values-es/strings.xml +++ b/WordPress/src/main/res/values-es/strings.xml @@ -828,7 +828,6 @@ Language: es Jetpack proporciona estadísticas, notificaciones y mucho más para ayudarte a crear y ampliar el sitio de WordPress de tus sueños.\n\nLa aplicación de WordPress ya no admite la creación de sitios nuevos. Jetpack proporciona estadísticas, notificaciones y mucho más para ayudarte a crear y ampliar el sitio de WordPress de tus sueños. Crear un sitio de WordPress nuevo con la aplicación de Jetpack - enlaces web enlaces URI Cambia a la aplicación de Jetpack para seguir recibiendo notificaciones en tiempo real en tu dispositivo. Cambia a la aplicación de Jetpack para buscar tus entradas y sitios favoritos, seguirlos e indicar que te gustan con el Lector. @@ -836,9 +835,6 @@ Language: es Recibe tus notificaciones con la aplicación de Jetpack Sigue cualquier sitio con la aplicación de Jetpack Obtén tus estadísticas con la nueva aplicación de Jetpack - No se puede desactivar Abrir enlaces en Jetpack - No se puede activar Abrir enlaces en Jetpack - Abrir enlaces en Jetpack ¿Necesitas ayuda? De acuerdo No podemos transferir tus datos y ajustes sin una conexión de red. diff --git a/WordPress/src/main/res/values-fr-rCA/strings.xml b/WordPress/src/main/res/values-fr-rCA/strings.xml index 7bca9c73f064..541c8bfed920 100644 --- a/WordPress/src/main/res/values-fr-rCA/strings.xml +++ b/WordPress/src/main/res/values-fr-rCA/strings.xml @@ -802,7 +802,6 @@ Language: fr Jetpack fournit des statistiques, des notifications et plus encore, afin de vous permettre de concevoir et de développer le site WordPress de vos rêves.\n\nL’application WordPress ne prend plus en charge la création de site. Jetpack fournit des statistiques, des notifications et plus encore, afin de vous permettre de concevoir et de développer le site WordPress de vos rêves. Créer un site WordPress avec l’application Jetpack - liens Web liens URI Passez à l\'application Jetpack pour continuer de recevoir des notifications en temps réel sur votre appareil. Passez à l\'application Jetpack pour trouver, suivre et aimer tous vos sites et articles favoris avec le Lecteur. @@ -810,9 +809,6 @@ Language: fr Obtenir des notifications avec l\'application JetPack Suivre un site à l\'aide de l\'application Jetpack Obtenir des statistiques grâce à la nouvelle application Jetpack - Impossible de désactiver l’ouverture des liens dans Jetpack - Impossible d’activer l’ouverture des liens dans Jetpack - Ouvrir les liens dans Jetpack Besoin d’aide ? J’ai compris Nous ne pouvons pas transférer vos données et réglages sans connexion réseau. diff --git a/WordPress/src/main/res/values-fr/strings.xml b/WordPress/src/main/res/values-fr/strings.xml index 7bca9c73f064..541c8bfed920 100644 --- a/WordPress/src/main/res/values-fr/strings.xml +++ b/WordPress/src/main/res/values-fr/strings.xml @@ -802,7 +802,6 @@ Language: fr Jetpack fournit des statistiques, des notifications et plus encore, afin de vous permettre de concevoir et de développer le site WordPress de vos rêves.\n\nL’application WordPress ne prend plus en charge la création de site. Jetpack fournit des statistiques, des notifications et plus encore, afin de vous permettre de concevoir et de développer le site WordPress de vos rêves. Créer un site WordPress avec l’application Jetpack - liens Web liens URI Passez à l\'application Jetpack pour continuer de recevoir des notifications en temps réel sur votre appareil. Passez à l\'application Jetpack pour trouver, suivre et aimer tous vos sites et articles favoris avec le Lecteur. @@ -810,9 +809,6 @@ Language: fr Obtenir des notifications avec l\'application JetPack Suivre un site à l\'aide de l\'application Jetpack Obtenir des statistiques grâce à la nouvelle application Jetpack - Impossible de désactiver l’ouverture des liens dans Jetpack - Impossible d’activer l’ouverture des liens dans Jetpack - Ouvrir les liens dans Jetpack Besoin d’aide ? J’ai compris Nous ne pouvons pas transférer vos données et réglages sans connexion réseau. diff --git a/WordPress/src/main/res/values-gl/strings.xml b/WordPress/src/main/res/values-gl/strings.xml index ff924ea351d4..3832adfa2dff 100644 --- a/WordPress/src/main/res/values-gl/strings.xml +++ b/WordPress/src/main/res/values-gl/strings.xml @@ -753,7 +753,6 @@ Language: gl_ES O Jetpack fornece estatísticas, notificacións e moito máis para axudarche a crear e desenvolver o sitio WordPress dos teus soños.\n\nA aplicación WordPress xa non é compatíbel coa creación de sitios novos. Jetpack fornece estatísticas, notificacións e moito máis para axudarche a crear e desenvolver o sitio WordPress dos teus soños. Crear un novo sitio WordPress coa aplicación Jetpack - weblinks urilinks Muda para a aplicación Jetpack para continuar a recibir notificacións en tempo real no seu dispositivo. Muda para a aplicación Jetpack para encontrar, seguir e gustar todas as túas publicacións e sitios favoritos co Lector. @@ -761,9 +760,6 @@ Language: gl_ES Recibe as túas notificacións coa aplicación de Jetpack Segue calquera sitio coa aplicación de Jetpack Obtén as túas estatísticas coa nova aplicación de Jetpack - Non se pode desactivar abrir as ligazóns en Jetpack - Non se pode activar abrir as ligazóns en Jetpack - Abrir ligazóns en Jetpack Necesitas axuda? De acordo Non podemos transferir os teus datos e axustes sen unha conexión de rede. diff --git a/WordPress/src/main/res/values-he/strings.xml b/WordPress/src/main/res/values-he/strings.xml index de3a8e68a12e..7e8a5d51815e 100644 --- a/WordPress/src/main/res/values-he/strings.xml +++ b/WordPress/src/main/res/values-he/strings.xml @@ -821,7 +821,6 @@ Language: he_IL השירות של Jetpack מאפשר גישה לנתונים סטטיסטיים, להודעות ולפרטים נוספים כדי לעזור לך לבנות ולפתח את האתר של WordPress שתמיד רצית.\n\nהאפליקציה של WordPress כבר לא תומכת ביצירת אתר חדש. השירות של Jetpack מאפשר גישה לנתונים סטטיסטיים, להודעות ולפרטים נוספים כדי לעזור לך לבנות ולפתח את האתר של WordPress שתמיד רצית. ליצור אתר WordPress.com חדש עם האפליקציה של Jetpack - weblinks urilinks יש לעבור לאפליקציה של Jetpack כדי להמשיך לקבל התראות בזמן אמת אל המכשיר שלך. כדאי לעבור לאפליקציה של Jetpack כדי למצוא, לעקוב ולסמן לייק בכל האתרים והפוסטים האהובים עליך עם Reader. @@ -829,9 +828,6 @@ Language: he_IL אפשר לקבל הודעות דרך האפליקציה של Jetpack אפשר לעקוב אחרי כל אתר דרך האפליקציה של Jetpack אפשר לקבל את הנתונים הסטטיסטיים שלך דרך האפליקציה החדשה של Jetpack - אין אפשרות להשבית את פתיחת הקישורים ב-Jetpack - אין אפשרות להפעיל את פתיחת הקישורים ב-Jetpack - לפתוח את הקישורים ב-Jetpack נדרשת לך עזרה? הבנתי אין לנו אפשרות להעביר את הנתונים וההגדרות שלך ללא חיבור לרשת. diff --git a/WordPress/src/main/res/values-id/strings.xml b/WordPress/src/main/res/values-id/strings.xml index c3a32afbd4e2..cf3015ae5f6c 100644 --- a/WordPress/src/main/res/values-id/strings.xml +++ b/WordPress/src/main/res/values-id/strings.xml @@ -824,7 +824,6 @@ Language: id Jetpack menghadirkan fitur statistik, pemberitahuan, dan berbagai fitur lainnya untuk membantu membangun sekaligus mengembangkan situs WordPress impian Anda.\n\nAplikasi WordPress tidak dapat lagi digunakan untuk membuat situs baru. Jetpack menghadirkan fitur statistik, pemberitahuan, dan berbagai fitur lainnya untuk membantu membangun sekaligus mengembangkan situs WordPress impian Anda. Buat situs WordPress baru dengan aplikasi Jetpack - tautanweb tautanuri Ganti ke aplikasi Jetpack agar dapat tetap menerima notifikasi real-time langsung di perangkat Anda. Ganti ke aplikasi Jetpack untuk menemukan, mengikuti, dan memberi suka ke situs dan pos favorit lewat Reader. @@ -832,9 +831,6 @@ Language: id Dapatkan pemberitahuan dengan aplikasi Jetpack Ikuti situs apa pun dengan aplikasi Jetpack Dapatkan statistik situs Anda lewat aplikasi Jetpack baru - Tidak dapat menonaktifkan fitur buka tautan di Jetpack - Tidak dapat mengaktifkan fitur buka tautan di Jetpack - Buka tautan di Jetpack Butuh bantuan? Saya mengerti Tanpa koneksi internet, kami tidak dapat mentransfer data dan pengaturan. diff --git a/WordPress/src/main/res/values-it/strings.xml b/WordPress/src/main/res/values-it/strings.xml index 1c748b6bc239..b5c2469b88ad 100644 --- a/WordPress/src/main/res/values-it/strings.xml +++ b/WordPress/src/main/res/values-it/strings.xml @@ -820,7 +820,6 @@ Language: it Jetpack fornisce statistiche, notifiche e altro per aiutarti a costruire e far crescere il sito WordPress dei tuoi sogni.\n\nL\'app WordPress non supporta più la creazione di un nuovo sito. Jetpack fornisce statistiche, notifiche e altro per aiutarti a costruire e far crescere il sito WordPress dei tuoi sogni. Crea un nuovo sito WordPress con l\'app Jetpack - link web link url Passa all\'app Jetpack per continuare a ricevere notifiche in tempo reale sul tuo dispositivo. Passa all\'app Jetpack per trovare, seguire e mettere mi piace a tutti i tuoi siti e post preferiti con Reader. @@ -828,9 +827,6 @@ Language: it Ricevi le tue notifiche con l\'app Jetpack Segui qualsiasi sito con l\'app Jetpack Ottieni le statistiche usando la nuova app di Jetpack - Impossibile disabilitare i collegamenti aperti in Jetpack - Impossibile abilitare i collegamenti aperti in Jetpack - Apri i collegamenti in Jetpack Hai bisogno di aiuto? OK Non siamo in grado di trasferire i dati e le impostazioni senza una connessione di rete. diff --git a/WordPress/src/main/res/values-ja/strings.xml b/WordPress/src/main/res/values-ja/strings.xml index eea95fc2a312..25b650a4212e 100644 --- a/WordPress/src/main/res/values-ja/strings.xml +++ b/WordPress/src/main/res/values-ja/strings.xml @@ -792,7 +792,6 @@ Language: ja_JP Jetpack は統計、通知などの機能を提供し、理想の WordPress サイトの構築と成長をサポートします。\n\nWordPress アプリは現在、新しいサイトの作成をサポートしていません。 Jetpack は統計、通知などの機能を提供し、理想の WordPress サイトの構築と成長をサポートします。 Jetpack アプリで新しい WordPress サイトを作成する - weblinks urilinks 端末で リアルタイムの通知を引き続き受信するには、Jetpack アプリに切り替えてください。 Jetpack アプリに切り替えると、Reader を使用してお気に入りのサイトや投稿をすべて検索、フォロー、「いいね」できます。 @@ -800,9 +799,6 @@ Language: ja_JP Jetpack アプリで通知を受け取る Jetpack アプリで任意のサイトをフォロー 新しい Jetpack アプリを使用して統計を入手する - 「Jetpack でリンクを開く」を無効にできません - 「Jetpack でリンクを開く」を有効にできません - Jetpack でリンクを開く ヘルプが必要ですか ? OK ネットワークに接続しないと、データと設定を転送できません。 diff --git a/WordPress/src/main/res/values-ko/strings.xml b/WordPress/src/main/res/values-ko/strings.xml index 72ceb444f4c3..a229d0780e3a 100644 --- a/WordPress/src/main/res/values-ko/strings.xml +++ b/WordPress/src/main/res/values-ko/strings.xml @@ -828,7 +828,6 @@ Language: ko_KR 젯팩에서는 꿈꾸는 워드프레스 사이트 제작 및 성장에 도움이 되는 통계, 알림 등이 제공됩니다.\n\n워드프레스 앱에서는 이제 새 사이트 생성이 지원되지 않습니다. 젯팩에서는 꿈꾸는 워드프레스 사이트 제작 및 성장에 도움이 되는 통계, 알림 등이 제공됩니다. 젯팩 앱으로 새 워드프레스 사이트 생성 - 웹 링크 URL 링크 젯팩 앱으로 전환하여 계속 기기에서 실시간 알림을 받으세요. 젯팩 앱으로 전환하여 리더를 통해 좋아하는 모든 사이트와 글을 찾고, 팔로우하고, 좋아요를 표시하세요. @@ -836,9 +835,6 @@ Language: ko_KR 젯팩 앱으로 알림 받기 젯팩 앱으로 사이트 팔로우 새 젯팩 앱을 사용하여 통계 받기 - 젯팩에서 링크 열기를 비활성화할 수 없음 - 젯팩에서 링크 여기를 활성화할 수 없음 - 젯팩에서 링크 열기 도움말이 필요하신가요? 알겠습니다. 네트워크 연결 없이 데이터와 설정을 이전할 수 없습니다. diff --git a/WordPress/src/main/res/values-lv/strings.xml b/WordPress/src/main/res/values-lv/strings.xml index e9628ab19c27..e84f59150ee3 100644 --- a/WordPress/src/main/res/values-lv/strings.xml +++ b/WordPress/src/main/res/values-lv/strings.xml @@ -636,7 +636,6 @@ Language: lv Jetpack nodrošina statistiku, paziņojumus un daudz ko citu, lai palīdzētu jums izveidot un attīstīt savu sapņu WordPress vietni.\n\nWordPress lietotne vairs neatbalsta jaunas vietnes izveidi. Jetpack nodrošina statistiku, paziņojumus un citu informāciju, lai palīdzētu jums izveidot un attīstīt savu sapņu WordPress vietni. Izveidojiet jaunu WordPress vietni, izmantojot lietotni Jetpack - tīmekļa saites urilinks Pārslēdzieties uz Jetpack lietotni, lai turpinātu saņemt reāllaika paziņojumus savā ierīcē. Pārslēdzieties uz lietotni Jetpack, lai atrastu, sekotu un patīk visām savām iecienītākajām vietnēm un ziņām, izmantojot programmu Reader.\nPārslēdzieties uz Jetpack lietotni, lai atrastu, sekotu un skatītu visas iecienītākās vietnes un ziņojumus, izmantojot Lasītāju. @@ -644,9 +643,6 @@ Language: lv Saņemiet paziņojumus, izmantojot Jetpack lietotni Sekojiet jebkurai vietnei, izmantojot Jetpack lietotni Iegūstiet savu statistiku, izmantojot jauno Jetpack lietotni - Nevar atspējot atvērtās saites pakalpojumā Jetpack - Nevar iespējot atvērtās saites pakalpojumā Jetpack - Atveriet saites pakalpojumā Jetpack Vajadzīga palīdzība? Sapratu Mēs nevaram pārsūtīt jūsu datus un iestatījumus bez tīkla savienojuma. diff --git a/WordPress/src/main/res/values-nl/strings.xml b/WordPress/src/main/res/values-nl/strings.xml index a78b4dc06f51..95b397a388a9 100644 --- a/WordPress/src/main/res/values-nl/strings.xml +++ b/WordPress/src/main/res/values-nl/strings.xml @@ -828,7 +828,6 @@ Language: nl Jetpack biedt statistieken, meldingen en meer om je te helpen de WordPress-site van je dromen te bouwen.\n\nDe WordPress-app ondersteunt het maken van een nieuwe site niet meer. Jetpack biedt statistieken, meldingen en meer om je te helpen de WordPress-site van je dromen te bouwen. Maak een nieuwe WordPress-site met de Jetpack-app - weblinks uri-links Schakel over naar de Jetpack-app om realtime meldingen te blijven ontvangen op je apparaat. Schakel over naar de Jetpack-app om je favoriete sites en berichten te vinden, te volgen en een like te geven met Reader. @@ -836,9 +835,6 @@ Language: nl Ontvang meldingen met de Jetpack-app Volg sites met de Jetpack-app Bekijk je statistieken met de nieuwe Jetpack-app - Kan links openen in Jetpack niet uitschakelen - Kan links openen in Jetpack niet inschakelen - Links openen in Jetpack Hulp nodig? Duidelijk We kunnen je gegevens en instellingen niet overdragen zonder netwerkverbinding. diff --git a/WordPress/src/main/res/values-pl/strings.xml b/WordPress/src/main/res/values-pl/strings.xml index c017bddd6fe5..08cc18750c78 100644 --- a/WordPress/src/main/res/values-pl/strings.xml +++ b/WordPress/src/main/res/values-pl/strings.xml @@ -745,7 +745,6 @@ Language: pl Jetpack zapewnia statystyki, powiadomienia i więcej, aby pomóc zbudować i rozwijać wymarzoną witrynę z wykorzystaniem WordPressa.\n\nAplikacja WordPress nie obsługuje już tworzenia nowej witryny. Jetpack zapewnia statystyki, powiadomienia i więcej, aby pomóc zbudować i rozwijać wymarzoną witrynę opartą o WordPressa. Utwórz nową witrynę WordPress za pomocą aplikacji Jetpack - odnośniki internetowe urilinki Przełącz się na aplikację Jetpack, żeby dalej dostawać powiadomienia w czasie rzeczywistym na swoim urządzeniu. Przełącz się na aplikację Jetpack, aby używać Czytnika do wyszukiwania, obserwowania i dodawania polubień wszystkich swoich ulubionych stron i wpisów. @@ -753,9 +752,6 @@ Language: pl Otrzymuj powiadomienia dzięki aplikacji Jetpack Subskrybuj dowolną witrynę za pomocą aplikacji Jetpack Uzyskaj dostęp do statystyk za pomocą nowej aplikacji Jetpack - Nie można wyłączyć otwartych odnośników w Jetpacku - Nie mogę włączyć otwierania odnośników w Jetpacku - Otwórz odnośniki w Jetpack Potrzebujesz pomocy? Rozumiem Nie możemy przenieść twoich danych i ustawień bez połączenia z siecią. diff --git a/WordPress/src/main/res/values-pt-rBR/strings.xml b/WordPress/src/main/res/values-pt-rBR/strings.xml index e35b3e0f337c..b17c643c03f1 100644 --- a/WordPress/src/main/res/values-pt-rBR/strings.xml +++ b/WordPress/src/main/res/values-pt-rBR/strings.xml @@ -828,7 +828,6 @@ Language: pt_BR O Jetpack fornece estatísticas, notificações e muito mais para ajudar você a criar e desenvolver o site WordPress dos seus sonhos.\n\nO aplicativo WordPress não é mais compatível com a criação de um novo site. O Jetpack fornece estatísticas, notificações e muito mais para ajudar você a criar e desenvolver o site WordPress dos seus sonhos. Criar um novo site do WordPress com o aplicativo Jetpack - weblinks urilinks Mude para o aplicativo Jetpack para continuar recebendo notificações em tempo real no seu dispositivo. Mude para o aplicativo Jetpack para encontrar, seguir e curtir todas as suas publicações e sites favoritos com o Leitor. @@ -836,9 +835,6 @@ Language: pt_BR Receba notificações com o aplicativo Jetpack Siga qualquer site com o aplicativo Jetpack Acesse suas estatísticas com o novo aplicativo Jetpack - Não é possível desabilitar links abertos no Jetpack - Não é possível habilitar links abertos no Jetpack - Abrir links no Jetpack Precisa de ajuda? Entendi Não é possível transferir seus dados e configurações sem uma conexão de rede. diff --git a/WordPress/src/main/res/values-ro/strings.xml b/WordPress/src/main/res/values-ro/strings.xml index 56e900e52528..a6f61741c5e1 100644 --- a/WordPress/src/main/res/values-ro/strings.xml +++ b/WordPress/src/main/res/values-ro/strings.xml @@ -828,7 +828,6 @@ Language: ro Jetpack oferă statistici, notificări și multe altele pentru a te ajuta să construiești și să dezvolți site-ul WordPress la care visezi.\nAplicația WordPress nu mai permite crearea unui site nou. Jetpack oferă statistici, notificări și multe altele pentru a te ajuta să construiești și să dezvolți site-ul WordPress la care visezi. Creează un site WordPress nou cu aplicația Jetpack - legături web urilinks Comută la aplicația Jetpack pentru a continua să primești notificări în timp real pe dispozitivul tău. Comută la aplicația Jetpack pentru a găsi, urmări și aprecia toate site-urile și articolele tale preferate din Cititor. @@ -836,9 +835,6 @@ Language: ro Cu aplicația Jetpack, primești notificări Cu aplicația Jetpack, poți să urmărești orice site Cu aplicația Jetpack, îți vezi statisticile - Nu pot dezactiva deschiderea legăturilor în Jetpack - Nu pot activa deschiderea legăturilor în Jetpack - Deschide legăturile în Jetpack Ai nevoie de ajutor? Am înțeles Nu putem să transferăm datele și setările fără o conexiune la rețea. diff --git a/WordPress/src/main/res/values-ru/strings.xml b/WordPress/src/main/res/values-ru/strings.xml index 850132104f77..d3a7388c3f2b 100644 --- a/WordPress/src/main/res/values-ru/strings.xml +++ b/WordPress/src/main/res/values-ru/strings.xml @@ -828,7 +828,6 @@ Language: ru В Jetpack есть статистика, уведомления и множество других функций, которые помогут создать сайт мечты.\n\nПриложение WordPress больше не поддерживает создание новых сайтов. В Jetpack есть статистика, уведомления и множество других функций, которые помогут создать сайт мечты. Создайте новый сайт WordPress в приложении Jetpack - веб-ссылки URI-ссылки Перейдите в приложение Jetpack, чтобы получать на устройство уведомления в реальном времени. Перейдите в приложение Jetpack, чтобы найти, подписаться и поставить отметки «Нравится» любимым сайтам и записям в Чтиве. @@ -836,9 +835,6 @@ Language: ru Получайте уведомления в приложении Jetpack Подпишитесь на любые сайты в приложении Jetpack Просматривайте статистику в новом приложении Jetpack - Не удалось отключить открытие ссылок в Jetpack - Не удалось включить открытие ссылок в Jetpack - Открывать ссылки в Jetpack Нужна помощь? Понятно Не удаётся перенести ваши данные и настройки без подключения к сети. diff --git a/WordPress/src/main/res/values-sq/strings.xml b/WordPress/src/main/res/values-sq/strings.xml index 7af72d16d125..0e09beaf1279 100644 --- a/WordPress/src/main/res/values-sq/strings.xml +++ b/WordPress/src/main/res/values-sq/strings.xml @@ -826,7 +826,6 @@ Language: sq_AL Jetpack-u furnizon statistika, njoftime, etj, për t’ju ndihmuar të ngrini dhe fuqizoni sajtin tuaj WordPress që keni ëndërruar.\n\nAplikacioni WordPress nuk mbulon më krijimin e një sajti të ri. Jetpack-u furnizon statistika, njoftime, etj, për t’ju ndihmuar të ngrini dhe fuqizoni sajtin tuaj WordPress që keni ëndërruar. Krijoni një sajt të ri WordPress me aplikacionin Jetpack - lidhje web lidhje URI Që të vazhdoni të merrni në pajisjen tuaj njoftime të atypëratyshme, kaloni te aplikacioni Jetpack. Që të gjeni, ndiqni dhe pëlqeni krejt sajtet dhe postimet tuaj të parapëlqyer me Lexuesin, kaloni te aplikacioni Jetpack. @@ -834,9 +833,6 @@ Language: sq_AL Merrini njoftimet tuaja me aplikacionin Jetpack Ndiqni çfarëdo sajti, me aplikacionin Jetpack Merrni statistikat tuaja duke përdorur aplikacionin e ri Jetpack - S’arrihet të çaktivizohet hapje lidhjesh në Jetpack - S’arrihet të aktivizohet hapje lidhjesh në Jetpack - Lidhjet hapi në Jetpack Ju duhet ndihmë? E kuptova S’jeni në gjendje të shpërngulim të dhënat dhe rregullimet tuaja pa një lidhje në rrjet. diff --git a/WordPress/src/main/res/values-sv/strings.xml b/WordPress/src/main/res/values-sv/strings.xml index 76c2a943b916..cd5047e398fd 100644 --- a/WordPress/src/main/res/values-sv/strings.xml +++ b/WordPress/src/main/res/values-sv/strings.xml @@ -827,7 +827,6 @@ Language: sv_SE Jetpack visar statistik, aviseringar med mera för att hjälpa dig bygga dina drömmars WordPress-webbplats och få fler besökare.\n\nStödet för att skapa en ny webbplats finns inte kvar i WordPress-appen. Jetpack visar statistik, aviseringar med mera för att hjälpa dig bygga dina drömmars WordPress-webbplats och få fler besökare. Skapa en ny WordPress-webbplats med Jetpack-appen - weblinks urilinks Byt till Jetpack-appen för att fortsätta ta emot aviseringar i realtid på din enhet. Byt till Jetpack-appen för att hitta, följa och gilla alla dina favoritwebbplatser och inlägg med läsare. @@ -835,9 +834,6 @@ Language: sv_SE Få dina aviseringar med Jetpack-appen Följ vilken webbplats som helst med Jetpack-appen Få din statistik med den nya Jetpack-appen - Det gick inte att inaktivera öppning av länkar i Jetpack - Det gick inte att aktivera öppning av länkar i Jetpack - Öppna länkar i Jetpack Behöver du hjälp? Jag förstår Vi kan inte överföra dina data och inställningar utan en nätverksanslutning. diff --git a/WordPress/src/main/res/values-tr/strings.xml b/WordPress/src/main/res/values-tr/strings.xml index 7d7692d49405..f8c45f89c468 100644 --- a/WordPress/src/main/res/values-tr/strings.xml +++ b/WordPress/src/main/res/values-tr/strings.xml @@ -828,7 +828,6 @@ Language: tr Jetpack, hayalinizdeki WordPress sitesini oluşturmanıza ve büyütmenize yardımcı olacak istatistikler, bildirimler ve daha fazlasını sağlar.\n\nWordPress uygulaması artık yeni bir site oluşturmayı desteklemiyor. Jetpack, hayalinizdeki WordPress sitesini oluşturmanıza ve büyütmenize yardımcı olacak istatistikleri, bildirimleri ve diğer özellikleri sağlar. Jetpack uygulamasıyla yeni bir WordPress sitesi oluşturun - weblinks urilinks Aygıtınızda gerçek zamanlı bildirimler almayı sürdürmek için Jetpack uygulamasına geçin. Okuyucu ile tüm beğendiğiniz siteleri ve yazıları bulmak, takip etmek ve beğenmek için Jetpack uygulamasına geçin. @@ -836,9 +835,6 @@ Language: tr Bildirimlerinizi Jetpack uygulamasıyla alın Jetpack uygulamasıyla istediğiniz siteyi takip edin Yeni Jetpack uygulamasını kullanarak istatistiklerinizi alın - Bağlantıları Jetpack ile açma özelliği kapatılamadı - Bağlantıları Jetpack ile açma özelliği açılamadı - Bağlantıları Jetpack ile aç Yardıma mı ihtiyacınız var? Anladım Ağ bağlantısı olmadığı için verilerinizi ve ayarlarınızı aktaramıyoruz. diff --git a/WordPress/src/main/res/values-zh-rCN/strings.xml b/WordPress/src/main/res/values-zh-rCN/strings.xml index 882affc7edcc..005564cd0597 100644 --- a/WordPress/src/main/res/values-zh-rCN/strings.xml +++ b/WordPress/src/main/res/values-zh-rCN/strings.xml @@ -827,7 +827,6 @@ Language: zh_CN Jetpack 可提供统计数据、通知等,帮助您创建和扩展理想中的 WordPress 站点。\n\nWordPress 应用不再支持创建新站点。 Jetpack 可提供统计数据、通知等,帮助您创建和扩展理想中的 WordPress 站点。 使用 Jetpack 应用创建新的 WordPress 站点 - 网络链接 URI 链接 切换到 Jetpack 应用,以在设备上接收 实时通知。 切换到 Jetpack 应用,使用阅读器来查找、关注和点赞所有您喜欢的站点和文章。 @@ -835,9 +834,6 @@ Language: zh_CN 使用 Jetpack 应用获取通知 借助 Jetpack 应用以关注任何站点状况 使用新版 Jetpack 应用获取统计数据 - 无法禁用在 Jetpack 中打开链接 - 无法启用在 Jetpack 中打开链接 - 在 Jetpack 中打开链接 需要帮助? 知道了 如果没有网络连接,我们将无法传输您的数据和设置。 diff --git a/WordPress/src/main/res/values-zh-rHK/strings.xml b/WordPress/src/main/res/values-zh-rHK/strings.xml index 06b6aff91cb4..cf73b69b2d8a 100644 --- a/WordPress/src/main/res/values-zh-rHK/strings.xml +++ b/WordPress/src/main/res/values-zh-rHK/strings.xml @@ -738,7 +738,6 @@ Language: zh_TW Jetpack 提供統計資料、通知等其他功能,可協助你建置和發展夢想中的 WordPress 網站。\n\nWordPress 應用程式不再支援建立新網站。 Jetpack 提供統計資料、通知等其他功能,可協助你建置和發展夢想中的 WordPress 網站。 使用 Jetpack 應用程式建立新的 WordPress 網站 - 網頁連結 URI 連結 切換至 Jetpack 應用程式,以便繼續 在你的裝置上接收即時通知。 切換至 Jetpack 應用程式,以便透過閱讀器搜尋、追蹤並按讚所有喜愛的網站及文章。 @@ -746,9 +745,6 @@ Language: zh_TW 透過 Jetpack 應用程式接收通知 透過 Jetpack 應用程式追蹤任何網站 使用全新 Jetpack 應用程式取得統計資料 - 無法停用在 Jetpack 中開啟連結 - 無法啟用在 Jetpack 中開啟連結 - 在 Jetpack 中開啟連結 需要協助嗎? 知道了 沒有網路連線的情況下,我們無法轉移你的資料和設定。 diff --git a/WordPress/src/main/res/values-zh-rTW/strings.xml b/WordPress/src/main/res/values-zh-rTW/strings.xml index 06b6aff91cb4..cf73b69b2d8a 100644 --- a/WordPress/src/main/res/values-zh-rTW/strings.xml +++ b/WordPress/src/main/res/values-zh-rTW/strings.xml @@ -738,7 +738,6 @@ Language: zh_TW Jetpack 提供統計資料、通知等其他功能,可協助你建置和發展夢想中的 WordPress 網站。\n\nWordPress 應用程式不再支援建立新網站。 Jetpack 提供統計資料、通知等其他功能,可協助你建置和發展夢想中的 WordPress 網站。 使用 Jetpack 應用程式建立新的 WordPress 網站 - 網頁連結 URI 連結 切換至 Jetpack 應用程式,以便繼續 在你的裝置上接收即時通知。 切換至 Jetpack 應用程式,以便透過閱讀器搜尋、追蹤並按讚所有喜愛的網站及文章。 @@ -746,9 +745,6 @@ Language: zh_TW 透過 Jetpack 應用程式接收通知 透過 Jetpack 應用程式追蹤任何網站 使用全新 Jetpack 應用程式取得統計資料 - 無法停用在 Jetpack 中開啟連結 - 無法啟用在 Jetpack 中開啟連結 - 在 Jetpack 中開啟連結 需要協助嗎? 知道了 沒有網路連線的情況下,我們無法轉移你的資料和設定。 diff --git a/WordPress/src/main/res/values/key_strings.xml b/WordPress/src/main/res/values/key_strings.xml index efee36015b10..74396b17f3ef 100644 --- a/WordPress/src/main/res/values/key_strings.xml +++ b/WordPress/src/main/res/values/key_strings.xml @@ -134,9 +134,6 @@ wp_pref_initial_screen - - pref_key_open_web_links_with_jetpack - wp_pref_notifications_root wp_pref_notifications_master wp_pref_custom_notification_sound diff --git a/WordPress/src/main/res/values/strings.xml b/WordPress/src/main/res/values/strings.xml index b7c86bb2f67c..321b4bf2a424 100644 --- a/WordPress/src/main/res/values/strings.xml +++ b/WordPress/src/main/res/values/strings.xml @@ -4116,11 +4116,6 @@ translators: %s: Select control option value e.g: "Auto, 25%". --> It\'s time to continue your WordPress journey on the Jetpack app. Let\'s go - - Open links in Jetpack - Unable to enable open links in Jetpack - Unable to disable open links in Jetpack - Get your stats using the new Jetpack app Follow any site with the Jetpack app @@ -4158,13 +4153,12 @@ translators: %s: Select control option value e.g: "Auto, 25%". --> urilinks - weblinks Continue without Jetpack Open links in Jetpack? It looks like you have the Jetpack app installed.\n\nWould you like to open links in the Jetpack app in the future?\n\nYou can always change this in App Settings > Open links in Jetpack - @string/preference_open_links_in_jetpack + Open links in Jetpack Open links in WordPress diff --git a/WordPress/src/main/res/xml/app_settings.xml b/WordPress/src/main/res/xml/app_settings.xml index 87c72b1fdfee..f8d8c9e04e64 100644 --- a/WordPress/src/main/res/xml/app_settings.xml +++ b/WordPress/src/main/res/xml/app_settings.xml @@ -67,12 +67,6 @@ android:key="@string/pref_key_device_settings" android:title="@string/preference_open_device_settings" /> - - diff --git a/WordPress/src/test/java/org/wordpress/android/ui/deeplinks/DeepLinkOpenWebLinksWithJetpackHelperTest.kt b/WordPress/src/test/java/org/wordpress/android/ui/deeplinks/DeepLinkOpenWebLinksWithJetpackHelperTest.kt deleted file mode 100644 index 8d247f6f2545..000000000000 --- a/WordPress/src/test/java/org/wordpress/android/ui/deeplinks/DeepLinkOpenWebLinksWithJetpackHelperTest.kt +++ /dev/null @@ -1,254 +0,0 @@ -package org.wordpress.android.ui.deeplinks - -import kotlinx.coroutines.ExperimentalCoroutinesApi -import org.assertj.core.api.Assertions.assertThat -import org.junit.Before -import org.junit.Test -import org.junit.runner.RunWith -import org.mockito.ArgumentMatchers.anyString -import org.mockito.Mock -import org.mockito.junit.MockitoJUnitRunner -import org.mockito.kotlin.any -import org.mockito.kotlin.whenever -import org.wordpress.android.BaseUnitTest -import org.wordpress.android.ui.prefs.AppPrefsWrapper -import org.wordpress.android.util.BuildConfigWrapper -import org.wordpress.android.util.DateTimeUtils -import org.wordpress.android.util.DateTimeUtilsWrapper -import org.wordpress.android.util.PackageManagerWrapper -import org.wordpress.android.util.config.OpenWebLinksWithJetpackFlowFeatureConfig -import org.wordpress.android.util.config.RemoteConfigWrapper -import java.util.Date - -@ExperimentalCoroutinesApi -@RunWith(MockitoJUnitRunner::class) -class DeepLinkOpenWebLinksWithJetpackHelperTest : BaseUnitTest() { - @Mock - lateinit var openWebLinksWithJetpackFlowFeatureConfig: OpenWebLinksWithJetpackFlowFeatureConfig - - @Mock - lateinit var appPrefsWrapper: AppPrefsWrapper - - @Mock - lateinit var remoteConfigWrapper: RemoteConfigWrapper - @Mock - lateinit var packageManagerWrapper: PackageManagerWrapper - - @Mock - lateinit var dateTimeUtilsWrapper: DateTimeUtilsWrapper - - @Mock - lateinit var buildConfigWrapper: BuildConfigWrapper - - private lateinit var helper: DeepLinkOpenWebLinksWithJetpackHelper - - @Before - fun setUp() { - helper = DeepLinkOpenWebLinksWithJetpackHelper( - openWebLinksWithJetpackFlowFeatureConfig, - appPrefsWrapper, - packageManagerWrapper, - dateTimeUtilsWrapper, - buildConfigWrapper, - remoteConfigWrapper - ) - } - - @Test - fun `when feature flag is off, then show overlay is false`() { - setTest(isFeatureFlagEnabled = false) - - val result = helper.shouldShowOpenLinksInJetpackOverlay() - - assertThat(result).isFalse - } - - @Test - fun `given flow enabled, when JP is not installed, then show overlay is false`() { - setTest( - isFeatureFlagEnabled = true, - isJetpackInstalled = false - ) - - val result = helper.shouldShowOpenLinksInJetpackOverlay() - - assertThat(result).isFalse - } - - @Test - fun `given flow enabled & JP is installed, when isOpenWebLinks setting is enabled, then show overlay is false`() { - setTest( - isFeatureFlagEnabled = true, - isJetpackInstalled = true, - isOpenWebLinksWithJetpack = true - ) - - val result = helper.shouldShowOpenLinksInJetpackOverlay() - - assertThat(result).isFalse - } - - @Test - @Suppress("MaxLineLength") - fun `given flow enabled, JP install, isOpenWebLinks disabled, when overlay never been shown, then show overlay is true`() { - setTest( - isFeatureFlagEnabled = true, - isJetpackInstalled = true, - isOpenWebLinksWithJetpack = false, - overlayLastShownTimestamp = 0L - ) - - val result = helper.shouldShowOpenLinksInJetpackOverlay() - - assertThat(result).isTrue - } - - @Test - @Suppress("MaxLineLength") - fun `given flow enabled, JP install, isOpenWebLinks disabled, overlay shown before, when frequency is only once, then show overlay is false`() { - setTest( - isFeatureFlagEnabled = true, - isJetpackInstalled = true, - isOpenWebLinksWithJetpack = false, - overlayLastShownTimestamp = getDateXDaysAgoInMilliseconds(5), - flowFrequency = 0L - ) - - val result = helper.shouldShowOpenLinksInJetpackOverlay() - - assertThat(result).isFalse - } - - @Test - fun `given flow is accessed after frequency, when showOverlay is invoked, then show overlay is true`() { - setTest( - isFeatureFlagEnabled = true, - isJetpackInstalled = true, - isOpenWebLinksWithJetpack = false, - overlayLastShownTimestamp = getDateXDaysAgoInMilliseconds(9), - flowFrequency = 5L - ) - - val result = helper.shouldShowOpenLinksInJetpackOverlay() - - assertThat(result).isTrue - } - - @Test - fun `given flow is accessed before frequency, when showOverlay is invoked, then show overlay is false`() { - setTest( - isFeatureFlagEnabled = true, - isJetpackInstalled = true, - isOpenWebLinksWithJetpack = false, - overlayLastShownTimestamp = getDateXDaysAgoInMilliseconds(3), - flowFrequency = 5L - ) - val result = helper.shouldShowOpenLinksInJetpackOverlay() - - assertThat(result).isFalse - } - - @Test - fun `given flow is accessed equal to frequency, when showOverlay is invoked, then show overlay is true`() { - setTest( - isFeatureFlagEnabled = true, - isJetpackInstalled = true, - isOpenWebLinksWithJetpack = false, - overlayLastShownTimestamp = getDateXDaysAgoInMilliseconds(1), - flowFrequency = 1L - ) - - val result = helper.shouldShowOpenLinksInJetpackOverlay() - - assertThat(result).isTrue - } - - @Test - fun `when feature flag is off, then show app setting is false`() { - setTest(isFeatureFlagEnabled = false) - - val result = helper.shouldShowAppSetting() - - assertThat(result).isFalse - } - - @Test - fun `given flow ff is enabled, when jetpack is not installed, then show app setting is false`() { - setTest( - isFeatureFlagEnabled = true, - isJetpackInstalled = false - ) - - val result = helper.shouldShowAppSetting() - - assertThat(result).isFalse - } - - @Test - fun `given flow ff is enabled, when jetpack is installed, then show app setting is true`() { - setTest( - isFeatureFlagEnabled = true, - isJetpackInstalled = true - ) - - val result = helper.shouldShowAppSetting() - - assertThat(result).isTrue - } - - private fun setTest( - isFeatureFlagEnabled: Boolean = true, - isJetpackInstalled: Boolean = true, - isOpenWebLinksWithJetpack: Boolean = false, - overlayLastShownTimestamp: Long = 0L, - flowFrequency: Long = 0L - ) { - setFeatureEnabled(isFeatureFlagEnabled) - setJetpackInstalled(isJetpackInstalled) - setIsOpenWebLinksWithJetpack(isOpenWebLinksWithJetpack) - setLastShownTimestamp(overlayLastShownTimestamp) - setFlowFrequency(flowFrequency) - setDaysBetween(overlayLastShownTimestamp) - setPackageName(PACKAGE_NAME) - } - - // Helpers - private fun setFeatureEnabled(value: Boolean) { - whenever(openWebLinksWithJetpackFlowFeatureConfig.isEnabled()).thenReturn(value) - } - - private fun setJetpackInstalled(value: Boolean) { - whenever(packageManagerWrapper.isPackageInstalled(anyString())).thenReturn(value) - } - - private fun setLastShownTimestamp(value: Long) { - whenever(appPrefsWrapper.getOpenWebLinksWithJetpackOverlayLastShownTimestamp()).thenReturn(value) - } - - private fun setFlowFrequency(value: Long) { - whenever(remoteConfigWrapper.getOpenWebLinksWithJetpackFlowFrequency()).thenReturn(value) - } - - private fun setDaysBetween(lastShownTimestamp: Long) { - val between = - DateTimeUtils.daysBetween(Date(lastShownTimestamp), Date(getDateXDaysAgoInMilliseconds(0))) - - whenever(dateTimeUtilsWrapper.daysBetween(any(), any())).thenReturn(between) - } - - private fun setIsOpenWebLinksWithJetpack(value: Boolean) { - whenever(appPrefsWrapper.getIsOpenWebLinksWithJetpack()).thenReturn(value) - } - - private fun setPackageName(value: String) { - whenever(buildConfigWrapper.getApplicationId()).thenReturn(value) - } - - private fun getDateXDaysAgoInMilliseconds(daysAgo: Int) = - System.currentTimeMillis().minus(DAY_IN_MILLISECONDS * daysAgo) - - companion object { - private const val DAY_IN_MILLISECONDS = 86400000 - private const val PACKAGE_NAME = "com.jetpack.android" - } -} diff --git a/WordPress/src/test/java/org/wordpress/android/ui/deeplinks/DeepLinkingIntentReceiverViewModelTest.kt b/WordPress/src/test/java/org/wordpress/android/ui/deeplinks/DeepLinkingIntentReceiverViewModelTest.kt deleted file mode 100644 index 9476cf193d82..000000000000 --- a/WordPress/src/test/java/org/wordpress/android/ui/deeplinks/DeepLinkingIntentReceiverViewModelTest.kt +++ /dev/null @@ -1,213 +0,0 @@ -package org.wordpress.android.ui.deeplinks - -import android.content.Context -import android.net.Uri -import kotlinx.coroutines.ExperimentalCoroutinesApi -import org.assertj.core.api.Assertions.assertThat -import org.junit.Before -import org.junit.Test -import org.mockito.Mock -import org.mockito.kotlin.eq -import org.mockito.kotlin.isNull -import org.mockito.kotlin.mock -import org.mockito.kotlin.verify -import org.mockito.kotlin.whenever -import org.wordpress.android.BaseUnitTest -import org.wordpress.android.analytics.AnalyticsTracker.Stat.DEEP_LINKED -import org.wordpress.android.fluxc.store.AccountStore -import org.wordpress.android.ui.deeplinks.DeepLinkEntryPoint.DEFAULT -import org.wordpress.android.ui.deeplinks.DeepLinkNavigator.NavigateAction -import org.wordpress.android.ui.deeplinks.DeepLinkNavigator.NavigateAction.OpenInBrowser -import org.wordpress.android.ui.deeplinks.DeepLinkNavigator.NavigateAction.StartCreateSiteFlow -import org.wordpress.android.ui.deeplinks.handlers.DeepLinkHandlers -import org.wordpress.android.ui.deeplinks.handlers.ServerTrackingHandler -import org.wordpress.android.ui.jetpackoverlay.JetpackFeatureRemovalPhaseHelper -import org.wordpress.android.util.UriWrapper -import org.wordpress.android.util.analytics.AnalyticsUtilsWrapper -import org.wordpress.android.viewmodel.ContextProvider - -@ExperimentalCoroutinesApi -class DeepLinkingIntentReceiverViewModelTest : BaseUnitTest() { - @Mock - lateinit var deepLinkHandlers: DeepLinkHandlers - - @Mock - lateinit var accountStore: AccountStore - - @Mock - lateinit var deepLinkUriUtils: DeepLinkUriUtils - - @Mock - lateinit var serverTrackingHandler: ServerTrackingHandler - - @Mock - lateinit var deepLinkTrackingUtils: DeepLinkTrackingUtils - - @Mock - lateinit var analyticsUtilsWrapper: AnalyticsUtilsWrapper - - @Mock - lateinit var contextProvider: ContextProvider - - @Mock - lateinit var context: Context - - @Mock - lateinit var openWebLinksWithJetpackHelper: DeepLinkOpenWebLinksWithJetpackHelper - - @Mock - lateinit var jetpackFeatureRemovalPhaseHelper: JetpackFeatureRemovalPhaseHelper - - private lateinit var viewModel: DeepLinkingIntentReceiverViewModel - private var isFinished = false - private lateinit var navigateActions: MutableList - - @Before - fun setUp() { - viewModel = DeepLinkingIntentReceiverViewModel( - testDispatcher(), - deepLinkHandlers, - deepLinkUriUtils, - accountStore, - serverTrackingHandler, - deepLinkTrackingUtils, - analyticsUtilsWrapper, - openWebLinksWithJetpackHelper - ) - isFinished = false - viewModel.finish.observeForever { - it?.getContentIfNotHandled()?.let { - isFinished = true - } - } - navigateActions = mutableListOf() - viewModel.navigateAction.observeForever { - it?.getContentIfNotHandled()?.let { - navigateActions.add(it) - } - } - whenever(accountStore.hasAccessToken()).thenReturn(true) - } - - @Test - fun `does not navigate and finishes on WPcom URL`() { - val uri = buildUri("wordpress.com") - - viewModel.start(null, uri, DEFAULT, null) - - assertUriNotHandled() - } - - @Test - fun `does not navigate and finishes on non-mobile URL`() { - val uri = buildUri("public-api.wordpress.com") - - viewModel.start(null, uri, DEFAULT, null) - - assertUriNotHandled() - } - - @Test - fun `mbar URL without redirect parameter replaced mbar to bar and opened in browser`() { - val uri = initTrackingUri() - val barUri = buildUri("public-api.wordpress.com") - whenever(uri.copy("bar")).thenReturn(barUri) - - viewModel.start(null, uri, DEFAULT, null) - - assertUriHandled(OpenInBrowser(barUri)) - } - - @Test - fun `URL passed to deep link handler from redirect parameter`() { - val startUrl = mock() - val wpLoginUri = initWpLoginUri(startUrl) - val uri = initTrackingUri(wpLoginUri) - - whenever(deepLinkHandlers.buildNavigateAction(startUrl)).thenReturn(StartCreateSiteFlow) - - viewModel.start(null, uri, DEFAULT, null) - - assertUriHandled(StartCreateSiteFlow) - verify(serverTrackingHandler).request(uri) - } - - @Test - fun `URL opened in browser from redirect parameter when deep link handler cannot handle it`() { - val startUrl = mock() - val wpLoginUri = initWpLoginUri(startUrl) - val uri = initTrackingUri(wpLoginUri) - val barUri = buildUri("public-api.wordpress.com") - - whenever(deepLinkHandlers.buildNavigateAction(startUrl)).thenReturn(null) - whenever(uri.copy("bar")).thenReturn(barUri) - - viewModel.start(null, uri, DEFAULT, null) - - assertUriHandled(OpenInBrowser(barUri)) - } - - @Test - fun `wp-login mbar URL redirects user to browser with missing second redirect`() { - val wpLoginUri = initWpLoginUri() - val uri = initTrackingUri(wpLoginUri) - val barUri = buildUri("public-api.wordpress.com") - whenever(uri.copy("bar")).thenReturn(barUri) - - viewModel.start(null, uri, DEFAULT, null) - - assertUriHandled(OpenInBrowser(barUri)) - } - - @Test - fun `tracks deeplink when action not null and URL null`() { - val action = "VIEW" - - viewModel.start(action, null, DEFAULT, null) - - verify(analyticsUtilsWrapper).trackWithDeepLinkData(eq(DEEP_LINKED), eq(action), eq(""), isNull()) - } - - @Test - fun `tracks deeplink when action not null and URL not null`() { - val action = "VIEW" - val host = "wordpress.com" - val uriWrapper = buildUri(host) - val mockedUri = mock() - whenever(uriWrapper.uri).thenReturn(mockedUri) - - viewModel.start(action, uriWrapper, DEFAULT, null) - - verify(analyticsUtilsWrapper).trackWithDeepLinkData(DEEP_LINKED, action, host, mockedUri) - } - - private fun assertUriNotHandled() { - assertThat(isFinished).isTrue - assertThat(navigateActions).isEmpty() - } - - private fun assertUriHandled(navigateAction: NavigateAction) { - assertThat(isFinished).isFalse - assertThat(navigateActions.last()).isEqualTo(navigateAction) - } - - private fun initTrackingUri(redirectTo: UriWrapper? = null): UriWrapper { - val uri = initRedirectUri("public-api.wordpress.com", redirectTo) - whenever(deepLinkUriUtils.isTrackingUrl(uri)).thenReturn(true) - return uri - } - - private fun initWpLoginUri(redirectTo: UriWrapper? = null): UriWrapper { - val uri = initRedirectUri("wordpress.com", redirectTo) - whenever(deepLinkUriUtils.isWpLoginUrl(uri)).thenReturn(true) - return uri - } - - private fun initRedirectUri(host: String, redirectTo: UriWrapper? = null): UriWrapper { - val uri = buildUri(host) - redirectTo?.let { - whenever(deepLinkUriUtils.getRedirectUri(uri)).thenReturn(it) - } - return uri - } -} diff --git a/WordPress/src/wordpress/AndroidManifest.xml b/WordPress/src/wordpress/AndroidManifest.xml index 8239f1bf75fa..035b694bf767 100644 --- a/WordPress/src/wordpress/AndroidManifest.xml +++ b/WordPress/src/wordpress/AndroidManifest.xml @@ -23,13 +23,5 @@ - - - - - - diff --git a/WordPress/src/wordpress/java/org/wordpress/android/ui/deeplinks/JetpackAppUninstallReceiver.kt b/WordPress/src/wordpress/java/org/wordpress/android/ui/deeplinks/JetpackAppUninstallReceiver.kt deleted file mode 100644 index 72daa7265b3f..000000000000 --- a/WordPress/src/wordpress/java/org/wordpress/android/ui/deeplinks/JetpackAppUninstallReceiver.kt +++ /dev/null @@ -1,34 +0,0 @@ -package org.wordpress.android.ui.deeplinks - -import android.content.BroadcastReceiver -import android.content.Context -import android.content.Intent -import android.content.Intent.ACTION_PACKAGE_FULLY_REMOVED -import dagger.hilt.android.AndroidEntryPoint -import org.wordpress.android.util.AppLog -import javax.inject.Inject -import org.wordpress.android.util.AppLog.T.UTILS - -@AndroidEntryPoint -class JetpackAppUninstallReceiver : BroadcastReceiver() { - @Inject - lateinit var openWebLinksWithJetpackHelper: DeepLinkOpenWebLinksWithJetpackHelper - - override fun onReceive(context: Context, intent: Intent) { - when (intent.action) { - ACTION_PACKAGE_FULLY_REMOVED -> { - onJetpackUninstalled() - AppLog.i(UTILS, "JetpackAppUninstallReceiver ACTION_PACKAGE_FULLY_REMOVED handled") - } - } - } - - private fun onJetpackUninstalled() { - // Toggle the appPref to off + re-enable components - openWebLinksWithJetpackHelper.onJetpackUninstalled() - } - - companion object { - fun newIntent(context: Context): Intent = Intent(context, JetpackAppUninstallReceiver::class.java) - } -} diff --git a/fastlane/resources/values/strings.xml b/fastlane/resources/values/strings.xml index 56036f606640..7e176f2d162b 100644 --- a/fastlane/resources/values/strings.xml +++ b/fastlane/resources/values/strings.xml @@ -4075,9 +4075,6 @@ translators: %s: Select control option value e.g: "Auto, 25%". --> Let\'s go - Open links in Jetpack - Unable to enable open links in Jetpack - Unable to disable open links in Jetpack Get your stats using the new Jetpack app @@ -4116,13 +4113,12 @@ translators: %s: Select control option value e.g: "Auto, 25%". --> urilinks - weblinks Continue without Jetpack Open links in Jetpack? It looks like you have the Jetpack app installed.\n\nWould you like to open links in the Jetpack app in the future?\n\nYou can always change this in App Settings > Open links in Jetpack - @string/preference_open_links_in_jetpack + Open links in Jetpack Open links in WordPress diff --git a/libs/analytics/src/main/java/org/wordpress/android/analytics/AnalyticsTracker.java b/libs/analytics/src/main/java/org/wordpress/android/analytics/AnalyticsTracker.java index 730eb995fff8..cd66422468b7 100644 --- a/libs/analytics/src/main/java/org/wordpress/android/analytics/AnalyticsTracker.java +++ b/libs/analytics/src/main/java/org/wordpress/android/analytics/AnalyticsTracker.java @@ -983,7 +983,6 @@ public enum Stat { READER_SAVED_POSTS_SUCCESS, READER_SAVED_POSTS_FAILED, DEEPLINK_CUSTOM_INTENT_RECEIVED, - APP_SETTINGS_OPEN_WEB_LINKS_WITH_JETPACK_CHANGED, JETPACK_REMOVE_FEATURE_OVERLAY_DISPLAYED("remove_feature_overlay_displayed"), JETPACK_REMOVE_FEATURE_OVERLAY_LINK_TAPPED("remove_feature_overlay_link_tapped"), JETPACK_REMOVE_FEATURE_OVERLAY_BUTTON_GET_JETPACK_APP_TAPPED("remove_feature_overlay_button_tapped"),