Skip to content

Commit 3ab39e5

Browse files
Add brightness slider for transfer activity
1 parent 7c6e3ae commit 3ab39e5

File tree

4 files changed

+98
-16
lines changed

4 files changed

+98
-16
lines changed

Diff for: app/src/main/java/com/beemdevelopment/aegis/ui/TransferEntriesActivity.java

+36-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import android.view.ViewTreeObserver;
1717
import android.view.WindowManager;
1818
import android.widget.Button;
19+
import android.widget.SeekBar;
1920
import android.widget.TextView;
2021
import android.widget.Toast;
2122

@@ -43,6 +44,7 @@ public class TransferEntriesActivity extends AegisActivity {
4344
private TextView _issuer;
4445
private TextView _accountName;
4546
private TextView _entriesCount;
47+
private SeekBar _brightnessSeekbar;
4648
private Button _nextButton;
4749
private Button _previousButton;
4850
private Button _copyButton;
@@ -63,6 +65,7 @@ protected void onCreate(Bundle savedInstanceState) {
6365
_issuer = findViewById(R.id.tvIssuer);
6466
_accountName = findViewById(R.id.tvAccountName);
6567
_entriesCount = findViewById(R.id.tvEntriesCount);
68+
_brightnessSeekbar = findViewById(R.id.sbBrightness);
6669
_nextButton = findViewById(R.id.btnNext);
6770
_previousButton = findViewById(R.id.btnPrevious);
6871
_copyButton = findViewById(R.id.btnCopyClipboard);
@@ -128,6 +131,34 @@ protected void onCreate(Bundle savedInstanceState) {
128131
}
129132
});
130133

