Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ gem 'nokogiri'
### Fastlane Plugins

gem 'fastlane-plugin-sentry'
gem 'fastlane-plugin-wpmreleasetoolkit', '~> 12.3'
gem 'fastlane-plugin-wpmreleasetoolkit', '~> 13.5'
# gem 'fastlane-plugin-wpmreleasetoolkit', path: '../../release-toolkit'
# gem 'fastlane-plugin-wpmreleasetoolkit', git: 'https://github.com/wordpress-mobile/release-toolkit', branch: ''

Expand Down
65 changes: 33 additions & 32 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ GEM
base64
nkf
rexml
activesupport (8.0.2)
activesupport (8.0.3)
base64
benchmark (>= 0.3)
bigdecimal
Expand All @@ -23,28 +23,29 @@ GEM
artifactory (3.0.17)
ast (2.4.3)
atomos (0.1.3)
aws-eventstream (1.3.2)
aws-partitions (1.1099.0)
aws-sdk-core (3.223.0)
aws-eventstream (1.4.0)
aws-partitions (1.1174.0)
aws-sdk-core (3.233.0)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.992.0)
aws-sigv4 (~> 1.9)
base64
bigdecimal
jmespath (~> 1, >= 1.6.1)
logger
aws-sdk-kms (1.100.0)
aws-sdk-core (~> 3, >= 3.216.0)
aws-sdk-kms (1.114.0)
aws-sdk-core (~> 3, >= 3.231.0)
aws-sigv4 (~> 1.5)
aws-sdk-s3 (1.185.0)
aws-sdk-core (~> 3, >= 3.216.0)
aws-sdk-s3 (1.200.0)
aws-sdk-core (~> 3, >= 3.231.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.5)
aws-sigv4 (1.11.0)
aws-sigv4 (1.12.1)
aws-eventstream (~> 1, >= 1.0.2)
babosa (1.0.4)
base64 (0.2.0)
benchmark (0.4.0)
bigdecimal (3.1.9)
base64 (0.3.0)
benchmark (0.4.1)
bigdecimal (3.3.1)
buildkit (1.6.1)
sawyer (>= 0.6)
chroma (0.2.0)
Expand All @@ -58,7 +59,7 @@ GEM
commander (4.6.0)
highline (~> 2.0.0)
concurrent-ruby (1.3.5)
connection_pool (2.5.3)
connection_pool (2.5.4)
cork (0.3.0)
colored2 (~> 3.1)
danger (9.5.1)
Expand Down Expand Up @@ -86,12 +87,12 @@ GEM
danger
rubocop (~> 1.0)
declarative (0.0.20)
diffy (3.4.3)
diffy (3.4.4)
digest-crc (0.7.0)
rake (>= 12.0.0, < 14.0.0)
domain_name (0.6.20240107)
dotenv (2.8.1)
drb (2.2.1)
drb (2.2.3)
emoji_regex (3.2.3)
excon (0.112.0)
faraday (1.10.4)
Expand All @@ -110,12 +111,12 @@ GEM
faraday (>= 0.8.0)
http-cookie (~> 1.0.0)
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.0)
faraday-em_synchrony (1.0.1)
faraday-excon (1.1.0)
faraday-http-cache (2.5.1)
faraday (>= 0.8)
faraday-httpclient (1.0.1)
faraday-multipart (1.1.0)
faraday-multipart (1.1.1)
multipart-post (~> 2.0)
faraday-net_http (1.0.2)
faraday-net_http_persistent (1.2.0)
Expand All @@ -125,7 +126,7 @@ GEM
faraday_middleware (1.2.1)
faraday (~> 1.0)
fastimage (2.4.0)
fastlane (2.227.2)
fastlane (2.228.0)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0)
Expand Down Expand Up @@ -169,7 +170,7 @@ GEM
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
fastlane-plugin-sentry (1.29.0)
os (~> 1.1, >= 1.1.4)
fastlane-plugin-wpmreleasetoolkit (12.5.0)
fastlane-plugin-wpmreleasetoolkit (13.5.3)
activesupport (>= 6.1.7.1)
buildkit (~> 1.5)
chroma (= 0.2.0)
Expand Down Expand Up @@ -237,8 +238,8 @@ GEM
concurrent-ruby (~> 1.0)
java-properties (0.3.0)
jmespath (1.6.2)
json (2.11.3)
jwt (2.10.1)
json (2.15.1)
jwt (2.10.2)
base64
kramdown (2.5.1)
rexml (>= 3.3.9)
Expand All @@ -250,15 +251,15 @@ GEM
mini_magick (4.13.2)
mini_mime (1.1.5)
mini_portile2 (2.8.9)
minitest (5.25.5)
multi_json (1.15.0)
minitest (5.26.0)
multi_json (1.17.0)
multipart-post (2.4.1)
mutex_m (0.3.0)
nanaimo (0.4.0)
nap (1.1.0)
naturally (2.2.1)
naturally (2.3.0)
nkf (0.2.0)
nokogiri (1.18.9)
nokogiri (1.18.10)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
octokit (6.1.1)
Expand All @@ -281,17 +282,17 @@ GEM
public_suffix (6.0.2)
racc (1.8.1)
rainbow (3.1.1)
rake (13.2.1)
rake (13.3.0)
rake-compiler (1.3.0)
rake
rchardet (1.9.0)
rchardet (1.10.0)
regexp_parser (2.10.0)
representable (3.2.0)
declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0)
retriable (3.1.2)
rexml (3.4.1)
rexml (3.4.4)
rmagick (4.3.0)
rouge (3.28.0)
rubocop (1.75.5)
Expand All @@ -316,10 +317,10 @@ GEM
faraday (>= 0.17.3, < 3)
securerandom (0.4.1)
security (0.1.5)
signet (0.20.0)
signet (0.21.0)
addressable (~> 2.8)
faraday (>= 0.17.5, < 3.a)
jwt (>= 1.5, < 3.0)
jwt (>= 1.5, < 4.0)
multi_json (~> 1.10)
simctl (1.6.10)
CFPropertyList
Expand All @@ -337,7 +338,7 @@ GEM
concurrent-ruby (~> 1.0)
uber (0.1.0)
unicode-display_width (2.6.0)
uri (1.0.3)
uri (1.0.4)
word_wrap (1.0.0)
xcodeproj (1.27.0)
CFPropertyList (>= 2.3.3, < 4.0)
Expand All @@ -358,7 +359,7 @@ DEPENDENCIES
danger-dangermattic (~> 1.2)
fastlane (~> 2)
fastlane-plugin-sentry
fastlane-plugin-wpmreleasetoolkit (~> 12.3)
fastlane-plugin-wpmreleasetoolkit (~> 13.5)
nokogiri
rmagick (~> 4.1)

