diff --git a/src/Android/Android.csproj b/src/Android/Android.csproj index 21959310c..a6480cb57 100644 --- a/src/Android/Android.csproj +++ b/src/Android/Android.csproj @@ -73,6 +73,10 @@ + + False + .\Naxam.Ittianyu.BottomNavExtension.dll + @@ -924,5 +928,8 @@ + + + \ No newline at end of file diff --git a/src/Android/Controls/ExtendedTabbedPageRenderer.cs b/src/Android/Controls/ExtendedTabbedPageRenderer.cs index 846671128..510a2ca24 100644 --- a/src/Android/Controls/ExtendedTabbedPageRenderer.cs +++ b/src/Android/Controls/ExtendedTabbedPageRenderer.cs @@ -2,94 +2,427 @@ using Bit.Android.Controls; using Bit.App.Controls; using Xamarin.Forms; +using Com.Ittianyu.Bottomnavigationviewex; using Xamarin.Forms.Platform.Android; -using Android.Support.Design.Widget; -using Xamarin.Forms.Platform.Android.AppCompat; -using System.Reflection; -using System.Linq; +using RelativeLayout = Android.Widget.RelativeLayout; +using Platform = Xamarin.Forms.Platform.Android.Platform; using Android.Content; +using Android.Views; +using Android.Widget; +using Android.Support.Design.Internal; +using System.IO; +using System.Linq; +using System.ComponentModel; +using Android.Support.Design.Widget; [assembly: ExportRenderer(typeof(ExtendedTabbedPage), typeof(ExtendedTabbedPageRenderer))] namespace Bit.Android.Controls { - public class ExtendedTabbedPageRenderer : TabbedPageRenderer, TabLayout.IOnTabSelectedListener + public class ExtendedTabbedPageRenderer : VisualElementRenderer, + BottomNavigationView.IOnNavigationItemSelectedListener { - private TabLayout _tabLayout; + public static bool ShouldUpdateSelectedIcon; + public static Action MenuItemIconSetter; + public static float? BottomBarHeight = 50; + + private RelativeLayout _rootLayout; + private FrameLayout _pageContainer; + private BottomNavigationViewEx _bottomNav; + private readonly int _barId; + + public static global::Android.Graphics.Color? BackgroundColor; public ExtendedTabbedPageRenderer(Context context) : base(context) - { } + { + AutoPackage = false; + _barId = GenerateViewId(); + } - protected override void OnElementChanged(ElementChangedEventArgs e) + IPageController TabbedController => Element as IPageController; + public int LastSelectedIndex { get; internal set; } + + public bool OnNavigationItemSelected(IMenuItem item) + { + this.SwitchPage(item); + return true; + } + + internal void SetupTabItems() + { + this.SetupTabItems(_bottomNav); + } + + internal void SetupBottomBar() + { + _bottomNav = this.SetupBottomBar(_rootLayout, _bottomNav, _barId); + } + + public static readonly Action DefaultMenuItemIconSetter = (menuItem, icon, selected) => + { + var tabIconId = ResourceUtils.IdFromTitle(icon, ResourceManager.DrawableClass); + menuItem.SetIcon(tabIconId); + }; + + protected override void OnElementChanged(ElementChangedEventArgs e) { base.OnElementChanged(e); - var view = (ExtendedTabbedPage)Element; - var field = typeof(ExtendedTabbedPageRenderer).BaseType.GetField("_tabLayout", - BindingFlags.Instance | BindingFlags.NonPublic); - _tabLayout = field?.GetValue(this) as TabLayout; - if(_tabLayout != null) + if(e.OldElement != null) { - var tab = _tabLayout.GetTabAt(0); - SetSelectedTabIcon(tab, Element.Children[0].Icon, true); + e.OldElement.ChildAdded -= PagesChanged; + e.OldElement.ChildRemoved -= PagesChanged; + e.OldElement.ChildrenReordered -= PagesChanged; } - } - void TabLayout.IOnTabSelectedListener.OnTabSelected(TabLayout.Tab tab) - { - if(Element == null) + if(e.NewElement == null) { return; } - var selectedIndex = tab.Position; - var child = Element.Children[selectedIndex]; - if(Element.Children.Count > selectedIndex && selectedIndex >= 0) + UpdateIgnoreContainerAreas(); + + if(_rootLayout == null) { - Element.CurrentPage = Element.Children[selectedIndex]; + SetupNativeView(); } - SetSelectedTabIcon(tab, child.Icon, true); + this.HandlePagesChanged(); + SwitchContent(Element.CurrentPage); + + Element.ChildAdded += PagesChanged; + Element.ChildRemoved += PagesChanged; + Element.ChildrenReordered += PagesChanged; } - void TabLayout.IOnTabSelectedListener.OnTabUnselected(TabLayout.Tab tab) + protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e) { - var child = Element.Children[tab.Position]; - SetSelectedTabIcon(tab, child.Icon, false); + base.OnElementPropertyChanged(sender, e); + if(e.PropertyName == nameof(TabbedPage.CurrentPage)) + { + SwitchContent(Element.CurrentPage); + } } - private void SetSelectedTabIcon(TabLayout.Tab tab, string icon, bool selected) + void PagesChanged(object sender, EventArgs e) { - if(string.IsNullOrEmpty(icon)) + this.HandlePagesChanged(); + } + + protected override void OnAttachedToWindow() + { + base.OnAttachedToWindow(); + TabbedController?.SendAppearing(); + } + + protected override void OnDetachedFromWindow() + { + base.OnDetachedFromWindow(); + TabbedController?.SendDisappearing(); + } + + protected override void OnLayout(bool changed, int left, int top, int right, int bottom) + { + var width = right - left; + var height = bottom - top; + + base.OnLayout(changed, left, top, right, bottom); + if(width <= 0 || height <= 0) { return; } - if(selected) + this.Layout(width, height); + } + + protected override void Dispose(bool disposing) + { + if(disposing) { - var selectedIcon = string.Format("{0}_selected", icon.Replace(".png", string.Empty)); - var selectedResource = IdFromTitle(selectedIcon, ResourceManager.DrawableClass); - if(selectedResource != 0) + Element.ChildAdded -= PagesChanged; + Element.ChildRemoved -= PagesChanged; + Element.ChildrenReordered -= PagesChanged; + + if(_rootLayout != null) { - tab.SetIcon(selectedResource); - return; + RemoveAllViews(); + foreach(Page pageToRemove in Element.Children) + { + var pageRenderer = Platform.GetRenderer(pageToRemove); + if(pageRenderer != null) + { + pageRenderer.View.RemoveFromParent(); + pageRenderer.Dispose(); + } + } + + if(_bottomNav != null) + { + _bottomNav.SetOnNavigationItemSelectedListener(null); + _bottomNav.Dispose(); + _bottomNav = null; + } + _rootLayout.Dispose(); + _rootLayout = null; } } - var resource = IdFromTitle(icon, ResourceManager.DrawableClass); - tab.SetIcon(resource); + base.Dispose(disposing); } - private int IdFromTitle(string title, Type type) + internal void SetupNativeView() { - var name = System.IO.Path.GetFileNameWithoutExtension(title); - return GetId(type, name); + _rootLayout = this.CreateRoot(_barId, GenerateViewId(), out _pageContainer); + AddView(_rootLayout); } - private int GetId(Type type, string propertyName) + void SwitchContent(Page page) + { + this.ChangePage(_pageContainer, page); + } + + void UpdateIgnoreContainerAreas() + { + foreach(var child in Element.Children) + { + child.IgnoresContainerArea = false; + } + } + } + + internal static class TabExtensions + { + public static Rectangle CreateRect(this Context context, int width, int height) + { + return new Rectangle(0, 0, context.FromPixels(width), context.FromPixels(height)); + } + + public static void HandlePagesChanged(this ExtendedTabbedPageRenderer renderer) + { + renderer.SetupBottomBar(); + renderer.SetupTabItems(); + + if(renderer.Element.Children.Count == 0) + { + return; + } + + EnsureTabIndex(renderer); + } + + static void EnsureTabIndex(ExtendedTabbedPageRenderer renderer) + { + var rootLayout = (RelativeLayout)renderer.GetChildAt(0); + var bottomNav = (BottomNavigationViewEx)rootLayout.GetChildAt(1); + var menu = (BottomNavigationMenu)bottomNav.Menu; + + var itemIndex = menu.FindItemIndex(bottomNav.SelectedItemId); + var pageIndex = renderer.Element.Children.IndexOf(renderer.Element.CurrentPage); + if(pageIndex >= 0 && pageIndex != itemIndex && pageIndex < bottomNav.ItemCount) + { + var menuItem = menu.GetItem(pageIndex); + bottomNav.SelectedItemId = menuItem.ItemId; + + if(ExtendedTabbedPageRenderer.ShouldUpdateSelectedIcon && ExtendedTabbedPageRenderer.MenuItemIconSetter != null) + { + ExtendedTabbedPageRenderer.MenuItemIconSetter?.Invoke(menuItem, renderer.Element.CurrentPage.Icon, true); + + if(renderer.LastSelectedIndex != pageIndex) + { + var lastSelectedPage = renderer.Element.Children[renderer.LastSelectedIndex]; + var lastSelectedMenuItem = menu.GetItem(renderer.LastSelectedIndex); + ExtendedTabbedPageRenderer.MenuItemIconSetter?.Invoke(lastSelectedMenuItem, lastSelectedPage.Icon, false); + renderer.LastSelectedIndex = pageIndex; + } + } + } + } + + public static void SwitchPage(this ExtendedTabbedPageRenderer renderer, IMenuItem item) + { + var rootLayout = (RelativeLayout)renderer.GetChildAt(0); + var bottomNav = (BottomNavigationViewEx)rootLayout.GetChildAt(1); + var menu = (BottomNavigationMenu)bottomNav.Menu; + + var index = menu.FindItemIndex(item.ItemId); + var pageIndex = index % renderer.Element.Children.Count; + var currentPageIndex = renderer.Element.Children.IndexOf(renderer.Element.CurrentPage); + + if(currentPageIndex != pageIndex) + { + renderer.Element.CurrentPage = renderer.Element.Children[pageIndex]; + } + } + + public static void Layout(this ExtendedTabbedPageRenderer renderer, int width, int height) + { + var rootLayout = (RelativeLayout)renderer.GetChildAt(0); + var bottomNav = (BottomNavigationViewEx)rootLayout.GetChildAt(1); + + var Context = renderer.Context; + + rootLayout.Measure(MakeMeasureSpec(width, MeasureSpecMode.Exactly), + MakeMeasureSpec(height, MeasureSpecMode.AtMost)); + + ((IPageController)renderer.Element).ContainerArea = + Context.CreateRect(rootLayout.MeasuredWidth, rootLayout.GetChildAt(0).MeasuredHeight); + + rootLayout.Measure(MakeMeasureSpec(width, MeasureSpecMode.Exactly), + MakeMeasureSpec(height, MeasureSpecMode.Exactly)); + rootLayout.Layout(0, 0, rootLayout.MeasuredWidth, rootLayout.MeasuredHeight); + + if(renderer.Element.Children.Count == 0) + { + return; + } + + int tabsHeight = bottomNav.MeasuredHeight; + + var item = (ViewGroup)bottomNav.GetChildAt(0); + item.Measure(MakeMeasureSpec(width, MeasureSpecMode.Exactly), + MakeMeasureSpec(tabsHeight, MeasureSpecMode.Exactly)); + + item.Layout(0, 0, width, tabsHeight); + int item_w = width / item.ChildCount; + for(int i = 0; i < item.ChildCount; i++) + { + var frame = (FrameLayout)item.GetChildAt(i); + frame.Measure(MakeMeasureSpec(item_w, MeasureSpecMode.Exactly), + MakeMeasureSpec(tabsHeight, MeasureSpecMode.Exactly)); + frame.Layout(i * item_w, 0, i * item_w + item_w, tabsHeight); + } + } + + public static void SetupTabItems(this ExtendedTabbedPageRenderer renderer, BottomNavigationViewEx bottomNav) + { + var element = renderer.Element; + var menu = (BottomNavigationMenu)bottomNav.Menu; + menu.ClearAll(); + + var tabsCount = Math.Min(element.Children.Count, bottomNav.MaxItemCount); + for(int i = 0; i < tabsCount; i++) + { + var page = element.Children[i]; + var menuItem = menu.Add(0, i, 0, page.Title); + var setter = ExtendedTabbedPageRenderer.MenuItemIconSetter ?? ExtendedTabbedPageRenderer.DefaultMenuItemIconSetter; + setter.Invoke(menuItem, page.Icon, renderer.LastSelectedIndex == i); + } + + if(element.Children.Count > 0) + { + bottomNav.EnableShiftingMode(false); + bottomNav.EnableItemShiftingMode(false); + bottomNav.EnableAnimation(false); + bottomNav.SetTextVisibility(false); + bottomNav.SetIconsMarginTop(30); + bottomNav.SetBackgroundResource(Resource.Drawable.bottom_nav_bg); + + var stateList = new global::Android.Content.Res.ColorStateList( + new int[][] { + new int[] { global::Android.Resource.Attribute.StateChecked }, + new int[] { global::Android.Resource.Attribute.StateEnabled} + }, + new int[] { + element.TintColor.ToAndroid(), // Selected + Color.FromHex("A1A1A1").ToAndroid() // Normal + }); + + bottomNav.ItemIconTintList = stateList; + } + } + + public static BottomNavigationViewEx SetupBottomBar(this ExtendedTabbedPageRenderer renderer, + global::Android.Widget.RelativeLayout rootLayout, BottomNavigationViewEx bottomNav, int barId) + { + if(bottomNav != null) + { + rootLayout.RemoveView(bottomNav); + bottomNav.SetOnNavigationItemSelectedListener(null); + } + + var barParams = new global::Android.Widget.RelativeLayout.LayoutParams( + ViewGroup.LayoutParams.MatchParent, + ExtendedTabbedPageRenderer.BottomBarHeight.HasValue ? + (int)rootLayout.Context.ToPixels(ExtendedTabbedPageRenderer.BottomBarHeight.Value) : + ViewGroup.LayoutParams.WrapContent); + barParams.AddRule(LayoutRules.AlignParentBottom); + bottomNav = new BottomNavigationViewEx(rootLayout.Context) + { + LayoutParameters = barParams, + Id = barId + }; + if(ExtendedTabbedPageRenderer.BackgroundColor.HasValue) + { + bottomNav.SetBackgroundColor(ExtendedTabbedPageRenderer.BackgroundColor.Value); + } + + bottomNav.SetOnNavigationItemSelectedListener(renderer); + rootLayout.AddView(bottomNav, 1, barParams); + + return bottomNav; + } + + public static void ChangePage(this ExtendedTabbedPageRenderer renderer, FrameLayout pageContainer, Page page) + { + renderer.Context.HideKeyboard(renderer); + if(page == null) + { + return; + } + + if(Platform.GetRenderer(page) == null) + { + Platform.SetRenderer(page, Platform.CreateRendererWithContext(page, renderer.Context)); + } + + var pageContent = Platform.GetRenderer(page).View; + pageContainer.AddView(pageContent); + if(pageContainer.ChildCount > 1) + { + pageContainer.RemoveViewAt(0); + } + + EnsureTabIndex(renderer); + } + + public static RelativeLayout CreateRoot(this ExtendedTabbedPageRenderer renderer, int barId, int pageContainerId, out FrameLayout pageContainer) + { + var rootLayout = new RelativeLayout(renderer.Context) + { + LayoutParameters = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent), + }; + + var pageParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent); + pageParams.AddRule(LayoutRules.Above, barId); + pageContainer = new FrameLayout(renderer.Context) + { + LayoutParameters = pageParams, + Id = pageContainerId + }; + + rootLayout.AddView(pageContainer, 0, pageParams); + return rootLayout; + } + + private static int MakeMeasureSpec(int size, MeasureSpecMode mode) + { + return size + (int)mode; + } + } + + public static class ResourceUtils + { + public static int IdFromTitle(string title, Type type) + { + var name = Path.GetFileNameWithoutExtension(title); + var id = GetId(type, name); + return id; + } + + public static int GetId(Type type, string propertyName) { var props = type.GetFields(); - var prop = props.FirstOrDefault(p => p.Name == propertyName); + var prop = props.Select(p => p).FirstOrDefault(p => p.Name == propertyName); if(prop != null) { return (int)prop.GetValue(type); diff --git a/src/Android/Naxam.Ittianyu.BottomNavExtension.dll b/src/Android/Naxam.Ittianyu.BottomNavExtension.dll new file mode 100644 index 000000000..88f7dc137 Binary files /dev/null and b/src/Android/Naxam.Ittianyu.BottomNavExtension.dll differ diff --git a/src/Android/Resources/Resource.Designer.cs b/src/Android/Resources/Resource.Designer.cs index 10bb3b663..3599d6745 100644 --- a/src/Android/Resources/Resource.Designer.cs +++ b/src/Android/Resources/Resource.Designer.cs @@ -2475,785 +2475,788 @@ namespace Bit.Android // aapt resource value: 0x7f02005b public const int avd_hide_password = 2130837595; - // aapt resource value: 0x7f02015a - public const int avd_hide_password_1 = 2130837850; - // aapt resource value: 0x7f02015b - public const int avd_hide_password_2 = 2130837851; + public const int avd_hide_password_1 = 2130837851; // aapt resource value: 0x7f02015c - public const int avd_hide_password_3 = 2130837852; + public const int avd_hide_password_2 = 2130837852; + + // aapt resource value: 0x7f02015d + public const int avd_hide_password_3 = 2130837853; // aapt resource value: 0x7f02005c public const int avd_show_password = 2130837596; - // aapt resource value: 0x7f02015d - public const int avd_show_password_1 = 2130837853; - // aapt resource value: 0x7f02015e - public const int avd_show_password_2 = 2130837854; + public const int avd_show_password_1 = 2130837854; // aapt resource value: 0x7f02015f - public const int avd_show_password_3 = 2130837855; + public const int avd_show_password_2 = 2130837855; + + // aapt resource value: 0x7f020160 + public const int avd_show_password_3 = 2130837856; // aapt resource value: 0x7f02005d - public const int camera = 2130837597; + public const int bottom_nav_bg = 2130837597; // aapt resource value: 0x7f02005e - public const int card = 2130837598; + public const int camera = 2130837598; // aapt resource value: 0x7f02005f - public const int clipboard = 2130837599; + public const int card = 2130837599; // aapt resource value: 0x7f020060 - public const int cloudup = 2130837600; + public const int clipboard = 2130837600; // aapt resource value: 0x7f020061 - public const int cog = 2130837601; + public const int cloudup = 2130837601; // aapt resource value: 0x7f020062 - public const int cogs = 2130837602; + public const int cog = 2130837602; // aapt resource value: 0x7f020063 - public const int cogs_selected = 2130837603; + public const int cogs = 2130837603; // aapt resource value: 0x7f020064 - public const int common_full_open_on_phone = 2130837604; + public const int cogs_selected = 2130837604; // aapt resource value: 0x7f020065 - public const int common_google_signin_btn_icon_dark = 2130837605; + public const int common_full_open_on_phone = 2130837605; // aapt resource value: 0x7f020066 - public const int common_google_signin_btn_icon_dark_focused = 2130837606; + public const int common_google_signin_btn_icon_dark = 2130837606; // aapt resource value: 0x7f020067 - public const int common_google_signin_btn_icon_dark_normal = 2130837607; + public const int common_google_signin_btn_icon_dark_focused = 2130837607; // aapt resource value: 0x7f020068 - public const int common_google_signin_btn_icon_dark_normal_background = 2130837608; + public const int common_google_signin_btn_icon_dark_normal = 2130837608; // aapt resource value: 0x7f020069 - public const int common_google_signin_btn_icon_disabled = 2130837609; + public const int common_google_signin_btn_icon_dark_normal_background = 2130837609; // aapt resource value: 0x7f02006a - public const int common_google_signin_btn_icon_light = 2130837610; + public const int common_google_signin_btn_icon_disabled = 2130837610; // aapt resource value: 0x7f02006b - public const int common_google_signin_btn_icon_light_focused = 2130837611; + public const int common_google_signin_btn_icon_light = 2130837611; // aapt resource value: 0x7f02006c - public const int common_google_signin_btn_icon_light_normal = 2130837612; + public const int common_google_signin_btn_icon_light_focused = 2130837612; // aapt resource value: 0x7f02006d - public const int common_google_signin_btn_icon_light_normal_background = 2130837613; + public const int common_google_signin_btn_icon_light_normal = 2130837613; // aapt resource value: 0x7f02006e - public const int common_google_signin_btn_text_dark = 2130837614; + public const int common_google_signin_btn_icon_light_normal_background = 2130837614; // aapt resource value: 0x7f02006f - public const int common_google_signin_btn_text_dark_focused = 2130837615; + public const int common_google_signin_btn_text_dark = 2130837615; // aapt resource value: 0x7f020070 - public const int common_google_signin_btn_text_dark_normal = 2130837616; + public const int common_google_signin_btn_text_dark_focused = 2130837616; // aapt resource value: 0x7f020071 - public const int common_google_signin_btn_text_dark_normal_background = 2130837617; + public const int common_google_signin_btn_text_dark_normal = 2130837617; // aapt resource value: 0x7f020072 - public const int common_google_signin_btn_text_disabled = 2130837618; + public const int common_google_signin_btn_text_dark_normal_background = 2130837618; // aapt resource value: 0x7f020073 - public const int common_google_signin_btn_text_light = 2130837619; + public const int common_google_signin_btn_text_disabled = 2130837619; // aapt resource value: 0x7f020074 - public const int common_google_signin_btn_text_light_focused = 2130837620; + public const int common_google_signin_btn_text_light = 2130837620; // aapt resource value: 0x7f020075 - public const int common_google_signin_btn_text_light_normal = 2130837621; + public const int common_google_signin_btn_text_light_focused = 2130837621; // aapt resource value: 0x7f020076 - public const int common_google_signin_btn_text_light_normal_background = 2130837622; + public const int common_google_signin_btn_text_light_normal = 2130837622; // aapt resource value: 0x7f020077 - public const int cube = 2130837623; + public const int common_google_signin_btn_text_light_normal_background = 2130837623; // aapt resource value: 0x7f020078 - public const int design_bottom_navigation_item_background = 2130837624; + public const int cube = 2130837624; // aapt resource value: 0x7f020079 - public const int design_fab_background = 2130837625; + public const int design_bottom_navigation_item_background = 2130837625; // aapt resource value: 0x7f02007a - public const int design_ic_visibility = 2130837626; + public const int design_fab_background = 2130837626; // aapt resource value: 0x7f02007b - public const int design_ic_visibility_off = 2130837627; + public const int design_ic_visibility = 2130837627; // aapt resource value: 0x7f02007c - public const int design_password_eye = 2130837628; + public const int design_ic_visibility_off = 2130837628; // aapt resource value: 0x7f02007d - public const int design_snackbar_background = 2130837629; + public const int design_password_eye = 2130837629; // aapt resource value: 0x7f02007e - public const int download = 2130837630; + public const int design_snackbar_background = 2130837630; // aapt resource value: 0x7f02007f - public const int envelope = 2130837631; + public const int download = 2130837631; // aapt resource value: 0x7f020080 - public const int eye = 2130837632; + public const int envelope = 2130837632; // aapt resource value: 0x7f020081 - public const int eye_slash = 2130837633; + public const int eye = 2130837633; // aapt resource value: 0x7f020082 - public const int fa_lock = 2130837634; + public const int eye_slash = 2130837634; // aapt resource value: 0x7f020083 - public const int fa_lock_selected = 2130837635; + public const int fa_lock = 2130837635; // aapt resource value: 0x7f020084 - public const int fingerprint = 2130837636; + public const int fa_lock_selected = 2130837636; // aapt resource value: 0x7f020085 - public const int fingerprint_white = 2130837637; + public const int fingerprint = 2130837637; // aapt resource value: 0x7f020086 - public const int folder = 2130837638; + public const int fingerprint_white = 2130837638; // aapt resource value: 0x7f020087 - public const int folder_o = 2130837639; + public const int folder = 2130837639; // aapt resource value: 0x7f020088 - public const int globe = 2130837640; + public const int folder_o = 2130837640; // aapt resource value: 0x7f020089 - public const int googleg_disabled_color_18 = 2130837641; + public const int globe = 2130837641; // aapt resource value: 0x7f02008a - public const int googleg_standard_color_18 = 2130837642; + public const int googleg_disabled_color_18 = 2130837642; // aapt resource value: 0x7f02008b - public const int hockeyapp_btn_background = 2130837643; + public const int googleg_standard_color_18 = 2130837643; // aapt resource value: 0x7f02008c - public const int ic_audiotrack_dark = 2130837644; + public const int hockeyapp_btn_background = 2130837644; // aapt resource value: 0x7f02008d - public const int ic_audiotrack_light = 2130837645; + public const int ic_audiotrack_dark = 2130837645; // aapt resource value: 0x7f02008e - public const int ic_dialog_close_dark = 2130837646; + public const int ic_audiotrack_light = 2130837646; // aapt resource value: 0x7f02008f - public const int ic_dialog_close_light = 2130837647; + public const int ic_dialog_close_dark = 2130837647; // aapt resource value: 0x7f020090 - public const int ic_group_collapse_00 = 2130837648; + public const int ic_dialog_close_light = 2130837648; // aapt resource value: 0x7f020091 - public const int ic_group_collapse_01 = 2130837649; + public const int ic_group_collapse_00 = 2130837649; // aapt resource value: 0x7f020092 - public const int ic_group_collapse_02 = 2130837650; + public const int ic_group_collapse_01 = 2130837650; // aapt resource value: 0x7f020093 - public const int ic_group_collapse_03 = 2130837651; + public const int ic_group_collapse_02 = 2130837651; // aapt resource value: 0x7f020094 - public const int ic_group_collapse_04 = 2130837652; + public const int ic_group_collapse_03 = 2130837652; // aapt resource value: 0x7f020095 - public const int ic_group_collapse_05 = 2130837653; + public const int ic_group_collapse_04 = 2130837653; // aapt resource value: 0x7f020096 - public const int ic_group_collapse_06 = 2130837654; + public const int ic_group_collapse_05 = 2130837654; // aapt resource value: 0x7f020097 - public const int ic_group_collapse_07 = 2130837655; + public const int ic_group_collapse_06 = 2130837655; // aapt resource value: 0x7f020098 - public const int ic_group_collapse_08 = 2130837656; + public const int ic_group_collapse_07 = 2130837656; // aapt resource value: 0x7f020099 - public const int ic_group_collapse_09 = 2130837657; + public const int ic_group_collapse_08 = 2130837657; // aapt resource value: 0x7f02009a - public const int ic_group_collapse_10 = 2130837658; + public const int ic_group_collapse_09 = 2130837658; // aapt resource value: 0x7f02009b - public const int ic_group_collapse_11 = 2130837659; + public const int ic_group_collapse_10 = 2130837659; // aapt resource value: 0x7f02009c - public const int ic_group_collapse_12 = 2130837660; + public const int ic_group_collapse_11 = 2130837660; // aapt resource value: 0x7f02009d - public const int ic_group_collapse_13 = 2130837661; + public const int ic_group_collapse_12 = 2130837661; // aapt resource value: 0x7f02009e - public const int ic_group_collapse_14 = 2130837662; + public const int ic_group_collapse_13 = 2130837662; // aapt resource value: 0x7f02009f - public const int ic_group_collapse_15 = 2130837663; + public const int ic_group_collapse_14 = 2130837663; // aapt resource value: 0x7f0200a0 - public const int ic_group_expand_00 = 2130837664; + public const int ic_group_collapse_15 = 2130837664; // aapt resource value: 0x7f0200a1 - public const int ic_group_expand_01 = 2130837665; + public const int ic_group_expand_00 = 2130837665; // aapt resource value: 0x7f0200a2 - public const int ic_group_expand_02 = 2130837666; + public const int ic_group_expand_01 = 2130837666; // aapt resource value: 0x7f0200a3 - public const int ic_group_expand_03 = 2130837667; + public const int ic_group_expand_02 = 2130837667; // aapt resource value: 0x7f0200a4 - public const int ic_group_expand_04 = 2130837668; + public const int ic_group_expand_03 = 2130837668; // aapt resource value: 0x7f0200a5 - public const int ic_group_expand_05 = 2130837669; + public const int ic_group_expand_04 = 2130837669; // aapt resource value: 0x7f0200a6 - public const int ic_group_expand_06 = 2130837670; + public const int ic_group_expand_05 = 2130837670; // aapt resource value: 0x7f0200a7 - public const int ic_group_expand_07 = 2130837671; + public const int ic_group_expand_06 = 2130837671; // aapt resource value: 0x7f0200a8 - public const int ic_group_expand_08 = 2130837672; + public const int ic_group_expand_07 = 2130837672; // aapt resource value: 0x7f0200a9 - public const int ic_group_expand_09 = 2130837673; + public const int ic_group_expand_08 = 2130837673; // aapt resource value: 0x7f0200aa - public const int ic_group_expand_10 = 2130837674; + public const int ic_group_expand_09 = 2130837674; // aapt resource value: 0x7f0200ab - public const int ic_group_expand_11 = 2130837675; + public const int ic_group_expand_10 = 2130837675; // aapt resource value: 0x7f0200ac - public const int ic_group_expand_12 = 2130837676; + public const int ic_group_expand_11 = 2130837676; // aapt resource value: 0x7f0200ad - public const int ic_group_expand_13 = 2130837677; + public const int ic_group_expand_12 = 2130837677; // aapt resource value: 0x7f0200ae - public const int ic_group_expand_14 = 2130837678; + public const int ic_group_expand_13 = 2130837678; // aapt resource value: 0x7f0200af - public const int ic_group_expand_15 = 2130837679; + public const int ic_group_expand_14 = 2130837679; // aapt resource value: 0x7f0200b0 - public const int ic_media_pause_dark = 2130837680; + public const int ic_group_expand_15 = 2130837680; // aapt resource value: 0x7f0200b1 - public const int ic_media_pause_light = 2130837681; + public const int ic_media_pause_dark = 2130837681; // aapt resource value: 0x7f0200b2 - public const int ic_media_play_dark = 2130837682; + public const int ic_media_pause_light = 2130837682; // aapt resource value: 0x7f0200b3 - public const int ic_media_play_light = 2130837683; + public const int ic_media_play_dark = 2130837683; // aapt resource value: 0x7f0200b4 - public const int ic_media_stop_dark = 2130837684; + public const int ic_media_play_light = 2130837684; // aapt resource value: 0x7f0200b5 - public const int ic_media_stop_light = 2130837685; + public const int ic_media_stop_dark = 2130837685; // aapt resource value: 0x7f0200b6 - public const int ic_mr_button_connected_00_dark = 2130837686; + public const int ic_media_stop_light = 2130837686; // aapt resource value: 0x7f0200b7 - public const int ic_mr_button_connected_00_light = 2130837687; + public const int ic_mr_button_connected_00_dark = 2130837687; // aapt resource value: 0x7f0200b8 - public const int ic_mr_button_connected_01_dark = 2130837688; + public const int ic_mr_button_connected_00_light = 2130837688; // aapt resource value: 0x7f0200b9 - public const int ic_mr_button_connected_01_light = 2130837689; + public const int ic_mr_button_connected_01_dark = 2130837689; // aapt resource value: 0x7f0200ba - public const int ic_mr_button_connected_02_dark = 2130837690; + public const int ic_mr_button_connected_01_light = 2130837690; // aapt resource value: 0x7f0200bb - public const int ic_mr_button_connected_02_light = 2130837691; + public const int ic_mr_button_connected_02_dark = 2130837691; // aapt resource value: 0x7f0200bc - public const int ic_mr_button_connected_03_dark = 2130837692; + public const int ic_mr_button_connected_02_light = 2130837692; // aapt resource value: 0x7f0200bd - public const int ic_mr_button_connected_03_light = 2130837693; + public const int ic_mr_button_connected_03_dark = 2130837693; // aapt resource value: 0x7f0200be - public const int ic_mr_button_connected_04_dark = 2130837694; + public const int ic_mr_button_connected_03_light = 2130837694; // aapt resource value: 0x7f0200bf - public const int ic_mr_button_connected_04_light = 2130837695; + public const int ic_mr_button_connected_04_dark = 2130837695; // aapt resource value: 0x7f0200c0 - public const int ic_mr_button_connected_05_dark = 2130837696; + public const int ic_mr_button_connected_04_light = 2130837696; // aapt resource value: 0x7f0200c1 - public const int ic_mr_button_connected_05_light = 2130837697; + public const int ic_mr_button_connected_05_dark = 2130837697; // aapt resource value: 0x7f0200c2 - public const int ic_mr_button_connected_06_dark = 2130837698; + public const int ic_mr_button_connected_05_light = 2130837698; // aapt resource value: 0x7f0200c3 - public const int ic_mr_button_connected_06_light = 2130837699; + public const int ic_mr_button_connected_06_dark = 2130837699; // aapt resource value: 0x7f0200c4 - public const int ic_mr_button_connected_07_dark = 2130837700; + public const int ic_mr_button_connected_06_light = 2130837700; // aapt resource value: 0x7f0200c5 - public const int ic_mr_button_connected_07_light = 2130837701; + public const int ic_mr_button_connected_07_dark = 2130837701; // aapt resource value: 0x7f0200c6 - public const int ic_mr_button_connected_08_dark = 2130837702; + public const int ic_mr_button_connected_07_light = 2130837702; // aapt resource value: 0x7f0200c7 - public const int ic_mr_button_connected_08_light = 2130837703; + public const int ic_mr_button_connected_08_dark = 2130837703; // aapt resource value: 0x7f0200c8 - public const int ic_mr_button_connected_09_dark = 2130837704; + public const int ic_mr_button_connected_08_light = 2130837704; // aapt resource value: 0x7f0200c9 - public const int ic_mr_button_connected_09_light = 2130837705; + public const int ic_mr_button_connected_09_dark = 2130837705; // aapt resource value: 0x7f0200ca - public const int ic_mr_button_connected_10_dark = 2130837706; + public const int ic_mr_button_connected_09_light = 2130837706; // aapt resource value: 0x7f0200cb - public const int ic_mr_button_connected_10_light = 2130837707; + public const int ic_mr_button_connected_10_dark = 2130837707; // aapt resource value: 0x7f0200cc - public const int ic_mr_button_connected_11_dark = 2130837708; + public const int ic_mr_button_connected_10_light = 2130837708; // aapt resource value: 0x7f0200cd - public const int ic_mr_button_connected_11_light = 2130837709; + public const int ic_mr_button_connected_11_dark = 2130837709; // aapt resource value: 0x7f0200ce - public const int ic_mr_button_connected_12_dark = 2130837710; + public const int ic_mr_button_connected_11_light = 2130837710; // aapt resource value: 0x7f0200cf - public const int ic_mr_button_connected_12_light = 2130837711; + public const int ic_mr_button_connected_12_dark = 2130837711; // aapt resource value: 0x7f0200d0 - public const int ic_mr_button_connected_13_dark = 2130837712; + public const int ic_mr_button_connected_12_light = 2130837712; // aapt resource value: 0x7f0200d1 - public const int ic_mr_button_connected_13_light = 2130837713; + public const int ic_mr_button_connected_13_dark = 2130837713; // aapt resource value: 0x7f0200d2 - public const int ic_mr_button_connected_14_dark = 2130837714; + public const int ic_mr_button_connected_13_light = 2130837714; // aapt resource value: 0x7f0200d3 - public const int ic_mr_button_connected_14_light = 2130837715; + public const int ic_mr_button_connected_14_dark = 2130837715; // aapt resource value: 0x7f0200d4 - public const int ic_mr_button_connected_15_dark = 2130837716; + public const int ic_mr_button_connected_14_light = 2130837716; // aapt resource value: 0x7f0200d5 - public const int ic_mr_button_connected_15_light = 2130837717; + public const int ic_mr_button_connected_15_dark = 2130837717; // aapt resource value: 0x7f0200d6 - public const int ic_mr_button_connected_16_dark = 2130837718; + public const int ic_mr_button_connected_15_light = 2130837718; // aapt resource value: 0x7f0200d7 - public const int ic_mr_button_connected_16_light = 2130837719; + public const int ic_mr_button_connected_16_dark = 2130837719; // aapt resource value: 0x7f0200d8 - public const int ic_mr_button_connected_17_dark = 2130837720; + public const int ic_mr_button_connected_16_light = 2130837720; // aapt resource value: 0x7f0200d9 - public const int ic_mr_button_connected_17_light = 2130837721; + public const int ic_mr_button_connected_17_dark = 2130837721; // aapt resource value: 0x7f0200da - public const int ic_mr_button_connected_18_dark = 2130837722; + public const int ic_mr_button_connected_17_light = 2130837722; // aapt resource value: 0x7f0200db - public const int ic_mr_button_connected_18_light = 2130837723; + public const int ic_mr_button_connected_18_dark = 2130837723; // aapt resource value: 0x7f0200dc - public const int ic_mr_button_connected_19_dark = 2130837724; + public const int ic_mr_button_connected_18_light = 2130837724; // aapt resource value: 0x7f0200dd - public const int ic_mr_button_connected_19_light = 2130837725; + public const int ic_mr_button_connected_19_dark = 2130837725; // aapt resource value: 0x7f0200de - public const int ic_mr_button_connected_20_dark = 2130837726; + public const int ic_mr_button_connected_19_light = 2130837726; // aapt resource value: 0x7f0200df - public const int ic_mr_button_connected_20_light = 2130837727; + public const int ic_mr_button_connected_20_dark = 2130837727; // aapt resource value: 0x7f0200e0 - public const int ic_mr_button_connected_21_dark = 2130837728; + public const int ic_mr_button_connected_20_light = 2130837728; // aapt resource value: 0x7f0200e1 - public const int ic_mr_button_connected_21_light = 2130837729; + public const int ic_mr_button_connected_21_dark = 2130837729; // aapt resource value: 0x7f0200e2 - public const int ic_mr_button_connected_22_dark = 2130837730; + public const int ic_mr_button_connected_21_light = 2130837730; // aapt resource value: 0x7f0200e3 - public const int ic_mr_button_connected_22_light = 2130837731; + public const int ic_mr_button_connected_22_dark = 2130837731; // aapt resource value: 0x7f0200e4 - public const int ic_mr_button_connecting_00_dark = 2130837732; + public const int ic_mr_button_connected_22_light = 2130837732; // aapt resource value: 0x7f0200e5 - public const int ic_mr_button_connecting_00_light = 2130837733; + public const int ic_mr_button_connecting_00_dark = 2130837733; // aapt resource value: 0x7f0200e6 - public const int ic_mr_button_connecting_01_dark = 2130837734; + public const int ic_mr_button_connecting_00_light = 2130837734; // aapt resource value: 0x7f0200e7 - public const int ic_mr_button_connecting_01_light = 2130837735; + public const int ic_mr_button_connecting_01_dark = 2130837735; // aapt resource value: 0x7f0200e8 - public const int ic_mr_button_connecting_02_dark = 2130837736; + public const int ic_mr_button_connecting_01_light = 2130837736; // aapt resource value: 0x7f0200e9 - public const int ic_mr_button_connecting_02_light = 2130837737; + public const int ic_mr_button_connecting_02_dark = 2130837737; // aapt resource value: 0x7f0200ea - public const int ic_mr_button_connecting_03_dark = 2130837738; + public const int ic_mr_button_connecting_02_light = 2130837738; // aapt resource value: 0x7f0200eb - public const int ic_mr_button_connecting_03_light = 2130837739; + public const int ic_mr_button_connecting_03_dark = 2130837739; // aapt resource value: 0x7f0200ec - public const int ic_mr_button_connecting_04_dark = 2130837740; + public const int ic_mr_button_connecting_03_light = 2130837740; // aapt resource value: 0x7f0200ed - public const int ic_mr_button_connecting_04_light = 2130837741; + public const int ic_mr_button_connecting_04_dark = 2130837741; // aapt resource value: 0x7f0200ee - public const int ic_mr_button_connecting_05_dark = 2130837742; + public const int ic_mr_button_connecting_04_light = 2130837742; // aapt resource value: 0x7f0200ef - public const int ic_mr_button_connecting_05_light = 2130837743; + public const int ic_mr_button_connecting_05_dark = 2130837743; // aapt resource value: 0x7f0200f0 - public const int ic_mr_button_connecting_06_dark = 2130837744; + public const int ic_mr_button_connecting_05_light = 2130837744; // aapt resource value: 0x7f0200f1 - public const int ic_mr_button_connecting_06_light = 2130837745; + public const int ic_mr_button_connecting_06_dark = 2130837745; // aapt resource value: 0x7f0200f2 - public const int ic_mr_button_connecting_07_dark = 2130837746; + public const int ic_mr_button_connecting_06_light = 2130837746; // aapt resource value: 0x7f0200f3 - public const int ic_mr_button_connecting_07_light = 2130837747; + public const int ic_mr_button_connecting_07_dark = 2130837747; // aapt resource value: 0x7f0200f4 - public const int ic_mr_button_connecting_08_dark = 2130837748; + public const int ic_mr_button_connecting_07_light = 2130837748; // aapt resource value: 0x7f0200f5 - public const int ic_mr_button_connecting_08_light = 2130837749; + public const int ic_mr_button_connecting_08_dark = 2130837749; // aapt resource value: 0x7f0200f6 - public const int ic_mr_button_connecting_09_dark = 2130837750; + public const int ic_mr_button_connecting_08_light = 2130837750; // aapt resource value: 0x7f0200f7 - public const int ic_mr_button_connecting_09_light = 2130837751; + public const int ic_mr_button_connecting_09_dark = 2130837751; // aapt resource value: 0x7f0200f8 - public const int ic_mr_button_connecting_10_dark = 2130837752; + public const int ic_mr_button_connecting_09_light = 2130837752; // aapt resource value: 0x7f0200f9 - public const int ic_mr_button_connecting_10_light = 2130837753; + public const int ic_mr_button_connecting_10_dark = 2130837753; // aapt resource value: 0x7f0200fa - public const int ic_mr_button_connecting_11_dark = 2130837754; + public const int ic_mr_button_connecting_10_light = 2130837754; // aapt resource value: 0x7f0200fb - public const int ic_mr_button_connecting_11_light = 2130837755; + public const int ic_mr_button_connecting_11_dark = 2130837755; // aapt resource value: 0x7f0200fc - public const int ic_mr_button_connecting_12_dark = 2130837756; + public const int ic_mr_button_connecting_11_light = 2130837756; // aapt resource value: 0x7f0200fd - public const int ic_mr_button_connecting_12_light = 2130837757; + public const int ic_mr_button_connecting_12_dark = 2130837757; // aapt resource value: 0x7f0200fe - public const int ic_mr_button_connecting_13_dark = 2130837758; + public const int ic_mr_button_connecting_12_light = 2130837758; // aapt resource value: 0x7f0200ff - public const int ic_mr_button_connecting_13_light = 2130837759; + public const int ic_mr_button_connecting_13_dark = 2130837759; // aapt resource value: 0x7f020100 - public const int ic_mr_button_connecting_14_dark = 2130837760; + public const int ic_mr_button_connecting_13_light = 2130837760; // aapt resource value: 0x7f020101 - public const int ic_mr_button_connecting_14_light = 2130837761; + public const int ic_mr_button_connecting_14_dark = 2130837761; // aapt resource value: 0x7f020102 - public const int ic_mr_button_connecting_15_dark = 2130837762; + public const int ic_mr_button_connecting_14_light = 2130837762; // aapt resource value: 0x7f020103 - public const int ic_mr_button_connecting_15_light = 2130837763; + public const int ic_mr_button_connecting_15_dark = 2130837763; // aapt resource value: 0x7f020104 - public const int ic_mr_button_connecting_16_dark = 2130837764; + public const int ic_mr_button_connecting_15_light = 2130837764; // aapt resource value: 0x7f020105 - public const int ic_mr_button_connecting_16_light = 2130837765; + public const int ic_mr_button_connecting_16_dark = 2130837765; // aapt resource value: 0x7f020106 - public const int ic_mr_button_connecting_17_dark = 2130837766; + public const int ic_mr_button_connecting_16_light = 2130837766; // aapt resource value: 0x7f020107 - public const int ic_mr_button_connecting_17_light = 2130837767; + public const int ic_mr_button_connecting_17_dark = 2130837767; // aapt resource value: 0x7f020108 - public const int ic_mr_button_connecting_18_dark = 2130837768; + public const int ic_mr_button_connecting_17_light = 2130837768; // aapt resource value: 0x7f020109 - public const int ic_mr_button_connecting_18_light = 2130837769; + public const int ic_mr_button_connecting_18_dark = 2130837769; // aapt resource value: 0x7f02010a - public const int ic_mr_button_connecting_19_dark = 2130837770; + public const int ic_mr_button_connecting_18_light = 2130837770; // aapt resource value: 0x7f02010b - public const int ic_mr_button_connecting_19_light = 2130837771; + public const int ic_mr_button_connecting_19_dark = 2130837771; // aapt resource value: 0x7f02010c - public const int ic_mr_button_connecting_20_dark = 2130837772; + public const int ic_mr_button_connecting_19_light = 2130837772; // aapt resource value: 0x7f02010d - public const int ic_mr_button_connecting_20_light = 2130837773; + public const int ic_mr_button_connecting_20_dark = 2130837773; // aapt resource value: 0x7f02010e - public const int ic_mr_button_connecting_21_dark = 2130837774; + public const int ic_mr_button_connecting_20_light = 2130837774; // aapt resource value: 0x7f02010f - public const int ic_mr_button_connecting_21_light = 2130837775; + public const int ic_mr_button_connecting_21_dark = 2130837775; // aapt resource value: 0x7f020110 - public const int ic_mr_button_connecting_22_dark = 2130837776; + public const int ic_mr_button_connecting_21_light = 2130837776; // aapt resource value: 0x7f020111 - public const int ic_mr_button_connecting_22_light = 2130837777; + public const int ic_mr_button_connecting_22_dark = 2130837777; // aapt resource value: 0x7f020112 - public const int ic_mr_button_disabled_dark = 2130837778; + public const int ic_mr_button_connecting_22_light = 2130837778; // aapt resource value: 0x7f020113 - public const int ic_mr_button_disabled_light = 2130837779; + public const int ic_mr_button_disabled_dark = 2130837779; // aapt resource value: 0x7f020114 - public const int ic_mr_button_disconnected_dark = 2130837780; + public const int ic_mr_button_disabled_light = 2130837780; // aapt resource value: 0x7f020115 - public const int ic_mr_button_disconnected_light = 2130837781; + public const int ic_mr_button_disconnected_dark = 2130837781; // aapt resource value: 0x7f020116 - public const int ic_mr_button_grey = 2130837782; + public const int ic_mr_button_disconnected_light = 2130837782; // aapt resource value: 0x7f020117 - public const int ic_vol_type_speaker_dark = 2130837783; + public const int ic_mr_button_grey = 2130837783; // aapt resource value: 0x7f020118 - public const int ic_vol_type_speaker_group_dark = 2130837784; + public const int ic_vol_type_speaker_dark = 2130837784; // aapt resource value: 0x7f020119 - public const int ic_vol_type_speaker_group_light = 2130837785; + public const int ic_vol_type_speaker_group_dark = 2130837785; // aapt resource value: 0x7f02011a - public const int ic_vol_type_speaker_light = 2130837786; + public const int ic_vol_type_speaker_group_light = 2130837786; // aapt resource value: 0x7f02011b - public const int ic_vol_type_tv_dark = 2130837787; + public const int ic_vol_type_speaker_light = 2130837787; // aapt resource value: 0x7f02011c - public const int ic_vol_type_tv_light = 2130837788; + public const int ic_vol_type_tv_dark = 2130837788; // aapt resource value: 0x7f02011d - public const int icon = 2130837789; + public const int ic_vol_type_tv_light = 2130837789; // aapt resource value: 0x7f02011e - public const int id = 2130837790; + public const int icon = 2130837790; // aapt resource value: 0x7f02011f - public const int ion_chevron_right = 2130837791; + public const int id = 2130837791; // aapt resource value: 0x7f020120 - public const int launch = 2130837792; + public const int ion_chevron_right = 2130837792; // aapt resource value: 0x7f020121 - public const int lightbulb = 2130837793; + public const int launch = 2130837793; // aapt resource value: 0x7f020122 - public const int list_selector = 2130837794; + public const int lightbulb = 2130837794; // aapt resource value: 0x7f020123 - public const int @lock = 2130837795; + public const int list_selector = 2130837795; // aapt resource value: 0x7f020124 - public const int login = 2130837796; + public const int @lock = 2130837796; // aapt resource value: 0x7f020125 - public const int logo = 2130837797; + public const int login = 2130837797; // aapt resource value: 0x7f020126 - public const int more = 2130837798; + public const int logo = 2130837798; // aapt resource value: 0x7f020127 - public const int mr_button_connected_dark = 2130837799; + public const int more = 2130837799; // aapt resource value: 0x7f020128 - public const int mr_button_connected_light = 2130837800; + public const int mr_button_connected_dark = 2130837800; // aapt resource value: 0x7f020129 - public const int mr_button_connecting_dark = 2130837801; + public const int mr_button_connected_light = 2130837801; // aapt resource value: 0x7f02012a - public const int mr_button_connecting_light = 2130837802; + public const int mr_button_connecting_dark = 2130837802; // aapt resource value: 0x7f02012b - public const int mr_button_dark = 2130837803; + public const int mr_button_connecting_light = 2130837803; // aapt resource value: 0x7f02012c - public const int mr_button_light = 2130837804; + public const int mr_button_dark = 2130837804; // aapt resource value: 0x7f02012d - public const int mr_dialog_close_dark = 2130837805; + public const int mr_button_light = 2130837805; // aapt resource value: 0x7f02012e - public const int mr_dialog_close_light = 2130837806; + public const int mr_dialog_close_dark = 2130837806; // aapt resource value: 0x7f02012f - public const int mr_dialog_material_background_dark = 2130837807; + public const int mr_dialog_close_light = 2130837807; // aapt resource value: 0x7f020130 - public const int mr_dialog_material_background_light = 2130837808; + public const int mr_dialog_material_background_dark = 2130837808; // aapt resource value: 0x7f020131 - public const int mr_group_collapse = 2130837809; + public const int mr_dialog_material_background_light = 2130837809; // aapt resource value: 0x7f020132 - public const int mr_group_expand = 2130837810; + public const int mr_group_collapse = 2130837810; // aapt resource value: 0x7f020133 - public const int mr_media_pause_dark = 2130837811; + public const int mr_group_expand = 2130837811; // aapt resource value: 0x7f020134 - public const int mr_media_pause_light = 2130837812; + public const int mr_media_pause_dark = 2130837812; // aapt resource value: 0x7f020135 - public const int mr_media_play_dark = 2130837813; + public const int mr_media_pause_light = 2130837813; // aapt resource value: 0x7f020136 - public const int mr_media_play_light = 2130837814; + public const int mr_media_play_dark = 2130837814; // aapt resource value: 0x7f020137 - public const int mr_media_stop_dark = 2130837815; + public const int mr_media_play_light = 2130837815; // aapt resource value: 0x7f020138 - public const int mr_media_stop_light = 2130837816; + public const int mr_media_stop_dark = 2130837816; // aapt resource value: 0x7f020139 - public const int mr_vol_type_audiotrack_dark = 2130837817; + public const int mr_media_stop_light = 2130837817; // aapt resource value: 0x7f02013a - public const int mr_vol_type_audiotrack_light = 2130837818; + public const int mr_vol_type_audiotrack_dark = 2130837818; // aapt resource value: 0x7f02013b - public const int navigation_empty_icon = 2130837819; + public const int mr_vol_type_audiotrack_light = 2130837819; // aapt resource value: 0x7f02013c - public const int note = 2130837820; + public const int navigation_empty_icon = 2130837820; // aapt resource value: 0x7f02013d - public const int notification_action_background = 2130837821; + public const int note = 2130837821; // aapt resource value: 0x7f02013e - public const int notification_bg = 2130837822; + public const int notification_action_background = 2130837822; // aapt resource value: 0x7f02013f - public const int notification_bg_low = 2130837823; + public const int notification_bg = 2130837823; // aapt resource value: 0x7f020140 - public const int notification_bg_low_normal = 2130837824; + public const int notification_bg_low = 2130837824; // aapt resource value: 0x7f020141 - public const int notification_bg_low_pressed = 2130837825; + public const int notification_bg_low_normal = 2130837825; // aapt resource value: 0x7f020142 - public const int notification_bg_normal = 2130837826; + public const int notification_bg_low_pressed = 2130837826; // aapt resource value: 0x7f020143 - public const int notification_bg_normal_pressed = 2130837827; + public const int notification_bg_normal = 2130837827; // aapt resource value: 0x7f020144 - public const int notification_icon_background = 2130837828; + public const int notification_bg_normal_pressed = 2130837828; // aapt resource value: 0x7f020145 - public const int notification_sm = 2130837829; - - // aapt resource value: 0x7f020158 - public const int notification_template_icon_bg = 2130837848; - - // aapt resource value: 0x7f020159 - public const int notification_template_icon_low_bg = 2130837849; + public const int notification_icon_background = 2130837829; // aapt resource value: 0x7f020146 - public const int notification_tile_bg = 2130837830; + public const int notification_sm = 2130837830; + + // aapt resource value: 0x7f020159 + public const int notification_template_icon_bg = 2130837849; + + // aapt resource value: 0x7f02015a + public const int notification_template_icon_low_bg = 2130837850; // aapt resource value: 0x7f020147 - public const int notify_panel_notification_icon_bg = 2130837831; + public const int notification_tile_bg = 2130837831; // aapt resource value: 0x7f020148 - public const int paperclip = 2130837832; + public const int notify_panel_notification_icon_bg = 2130837832; // aapt resource value: 0x7f020149 - public const int plus = 2130837833; + public const int paperclip = 2130837833; // aapt resource value: 0x7f02014a - public const int refresh = 2130837834; + public const int plus = 2130837834; // aapt resource value: 0x7f02014b - public const int refresh_selected = 2130837835; + public const int refresh = 2130837835; // aapt resource value: 0x7f02014c - public const int search = 2130837836; + public const int refresh_selected = 2130837836; // aapt resource value: 0x7f02014d - public const int share = 2130837837; + public const int search = 2130837837; // aapt resource value: 0x7f02014e - public const int share_tools = 2130837838; + public const int share = 2130837838; // aapt resource value: 0x7f02014f - public const int shield = 2130837839; + public const int share_tools = 2130837839; // aapt resource value: 0x7f020150 - public const int slider_thumb = 2130837840; + public const int shield = 2130837840; // aapt resource value: 0x7f020151 - public const int splash_screen = 2130837841; + public const int slider_thumb = 2130837841; // aapt resource value: 0x7f020152 - public const int tools = 2130837842; + public const int splash_screen = 2130837842; // aapt resource value: 0x7f020153 - public const int tools_selected = 2130837843; + public const int tools = 2130837843; // aapt resource value: 0x7f020154 - public const int trash = 2130837844; + public const int tools_selected = 2130837844; // aapt resource value: 0x7f020155 - public const int upload = 2130837845; + public const int trash = 2130837845; // aapt resource value: 0x7f020156 - public const int user = 2130837846; + public const int upload = 2130837846; // aapt resource value: 0x7f020157 - public const int yubikey = 2130837847; + public const int user = 2130837847; + + // aapt resource value: 0x7f020158 + public const int yubikey = 2130837848; static Drawable() { diff --git a/src/Android/Resources/drawable/bottom_nav_bg.xml b/src/Android/Resources/drawable/bottom_nav_bg.xml new file mode 100644 index 000000000..424ee17c9 --- /dev/null +++ b/src/Android/Resources/drawable/bottom_nav_bg.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + +