icon resources for android. more places for extended obs collection.

This commit is contained in:
Kyle Spearrin 2016-05-18 23:30:46 -04:00
parent a470f35465
commit 383a49b75c
19 changed files with 63 additions and 44 deletions

View file

@ -252,6 +252,24 @@
<ItemGroup> <ItemGroup>
<AndroidResource Include="Resources\drawable-hdpi\fa_folder_open.png" /> <AndroidResource Include="Resources\drawable-hdpi\fa_folder_open.png" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<BundleResource Include="Resources\drawable-mdpi\ion_plus.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-mdpi\ion_chevron_right.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xhdpi\ion_chevron_right.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xhdpi\ion_plus.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xxhdpi\ion_chevron_right.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xxhdpi\ion_plus.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

@ -26,8 +26,7 @@ namespace Bit.Android.Controls
if(extendedCell.ShowDisclousure) if(extendedCell.ShowDisclousure)
{ {
// TODO: different image var resourceId = Resource.Drawable.ion_chevron_right;
var resourceId = Resource.Drawable.fa_folder_open;
if(!string.IsNullOrWhiteSpace(extendedCell.DisclousureImage)) if(!string.IsNullOrWhiteSpace(extendedCell.DisclousureImage))
{ {
var fileName = System.IO.Path.GetFileNameWithoutExtension(extendedCell.DisclousureImage); var fileName = System.IO.Path.GetFileNameWithoutExtension(extendedCell.DisclousureImage);

View file

@ -2258,58 +2258,64 @@ namespace Bit.Android
public const int icon = 2130837652; public const int icon = 2130837652;
// aapt resource value: 0x7f020095 // aapt resource value: 0x7f020095
public const int mr_dialog_material_background_dark = 2130837653; public const int ion_chevron_right = 2130837653;
// aapt resource value: 0x7f020096 // aapt resource value: 0x7f020096
public const int mr_dialog_material_background_light = 2130837654; public const int ion_plus = 2130837654;
// aapt resource value: 0x7f020097 // aapt resource value: 0x7f020097
public const int mr_ic_audiotrack_light = 2130837655; public const int mr_dialog_material_background_dark = 2130837655;
// aapt resource value: 0x7f020098 // aapt resource value: 0x7f020098
public const int mr_ic_cast_dark = 2130837656; public const int mr_dialog_material_background_light = 2130837656;
// aapt resource value: 0x7f020099 // aapt resource value: 0x7f020099
public const int mr_ic_cast_light = 2130837657; public const int mr_ic_audiotrack_light = 2130837657;
// aapt resource value: 0x7f02009a // aapt resource value: 0x7f02009a
public const int mr_ic_close_dark = 2130837658; public const int mr_ic_cast_dark = 2130837658;
// aapt resource value: 0x7f02009b // aapt resource value: 0x7f02009b
public const int mr_ic_close_light = 2130837659; public const int mr_ic_cast_light = 2130837659;
// aapt resource value: 0x7f02009c // aapt resource value: 0x7f02009c
public const int mr_ic_media_route_connecting_mono_dark = 2130837660; public const int mr_ic_close_dark = 2130837660;
// aapt resource value: 0x7f02009d // aapt resource value: 0x7f02009d
public const int mr_ic_media_route_connecting_mono_light = 2130837661; public const int mr_ic_close_light = 2130837661;
// aapt resource value: 0x7f02009e // aapt resource value: 0x7f02009e
public const int mr_ic_media_route_mono_dark = 2130837662; public const int mr_ic_media_route_connecting_mono_dark = 2130837662;
// aapt resource value: 0x7f02009f // aapt resource value: 0x7f02009f
public const int mr_ic_media_route_mono_light = 2130837663; public const int mr_ic_media_route_connecting_mono_light = 2130837663;
// aapt resource value: 0x7f0200a0 // aapt resource value: 0x7f0200a0
public const int mr_ic_pause_dark = 2130837664; public const int mr_ic_media_route_mono_dark = 2130837664;
// aapt resource value: 0x7f0200a1 // aapt resource value: 0x7f0200a1
public const int mr_ic_pause_light = 2130837665; public const int mr_ic_media_route_mono_light = 2130837665;
// aapt resource value: 0x7f0200a2 // aapt resource value: 0x7f0200a2
public const int mr_ic_play_dark = 2130837666; public const int mr_ic_pause_dark = 2130837666;
// aapt resource value: 0x7f0200a3 // aapt resource value: 0x7f0200a3
public const int mr_ic_play_light = 2130837667; public const int mr_ic_pause_light = 2130837667;
// aapt resource value: 0x7f0200a6
public const int notification_template_icon_bg = 2130837670;
// aapt resource value: 0x7f0200a4 // aapt resource value: 0x7f0200a4
public const int roundedbg = 2130837668; public const int mr_ic_play_dark = 2130837668;
// aapt resource value: 0x7f0200a5 // aapt resource value: 0x7f0200a5
public const int roundedbgdark = 2130837669; public const int mr_ic_play_light = 2130837669;
// aapt resource value: 0x7f0200a8
public const int notification_template_icon_bg = 2130837672;
// aapt resource value: 0x7f0200a6
public const int roundedbg = 2130837670;
// aapt resource value: 0x7f0200a7
public const int roundedbgdark = 2130837671;
static Drawable() static Drawable()
{ {

View file

Before

Width:  |  Height:  |  Size: 261 B

After

Width:  |  Height:  |  Size: 261 B

View file

Before

Width:  |  Height:  |  Size: 127 B

After

Width:  |  Height:  |  Size: 127 B

View file

Before

Width:  |  Height:  |  Size: 515 B

After

Width:  |  Height:  |  Size: 515 B

View file

Before

Width:  |  Height:  |  Size: 134 B

After

Width:  |  Height:  |  Size: 134 B

View file

Before

Width:  |  Height:  |  Size: 595 B

After

Width:  |  Height:  |  Size: 595 B

View file

Before

Width:  |  Height:  |  Size: 147 B

After

Width:  |  Height:  |  Size: 147 B

View file

@ -1,11 +1,13 @@
using System; using System;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Acr.UserDialogs; using Acr.UserDialogs;
using Bit.App.Abstractions; using Bit.App.Abstractions;
using Bit.App.Controls; using Bit.App.Controls;
using Bit.App.Models.Page; using Bit.App.Models.Page;
using Bit.App.Resources; using Bit.App.Resources;
using Bit.App.Utilities;
using Xamarin.Forms; using Xamarin.Forms;
using XLabs.Ioc; using XLabs.Ioc;
@ -23,7 +25,7 @@ namespace Bit.App.Pages
Init(); Init();
} }
public ObservableCollection<SettingsFolderPageModel> Folders { get; private set; } = new ObservableCollection<SettingsFolderPageModel>(); public ExtendedObservableCollection<SettingsFolderPageModel> Folders { get; private set; } = new ExtendedObservableCollection<SettingsFolderPageModel>();
private void Init() private void Init()
{ {
@ -49,14 +51,9 @@ namespace Bit.App.Pages
private async Task LoadFoldersAsync() private async Task LoadFoldersAsync()
{ {
Folders.Clear();
var folders = await _folderService.GetAllAsync(); var folders = await _folderService.GetAllAsync();
foreach(var folder in folders) var pageFolders = folders.Select(f => new SettingsFolderPageModel(f));
{ Folders.ResetWithRange(pageFolders);
var f = new SettingsFolderPageModel(folder);
Folders.Add(f);
}
} }
private void FolderSelected(object sender, SelectedItemChangedEventArgs e) private void FolderSelected(object sender, SelectedItemChangedEventArgs e)
@ -74,7 +71,7 @@ namespace Bit.App.Pages
{ {
_page = page; _page = page;
Text = AppResources.Add; Text = AppResources.Add;
Icon = "ion-plus"; Icon = "ion_plus";
Clicked += ClickedItem; Clicked += ClickedItem;
} }

View file

@ -41,12 +41,11 @@ namespace Bit.App.Pages
IsGroupingEnabled = true, IsGroupingEnabled = true,
ItemsSource = Folders, ItemsSource = Folders,
HasUnevenRows = true, HasUnevenRows = true,
SeparatorColor = Color.FromHex("d2d6de") SeparatorColor = Color.FromHex("d2d6de"),
GroupHeaderTemplate = new DataTemplate(() => new VaultListHeaderViewCell(this)),
ItemTemplate = new DataTemplate(() => new VaultListViewCell(this))
}; };
listView.GroupDisplayBinding = new Binding("Name");
listView.GroupHeaderTemplate = new DataTemplate(() => new VaultListHeaderViewCell(this));
listView.ItemSelected += SiteSelected; listView.ItemSelected += SiteSelected;
listView.ItemTemplate = new DataTemplate(() => new VaultListViewCell(this));
Title = AppResources.MyVault; Title = AppResources.MyVault;
Content = listView; Content = listView;
@ -67,7 +66,7 @@ namespace Bit.App.Pages
var noneFolder = new VaultListPageModel.Folder(sites.Where(s => s.FolderId == null)); var noneFolder = new VaultListPageModel.Folder(sites.Where(s => s.FolderId == null));
pageFolders.Add(noneFolder); pageFolders.Add(noneFolder);
Folders.Reset(pageFolders); Folders.ResetWithRange(pageFolders);
} }
private void SiteSelected(object sender, SelectedItemChangedEventArgs e) private void SiteSelected(object sender, SelectedItemChangedEventArgs e)
@ -146,7 +145,7 @@ namespace Bit.App.Pages
{ {
_page = page; _page = page;
Text = AppResources.Add; Text = AppResources.Add;
Icon = "ion-plus"; Icon = "ion_plus";
Clicked += ClickedItem; Clicked += ClickedItem;
} }

View file

@ -24,7 +24,7 @@ namespace Bit.App.Utilities
OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset)); OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset));
} }
public void Reset(IEnumerable<T> range) public void ResetWithRange(IEnumerable<T> range)
{ {
Items.Clear(); Items.Clear();
AddRange(range); AddRange(range);

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 515 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 595 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 B

View file

@ -258,22 +258,22 @@
<BundleResource Include="Resources\fa-lock%403x.png" /> <BundleResource Include="Resources\fa-lock%403x.png" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<BundleResource Include="Resources\ion-chevron-right.png" /> <BundleResource Include="Resources\ion_chevron_right.png" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<BundleResource Include="Resources\ion-chevron-right%402x.png" /> <BundleResource Include="Resources\ion_chevron_right%402x.png" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<BundleResource Include="Resources\ion-chevron-right%403x.png" /> <BundleResource Include="Resources\ion_chevron_right%403x.png" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<BundleResource Include="Resources\ion-plus.png" /> <BundleResource Include="Resources\ion_plus.png" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<BundleResource Include="Resources\ion-plus%402x.png" /> <BundleResource Include="Resources\ion_plus%402x.png" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<BundleResource Include="Resources\ion-plus%403x.png" /> <BundleResource Include="Resources\ion_plus%403x.png" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<BundleResource Include="Resources\Icon-120.png" /> <BundleResource Include="Resources\Icon-120.png" />