diff --git a/app/src/main/java/com/gamestop/android/gamestopapp/ActivitySettings.java b/app/src/main/java/com/gamestop/android/gamestopapp/ActivitySettings.java index f11af9c..4242804 100644 --- a/app/src/main/java/com/gamestop/android/gamestopapp/ActivitySettings.java +++ b/app/src/main/java/com/gamestop/android/gamestopapp/ActivitySettings.java @@ -30,7 +30,17 @@ public class ActivitySettings extends AppCompatActivity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_settings); + setSettingsGraphic(); + } + + @Override + public void onPause() { + super.onPause(); + if(toApplyChanges) + applyChanges(null); + } + public void setSettingsGraphic(){ try { settingsManager = SettingsManager.getInstance(); notificationServiceEnabled = settingsManager.isNotificationServiceEnabled(); @@ -42,9 +52,7 @@ public void onCreate(Bundle savedInstanceState) { e.printStackTrace(); } - if(!notificationServiceEnabled){ - ((Switch)findViewById(R.id.notificationServiceEnabled)).setChecked(false); - } + ((Switch)findViewById(R.id.notificationServiceEnabled)).setChecked(notificationServiceEnabled); Spinner spinner = (Spinner)findViewById(R.id.notificationServiceSleepTime); switch (notificationServiceSleepTime){ @@ -60,29 +68,22 @@ public void onCreate(Bundle savedInstanceState) { case 10800000: spinner.setSelection(3); break; - case 5000: + case 21600000: spinner.setSelection(4); break; + case 43200000: + spinner.setSelection(5); + break; + case 5000: + spinner.setSelection(6); + break; } - if(!updateOnStartEnabled){ - ((Switch)findViewById(R.id.updateOnStartEnabled)).setChecked(false); - } - - if(bunnyEnabled){ - ((Switch)findViewById(R.id.bunnyEnabled)).setChecked(true); - } + ((Switch)findViewById(R.id.updateOnStartEnabled)).setChecked(updateOnStartEnabled); - if(notificationSoundEnabled){ - ((Switch)findViewById(R.id.notificationSoundEnabled)).setChecked(true); - } - } + ((Switch)findViewById(R.id.bunnyEnabled)).setChecked(bunnyEnabled); - @Override - public void onPause() { - super.onPause(); - if(toApplyChanges) - applyChanges(null); + ((Switch)findViewById(R.id.notificationSoundEnabled)).setChecked(notificationSoundEnabled); } public void deleteTempGames(View v){ @@ -149,6 +150,35 @@ public void onClick(DialogInterface dialog, int which) { dialog.show(); } + public void resetSettings(View v){ + AlertDialog.Builder dialog = new AlertDialog.Builder(this, R.style.DialogActivityGamePage); + dialog.setMessage("Vuoi ripristinare le impostazioni di default?"); + dialog.setPositiveButton( + "Si", + new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.cancel(); + try { + settingsManager.resetSettings(); + setSettingsGraphic(); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + + dialog.setNegativeButton( + "No", + new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.cancel(); + } + }); + dialog.show(); + } + public void resetAll(View v){ AlertDialog.Builder dialog = new AlertDialog.Builder(this, R.style.DialogActivityGamePage); dialog.setMessage("L'app verrà ripristinata e tutti i giochi verranno cancellati! Sei sicuro di voler ritornare allo stato iniziale?"); diff --git a/app/src/main/java/com/gamestop/android/gamestopapp/MyOnRefreshListener.java b/app/src/main/java/com/gamestop/android/gamestopapp/MyOnRefreshListener.java index 090207c..0f46ce6 100644 --- a/app/src/main/java/com/gamestop/android/gamestopapp/MyOnRefreshListener.java +++ b/app/src/main/java/com/gamestop/android/gamestopapp/MyOnRefreshListener.java @@ -27,6 +27,7 @@ public class MyOnRefreshListener implements SwipeRefreshLayout.OnRefreshListener private ActivityMain main; private int notificationId; private SettingsManager settingsManager; + private int numNotifications; public MyOnRefreshListener(SwipeRefreshLayout pullToRefresh, ActivityMain main) { this.pullToRefresh = pullToRefresh; @@ -41,10 +42,9 @@ public MyOnRefreshListener(SwipeRefreshLayout pullToRefresh, ActivityMain main) //Call the update for the games in wishlist @Override public void onRefresh() { + numNotifications = 0; Updater up = new Updater(main,this); up.execute(); - - //pullToRefresh.setRefreshing(false); } private void onEndRefresh(Boolean result){ @@ -53,10 +53,14 @@ private void onEndRefresh(Boolean result){ if(result!=null) - if(result) - Toast.makeText(main,"Aggiornamento terminato correttamente",Toast.LENGTH_SHORT).show(); - else - Toast.makeText(main,"Non sei connesso a internet",Toast.LENGTH_SHORT).show(); + if(result) { + Toast.makeText(main, "Aggiornamento terminato correttamente", Toast.LENGTH_SHORT).show(); + if(numNotifications==0){ + Toast.makeText(main, "Non ci sono novità", Toast.LENGTH_SHORT).show(); + } + } else { + Toast.makeText(main, "Non sei connesso a internet", Toast.LENGTH_SHORT).show(); + } } private class Updater extends AsyncTask { @@ -96,6 +100,8 @@ protected Object doInBackground(Object[] objects) { for (String str : notifications) { + numNotifications++; + //Read notification id BufferedReader br = new BufferedReader(new FileReader(DirectoryManager.getAppDir() + "notificationId.txt")); notificationId = Integer.parseInt(br.readLine()); diff --git a/app/src/main/java/com/gamestop/android/gamestopapp/SettingsManager.java b/app/src/main/java/com/gamestop/android/gamestopapp/SettingsManager.java index fd37c80..c1329f4 100644 --- a/app/src/main/java/com/gamestop/android/gamestopapp/SettingsManager.java +++ b/app/src/main/java/com/gamestop/android/gamestopapp/SettingsManager.java @@ -49,7 +49,7 @@ public static SettingsManager getInstance() throws IOException { private void createSettingsFile() throws IOException { notificationServiceEnabled = true; - notificationServiceSleepTime = 600000; + notificationServiceSleepTime = 3600000; notificationSoundEnabled = false; updateOnStartEnabled = true; bunnyEnabled = false; diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 40878d2..187342f 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -55,7 +55,8 @@ + android:orientation="vertical" + android:paddingBottom="10dp"> + android:paddingLeft="10dp" + android:paddingRight="10dp">