Merge pull request #1543 from aws-lumberyard-dev/native-ui-changes

More specific component error messaging and modes for native UI to prevent blocking dialog in some applications
This commit is contained in:
amzn-mgwynn
2021-06-25 19:18:03 -04:00
committed by GitHub
17 changed files with 194 additions and 37 deletions
@@ -19,6 +19,11 @@ namespace AZ
{
AZStd::string NativeUISystem::DisplayBlockingDialog(const AZStd::string& title, const AZStd::string& message, const AZStd::vector<AZStd::string>& options) const
{
if (m_mode == NativeUI::Mode::DISABLED)
{
return {};
}
AZ::Android::JNI::Object object("com/amazon/lumberyard/NativeUI/LumberyardNativeUI");
object.RegisterStaticMethod("DisplayDialog", "(Landroid/app/Activity;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V");
object.RegisterStaticMethod("GetUserSelection", "()Ljava/lang/String;");
@@ -23,6 +23,11 @@ namespace AZ
{
AZStd::string NativeUISystem::DisplayBlockingDialog(const AZStd::string& title, const AZStd::string& message, const AZStd::vector<AZStd::string>& options) const
{
if (m_mode == NativeUI::Mode::DISABLED)
{
return {};
}
__block NSModalResponse response = -1;
auto showDialog = ^()
@@ -242,6 +242,11 @@ namespace AZ
{
AZStd::string NativeUISystem::DisplayBlockingDialog(const AZStd::string& title, const AZStd::string& message, const AZStd::vector<AZStd::string>& options) const
{
if (m_mode == NativeUI::Mode::DISABLED)
{
return {};
}
if (options.size() >= MAX_ITEMS)
{
AZ_Assert(false, "Cannot create dialog box with more than %d buttons", (MAX_ITEMS - 1));
@@ -15,6 +15,11 @@ namespace AZ
{
AZStd::string NativeUISystem::DisplayBlockingDialog(const AZStd::string& title, const AZStd::string& message, const AZStd::vector<AZStd::string>& options) const
{
if (m_mode == NativeUI::Mode::DISABLED)
{
return {};
}
__block AZStd::string userSelection = "";
NSString* nsTitle = [NSString stringWithUTF8String:title.c_str()];