set custom environment urls from home page

This commit is contained in:
Kyle Spearrin 2017-08-23 11:40:40 -04:00
parent 158bf873bd
commit b5107d21dd
22 changed files with 764 additions and 782 deletions

View file

@ -951,6 +951,21 @@
<ItemGroup> <ItemGroup>
<AndroidResource Include="Resources\drawable-xxxhdpi\trash.png" /> <AndroidResource Include="Resources\drawable-xxxhdpi\trash.png" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable\cog.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-hdpi\cog.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xhdpi\cog.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xxhdpi\cog.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xxxhdpi\cog.png" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" /> <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
<Import Project="..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets" Condition="Exists('..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets')" /> <Import Project="..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets" Condition="Exists('..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">

View file

@ -2307,508 +2307,511 @@ namespace Bit.Android
public const int cloudup = 2130837584; public const int cloudup = 2130837584;
// aapt resource value: 0x7f020051 // aapt resource value: 0x7f020051
public const int cogs = 2130837585; public const int cog = 2130837585;
// aapt resource value: 0x7f020052 // aapt resource value: 0x7f020052
public const int cogs_selected = 2130837586; public const int cogs = 2130837586;
// aapt resource value: 0x7f020053 // aapt resource value: 0x7f020053
public const int common_full_open_on_phone = 2130837587; public const int cogs_selected = 2130837587;
// aapt resource value: 0x7f020054 // aapt resource value: 0x7f020054
public const int common_google_signin_btn_icon_dark = 2130837588; public const int common_full_open_on_phone = 2130837588;
// aapt resource value: 0x7f020055 // aapt resource value: 0x7f020055
public const int common_google_signin_btn_icon_dark_disabled = 2130837589; public const int common_google_signin_btn_icon_dark = 2130837589;
// aapt resource value: 0x7f020056 // aapt resource value: 0x7f020056
public const int common_google_signin_btn_icon_dark_focused = 2130837590; public const int common_google_signin_btn_icon_dark_disabled = 2130837590;
// aapt resource value: 0x7f020057 // aapt resource value: 0x7f020057
public const int common_google_signin_btn_icon_dark_normal = 2130837591; public const int common_google_signin_btn_icon_dark_focused = 2130837591;
// aapt resource value: 0x7f020058 // aapt resource value: 0x7f020058
public const int common_google_signin_btn_icon_dark_pressed = 2130837592; public const int common_google_signin_btn_icon_dark_normal = 2130837592;
// aapt resource value: 0x7f020059 // aapt resource value: 0x7f020059
public const int common_google_signin_btn_icon_light = 2130837593; public const int common_google_signin_btn_icon_dark_pressed = 2130837593;
// aapt resource value: 0x7f02005a // aapt resource value: 0x7f02005a
public const int common_google_signin_btn_icon_light_disabled = 2130837594; public const int common_google_signin_btn_icon_light = 2130837594;
// aapt resource value: 0x7f02005b // aapt resource value: 0x7f02005b
public const int common_google_signin_btn_icon_light_focused = 2130837595; public const int common_google_signin_btn_icon_light_disabled = 2130837595;
// aapt resource value: 0x7f02005c // aapt resource value: 0x7f02005c
public const int common_google_signin_btn_icon_light_normal = 2130837596; public const int common_google_signin_btn_icon_light_focused = 2130837596;
// aapt resource value: 0x7f02005d // aapt resource value: 0x7f02005d
public const int common_google_signin_btn_icon_light_pressed = 2130837597; public const int common_google_signin_btn_icon_light_normal = 2130837597;
// aapt resource value: 0x7f02005e // aapt resource value: 0x7f02005e
public const int common_google_signin_btn_text_dark = 2130837598; public const int common_google_signin_btn_icon_light_pressed = 2130837598;
// aapt resource value: 0x7f02005f // aapt resource value: 0x7f02005f
public const int common_google_signin_btn_text_dark_disabled = 2130837599; public const int common_google_signin_btn_text_dark = 2130837599;
// aapt resource value: 0x7f020060 // aapt resource value: 0x7f020060
public const int common_google_signin_btn_text_dark_focused = 2130837600; public const int common_google_signin_btn_text_dark_disabled = 2130837600;
// aapt resource value: 0x7f020061 // aapt resource value: 0x7f020061
public const int common_google_signin_btn_text_dark_normal = 2130837601; public const int common_google_signin_btn_text_dark_focused = 2130837601;
// aapt resource value: 0x7f020062 // aapt resource value: 0x7f020062
public const int common_google_signin_btn_text_dark_pressed = 2130837602; public const int common_google_signin_btn_text_dark_normal = 2130837602;
// aapt resource value: 0x7f020063 // aapt resource value: 0x7f020063
public const int common_google_signin_btn_text_light = 2130837603; public const int common_google_signin_btn_text_dark_pressed = 2130837603;
// aapt resource value: 0x7f020064 // aapt resource value: 0x7f020064
public const int common_google_signin_btn_text_light_disabled = 2130837604; public const int common_google_signin_btn_text_light = 2130837604;
// aapt resource value: 0x7f020065 // aapt resource value: 0x7f020065
public const int common_google_signin_btn_text_light_focused = 2130837605; public const int common_google_signin_btn_text_light_disabled = 2130837605;
// aapt resource value: 0x7f020066 // aapt resource value: 0x7f020066
public const int common_google_signin_btn_text_light_normal = 2130837606; public const int common_google_signin_btn_text_light_focused = 2130837606;
// aapt resource value: 0x7f020067 // aapt resource value: 0x7f020067
public const int common_google_signin_btn_text_light_pressed = 2130837607; public const int common_google_signin_btn_text_light_normal = 2130837607;
// aapt resource value: 0x7f020068 // aapt resource value: 0x7f020068
public const int common_ic_googleplayservices = 2130837608; public const int common_google_signin_btn_text_light_pressed = 2130837608;
// aapt resource value: 0x7f020069 // aapt resource value: 0x7f020069
public const int common_plus_signin_btn_icon_dark = 2130837609; public const int common_ic_googleplayservices = 2130837609;
// aapt resource value: 0x7f02006a // aapt resource value: 0x7f02006a
public const int common_plus_signin_btn_icon_dark_disabled = 2130837610; public const int common_plus_signin_btn_icon_dark = 2130837610;
// aapt resource value: 0x7f02006b // aapt resource value: 0x7f02006b
public const int common_plus_signin_btn_icon_dark_focused = 2130837611; public const int common_plus_signin_btn_icon_dark_disabled = 2130837611;
// aapt resource value: 0x7f02006c // aapt resource value: 0x7f02006c
public const int common_plus_signin_btn_icon_dark_normal = 2130837612; public const int common_plus_signin_btn_icon_dark_focused = 2130837612;
// aapt resource value: 0x7f02006d // aapt resource value: 0x7f02006d
public const int common_plus_signin_btn_icon_dark_pressed = 2130837613; public const int common_plus_signin_btn_icon_dark_normal = 2130837613;
// aapt resource value: 0x7f02006e // aapt resource value: 0x7f02006e
public const int common_plus_signin_btn_icon_light = 2130837614; public const int common_plus_signin_btn_icon_dark_pressed = 2130837614;
// aapt resource value: 0x7f02006f // aapt resource value: 0x7f02006f
public const int common_plus_signin_btn_icon_light_disabled = 2130837615; public const int common_plus_signin_btn_icon_light = 2130837615;
// aapt resource value: 0x7f020070 // aapt resource value: 0x7f020070
public const int common_plus_signin_btn_icon_light_focused = 2130837616; public const int common_plus_signin_btn_icon_light_disabled = 2130837616;
// aapt resource value: 0x7f020071 // aapt resource value: 0x7f020071
public const int common_plus_signin_btn_icon_light_normal = 2130837617; public const int common_plus_signin_btn_icon_light_focused = 2130837617;
// aapt resource value: 0x7f020072 // aapt resource value: 0x7f020072
public const int common_plus_signin_btn_icon_light_pressed = 2130837618; public const int common_plus_signin_btn_icon_light_normal = 2130837618;
// aapt resource value: 0x7f020073 // aapt resource value: 0x7f020073
public const int common_plus_signin_btn_text_dark = 2130837619; public const int common_plus_signin_btn_icon_light_pressed = 2130837619;
// aapt resource value: 0x7f020074 // aapt resource value: 0x7f020074
public const int common_plus_signin_btn_text_dark_disabled = 2130837620; public const int common_plus_signin_btn_text_dark = 2130837620;
// aapt resource value: 0x7f020075 // aapt resource value: 0x7f020075
public const int common_plus_signin_btn_text_dark_focused = 2130837621; public const int common_plus_signin_btn_text_dark_disabled = 2130837621;
// aapt resource value: 0x7f020076 // aapt resource value: 0x7f020076
public const int common_plus_signin_btn_text_dark_normal = 2130837622; public const int common_plus_signin_btn_text_dark_focused = 2130837622;
// aapt resource value: 0x7f020077 // aapt resource value: 0x7f020077
public const int common_plus_signin_btn_text_dark_pressed = 2130837623; public const int common_plus_signin_btn_text_dark_normal = 2130837623;
// aapt resource value: 0x7f020078 // aapt resource value: 0x7f020078
public const int common_plus_signin_btn_text_light = 2130837624; public const int common_plus_signin_btn_text_dark_pressed = 2130837624;
// aapt resource value: 0x7f020079 // aapt resource value: 0x7f020079
public const int common_plus_signin_btn_text_light_disabled = 2130837625; public const int common_plus_signin_btn_text_light = 2130837625;
// aapt resource value: 0x7f02007a // aapt resource value: 0x7f02007a
public const int common_plus_signin_btn_text_light_focused = 2130837626; public const int common_plus_signin_btn_text_light_disabled = 2130837626;
// aapt resource value: 0x7f02007b // aapt resource value: 0x7f02007b
public const int common_plus_signin_btn_text_light_normal = 2130837627; public const int common_plus_signin_btn_text_light_focused = 2130837627;
// aapt resource value: 0x7f02007c // aapt resource value: 0x7f02007c
public const int common_plus_signin_btn_text_light_pressed = 2130837628; public const int common_plus_signin_btn_text_light_normal = 2130837628;
// aapt resource value: 0x7f02007d // aapt resource value: 0x7f02007d
public const int design_fab_background = 2130837629; public const int common_plus_signin_btn_text_light_pressed = 2130837629;
// aapt resource value: 0x7f02007e // aapt resource value: 0x7f02007e
public const int design_snackbar_background = 2130837630; public const int design_fab_background = 2130837630;
// aapt resource value: 0x7f02007f // aapt resource value: 0x7f02007f
public const int download = 2130837631; public const int design_snackbar_background = 2130837631;
// aapt resource value: 0x7f020080 // aapt resource value: 0x7f020080
public const int envelope = 2130837632; public const int download = 2130837632;
// aapt resource value: 0x7f020081 // aapt resource value: 0x7f020081
public const int eye = 2130837633; public const int envelope = 2130837633;
// aapt resource value: 0x7f020082 // aapt resource value: 0x7f020082
public const int eye_slash = 2130837634; public const int eye = 2130837634;
// aapt resource value: 0x7f020083 // aapt resource value: 0x7f020083
public const int fa_lock = 2130837635; public const int eye_slash = 2130837635;
// aapt resource value: 0x7f020084 // aapt resource value: 0x7f020084
public const int fa_lock_selected = 2130837636; public const int fa_lock = 2130837636;
// aapt resource value: 0x7f020085 // aapt resource value: 0x7f020085
public const int fingerprint = 2130837637; public const int fa_lock_selected = 2130837637;
// aapt resource value: 0x7f020086 // aapt resource value: 0x7f020086
public const int fingerprint_white = 2130837638; public const int fingerprint = 2130837638;
// aapt resource value: 0x7f020087 // aapt resource value: 0x7f020087
public const int folder = 2130837639; public const int fingerprint_white = 2130837639;
// aapt resource value: 0x7f020088 // aapt resource value: 0x7f020088
public const int globe = 2130837640; public const int folder = 2130837640;
// aapt resource value: 0x7f020089 // aapt resource value: 0x7f020089
public const int hockeyapp_btn_background = 2130837641; public const int globe = 2130837641;
// aapt resource value: 0x7f02008a // aapt resource value: 0x7f02008a
public const int ic_audiotrack = 2130837642; public const int hockeyapp_btn_background = 2130837642;
// aapt resource value: 0x7f02008b // aapt resource value: 0x7f02008b
public const int ic_audiotrack_light = 2130837643; public const int ic_audiotrack = 2130837643;
// aapt resource value: 0x7f02008c // aapt resource value: 0x7f02008c
public const int ic_bluetooth_grey = 2130837644; public const int ic_audiotrack_light = 2130837644;
// aapt resource value: 0x7f02008d // aapt resource value: 0x7f02008d
public const int ic_bluetooth_white = 2130837645; public const int ic_bluetooth_grey = 2130837645;
// aapt resource value: 0x7f02008e // aapt resource value: 0x7f02008e
public const int ic_cast_dark = 2130837646; public const int ic_bluetooth_white = 2130837646;
// aapt resource value: 0x7f02008f // aapt resource value: 0x7f02008f
public const int ic_cast_disabled_light = 2130837647; public const int ic_cast_dark = 2130837647;
// aapt resource value: 0x7f020090 // aapt resource value: 0x7f020090
public const int ic_cast_grey = 2130837648; public const int ic_cast_disabled_light = 2130837648;
// aapt resource value: 0x7f020091 // aapt resource value: 0x7f020091
public const int ic_cast_light = 2130837649; public const int ic_cast_grey = 2130837649;
// aapt resource value: 0x7f020092 // aapt resource value: 0x7f020092
public const int ic_cast_off_light = 2130837650; public const int ic_cast_light = 2130837650;
// aapt resource value: 0x7f020093 // aapt resource value: 0x7f020093
public const int ic_cast_on_0_light = 2130837651; public const int ic_cast_off_light = 2130837651;
// aapt resource value: 0x7f020094 // aapt resource value: 0x7f020094
public const int ic_cast_on_1_light = 2130837652; public const int ic_cast_on_0_light = 2130837652;
// aapt resource value: 0x7f020095 // aapt resource value: 0x7f020095
public const int ic_cast_on_2_light = 2130837653; public const int ic_cast_on_1_light = 2130837653;
// aapt resource value: 0x7f020096 // aapt resource value: 0x7f020096
public const int ic_cast_on_light = 2130837654; public const int ic_cast_on_2_light = 2130837654;
// aapt resource value: 0x7f020097 // aapt resource value: 0x7f020097
public const int ic_cast_white = 2130837655; public const int ic_cast_on_light = 2130837655;
// aapt resource value: 0x7f020098 // aapt resource value: 0x7f020098
public const int ic_close_dark = 2130837656; public const int ic_cast_white = 2130837656;
// aapt resource value: 0x7f020099 // aapt resource value: 0x7f020099
public const int ic_close_light = 2130837657; public const int ic_close_dark = 2130837657;
// aapt resource value: 0x7f02009a // aapt resource value: 0x7f02009a
public const int ic_collapse = 2130837658; public const int ic_close_light = 2130837658;
// aapt resource value: 0x7f02009b // aapt resource value: 0x7f02009b
public const int ic_collapse_00000 = 2130837659; public const int ic_collapse = 2130837659;
// aapt resource value: 0x7f02009c // aapt resource value: 0x7f02009c
public const int ic_collapse_00001 = 2130837660; public const int ic_collapse_00000 = 2130837660;
// aapt resource value: 0x7f02009d // aapt resource value: 0x7f02009d
public const int ic_collapse_00002 = 2130837661; public const int ic_collapse_00001 = 2130837661;
// aapt resource value: 0x7f02009e // aapt resource value: 0x7f02009e
public const int ic_collapse_00003 = 2130837662; public const int ic_collapse_00002 = 2130837662;
// aapt resource value: 0x7f02009f // aapt resource value: 0x7f02009f
public const int ic_collapse_00004 = 2130837663; public const int ic_collapse_00003 = 2130837663;
// aapt resource value: 0x7f0200a0 // aapt resource value: 0x7f0200a0
public const int ic_collapse_00005 = 2130837664; public const int ic_collapse_00004 = 2130837664;
// aapt resource value: 0x7f0200a1 // aapt resource value: 0x7f0200a1
public const int ic_collapse_00006 = 2130837665; public const int ic_collapse_00005 = 2130837665;
// aapt resource value: 0x7f0200a2 // aapt resource value: 0x7f0200a2
public const int ic_collapse_00007 = 2130837666; public const int ic_collapse_00006 = 2130837666;
// aapt resource value: 0x7f0200a3 // aapt resource value: 0x7f0200a3
public const int ic_collapse_00008 = 2130837667; public const int ic_collapse_00007 = 2130837667;
// aapt resource value: 0x7f0200a4 // aapt resource value: 0x7f0200a4
public const int ic_collapse_00009 = 2130837668; public const int ic_collapse_00008 = 2130837668;
// aapt resource value: 0x7f0200a5 // aapt resource value: 0x7f0200a5
public const int ic_collapse_00010 = 2130837669; public const int ic_collapse_00009 = 2130837669;
// aapt resource value: 0x7f0200a6 // aapt resource value: 0x7f0200a6
public const int ic_collapse_00011 = 2130837670; public const int ic_collapse_00010 = 2130837670;
// aapt resource value: 0x7f0200a7 // aapt resource value: 0x7f0200a7
public const int ic_collapse_00012 = 2130837671; public const int ic_collapse_00011 = 2130837671;
// aapt resource value: 0x7f0200a8 // aapt resource value: 0x7f0200a8
public const int ic_collapse_00013 = 2130837672; public const int ic_collapse_00012 = 2130837672;
// aapt resource value: 0x7f0200a9 // aapt resource value: 0x7f0200a9
public const int ic_collapse_00014 = 2130837673; public const int ic_collapse_00013 = 2130837673;
// aapt resource value: 0x7f0200aa // aapt resource value: 0x7f0200aa
public const int ic_collapse_00015 = 2130837674; public const int ic_collapse_00014 = 2130837674;
// aapt resource value: 0x7f0200ab // aapt resource value: 0x7f0200ab
public const int ic_errorstatus = 2130837675; public const int ic_collapse_00015 = 2130837675;
// aapt resource value: 0x7f0200ac // aapt resource value: 0x7f0200ac
public const int ic_expand = 2130837676; public const int ic_errorstatus = 2130837676;
// aapt resource value: 0x7f0200ad // aapt resource value: 0x7f0200ad
public const int ic_expand_00000 = 2130837677; public const int ic_expand = 2130837677;
// aapt resource value: 0x7f0200ae // aapt resource value: 0x7f0200ae
public const int ic_expand_00001 = 2130837678; public const int ic_expand_00000 = 2130837678;
// aapt resource value: 0x7f0200af // aapt resource value: 0x7f0200af
public const int ic_expand_00002 = 2130837679; public const int ic_expand_00001 = 2130837679;
// aapt resource value: 0x7f0200b0 // aapt resource value: 0x7f0200b0
public const int ic_expand_00003 = 2130837680; public const int ic_expand_00002 = 2130837680;
// aapt resource value: 0x7f0200b1 // aapt resource value: 0x7f0200b1
public const int ic_expand_00004 = 2130837681; public const int ic_expand_00003 = 2130837681;
// aapt resource value: 0x7f0200b2 // aapt resource value: 0x7f0200b2
public const int ic_expand_00005 = 2130837682; public const int ic_expand_00004 = 2130837682;
// aapt resource value: 0x7f0200b3 // aapt resource value: 0x7f0200b3
public const int ic_expand_00006 = 2130837683; public const int ic_expand_00005 = 2130837683;
// aapt resource value: 0x7f0200b4 // aapt resource value: 0x7f0200b4
public const int ic_expand_00007 = 2130837684; public const int ic_expand_00006 = 2130837684;
// aapt resource value: 0x7f0200b5 // aapt resource value: 0x7f0200b5
public const int ic_expand_00008 = 2130837685; public const int ic_expand_00007 = 2130837685;
// aapt resource value: 0x7f0200b6 // aapt resource value: 0x7f0200b6
public const int ic_expand_00009 = 2130837686; public const int ic_expand_00008 = 2130837686;
// aapt resource value: 0x7f0200b7 // aapt resource value: 0x7f0200b7
public const int ic_expand_00010 = 2130837687; public const int ic_expand_00009 = 2130837687;
// aapt resource value: 0x7f0200b8 // aapt resource value: 0x7f0200b8
public const int ic_expand_00011 = 2130837688; public const int ic_expand_00010 = 2130837688;
// aapt resource value: 0x7f0200b9 // aapt resource value: 0x7f0200b9
public const int ic_expand_00012 = 2130837689; public const int ic_expand_00011 = 2130837689;
// aapt resource value: 0x7f0200ba // aapt resource value: 0x7f0200ba
public const int ic_expand_00013 = 2130837690; public const int ic_expand_00012 = 2130837690;
// aapt resource value: 0x7f0200bb // aapt resource value: 0x7f0200bb
public const int ic_expand_00014 = 2130837691; public const int ic_expand_00013 = 2130837691;
// aapt resource value: 0x7f0200bc // aapt resource value: 0x7f0200bc
public const int ic_expand_00015 = 2130837692; public const int ic_expand_00014 = 2130837692;
// aapt resource value: 0x7f0200bd // aapt resource value: 0x7f0200bd
public const int ic_media_pause = 2130837693; public const int ic_expand_00015 = 2130837693;
// aapt resource value: 0x7f0200be // aapt resource value: 0x7f0200be
public const int ic_media_play = 2130837694; public const int ic_media_pause = 2130837694;
// aapt resource value: 0x7f0200bf // aapt resource value: 0x7f0200bf
public const int ic_media_route_disabled_mono_dark = 2130837695; public const int ic_media_play = 2130837695;
// aapt resource value: 0x7f0200c0 // aapt resource value: 0x7f0200c0
public const int ic_media_route_off_mono_dark = 2130837696; public const int ic_media_route_disabled_mono_dark = 2130837696;
// aapt resource value: 0x7f0200c1 // aapt resource value: 0x7f0200c1
public const int ic_media_route_on_0_mono_dark = 2130837697; public const int ic_media_route_off_mono_dark = 2130837697;
// aapt resource value: 0x7f0200c2 // aapt resource value: 0x7f0200c2
public const int ic_media_route_on_1_mono_dark = 2130837698; public const int ic_media_route_on_0_mono_dark = 2130837698;
// aapt resource value: 0x7f0200c3 // aapt resource value: 0x7f0200c3
public const int ic_media_route_on_2_mono_dark = 2130837699; public const int ic_media_route_on_1_mono_dark = 2130837699;
// aapt resource value: 0x7f0200c4 // aapt resource value: 0x7f0200c4
public const int ic_media_route_on_mono_dark = 2130837700; public const int ic_media_route_on_2_mono_dark = 2130837700;
// aapt resource value: 0x7f0200c5 // aapt resource value: 0x7f0200c5
public const int ic_pause_dark = 2130837701; public const int ic_media_route_on_mono_dark = 2130837701;
// aapt resource value: 0x7f0200c6 // aapt resource value: 0x7f0200c6
public const int ic_pause_light = 2130837702; public const int ic_pause_dark = 2130837702;
// aapt resource value: 0x7f0200c7 // aapt resource value: 0x7f0200c7
public const int ic_play_dark = 2130837703; public const int ic_pause_light = 2130837703;
// aapt resource value: 0x7f0200c8 // aapt resource value: 0x7f0200c8
public const int ic_play_light = 2130837704; public const int ic_play_dark = 2130837704;
// aapt resource value: 0x7f0200c9 // aapt resource value: 0x7f0200c9
public const int ic_speaker_dark = 2130837705; public const int ic_play_light = 2130837705;
// aapt resource value: 0x7f0200ca // aapt resource value: 0x7f0200ca
public const int ic_speaker_group_dark = 2130837706; public const int ic_speaker_dark = 2130837706;
// aapt resource value: 0x7f0200cb // aapt resource value: 0x7f0200cb
public const int ic_speaker_group_light = 2130837707; public const int ic_speaker_group_dark = 2130837707;
// aapt resource value: 0x7f0200cc // aapt resource value: 0x7f0200cc
public const int ic_speaker_light = 2130837708; public const int ic_speaker_group_light = 2130837708;
// aapt resource value: 0x7f0200cd // aapt resource value: 0x7f0200cd
public const int ic_successstatus = 2130837709; public const int ic_speaker_light = 2130837709;
// aapt resource value: 0x7f0200ce // aapt resource value: 0x7f0200ce
public const int ic_tv_dark = 2130837710; public const int ic_successstatus = 2130837710;
// aapt resource value: 0x7f0200cf // aapt resource value: 0x7f0200cf
public const int ic_tv_light = 2130837711; public const int ic_tv_dark = 2130837711;
// aapt resource value: 0x7f0200d0 // aapt resource value: 0x7f0200d0
public const int icon = 2130837712; public const int ic_tv_light = 2130837712;
// aapt resource value: 0x7f0200d1 // aapt resource value: 0x7f0200d1
public const int ion_chevron_right = 2130837713; public const int icon = 2130837713;
// aapt resource value: 0x7f0200d2 // aapt resource value: 0x7f0200d2
public const int lightbulb = 2130837714; public const int ion_chevron_right = 2130837714;
// aapt resource value: 0x7f0200d3 // aapt resource value: 0x7f0200d3
public const int list_selector = 2130837715; public const int lightbulb = 2130837715;
// aapt resource value: 0x7f0200d4 // aapt resource value: 0x7f0200d4
public const int @lock = 2130837716; public const int list_selector = 2130837716;
// aapt resource value: 0x7f0200d5 // aapt resource value: 0x7f0200d5
public const int logo = 2130837717; public const int @lock = 2130837717;
// aapt resource value: 0x7f0200d6 // aapt resource value: 0x7f0200d6
public const int more = 2130837718; public const int logo = 2130837718;
// aapt resource value: 0x7f0200d7 // aapt resource value: 0x7f0200d7
public const int mr_dialog_material_background_dark = 2130837719; public const int more = 2130837719;
// aapt resource value: 0x7f0200d8 // aapt resource value: 0x7f0200d8
public const int mr_dialog_material_background_light = 2130837720; public const int mr_dialog_material_background_dark = 2130837720;
// aapt resource value: 0x7f0200d9 // aapt resource value: 0x7f0200d9
public const int mr_ic_audiotrack_light = 2130837721; public const int mr_dialog_material_background_light = 2130837721;
// aapt resource value: 0x7f0200da // aapt resource value: 0x7f0200da
public const int mr_ic_cast_dark = 2130837722; public const int mr_ic_audiotrack_light = 2130837722;
// aapt resource value: 0x7f0200db // aapt resource value: 0x7f0200db
public const int mr_ic_cast_light = 2130837723; public const int mr_ic_cast_dark = 2130837723;
// aapt resource value: 0x7f0200dc // aapt resource value: 0x7f0200dc
public const int mr_ic_close_dark = 2130837724; public const int mr_ic_cast_light = 2130837724;
// aapt resource value: 0x7f0200dd // aapt resource value: 0x7f0200dd
public const int mr_ic_close_light = 2130837725; public const int mr_ic_close_dark = 2130837725;
// aapt resource value: 0x7f0200de // aapt resource value: 0x7f0200de
public const int mr_ic_media_route_connecting_mono_dark = 2130837726; public const int mr_ic_close_light = 2130837726;
// aapt resource value: 0x7f0200df // aapt resource value: 0x7f0200df
public const int mr_ic_media_route_connecting_mono_light = 2130837727; public const int mr_ic_media_route_connecting_mono_dark = 2130837727;
// aapt resource value: 0x7f0200e0 // aapt resource value: 0x7f0200e0
public const int mr_ic_media_route_mono_dark = 2130837728; public const int mr_ic_media_route_connecting_mono_light = 2130837728;
// aapt resource value: 0x7f0200e1 // aapt resource value: 0x7f0200e1
public const int mr_ic_media_route_mono_light = 2130837729; public const int mr_ic_media_route_mono_dark = 2130837729;
// aapt resource value: 0x7f0200e2 // aapt resource value: 0x7f0200e2
public const int mr_ic_pause_dark = 2130837730; public const int mr_ic_media_route_mono_light = 2130837730;
// aapt resource value: 0x7f0200e3 // aapt resource value: 0x7f0200e3
public const int mr_ic_pause_light = 2130837731; public const int mr_ic_pause_dark = 2130837731;
// aapt resource value: 0x7f0200e4 // aapt resource value: 0x7f0200e4
public const int mr_ic_play_dark = 2130837732; public const int mr_ic_pause_light = 2130837732;
// aapt resource value: 0x7f0200e5 // aapt resource value: 0x7f0200e5
public const int mr_ic_play_light = 2130837733; public const int mr_ic_play_dark = 2130837733;
// aapt resource value: 0x7f0200e6 // aapt resource value: 0x7f0200e6
public const int notification_sm = 2130837734; public const int mr_ic_play_light = 2130837734;
// aapt resource value: 0x7f0200f8
public const int notification_template_icon_bg = 2130837752;
// aapt resource value: 0x7f0200e7 // aapt resource value: 0x7f0200e7
public const int paperclip = 2130837735; public const int notification_sm = 2130837735;
// aapt resource value: 0x7f0200f9
public const int notification_template_icon_bg = 2130837753;
// aapt resource value: 0x7f0200e8 // aapt resource value: 0x7f0200e8
public const int plus = 2130837736; public const int paperclip = 2130837736;
// aapt resource value: 0x7f0200e9 // aapt resource value: 0x7f0200e9
public const int refresh = 2130837737; public const int plus = 2130837737;
// aapt resource value: 0x7f0200ea // aapt resource value: 0x7f0200ea
public const int roundedbg = 2130837738; public const int refresh = 2130837738;
// aapt resource value: 0x7f0200eb // aapt resource value: 0x7f0200eb
public const int roundedbgdark = 2130837739; public const int roundedbg = 2130837739;
// aapt resource value: 0x7f0200ec // aapt resource value: 0x7f0200ec
public const int search = 2130837740; public const int roundedbgdark = 2130837740;
// aapt resource value: 0x7f0200ed // aapt resource value: 0x7f0200ed
public const int share = 2130837741; public const int search = 2130837741;
// aapt resource value: 0x7f0200ee // aapt resource value: 0x7f0200ee
public const int share_tools = 2130837742; public const int share = 2130837742;
// aapt resource value: 0x7f0200ef // aapt resource value: 0x7f0200ef
public const int splash_screen = 2130837743; public const int share_tools = 2130837743;
// aapt resource value: 0x7f0200f0 // aapt resource value: 0x7f0200f0
public const int star = 2130837744; public const int splash_screen = 2130837744;
// aapt resource value: 0x7f0200f1 // aapt resource value: 0x7f0200f1
public const int star_selected = 2130837745; public const int star = 2130837745;
// aapt resource value: 0x7f0200f2 // aapt resource value: 0x7f0200f2
public const int tools = 2130837746; public const int star_selected = 2130837746;
// aapt resource value: 0x7f0200f3 // aapt resource value: 0x7f0200f3
public const int tools_selected = 2130837747; public const int tools = 2130837747;
// aapt resource value: 0x7f0200f4 // aapt resource value: 0x7f0200f4
public const int trash = 2130837748; public const int tools_selected = 2130837748;
// aapt resource value: 0x7f0200f5 // aapt resource value: 0x7f0200f5
public const int upload = 2130837749; public const int trash = 2130837749;
// aapt resource value: 0x7f0200f6 // aapt resource value: 0x7f0200f6
public const int user = 2130837750; public const int upload = 2130837750;
// aapt resource value: 0x7f0200f7 // aapt resource value: 0x7f0200f7
public const int yubikey = 2130837751; public const int user = 2130837751;
// aapt resource value: 0x7f0200f8
public const int yubikey = 2130837752;
static Drawable() static Drawable()
{ {

Binary file not shown.

After

Width:  |  Height:  |  Size: 883 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 610 B

View file

@ -10,5 +10,8 @@ namespace Bit.App.Abstractions
bool AutofillPersistNotification { get; set; } bool AutofillPersistNotification { get; set; }
bool AutofillPasswordField { get; set; } bool AutofillPasswordField { get; set; }
string SecurityStamp { get; set; } string SecurityStamp { get; set; }
string BaseUrl { get; set; }
string ApiUrl { get; set; }
string IdentityUrl { get; set; }
} }
} }

View file

@ -144,6 +144,7 @@
<Compile Include="Pages\Lock\LockPasswordPage.cs" /> <Compile Include="Pages\Lock\LockPasswordPage.cs" />
<Compile Include="Pages\LoginTwoFactorPage.cs" /> <Compile Include="Pages\LoginTwoFactorPage.cs" />
<Compile Include="Pages\PasswordHintPage.cs" /> <Compile Include="Pages\PasswordHintPage.cs" />
<Compile Include="Pages\EnvironmentPage.cs" />
<Compile Include="Pages\RegisterPage.cs" /> <Compile Include="Pages\RegisterPage.cs" />
<Compile Include="Pages\ScanPage.cs" /> <Compile Include="Pages\ScanPage.cs" />
<Compile Include="Pages\Settings\SettingsCreditsPage.cs" /> <Compile Include="Pages\Settings\SettingsCreditsPage.cs" />

View file

@ -34,6 +34,9 @@
public const string LastLoginEmail = "other:lastLoginEmail"; public const string LastLoginEmail = "other:lastLoginEmail";
public const string LastSync = "other:lastSync"; public const string LastSync = "other:lastSync";
public const string LastBuildKey = "LastBuild"; public const string LastBuildKey = "LastBuild";
public const string BaseUrl = "other:baseUrl";
public const string ApiUrl = "other:apiUrl";
public const string IdentityUrl = "other:identityUrl";
public const int SelectFileRequestCode = 42; public const int SelectFileRequestCode = 42;
public const int SelectFilePermissionRequestCode = 43; public const int SelectFilePermissionRequestCode = 43;

View file

@ -0,0 +1,218 @@
using System;
using Bit.App.Abstractions;
using Bit.App.Controls;
using Bit.App.Resources;
using Xamarin.Forms;
using XLabs.Ioc;
using Acr.UserDialogs;
using System.Threading.Tasks;
namespace Bit.App.Pages
{
public class EnvironmentPage : ExtendedContentPage
{
private IAppSettingsService _appSettings;
private IUserDialogs _userDialogs;
private IGoogleAnalyticsService _googleAnalyticsService;
public EnvironmentPage()
: base(updateActivity: false)
{
_appSettings = Resolver.Resolve<IAppSettingsService>();
_userDialogs = Resolver.Resolve<IUserDialogs>();
_googleAnalyticsService = Resolver.Resolve<IGoogleAnalyticsService>();
Init();
}
public FormEntryCell BaseUrlCell { get; set; }
public FormEntryCell ApiUrlCell { get; set; }
public FormEntryCell IdentityUrlCell { get; set; }
public StackLayout StackLayout { get; set; }
public Label SelfHostLabel { get; set; }
public Label CustomLabel { get; set; }
private void Init()
{
MessagingCenter.Send(Application.Current, "ShowStatusBar", true);
IdentityUrlCell = new FormEntryCell(AppResources.IdentityUrl, entryKeyboard: Keyboard.Url);
IdentityUrlCell.Entry.Text = _appSettings.IdentityUrl;
ApiUrlCell = new FormEntryCell(AppResources.ApiUrl, nextElement: IdentityUrlCell.Entry, entryKeyboard: Keyboard.Url);
ApiUrlCell.Entry.Text = _appSettings.ApiUrl;
BaseUrlCell = new FormEntryCell(AppResources.ServerUrl, nextElement: ApiUrlCell.Entry, entryKeyboard: Keyboard.Url);
BaseUrlCell.Entry.Text = _appSettings.BaseUrl;
var table = new FormTableView
{
Root = new TableRoot
{
new TableSection(AppResources.SelfHostedEnvironment)
{
BaseUrlCell
}
}
};
SelfHostLabel = new Label
{
Text = AppResources.SelfHostedEnvironmentFooter,
LineBreakMode = LineBreakMode.WordWrap,
FontSize = Device.GetNamedSize(NamedSize.Small, typeof(Label)),
Style = (Style)Application.Current.Resources["text-muted"],
Margin = new Thickness(15, (this.IsLandscape() ? 5 : 0), 15, 25)
};
var table2 = new FormTableView
{
Root = new TableRoot
{
new TableSection(AppResources.CustomEnvironment)
{
ApiUrlCell,
IdentityUrlCell
}
}
};
CustomLabel = new Label
{
Text = AppResources.CustomEnvironmentFooter,
LineBreakMode = LineBreakMode.WordWrap,
FontSize = Device.GetNamedSize(NamedSize.Small, typeof(Label)),
Style = (Style)Application.Current.Resources["text-muted"],
Margin = new Thickness(15, (this.IsLandscape() ? 5 : 0), 15, 25)
};
StackLayout = new StackLayout
{
Children = { table, SelfHostLabel, table2, CustomLabel },
Spacing = 0
};
var scrollView = new ScrollView
{
Content = StackLayout
};
var toolbarItem = new ToolbarItem(AppResources.Save, null, async () => await SaveAsync(),
ToolbarItemOrder.Default, 0);
if(Device.RuntimePlatform == Device.iOS)
{
table.RowHeight = table2.RowHeight = -1;
table.EstimatedRowHeight = table2.EstimatedRowHeight = 70;
ToolbarItems.Add(new DismissModalToolBarItem(this, AppResources.Close, () =>
{
MessagingCenter.Send(Application.Current, "ShowStatusBar", false);
}));
}
ToolbarItems.Add(toolbarItem);
Title = AppResources.Settings;
Content = scrollView;
}
protected override void OnAppearing()
{
base.OnAppearing();
MessagingCenter.Send(Application.Current, "ShowStatusBar", true);
BaseUrlCell.InitEvents();
IdentityUrlCell.InitEvents();
ApiUrlCell.InitEvents();
StackLayout.LayoutChanged += Layout_LayoutChanged;
BaseUrlCell.Entry.FocusWithDelay();
}
protected override void OnDisappearing()
{
base.OnDisappearing();
BaseUrlCell.Dispose();
IdentityUrlCell.Dispose();
ApiUrlCell.Dispose();
StackLayout.LayoutChanged -= Layout_LayoutChanged;
}
private void Layout_LayoutChanged(object sender, EventArgs e)
{
SelfHostLabel.WidthRequest = StackLayout.Bounds.Width - SelfHostLabel.Bounds.Left * 2;
CustomLabel.WidthRequest = StackLayout.Bounds.Width - CustomLabel.Bounds.Left * 2;
}
private async Task SaveAsync()
{
Uri result;
if(!string.IsNullOrWhiteSpace(BaseUrlCell.Entry.Text))
{
BaseUrlCell.Entry.Text = FixUrl(BaseUrlCell.Entry.Text);
if(!Uri.TryCreate(BaseUrlCell.Entry.Text, UriKind.Absolute, out result))
{
_userDialogs.Alert(string.Format(AppResources.FormattedIncorrectly, AppResources.ServerUrl));
return;
}
}
else
{
BaseUrlCell.Entry.Text = null;
}
if(!string.IsNullOrWhiteSpace(ApiUrlCell.Entry.Text))
{
ApiUrlCell.Entry.Text = FixUrl(ApiUrlCell.Entry.Text);
if(!Uri.TryCreate(ApiUrlCell.Entry.Text, UriKind.Absolute, out result))
{
_userDialogs.Alert(string.Format(AppResources.FormattedIncorrectly, AppResources.ApiUrl));
return;
}
}
else
{
ApiUrlCell.Entry.Text = null;
}
if(!string.IsNullOrWhiteSpace(IdentityUrlCell.Entry.Text))
{
IdentityUrlCell.Entry.Text = FixUrl(IdentityUrlCell.Entry.Text);
if(!Uri.TryCreate(IdentityUrlCell.Entry.Text, UriKind.Absolute, out result))
{
_userDialogs.Alert(string.Format(AppResources.FormattedIncorrectly, AppResources.IdentityUrl));
return;
}
}
else
{
IdentityUrlCell.Entry.Text = null;
}
_appSettings.BaseUrl = BaseUrlCell.Entry.Text;
_appSettings.IdentityUrl = IdentityUrlCell.Entry.Text;
_appSettings.ApiUrl = ApiUrlCell.Entry.Text;
_userDialogs.Toast(AppResources.EnvironmentSaved);
_googleAnalyticsService.TrackAppEvent("SetEnvironmentUrls");
await Navigation.PopForDeviceAsync();
}
private string FixUrl(string url)
{
url = url.TrimEnd('/');
if(!url.StartsWith("http://") && !url.StartsWith("https://"))
{
url = $"https://{url}";
}
return url;
}
private class FormTableView : ExtendedTableView
{
public FormTableView()
{
Intent = TableIntent.Settings;
EnableScrolling = false;
HasUnevenRows = true;
EnableSelection = true;
VerticalOptions = LayoutOptions.Start;
NoFooter = true;
}
}
}
}

