diff --git a/app/src/main/assets/config.json b/app/src/main/assets/config.json index 27a32d3ba..3d7fd2c2c 100644 --- a/app/src/main/assets/config.json +++ b/app/src/main/assets/config.json @@ -1,7 +1,7 @@ { "version" : "1.1.7", - "version_code" : 9, - "testpress_site_subdomain" : "sandbox", + "version_code" : 123, + "testpress_site_subdomain" : "xandylearning", "package_name" : "in.testpress.sandbox", "app_name" : "Testpress Sandbox", "share_message": "Good app to prepare for online exams.", diff --git a/app/src/main/java/in/testpress/testpress/authenticator/LoginActivity.java b/app/src/main/java/in/testpress/testpress/authenticator/LoginActivity.java index b8e00cb95..905145484 100644 --- a/app/src/main/java/in/testpress/testpress/authenticator/LoginActivity.java +++ b/app/src/main/java/in/testpress/testpress/authenticator/LoginActivity.java @@ -46,11 +46,13 @@ import java.io.IOException; import java.security.PublicKey; +import java.util.Arrays; import java.util.List; import java.util.concurrent.Executor; import java.util.concurrent.Executors; import javax.inject.Inject; +import in.testpress.testpress.core.Constants; import in.testpress.core.TestpressCallback; import in.testpress.core.TestpressException; import in.testpress.core.TestpressSDKDatabase; @@ -68,6 +70,7 @@ import in.testpress.testpress.models.DaoSession; import in.testpress.testpress.models.InstituteSettings; import in.testpress.testpress.models.InstituteSettingsDao; +import in.testpress.testpress.util.AppChecker; import in.testpress.testpress.models.PostDao; import in.testpress.testpress.ui.DeviceNotAllowedActivity; import in.testpress.testpress.ui.MainActivity; @@ -450,7 +453,11 @@ private void updateInstituteSpecificFields() { ViewUtils.setGone(googleLoginButton, !instituteSettings.getGoogleLoginEnabled()); ViewUtils.setGone(socialLoginLayout, !instituteSettings.getFacebookLoginEnabled() && !instituteSettings.getGoogleLoginEnabled()); - ViewUtils.setGone(signUpButton, !instituteSettings.getAllowSignup()); + boolean allowSignup = instituteSettings.getAllowSignup() != null && instituteSettings.getAllowSignup(); + if (AppChecker.INSTANCE.isSignupDisabledForSubdomain(this)) { + allowSignup = false; + } + ViewUtils.setGone(signUpButton, !allowSignup); } diff --git a/app/src/main/java/in/testpress/testpress/core/Constants.java b/app/src/main/java/in/testpress/testpress/core/Constants.java index 641775313..04005bcb7 100644 --- a/app/src/main/java/in/testpress/testpress/core/Constants.java +++ b/app/src/main/java/in/testpress/testpress/core/Constants.java @@ -12,6 +12,8 @@ public final class Constants { private Constants() {} + public static final String[] DISALLOWED_SIGNUP_SUBDOMAINS = {"xandylearning"}; + public static final class Http { private Http() {} diff --git a/app/src/main/java/in/testpress/testpress/ui/fragments/UsernameAuthentication.kt b/app/src/main/java/in/testpress/testpress/ui/fragments/UsernameAuthentication.kt index 50c761774..0209ed6a3 100644 --- a/app/src/main/java/in/testpress/testpress/ui/fragments/UsernameAuthentication.kt +++ b/app/src/main/java/in/testpress/testpress/ui/fragments/UsernameAuthentication.kt @@ -16,6 +16,7 @@ import `in`.testpress.testpress.core.TestpressService import `in`.testpress.testpress.databinding.UsernameLoginLayoutBinding import `in`.testpress.testpress.models.InstituteSettings import `in`.testpress.testpress.ui.WebViewActivity +import `in`.testpress.testpress.util.AppChecker import `in`.testpress.testpress.util.UIUtils import `in`.testpress.testpress.util.isEmpty import `in`.testpress.util.ViewUtils @@ -188,7 +189,7 @@ class UsernameAuthentication : BaseAuthenticationFragment() { } private fun showOrHideButtons() { - if (!instituteSettings.allowSignup) { + if (!instituteSettings.allowSignup || AppChecker.isSignupDisabledForSubdomain(requireContext())) { binding.signUp.visibility = View.GONE } ViewUtils.setGone(binding.phoneLogin, 3 !in instituteSettings.allowedLoginMethods) diff --git a/app/src/main/java/in/testpress/testpress/util/AppChecker.kt b/app/src/main/java/in/testpress/testpress/util/AppChecker.kt index d4b9416c8..bd7d6dacb 100644 --- a/app/src/main/java/in/testpress/testpress/util/AppChecker.kt +++ b/app/src/main/java/in/testpress/testpress/util/AppChecker.kt @@ -1,7 +1,8 @@ package `in`.testpress.testpress.util -import `in`.testpress.testpress.R import android.content.Context +import `in`.testpress.testpress.R +import `in`.testpress.testpress.core.Constants import `in`.testpress.ui.WebViewWithSSOActivity object AppChecker { @@ -17,4 +18,8 @@ object AppChecker { fun isCatkingApp(context: Context): Boolean { return context.getString(R.string.testpress_site_subdomain) == "catking" } + + fun isSignupDisabledForSubdomain(context: Context): Boolean { + return Constants.DISALLOWED_SIGNUP_SUBDOMAINS.contains(context.getString(R.string.testpress_site_subdomain)) + } } \ No newline at end of file