From 136de4a6bba134f8a72ae8183b59e5fa3a2096cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Sch=C3=A4ttgen?= Date: Mon, 24 Feb 2025 19:39:41 +0100 Subject: [PATCH] Add brightness slider for transfer activity --- .../aegis/ui/TransferEntriesActivity.java | 32 ++++++++++++-- .../main/res/layout/activity_share_entry.xml | 42 ++++++++++++------- app/src/main/res/values/strings.xml | 1 + 3 files changed, 56 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/com/beemdevelopment/aegis/ui/TransferEntriesActivity.java b/app/src/main/java/com/beemdevelopment/aegis/ui/TransferEntriesActivity.java index a4deae5729..c192835355 100644 --- a/app/src/main/java/com/beemdevelopment/aegis/ui/TransferEntriesActivity.java +++ b/app/src/main/java/com/beemdevelopment/aegis/ui/TransferEntriesActivity.java @@ -10,6 +10,7 @@ import android.os.Build; import android.os.Bundle; import android.os.PersistableBundle; +import android.provider.Settings; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; @@ -47,6 +48,8 @@ public class TransferEntriesActivity extends AegisActivity { private Button _previousButton; private Button _copyButton; private int _currentEntryCount = 1; + private float _deviceBrightness; + private boolean isMaxBrightnessSet = false; @Override protected void onCreate(Bundle savedInstanceState) { @@ -146,14 +149,35 @@ public void onGlobalLayout() { _qrImage.getViewTreeObserver().removeOnGlobalLayoutListener(this); } }); + + _deviceBrightness = getSystemBrightness(); + _qrImage.setOnClickListener(v -> { + if (!isMaxBrightnessSet) { + setBrightness(1f); + isMaxBrightnessSet = true; + } else { + setBrightness(_deviceBrightness); + isMaxBrightnessSet = false; + } + }); } - @Override - public void onAttachedToWindow() { - // Max brightness to make the QR codes easier to scan + private float getSystemBrightness() { + int brightness = 0; + try { + brightness = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS); + } catch (Settings.SettingNotFoundException e) { + e.printStackTrace(); + } + + return brightness / 255f; + } + + private void setBrightness(float brightnessAmount) { WindowManager.LayoutParams attrs = getWindow().getAttributes(); - attrs.screenBrightness = 1.0f; + attrs.screenBrightness = brightnessAmount; getWindow().setAttributes(attrs); + getSystemBrightness(); } @Override diff --git a/app/src/main/res/layout/activity_share_entry.xml b/app/src/main/res/layout/activity_share_entry.xml index 3050c05620..455f3356e3 100644 --- a/app/src/main/res/layout/activity_share_entry.xml +++ b/app/src/main/res/layout/activity_share_entry.xml @@ -25,8 +25,8 @@ android:id="@+id/layoutShareEntry" android:layout_width="match_parent" android:layout_height="match_parent" - android:paddingHorizontal="30dp" - android:layout_marginTop="?attr/actionBarSize"> + android:layout_marginTop="?attr/actionBarSize" + android:paddingHorizontal="30dp"> + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.3" + app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.Aegis.ImageView.Rounded" /> + app:layout_constraintTop_toBottomOf="@+id/ivQrCode" + tools:text="Issuer" /> + app:layout_constraintTop_toBottomOf="@+id/tvIssuer" + tools:text="Accountname" />