[PR #1374] [MERGED] Forms update with CollectionView conversion #103060

Closed
opened 2026-06-03 03:53:26 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/bitwarden/android/pull/1374
Author: @mpbw2
Created: 4/19/2021
Status: Merged
Merged: 5/13/2021
Merged by: @mpbw2

Base: masterHead: collectionview-xf-update


📝 Commits (4)

  • 163ec10 Forms update with CollectionView conversion
  • 7ec0c59 updates
  • 72f474d removed unnecessary import
  • 0efb205 Merge branch 'master' into collectionview-xf-update

📊 Changes

53 files changed (+930 additions, -1473 deletions)

View changed files

📝 src/Android/Android.csproj (+13 -18)
src/Android/Renderers/CipherViewCellRenderer.cs (+0 -242)
src/Android/Renderers/ExtendedGridRenderer.cs (+43 -0)
src/Android/Renderers/ExtendedListViewRenderer.cs (+0 -29)
src/Android/Renderers/ExtendedStackLayoutRenderer.cs (+43 -0)
src/Android/Renderers/SendViewCellRenderer.cs (+0 -210)
src/Android/Resources/drawable/list_item_bg.xml (+7 -0)
src/Android/Resources/drawable/list_item_bg_dark.xml (+7 -0)
src/Android/Resources/drawable/list_item_bg_nord.xml (+7 -0)
src/Android/Resources/layout/CipherViewCell.axml (+0 -86)
src/Android/Resources/layout/SendViewCell.axml (+0 -104)
📝 src/Android/Resources/values/colors.xml (+1 -0)
📝 src/App/App.csproj (+3 -3)
📝 src/App/Controls/CipherViewCell/CipherViewCell.xaml (+91 -94)
📝 src/App/Controls/CipherViewCell/CipherViewCell.xaml.cs (+17 -135)
📝 src/App/Controls/CipherViewCell/CipherViewCellViewModel.cs (+19 -0)
src/App/Controls/ExtendedCollectionView.cs (+8 -0)
src/App/Controls/ExtendedGrid.cs (+8 -0)
src/App/Controls/ExtendedListView.cs (+0 -12)
src/App/Controls/ExtendedStackLayout.cs (+8 -0)

...and 33 more files

📄 Description

Overview

  • Updates to Xamarin Forms dependencies
  • Conversion to CollectionView throughout app (from ListView)
  • Additional UI tweaks

Files Changed/Added

Android:

  • CipherViewCellRenderer.cs: DELETED, ViewCell not used with CollectionView
  • ExtendedGridRenderer.cs: Required to add pressed-state color support to Grid views within CollectionView
  • ExtendedListViewRenderer.cs: DELETED, ListView replaced with CollectionView
  • ExtendedStackLayoutRenderer.cs: Required to add pressed-state color support to StackLayouts within CollectionView
  • SendViewCellRenderer.cs: DELETED, ViewCell not used with CollectionView
  • list_item_bg.xml: Background selector for pressed item state with light theme
  • list_item_bg_dark.xml: Background selector for pressed item state with dark theme
  • list_item_bg_nord.xml: Background selector for pressed item state with nord theme
  • CipherViewCell.axml: DELETED, No longer used with CollectionView
  • SendViewCell.axml: DELETED, No longer used with CollectionView
  • colors.xml: Added itemPressed color for light theme (dark & nord use primary but that was too dark for light theme)
  • Android.csproj: Updated dependencies

App:

  • CipherViewCell.xaml: Converted to ExtendedGrid for proper CollectionView support
  • CipherViewCell.xaml.cs: Converted to ExtendedGrid and adjusted code accordingly
  • CipherViewCellViewModel.cs: Added constructor plus WebsiteIconsEnabled and ShowIconImage to support new implementation
  • SendViewCell.xaml: Converted to ExtendedGrid for proper CollectionView support
  • SendViewCell.xaml.cs: Converted to ExtendedGrid and adjusted code accordingly
  • SendViewCellViewModel.cs: Added constructor to support new implementation
  • ExtendedCollectionView.cs: CollectionView subclass for use with iOS pressed-state customizations (will be added later)
  • ExtendedGrid.cs: Grid subclass for use with Android pressed-state customizations
  • ExtendedListView.cs: DELETED, No longer used with CollectionView
  • ExtendedStackLayout.cs: StackLayout subclass for use with Android pressed-state customizations
  • GeneratorHistoryPage.xaml: Converted to ExtendedCollectionView where necessary
  • SendGroupingsPage.xaml: Converted to ExtendedStackLayout and ExtendedCollectionView where necessary
  • SendGroupingsPage.xaml.cs: Converted to ExtendedCollectionView and fixed issue with "About" icon blocking the back button in the toolbar in iOS, and missing ActivityIndicator on initial load
  • SendGroupingsPageListGroup.cs: Renamed groupItems to SendGroupItems for consistency
  • SendGroupingsPageViewModel.cs: Removed ShowAddSendButton as it's now handled elsewhere
  • SendAddEditPageViewModel.cs: Moved share sheet trigger to happen after "back" function fires to prevent the sheet from disappearing in some iOS configurations
  • SendsPage.xaml: Converted to ExtendedCollectionView where necessary
  • SendsPage.xaml.cs: Updated RowSelected to support ExtendedCollectionView
  • SettingsPage.xaml: Converted to ExtendedStackLayout and ExtendedCollectionView where necessary
  • SettingsPage.xaml.cs: Updated RowSelected to support ExtendedCollectionView
  • FoldersPage.xaml: Converted to ExtendedCollectionView where necessary
  • FoldersPage.xaml.cs: Updated RowSelected to support ExtendedCollectionView
  • GroupingsPage.xaml: Converted to ExtendedStackLayout and ExtendedCollectionView where necessary
  • GroupingsPage.xaml.cs: Updated RowSelected to support ExtendedCollectionView
  • AutofillCiphersPage.xaml: Converted to ExtendedCollectionView where necessary
  • AutofillCiphersPage.xaml.cs: Updated RowSelected to support ExtendedCollectionView
  • CiphersPage.xaml: Converted to ExtendedCollectionView where necessary
  • CiphersPage.xaml.cs: Updated RowSelected to support ExtendedCollectionView
  • PasswordHistoryPage.xaml: Converted to ExtendedCollectionView where necessary
  • AppResources.resx/Designer.cs: Added AddSend string for no-longer-missing "Add Send" button shown with empty Send list
  • Android.xaml: Added new CollectionView styles
  • Base.xaml: Added new CollectionView styles
  • iOS.xaml: Added new CollectionView styles
  • IconGlyphConverter.cs: Converter for showing FontAwesome icons in Cipher CollectionView
  • IconImageConverter.cs: Converter for showing favicon bitmaps in Cipher CollectionView
  • SendIconGlyphConverter.cs: Converter for showing FontAwesome icons in Send CollectionView
  • App.csproj: Updated dependencies

iOS:

  • iOS.csproj: Updated dependencies

iOS.Core:

  • DeviceActionService.cs: Removed check for visible toolbar when showing toast due to inconsistencies with timing, and adjusted margins accordingly to be padded regardless
  • Toast.cs: Adjusted CornerRadius to match iOS widgets better

Screenshots

01
02
03


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/bitwarden/android/pull/1374 **Author:** [@mpbw2](https://github.com/mpbw2) **Created:** 4/19/2021 **Status:** ✅ Merged **Merged:** 5/13/2021 **Merged by:** [@mpbw2](https://github.com/mpbw2) **Base:** `master` ← **Head:** `collectionview-xf-update` --- ### 📝 Commits (4) - [`163ec10`](https://github.com/bitwarden/android/commit/163ec10a97fb1b822e5521dec4fb210e6e3cfb85) Forms update with CollectionView conversion - [`7ec0c59`](https://github.com/bitwarden/android/commit/7ec0c5960fc71e1271d611a3d74e984c88526f4f) updates - [`72f474d`](https://github.com/bitwarden/android/commit/72f474d800f4943f1e084e23a9f782ea1e00ca94) removed unnecessary import - [`0efb205`](https://github.com/bitwarden/android/commit/0efb205cd8058295fe77e375f20e76763be5c28e) Merge branch 'master' into collectionview-xf-update ### 📊 Changes **53 files changed** (+930 additions, -1473 deletions) <details> <summary>View changed files</summary> 📝 `src/Android/Android.csproj` (+13 -18) ➖ `src/Android/Renderers/CipherViewCellRenderer.cs` (+0 -242) ➕ `src/Android/Renderers/ExtendedGridRenderer.cs` (+43 -0) ➖ `src/Android/Renderers/ExtendedListViewRenderer.cs` (+0 -29) ➕ `src/Android/Renderers/ExtendedStackLayoutRenderer.cs` (+43 -0) ➖ `src/Android/Renderers/SendViewCellRenderer.cs` (+0 -210) ➕ `src/Android/Resources/drawable/list_item_bg.xml` (+7 -0) ➕ `src/Android/Resources/drawable/list_item_bg_dark.xml` (+7 -0) ➕ `src/Android/Resources/drawable/list_item_bg_nord.xml` (+7 -0) ➖ `src/Android/Resources/layout/CipherViewCell.axml` (+0 -86) ➖ `src/Android/Resources/layout/SendViewCell.axml` (+0 -104) 📝 `src/Android/Resources/values/colors.xml` (+1 -0) 📝 `src/App/App.csproj` (+3 -3) 📝 `src/App/Controls/CipherViewCell/CipherViewCell.xaml` (+91 -94) 📝 `src/App/Controls/CipherViewCell/CipherViewCell.xaml.cs` (+17 -135) 📝 `src/App/Controls/CipherViewCell/CipherViewCellViewModel.cs` (+19 -0) ➕ `src/App/Controls/ExtendedCollectionView.cs` (+8 -0) ➕ `src/App/Controls/ExtendedGrid.cs` (+8 -0) ➖ `src/App/Controls/ExtendedListView.cs` (+0 -12) ➕ `src/App/Controls/ExtendedStackLayout.cs` (+8 -0) _...and 33 more files_ </details> ### 📄 Description **Overview** - Updates to Xamarin Forms dependencies - Conversion to CollectionView throughout app (from ListView) - Additional UI tweaks **Files Changed/Added** Android: - **CipherViewCellRenderer.cs**: DELETED, `ViewCell` not used with `CollectionView` - **ExtendedGridRenderer.cs**: Required to add pressed-state color support to Grid views within `CollectionView` - **ExtendedListViewRenderer.cs**: DELETED, `ListView` replaced with `CollectionView` - **ExtendedStackLayoutRenderer.cs**: Required to add pressed-state color support to StackLayouts within `CollectionView` - **SendViewCellRenderer.cs**: DELETED, `ViewCell` not used with `CollectionView` - **list_item_bg.xml**: Background selector for pressed item state with light theme - **list_item_bg_dark.xml**: Background selector for pressed item state with dark theme - **list_item_bg_nord.xml**: Background selector for pressed item state with nord theme - **CipherViewCell.axml**: DELETED, No longer used with `CollectionView` - **SendViewCell.axml**: DELETED, No longer used with `CollectionView` - **colors.xml**: Added `itemPressed` color for light theme (dark & nord use `primary` but that was too dark for light theme) - **Android.csproj**: Updated dependencies App: - **CipherViewCell.xaml**: Converted to `ExtendedGrid` for proper `CollectionView` support - **CipherViewCell.xaml.cs**: Converted to `ExtendedGrid` and adjusted code accordingly - **CipherViewCellViewModel.cs**: Added constructor plus `WebsiteIconsEnabled` and `ShowIconImage` to support new implementation - **SendViewCell.xaml**: Converted to `ExtendedGrid` for proper `CollectionView` support - **SendViewCell.xaml.cs**: Converted to `ExtendedGrid` and adjusted code accordingly - **SendViewCellViewModel.cs**: Added constructor to support new implementation - **ExtendedCollectionView.cs**: `CollectionView` subclass for use with iOS pressed-state customizations (will be added later) - **ExtendedGrid.cs**: `Grid` subclass for use with Android pressed-state customizations - **ExtendedListView.cs**: DELETED, No longer used with `CollectionView` - **ExtendedStackLayout.cs**: `StackLayout` subclass for use with Android pressed-state customizations - **GeneratorHistoryPage.xaml**: Converted to `ExtendedCollectionView` where necessary - **SendGroupingsPage.xaml**: Converted to `ExtendedStackLayout` and `ExtendedCollectionView` where necessary - **SendGroupingsPage.xaml.cs**: Converted to `ExtendedCollectionView` and fixed issue with "About" icon blocking the back button in the toolbar in iOS, and missing ActivityIndicator on initial load - **SendGroupingsPageListGroup.cs**: Renamed `groupItems` to `SendGroupItems` for consistency - **SendGroupingsPageViewModel.cs**: Removed `ShowAddSendButton` as it's now handled elsewhere - **SendAddEditPageViewModel.cs**: Moved share sheet trigger to happen after "back" function fires to prevent the sheet from disappearing in some iOS configurations - **SendsPage.xaml**: Converted to `ExtendedCollectionView` where necessary - **SendsPage.xaml.cs**: Updated `RowSelected` to support `ExtendedCollectionView` - **SettingsPage.xaml**: Converted to `ExtendedStackLayout` and `ExtendedCollectionView` where necessary - **SettingsPage.xaml.cs**: Updated `RowSelected` to support `ExtendedCollectionView` - **FoldersPage.xaml**: Converted to `ExtendedCollectionView` where necessary - **FoldersPage.xaml.cs**: Updated `RowSelected` to support `ExtendedCollectionView` - **GroupingsPage.xaml**: Converted to `ExtendedStackLayout` and `ExtendedCollectionView` where necessary - **GroupingsPage.xaml.cs**: Updated `RowSelected` to support `ExtendedCollectionView` - **AutofillCiphersPage.xaml**: Converted to `ExtendedCollectionView` where necessary - **AutofillCiphersPage.xaml.cs**: Updated `RowSelected` to support `ExtendedCollectionView` - **CiphersPage.xaml**: Converted to `ExtendedCollectionView` where necessary - **CiphersPage.xaml.cs**: Updated `RowSelected` to support `ExtendedCollectionView` - **PasswordHistoryPage.xaml**: Converted to `ExtendedCollectionView` where necessary - **AppResources.resx/Designer.cs**: Added `AddSend` string for no-longer-missing "Add Send" button shown with empty Send list - **Android.xaml**: Added new `CollectionView` styles - **Base.xaml**: Added new `CollectionView` styles - **iOS.xaml**: Added new `CollectionView` styles - **IconGlyphConverter.cs**: Converter for showing FontAwesome icons in Cipher CollectionView - **IconImageConverter.cs**: Converter for showing favicon bitmaps in Cipher CollectionView - **SendIconGlyphConverter.cs**: Converter for showing FontAwesome icons in Send CollectionView - **App.csproj**: Updated dependencies iOS: - **iOS.csproj**: Updated dependencies iOS.Core: - **DeviceActionService.cs**: Removed check for visible toolbar when showing toast due to inconsistencies with timing, and adjusted margins accordingly to be padded regardless - **Toast.cs**: Adjusted `CornerRadius` to match iOS widgets better **Screenshots** ![01](https://user-images.githubusercontent.com/59324545/115274859-1f801080-a10f-11eb-8895-a2c6469b65d8.png) ![02](https://user-images.githubusercontent.com/59324545/115274872-23139780-a10f-11eb-95a4-698cef518ad6.png) ![03](https://user-images.githubusercontent.com/59324545/115274887-2575f180-a10f-11eb-95de-51c1c5422312.png) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-06-03 03:53:26 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/android#103060