diff --git a/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java b/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java
index d3db308e3..e3000e90a 100644
--- a/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java
+++ b/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java
@@ -6,6 +6,7 @@ import android.content.pm.ActivityInfo;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
+import android.support.v4.graphics.ColorUtils;
import android.support.v4.widget.TextViewCompat;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
@@ -44,6 +45,8 @@ public class LoyaltyCardViewActivity extends AppCompatActivity
ImportURIHelper importURIHelper;
Settings settings;
+ boolean backgroundNeedsDarkIcons;
+
private void extractIntentFields(Intent intent)
{
final Bundle b = intent.getExtras();
@@ -165,6 +168,17 @@ public class LoyaltyCardViewActivity extends AppCompatActivity
collapsingToolbarLayout.setBackgroundColor(backgroundHeaderColor);
+ // If the background is very bright, we should use dark icons
+ backgroundNeedsDarkIcons = (ColorUtils.calculateLuminance(backgroundHeaderColor) > 0.5);
+ if(backgroundNeedsDarkIcons)
+ {
+ ActionBar actionBar = getSupportActionBar();
+ if(actionBar != null)
+ {
+ actionBar.setHomeAsUpIndicator(R.drawable.ic_arrow_back_black);
+ }
+ }
+
if(barcodeImage.getHeight() == 0)
{
Log.d(TAG, "ImageView size is not known known at start, waiting for load");
@@ -203,13 +217,21 @@ public class LoyaltyCardViewActivity extends AppCompatActivity
{
getMenuInflater().inflate(R.menu.card_view_menu, menu);
- if(settings.getLockBarcodeScreenOrientation())
+ // Always calculate lockscreen icon, it may need a black color
+ boolean lockBarcodeScreenOrientation = settings.getLockBarcodeScreenOrientation();
+ MenuItem item = menu.findItem(R.id.action_lock_unlock);
+ setOrientatonLock(item, lockBarcodeScreenOrientation);
+ if(lockBarcodeScreenOrientation)
{
- MenuItem item = menu.findItem(R.id.action_lock_unlock);
- setOrientatonLock(item, true);
item.setVisible(false);
}
+ if(backgroundNeedsDarkIcons)
+ {
+ menu.findItem(R.id.action_share).setIcon(R.drawable.ic_share_black);
+ menu.findItem(R.id.action_edit).setIcon(R.drawable.ic_mode_edit_black_24dp);
+ }
+
return super.onCreateOptionsMenu(menu);
}
@@ -258,13 +280,27 @@ public class LoyaltyCardViewActivity extends AppCompatActivity
{
if(lock)
{
- item.setIcon(R.drawable.ic_lock_outline_white_24dp);
+ if(backgroundNeedsDarkIcons)
+ {
+ item.setIcon(R.drawable.ic_lock_outline_black_24dp);
+ }
+ else
+ {
+ item.setIcon(R.drawable.ic_lock_outline_white_24dp);
+ }
item.setTitle(R.string.unlockScreen);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
}
else
{
- item.setIcon(R.drawable.ic_lock_open_white_24dp);
+ if(backgroundNeedsDarkIcons)
+ {
+ item.setIcon(R.drawable.ic_lock_open_black_24dp);
+ }
+ else
+ {
+ item.setIcon(R.drawable.ic_lock_open_white_24dp);
+ }
item.setTitle(R.string.lockScreen);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
}
diff --git a/app/src/main/res/drawable-anydpi/ic_arrow_back_black.xml b/app/src/main/res/drawable-anydpi/ic_arrow_back_black.xml
new file mode 100644
index 000000000..98478bec9
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/ic_arrow_back_black.xml
@@ -0,0 +1,11 @@
+
+
+
diff --git a/app/src/main/res/drawable-anydpi/ic_lock_open_black_24dp.xml b/app/src/main/res/drawable-anydpi/ic_lock_open_black_24dp.xml
new file mode 100644
index 000000000..6481a6ab2
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/ic_lock_open_black_24dp.xml
@@ -0,0 +1,11 @@
+
+
+
diff --git a/app/src/main/res/drawable-anydpi/ic_lock_outline_black_24dp.xml b/app/src/main/res/drawable-anydpi/ic_lock_outline_black_24dp.xml
new file mode 100644
index 000000000..e79c7fa13
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/ic_lock_outline_black_24dp.xml
@@ -0,0 +1,11 @@
+
+
+
diff --git a/app/src/main/res/drawable-anydpi/ic_mode_edit_black_24dp.xml b/app/src/main/res/drawable-anydpi/ic_mode_edit_black_24dp.xml
new file mode 100644
index 000000000..0fcc94c3d
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/ic_mode_edit_black_24dp.xml
@@ -0,0 +1,11 @@
+
+
+
diff --git a/app/src/main/res/drawable-anydpi/ic_share_black.xml b/app/src/main/res/drawable-anydpi/ic_share_black.xml
new file mode 100644
index 000000000..d6d88a382
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/ic_share_black.xml
@@ -0,0 +1,11 @@
+
+
+
diff --git a/app/src/main/res/drawable-hdpi/ic_arrow_back_black.png b/app/src/main/res/drawable-hdpi/ic_arrow_back_black.png
new file mode 100644
index 000000000..ebdf58407
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_arrow_back_black.png differ
diff --git a/app/src/main/res/drawable-hdpi/ic_lock_open_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_lock_open_black_24dp.png
new file mode 100644
index 000000000..8e6a08971
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_lock_open_black_24dp.png differ
diff --git a/app/src/main/res/drawable-hdpi/ic_lock_outline_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_lock_outline_black_24dp.png
new file mode 100644
index 000000000..812d91271
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_lock_outline_black_24dp.png differ
diff --git a/app/src/main/res/drawable-hdpi/ic_mode_edit_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_mode_edit_black_24dp.png
new file mode 100644
index 000000000..fdecd8f6c
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_mode_edit_black_24dp.png differ
diff --git a/app/src/main/res/drawable-hdpi/ic_share_black.png b/app/src/main/res/drawable-hdpi/ic_share_black.png
new file mode 100644
index 000000000..7bfe54373
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_share_black.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_arrow_back_black.png b/app/src/main/res/drawable-mdpi/ic_arrow_back_black.png
new file mode 100644
index 000000000..24a492818
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_arrow_back_black.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_lock_open_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_lock_open_black_24dp.png
new file mode 100644
index 000000000..7bef37b2a
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_lock_open_black_24dp.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_lock_outline_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_lock_outline_black_24dp.png
new file mode 100644
index 000000000..6bdbeeb4c
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_lock_outline_black_24dp.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_mode_edit_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_mode_edit_black_24dp.png
new file mode 100644
index 000000000..fd08725aa
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_mode_edit_black_24dp.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_share_black.png b/app/src/main/res/drawable-mdpi/ic_share_black.png
new file mode 100644
index 000000000..d03e2495f
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_share_black.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_arrow_back_black.png b/app/src/main/res/drawable-xhdpi/ic_arrow_back_black.png
new file mode 100644
index 000000000..77c9552e0
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_arrow_back_black.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_lock_open_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_lock_open_black_24dp.png
new file mode 100644
index 000000000..54fefc3e8
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_lock_open_black_24dp.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_lock_outline_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_lock_outline_black_24dp.png
new file mode 100644
index 000000000..edff073bc
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_lock_outline_black_24dp.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_mode_edit_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_mode_edit_black_24dp.png
new file mode 100644
index 000000000..710d6cc0c
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_mode_edit_black_24dp.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_share_black.png b/app/src/main/res/drawable-xhdpi/ic_share_black.png
new file mode 100644
index 000000000..eedcacb55
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_share_black.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_arrow_back_black.png b/app/src/main/res/drawable-xxhdpi/ic_arrow_back_black.png
new file mode 100644
index 000000000..d7c6207da
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_arrow_back_black.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_lock_open_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_lock_open_black_24dp.png
new file mode 100644
index 000000000..4a74b1b31
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_lock_open_black_24dp.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_lock_outline_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_lock_outline_black_24dp.png
new file mode 100644
index 000000000..1bb240a5e
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_lock_outline_black_24dp.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_mode_edit_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_mode_edit_black_24dp.png
new file mode 100644
index 000000000..c36f260fa
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_mode_edit_black_24dp.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_share_black.png b/app/src/main/res/drawable-xxhdpi/ic_share_black.png
new file mode 100644
index 000000000..2bc718cec
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_share_black.png differ