mirror of
https://github.com/bitwarden/mobile
synced 2025-12-05 23:53:33 +00:00
Compare commits
5 Commits
PM-4047/fi
...
v2022.9.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ee27900c3a | ||
|
|
0723227eca | ||
|
|
099d7e22e2 | ||
|
|
c86d4e7984 | ||
|
|
6164106c84 |
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:versionCode="1" android:versionName="2022.8.1" android:installLocation="internalOnly" package="com.x8bit.bitwarden">
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:versionCode="1" android:versionName="2022.9.1" android:installLocation="internalOnly" package="com.x8bit.bitwarden">
|
||||||
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="30" />
|
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="30" />
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
<uses-permission android:name="android.permission.NFC" />
|
<uses-permission android:name="android.permission.NFC" />
|
||||||
|
|||||||
@@ -199,7 +199,7 @@ namespace Bit.App.Pages
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool ShowUpgradePremiumTotpText => !CanAccessPremium && ShowTotp;
|
public bool ShowUpgradePremiumTotpText => !CanAccessPremium && !Cipher.OrganizationUseTotp && ShowTotp;
|
||||||
public bool ShowUris => IsLogin && Cipher.Login.HasUris;
|
public bool ShowUris => IsLogin && Cipher.Login.HasUris;
|
||||||
public bool ShowIdentityAddress => IsIdentity && (
|
public bool ShowIdentityAddress => IsIdentity && (
|
||||||
!string.IsNullOrWhiteSpace(Cipher.Identity.Address1) ||
|
!string.IsNullOrWhiteSpace(Cipher.Identity.Address1) ||
|
||||||
@@ -213,7 +213,7 @@ namespace Bit.App.Pages
|
|||||||
public string PasswordVisibilityAccessibilityText => ShowPassword ? AppResources.PasswordIsVisibleTapToHide : AppResources.PasswordIsNotVisibleTapToShow;
|
public string PasswordVisibilityAccessibilityText => ShowPassword ? AppResources.PasswordIsVisibleTapToHide : AppResources.PasswordIsNotVisibleTapToShow;
|
||||||
public string TotpCodeFormatted
|
public string TotpCodeFormatted
|
||||||
{
|
{
|
||||||
get => _canAccessPremium ? _totpCodeFormatted : string.Empty;
|
get => ShowUpgradePremiumTotpText ? string.Empty : _totpCodeFormatted;
|
||||||
set => SetProperty(ref _totpCodeFormatted, value,
|
set => SetProperty(ref _totpCodeFormatted, value,
|
||||||
additionalPropertyNames: new string[]
|
additionalPropertyNames: new string[]
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ namespace Bit.App.Pages
|
|||||||
|
|
||||||
public async Task CopyToClipboardAsync()
|
public async Task CopyToClipboardAsync()
|
||||||
{
|
{
|
||||||
await _clipboardService.CopyTextAsync(TotpCodeFormatted);
|
await _clipboardService.CopyTextAsync(TotpCodeFormatted?.Replace(" ", string.Empty));
|
||||||
_platformUtilsService.ShowToast("info", null, string.Format(AppResources.ValueHasBeenCopied, AppResources.VerificationCodeTotp));
|
_platformUtilsService.ShowToast("info", null, string.Format(AppResources.ValueHasBeenCopied, AppResources.VerificationCodeTotp));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -200,7 +200,6 @@ namespace Bit.App.Pages
|
|||||||
{
|
{
|
||||||
PageTitle = ShowVaultFilter ? AppResources.Vaults : AppResources.MyVault;
|
PageTitle = ShowVaultFilter ? AppResources.Vaults : AppResources.MyVault;
|
||||||
}
|
}
|
||||||
var canAccessPremium = await _stateService.CanAccessPremiumAsync();
|
|
||||||
_doingLoad = true;
|
_doingLoad = true;
|
||||||
LoadedOnce = true;
|
LoadedOnce = true;
|
||||||
ShowNoData = false;
|
ShowNoData = false;
|
||||||
@@ -231,7 +230,7 @@ namespace Bit.App.Pages
|
|||||||
}
|
}
|
||||||
if (MainPage)
|
if (MainPage)
|
||||||
{
|
{
|
||||||
AddTotpGroupItem(canAccessPremium, groupedItems, uppercaseGroupNames);
|
AddTotpGroupItem(groupedItems, uppercaseGroupNames);
|
||||||
|
|
||||||
groupedItems.Add(new GroupingsPageListGroup(
|
groupedItems.Add(new GroupingsPageListGroup(
|
||||||
AppResources.Types, 4, uppercaseGroupNames, !hasFavorites)
|
AppResources.Types, 4, uppercaseGroupNames, !hasFavorites)
|
||||||
@@ -382,9 +381,9 @@ namespace Bit.App.Pages
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AddTotpGroupItem(bool canAccessPremium, List<GroupingsPageListGroup> groupedItems, bool uppercaseGroupNames)
|
private void AddTotpGroupItem(List<GroupingsPageListGroup> groupedItems, bool uppercaseGroupNames)
|
||||||
{
|
{
|
||||||
if (canAccessPremium && TOTPCiphers?.Any() == true)
|
if (TOTPCiphers?.Any() == true)
|
||||||
{
|
{
|
||||||
groupedItems.Insert(0, new GroupingsPageListGroup(
|
groupedItems.Insert(0, new GroupingsPageListGroup(
|
||||||
AppResources.Totp, 1, uppercaseGroupNames, false)
|
AppResources.Totp, 1, uppercaseGroupNames, false)
|
||||||
@@ -537,10 +536,11 @@ namespace Bit.App.Pages
|
|||||||
|
|
||||||
private async Task LoadDataAsync()
|
private async Task LoadDataAsync()
|
||||||
{
|
{
|
||||||
|
var canAccessPremium = await _stateService.CanAccessPremiumAsync();
|
||||||
NoDataText = AppResources.NoItems;
|
NoDataText = AppResources.NoItems;
|
||||||
_allCiphers = await GetAllCiphersAsync();
|
_allCiphers = await GetAllCiphersAsync();
|
||||||
HasCiphers = _allCiphers.Any();
|
HasCiphers = _allCiphers.Any();
|
||||||
TOTPCiphers = _allCiphers.Where(c => c.IsDeleted == Deleted && c.Type == CipherType.Login && !string.IsNullOrEmpty(c.Login?.Totp)).ToList();
|
TOTPCiphers = _allCiphers.Where(c => c.IsDeleted == Deleted && c.Type == CipherType.Login && !string.IsNullOrEmpty(c.Login?.Totp) && (c.OrganizationUseTotp || canAccessPremium)).ToList();
|
||||||
FavoriteCiphers?.Clear();
|
FavoriteCiphers?.Clear();
|
||||||
NoFolderCiphers?.Clear();
|
NoFolderCiphers?.Clear();
|
||||||
_folderCounts.Clear();
|
_folderCounts.Clear();
|
||||||
|
|||||||
@@ -170,28 +170,11 @@ namespace Bit.App.Pages
|
|||||||
|
|
||||||
private void AddAuthenticationKey_OnClicked(object sender, EventArgs e)
|
private void AddAuthenticationKey_OnClicked(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var text = ViewModel.TotpAuthenticationKey;
|
if (!string.IsNullOrWhiteSpace(ViewModel.TotpAuthenticationKey))
|
||||||
if (!string.IsNullOrWhiteSpace(text))
|
|
||||||
{
|
{
|
||||||
if (text.StartsWith("otpauth://totp"))
|
_callback(ViewModel.TotpAuthenticationKey);
|
||||||
{
|
|
||||||
_callback(text);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (Uri.TryCreate(text, UriKind.Absolute, out Uri uri) &&
|
|
||||||
!string.IsNullOrWhiteSpace(uri?.Query))
|
|
||||||
{
|
|
||||||
var queryParts = uri.Query.Substring(1).ToLowerInvariant().Split('&');
|
|
||||||
foreach (var part in queryParts)
|
|
||||||
{
|
|
||||||
if (part.StartsWith("secret="))
|
|
||||||
{
|
|
||||||
_callback(part.Substring(7)?.ToUpperInvariant());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
_callback(null);
|
_callback(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
<string>com.8bit.bitwarden.autofill</string>
|
<string>com.8bit.bitwarden.autofill</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>2022.8.1</string>
|
<string>2022.9.1</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>1</string>
|
<string>1</string>
|
||||||
<key>CFBundleLocalizations</key>
|
<key>CFBundleLocalizations</key>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
<string>com.8bit.bitwarden.find-login-action-extension</string>
|
<string>com.8bit.bitwarden.find-login-action-extension</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>2022.8.1</string>
|
<string>2022.9.1</string>
|
||||||
<key>CFBundleLocalizations</key>
|
<key>CFBundleLocalizations</key>
|
||||||
<array>
|
<array>
|
||||||
<string>en</string>
|
<string>en</string>
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>XPC!</string>
|
<string>XPC!</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>2022.8.1</string>
|
<string>2022.9.1</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>1</string>
|
<string>1</string>
|
||||||
<key>MinimumOSVersion</key>
|
<key>MinimumOSVersion</key>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
<string>com.8bit.bitwarden</string>
|
<string>com.8bit.bitwarden</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>2022.8.1</string>
|
<string>2022.9.1</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>1</string>
|
<string>1</string>
|
||||||
<key>CFBundleIconName</key>
|
<key>CFBundleIconName</key>
|
||||||
|
|||||||
Reference in New Issue
Block a user