View file

@ -32,12 +32,25 @@ namespace Bit.App.Pages
{ {
MessagingCenter.Send(Application.Current, "ShowStatusBar", false); MessagingCenter.Send(Application.Current, "ShowStatusBar", false);
var settingsButton = new Button
{
Image = "cog",
VerticalOptions = LayoutOptions.Start,
HorizontalOptions = LayoutOptions.Start,
WidthRequest = 25,
HeightRequest = 25,
BackgroundColor = Color.Transparent,
Margin = new Thickness(-20, -30, 0, 0),
Command = new Command(async () => await SettingsAsync())
};
var logo = new CachedImage var logo = new CachedImage
{ {
Source = "logo", Source = "logo",
VerticalOptions = LayoutOptions.CenterAndExpand, VerticalOptions = LayoutOptions.CenterAndExpand,
HorizontalOptions = LayoutOptions.Center, HorizontalOptions = LayoutOptions.Center,
WidthRequest = 282, WidthRequest = 282,
Margin = new Thickness(0, 30, 0, 0),
HeightRequest = 44 HeightRequest = 44
}; };
@ -77,7 +90,7 @@ namespace Bit.App.Pages
{ {
Padding = new Thickness(30, 40), Padding = new Thickness(30, 40),
Spacing = 10, Spacing = 10,
Children = { logo, message, createAccountButton, loginButton } Children = { settingsButton, logo, message, createAccountButton, loginButton }
}; };
Title = AppResources.Bitwarden; Title = AppResources.Bitwarden;
@ -119,5 +132,16 @@ namespace Bit.App.Pages
await Navigation.PushForDeviceAsync(new LoginPage(email)); await Navigation.PushForDeviceAsync(new LoginPage(email));
_userDialogs.Toast(AppResources.AccountCreated); _userDialogs.Toast(AppResources.AccountCreated);
} }
public async Task SettingsAsync()
{
if(_lastAction.LastActionWasRecent())
{
return;
}
_lastAction = DateTime.UtcNow;
await Navigation.PushForDeviceAsync(new EnvironmentPage());
}
} }
} }

View file

