Skip to content

Commit

Permalink
Merge pull request #12568 from wordpress-mobile/merge/15.4-release-no…
Browse files Browse the repository at this point in the history
…tes-to-master

Merge 15.4 release notes to master
  • Loading branch information
oguzkocer authored Aug 3, 2020
2 parents 199a02c + 6fc199c commit 9d2c230
Show file tree
Hide file tree
Showing 284 changed files with 6,742 additions and 3,331 deletions.
7 changes: 7 additions & 0 deletions RELEASE-NOTES.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
15.5
-----

15.4
-----
* [***] The login and signup flows were unified and have a new design.
* [***] Block Editor: Media editing support in Media & Text block.
* [***] Block Editor: New block: Social Icons
* [*] Block Editor: Cover block placeholder is updated to allow users to start the block with a background color

15.3
-----
Expand Down
11 changes: 6 additions & 5 deletions WordPress/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,9 @@ android {
if (project.hasProperty("versionName")) {
versionName project.property("versionName")
} else {
versionName "alpha-234"
versionName "alpha-235"
}
versionCode 895
versionCode 898
minSdkVersion rootProject.minSdkVersion
targetSdkVersion rootProject.targetSdkVersion

Expand All @@ -72,6 +72,7 @@ android {
buildConfigField "long", "REMOTE_CONFIG_FETCH_INTERVAL", "10"
buildConfigField "boolean", "FEATURE_ANNOUNCEMENT_AVAILABLE", "false"
buildConfigField "boolean", "GUTENBERG_MENTIONS", "true"
buildConfigField "boolean", "UNIFIED_LOGIN_AVAILABLE", "true"
}

// Gutenberg's dependency - react-native-video is using
Expand All @@ -88,9 +89,9 @@ android {
dimension "buildType"
// Only set the release version if one isn't provided
if (!project.hasProperty("versionName")) {
versionName "15.3"
versionName "15.4-rc-1"
}
versionCode 896
versionCode 897
buildConfigField "boolean", "ME_ACTIVITY_AVAILABLE", "false"
buildConfigField "boolean", "TENOR_AVAILABLE", "false"
buildConfigField "boolean", "READER_IMPROVEMENTS_PHASE_2", "false"
Expand Down Expand Up @@ -216,7 +217,7 @@ dependencies {
implementation 'com.android.installreferrer:installreferrer:1.0'
implementation 'com.github.chrisbanes.photoview:library:1.2.4'
implementation 'org.greenrobot:eventbus:3.1.1'
implementation ('com.automattic:rest:1.0.7') {
implementation ('com.automattic:rest:1.0.8') {
exclude group: 'com.mcxiaoke.volley'
}
implementation 'org.wordpress:graphview:3.4.0'
Expand Down
24 changes: 8 additions & 16 deletions WordPress/metadata/PlayStoreStrings.po
Original file line number Diff line number Diff line change
Expand Up @@ -11,31 +11,23 @@ msgstr ""
"Project-Id-Version: Release Notes & Play Store Descriptions\n"

#. translators: Release notes for this version to be displayed in the Play Store. Limit to 500 characters including spaces and commas!
msgctxt "release_note_153"
msgctxt "release_note_154"
msgid ""
"15.3:\n"
"Block editor updates: All blocks now have Copy, Cut, Paste, and Duplicate functionality. Unsupported blocks can be individually edited. (Note: Unsupported block editing is not available for self-hosted sites or sites that default to the classic editor.)\n"
"15.4:\n"
"<b>Login/ Sign up Unified:</b> No longer need to choose between login or sign up, and the login process begins automatically if continuing with WordPress. Cleaner design with the primary action in each screen more prominent.\n"
"\n"
"UI updates: Clarified wording and added confirmation dialogs when trashing posts.\n"
"<b>Block editor improvements:</b> New Social Links block added so you can link your social media accounts. Media & Text block has more editing options. The Cover block placeholder now allows users to start with a background color.\n"
msgstr ""

msgctxt "release_note_152"
msgctxt "release_note_153"
msgid ""
"15.2:\n"
"Block editor additions: Editor support added for theme defined colors and gradients on Cover and Button blocks. Cover block video uploads now completes after the editor has closed. Block, word, and character count metric information are now displayed.\n"
"15.3:\n"
"Block editor updates: All blocks now have Copy, Cut, Paste, and Duplicate functionality. Unsupported blocks can be individually edited. (Note: Unsupported block editing is not available for self-hosted sites or sites that default to the classic editor.)\n"
"\n"
"Fixes: Fixed Reader post detail rendering issues, the handling of upload completion in the Block editor, and a crash that would occur when the WordPress API response has an empty body.\n"
"UI updates: Clarified wording and added confirmation dialogs when trashing posts.\n"
msgstr ""

#. translators: A shorter version of the Release notes to be displayed in the Play Store. Limit to 500 characters including spaces and commas!
msgctxt "release_note_short_152"
msgid ""
"15.2:\n"
"Block editor additions: Editor support added for theme defined colors and gradients on Cover and Button blocks. Cover block video uploads completes after the editor has closed. Block, word, and character count metric information are displayed.\n"
"\n"
"Fixes: Fixed Reader post detail rendering issues and a WordPress API response crash.\n"
msgstr ""

#. translators: Release notes for this version to be displayed in the Play Store. Limit to 500 characters including spaces and commas!
msgctxt "sample_post_content"
msgid "The best moment of any trip, for me, is when I first step foot off the plane. The whole of the trip is in front me, ripe with possibility."
Expand Down
4 changes: 2 additions & 2 deletions WordPress/metadata/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Block editor updates: All blocks now have Copy, Cut, Paste, and Duplicate functionality. Unsupported blocks can be individually edited. (Note: Unsupported block editing is not available for self-hosted sites or sites that default to the classic editor.)
<b>Login/ Sign up Unified:</b> No longer need to choose between login or sign up, and the login process begins automatically if continuing with WordPress. Cleaner design with the primary action in each screen more prominent.

UI updates: Clarified wording and added confirmation dialogs when trashing posts.
<b>Block editor improvements:</b> New Social Links block added so you can link your social media accounts. Media & Text block has more editing options. The Cover block placeholder now allows users to start with a background color.
3 changes: 3 additions & 0 deletions WordPress/metadata/release_notes_short.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<b>Login:</b> Cleaner design with no need to choose between login or signup.

<b>Block editor improvements:</b> New Social Links block added for directing to social media accounts. Media & Text block has more editing options. The Cover block now has background colors.
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
package org.wordpress.android.e2e;

import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.rule.ActivityTestRule;

Expand Down Expand Up @@ -31,34 +32,34 @@ public void setUp() {

@Test
public void loginWithEmailPassword() {
new LoginFlow().chooseLogin()
.enterEmailAddress()
.enterPassword()
.confirmLogin();
new LoginFlow().chooseContinueWithWpCom()
.enterEmailAddress()
.enterPassword()
.confirmLogin();
}

@Test
public void loginWithSiteAddress() {
new LoginFlow().chooseLogin()
.chooseAndEnterSiteAddress(E2E_WP_COM_USER_SITE_ADDRESS)
.enterUsernameAndPassword(E2E_WP_COM_USER_USERNAME, E2E_WP_COM_USER_PASSWORD)
.confirmLogin();
new LoginFlow().chooseEnterYourSiteAddress()
.enterSiteAddress(E2E_WP_COM_USER_SITE_ADDRESS)
.enterUsernameAndPassword(E2E_WP_COM_USER_USERNAME, E2E_WP_COM_USER_PASSWORD)
.confirmLogin();
}

@Test
public void loginWithMagicLink() {
new LoginFlow().chooseLogin()
new LoginFlow().chooseContinueWithWpCom()
.enterEmailAddress()
.chooseMagicLink(mMagicLinkActivityTestRule)
.confirmLogin();
}

@Test
public void loginWithSelfHostedAccount() {
new LoginFlow().chooseLogin()
.chooseAndEnterSiteAddress(E2E_SELF_HOSTED_USER_SITE_ADDRESS)
.enterUsernameAndPassword(E2E_SELF_HOSTED_USER_USERNAME, E2E_SELF_HOSTED_USER_PASSWORD)
.confirmLogin();
new LoginFlow().chooseEnterYourSiteAddress()
.enterSiteAddress(E2E_SELF_HOSTED_USER_SITE_ADDRESS)
.enterUsernameAndPassword(E2E_SELF_HOSTED_USER_USERNAME, E2E_SELF_HOSTED_USER_PASSWORD)
.confirmLogin();
}

@After
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public void setUp() {

@Test
public void signUpWithMagicLink() {
new SignupFlow().chooseSignupWithEmail()
new SignupFlow().chooseContinueWithWpCom()
.enterEmail(E2E_SIGNUP_EMAIL)
.openMagicLink(mMagicLinkActivityTestRule)
.checkEpilogue(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
import static androidx.test.espresso.Espresso.onView;
import static androidx.test.espresso.matcher.ViewMatchers.isDescendantOfA;
import static androidx.test.espresso.matcher.ViewMatchers.withId;
import static androidx.test.espresso.matcher.ViewMatchers.withText;
import static org.hamcrest.CoreMatchers.allOf;
import static org.wordpress.android.BuildConfig.E2E_WP_COM_USER_EMAIL;
import static org.wordpress.android.BuildConfig.E2E_WP_COM_USER_PASSWORD;
Expand All @@ -27,27 +26,27 @@
import static org.wordpress.android.support.WPSupportUtils.waitForElementToBeDisplayed;

public class LoginFlow {
public LoginFlow chooseLogin() {
// Login Prologue – We want to log in, not sign up
public LoginFlow chooseContinueWithWpCom() {
// Login Prologue – We want to Continue with WordPress.com, not a site address
// See LoginPrologueFragment
clickOn(R.id.login_button);
clickOn(R.id.first_button);
return this;
}

public LoginFlow enterEmailAddress() {
// Email Address Screen – Fill it in and click "Next"
// Email Address Screen – Fill it in and click "Continue"
// See LoginEmailFragment
populateTextField(R.id.input, E2E_WP_COM_USER_EMAIL);
clickOn(R.id.primary_button);
clickOn(R.id.login_continue_button);
return this;
}

public LoginFlow enterPassword() {
// Receive Magic Link or Enter Password Screen – Choose "Enter Password"
// Receive Magic Link or Enter Password Screen – Choose "Or type your password"
// See LoginMagicLinkRequestFragment
clickOn(R.id.login_enter_password);

// Password Screen – Fill it in and click "Next"
// Password Screen – Fill it in and click "Continue"
// See LoginEmailPasswordFragment
populateTextField(R.id.input, E2E_WP_COM_USER_PASSWORD);
clickOn(R.id.primary_button);
Expand All @@ -70,11 +69,12 @@ public void confirmLogin() {
}

public LoginFlow chooseMagicLink(ActivityTestRule<LoginMagicLinkInterceptActivity> magicLinkActivityTestRule) {
// Receive Magic Link or Enter Password Screen – Choose "Send Link"
// Receive Magic Link or Enter Password Screen – Choose "Send link by email"
// See LoginMagicLinkRequestFragment
clickOn(R.id.login_request_magic_link);

// Should See Open Mail button
// Should see "Check email" button
// See LoginMagicLinkSentFragment
waitForElementToBeDisplayed(R.id.login_open_email_client);

// Follow the magic link to continue login
Expand All @@ -97,8 +97,16 @@ public LoginFlow enterUsernameAndPassword(String username, String password) {
return this;
}

public LoginFlow chooseAndEnterSiteAddress(String siteAddress) {
clickOn(onView(withText(R.string.enter_site_address_instead)));
public LoginFlow chooseEnterYourSiteAddress() {
// Login Prologue – We want to continue with a site address not a WordPress.com account
// See LoginPrologueFragment
clickOn(R.id.second_button);
return this;
}

public LoginFlow enterSiteAddress(String siteAddress) {
// Site Address Screen – Fill it in and click "Continue"
// See LoginSiteAddressFragment
populateTextField(R.id.input, siteAddress);
clickOn(R.id.primary_button);
return this;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,25 +20,29 @@
import static org.wordpress.android.support.WPSupportUtils.waitForElementToBeDisplayed;

public class SignupFlow {
public SignupFlow chooseSignupWithEmail() {
clickOn(onView(withId(R.id.create_site_button)));
clickOn(onView(withId(R.id.signup_email)));

public SignupFlow chooseContinueWithWpCom() {
// Login Prologue – We want to Continue with WordPress.com, not a site address
// See LoginPrologueFragment
clickOn(R.id.first_button);
return this;
}

public SignupFlow enterEmail(String email) {
// Email file = id/input
populateTextField(onView(withId(R.id.input)), email);
clickOn(onView(withId(R.id.primary_button)));

// Should See Open Mail button
waitForElementToBeDisplayed(R.id.signup_magic_link_button);

clickOn(onView(withId(R.id.login_continue_button)));
return this;
}

public SignupFlow openMagicLink(ActivityTestRule<LoginMagicLinkInterceptActivity> magicLinkActivityTestRule) {
// Receive Magic Link – Choose "Send link by email"
// See SignupConfirmationFragment
clickOn(R.id.signup_confirmation_button);

// Should see "Check email" button
// See SignupMagicLinkFragment
waitForElementToBeDisplayed(R.id.signup_magic_link_button);

// Follow the magic link to continue login
// Intent is invoked directly rather than through a browser as WireMock is unavailable once in the background
Intent intent = new Intent(
Expand All @@ -53,7 +57,7 @@ public SignupFlow openMagicLink(ActivityTestRule<LoginMagicLinkInterceptActivity

public SignupFlow checkEpilogue(String displayName, String username) {
// Check Epilogue data
ViewInteraction emailHeaderView = onView(withId(R.id.signup_epilogue_header_email));
ViewInteraction emailHeaderView = onView(withId(R.id.login_epilogue_header_subtitle));
waitForElementToBeDisplayed(emailHeaderView);

ViewInteraction displayNameField = onView(allOf(withId(R.id.input), withText(displayName)));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,17 +85,18 @@ private void logout() {
}

protected void logoutIfNecessary() {
if (isElementDisplayed(R.id.login_button) || isElementDisplayed(R.id.login_open_email_client)) {
if (isElementDisplayed(R.id.first_button) || isElementDisplayed(R.id.login_open_email_client)) {
return;
}

if (isElementDisplayed(R.id.nav_sites)) {
logout();
}
}

protected void wpLogin() {
logoutIfNecessary();
new LoginFlow().chooseLogin()
new LoginFlow().chooseContinueWithWpCom()
.enterEmailAddress()
.enterPassword()
.confirmLogin();
Expand Down
10 changes: 5 additions & 5 deletions WordPress/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@
android:label="@string/me_section_screen_title" />
<activity
android:name=".ui.accounts.LoginActivity"
android:theme="@style/LoginTheme"
android:theme="@style/Theme.LoginFlow"
android:windowSoftInputMode="adjustResize" />

<activity
Expand All @@ -118,22 +118,22 @@
<activity
android:name=".ui.accounts.LoginEpilogueActivity"
android:label="@string/login_epilogue_screen_title"
android:theme="@style/LoginTheme" />
android:theme="@style/Theme.LoginFlow" />

<activity
android:name=".ui.accounts.SignupEpilogueActivity"
android:label="@string/signup_epilogue_screen_title"
android:theme="@style/LoginTheme" />
android:theme="@style/Theme.LoginFlow" />

<activity
android:name=".ui.accounts.PostSignupInterstitialActivity"
android:label="@string/post_signup_interstitial_title"
android:theme="@style/LoginTheme"
android:theme="@style/Theme.LoginFlow"
/>

<activity
android:name=".ui.sitecreation.SiteCreationActivity"
android:theme="@style/LoginTheme"
android:theme="@style/WordPress.NoActionBar"
android:windowSoftInputMode="adjustResize" />

<activity
Expand Down
Loading

0 comments on commit 9d2c230

Please sign in to comment.