diff --git a/WordPress/src/future/res/drawable-xxxhdpi/me_icon_account_settings.png b/WordPress/src/future/res/drawable-xxxhdpi/me_icon_account_settings.png new file mode 100644 index 000000000000..c84ce34e0a53 Binary files /dev/null and b/WordPress/src/future/res/drawable-xxxhdpi/me_icon_account_settings.png differ diff --git a/WordPress/src/future/res/drawable-xxxhdpi/me_icon_login_logout.png b/WordPress/src/future/res/drawable-xxxhdpi/me_icon_login_logout.png new file mode 100644 index 000000000000..90489dd5ba6e Binary files /dev/null and b/WordPress/src/future/res/drawable-xxxhdpi/me_icon_login_logout.png differ diff --git a/WordPress/src/future/res/drawable-xxxhdpi/me_icon_my_profile.png b/WordPress/src/future/res/drawable-xxxhdpi/me_icon_my_profile.png new file mode 100644 index 000000000000..48b7f24887f3 Binary files /dev/null and b/WordPress/src/future/res/drawable-xxxhdpi/me_icon_my_profile.png differ diff --git a/WordPress/src/future/res/drawable-xxxhdpi/me_icon_notifications.png b/WordPress/src/future/res/drawable-xxxhdpi/me_icon_notifications.png new file mode 100644 index 000000000000..b41a3ccc8c2c Binary files /dev/null and b/WordPress/src/future/res/drawable-xxxhdpi/me_icon_notifications.png differ diff --git a/WordPress/src/future/res/drawable-xxxhdpi/me_icon_support.png b/WordPress/src/future/res/drawable-xxxhdpi/me_icon_support.png new file mode 100644 index 000000000000..665b8f0f0e80 Binary files /dev/null and b/WordPress/src/future/res/drawable-xxxhdpi/me_icon_support.png differ diff --git a/WordPress/src/main/AndroidManifest.xml b/WordPress/src/main/AndroidManifest.xml index d395cbaba663..b57f791769d3 100644 --- a/WordPress/src/main/AndroidManifest.xml +++ b/WordPress/src/main/AndroidManifest.xml @@ -316,6 +316,12 @@ android:theme="@style/CalypsoTheme" android:windowSoftInputMode="stateHidden"/> + + + params) { + com.wordpress.rest.RestRequest.Listener listener = new RestRequest.Listener() { + @Override + public void onResponse(JSONObject jsonObject) { + if (jsonObject != null) { + updateAccountSettingsFromRestResponse(jsonObject); + save(); + } + } + }; + + RestRequest.ErrorListener errorListener = new RestRequest.ErrorListener() { + @Override + public void onErrorResponse(VolleyError volleyError) { + AppLog.e(T.API, volleyError); + } + }; + + WordPress.getRestClientUtilsV1_1().post("me/settings", params, null, listener, errorListener); + } public void signout() { init(); @@ -46,4 +93,21 @@ public void signout() { public void save() { AccountTable.save(this); } + + public enum RestParam { + FIRST_NAME("first_name"), + LAST_NAME("last_name"), + DISPLAY_NAME("display_name"), + ABOUT_ME("description"); + + private String description; + + RestParam(String description) { + this.description = description; + } + + public static String toString(RestParam param) { + return param.description; + } + } } diff --git a/WordPress/src/main/java/org/wordpress/android/models/AccountModel.java b/WordPress/src/main/java/org/wordpress/android/models/AccountModel.java index deed724741fc..4d8f18c3396d 100644 --- a/WordPress/src/main/java/org/wordpress/android/models/AccountModel.java +++ b/WordPress/src/main/java/org/wordpress/android/models/AccountModel.java @@ -17,6 +17,9 @@ public class AccountModel { private int mVisibleSiteCount; private String mAccessToken; private String mEmail; + private String mFirstName; + private String mLastName; + private String mAboutMe; public AccountModel() { init(); @@ -33,6 +36,9 @@ public void init() { mVisibleSiteCount = 0; mAccessToken = ""; mEmail = ""; + mFirstName = ""; + mLastName = ""; + mAboutMe = ""; } public void updateFromRestResponse(JSONObject json) { @@ -47,6 +53,13 @@ public void updateFromRestResponse(JSONObject json) { mEmail = json.optString("email"); } + public void updateAccountSettingsFromRestResponse(JSONObject json) { + mFirstName = json.optString("first_name"); + mLastName = json.optString("last_name"); + mDisplayName = json.optString("display_name"); + mAboutMe = json.optString("description"); + } + public long getUserId() { return mUserId; } @@ -130,4 +143,28 @@ public void setEmail(String email) { public String getEmail() { return StringUtils.notNullStr(mEmail); } + + public String getFirstName() { + return StringUtils.notNullStr(mFirstName); + } + + public void setFirstName(String firstName) { + mFirstName = firstName; + } + + public String getLastName() { + return StringUtils.notNullStr(mLastName); + } + + public void setLastName(String lastName) { + mLastName = lastName; + } + + public String getAboutMe() { + return StringUtils.notNullStr(mAboutMe); + } + + public void setAboutMe(String aboutMe) { + mAboutMe = aboutMe; + } } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java b/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java index b421dd23a93a..aa59a625250c 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java @@ -20,6 +20,7 @@ import org.wordpress.android.ui.accounts.SignInActivity; import org.wordpress.android.ui.comments.CommentsActivity; import org.wordpress.android.ui.main.SitePickerActivity; +import org.wordpress.android.ui.prefs.MyProfileActivity; import org.wordpress.android.ui.media.MediaBrowserActivity; import org.wordpress.android.ui.media.WordPressMediaUtils; import org.wordpress.android.ui.posts.EditPostActivity; @@ -172,8 +173,15 @@ public static void addMedia(Activity activity) { WordPressMediaUtils.launchPictureLibrary(activity); } + public static void viewMyProfile(Context context) { + Intent intent = new Intent(context, MyProfileActivity.class); + AnalyticsUtils.trackWithCurrentBlogDetails(AnalyticsTracker.Stat.OPENED_MY_PROFILE); + slideInFromRight(context, intent); + } + public static void viewAccountSettings(Activity activity) { Intent intent = new Intent(activity, SettingsActivity.class); + AnalyticsUtils.trackWithCurrentBlogDetails(AnalyticsTracker.Stat.OPENED_ACCOUNT_SETTINGS); slideInFromRightForResult(activity, intent, RequestCodes.ACCOUNT_SETTINGS); } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/main/MeFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/main/MeFragment.java index d367af217a66..b49df4b2630d 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/main/MeFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/main/MeFragment.java @@ -22,12 +22,15 @@ import org.wordpress.android.models.Account; import org.wordpress.android.models.AccountHelper; import org.wordpress.android.ui.ActivityLauncher; +import org.wordpress.android.ui.prefs.PrefsEvents; import org.wordpress.android.util.GravatarUtils; import org.wordpress.android.util.HelpshiftHelper.Tag; import org.wordpress.android.widgets.WPNetworkImageView; import java.lang.ref.WeakReference; +import de.greenrobot.event.EventBus; + public class MeFragment extends Fragment { private static final String IS_DISCONNECTING = "IS_DISCONNECTING"; @@ -36,6 +39,7 @@ public class MeFragment extends Fragment { private TextView mDisplayNameTextView; private TextView mUsernameTextView; private TextView mLoginLogoutTextView; + private View mMyProfileView; private View mNotificationsView; private View mNotificationsDividerView; private ProgressDialog mDisconnectProgressDialog; @@ -54,12 +58,20 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, mDisplayNameTextView = (TextView) rootView.findViewById(R.id.me_display_name); mUsernameTextView = (TextView) rootView.findViewById(R.id.me_username); mLoginLogoutTextView = (TextView) rootView.findViewById(R.id.me_login_logout_text_view); + mMyProfileView = rootView.findViewById(R.id.row_my_profile); mNotificationsView = rootView.findViewById(R.id.row_notifications); mNotificationsDividerView = rootView.findViewById(R.id.me_notifications_divider); addDropShadowToAvatar(); refreshAccountDetails(); + mMyProfileView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ActivityLauncher.viewMyProfile(getActivity()); + } + }); + rootView.findViewById(R.id.row_settings).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -108,6 +120,19 @@ public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); } + @Override + public void onStop() { + EventBus.getDefault().unregister(this); + super.onStop(); + } + + @Override + public void onResume() { + super.onResume(); + refreshAccountDetails(); + EventBus.getDefault().register(this); + } + @Override public void onDestroy() { if (mDisconnectProgressDialog != null) { @@ -141,6 +166,7 @@ private void refreshAccountDetails() { mDisplayNameTextView.setVisibility(View.VISIBLE); mUsernameTextView.setVisibility(View.VISIBLE); mAvatarFrame.setVisibility(View.VISIBLE); + mMyProfileView.setVisibility(View.VISIBLE); mNotificationsView.setVisibility(View.VISIBLE); mNotificationsDividerView.setVisibility(View.VISIBLE); @@ -161,6 +187,7 @@ private void refreshAccountDetails() { mDisplayNameTextView.setVisibility(View.GONE); mUsernameTextView.setVisibility(View.GONE); mAvatarFrame.setVisibility(View.GONE); + mMyProfileView.setVisibility(View.GONE); mNotificationsView.setVisibility(View.GONE); mNotificationsDividerView.setVisibility(View.GONE); mLoginLogoutTextView.setText(R.string.me_connect_to_wordpress_com); @@ -227,4 +254,8 @@ protected void onPostExecute(Void aVoid) { mDisconnectProgressDialog = null; } } + + public void onEventMainThread(PrefsEvents.MyProfileDetailsChanged event) { + refreshAccountDetails(); + } } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/prefs/MyProfileActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/prefs/MyProfileActivity.java new file mode 100644 index 000000000000..9b642f8a2cb4 --- /dev/null +++ b/WordPress/src/main/java/org/wordpress/android/ui/prefs/MyProfileActivity.java @@ -0,0 +1,149 @@ +package org.wordpress.android.ui.prefs; + +import android.os.Bundle; +import android.support.v7.app.ActionBar; +import android.support.v7.app.AppCompatActivity; +import android.text.TextUtils; +import android.view.MenuItem; +import android.view.View; +import android.widget.TextView; + +import org.wordpress.android.R; +import org.wordpress.android.models.Account; +import org.wordpress.android.models.AccountHelper; +import org.wordpress.android.ui.ActivityLauncher; +import org.wordpress.android.util.DialogUtils; +import org.wordpress.android.util.StringUtils; +import org.wordpress.android.widgets.WPTextView; + +import java.util.HashMap; +import java.util.Map; + +import de.greenrobot.event.EventBus; + +public class MyProfileActivity extends AppCompatActivity { + + private WPTextView mFirstName; + private WPTextView mLastName; + private WPTextView mDisplayName; + private WPTextView mAboutMe; + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + AccountHelper.getDefaultAccount().fetchAccountSettings(); + + ActionBar actionBar = getSupportActionBar(); + if (actionBar != null) { + actionBar.setHomeButtonEnabled(true); + actionBar.setDisplayHomeAsUpEnabled(true); + } + setContentView(R.layout.my_profile_activity); + + mFirstName = (WPTextView) findViewById(R.id.first_name); + mLastName = (WPTextView) findViewById(R.id.last_name); + mDisplayName = (WPTextView) findViewById(R.id.display_name); + mAboutMe = (WPTextView) findViewById(R.id.about_me); + + refreshDetails(); + + findViewById(R.id.first_name_row).setOnClickListener(createOnClickListener(getString(R.string.first_name), null, mFirstName)); + findViewById(R.id.last_name_row).setOnClickListener(createOnClickListener(getString(R.string.last_name), null, mLastName)); + findViewById(R.id.display_name_row).setOnClickListener(createOnClickListener(getString(R.string.public_display_name), getString(R.string.public_display_name_hint), mDisplayName)); + findViewById(R.id.about_me_row).setOnClickListener(createOnClickListener(getString(R.string.about_me), getString(R.string.about_me_hint), mAboutMe)); + } + + @Override + public void finish() { + super.finish(); + ActivityLauncher.slideOutToRight(this); + } + + @Override + protected void onStop() { + EventBus.getDefault().unregister(this); + super.onStop(); + } + + @Override + protected void onStart() { + super.onStart(); + EventBus.getDefault().register(this); + } + + @Override + public boolean onOptionsItemSelected(final MenuItem item) { + if (item.getItemId() == android.R.id.home) { + onBackPressed(); + return true; + } + return super.onOptionsItemSelected(item); + } + + private void refreshDetails() { + Account account = AccountHelper.getDefaultAccount(); + updateLabel(mFirstName, account != null ? StringUtils.unescapeHTML(account.getFirstName()) : null); + updateLabel(mLastName, account != null ? StringUtils.unescapeHTML(account.getLastName()) : null); + updateLabel(mDisplayName, account != null ? StringUtils.unescapeHTML(account.getDisplayName()) : null); + updateLabel(mAboutMe, account != null ? StringUtils.unescapeHTML(account.getAboutMe()) : null); + } + + private void updateMyProfileForLabel(TextView textView) { + Map params = new HashMap<>(); + params.put(restParamForTextView(textView), textView.getText().toString()); + AccountHelper.getDefaultAccount().postAccountSettings(params); + } + + private void updateLabel(WPTextView textView, String text) { + textView.setText(text); + if (TextUtils.isEmpty(text)) { + if (textView == mDisplayName) { + Account account = AccountHelper.getDefaultAccount(); + mDisplayName.setText(account.getUserName()); + } else { + textView.setVisibility(View.GONE); + } + } + else { + textView.setVisibility(View.VISIBLE); + } + } + + // helper method to create onClickListener to avoid code duplication + private View.OnClickListener createOnClickListener(final String dialogTitle, final String hint, final WPTextView textView) { + return new View.OnClickListener() { + @Override + public void onClick(View v) { + DialogUtils.showMyProfileDialog(MyProfileActivity.this, dialogTitle, textView.getText().toString(), hint, new DialogUtils.Callback() { + @Override + public void onSuccessfulInput(String input) { + updateLabel(textView, input); + updateMyProfileForLabel(textView); + } + }); + } + }; + } + + // helper method to get the rest parameter for a text view + private String restParamForTextView(TextView textView) { + Account.RestParam param = null; + if (textView == mFirstName) { + param = Account.RestParam.FIRST_NAME; + } else if (textView == mLastName) { + param = Account.RestParam.LAST_NAME; + } else if (textView == mDisplayName) { + param = Account.RestParam.DISPLAY_NAME; + } else if (textView == mAboutMe) { + param = Account.RestParam.ABOUT_ME; + } + return Account.RestParam.toString(param); + } + + public void onEventMainThread(PrefsEvents.MyProfileDetailsChanged event) { + if (!isFinishing()) { + refreshDetails(); + } + } +} diff --git a/WordPress/src/main/java/org/wordpress/android/ui/prefs/PrefsEvents.java b/WordPress/src/main/java/org/wordpress/android/ui/prefs/PrefsEvents.java new file mode 100644 index 000000000000..8fa04f078dd1 --- /dev/null +++ b/WordPress/src/main/java/org/wordpress/android/ui/prefs/PrefsEvents.java @@ -0,0 +1,5 @@ +package org.wordpress.android.ui.prefs; + +public class PrefsEvents { + public static class MyProfileDetailsChanged {} +} diff --git a/WordPress/src/main/java/org/wordpress/android/util/DialogUtils.java b/WordPress/src/main/java/org/wordpress/android/util/DialogUtils.java new file mode 100644 index 000000000000..ea30a72e5ab1 --- /dev/null +++ b/WordPress/src/main/java/org/wordpress/android/util/DialogUtils.java @@ -0,0 +1,58 @@ +package org.wordpress.android.util; + +import android.app.AlertDialog; +import android.content.Context; +import android.content.DialogInterface; +import android.text.TextUtils; +import android.view.LayoutInflater; +import android.view.View; + +import org.wordpress.android.R; +import org.wordpress.android.widgets.OpenSansEditText; +import org.wordpress.android.widgets.WPTextView; + +public class DialogUtils { + public static void showMyProfileDialog(Context context, String title, String initialText, String hint, final Callback callback) { + LayoutInflater layoutInflater = LayoutInflater.from(context); + View promptView = layoutInflater.inflate(R.layout.my_profile_dialog, null); + AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context); + alertDialogBuilder.setView(promptView); + + final WPTextView textView = (WPTextView) promptView.findViewById(R.id.my_profile_dialog_label); + final OpenSansEditText editText = (OpenSansEditText) promptView.findViewById(R.id.my_profile_dialog_input); + final WPTextView hintView = (WPTextView) promptView.findViewById(R.id.my_profile_dialog_hint); + + textView.setText(title); + if (!TextUtils.isEmpty(hint)) { + hintView.setText(hint); + } + else { + hintView.setVisibility(View.GONE); + } + + if (!TextUtils.isEmpty(initialText)) { + editText.setText(initialText); + editText.setSelection(0, initialText.length()); + } + + alertDialogBuilder.setCancelable(true) + .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + callback.onSuccessfulInput(editText.getText().toString()); + } + }) + .setNegativeButton(R.string.cancel, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.cancel(); + } + }); + + AlertDialog alert = alertDialogBuilder.create(); + alert.show(); + } + + public interface Callback { + void onSuccessfulInput(String input); + } +} diff --git a/WordPress/src/main/res/drawable-hdpi/me_icon_account_settings.png b/WordPress/src/main/res/drawable-hdpi/me_icon_account_settings.png new file mode 100644 index 000000000000..f5285b4f5cb8 Binary files /dev/null and b/WordPress/src/main/res/drawable-hdpi/me_icon_account_settings.png differ diff --git a/WordPress/src/main/res/drawable-hdpi/me_icon_login_logout.png b/WordPress/src/main/res/drawable-hdpi/me_icon_login_logout.png index 0a147a3e3f83..a36bba233e1d 100644 Binary files a/WordPress/src/main/res/drawable-hdpi/me_icon_login_logout.png and b/WordPress/src/main/res/drawable-hdpi/me_icon_login_logout.png differ diff --git a/WordPress/src/main/res/drawable-hdpi/me_icon_settings.png b/WordPress/src/main/res/drawable-hdpi/me_icon_my_profile.png old mode 100755 new mode 100644 similarity index 100% rename from WordPress/src/main/res/drawable-hdpi/me_icon_settings.png rename to WordPress/src/main/res/drawable-hdpi/me_icon_my_profile.png diff --git a/WordPress/src/main/res/drawable-hdpi/me_icon_notifications.png b/WordPress/src/main/res/drawable-hdpi/me_icon_notifications.png old mode 100755 new mode 100644 diff --git a/WordPress/src/main/res/drawable-hdpi/me_icon_support.png b/WordPress/src/main/res/drawable-hdpi/me_icon_support.png index 0ee051e23eb0..7561db04dd1d 100644 Binary files a/WordPress/src/main/res/drawable-hdpi/me_icon_support.png and b/WordPress/src/main/res/drawable-hdpi/me_icon_support.png differ diff --git a/WordPress/src/main/res/drawable-xhdpi/me_icon_account_settings.png b/WordPress/src/main/res/drawable-xhdpi/me_icon_account_settings.png new file mode 100644 index 000000000000..0f1fbd5a74a1 Binary files /dev/null and b/WordPress/src/main/res/drawable-xhdpi/me_icon_account_settings.png differ diff --git a/WordPress/src/main/res/drawable-xhdpi/me_icon_login_logout.png b/WordPress/src/main/res/drawable-xhdpi/me_icon_login_logout.png index 3a5d1cf6667d..4373360d75fc 100644 Binary files a/WordPress/src/main/res/drawable-xhdpi/me_icon_login_logout.png and b/WordPress/src/main/res/drawable-xhdpi/me_icon_login_logout.png differ diff --git a/WordPress/src/main/res/drawable-xhdpi/me_icon_settings.png b/WordPress/src/main/res/drawable-xhdpi/me_icon_my_profile.png old mode 100755 new mode 100644 similarity index 100% rename from WordPress/src/main/res/drawable-xhdpi/me_icon_settings.png rename to WordPress/src/main/res/drawable-xhdpi/me_icon_my_profile.png diff --git a/WordPress/src/main/res/drawable-xhdpi/me_icon_notifications.png b/WordPress/src/main/res/drawable-xhdpi/me_icon_notifications.png old mode 100755 new mode 100644 diff --git a/WordPress/src/main/res/drawable-xhdpi/me_icon_support.png b/WordPress/src/main/res/drawable-xhdpi/me_icon_support.png index ef3af62083bf..3bb07bd24f07 100644 Binary files a/WordPress/src/main/res/drawable-xhdpi/me_icon_support.png and b/WordPress/src/main/res/drawable-xhdpi/me_icon_support.png differ diff --git a/WordPress/src/main/res/drawable-xxhdpi/me_icon_account_settings.png b/WordPress/src/main/res/drawable-xxhdpi/me_icon_account_settings.png new file mode 100644 index 000000000000..78dac6b9caaa Binary files /dev/null and b/WordPress/src/main/res/drawable-xxhdpi/me_icon_account_settings.png differ diff --git a/WordPress/src/main/res/drawable-xxhdpi/me_icon_login_logout.png b/WordPress/src/main/res/drawable-xxhdpi/me_icon_login_logout.png index 6efd45d4a938..f174c9119e32 100644 Binary files a/WordPress/src/main/res/drawable-xxhdpi/me_icon_login_logout.png and b/WordPress/src/main/res/drawable-xxhdpi/me_icon_login_logout.png differ diff --git a/WordPress/src/main/res/drawable-xxhdpi/me_icon_settings.png b/WordPress/src/main/res/drawable-xxhdpi/me_icon_my_profile.png old mode 100755 new mode 100644 similarity index 100% rename from WordPress/src/main/res/drawable-xxhdpi/me_icon_settings.png rename to WordPress/src/main/res/drawable-xxhdpi/me_icon_my_profile.png diff --git a/WordPress/src/main/res/drawable-xxhdpi/me_icon_notifications.png b/WordPress/src/main/res/drawable-xxhdpi/me_icon_notifications.png old mode 100755 new mode 100644 diff --git a/WordPress/src/main/res/drawable-xxhdpi/me_icon_support.png b/WordPress/src/main/res/drawable-xxhdpi/me_icon_support.png index 9e2584ab363e..58482a5d6a20 100644 Binary files a/WordPress/src/main/res/drawable-xxhdpi/me_icon_support.png and b/WordPress/src/main/res/drawable-xxhdpi/me_icon_support.png differ diff --git a/WordPress/src/main/res/layout/me_fragment.xml b/WordPress/src/main/res/layout/me_fragment.xml index f943bd62918e..ba8ad040970a 100644 --- a/WordPress/src/main/res/layout/me_fragment.xml +++ b/WordPress/src/main/res/layout/me_fragment.xml @@ -53,15 +53,34 @@ tools:text="username" /> + + + + + + + + + + + android:src="@drawable/me_icon_account_settings" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WordPress/src/main/res/layout/my_profile_dialog.xml b/WordPress/src/main/res/layout/my_profile_dialog.xml new file mode 100644 index 000000000000..bae10acf3f64 --- /dev/null +++ b/WordPress/src/main/res/layout/my_profile_dialog.xml @@ -0,0 +1,31 @@ + + + + + + + + + + \ No newline at end of file diff --git a/WordPress/src/main/res/values/colors.xml b/WordPress/src/main/res/values/colors.xml index e53edcf9d7f3..90ec870cc987 100644 --- a/WordPress/src/main/res/values/colors.xml +++ b/WordPress/src/main/res/values/colors.xml @@ -141,7 +141,7 @@ @color/grey_lighten_30 - #D8E3EA + #D8E3EA @color/color_primary @color/white diff --git a/WordPress/src/main/res/values/strings.xml b/WordPress/src/main/res/values/strings.xml index 00bc14fc6c56..d34f5b56aa0b 100644 --- a/WordPress/src/main/res/values/strings.xml +++ b/WordPress/src/main/res/values/strings.xml @@ -1110,4 +1110,13 @@ Selected Theme Could not load theme + + My Profile + First name + Last name + Public display name + Display name will default to your username if it is not set + About me + A few words about you… + diff --git a/WordPress/src/main/res/values/styles.xml b/WordPress/src/main/res/values/styles.xml index e946a2814742..8133e03984b0 100644 --- a/WordPress/src/main/res/values/styles.xml +++ b/WordPress/src/main/res/values/styles.xml @@ -318,11 +318,39 @@ match_parent 1dp center_vertical - @color/me_list_row_border + @color/me_divider + + + + + + + +