From 2b4858b80bd0319b0adf2c1a1570a8e3c344c554 Mon Sep 17 00:00:00 2001 From: "DESKTOP-IF738U6\\Tim" Date: Tue, 28 Dec 2021 15:08:33 +0800 Subject: [PATCH 1/2] 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; } From 437e52ca72b1f32dc48c7e7a1d8cc9257c891418 Mon Sep 17 00:00:00 2001 From: "DESKTOP-IF738U6\\Tim" Date: Tue, 28 Dec 2021 16:58:12 +0800 Subject: [PATCH 2/2] added and fixed add host activity --- .../org/jak_linux/dns66/ItemActivity.java | 46 ++++++++++++++----- 1 file changed, 35 insertions(+), 11 deletions(-) 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 7924670c..3827ce78 100644 --- a/app/src/main/java/org/jak_linux/dns66/ItemActivity.java +++ b/app/src/main/java/org/jak_linux/dns66/ItemActivity.java @@ -41,6 +41,8 @@ public class ItemActivity extends AppCompatActivity { private Switch stateSwitch; private ImageView imageView; + private int UIcheck; + public void performFileSearch() { Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); @@ -82,9 +84,11 @@ protected void onCreate(Bundle savedInstanceState) { if (intent.getIntExtra("STATE_CHOICES", 3) == 2) { setContentView(R.layout.activity_item_dns); setTitle(R.string.activity_edit_dns_server); + UIcheck = 1; } else { setContentView(R.layout.activity_item); setTitle(R.string.activity_edit_filter); + UIcheck = 2; } titleText = (TextInputEditText) findViewById(R.id.title); @@ -171,14 +175,27 @@ public boolean onTouch(View v, MotionEvent event) { 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()); + if(UIcheck == 1) { + if (isSubmit) { + spGenEditor.putString("editTitleDNS", ""); + spGenEditor.putString("editLocationDNS", ""); + spGenEditor.putBoolean("editStateDNS", true); + } else { + spGenEditor.putString("editTitleDNS", titleText.getText().toString()); + spGenEditor.putString("editLocationDNS", locationText.getText().toString()); + spGenEditor.putBoolean("editStateDNS", stateSwitch.isChecked()); + } + } + else if(UIcheck == 2) { + if (isSubmit) { + spGenEditor.putString("editTitleHost", ""); + spGenEditor.putString("editLocationHost", ""); + spGenEditor.putInt("editStateHost", 0); + } else { + spGenEditor.putString("editTitleHost", titleText.getText().toString()); + spGenEditor.putString("editLocationHost", locationText.getText().toString()); + spGenEditor.putInt("editStateHost", stateSpinner.getSelectedItemPosition()); + } } spGenEditor.commit(); } @@ -187,9 +204,16 @@ protected void onPause() { 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)); + if(UIcheck == 1) { + titleText.setText(spGen.getString("editTitleDNS", "")); + locationText.setText(spGen.getString("editLocationDNS", "")); + stateSwitch.setChecked(spGen.getBoolean("editStateDNS", true)); + } + else if(UIcheck == 2) { + titleText.setText(spGen.getString("editTitleHost", "")); + locationText.setText(spGen.getString("editLocationHost", "")); + stateSpinner.setSelection(spGen.getInt("editStateHost", 0)); + } isSubmit = false; }