Expand Down
67 changes: 42 additions & 25 deletions WordPress/src/main/java/org/wordpress/android/ui/main/MeFragment.kt
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ import org.wordpress.android.fluxc.store.AccountStore
import org.wordpress.android.fluxc.store.AccountStore.OnAccountChanged
import org.wordpress.android.fluxc.store.PostStore
import org.wordpress.android.fluxc.store.SiteStore
import org.wordpress.android.fluxc.utils.AppLogWrapper
import org.wordpress.android.models.JetpackPoweredScreen
import org.wordpress.android.ui.ActivityLauncher
import org.wordpress.android.ui.about.UnifiedAboutActivity
Expand Down Expand Up @@ -135,6 +136,9 @@ class MeFragment : Fragment(R.layout.me_fragment), OnScrollToTopListener {
@Inject
lateinit var experimentalFeatures: ExperimentalFeatures

@Inject
lateinit var appLogWrapper: AppLogWrapper

private val viewModel: MeViewModel by viewModels()
private val emailVerificationViewModel: EmailVerificationViewModel by viewModels()

Expand Down Expand Up @@ -241,58 +245,71 @@ class MeFragment : Fragment(R.layout.me_fragment), OnScrollToTopListener {
}

private fun MeFragmentBinding.showAvatarPicker() {
appLogWrapper.d(AppLog.T.MAIN, "Gravatar: Opening avatar editor")
withVeryfiedEmail(unverifiedEmailMessageRes = R.string.avatar_update_email_unverified) {
showQuickEditor(page = AvatarPickerAndAboutEditorConfiguration.Page.AvatarPicker)
}
}

private fun MeFragmentBinding.showProfileEditor() {
appLogWrapper.d(AppLog.T.MAIN, "Gravatar: Opening profile editor")
withVeryfiedEmail(unverifiedEmailMessageRes = R.string.about_update_email_unverified) {
showQuickEditor(page = AvatarPickerAndAboutEditorConfiguration.Page.AboutEditor)
}
}

@Suppress("TooGenericExceptionCaught")
private fun MeFragmentBinding.showQuickEditor(
page: AvatarPickerAndAboutEditorConfiguration.Page
) {
GravatarQuickEditor.show(
fragment = this@MeFragment,
gravatarQuickEditorParams = GravatarQuickEditorParams {
email = Email(accountStore.account.email)
scopeOption = QuickEditorScopeOption.avatarAndAbout {
initialPage = page
fields = setOf(
AboutInputField.FirstName,
AboutInputField.LastName,
AboutInputField.DisplayName,
AboutInputField.AboutMe
)
}
},
authenticationMethod = AuthenticationMethod.Bearer(accountStore.accessToken.orEmpty()),
updateHandler = { event ->
when (event) {
AvatarPickerResult -> {
loadAvatar(null, true)
try {
appLogWrapper.d(AppLog.T.MAIN, "Gravatar: Showing Gravatar quick editor: ${page.value}")
GravatarQuickEditor.show(
fragment = this@MeFragment,
gravatarQuickEditorParams = GravatarQuickEditorParams {
email = Email(accountStore.account.email)
scopeOption = QuickEditorScopeOption.avatarAndAbout {
initialPage = page
fields = setOf(
AboutInputField.FirstName,
AboutInputField.LastName,
AboutInputField.DisplayName,
AboutInputField.AboutMe
)
}
},
authenticationMethod = AuthenticationMethod.Bearer(accountStore.accessToken.orEmpty()),
updateHandler = { event ->
when (event) {
AvatarPickerResult -> {
loadAvatar(null, true)
}

is AboutEditorResult -> {
meDisplayName.text = event.profile.displayName.ifEmpty { accountStore.account.displayName }
}
is AboutEditorResult -> {
meDisplayName.text = event.profile.displayName.ifEmpty { accountStore.account.displayName }
}

else -> Unit
else -> Unit
}
},
onDismiss = {
appLogWrapper.d(AppLog.T.MAIN, "Gravatar: Gravatar quick editor dismissed: ${page.value}")
}
},
)
)
} catch (exception: Exception) {
appLogWrapper.d(AppLog.T.MAIN, "Gravatar: Error opening Gravatar quick editor: ${exception.message}")
}
}

private fun withVeryfiedEmail(
@StringRes unverifiedEmailMessageRes: Int,
action: () -> Unit,
) {
if (accountStore.account.emailVerified) {
appLogWrapper.d(AppLog.T.MAIN, "Email verified")
action()
} else {
appLogWrapper.d(AppLog.T.MAIN, "Email not verified")
view?.let { view ->
sequencer.enqueue(
SnackbarItem(
Expand Down
25 changes: 17 additions & 8 deletions WordPress/src/main/res/values-ar/strings.xml
Original file line number Diff line number Diff line change
@@ -1,11 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Translation-Revision-Date: 2025-09-01 13:54:09+0000
Translation-Revision-Date: 2025-10-15 13:16:18+0000
Plural-Forms: nplurals=6; plural=(n == 0) ? 0 : ((n == 1) ? 1 : ((n == 2) ? 2 : ((n % 100 >= 3 && n % 100 <= 10) ? 3 : ((n % 100 >= 11 && n % 100 <= 99) ? 4 : 5))));
Generator: GlotPress/4.0.1
Generator: GlotPress/4.0.3
Language: ar
-->
<resources xmlns:tools="http://schemas.android.com/tools">
<string name="error_deleting_term">حدث خطأ في حذف المصطلح</string>
<string name="error_saving_term">حدث خطأ في حفظ المصطلح</string>
<string name="add_term">إضافة مصطلح</string>
<string name="term_delete_confirmation_message">هل أنت متأكد من رغبتك في حذف \"⁦%1$s⁩\"؟</string>
<string name="term_delete_confirmation_title">حذف مصطلح</string>
<string name="term_parent_label">الأصل</string>
<string name="term_count">العدد: ⁦%1$d⁩</string>
<string name="application_password_experimental_feature_note">\n\nملاحظة: تعد مصادقة كلمة مرور التطبيق على أجهزة Android ميزة تجريبية.</string>
<string name="application_password_required_block_editor">محرر المكوِّنات</string>
<string name="application_password_required_description">كلمات مرور التطبيقات هي طريقة أكثر أمانًا للاتصال بموقعك المستضاف ذاتيًا، وتمكين الدعم لميزات، مثل: ⁦%1$s⁩.</string>
<string name="taxonomies_title">الفئات</string>
<string name="jetpack_rest_connection_error_login_wpcom">يتعذّر تسجيل الدخول إلى ووردبريس.كوم</string>
<string name="jetpack_rest_connection_step_connect_site">ربط الموقع الإلكتروني بووردبريس.كوم</string>
<string name="dataview_default_empty_message">لا يوجد شيء هنا</string>
Expand All @@ -31,7 +42,7 @@ Language: ar
<string name="application_password_info_description_1">كلمات مرور التطبيقات هي طريقة آمنة للتطبيقات للوصول إلى موقعك بدون استخدام كلمة مرور حسابك.</string>
<string name="application_password_info_title">كلمات مرور التطبيقات</string>
<string name="application_password_disable_feature_description">سيؤدي تعطيل كلمة مرور التطبيق إلى إزالة معلومات تسجيل الدخول في ⁦%1$s⁩ من مواقعك. قد تحتاج إلى إعادة إضافة المواقع المتأثرة لإعادة تسجيل الدخول.</string>
<string name="application_password_invalid_description">لم تعد كلمة مرور تطبيقك موجودة. يُرجى تسجيل الدخول مرة أخرى لإنشاء كلمة مرور جديدة للتطبيق </string>
<string name="application_password_invalid_description">لم تعد كلمة مرور تطبيقك موجودة. يُرجى تسجيل الدخول مرة أخرى لإنشاء كلمة مرور جديدة للتطبيق.</string>
<string name="subscribers_delete_success_message">حُذِف المشترك، لكن قد يستغرق الأمر دقيقة حتى يصبح الحذف ساري المفعول</string>
<string name="subscribers_delete_success_title">حُذِف المشترك</string>
<string name="subscribers_delete_confirmation_message">هل أنت متأكد من رغبتك في حذف هذا المشترك؟</string>
Expand Down Expand Up @@ -1167,8 +1178,8 @@ Language: ar
<string name="my_site_post_card_link_create_post">إنشاء مقالة</string>
<string name="my_site_create_next_post_excerpt">النشر بانتظام يساعد في بناء جمهورك!</string>
<string name="my_site_create_next_post_title">أنشئ تدوينتك التالية</string>
<string name="menu_visual_mode_switched_notice">تم التبديل إلى الوضع المرئي</string>
<string name="menu_html_mode_switched_notice">تم التبديل إلى وضع HTML</string>
<string name="menu_visual_mode_switched_notice">تم التبديل إلى المحرر المرئي</string>
<string name="menu_html_mode_switched_notice">تم التبديل إلى محرر الشفرة البرمجية</string>
<string name="post_link_copied_to_clipboard">تم نسخ الرابط إلى الحافظة</string>
<string name="comment_author_badge">الكاتب</string>
<string name="button_copy_link">نسخ الرابط</string>
Expand Down Expand Up @@ -2809,14 +2820,12 @@ Language: ar
<string name="signup_with_google_progress" tools:ignore="UnusedResources" a8c-src-lib="module:login">جاري التسجيل باستخدام Google…</string>
<string name="jetpack_connection_failed_with_reason">فشل الاتصال بـ Jetpack: %s</string>
<string name="jetpack_already_connected_toast">أنت متصل بالفعل بـ Jetpack</string>
<string name="menu_visual_mode">الوضع المرئي</string>
<string name="menu_html_mode">وضع HTML</string>
<string name="menu_visual_mode">المحرر المرئي</string>
<string name="menu_preview">معاينة</string>
<string name="menu_save_as_draft">حفظ كمسودة</string>
<string name="file_size_in_terabytes">%s تيرابايت</string>
<string name="file_size_in_gigabytes">%s جيجابايت</string>
<string name="file_size_in_megabytes">%s ميجابايت</string>
<string name="file_size_in_kilobytes">%s كيلوبايت</string>
<string name="file_size_in_bytes">%s بايت</string>
<string name="site_settings_quota_space_value">%1$s من %2$s</string>
<string name="site_settings_quota_space_hint">إذا كنت بحاجة إلى مزيد من المساحة، ففكر في ترقية خطة ووردبريس الخاصة بك.</string>
Expand Down
2 changes: 1 addition & 1 deletion WordPress/src/main/res/values-az/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<!--
Translation-Revision-Date: 2015-12-08 01:00:08+0000
Plural-Forms: nplurals=2; plural=n != 1;
Generator: GlotPress/4.0.1
Generator: GlotPress/4.0.3
Language: az
-->
<resources xmlns:tools="http://schemas.android.com/tools">
Expand Down
2 changes: 1 addition & 1 deletion WordPress/src/main/res/values-bg/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<!--
Translation-Revision-Date: 2018-12-10 19:56:03+0000
Plural-Forms: nplurals=2; plural=n != 1;
Generator: GlotPress/4.0.1
Generator: GlotPress/4.0.3
Language: bg
-->
<resources xmlns:tools="http://schemas.android.com/tools">
Expand Down
Loading