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