@ -20,7 +20,7 @@ namespace Bit.App.Resources {
// class via a tool like ResGen or Visual Studio. // class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen // To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project. // with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class AppResources { public class AppResources {
@ -142,6 +142,15 @@ namespace Bit.App.Resources {
} }
} }
/// <summary>
/// Looks up a localized string similar to API Server URL.
/// </summary>
public static string ApiUrl {
get {
return ResourceManager.GetString("ApiUrl", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to App Extension. /// Looks up a localized string similar to App Extension.
/// </summary> /// </summary>
@ -682,6 +691,24 @@ namespace Bit.App.Resources {
} }
} }
/// <summary>
/// Looks up a localized string similar to Custom Environment.
/// </summary>
public static string CustomEnvironment {
get {
return ResourceManager.GetString("CustomEnvironment", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to For advanced users. You can specify the base URL of each service independently..
/// </summary>
public static string CustomEnvironmentFooter {
get {
return ResourceManager.GetString("CustomEnvironmentFooter", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Delete. /// Looks up a localized string similar to Delete.
/// </summary> /// </summary>
@ -880,6 +907,15 @@ namespace Bit.App.Resources {
} }
} }
/// <summary>
/// Looks up a localized string similar to The environment URLs have been saved..
/// </summary>
public static string EnvironmentSaved {
get {
return ResourceManager.GetString("EnvironmentSaved", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Re-enable App Extension. /// Looks up a localized string similar to Re-enable App Extension.
/// </summary> /// </summary>
@ -1132,6 +1168,15 @@ namespace Bit.App.Resources {
} }
} }
/// <summary>
/// Looks up a localized string similar to {0} is not correctly formatted..
/// </summary>
public static string FormattedIncorrectly {
get {
return ResourceManager.GetString("FormattedIncorrectly", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Generate Password. /// Looks up a localized string similar to Generate Password.
/// </summary> /// </summary>
@ -1186,6 +1231,15 @@ namespace Bit.App.Resources {
} }
} }
/// <summary>
/// Looks up a localized string similar to Identity Server URL.
/// </summary>
public static string IdentityUrl {
get {
return ResourceManager.GetString("IdentityUrl", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Import Logins. /// Looks up a localized string similar to Import Logins.
/// </summary> /// </summary>
@ -2005,6 +2059,24 @@ namespace Bit.App.Resources {
} }
} }
/// <summary>
/// Looks up a localized string similar to Self-hosted Environment.
/// </summary>
public static string SelfHostedEnvironment {
get {
return ResourceManager.GetString("SelfHostedEnvironment", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Specify the base URL of your on-premise hosted bitwarden installation..
/// </summary>
public static string SelfHostedEnvironmentFooter {
get {
return ResourceManager.GetString("SelfHostedEnvironmentFooter", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Send verification code email again. /// Looks up a localized string similar to Send verification code email again.
/// </summary> /// </summary>
@ -2014,6 +2086,15 @@ namespace Bit.App.Resources {
} }
} }
/// <summary>
/// Looks up a localized string similar to Server URL.
/// </summary>
public static string ServerUrl {
get {
return ResourceManager.GetString("ServerUrl", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Set PIN. /// Looks up a localized string similar to Set PIN.
/// </summary> /// </summary>

View file

@ -995,4 +995,33 @@
<data name="LearnMore" xml:space="preserve"> <data name="LearnMore" xml:space="preserve">
<value>Learn More</value> <value>Learn More</value>
</data> </data>
<data name="ApiUrl" xml:space="preserve">
<value>API Server URL</value>
</data>
<data name="CustomEnvironment" xml:space="preserve">
<value>Custom Environment</value>
</data>
<data name="CustomEnvironmentFooter" xml:space="preserve">
<value>For advanced users. You can specify the base URL of each service independently.</value>
</data>
<data name="EnvironmentSaved" xml:space="preserve">
<value>The environment URLs have been saved.</value>
</data>
<data name="FormattedIncorrectly" xml:space="preserve">
<value>{0} is not correctly formatted.</value>
<comment>Validation error when something is not formatted correctly, such as a URL or email address.</comment>
</data>
<data name="IdentityUrl" xml:space="preserve">
<value>Identity Server URL</value>
<comment>"Identity" refers to an identity server. See more context here https://en.wikipedia.org/wiki/Identity_management</comment>
</data>
<data name="SelfHostedEnvironment" xml:space="preserve">
<value>Self-hosted Environment</value>
</data>
<data name="SelfHostedEnvironmentFooter" xml:space="preserve">
<value>Specify the base URL of your on-premise hosted bitwarden installation.</value>
</data>
<data name="ServerUrl" xml:space="preserve">
<value>Server URL</value>
</data>
</root> </root>

View file

@ -85,5 +85,59 @@ namespace Bit.App.Services
_settings.AddOrUpdateValue(Constants.SecurityStamp, value); _settings.AddOrUpdateValue(Constants.SecurityStamp, value);
} }
} }
public string BaseUrl
{
get
{
return _settings.GetValueOrDefault<string>(Constants.BaseUrl);
}
set
{
if(value == null)
{
_settings.Remove(Constants.BaseUrl);
return;
}
_settings.AddOrUpdateValue(Constants.BaseUrl, value);
}
}
public string ApiUrl
{
get
{
return _settings.GetValueOrDefault<string>(Constants.ApiUrl);
}
set
{
if(value == null)
{
_settings.Remove(Constants.ApiUrl);
return;
}
_settings.AddOrUpdateValue(Constants.ApiUrl, value);
}
}
public string IdentityUrl
{
get
{
return _settings.GetValueOrDefault<string>(Constants.IdentityUrl);
}
set
{
if(value == null)
{
_settings.Remove(Constants.IdentityUrl);
return;
}
_settings.AddOrUpdateValue(Constants.IdentityUrl, value);
}
}
} }
} }

View file

@ -1,6 +1,8 @@
using System.Net.Http; using System.Net.Http;
using System; using System;
using System.Net.Http.Headers; using System.Net.Http.Headers;
using XLabs.Ioc;
using Bit.App.Abstractions;
namespace Bit.App namespace Bit.App
{ {
@ -18,12 +20,25 @@ namespace Bit.App
} }
private void Init() private void Init()
{
DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var appSettings = Resolver.Resolve<IAppSettingsService>();
if(!string.IsNullOrWhiteSpace(appSettings.BaseUrl))
{
BaseAddress = new Uri($"{appSettings.BaseUrl}/api");
}
else if(!string.IsNullOrWhiteSpace(appSettings.ApiUrl))
{
BaseAddress = new Uri($"{appSettings.ApiUrl}");
}
else
{ {
//BaseAddress = new Uri("http://169.254.80.80:4000"); // Desktop from VS Android Emulator //BaseAddress = new Uri("http://169.254.80.80:4000"); // Desktop from VS Android Emulator
//BaseAddress = new Uri("http://192.168.1.3:4000"); // Desktop //BaseAddress = new Uri("http://192.168.1.3:4000"); // Desktop
//BaseAddress = new Uri("https://preview-api.bitwarden.com"); // Preview //BaseAddress = new Uri("https://preview-api.bitwarden.com"); // Preview
BaseAddress = new Uri("https://api.bitwarden.com"); // Production BaseAddress = new Uri("https://api.bitwarden.com"); // Production
DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); }
} }
} }
} }

View file

@ -1,6 +1,8 @@
using System.Net.Http; using System.Net.Http;
using System; using System;
using System.Net.Http.Headers; using System.Net.Http.Headers;
using XLabs.Ioc;
using Bit.App.Abstractions;
namespace Bit.App namespace Bit.App
{ {
@ -18,12 +20,25 @@ namespace Bit.App
} }
private void Init() private void Init()
{
DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var appSettings = Resolver.Resolve<IAppSettingsService>();
if(!string.IsNullOrWhiteSpace(appSettings.BaseUrl))
{
BaseAddress = new Uri($"{appSettings.BaseUrl}/identity");
}
else if(!string.IsNullOrWhiteSpace(appSettings.IdentityUrl))
{
BaseAddress = new Uri($"{appSettings.IdentityUrl}");
}
else
{ {
//BaseAddress = new Uri("http://169.254.80.80:33656"); // Desktop from VS Android Emulator //BaseAddress = new Uri("http://169.254.80.80:33656"); // Desktop from VS Android Emulator
//BaseAddress = new Uri("http://192.168.1.3:33656"); // Desktop //BaseAddress = new Uri("http://192.168.1.3:33656"); // Desktop
//BaseAddress = new Uri("https://preview-identity.bitwarden.com"); // Preview //BaseAddress = new Uri("https://preview-identity.bitwarden.com"); // Preview
BaseAddress = new Uri("https://identity.bitwarden.com"); // Production BaseAddress = new Uri("https://identity.bitwarden.com"); // Production
DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); }
} }
} }
} }

BIN
src/iOS/Resources/cog.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 610 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

@ -785,6 +785,15 @@
<ItemGroup> <ItemGroup>
<BundleResource Include="Resources\trash%403x.png" /> <BundleResource Include="Resources\trash%403x.png" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<BundleResource Include="Resources\cog.png" />
</ItemGroup>
<ItemGroup>
<BundleResource Include="Resources\cog%402x.png" />
</ItemGroup>
<ItemGroup>
<BundleResource Include="Resources\cog%403x.png" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" /> <Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup> <PropertyGroup>

View file

