diff --git a/app/src/androidTest/java/fr/free/nrw/commons/AboutActivityTest.kt b/app/src/androidTest/java/fr/free/nrw/commons/AboutActivityTest.kt index 56e30f2d15..0e71235d08 100644 --- a/app/src/androidTest/java/fr/free/nrw/commons/AboutActivityTest.kt +++ b/app/src/androidTest/java/fr/free/nrw/commons/AboutActivityTest.kt @@ -104,6 +104,15 @@ class AboutActivityTest { IntentMatchers.hasData(Urls.CREDITS_URL))) } + @Test + @Ignore("Fix Failing Test") + fun testLaunchUserGuide() { + Espresso.onView(ViewMatchers.withId(R.id.about_user_guide)).perform(ViewActions.click()) + Intents.intended(CoreMatchers.allOf(IntentMatchers.hasAction(Intent.ACTION_VIEW), + IntentMatchers.hasData(Urls.USER_GUIDE_URL))) + } + + @Test @Ignore("Fix Failing Test") fun testLaunchAboutFaq() { diff --git a/app/src/main/java/fr/free/nrw/commons/AboutActivity.java b/app/src/main/java/fr/free/nrw/commons/AboutActivity.java index f75692e5a6..c9f8bc565a 100644 --- a/app/src/main/java/fr/free/nrw/commons/AboutActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/AboutActivity.java @@ -64,6 +64,7 @@ public void onCreate(Bundle savedInstanceState) { Utils.setUnderlinedText(binding.aboutFaq, R.string.about_faq, getApplicationContext()); Utils.setUnderlinedText(binding.aboutRateUs, R.string.about_rate_us, getApplicationContext()); + Utils.setUnderlinedText(binding.aboutUserGuide, R.string.user_guide, getApplicationContext()); Utils.setUnderlinedText(binding.aboutPrivacyPolicy, R.string.about_privacy_policy, getApplicationContext()); Utils.setUnderlinedText(binding.aboutTranslate, R.string.about_translate, getApplicationContext()); Utils.setUnderlinedText(binding.aboutCredits, R.string.about_credits, getApplicationContext()); @@ -77,6 +78,7 @@ public void onCreate(Bundle savedInstanceState) { binding.aboutRateUs.setOnClickListener(this::launchRatings); binding.aboutCredits.setOnClickListener(this::launchCredits); binding.aboutPrivacyPolicy.setOnClickListener(this::launchPrivacyPolicy); + binding.aboutUserGuide.setOnClickListener(this::launchUserGuide); binding.aboutFaq.setOnClickListener(this::launchFrequentlyAskedQuesions); binding.aboutTranslate.setOnClickListener(this::launchTranslate); } @@ -114,6 +116,10 @@ public void launchCredits(View view) { Utils.handleWebUrl(this, Uri.parse(Urls.CREDITS_URL)); } + public void launchUserGuide(View view) { + Utils.handleWebUrl(this, Uri.parse(Urls.USER_GUIDE_URL)); + } + public void launchPrivacyPolicy(View view) { Utils.handleWebUrl(this, Uri.parse(BuildConfig.PRIVACY_POLICY_URL)); } diff --git a/app/src/main/java/fr/free/nrw/commons/Urls.kt b/app/src/main/java/fr/free/nrw/commons/Urls.kt index 88470bc69e..def86da140 100644 --- a/app/src/main/java/fr/free/nrw/commons/Urls.kt +++ b/app/src/main/java/fr/free/nrw/commons/Urls.kt @@ -5,6 +5,7 @@ internal object Urls { const val GITHUB_REPO_URL = "https://github.com/commons-app/apps-android-commons" const val WEBSITE_URL = "https://commons-app.github.io" const val CREDITS_URL = "https://github.com/commons-app/apps-android-commons/blob/master/CREDITS" + const val USER_GUIDE_URL = "https://commons-app.github.io/docs.html" const val FAQ_URL = "https://github.com/commons-app/commons-app-documentation/blob/master/android/Frequently-Asked-Questions.md" const val PLAY_STORE_PREFIX = "market://details?id=" const val PLAY_STORE_URL_PREFIX = "https://play.google.com/store/apps/details?id=" diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml index 3fbdb4cab9..c509dad714 100644 --- a/app/src/main/res/layout/activity_about.xml +++ b/app/src/main/res/layout/activity_about.xml @@ -120,6 +120,15 @@ android:textColor="?attr/colorAccent" /> + + Commons Rate us FAQ + User Guide Skip Tutorial Internet unavailable Error fetching notifications diff --git a/app/src/test/kotlin/fr/free/nrw/commons/AboutActivityUnitTests.kt b/app/src/test/kotlin/fr/free/nrw/commons/AboutActivityUnitTests.kt index fd92436fbf..806d72df9f 100644 --- a/app/src/test/kotlin/fr/free/nrw/commons/AboutActivityUnitTests.kt +++ b/app/src/test/kotlin/fr/free/nrw/commons/AboutActivityUnitTests.kt @@ -83,6 +83,12 @@ class AboutActivityUnitTests { activity.launchPrivacyPolicy(null) } + @Test + @Throws(Exception::class) + fun testLaunchUserGuide() { + activity.launchUserGuide(null) + } + @Test @Throws(Exception::class) fun testLaunchFrequentlyAskedQuestions() {