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