diff --git a/src/Android/Android.csproj b/src/Android/Android.csproj index ede0cc70d..c379d3369 100644 --- a/src/Android/Android.csproj +++ b/src/Android/Android.csproj @@ -200,6 +200,7 @@ + @@ -255,9 +256,6 @@ - - - diff --git a/src/Android/MainActivity.cs b/src/Android/MainActivity.cs index 0eecb4567..e2e9bb407 100644 --- a/src/Android/MainActivity.cs +++ b/src/Android/MainActivity.cs @@ -25,7 +25,7 @@ namespace Bit.Droid [Activity( Label = "Bitwarden", Icon = "@mipmap/ic_launcher", - Theme = "@style/LightTheme.Splash", + Theme = "@style/LaunchTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] [Register("com.x8bit.bitwarden.MainActivity")] @@ -334,7 +334,11 @@ namespace Bit.Droid private void UpdateTheme(string theme) { - if (theme == "dark") + if (theme == "light") + { + SetTheme(Resource.Style.LightTheme); + } + else if (theme == "dark") { SetTheme(Resource.Style.DarkTheme); } @@ -348,7 +352,14 @@ namespace Bit.Droid } else { - SetTheme(Resource.Style.LightTheme); + if (_deviceActionService.UsingDarkTheme()) + { + SetTheme(Resource.Style.DarkTheme); + } + else + { + SetTheme(Resource.Style.LightTheme); + } } } diff --git a/src/Android/Properties/AndroidManifest.xml b/src/Android/Properties/AndroidManifest.xml index 7dc23cfa5..2136e1077 100644 --- a/src/Android/Properties/AndroidManifest.xml +++ b/src/Android/Properties/AndroidManifest.xml @@ -24,7 +24,7 @@ + + + + diff --git a/src/Android/Resources/values-v21/styles.xml b/src/Android/Resources/values-v21/styles.xml deleted file mode 100644 index 9eb2dac4c..000000000 --- a/src/Android/Resources/values-v21/styles.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - diff --git a/src/Android/Resources/values/styles.xml b/src/Android/Resources/values/styles.xml index 3f87243a7..1297003a9 100644 --- a/src/Android/Resources/values/styles.xml +++ b/src/Android/Resources/values/styles.xml @@ -1,5 +1,11 @@ + + + diff --git a/src/Android/Services/DeviceActionService.cs b/src/Android/Services/DeviceActionService.cs index eca9208e2..a1193f220 100644 --- a/src/Android/Services/DeviceActionService.cs +++ b/src/Android/Services/DeviceActionService.cs @@ -8,6 +8,7 @@ using Android.App; using Android.App.Assist; using Android.Content; using Android.Content.PM; +using Android.Content.Res; using Android.Nfc; using Android.OS; using Android.Provider; @@ -710,6 +711,16 @@ namespace Bit.Droid.Services public bool UsingDarkTheme() { + try + { + if (Build.VERSION.SdkInt >= BuildVersionCodes.Q) + { + var app = CrossCurrentActivity.Current.AppContext; + var uiModeFlags = app.Resources.Configuration.UiMode & UiMode.NightMask; + return uiModeFlags == UiMode.NightYes; + } + } + catch { } return false; } diff --git a/src/App/App.csproj b/src/App/App.csproj index e50a78334..3d1d938fe 100644 --- a/src/App/App.csproj +++ b/src/App/App.csproj @@ -14,7 +14,7 @@ - + diff --git a/src/iOS/Info.plist b/src/iOS/Info.plist index 3860eef3d..de9f2f454 100644 --- a/src/iOS/Info.plist +++ b/src/iOS/Info.plist @@ -125,5 +125,7 @@ Use Face ID to unlock your vault. NFCReaderUsageDescription Use Yubikeys for two-facor authentication. + UILaunchImages + Resources/Assets.xcassets/LaunchScreen.imageset diff --git a/src/iOS/LaunchScreen.storyboard b/src/iOS/LaunchScreen.storyboard index 27dcadb0b..6cec090bc 100644 --- a/src/iOS/LaunchScreen.storyboard +++ b/src/iOS/LaunchScreen.storyboard @@ -1,4 +1,4 @@ - + @@ -14,9 +14,9 @@ - + - + @@ -25,7 +25,6 @@ - @@ -54,7 +53,7 @@ - + diff --git a/src/iOS/Resources/Assets.xcassets/LaunchScreen.imageset/Contents.json b/src/iOS/Resources/Assets.xcassets/LaunchScreen.imageset/Contents.json new file mode 100644 index 000000000..b38b8e9c2 --- /dev/null +++ b/src/iOS/Resources/Assets.xcassets/LaunchScreen.imageset/Contents.json @@ -0,0 +1,68 @@ +{ + "images" : [ + { + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "idiom" : "universal" + }, + { + "filename" : "logo.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "logo_white.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "logo@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "logo_white@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "logo@3x.png", + "idiom" : "universal", + "scale" : "3x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "logo_white@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/src/iOS/Resources/Assets.xcassets/LaunchScreen.imageset/logo.png b/src/iOS/Resources/Assets.xcassets/LaunchScreen.imageset/logo.png new file mode 100644 index 000000000..33ced5b12 Binary files /dev/null and b/src/iOS/Resources/Assets.xcassets/LaunchScreen.imageset/logo.png differ diff --git a/src/iOS/Resources/Assets.xcassets/LaunchScreen.imageset/logo@2x.png b/src/iOS/Resources/Assets.xcassets/LaunchScreen.imageset/logo@2x.png new file mode 100644 index 000000000..2a0ba60b9 Binary files /dev/null and b/src/iOS/Resources/Assets.xcassets/LaunchScreen.imageset/logo@2x.png differ diff --git a/src/iOS/Resources/Assets.xcassets/LaunchScreen.imageset/logo@3x.png b/src/iOS/Resources/Assets.xcassets/LaunchScreen.imageset/logo@3x.png new file mode 100644 index 000000000..904731676 Binary files /dev/null and b/src/iOS/Resources/Assets.xcassets/LaunchScreen.imageset/logo@3x.png differ diff --git a/src/iOS/Resources/Assets.xcassets/LaunchScreen.imageset/logo_white.png b/src/iOS/Resources/Assets.xcassets/LaunchScreen.imageset/logo_white.png new file mode 100644 index 000000000..b5856a638 Binary files /dev/null and b/src/iOS/Resources/Assets.xcassets/LaunchScreen.imageset/logo_white.png differ diff --git a/src/iOS/Resources/Assets.xcassets/LaunchScreen.imageset/logo_white@2x.png b/src/iOS/Resources/Assets.xcassets/LaunchScreen.imageset/logo_white@2x.png new file mode 100644 index 000000000..7424b6f77 Binary files /dev/null and b/src/iOS/Resources/Assets.xcassets/LaunchScreen.imageset/logo_white@2x.png differ diff --git a/src/iOS/Resources/Assets.xcassets/LaunchScreen.imageset/logo_white@3x.png b/src/iOS/Resources/Assets.xcassets/LaunchScreen.imageset/logo_white@3x.png new file mode 100644 index 000000000..7d76d07d2 Binary files /dev/null and b/src/iOS/Resources/Assets.xcassets/LaunchScreen.imageset/logo_white@3x.png differ diff --git a/src/iOS/iOS.csproj b/src/iOS/iOS.csproj index adb62740a..1e6c3a996 100644 --- a/src/iOS/iOS.csproj +++ b/src/iOS/iOS.csproj @@ -144,6 +144,13 @@ false + + + + + + + @@ -388,4 +395,7 @@ + + + \ No newline at end of file