Implemented shared button helpers for buttons

This commit is contained in:
minhtrannhat 2023-09-14 11:32:03 -04:00
parent fb497cad3b
commit 3d9f175ce0
Signed by: minhtrannhat
GPG Key ID: E13CFA85C53F8062
4 changed files with 45 additions and 11 deletions

1
.idea/.name generated Normal file
View File

@ -0,0 +1 @@
assignment1

View File

@ -1,7 +1,17 @@
package com.example.assignment1; package com.example.assignment1;
public enum EventButton{ public enum EventButton {
FIRST, FIRST("FirstEventButton"),
SECOND, SECOND("SecondEventButton"),
THIRD THIRD("ThirdEventButton");
private String url;
EventButton(String envUrl) {
this.url = envUrl;
}
public String getEventButton() {
return url;
}
} }

View File

@ -10,16 +10,16 @@ public class EventButtonSharedPreferenceHelper {
private SharedPreferences sharedPreferences; private SharedPreferences sharedPreferences;
public EventButtonSharedPreferenceHelper(Context context, EventButton eventButton) { public EventButtonSharedPreferenceHelper(Context context, EventButton eventButton) {
sharedPreferences = context.getSharedPreferences("FirstEventButtonName", Context.MODE_PRIVATE); sharedPreferences = context.getSharedPreferences(eventButton.getEventButton(), Context.MODE_PRIVATE);
} }
public void saveEventButtonName(String eventButtonName) { public void saveEventButtonName(EventButton eventButton, String eventButtonName) {
SharedPreferences.Editor editor = sharedPreferences.edit(); SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("FirstEventButtonName", eventButtonName); editor.putString(eventButton.getEventButton(), eventButtonName);
editor.apply(); editor.apply();
} }
public String getEventButtonName() { public String getEventButtonName(EventButton eventButton) {
return sharedPreferences.getString("FirstEventButtonName", null); return sharedPreferences.getString(eventButton.getEventButton(), null);
} }
} }

View File

@ -9,12 +9,22 @@ import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity { public class MainActivity extends AppCompatActivity {
protected EventButtonSharedPreferenceHelper firstEventButton;
protected EventButtonSharedPreferenceHelper secondEventButton;
protected EventButtonSharedPreferenceHelper thirdEventButton;
protected Button settingsButton = null;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); setContentView(R.layout.activity_main);
Button settingsButton = findViewById(R.id.settings_button); settingsButton = findViewById(R.id.settings_button);
firstEventButton = new EventButtonSharedPreferenceHelper(MainActivity.this, EventButton.FIRST);
secondEventButton = new EventButtonSharedPreferenceHelper(MainActivity.this, EventButton.SECOND);
thirdEventButton = new EventButtonSharedPreferenceHelper(MainActivity.this, EventButton.THIRD);
settingsButton.setOnClickListener(new View.OnClickListener() { settingsButton.setOnClickListener(new View.OnClickListener() {
@Override @Override
@ -25,6 +35,19 @@ public class MainActivity extends AppCompatActivity {
}); });
} }
protected void onStart()
{
super.onStart();
if(
firstEventButton.getEventButtonName(EventButton.FIRST) == null ||
secondEventButton.getEventButtonName(EventButton.SECOND) == null ||
thirdEventButton.getEventButtonName(EventButton.THIRD) == null) {
goToSettingsActivity();
}
}
private void goToSettingsActivity() { private void goToSettingsActivity() {
Intent intent = new Intent(MainActivity.this, SettingsActivity.class); Intent intent = new Intent(MainActivity.this, SettingsActivity.class);
startActivity(intent); startActivity(intent);