134+
_brightnessSeekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
135+
@Override
136+
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
137+
float brightnessAmount = 1.0f;
138+
if (progress != seekBar.getMax())
139+
{
140+
// Convert progress to a scaling factor
141+
float factor = progress * 20.0f / 255.0f;
142+
float percentage = factor * 100.0f;
143+
144+
// Scale to 0.0f - 1.0f range
145+
brightnessAmount = percentage / 255.0f;
146+
}
147+
148+
setBrightness(brightnessAmount);
149+
}
150+
151+
@Override
152+
public void onStartTrackingTouch(SeekBar seekBar) {
153+
154+
}
155+
156+
@Override
157+
public void onStopTrackingTouch(SeekBar seekBar) {
158+
159+
}
160+
});
161+
131162
// Calculate sensible dimensions for the QR code depending on whether we're in landscape
132163
_qrImage.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
133164
@Override
@@ -151,8 +182,12 @@ public void onGlobalLayout() {
151182
@Override
152183
public void onAttachedToWindow() {
153184
// Max brightness to make the QR codes easier to scan
185+
setBrightness(1.0f);
186+
}
187+
188+
private void setBrightness(float brightnessAmount) {
154189
WindowManager.LayoutParams attrs = getWindow().getAttributes();
155-
attrs.screenBrightness = 1.0f;
190+
attrs.screenBrightness = brightnessAmount;
156191
getWindow().setAttributes(attrs);
157192
}
158193

Diff for: app/src/main/res/drawable/ic_brightness_high_24.xml

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
2+
3+
<path android:fillColor="@android:color/white" android:pathData="M20,8.69L20,4h-4.69L12,0.69 8.69,4L4,4v4.69L0.69,12 4,15.31L4,20h4.69L12,23.31 15.31,20L20,20v-4.69L23.31,12 20,8.69zM12,18c-3.31,0 -6,-2.69 -6,-6s2.69,-6 6,-6 6,2.69 6,6 -2.69,6 -6,6zM12,8c-2.21,0 -4,1.79 -4,4s1.79,4 4,4 4,-1.79 4,-4 -1.79,-4 -4,-4z"/>
4+
5+
</vector>

Diff for: app/src/main/res/drawable/ic_brightness_low_24.xml

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
2+
3+
<path android:fillColor="@android:color/white" android:pathData="M20,15.31L23.31,12 20,8.69V4h-4.69L12,0.69 8.69,4H4v4.69L0.69,12 4,15.31V20h4.69L12,23.31 15.31,20H20v-4.69zM12,18c-3.31,0 -6,-2.69 -6,-6s2.69,-6 6,-6 6,2.69 6,6 -2.69,6 -6,6z"/>
4+
5+
</vector>

Diff for: app/src/main/res/layout/activity_share_entry.xml

+52-15
Original file line numberDiff line numberDiff line change
@@ -25,53 +25,53 @@
2525
android:id="@+id/layoutShareEntry"
2626
android:layout_width="match_parent"
2727
android:layout_height="match_parent"
28-
android:paddingHorizontal="30dp"
29-
android:layout_marginTop="?attr/actionBarSize">
28+
android:layout_marginTop="?attr/actionBarSize"
29+
android:paddingHorizontal="30dp">
3030

3131
<TextView
3232
android:id="@+id/tvDescription"
3333
android:layout_width="wrap_content"
3434
android:layout_height="wrap_content"
3535
android:gravity="center"
3636
android:text="@string/transfer_entry_description"
37-
app:layout_constraintTop_toTopOf="parent"
3837
app:layout_constraintBottom_toTopOf="@+id/ivQrCode"
3938
app:layout_constraintEnd_toEndOf="parent"
40-
app:layout_constraintStart_toStartOf="parent" />
39+
app:layout_constraintStart_toStartOf="parent"
40+
app:layout_constraintTop_toTopOf="parent" />
4141

4242
<com.google.android.material.imageview.ShapeableImageView
4343
android:id="@+id/ivQrCode"
4444
android:layout_width="0dp"
4545
android:layout_height="0dp"
46-
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.Aegis.ImageView.Rounded"
46+
app:layout_constraintBottom_toBottomOf="parent"
4747
app:layout_constraintDimensionRatio="1:1"
48-
app:layout_constraintVertical_bias="0.3"
49-
app:layout_constraintTop_toTopOf="parent"
5048
app:layout_constraintEnd_toEndOf="parent"
5149
app:layout_constraintStart_toStartOf="parent"
52-
app:layout_constraintBottom_toBottomOf="parent" />
50+
app:layout_constraintTop_toTopOf="parent"
51+
app:layout_constraintVertical_bias="0.3"
52+
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.Aegis.ImageView.Rounded" />
5353

5454
<TextView
5555
android:id="@+id/tvIssuer"
5656
android:layout_width="wrap_content"
5757
android:layout_height="wrap_content"
5858
android:layout_marginTop="20dp"
59-
tools:text="Issuer"
6059
android:textSize="18sp"
6160
android:textStyle="bold"
6261
app:layout_constraintEnd_toEndOf="parent"
6362
app:layout_constraintStart_toStartOf="parent"
64-
app:layout_constraintTop_toBottomOf="@+id/ivQrCode" />
63+
app:layout_constraintTop_toBottomOf="@+id/ivQrCode"
64+
tools:text="Issuer" />
6565

6666
<TextView
6767
android:id="@+id/tvAccountName"
6868
android:layout_width="wrap_content"
6969
android:layout_height="wrap_content"
7070
android:layout_marginTop="4dp"
71-
tools:text="Accountname"
7271
app:layout_constraintEnd_toEndOf="parent"
7372
app:layout_constraintStart_toStartOf="parent"
74-
app:layout_constraintTop_toBottomOf="@+id/tvIssuer" />
73+
app:layout_constraintTop_toBottomOf="@+id/tvIssuer"
74+
tools:text="Accountname" />
7575

7676
<Button
7777
android:id="@+id/btnCopyClipboard"
@@ -80,29 +80,31 @@
8080
android:text="@string/copy_uri"
8181
android:textAllCaps="false"
8282
android:visibility="invisible"
83+
app:layout_constraintBottom_toTopOf="@id/tvEntriesCount"
8384
app:layout_constraintEnd_toEndOf="parent"
85+
app:layout_constraintHorizontal_bias="0.497"
8486
app:layout_constraintStart_toStartOf="parent"
8587
app:layout_constraintTop_toBottomOf="@id/tvAccountName"
86-
app:layout_constraintBottom_toTopOf="@id/tvEntriesCount" />
88+
app:layout_constraintVertical_bias="0.134" />
8789

8890
<Button
8991
android:id="@+id/btnNext"
92+
style="@style/Widget.Material3.Button.TextButton"
9093
android:layout_width="wrap_content"
9194
android:layout_height="wrap_content"
9295
android:layout_marginBottom="4dp"
93-
style="@style/Widget.Material3.Button.TextButton"
9496
android:text="@string/next"
9597
android:textAllCaps="false"
9698
app:layout_constraintBottom_toBottomOf="parent"
9799
app:layout_constraintEnd_toEndOf="parent" />
98100

99101
<Button
100102
android:id="@+id/btnPrevious"
103+
style="@style/Widget.Material3.Button.TextButton"
101104
android:layout_width="wrap_content"
102105
android:layout_height="wrap_content"
103106
android:layout_marginEnd="4dp"
104107
android:layout_marginBottom="4dp"
105-
style="@style/Widget.Material3.Button.TextButton"
106108
android:text="@string/previous"
107109
android:textAllCaps="false"
108110
android:visibility="invisible"
@@ -118,6 +120,41 @@
118120
app:layout_constraintEnd_toEndOf="@+id/btnNext"
119121
app:layout_constraintStart_toStartOf="@+id/btnPrevious" />
120122

123+
<SeekBar
124+
android:id="@+id/sbBrightness"
125+
style="@style/Widget.AppCompat.SeekBar.Discrete"
126+
android:layout_width="0dp"
127+
android:layout_height="wrap_content"
128+
android:max="5"
129+
android:progress="5"
130+
app:layout_constraintBottom_toTopOf="@+id/tvEntriesCount"
131+
app:layout_constraintEnd_toStartOf="@+id/imageView2"
132+
app:layout_constraintHorizontal_bias="0.0"
133+
app:layout_constraintStart_toEndOf="@+id/imageView3"
134+
app:layout_constraintTop_toBottomOf="@+id/btnCopyClipboard"
135+
app:layout_constraintVertical_bias="0.5" />
136+
137+
<ImageView
138+
android:id="@+id/imageView3"
139+
android:layout_width="wrap_content"
140+
android:layout_height="wrap_content"
141+
android:layout_marginEnd="324dp"
142+
app:layout_constraintBottom_toTopOf="@+id/tvEntriesCount"
143+
app:layout_constraintEnd_toEndOf="parent"
144+
app:layout_constraintTop_toBottomOf="@+id/btnCopyClipboard"
145+
app:srcCompat="@drawable/ic_brightness_low_24"
146+
app:tint="?attr/colorOnSurface" />
147+
148+
<ImageView
149+
android:id="@+id/imageView2"
150+
android:layout_width="wrap_content"
151+
android:layout_height="wrap_content"
152+
app:layout_constraintBottom_toTopOf="@+id/tvEntriesCount"
153+
app:layout_constraintEnd_toEndOf="parent"
154+
app:layout_constraintTop_toBottomOf="@+id/btnCopyClipboard"
155+
app:srcCompat="@drawable/ic_brightness_high_24"
156+
app:tint="?attr/colorOnSurface" />
157+
121158
</androidx.constraintlayout.widget.ConstraintLayout>
122159

123160
</androidx.coordinatorlayout.widget.CoordinatorLayout>

0 commit comments

Comments
 (0)