From 3d138c9504a26b233423badce4df3c2a7b216aa6 Mon Sep 17 00:00:00 2001 From: Katharine Chui Date: Thu, 3 Feb 2022 20:40:52 +0800 Subject: [PATCH] ucrop toolbar typeface --- .../card_locker/LoyaltyCardEditActivity.java | 14 +++++++++++++- .../java/protect/card_locker/UCropWrapper.java | 16 ++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java b/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java index 95f239495..2366eebb0 100644 --- a/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java +++ b/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java @@ -69,6 +69,7 @@ import androidx.activity.result.contract.ActivityResultContracts; import androidx.annotation.NonNull; import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.widget.AppCompatTextView; import androidx.appcompat.widget.Toolbar; import androidx.core.content.ContextCompat; import androidx.core.content.FileProvider; @@ -135,6 +136,8 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity { Button enterButton; + Toolbar toolbar; + int loyaltyCardId; boolean updateLoyaltyCard; String cardId; @@ -291,7 +294,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity { super.onCreate(savedInstanceState); setContentView(R.layout.loyalty_card_edit_activity); - Toolbar toolbar = findViewById(R.id.toolbar); + toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); ActionBar actionBar = getSupportActionBar(); if (actionBar != null) { @@ -1410,6 +1413,15 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity { ).withOptions(mCropperOptions) .getIntent(this); ucropIntent.setClass(this, UCropWrapper.class); + for (int i = 0; i < toolbar.getChildCount(); i++) { + // send toolbar font details to ucrop wrapper + View child = toolbar.getChildAt(i); + if (child instanceof AppCompatTextView) { + AppCompatTextView childTextView = (AppCompatTextView) child; + ucropIntent.putExtra(UCropWrapper.UCROP_TOOLBAR_TYPEFACE_STYLE, childTextView.getTypeface().getStyle()); + break; + } + } mCropperLauncher.launch(ucropIntent); } diff --git a/app/src/main/java/protect/card_locker/UCropWrapper.java b/app/src/main/java/protect/card_locker/UCropWrapper.java index 99b7df367..2f32d5001 100644 --- a/app/src/main/java/protect/card_locker/UCropWrapper.java +++ b/app/src/main/java/protect/card_locker/UCropWrapper.java @@ -1,6 +1,8 @@ package protect.card_locker; +import android.content.Intent; import android.graphics.Color; +import android.graphics.Typeface; import android.graphics.drawable.Drawable; import android.os.Build; import android.os.Bundle; @@ -14,9 +16,12 @@ import androidx.core.content.ContextCompat; import androidx.core.graphics.ColorUtils; import com.google.android.material.color.MaterialColors; +import com.google.android.material.textview.MaterialTextView; import com.yalantis.ucrop.UCropActivity; public class UCropWrapper extends UCropActivity { + public static final String UCROP_TOOLBAR_TYPEFACE_STYLE = "ucop_toolbar_typeface_style"; + @Override protected void onPostCreate(@Nullable Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); @@ -59,5 +64,16 @@ public class UCropWrapper extends UCropActivity { } } } + + // change toolbar font + check = findViewById(com.yalantis.ucrop.R.id.toolbar_title); + if (check instanceof MaterialTextView) { + MaterialTextView toolbarTextview = (MaterialTextView) check; + Intent intent = getIntent(); + int style = intent.getIntExtra(UCROP_TOOLBAR_TYPEFACE_STYLE, -1); + if (style != -1) { + toolbarTextview.setTypeface(Typeface.defaultFromStyle(style)); + } + } } }