From 14fc595760f896d708cc9bcf73cd6977a4599c69 Mon Sep 17 00:00:00 2001 From: Dan Ballard Date: Sat, 23 Sep 2017 08:34:50 -0700 Subject: [PATCH] persist the 3 values across activity creation --- .../im/ricochet/androidod/RemoteActivity.java | 31 +++++++++++++++---- 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/im/ricochet/androidod/RemoteActivity.java b/app/src/main/java/im/ricochet/androidod/RemoteActivity.java index 83be63d..67ce911 100644 --- a/app/src/main/java/im/ricochet/androidod/RemoteActivity.java +++ b/app/src/main/java/im/ricochet/androidod/RemoteActivity.java @@ -10,6 +10,10 @@ import android.widget.TextView; import goRicochetMobile.GoRicochetMobile; public class RemoteActivity extends AppCompatActivity { + private static final String DEVICE_NAME_KEY = "deviceName"; + private static final String BATTERY_LEVEL_KEY = "batteryLevel"; + private static final String VIBE_LEVEL_KEY = "vibeLEvel"; + TextView deviceText; TextView batteryText; TextView statusText; @@ -62,14 +66,29 @@ public class RemoteActivity extends AppCompatActivity { } }); - GetDeviceNameTask getDeviceNameTask = new GetDeviceNameTask(); - getDeviceNameTask.execute(); - GetBatteryTask getBatteryTask = new GetBatteryTask(); - getBatteryTask.execute(); + if (savedInstanceState != null) { + deviceText.setText(savedInstanceState.getString(DEVICE_NAME_KEY)); + batteryText.setText(savedInstanceState.getString(BATTERY_LEVEL_KEY)); + vibeLevel = savedInstanceState.getInt(VIBE_LEVEL_KEY); + setVibeLevel(vibeLevel); + } else { + GetDeviceNameTask getDeviceNameTask = new GetDeviceNameTask(); + getDeviceNameTask.execute(); - GetLevelTask getLevelTask = new GetLevelTask(); - getLevelTask.execute(); + GetBatteryTask getBatteryTask = new GetBatteryTask(); + getBatteryTask.execute(); + + GetLevelTask getLevelTask = new GetLevelTask(); + getLevelTask.execute(); + } + } + + @Override + protected void onSaveInstanceState(final Bundle outState) { + outState.putString(DEVICE_NAME_KEY, deviceText.getText().toString()); + outState.putString(BATTERY_LEVEL_KEY, batteryText.getText().toString()); + outState.putInt(VIBE_LEVEL_KEY, vibeLevel); } // current impelementation of OD server can return 0 to 6 (potentially downsampled from 12?)