diff --git a/app/src/main/java/com/example/assignment1/CountSharedPreferenceHelper.java b/app/src/main/java/com/example/assignment1/CountSharedPreferenceHelper.java
new file mode 100644
index 0000000..05e75e6
--- /dev/null
+++ b/app/src/main/java/com/example/assignment1/CountSharedPreferenceHelper.java
@@ -0,0 +1,33 @@
+package com.example.assignment1;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+
+public class CountSharedPreferenceHelper {
+
+ private SharedPreferences sharedPreferences;
+
+ public CountSharedPreferenceHelper(Context context) {
+ sharedPreferences = context.getSharedPreferences("Count", Context.MODE_PRIVATE);
+ }
+
+ public void saveMaxCount(int max_count) {
+ SharedPreferences.Editor editor = sharedPreferences.edit();
+ editor.putInt("MaximumCount", max_count);
+ editor.apply();
+ }
+
+ public int getMaxCount() {
+ return sharedPreferences.getInt("MaximumCount", 5);
+ }
+
+ public void saveCurrentCount(int current_count) {
+ SharedPreferences.Editor editor = sharedPreferences.edit();
+ editor.putInt("CurrentCount", current_count);
+ editor.apply();
+ }
+
+ public int getCurrentCount() {
+ return sharedPreferences.getInt("CurrentCount", 0);
+ }
+}
diff --git a/app/src/main/java/com/example/assignment1/CounterButtonSharedPreferenceHelper.java b/app/src/main/java/com/example/assignment1/CounterButtonSharedPreferenceHelper.java
index 87ca5b8..649ef3e 100644
--- a/app/src/main/java/com/example/assignment1/CounterButtonSharedPreferenceHelper.java
+++ b/app/src/main/java/com/example/assignment1/CounterButtonSharedPreferenceHelper.java
@@ -9,8 +9,8 @@ public class CounterButtonSharedPreferenceHelper {
private SharedPreferences sharedPreferences;
- public CounterButtonSharedPreferenceHelper(Context context, CounterButton counterButton) {
- sharedPreferences = context.getSharedPreferences(counterButton.getCounterButton(), Context.MODE_PRIVATE);
+ public CounterButtonSharedPreferenceHelper(Context context) {
+ sharedPreferences = context.getSharedPreferences("counter_button", Context.MODE_PRIVATE);
}
public void saveCounterButtonName(CounterButton counterButton, String eventButtonName) {
@@ -22,4 +22,15 @@ public class CounterButtonSharedPreferenceHelper {
public String getCounterButtonName(CounterButton counterButton) {
return sharedPreferences.getString(counterButton.getCounterButton(), null);
}
+
+ public void saveCounterButtonCount(CounterButton counterButton, String eventButtonName){
+ SharedPreferences.Editor editor = sharedPreferences.edit();
+ editor.putString(counterButton.getCounterButton() + "_count", eventButtonName);
+ editor.apply();
+ }
+
+ public int getCounterButtonCount(CounterButton counterButton) {
+ return sharedPreferences.getInt(counterButton.getCounterButton() + "_count", -1);
+ }
+
}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/assignment1/MainActivity.java b/app/src/main/java/com/example/assignment1/MainActivity.java
index 292ecae..52ca2ca 100644
--- a/app/src/main/java/com/example/assignment1/MainActivity.java
+++ b/app/src/main/java/com/example/assignment1/MainActivity.java
@@ -11,15 +11,15 @@ import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
- protected CounterButtonSharedPreferenceHelper firstCounterButtonSharedPrefHelper;
- protected CounterButtonSharedPreferenceHelper secondCounterButtonSharedPrefHelper;
- protected CounterButtonSharedPreferenceHelper thirdCounterButtonSharedPrefHelper;
+ protected CounterButtonSharedPreferenceHelper counterButtonSharedPrefHelper;
protected TextView counter;
- protected MaxCountSharedPreferenceHelper maxCountSharedPreferenceHelper;
+ protected CountSharedPreferenceHelper countSharedPreferenceHelper;
- protected Button settingsButton = null;
+ protected Button settingsButton;
+
+ protected Button showCountsButton;
protected Button firstCounterButton;
protected Button secondCounterButton;
@@ -31,6 +31,7 @@ public class MainActivity extends AppCompatActivity {
setContentView(R.layout.activity_main);
settingsButton = findViewById(R.id.settings_button);
+ showCountsButton = findViewById(R.id.show_counts_button);
firstCounterButton = findViewById(R.id.FirstEventButton);
secondCounterButton = findViewById(R.id.SecondEventButton);
@@ -38,10 +39,8 @@ public class MainActivity extends AppCompatActivity {
counter = findViewById(R.id.counter);
- firstCounterButtonSharedPrefHelper = new CounterButtonSharedPreferenceHelper(MainActivity.this, CounterButton.FIRST);
- secondCounterButtonSharedPrefHelper = new CounterButtonSharedPreferenceHelper(MainActivity.this, CounterButton.SECOND);
- thirdCounterButtonSharedPrefHelper = new CounterButtonSharedPreferenceHelper(MainActivity.this, CounterButton.THIRD);
- maxCountSharedPreferenceHelper = new MaxCountSharedPreferenceHelper(MainActivity.this);
+ counterButtonSharedPrefHelper = new CounterButtonSharedPreferenceHelper(MainActivity.this);
+ countSharedPreferenceHelper = new CountSharedPreferenceHelper(MainActivity.this);
settingsButton.setOnClickListener(new View.OnClickListener() {
@@ -52,6 +51,14 @@ public class MainActivity extends AppCompatActivity {
}
});
+ showCountsButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ // Create an Intent to start the SettingsActivity
+ goToDataActivity();
+ }
+ });
+
firstCounterButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -80,16 +87,17 @@ public class MainActivity extends AppCompatActivity {
super.onStart();
if(
- firstCounterButtonSharedPrefHelper.getCounterButtonName(CounterButton.FIRST) == null ||
- secondCounterButtonSharedPrefHelper.getCounterButtonName(CounterButton.SECOND) == null ||
- thirdCounterButtonSharedPrefHelper.getCounterButtonName(CounterButton.THIRD) == null) {
+ counterButtonSharedPrefHelper.getCounterButtonName(CounterButton.FIRST) == null ||
+ counterButtonSharedPrefHelper.getCounterButtonName(CounterButton.SECOND) == null ||
+ counterButtonSharedPrefHelper.getCounterButtonName(CounterButton.THIRD) == null) {
goToSettingsActivity();
} else {
- firstCounterButton.setText(firstCounterButtonSharedPrefHelper.getCounterButtonName(CounterButton.FIRST));
- secondCounterButton.setText(secondCounterButtonSharedPrefHelper.getCounterButtonName(CounterButton.SECOND));
- thirdCounterButton.setText(thirdCounterButtonSharedPrefHelper.getCounterButtonName(CounterButton.THIRD));
+ firstCounterButton.setText(counterButtonSharedPrefHelper.getCounterButtonName(CounterButton.FIRST));
+ secondCounterButton.setText(counterButtonSharedPrefHelper.getCounterButtonName(CounterButton.SECOND));
+ thirdCounterButton.setText(counterButtonSharedPrefHelper.getCounterButtonName(CounterButton.THIRD));
+ counter.setText(String.format(Integer.toString(countSharedPreferenceHelper.getCurrentCount())));
}
}
@@ -99,13 +107,20 @@ public class MainActivity extends AppCompatActivity {
startActivity(intent);
}
+ private void goToDataActivity() {
+ Intent intent = new Intent(MainActivity.this, dataActivity.class);
+ startActivity(intent);
+ }
+
private void incrementCounter(){
try{
- if (Integer.parseInt(counter.getText().toString()) < Integer.parseInt(maxCountSharedPreferenceHelper.getMaxCount())){
+ if (Integer.parseInt(counter.getText().toString()) < countSharedPreferenceHelper.getMaxCount()){
String currentValue = counter.getText().toString();
int intValue = Integer.parseInt(currentValue);
int newValue = intValue + 1;
counter.setText(String.valueOf(newValue));
+
+ countSharedPreferenceHelper.saveCurrentCount(newValue);
}
else {
Toast.makeText(getApplicationContext(), "Maximum count has been reached", Toast.LENGTH_SHORT).show();
diff --git a/app/src/main/java/com/example/assignment1/MaxCountSharedPreferenceHelper.java b/app/src/main/java/com/example/assignment1/MaxCountSharedPreferenceHelper.java
deleted file mode 100644
index 8c3cc65..0000000
--- a/app/src/main/java/com/example/assignment1/MaxCountSharedPreferenceHelper.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.example.assignment1;
-
-import android.content.Context;
-import android.content.SharedPreferences;
-
-public class MaxCountSharedPreferenceHelper {
-
- private SharedPreferences sharedPreferences;
-
- public MaxCountSharedPreferenceHelper(Context context) {
- sharedPreferences = context.getSharedPreferences("MaximumCount", Context.MODE_PRIVATE);
- }
-
- public void saveMaxCount(String max_count) {
- SharedPreferences.Editor editor = sharedPreferences.edit();
- editor.putString("MaximumCount", max_count);
- editor.apply();
- }
-
- public String getMaxCount() {
- return sharedPreferences.getString("MaximumCount", null);
- }
-}
diff --git a/app/src/main/java/com/example/assignment1/SettingsActivity.java b/app/src/main/java/com/example/assignment1/SettingsActivity.java
index ecc75b2..6d063e1 100644
--- a/app/src/main/java/com/example/assignment1/SettingsActivity.java
+++ b/app/src/main/java/com/example/assignment1/SettingsActivity.java
@@ -19,11 +19,9 @@ public class SettingsActivity extends AppCompatActivity {
protected int maxLength = 16;
- protected CounterButtonSharedPreferenceHelper firstCounterButtonSharedPrefHelper;
- protected CounterButtonSharedPreferenceHelper secondCounterButtonSharedPrefHelper;
- protected CounterButtonSharedPreferenceHelper thirdCounterButtonSharedPrefHelper;
+ protected CounterButtonSharedPreferenceHelper counterButtonSharedPrefHelper;
- protected MaxCountSharedPreferenceHelper maxCountSharedPrefHelper;
+ protected CountSharedPreferenceHelper countSharedPrefHelper;
protected EditText counter_1_name_edit_text;
protected EditText counter_2_name_edit_text;
@@ -48,10 +46,8 @@ public class SettingsActivity extends AppCompatActivity {
counter_2_name_edit_text.setFilters(new InputFilter[]{new InputFilter.LengthFilter(maxLength)});
counter_3_name_edit_text.setFilters(new InputFilter[]{new InputFilter.LengthFilter(maxLength)});
- firstCounterButtonSharedPrefHelper = new CounterButtonSharedPreferenceHelper(SettingsActivity.this, CounterButton.FIRST);
- secondCounterButtonSharedPrefHelper = new CounterButtonSharedPreferenceHelper(SettingsActivity.this, CounterButton.SECOND);
- thirdCounterButtonSharedPrefHelper = new CounterButtonSharedPreferenceHelper(SettingsActivity.this, CounterButton.THIRD);
- maxCountSharedPrefHelper = new MaxCountSharedPreferenceHelper(SettingsActivity.this);
+ counterButtonSharedPrefHelper = new CounterButtonSharedPreferenceHelper(SettingsActivity.this);
+ countSharedPrefHelper = new CountSharedPreferenceHelper(SettingsActivity.this);
// enable toolbar/actionbar
setSupportActionBar(myToolbar);
@@ -68,18 +64,18 @@ public class SettingsActivity extends AppCompatActivity {
super.onStart();
if(
- firstCounterButtonSharedPrefHelper.getCounterButtonName(CounterButton.FIRST) == null ||
- secondCounterButtonSharedPrefHelper.getCounterButtonName(CounterButton.SECOND) == null ||
- thirdCounterButtonSharedPrefHelper.getCounterButtonName(CounterButton.THIRD) == null ||
- maxCountSharedPrefHelper.getMaxCount() == null) {
+ counterButtonSharedPrefHelper.getCounterButtonName(CounterButton.FIRST) == null ||
+ counterButtonSharedPrefHelper.getCounterButtonName(CounterButton.SECOND) == null ||
+ counterButtonSharedPrefHelper.getCounterButtonName(CounterButton.THIRD) == null ||
+ countSharedPrefHelper.getMaxCount() == -1) {
goToSettingsActivityEditMode();
} else {
- counter_1_name_edit_text.setHint(firstCounterButtonSharedPrefHelper.getCounterButtonName(CounterButton.FIRST));
- counter_2_name_edit_text.setHint(secondCounterButtonSharedPrefHelper.getCounterButtonName(CounterButton.SECOND));
- counter_3_name_edit_text.setHint(thirdCounterButtonSharedPrefHelper.getCounterButtonName(CounterButton.THIRD));
- maximum_counts_edit_text.setHint(maxCountSharedPrefHelper.getMaxCount());
+ counter_1_name_edit_text.setHint(counterButtonSharedPrefHelper.getCounterButtonName(CounterButton.FIRST));
+ counter_2_name_edit_text.setHint(counterButtonSharedPrefHelper.getCounterButtonName(CounterButton.SECOND));
+ counter_3_name_edit_text.setHint(counterButtonSharedPrefHelper.getCounterButtonName(CounterButton.THIRD));
+ maximum_counts_edit_text.setHint(String.format(Integer.toString(countSharedPrefHelper.getCurrentCount())));
}
}
@@ -124,10 +120,10 @@ public class SettingsActivity extends AppCompatActivity {
counter_3_name_edit_text.setEnabled(true);
maximum_counts_edit_text.setEnabled(true);
- counter_1_name_edit_text.setText(firstCounterButtonSharedPrefHelper.getCounterButtonName(CounterButton.FIRST));
- counter_2_name_edit_text.setText(secondCounterButtonSharedPrefHelper.getCounterButtonName(CounterButton.SECOND));
- counter_3_name_edit_text.setText(thirdCounterButtonSharedPrefHelper.getCounterButtonName(CounterButton.THIRD));
- maximum_counts_edit_text.setText(maxCountSharedPrefHelper.getMaxCount());
+ counter_1_name_edit_text.setText(counterButtonSharedPrefHelper.getCounterButtonName(CounterButton.FIRST));
+ counter_2_name_edit_text.setText(counterButtonSharedPrefHelper.getCounterButtonName(CounterButton.SECOND));
+ counter_3_name_edit_text.setText(counterButtonSharedPrefHelper.getCounterButtonName(CounterButton.THIRD));
+ maximum_counts_edit_text.setText(String.format(Integer.toString(countSharedPrefHelper.getMaxCount())));
saveButton.setOnClickListener(new View.OnClickListener() {
@Override
@@ -138,12 +134,12 @@ public class SettingsActivity extends AppCompatActivity {
String text1 = counter_1_name_edit_text.getText().toString();
String text2 = counter_2_name_edit_text.getText().toString();
String text3 = counter_3_name_edit_text.getText().toString();
- String maximum_count = maximum_counts_edit_text.getText().toString();
+ int maximum_count = Integer.parseInt(maximum_counts_edit_text.getText().toString());
- firstCounterButtonSharedPrefHelper.saveCounterButtonName(CounterButton.FIRST, text1);
- secondCounterButtonSharedPrefHelper.saveCounterButtonName(CounterButton.SECOND, text2);
- thirdCounterButtonSharedPrefHelper.saveCounterButtonName(CounterButton.THIRD, text3);
- maxCountSharedPrefHelper.saveMaxCount(maximum_count);
+ counterButtonSharedPrefHelper.saveCounterButtonName(CounterButton.FIRST, text1);
+ counterButtonSharedPrefHelper.saveCounterButtonName(CounterButton.SECOND, text2);
+ counterButtonSharedPrefHelper.saveCounterButtonName(CounterButton.THIRD, text3);
+ countSharedPrefHelper.saveMaxCount(maximum_count);
goToSettingsActivityDisplayMode();
}
diff --git a/app/src/main/java/com/example/assignment1/dataActivity.java b/app/src/main/java/com/example/assignment1/dataActivity.java
index cc032b9..5af9ef0 100644
--- a/app/src/main/java/com/example/assignment1/dataActivity.java
+++ b/app/src/main/java/com/example/assignment1/dataActivity.java
@@ -1,14 +1,57 @@
package com.example.assignment1;
import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.widget.Toolbar;
import android.os.Bundle;
+import android.view.Menu;
+import android.widget.TextView;
public class dataActivity extends AppCompatActivity {
+ protected Toolbar myToolbar;
+
+ protected TextView firstCounter;
+ protected TextView secondCounter;
+ protected TextView thirdCounter;
+
+ protected TextView currentCounter;
+ protected CounterButtonSharedPreferenceHelper counterButtonSharedPrefHelper;
+
+ protected CountSharedPreferenceHelper countSharedPrefHelper;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_data);
+
+ myToolbar = (Toolbar) findViewById(R.id.data_toolbar);
+ firstCounter = findViewById(R.id.counter_1_data_name);
+ secondCounter = findViewById(R.id.counter_2_data_name);
+ thirdCounter = findViewById(R.id.counter_3_data_name);
+ currentCounter = findViewById(R.id.allCounter);
+
+ counterButtonSharedPrefHelper = new CounterButtonSharedPreferenceHelper(dataActivity.this);
+ countSharedPrefHelper = new CountSharedPreferenceHelper(dataActivity.this);
+
+ setSupportActionBar(myToolbar);
+
+ assert getSupportActionBar() != null;
+ getSupportActionBar().setDisplayHomeAsUpEnabled(true); //show back button
+ }
+
+ @Override
+ protected void onStart(){
+ super.onStart();
+
+ firstCounter.setText(counterButtonSharedPrefHelper.getCounterButtonName(CounterButton.FIRST));
+ secondCounter.setText(counterButtonSharedPrefHelper.getCounterButtonName(CounterButton.SECOND));
+ thirdCounter.setText(counterButtonSharedPrefHelper.getCounterButtonName(CounterButton.THIRD));
+ currentCounter.setText(String.format(Integer.toString(countSharedPrefHelper.getCurrentCount())));
+ }
+
+ public boolean onCreateOptionsMenu(Menu menu) {
+ getMenuInflater().inflate(R.menu.data_activity_menu, menu);
+ return true;
}
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_data.xml b/app/src/main/res/layout/activity_data.xml
index 1cfac90..c6764c7 100644
--- a/app/src/main/res/layout/activity_data.xml
+++ b/app/src/main/res/layout/activity_data.xml
@@ -1,9 +1,141 @@
-
+
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index a361bf5..a68d072 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -80,6 +80,7 @@