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" /> +