summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.Android/Platform.cs
diff options
context:
space:
mode:
authorJimmy Garrido <jimmygarrido@outlook.com>2017-06-22 11:49:39 -0700
committerRui Marinho <me@ruimarinho.net>2017-06-22 19:50:44 +0100
commit334ccc47a158dd1090706491068fc5f8833de077 (patch)
tree007fa67c1395e08422e41b6f8945f33eeab5fda7 /Xamarin.Forms.Platform.Android/Platform.cs
parent595344f31aa108275bfbef9abc6a3ae68b79c52b (diff)
downloadxamarin-forms-334ccc47a158dd1090706491068fc5f8833de077.tar.gz
xamarin-forms-334ccc47a158dd1090706491068fc5f8833de077.tar.bz2
xamarin-forms-334ccc47a158dd1090706491068fc5f8833de077.zip
Fix possible crash on API 21+ at launch when using Holo theme and FormsApplicationActivity (#961)
* Fix possible crash on API 21+ at launch * Do not use an explicit cast * Do not use C# 7 pattern matching
Diffstat (limited to 'Xamarin.Forms.Platform.Android/Platform.cs')
-rw-r--r--Xamarin.Forms.Platform.Android/Platform.cs24
1 files changed, 14 insertions, 10 deletions
diff --git a/Xamarin.Forms.Platform.Android/Platform.cs b/Xamarin.Forms.Platform.Android/Platform.cs
index add84eb6..fe588eb8 100644
--- a/Xamarin.Forms.Platform.Android/Platform.cs
+++ b/Xamarin.Forms.Platform.Android/Platform.cs
@@ -847,24 +847,28 @@ namespace Xamarin.Forms.Platform.Android
Color navigationBarTextColor = CurrentNavigationPage == null ? Color.Default : CurrentNavigationPage.BarTextColor;
TextView actionBarTitleTextView = null;
- if(Forms.IsLollipopOrNewer)
+ if (Forms.IsLollipopOrNewer)
{
int actionbarId = _context.Resources.GetIdentifier("action_bar", "id", "android");
- if(actionbarId > 0)
+ if (actionbarId > 0)
{
- Toolbar toolbar = (Toolbar)((Activity)_context).FindViewById(actionbarId);
-
- for( int i = 0; i < toolbar.ChildCount; i++ )
+ var toolbar = ((Activity)_context).FindViewById(actionbarId) as ViewGroup;
+ if (toolbar != null)
{
- if( toolbar.GetChildAt(i) is TextView )
+ for (int i = 0; i < toolbar.ChildCount; i++)
{
- actionBarTitleTextView = (TextView)toolbar.GetChildAt(i);
- break;
+ var textView = toolbar.GetChildAt(i) as TextView;
+ if (textView != null)
+ {
+ actionBarTitleTextView = textView;
+ break;
+ }
}
}
}
- }
- else
+ }
+
+ if (actionBarTitleTextView == null)
{
int actionBarTitleId = _context.Resources.GetIdentifier("action_bar_title", "id", "android");
if (actionBarTitleId > 0)