diff --git a/.gitignore b/.gitignore
index 7419d78..532ecfe 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,6 +11,7 @@
.idea/modules
.idea/markdown-navigator.xml
.idea/modules.xml
+.idea/**
# Gradle:
.idea/**/gradle.xml
diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml
deleted file mode 100644
index 7f68460..0000000
--- a/.idea/runConfigurations.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 94a25f7..0000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/java/devliving/online/securedpreferencestoresample/MainActivity.java b/app/src/main/java/devliving/online/securedpreferencestoresample/MainActivity.java
index 2d75123..f665813 100644
--- a/app/src/main/java/devliving/online/securedpreferencestoresample/MainActivity.java
+++ b/app/src/main/java/devliving/online/securedpreferencestoresample/MainActivity.java
@@ -3,6 +3,8 @@
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
+import android.os.Handler;
+import android.os.Looper;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
@@ -20,7 +22,7 @@ public class MainActivity extends AppCompatActivity {
EditText text1, number1, date1, text2, number2;
- Button reloadButton, saveButton, imageDemoBtn;
+ Button reloadButton, saveButton, multiThreadingButton, imageDemoBtn;
String TEXT_1 = "text_short", TEXT_2 = "text_long", NUMBER_1 = "number_int", NUMBER_2 = "number_float", DATE_1 = "date_text", DATE_2 = "date_long";
@@ -38,6 +40,7 @@ protected void onCreate(Bundle savedInstanceState) {
reloadButton = (Button) findViewById(R.id.reload);
saveButton = (Button) findViewById(R.id.save);
+ multiThreadingButton = (Button) findViewById(R.id.multi_threading);
imageDemoBtn = findViewById(R.id.tryFile);
try {
@@ -79,6 +82,49 @@ public void onClick(View view) {
}
}
});
+ multiThreadingButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Runnable saveJob = new Runnable() {
+ @Override
+ public void run() {
+ Log.d("queen", Thread.currentThread().getName() + " gets started");
+ while(true) {
+ saveData();
+ reloadData();
+ }
+ }
+ };
+
+ new Thread(saveJob).start();
+ new Thread(saveJob).start();
+ new Thread(saveJob).start();
+ new Thread(saveJob).start();
+ new Thread(saveJob).start();
+ new Thread(saveJob).start();
+ new Thread(saveJob).start();
+ new Thread(saveJob).start();
+ new Thread(saveJob).start();
+ new Thread(saveJob).start();
+ new Thread(saveJob).start();
+ new Thread(saveJob).start();
+ new Thread(saveJob).start();
+ new Thread(saveJob).start();
+ new Thread(saveJob).start();
+ new Thread(saveJob).start();
+ new Thread(saveJob).start();
+ new Thread(saveJob).start();
+ new Thread(saveJob).start();
+ new Thread(saveJob).start();
+ new Thread(saveJob).start();
+ new Thread(saveJob).start();
+ new Thread(saveJob).start();
+ new Thread(saveJob).start();
+ new Thread(saveJob).start();
+ new Thread(saveJob).start();
+ }
+ });
+
imageDemoBtn.setOnClickListener(v -> {
Intent intent = new Intent(this, FileDemoActivity.class);
@@ -106,17 +152,22 @@ protected boolean recover(Exception e, KeyStore keyStore, List keyAliase
void reloadData() {
SecuredPreferenceStore prefStore = SecuredPreferenceStore.getSharedInstance();
- String textShort = prefStore.getString(TEXT_1, null);
- String textLong = prefStore.getString(TEXT_2, null);
- int numberInt = prefStore.getInt(NUMBER_1, 0);
- float numberFloat = prefStore.getFloat(NUMBER_2, 0);
- String dateText = prefStore.getString(DATE_1, null);
-
- text1.setText(textShort);
- text2.setText(textLong);
- number1.setText(String.valueOf(numberInt));
- number2.setText(String.valueOf(numberFloat));
- date1.setText(dateText);
+ final String textShort = prefStore.getString(TEXT_1, null);
+ final String textLong = prefStore.getString(TEXT_2, null);
+ final int numberInt = prefStore.getInt(NUMBER_1, 0);
+ final float numberFloat = prefStore.getFloat(NUMBER_2, 0);
+ final String dateText = prefStore.getString(DATE_1, null);
+
+ new Handler(Looper.getMainLooper()).post(new Runnable() {
+ @Override
+ public void run() {
+ text1.setText(textShort);
+ text2.setText(textLong);
+ number1.setText(String.valueOf(numberInt));
+ number2.setText(String.valueOf(numberFloat));
+ date1.setText(dateText);
+ }
+ });
}
void saveData() {
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index bb68a7f..9ebc0b4 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -76,6 +76,12 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Save" />
+