@ -224,42 +224,6 @@ namespace Bit.Android.Test
// aapt resource value: 0x7f0100b4 // aapt resource value: 0x7f0100b4
public const int activityChooserViewStyle = 2130772148; public const int activityChooserViewStyle = 2130772148;
// aapt resource value: 0x7f01012b
public const int ahBarColor = 2130772267;
// aapt resource value: 0x7f010133
public const int ahBarLength = 2130772275;
// aapt resource value: 0x7f010132
public const int ahBarWidth = 2130772274;
// aapt resource value: 0x7f010130
public const int ahCircleColor = 2130772272;
// aapt resource value: 0x7f01012f
public const int ahDelayMillis = 2130772271;
// aapt resource value: 0x7f010131
public const int ahRadius = 2130772273;
// aapt resource value: 0x7f01012c
public const int ahRimColor = 2130772268;
// aapt resource value: 0x7f01012d
public const int ahRimWidth = 2130772269;
// aapt resource value: 0x7f01012e
public const int ahSpinSpeed = 2130772270;
// aapt resource value: 0x7f010128
public const int ahText = 2130772264;
// aapt resource value: 0x7f010129
public const int ahTextColor = 2130772265;
// aapt resource value: 0x7f01012a
public const int ahTextSize = 2130772266;
// aapt resource value: 0x7f0100d7 // aapt resource value: 0x7f0100d7
public const int alertDialogButtonGroupStyle = 2130772183; public const int alertDialogButtonGroupStyle = 2130772183;
@ -1096,32 +1060,32 @@ namespace Bit.Android.Test
public partial class Color public partial class Color
{ {
// aapt resource value: 0x7f0c0052 // aapt resource value: 0x7f0c0048
public const int abc_background_cache_hint_selector_material_dark = 2131492946; public const int abc_background_cache_hint_selector_material_dark = 2131492936;
// aapt resource value: 0x7f0c0053 // aapt resource value: 0x7f0c0049
public const int abc_background_cache_hint_selector_material_light = 2131492947; public const int abc_background_cache_hint_selector_material_light = 2131492937;
// aapt resource value: 0x7f0c0054 // aapt resource value: 0x7f0c004a
public const int abc_color_highlight_material = 2131492948; public const int abc_color_highlight_material = 2131492938;
// aapt resource value: 0x7f0c000e // aapt resource value: 0x7f0c000e
public const int abc_input_method_navigation_guard = 2131492878; public const int abc_input_method_navigation_guard = 2131492878;
// aapt resource value: 0x7f0c0055 // aapt resource value: 0x7f0c004b
public const int abc_primary_text_disable_only_material_dark = 2131492949; public const int abc_primary_text_disable_only_material_dark = 2131492939;
// aapt resource value: 0x7f0c0056 // aapt resource value: 0x7f0c004c
public const int abc_primary_text_disable_only_material_light = 2131492950; public const int abc_primary_text_disable_only_material_light = 2131492940;
// aapt resource value: 0x7f0c0057 // aapt resource value: 0x7f0c004d
public const int abc_primary_text_material_dark = 2131492951; public const int abc_primary_text_material_dark = 2131492941;
// aapt resource value: 0x7f0c0058 // aapt resource value: 0x7f0c004e
public const int abc_primary_text_material_light = 2131492952; public const int abc_primary_text_material_light = 2131492942;
// aapt resource value: 0x7f0c0059 // aapt resource value: 0x7f0c004f
public const int abc_search_url_text = 2131492953; public const int abc_search_url_text = 2131492943;
// aapt resource value: 0x7f0c000f // aapt resource value: 0x7f0c000f
public const int abc_search_url_text_normal = 2131492879; public const int abc_search_url_text_normal = 2131492879;
@ -1132,11 +1096,11 @@ namespace Bit.Android.Test
// aapt resource value: 0x7f0c0011 // aapt resource value: 0x7f0c0011
public const int abc_search_url_text_selected = 2131492881; public const int abc_search_url_text_selected = 2131492881;
// aapt resource value: 0x7f0c005a // aapt resource value: 0x7f0c0050
public const int abc_secondary_text_material_dark = 2131492954; public const int abc_secondary_text_material_dark = 2131492944;
// aapt resource value: 0x7f0c005b // aapt resource value: 0x7f0c0051
public const int abc_secondary_text_material_light = 2131492955; public const int abc_secondary_text_material_light = 2131492945;
// aapt resource value: 0x7f0c0012 // aapt resource value: 0x7f0c0012
public const int accent_material_dark = 2131492882; public const int accent_material_dark = 2131492882;
@ -1252,36 +1216,6 @@ namespace Bit.Android.Test
// aapt resource value: 0x7f0c0029 // aapt resource value: 0x7f0c0029
public const int hint_foreground_material_light = 2131492905; public const int hint_foreground_material_light = 2131492905;
// aapt resource value: 0x7f0c0048
public const int hockeyapp_background_header = 2131492936;
// aapt resource value: 0x7f0c0049
public const int hockeyapp_background_light = 2131492937;
// aapt resource value: 0x7f0c004a
public const int hockeyapp_background_white = 2131492938;
// aapt resource value: 0x7f0c004b
public const int hockeyapp_button_background = 2131492939;
// aapt resource value: 0x7f0c004c
public const int hockeyapp_button_background_pressed = 2131492940;
// aapt resource value: 0x7f0c004d
public const int hockeyapp_button_background_selected = 2131492941;
// aapt resource value: 0x7f0c004e
public const int hockeyapp_text_black = 2131492942;
// aapt resource value: 0x7f0c004f
public const int hockeyapp_text_light = 2131492943;
// aapt resource value: 0x7f0c0050
public const int hockeyapp_text_normal = 2131492944;
// aapt resource value: 0x7f0c0051
public const int hockeyapp_text_white = 2131492945;
// aapt resource value: 0x7f0c002a // aapt resource value: 0x7f0c002a
public const int material_blue_grey_800 = 2131492906; public const int material_blue_grey_800 = 2131492906;
@ -1366,11 +1300,11 @@ namespace Bit.Android.Test
// aapt resource value: 0x7f0c0045 // aapt resource value: 0x7f0c0045
public const int switch_thumb_disabled_material_light = 2131492933; public const int switch_thumb_disabled_material_light = 2131492933;
// aapt resource value: 0x7f0c005c // aapt resource value: 0x7f0c0052
public const int switch_thumb_material_dark = 2131492956; public const int switch_thumb_material_dark = 2131492946;
// aapt resource value: 0x7f0c005d // aapt resource value: 0x7f0c0053
public const int switch_thumb_material_light = 2131492957; public const int switch_thumb_material_light = 2131492947;
// aapt resource value: 0x7f0c0046 // aapt resource value: 0x7f0c0046
public const int switch_thumb_normal_material_dark = 2131492934; public const int switch_thumb_normal_material_dark = 2131492934;
@ -1969,25 +1903,10 @@ namespace Bit.Android.Test
public const int fingerprint_white = 2130837581; public const int fingerprint_white = 2130837581;
// aapt resource value: 0x7f02004e // aapt resource value: 0x7f02004e
public const int hockeyapp_btn_background = 2130837582; public const int icon = 2130837582;
// aapt resource value: 0x7f02004f // aapt resource value: 0x7f02004f
public const int ic_errorstatus = 2130837583; public const int notification_template_icon_bg = 2130837583;
// aapt resource value: 0x7f020050
public const int ic_successstatus = 2130837584;
// aapt resource value: 0x7f020051
public const int icon = 2130837585;
// aapt resource value: 0x7f020054
public const int notification_template_icon_bg = 2130837588;
// aapt resource value: 0x7f020052
public const int roundedbg = 2130837586;
// aapt resource value: 0x7f020053
public const int roundedbgdark = 2130837587;
static Drawable() static Drawable()
{ {
@ -2002,62 +1921,62 @@ namespace Bit.Android.Test
public partial class Id public partial class Id
{ {
// aapt resource value: 0x7f0800a6 // aapt resource value: 0x7f080086
public const int OptionHostName = 2131230886; public const int OptionHostName = 2131230854;
// aapt resource value: 0x7f0800a7 // aapt resource value: 0x7f080087
public const int OptionPort = 2131230887; public const int OptionPort = 2131230855;
// aapt resource value: 0x7f0800a5 // aapt resource value: 0x7f080085
public const int OptionRemoteServer = 2131230885; public const int OptionRemoteServer = 2131230853;
// aapt resource value: 0x7f0800b5 // aapt resource value: 0x7f080095
public const int OptionsButton = 2131230901; public const int OptionsButton = 2131230869;
// aapt resource value: 0x7f0800b0 // aapt resource value: 0x7f080090
public const int ResultFullName = 2131230896; public const int ResultFullName = 2131230864;
// aapt resource value: 0x7f0800b2 // aapt resource value: 0x7f080092
public const int ResultMessage = 2131230898; public const int ResultMessage = 2131230866;
// aapt resource value: 0x7f0800b1 // aapt resource value: 0x7f080091
public const int ResultResultState = 2131230897; public const int ResultResultState = 2131230865;
// aapt resource value: 0x7f0800af // aapt resource value: 0x7f08008f
public const int ResultRunSingleMethodTest = 2131230895; public const int ResultRunSingleMethodTest = 2131230863;
// aapt resource value: 0x7f0800b3 // aapt resource value: 0x7f080093
public const int ResultStackTrace = 2131230899; public const int ResultStackTrace = 2131230867;
// aapt resource value: 0x7f0800ab // aapt resource value: 0x7f08008b
public const int ResultsFailed = 2131230891; public const int ResultsFailed = 2131230859;
// aapt resource value: 0x7f0800a8 // aapt resource value: 0x7f080088
public const int ResultsId = 2131230888; public const int ResultsId = 2131230856;
// aapt resource value: 0x7f0800ac // aapt resource value: 0x7f08008c
public const int ResultsIgnored = 2131230892; public const int ResultsIgnored = 2131230860;
// aapt resource value: 0x7f0800ad // aapt resource value: 0x7f08008d
public const int ResultsInconclusive = 2131230893; public const int ResultsInconclusive = 2131230861;
// aapt resource value: 0x7f0800ae // aapt resource value: 0x7f08008e
public const int ResultsMessage = 2131230894; public const int ResultsMessage = 2131230862;
// aapt resource value: 0x7f0800aa // aapt resource value: 0x7f08008a
public const int ResultsPassed = 2131230890; public const int ResultsPassed = 2131230858;
// aapt resource value: 0x7f0800a9 // aapt resource value: 0x7f080089
public const int ResultsResult = 2131230889; public const int ResultsResult = 2131230857;
// aapt resource value: 0x7f0800b4 // aapt resource value: 0x7f080094
public const int RunTestsButton = 2131230900; public const int RunTestsButton = 2131230868;
// aapt resource value: 0x7f0800b6 // aapt resource value: 0x7f080096
public const int TestSuiteListView = 2131230902; public const int TestSuiteListView = 2131230870;
// aapt resource value: 0x7f080098 // aapt resource value: 0x7f080078
public const int action0 = 2131230872; public const int action0 = 2131230840;
// aapt resource value: 0x7f08005c // aapt resource value: 0x7f08005c
public const int action_bar = 2131230812; public const int action_bar = 2131230812;
@ -2083,8 +2002,8 @@ namespace Bit.Android.Test
// aapt resource value: 0x7f08005d // aapt resource value: 0x7f08005d
public const int action_context_bar = 2131230813; public const int action_context_bar = 2131230813;
// aapt resource value: 0x7f08009c // aapt resource value: 0x7f08007c
public const int action_divider = 2131230876; public const int action_divider = 2131230844;
// aapt resource value: 0x7f080004 // aapt resource value: 0x7f080004
public const int action_menu_divider = 2131230724; public const int action_menu_divider = 2131230724;
@ -2125,26 +2044,8 @@ namespace Bit.Android.Test
// aapt resource value: 0x7f080046 // aapt resource value: 0x7f080046
public const int buttonPanel = 2131230790; public const int buttonPanel = 2131230790;
// aapt resource value: 0x7f080085 // aapt resource value: 0x7f080079
public const int button_add_response = 2131230853; public const int cancel_action = 2131230841;
// aapt resource value: 0x7f080080
public const int button_attachment = 2131230848;
// aapt resource value: 0x7f08008a
public const int button_login = 2131230858;
// aapt resource value: 0x7f080086
public const int button_refresh = 2131230854;
// aapt resource value: 0x7f080081
public const int button_send = 2131230849;
// aapt resource value: 0x7f08008e
public const int button_update = 2131230862;
// aapt resource value: 0x7f080099
public const int cancel_action = 2131230873;
// aapt resource value: 0x7f080016 // aapt resource value: 0x7f080016
public const int center = 2131230742; public const int center = 2131230742;
@ -2158,8 +2059,8 @@ namespace Bit.Android.Test
// aapt resource value: 0x7f080054 // aapt resource value: 0x7f080054
public const int checkbox = 2131230804; public const int checkbox = 2131230804;
// aapt resource value: 0x7f08009f // aapt resource value: 0x7f08007f
public const int chronometer = 2131230879; public const int chronometer = 2131230847;
// aapt resource value: 0x7f08001f // aapt resource value: 0x7f08001f
public const int clip_horizontal = 2131230751; public const int clip_horizontal = 2131230751;
@ -2170,9 +2071,6 @@ namespace Bit.Android.Test
// aapt resource value: 0x7f080038 // aapt resource value: 0x7f080038
public const int collapseActionView = 2131230776; public const int collapseActionView = 2131230776;
// aapt resource value: 0x7f0800b7
public const int contentFrame = 2131230903;
// aapt resource value: 0x7f08004c // aapt resource value: 0x7f08004c
public const int contentPanel = 2131230796; public const int contentPanel = 2131230796;
@ -2212,8 +2110,8 @@ namespace Bit.Android.Test
// aapt resource value: 0x7f080019 // aapt resource value: 0x7f080019
public const int end = 2131230745; public const int end = 2131230745;
// aapt resource value: 0x7f0800a4 // aapt resource value: 0x7f080084
public const int end_padder = 2131230884; public const int end_padder = 2131230852;
// aapt resource value: 0x7f08000e // aapt resource value: 0x7f08000e
public const int enterAlways = 2131230734; public const int enterAlways = 2131230734;
@ -2269,80 +2167,29 @@ namespace Bit.Android.Test
// aapt resource value: 0x7f080041 // aapt resource value: 0x7f080041
public const int image = 2131230785; public const int image = 2131230785;
// aapt resource value: 0x7f0800a3 // aapt resource value: 0x7f080083
public const int info = 2131230883; public const int info = 2131230851;
// aapt resource value: 0x7f08007c
public const int input_email = 2131230844;
// aapt resource value: 0x7f08007e
public const int input_message = 2131230846;
// aapt resource value: 0x7f08007b
public const int input_name = 2131230843;
// aapt resource value: 0x7f080089
public const int input_password = 2131230857;
// aapt resource value: 0x7f08007d
public const int input_subject = 2131230845;
// aapt resource value: 0x7f080000 // aapt resource value: 0x7f080000
public const int item_touch_helper_previous_elevation = 2131230720; public const int item_touch_helper_previous_elevation = 2131230720;
// aapt resource value: 0x7f080090
public const int label_author = 2131230864;
// aapt resource value: 0x7f080091
public const int label_date = 2131230865;
// aapt resource value: 0x7f080083
public const int label_last_updated = 2131230851;
// aapt resource value: 0x7f080078
public const int label_message = 2131230840;
// aapt resource value: 0x7f080092
public const int label_text = 2131230866;
// aapt resource value: 0x7f08008c
public const int label_title = 2131230860;
// aapt resource value: 0x7f08008d
public const int label_version = 2131230861;
// aapt resource value: 0x7f08001b // aapt resource value: 0x7f08001b
public const int left = 2131230747; public const int left = 2131230747;
// aapt resource value: 0x7f08009d // aapt resource value: 0x7f08007d
public const int line1 = 2131230877; public const int line1 = 2131230845;
// aapt resource value: 0x7f0800a1 // aapt resource value: 0x7f080081
public const int line3 = 2131230881; public const int line3 = 2131230849;
// aapt resource value: 0x7f080027 // aapt resource value: 0x7f080027
public const int listMode = 2131230759; public const int listMode = 2131230759;
// aapt resource value: 0x7f080093
public const int list_attachments = 2131230867;
// aapt resource value: 0x7f080087
public const int list_feedback_messages = 2131230855;
// aapt resource value: 0x7f080043 // aapt resource value: 0x7f080043
public const int list_item = 2131230787; public const int list_item = 2131230787;
// aapt resource value: 0x7f080096 // aapt resource value: 0x7f08007b
public const int loadingImage = 2131230870; public const int media_actions = 2131230843;
// aapt resource value: 0x7f080094
public const int loadingProgressBar = 2131230868;
// aapt resource value: 0x7f080097
public const int loadingProgressWheel = 2131230871;
// aapt resource value: 0x7f08009b
public const int media_actions = 2131230875;
// aapt resource value: 0x7f080036 // aapt resource value: 0x7f080036
public const int middle = 2131230774; public const int middle = 2131230774;
@ -2476,8 +2323,8 @@ namespace Bit.Android.Test
// aapt resource value: 0x7f08001d // aapt resource value: 0x7f08001d
public const int start = 2131230749; public const int start = 2131230749;
// aapt resource value: 0x7f08009a // aapt resource value: 0x7f08007a
public const int status_bar_latest_event_content = 2131230874; public const int status_bar_latest_event_content = 2131230842;
// aapt resource value: 0x7f080067 // aapt resource value: 0x7f080067
public const int submit_area = 2131230823; public const int submit_area = 2131230823;
@ -2485,23 +2332,17 @@ namespace Bit.Android.Test
// aapt resource value: 0x7f080028 // aapt resource value: 0x7f080028
public const int tabMode = 2131230760; public const int tabMode = 2131230760;
// aapt resource value: 0x7f0800a2 // aapt resource value: 0x7f080082
public const int text = 2131230882; public const int text = 2131230850;
// aapt resource value: 0x7f0800a0 // aapt resource value: 0x7f080080
public const int text2 = 2131230880; public const int text2 = 2131230848;
// aapt resource value: 0x7f08004f // aapt resource value: 0x7f08004f
public const int textSpacerNoButtons = 2131230799; public const int textSpacerNoButtons = 2131230799;
// aapt resource value: 0x7f080095 // aapt resource value: 0x7f08007e
public const int textViewStatus = 2131230869; public const int time = 2131230846;
// aapt resource value: 0x7f080088
public const int text_headline = 2131230856;
// aapt resource value: 0x7f08009e
public const int time = 2131230878;
// aapt resource value: 0x7f080045 // aapt resource value: 0x7f080045
public const int title = 2131230789; public const int title = 2131230789;
@ -2524,36 +2365,15 @@ namespace Bit.Android.Test
// aapt resource value: 0x7f08002e // aapt resource value: 0x7f08002e
public const int useLogo = 2131230766; public const int useLogo = 2131230766;
// aapt resource value: 0x7f08008b
public const int view_header = 2131230859;
// aapt resource value: 0x7f080001 // aapt resource value: 0x7f080001
public const int view_offset_helper = 2131230721; public const int view_offset_helper = 2131230721;
// aapt resource value: 0x7f08008f
public const int web_update_details = 2131230863;
// aapt resource value: 0x7f08003b // aapt resource value: 0x7f08003b
public const int withText = 2131230779; public const int withText = 2131230779;
// aapt resource value: 0x7f08002f // aapt resource value: 0x7f08002f
public const int wrap_content = 2131230767; public const int wrap_content = 2131230767;
// aapt resource value: 0x7f08007f
public const int wrapper_attachments = 2131230847;
// aapt resource value: 0x7f08007a
public const int wrapper_feedback = 2131230842;
// aapt resource value: 0x7f080079
public const int wrapper_feedback_scroll = 2131230841;
// aapt resource value: 0x7f080082
public const int wrapper_messages = 2131230850;
// aapt resource value: 0x7f080084
public const int wrapper_messages_buttons = 2131230852;
static Id() static Id()
{ {
global::Android.Runtime.ResourceIdManager.UpdateIdValues(); global::Android.Runtime.ResourceIdManager.UpdateIdValues();
@ -2719,85 +2539,52 @@ namespace Bit.Android.Test
public const int FingerprintDialog = 2130903077; public const int FingerprintDialog = 2130903077;
// aapt resource value: 0x7f030026 // aapt resource value: 0x7f030026
public const int hockeyapp_activity_expiry_info = 2130903078; public const int notification_media_action = 2130903078;
// aapt resource value: 0x7f030027 // aapt resource value: 0x7f030027
public const int hockeyapp_activity_feedback = 2130903079; public const int notification_media_cancel_action = 2130903079;
// aapt resource value: 0x7f030028 // aapt resource value: 0x7f030028
public const int hockeyapp_activity_login = 2130903080; public const int notification_template_big_media = 2130903080;
// aapt resource value: 0x7f030029 // aapt resource value: 0x7f030029
public const int hockeyapp_activity_update = 2130903081; public const int notification_template_big_media_narrow = 2130903081;
// aapt resource value: 0x7f03002a // aapt resource value: 0x7f03002a
public const int hockeyapp_fragment_update = 2130903082; public const int notification_template_lines = 2130903082;
// aapt resource value: 0x7f03002b // aapt resource value: 0x7f03002b
public const int hockeyapp_view_feedback_message = 2130903083; public const int notification_template_media = 2130903083;
// aapt resource value: 0x7f03002c // aapt resource value: 0x7f03002c
public const int loading = 2130903084; public const int notification_template_part_chronometer = 2130903084;
// aapt resource value: 0x7f03002d // aapt resource value: 0x7f03002d
public const int loadingimage = 2130903085; public const int notification_template_part_time = 2130903085;
// aapt resource value: 0x7f03002e // aapt resource value: 0x7f03002e
public const int loadingprogress = 2130903086; public const int options = 2130903086;
// aapt resource value: 0x7f03002f // aapt resource value: 0x7f03002f
public const int notification_media_action = 2130903087; public const int results = 2130903087;
// aapt resource value: 0x7f030030 // aapt resource value: 0x7f030030
public const int notification_media_cancel_action = 2130903088; public const int select_dialog_item_material = 2130903088;
// aapt resource value: 0x7f030031 // aapt resource value: 0x7f030031
public const int notification_template_big_media = 2130903089; public const int select_dialog_multichoice_material = 2130903089;
// aapt resource value: 0x7f030032 // aapt resource value: 0x7f030032
public const int notification_template_big_media_narrow = 2130903090; public const int select_dialog_singlechoice_material = 2130903090;
// aapt resource value: 0x7f030033 // aapt resource value: 0x7f030033
public const int notification_template_lines = 2130903091; public const int support_simple_spinner_dropdown_item = 2130903091;
// aapt resource value: 0x7f030034 // aapt resource value: 0x7f030034
public const int notification_template_media = 2130903092; public const int test_result = 2130903092;
// aapt resource value: 0x7f030035 // aapt resource value: 0x7f030035
public const int notification_template_part_chronometer = 2130903093; public const int test_suite = 2130903093;
// aapt resource value: 0x7f030036
public const int notification_template_part_time = 2130903094;
// aapt resource value: 0x7f030037
public const int options = 2130903095;
// aapt resource value: 0x7f030038
public const int results = 2130903096;
// aapt resource value: 0x7f030039
public const int select_dialog_item_material = 2130903097;
// aapt resource value: 0x7f03003a
public const int select_dialog_multichoice_material = 2130903098;
// aapt resource value: 0x7f03003b
public const int select_dialog_singlechoice_material = 2130903099;
// aapt resource value: 0x7f03003c
public const int support_simple_spinner_dropdown_item = 2130903100;
// aapt resource value: 0x7f03003d
public const int test_result = 2130903101;
// aapt resource value: 0x7f03003e
public const int test_suite = 2130903102;
// aapt resource value: 0x7f03003f
public const int zxingscanneractivitylayout = 2130903103;
// aapt resource value: 0x7f030040
public const int zxingscannerfragmentlayout = 2130903104;
static Layout() static Layout()
{ {
@ -2828,11 +2615,11 @@ namespace Bit.Android.Test
public partial class String public partial class String
{ {
// aapt resource value: 0x7f090063 // aapt resource value: 0x7f09001b
public const int ApplicationName = 2131296355; public const int ApplicationName = 2131296283;
// aapt resource value: 0x7f090062 // aapt resource value: 0x7f09001a
public const int Hello = 2131296354; public const int Hello = 2131296282;
// aapt resource value: 0x7f090006 // aapt resource value: 0x7f090006
public const int abc_action_bar_home_description = 2131296262; public const int abc_action_bar_home_description = 2131296262;
@ -2909,222 +2696,6 @@ namespace Bit.Android.Test
// aapt resource value: 0x7f090002 // aapt resource value: 0x7f090002
public const int common_google_play_services_unknown_issue = 2131296258; public const int common_google_play_services_unknown_issue = 2131296258;
// aapt resource value: 0x7f09001b
public const int hockeyapp_crash_dialog_app_name_fallback = 2131296283;
// aapt resource value: 0x7f09001c
public const int hockeyapp_crash_dialog_message = 2131296284;
// aapt resource value: 0x7f09001d
public const int hockeyapp_crash_dialog_negative_button = 2131296285;
// aapt resource value: 0x7f09001e
public const int hockeyapp_crash_dialog_neutral_button = 2131296286;
// aapt resource value: 0x7f09001f
public const int hockeyapp_crash_dialog_positive_button = 2131296287;
// aapt resource value: 0x7f090020
public const int hockeyapp_crash_dialog_title = 2131296288;
// aapt resource value: 0x7f090021
public const int hockeyapp_dialog_error_message = 2131296289;
// aapt resource value: 0x7f090022
public const int hockeyapp_dialog_error_title = 2131296290;
// aapt resource value: 0x7f090023
public const int hockeyapp_dialog_negative_button = 2131296291;
// aapt resource value: 0x7f090024
public const int hockeyapp_dialog_positive_button = 2131296292;
// aapt resource value: 0x7f090025
public const int hockeyapp_download_failed_dialog_message = 2131296293;
// aapt resource value: 0x7f090026
public const int hockeyapp_download_failed_dialog_negative_button = 2131296294;
// aapt resource value: 0x7f090027
public const int hockeyapp_download_failed_dialog_positive_button = 2131296295;
// aapt resource value: 0x7f090028
public const int hockeyapp_download_failed_dialog_title = 2131296296;
// aapt resource value: 0x7f090029
public const int hockeyapp_error_no_network_message = 2131296297;
// aapt resource value: 0x7f09002a
public const int hockeyapp_expiry_info_text = 2131296298;
// aapt resource value: 0x7f09002b
public const int hockeyapp_expiry_info_title = 2131296299;
// aapt resource value: 0x7f09002c
public const int hockeyapp_feedback_attach_file = 2131296300;
// aapt resource value: 0x7f09002d
public const int hockeyapp_feedback_attach_picture = 2131296301;
// aapt resource value: 0x7f09002e
public const int hockeyapp_feedback_attachment_button_text = 2131296302;
// aapt resource value: 0x7f09002f
public const int hockeyapp_feedback_attachment_error = 2131296303;
// aapt resource value: 0x7f090030
public const int hockeyapp_feedback_attachment_loading = 2131296304;
// aapt resource value: 0x7f090031
public const int hockeyapp_feedback_email_hint = 2131296305;
// aapt resource value: 0x7f090032
public const int hockeyapp_feedback_failed_text = 2131296306;
// aapt resource value: 0x7f090033
public const int hockeyapp_feedback_failed_title = 2131296307;
// aapt resource value: 0x7f090034
public const int hockeyapp_feedback_fetching_feedback_text = 2131296308;
// aapt resource value: 0x7f090035
public const int hockeyapp_feedback_generic_error = 2131296309;
// aapt resource value: 0x7f090036
public const int hockeyapp_feedback_last_updated_text = 2131296310;
// aapt resource value: 0x7f090037
public const int hockeyapp_feedback_max_attachments_allowed = 2131296311;
// aapt resource value: 0x7f090038
public const int hockeyapp_feedback_message_hint = 2131296312;
// aapt resource value: 0x7f090039
public const int hockeyapp_feedback_name_hint = 2131296313;
// aapt resource value: 0x7f09003a
public const int hockeyapp_feedback_refresh_button_text = 2131296314;
// aapt resource value: 0x7f09003b
public const int hockeyapp_feedback_response_button_text = 2131296315;
// aapt resource value: 0x7f09003c
public const int hockeyapp_feedback_select_file = 2131296316;
// aapt resource value: 0x7f09003d
public const int hockeyapp_feedback_select_picture = 2131296317;
// aapt resource value: 0x7f09003e
public const int hockeyapp_feedback_send_button_text = 2131296318;
// aapt resource value: 0x7f09003f
public const int hockeyapp_feedback_send_generic_error = 2131296319;
// aapt resource value: 0x7f090040
public const int hockeyapp_feedback_send_network_error = 2131296320;
// aapt resource value: 0x7f090041
public const int hockeyapp_feedback_sending_feedback_text = 2131296321;
// aapt resource value: 0x7f090042
public const int hockeyapp_feedback_subject_hint = 2131296322;
// aapt resource value: 0x7f090043
public const int hockeyapp_feedback_title = 2131296323;
// aapt resource value: 0x7f090044
public const int hockeyapp_feedback_validate_email_empty = 2131296324;
// aapt resource value: 0x7f090045
public const int hockeyapp_feedback_validate_email_error = 2131296325;
// aapt resource value: 0x7f090046
public const int hockeyapp_feedback_validate_name_error = 2131296326;
// aapt resource value: 0x7f090047
public const int hockeyapp_feedback_validate_subject_error = 2131296327;
// aapt resource value: 0x7f090048
public const int hockeyapp_feedback_validate_text_error = 2131296328;
// aapt resource value: 0x7f090049
public const int hockeyapp_login_email_hint = 2131296329;
// aapt resource value: 0x7f09004a
public const int hockeyapp_login_headline_text = 2131296330;
// aapt resource value: 0x7f09004b
public const int hockeyapp_login_headline_text_email_only = 2131296331;
// aapt resource value: 0x7f09004c
public const int hockeyapp_login_login_button_text = 2131296332;
// aapt resource value: 0x7f09004d
public const int hockeyapp_login_missing_credentials_toast = 2131296333;
// aapt resource value: 0x7f09004e
public const int hockeyapp_login_password_hint = 2131296334;
// aapt resource value: 0x7f09004f
public const int hockeyapp_paint_dialog_message = 2131296335;
// aapt resource value: 0x7f090050
public const int hockeyapp_paint_dialog_negative_button = 2131296336;
// aapt resource value: 0x7f090051
public const int hockeyapp_paint_dialog_neutral_button = 2131296337;
// aapt resource value: 0x7f090052
public const int hockeyapp_paint_dialog_positive_button = 2131296338;
// aapt resource value: 0x7f090053
public const int hockeyapp_paint_indicator_toast = 2131296339;
// aapt resource value: 0x7f090054
public const int hockeyapp_paint_menu_clear = 2131296340;
// aapt resource value: 0x7f090055
public const int hockeyapp_paint_menu_save = 2131296341;
// aapt resource value: 0x7f090056
public const int hockeyapp_paint_menu_undo = 2131296342;
// aapt resource value: 0x7f090057
public const int hockeyapp_permission_dialog_negative_button = 2131296343;
// aapt resource value: 0x7f090058
public const int hockeyapp_permission_dialog_positive_button = 2131296344;
// aapt resource value: 0x7f090059
public const int hockeyapp_permission_update_message = 2131296345;
// aapt resource value: 0x7f09005a
public const int hockeyapp_permission_update_title = 2131296346;
// aapt resource value: 0x7f09005b
public const int hockeyapp_update_button = 2131296347;
// aapt resource value: 0x7f09005c
public const int hockeyapp_update_dialog_message = 2131296348;
// aapt resource value: 0x7f09005d
public const int hockeyapp_update_dialog_negative_button = 2131296349;
// aapt resource value: 0x7f09005e
public const int hockeyapp_update_dialog_positive_button = 2131296350;
// aapt resource value: 0x7f09005f
public const int hockeyapp_update_dialog_title = 2131296351;
// aapt resource value: 0x7f090060
public const int hockeyapp_update_mandatory_toast = 2131296352;
// aapt resource value: 0x7f090061
public const int hockeyapp_update_version_details_label = 2131296353;
// aapt resource value: 0x7f09001a
public const int library_name = 2131296282;
// aapt resource value: 0x7f090019 // aapt resource value: 0x7f090019
public const int status_bar_notification_info_overflow = 2131296281; public const int status_bar_notification_info_overflow = 2131296281;
@ -3588,14 +3159,14 @@ namespace Bit.Android.Test
// aapt resource value: 0x7f0b0006 // aapt resource value: 0x7f0b0006
public const int Base_Widget_Design_TabLayout = 2131427334; public const int Base_Widget_Design_TabLayout = 2131427334;
// aapt resource value: 0x7f0b015f // aapt resource value: 0x7f0b015c
public const int BitwardenTheme = 2131427679; public const int BitwardenTheme = 2131427676;
// aapt resource value: 0x7f0b0160 // aapt resource value: 0x7f0b015d
public const int BitwardenTheme_Base = 2131427680; public const int BitwardenTheme_Base = 2131427677;
// aapt resource value: 0x7f0b015e // aapt resource value: 0x7f0b015b
public const int BitwardenTheme_Splash = 2131427678; public const int BitwardenTheme_Splash = 2131427675;
// aapt resource value: 0x7f0b0000 // aapt resource value: 0x7f0b0000
public const int CardView = 2131427328; public const int CardView = 2131427328;
@ -3606,15 +3177,6 @@ namespace Bit.Android.Test
// aapt resource value: 0x7f0b0003 // aapt resource value: 0x7f0b0003
public const int CardView_Light = 2131427331; public const int CardView_Light = 2131427331;
// aapt resource value: 0x7f0b015b
public const int HockeyApp_ButtonStyle = 2131427675;
// aapt resource value: 0x7f0b015c
public const int HockeyApp_EditTextStyle = 2131427676;
// aapt resource value: 0x7f0b015d
public const int HockeyApp_SingleLineInputStyle = 2131427677;
// aapt resource value: 0x7f0b0034 // aapt resource value: 0x7f0b0034
public const int Platform_AppCompat = 2131427380; public const int Platform_AppCompat = 2131427380;
@ -5457,56 +5019,6 @@ namespace Bit.Android.Test
// aapt resource value: 0 // aapt resource value: 0
public const int PopupWindowBackgroundState_state_above_anchor = 0; public const int PopupWindowBackgroundState_state_above_anchor = 0;
public static int[] ProgressWheel = new int[] {
2130772264,
2130772265,
2130772266,
2130772267,
2130772268,
2130772269,
2130772270,
2130772271,
2130772272,
2130772273,
2130772274,
2130772275};
// aapt resource value: 3
public const int ProgressWheel_ahBarColor = 3;
// aapt resource value: 11
public const int ProgressWheel_ahBarLength = 11;
// aapt resource value: 10
public const int ProgressWheel_ahBarWidth = 10;
// aapt resource value: 8
public const int ProgressWheel_ahCircleColor = 8;
// aapt resource value: 7
public const int ProgressWheel_ahDelayMillis = 7;
// aapt resource value: 9
public const int ProgressWheel_ahRadius = 9;
// aapt resource value: 4
public const int ProgressWheel_ahRimColor = 4;
// aapt resource value: 5
public const int ProgressWheel_ahRimWidth = 5;
// aapt resource value: 6
public const int ProgressWheel_ahSpinSpeed = 6;
// aapt resource value: 0
public const int ProgressWheel_ahText = 0;
// aapt resource value: 1
public const int ProgressWheel_ahTextColor = 1;
// aapt resource value: 2
public const int ProgressWheel_ahTextSize = 2;
public static int[] RecyclerView = new int[] { public static int[] RecyclerView = new int[] {
16842948, 16842948,
2130771968, 2130771968,