aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/invalid/lena/scrcpy/SettingsActivity.java
diff options
context:
space:
mode:
authorLena <lena@omega>2026-08-01 00:00:00 +0000
committerLena <lena@omega>2026-08-01 00:00:00 +0000
commit852a8a00273c9128efeed0217a8e5d3fcd8bf780 (patch)
treec72f959731fa3c7c809cf1a0222363b6c9c9b03b /app/src/main/java/invalid/lena/scrcpy/SettingsActivity.java
parentf379b93d52bf0dbd3816ec3f64d165314771d2a6 (diff)
downloadscrcpy-android-852a8a00273c9128efeed0217a8e5d3fcd8bf780.tar.gz
app: harden mirroring lifecycle and state
Diffstat (limited to 'app/src/main/java/invalid/lena/scrcpy/SettingsActivity.java')
-rw-r--r--app/src/main/java/invalid/lena/scrcpy/SettingsActivity.java22
1 files changed, 19 insertions, 3 deletions
diff --git a/app/src/main/java/invalid/lena/scrcpy/SettingsActivity.java b/app/src/main/java/invalid/lena/scrcpy/SettingsActivity.java
index 43b0954..b650bc4 100644
--- a/app/src/main/java/invalid/lena/scrcpy/SettingsActivity.java
+++ b/app/src/main/java/invalid/lena/scrcpy/SettingsActivity.java
@@ -45,9 +45,9 @@ public final class SettingsActivity extends Activity {
switch (Settings.videoBitRate(this)) {
case 1_000_000: ((RadioButton) findViewById(R.id.bit_rate_1m)).setChecked(true); break;
case 2_000_000: ((RadioButton) findViewById(R.id.bit_rate_2m)).setChecked(true); break;
- case 4_000_000: ((RadioButton) findViewById(R.id.bit_rate_4m)).setChecked(true); break;
+ case 8_000_000: ((RadioButton) findViewById(R.id.bit_rate_8m)).setChecked(true); break;
case 16_000_000: ((RadioButton) findViewById(R.id.bit_rate_16m)).setChecked(true); break;
- default: ((RadioButton) findViewById(R.id.bit_rate_8m)).setChecked(true);
+ default: ((RadioButton) findViewById(R.id.bit_rate_4m)).setChecked(true);
}
switch (Settings.maxFps(this)) {
case 30: ((RadioButton) findViewById(R.id.max_fps_30)).setChecked(true); break;
@@ -83,11 +83,17 @@ public final class SettingsActivity extends Activity {
});
bitRateGroup.setOnCheckedChangeListener((g, id) -> {
- int v = Settings.DEFAULT_VIDEO_BIT_RATE;
+ // Every button maps explicitly. Falling back to
+ // DEFAULT_VIDEO_BIT_RATE for the unmatched one silently tied
+ // whichever button that was to the default's current value,
+ // so changing the default changed what that button stored.
+ int v;
if (id == R.id.bit_rate_1m) v = 1_000_000;
else if (id == R.id.bit_rate_2m) v = 2_000_000;
else if (id == R.id.bit_rate_4m) v = 4_000_000;
+ else if (id == R.id.bit_rate_8m) v = 8_000_000;
else if (id == R.id.bit_rate_16m) v = 16_000_000;
+ else return;
Settings.setVideoBitRate(this, v);
Log.i("settings: video_bit_rate=%d", v);
});
@@ -102,6 +108,16 @@ public final class SettingsActivity extends Activity {
Log.i("settings: max_fps=%d", v);
});
+ findViewById(R.id.licenses).setOnClickListener(v ->
+ startActivity(new android.content.Intent(this, Licenses.class)));
+
+ CheckBox clipboardBox = findViewById(R.id.clipboard_sync);
+ clipboardBox.setChecked(Settings.clipboardSync(this));
+ clipboardBox.setOnCheckedChangeListener((b, checked) -> {
+ Settings.setClipboardSync(this, checked);
+ Log.i("settings: clipboard=%b", checked);
+ });
+
statusBarBox.setChecked(Settings.showStatusBar(this));
statusBarBox.setOnCheckedChangeListener((b, checked) -> {
Settings.setShowStatusBar(this, checked);