Skip to content

Commit e601f9b

Browse files
committed
Revert discovery initiation changes to the site fragment
1 parent 8a2450a commit e601f9b

6 files changed

Lines changed: 19 additions & 60 deletions

File tree

WooCommerce/src/main/kotlin/com/woocommerce/android/ui/login/LoginActivity.kt

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -271,12 +271,7 @@ class LoginActivity : AppCompatActivity(), LoginListener, GoogleListener, Prolog
271271
showEmailLoginScreen(siteAddress)
272272
}
273273

274-
override fun gotConnectedSiteInfo(
275-
siteAddress: String,
276-
redirectUrl: String?,
277-
endpointAddress: String?,
278-
hasJetpack: Boolean
279-
) {
274+
override fun gotConnectedSiteInfo(siteAddress: String, redirectUrl: String?, hasJetpack: Boolean) {
280275
// Save site address to app prefs so it's available to MainActivity regardless of how the user
281276
// logs into the app. If the redirect url is available, use that as the preferred url. Strip the
282277
// protocol from this url string prior to saving to AppPrefs since it's not needed and may cause issues
@@ -285,13 +280,13 @@ class LoginActivity : AppCompatActivity(), LoginListener, GoogleListener, Prolog
285280
AppPrefs.setLoginSiteAddress((redirectUrl ?: siteAddress).replaceFirst(protocolRegex, ""))
286281

287282
if (hasJetpack) {
288-
showEmailLoginScreen(siteAddress, endpointAddress)
283+
showEmailLoginScreen(siteAddress)
289284
} else {
290285
// hide the keyboard
291286
org.wordpress.android.util.ActivityUtils.hideKeyboard(this)
292287

293288
// Show the 'Jetpack required' fragment
294-
val jetpackReqFragment = LoginJetpackRequiredFragment.newInstance(siteAddress, endpointAddress)
289+
val jetpackReqFragment = LoginJetpackRequiredFragment.newInstance(siteAddress)
295290
slideInFragment(
296291
fragment = jetpackReqFragment as Fragment,
297292
shouldAddToBackStack = true,
@@ -466,9 +461,8 @@ class LoginActivity : AppCompatActivity(), LoginListener, GoogleListener, Prolog
466461
startActivity(HelpActivity.createIntent(this, Origin.LOGIN_CONNECTED_EMAIL_HELP, null))
467462
}
468463

469-
override fun showEmailLoginScreen(siteAddress: String?, siteXmlRpcAddress: String?) {
470-
val loginEmailFragment = getLoginEmailFragment()
471-
?: LoginEmailFragment.newInstance(siteAddress, siteXmlRpcAddress)
464+
override fun showEmailLoginScreen(siteAddress: String?) {
465+
val loginEmailFragment = getLoginEmailFragment() ?: LoginEmailFragment.newInstance(siteAddress)
472466
slideInFragment(loginEmailFragment as Fragment, true, LoginEmailFragment.TAG)
473467
}
474468

WooCommerce/src/main/kotlin/com/woocommerce/android/ui/login/LoginJetpackRequiredFragment.kt

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,11 @@ class LoginJetpackRequiredFragment : Fragment() {
3232
companion object {
3333
const val TAG = "LoginJetpackRequiredFragment"
3434
const val ARG_SITE_ADDRESS = "SITE-ADDRESS"
35-
const val ARG_SITE_XMLRPC_ADDRESS = "SITE-XMLRPC-ADDRESS"
3635

37-
fun newInstance(siteAddress: String, endpointAddress: String? = null): LoginJetpackRequiredFragment {
36+
fun newInstance(siteAddress: String): LoginJetpackRequiredFragment {
3837
val fragment = LoginJetpackRequiredFragment()
3938
val args = Bundle()
4039
args.putString(ARG_SITE_ADDRESS, siteAddress)
41-
args.putString(ARG_SITE_XMLRPC_ADDRESS, endpointAddress)
4240
fragment.arguments = args
4341
return fragment
4442
}
@@ -47,7 +45,7 @@ class LoginJetpackRequiredFragment : Fragment() {
4745
interface LoginJetpackRequiredListener {
4846
fun showJetpackInstructions()
4947
fun showWhatIsJetpackDialog()
50-
fun showEmailLoginScreen(siteAddress: String?, siteXmlRpcAddress: String? = null)
48+
fun showEmailLoginScreen(siteAddress: String?)
5149
fun showUsernamePasswordScreen(
5250
siteAddress: String?,
5351
endpointAddress: String?,
@@ -59,14 +57,12 @@ class LoginJetpackRequiredFragment : Fragment() {
5957
private var loginListener: LoginListener? = null
6058
private var jetpackLoginListener: LoginJetpackRequiredListener? = null
6159
private var siteAddress: String? = null
62-
private var siteXmlRpcAddress: String? = null
6360

6461
override fun onCreate(savedInstanceState: Bundle?) {
6562
super.onCreate(savedInstanceState)
6663

6764
arguments?.let {
6865
siteAddress = it.getString(ARG_SITE_ADDRESS, null)
69-
siteXmlRpcAddress = it.getString(ARG_SITE_XMLRPC_ADDRESS, null)
7066
}
7167
}
7268

@@ -116,7 +112,7 @@ class LoginJetpackRequiredFragment : Fragment() {
116112
AppPrefs.setLoginUserBypassedJetpackRequired()
117113

118114
// Display the login by email screen
119-
jetpackLoginListener?.showEmailLoginScreen(siteAddress.orEmpty(), siteXmlRpcAddress.orEmpty())
115+
jetpackLoginListener?.showEmailLoginScreen(siteAddress.orEmpty())
120116
},
121117
(jetpackInstalledText.length - signInText.length),
122118
jetpackInstalledText.length,

libs/login/WordPressLoginFlow/src/main/java/org/wordpress/android/login/LoginEmailFragment.java

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ public class LoginEmailFragment extends LoginBaseFormFragment<LoginListener> imp
6969
private static final int EMAIL_CREDENTIALS_REQUEST_CODE = 25100;
7070

7171
private static final String ARG_LOGIN_SITE_URL = "ARG_LOGIN_SITE_URL";
72-
private static final String ARG_LOGIN_SITE_XMLRPC_URL = "ARG_LOGIN_SITE_XMLRPC_URL";
7372

7473
public static final String TAG = "login_email_fragment_tag";
7574
public static final int MAX_EMAIL_LENGTH = 100;
@@ -84,13 +83,11 @@ public class LoginEmailFragment extends LoginBaseFormFragment<LoginListener> imp
8483
protected boolean mHasDismissedEmailHints;
8584
protected boolean mIsDisplayingEmailHints;
8685
protected String mLoginSiteUrl;
87-
protected String mLoginSiteXmlRpcUrl;
8886

89-
public static LoginEmailFragment newInstance(String url, String endpointAddress) {
87+
public static LoginEmailFragment newInstance(String url) {
9088
LoginEmailFragment fragment = new LoginEmailFragment();
9189
Bundle args = new Bundle();
9290
args.putString(ARG_LOGIN_SITE_URL, url);
93-
args.putString(ARG_LOGIN_SITE_XMLRPC_URL, endpointAddress);
9491
fragment.setArguments(args);
9592
return fragment;
9693
}
@@ -188,11 +185,7 @@ public void onClick(View view) {
188185
if (loginMode == LoginMode.JETPACK_STATS) {
189186
mLoginListener.loginViaWpcomUsernameInstead();
190187
} else if (loginMode == LoginMode.WOO_LOGIN_MODE) {
191-
if (mLoginSiteXmlRpcUrl == null || mLoginSiteXmlRpcUrl.isEmpty()) {
192-
mLoginListener.loginViaWpcomUsernameInstead();
193-
} else {
194-
mLoginListener.gotXmlRpcEndpoint(mLoginSiteUrl, mLoginSiteXmlRpcUrl);
195-
}
188+
mLoginListener.gotXmlRpcEndpoint(mLoginSiteUrl, null);
196189
} else {
197190
mLoginListener.loginViaSiteAddress();
198191
}
@@ -284,7 +277,6 @@ public void onCreate(Bundle savedInstanceState) {
284277
Bundle args = getArguments();
285278
if (args != null) {
286279
mLoginSiteUrl = args.getString(ARG_LOGIN_SITE_URL, "");
287-
mLoginSiteXmlRpcUrl = args.getString(ARG_LOGIN_SITE_XMLRPC_URL, "");
288280
}
289281
}
290282

libs/login/WordPressLoginFlow/src/main/java/org/wordpress/android/login/LoginListener.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,7 @@ interface SelfSignedSSLCallback {
4848
// Login Site Address input callbacks
4949
void alreadyLoggedInWpcom(ArrayList<Integer> oldSitesIds);
5050
void gotWpcomSiteInfo(String siteAddress, String siteName, String siteIconUrl);
51-
void gotConnectedSiteInfo(@NonNull String siteAddress, @Nullable String redirectUrl,
52-
@Nullable String endpointAddress, boolean hasJetpack);
51+
void gotConnectedSiteInfo(@NonNull String siteAddress, @Nullable String redirectUrl, boolean hasJetpack);
5352
void gotXmlRpcEndpoint(String inputSiteAddress, String endpointAddress);
5453
void handleSslCertificateError(MemorizingTrustManager memorizingTrustManager, SelfSignedSSLCallback callback);
5554
void helpSiteAddress(String url);

libs/login/WordPressLoginFlow/src/main/java/org/wordpress/android/login/LoginSiteAddressFragment.java

Lines changed: 6 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import org.wordpress.android.fluxc.store.AccountStore.OnDiscoveryResponse;
3131
import org.wordpress.android.fluxc.store.SiteStore.OnConnectSiteInfoChecked;
3232
import org.wordpress.android.fluxc.store.SiteStore.OnWPComSiteFetched;
33-
import org.wordpress.android.fluxc.store.SiteStore.SiteErrorType;
3433
import org.wordpress.android.login.util.SiteUtils;
3534
import org.wordpress.android.login.widgets.WPLoginInputRow;
3635
import org.wordpress.android.login.widgets.WPLoginInputRow.OnEditorCommitListener;
@@ -50,14 +49,12 @@
5049
public class LoginSiteAddressFragment extends LoginBaseFormFragment<LoginListener> implements TextWatcher,
5150
OnEditorCommitListener {
5251
private static final String KEY_REQUESTED_SITE_ADDRESS = "KEY_REQUESTED_SITE_ADDRESS";
53-
private static final String KEY_HAS_JETPACK = "KEY_HAS_JETPACK";
5452

5553
public static final String TAG = "login_site_address_fragment_tag";
5654

5755
private WPLoginInputRow mSiteAddressInput;
5856

5957
private String mRequestedSiteAddress;
60-
private boolean mHasJetpack;
6158

6259
private LoginSiteAddressValidator mLoginSiteAddressValidator;
6360

@@ -140,7 +137,6 @@ public void onActivityCreated(@Nullable Bundle savedInstanceState) {
140137

141138
if (savedInstanceState != null) {
142139
mRequestedSiteAddress = savedInstanceState.getString(KEY_REQUESTED_SITE_ADDRESS);
143-
mHasJetpack = savedInstanceState.getBoolean(KEY_HAS_JETPACK);
144140
} else {
145141
mAnalyticsListener.trackUrlFormViewed();
146142
}
@@ -168,7 +164,6 @@ public void onSaveInstanceState(Bundle outState) {
168164
super.onSaveInstanceState(outState);
169165

170166
outState.putString(KEY_REQUESTED_SITE_ADDRESS, mRequestedSiteAddress);
171-
outState.putBoolean(KEY_HAS_JETPACK, mHasJetpack);
172167
}
173168

174169
@Override public void onDestroyView() {
@@ -185,7 +180,12 @@ protected void discover() {
185180

186181
String cleanedXmlrpcSuffix = UrlUtils.removeXmlrpcSuffix(mRequestedSiteAddress);
187182

188-
mDispatcher.dispatch(SiteActionBuilder.newFetchWpcomSiteByUrlAction(cleanedXmlrpcSuffix));
183+
if (mLoginListener.getLoginMode() == LoginMode.WOO_LOGIN_MODE) {
184+
mAnalyticsListener.trackConnectedSiteInfoRequested(cleanedXmlrpcSuffix);
185+
mDispatcher.dispatch(SiteActionBuilder.newFetchConnectSiteInfoAction(cleanedXmlrpcSuffix));
186+
} else {
187+
mDispatcher.dispatch(SiteActionBuilder.newFetchWpcomSiteByUrlAction(cleanedXmlrpcSuffix));
188+
}
189189

190190
startProgress();
191191
}
@@ -303,24 +303,11 @@ public void onWPComSiteFetched(OnWPComSiteFetched event) {
303303
if (mLoginListener.getLoginMode() == LoginMode.WPCOM_LOGIN_ONLY) {
304304
showError(R.string.enter_wpcom_or_jetpack_site);
305305
endProgress();
306-
} else if (mLoginListener.getLoginMode() == LoginMode.WOO_LOGIN_MODE
307-
&& event.error.type == SiteErrorType.UNKNOWN_SITE) {
308-
// Site does not exist
309-
showError(R.string.invalid_site_url_message);
310-
endProgress();
311306
} else {
312-
mHasJetpack = false;
313307
// Start the discovery process
314308
mDispatcher.dispatch(AuthenticationActionBuilder.newDiscoverEndpointAction(mRequestedSiteAddress));
315309
}
316310
} else {
317-
// Woo Login: verify if Jetpack is installed/active/connected
318-
if (mLoginListener.getLoginMode() == LoginMode.WOO_LOGIN_MODE) {
319-
mHasJetpack = event.site.isJetpackInstalled() && event.site.isJetpackConnected();
320-
mDispatcher.dispatch(AuthenticationActionBuilder.newDiscoverEndpointAction(mRequestedSiteAddress));
321-
return;
322-
}
323-
324311
if (event.site.isJetpackInstalled() && mLoginListener.getLoginMode() != LoginMode.WPCOM_LOGIN_ONLY) {
325312
// If Jetpack site, treat it as self-hosted and start the discovery process
326313
// An exception is WPCOM_LOGIN_ONLY mode - in that case we're only interested in adding sites
@@ -372,9 +359,6 @@ public void onDiscoverySucceeded(OnDiscoveryResponse event) {
372359

373360
ArrayList<Integer> oldSitesIDs = SiteUtils.getCurrentSiteIds(mSiteStore, true);
374361
mLoginListener.alreadyLoggedInWpcom(oldSitesIDs);
375-
} else if (mLoginListener.getLoginMode() == LoginMode.WOO_LOGIN_MODE) {
376-
// Woo login: if jetpack is not installed/active/connected, redirect to Jetpack required
377-
mLoginListener.gotConnectedSiteInfo(event.failedEndpoint, null, null, mHasJetpack);
378362
} else {
379363
mLoginListener.gotWpcomSiteInfo(event.failedEndpoint, null, null);
380364
}
@@ -390,12 +374,6 @@ public void onDiscoverySucceeded(OnDiscoveryResponse event) {
390374

391375
AppLog.i(T.NUX, "Discovery succeeded, endpoint: " + event.xmlRpcEndpoint);
392376

393-
// Woo login: if jetpack is not installed/active/connected, redirect to Jetpack required
394-
if (mLoginListener.getLoginMode() == LoginMode.WOO_LOGIN_MODE) {
395-
mLoginListener.gotConnectedSiteInfo(requestedSiteAddress, null, event.xmlRpcEndpoint, mHasJetpack);
396-
return;
397-
}
398-
399377
mLoginListener.gotXmlRpcEndpoint(requestedSiteAddress, event.xmlRpcEndpoint);
400378
}
401379

@@ -462,7 +440,6 @@ public void onFetchedConnectSiteInfo(OnConnectSiteInfoChecked event) {
462440
mLoginListener.gotConnectedSiteInfo(
463441
event.info.url,
464442
event.info.urlAfterRedirects,
465-
null,
466443
hasJetpack);
467444
}
468445
}

libs/login/WordPressLoginFlow/src/main/java/org/wordpress/android/login/LoginUsernamePasswordFragment.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@ protected void setupContent(ViewGroup rootView) {
150150
siteAddressView.setText(UrlUtils.removeScheme(UrlUtils.removeXmlrpcSuffix(mInputSiteAddress)));
151151
siteAddressView.setVisibility(mInputSiteAddress != null ? View.VISIBLE : View.GONE);
152152

153+
// TODO: mEndpointAddress is null since discovery process has not yet taken place for the Woo APP
153154
mInputSiteAddressWithoutSuffix = UrlUtils.removeXmlrpcSuffix(mEndpointAddress);
154155

155156
mUsernameInput = rootView.findViewById(R.id.login_username_row);
@@ -221,7 +222,7 @@ public void onCreate(Bundle savedInstanceState) {
221222
super.onCreate(savedInstanceState);
222223

223224
mInputSiteAddress = getArguments().getString(ARG_INPUT_SITE_ADDRESS);
224-
mEndpointAddress = getArguments().getString(ARG_ENDPOINT_ADDRESS);
225+
mEndpointAddress = getArguments().getString(ARG_ENDPOINT_ADDRESS, "");
225226
mSiteName = getArguments().getString(ARG_SITE_NAME);
226227
mSiteIconUrl = getArguments().getString(ARG_SITE_ICON_URL);
227228
mInputUsername = getArguments().getString(ARG_INPUT_USERNAME);

0 commit comments

Comments
 (0)