From 2b4858b80bd0319b0adf2c1a1570a8e3c344c554 Mon Sep 17 00:00:00 2001 From: "DESKTOP-IF738U6\\Tim" Date: Tue, 28 Dec 2021 15:08:33 +0800 Subject: [PATCH] data loss fix for add dns --- .../org/jak_linux/dns66/ItemActivity.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/app/src/main/java/org/jak_linux/dns66/ItemActivity.java b/app/src/main/java/org/jak_linux/dns66/ItemActivity.java index 6b637dbf..7924670c 100644 --- a/app/src/main/java/org/jak_linux/dns66/ItemActivity.java +++ b/app/src/main/java/org/jak_linux/dns66/ItemActivity.java @@ -11,6 +11,7 @@ import android.app.Activity; import android.app.AlertDialog; import android.content.Intent; +import android.content.SharedPreferences; import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Bundle; @@ -24,6 +25,7 @@ import android.view.MotionEvent; import android.view.View; import android.widget.AdapterView; +import android.widget.EditText; import android.widget.ImageView; import android.widget.Spinner; import android.widget.Switch; @@ -161,6 +163,36 @@ public boolean onTouch(View v, MotionEvent event) { } + private SharedPreferences spGen; + + private boolean isSubmit; + + @Override + protected void onPause() { + super.onPause(); + SharedPreferences.Editor spGenEditor = spGen.edit(); + if (isSubmit) { + spGenEditor.putString("editTitle", ""); + spGenEditor.putString("editLocation", ""); + spGenEditor.putBoolean("editState", true); + } else { + spGenEditor.putString("editTitle", titleText.getText().toString()); + spGenEditor.putString("editLocation", locationText.getText().toString()); + spGenEditor.putBoolean("editState", stateSwitch.isChecked()); + } + spGenEditor.commit(); + } + + @Override + protected void onResume() { + super.onResume(); + spGen = getSharedPreferences("MainActivity", MODE_PRIVATE); + titleText.setText(spGen.getString("editTitle", "")); + locationText.setText(spGen.getString("editLocation", "")); + stateSwitch.setChecked(spGen.getBoolean("editState", true)); + isSubmit = false; + } + @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. @@ -193,6 +225,7 @@ public boolean onOptionsItemSelected(MenuItem item) { if (stateSwitch != null) intent.putExtra("ITEM_STATE", stateSwitch.isChecked() ? 1 : 0); setResult(RESULT_OK, intent); + isSubmit = true; finish(); break; }