diff --git a/app/src/main/java/fr/mobdev/goblim/Database.java b/app/src/main/java/fr/mobdev/goblim/Database.java index ba67625..0f79cc7 100644 --- a/app/src/main/java/fr/mobdev/goblim/Database.java +++ b/app/src/main/java/fr/mobdev/goblim/Database.java @@ -88,10 +88,10 @@ public class Database extends SQLiteOpenHelper { } } - public List getHistory() { + public List getHistory(boolean descendingOrder) { List history = new ArrayList<>(); //ask for history order by date - String orderBy = "date ASC"; + String orderBy = descendingOrder ? "date DESC" : "date ASC"; Cursor cursor = getReadableDatabase().query("history", null, null, null, null, null, orderBy); while(cursor.moveToNext()) { diff --git a/app/src/main/java/fr/mobdev/goblim/activity/HistoryActivity.java b/app/src/main/java/fr/mobdev/goblim/activity/HistoryActivity.java index 0d6c50c..5aa884a 100644 --- a/app/src/main/java/fr/mobdev/goblim/activity/HistoryActivity.java +++ b/app/src/main/java/fr/mobdev/goblim/activity/HistoryActivity.java @@ -20,6 +20,7 @@ package fr.mobdev.goblim.activity; import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; import android.graphics.Typeface; import android.os.Bundle; import android.support.annotation.NonNull; @@ -27,6 +28,8 @@ import android.support.design.widget.FloatingActionButton; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; @@ -52,6 +55,7 @@ import fr.mobdev.goblim.R; public class HistoryActivity extends AppCompatActivity { private List imagesIdx; + private boolean descendingOrder; @Override protected void onCreate(Bundle savedInstanceState) { @@ -71,6 +75,15 @@ public class HistoryActivity extends AppCompatActivity { }); ListView historyList = (ListView) findViewById(R.id.history_list); + SharedPreferences prefs = getSharedPreferences(getString(R.string.app_name), MODE_PRIVATE); + if(prefs.getAll().size() == 0) { + descendingOrder = true; + SharedPreferences.Editor editor = prefs.edit(); + editor.putBoolean("order", descendingOrder); + editor.commit(); + } else { + descendingOrder = prefs.getBoolean("order",true); + } updateHistory(); @@ -96,11 +109,34 @@ public class HistoryActivity extends AppCompatActivity { updateHistory(); } + @Override + public boolean onCreateOptionsMenu(Menu menu) { + getMenuInflater().inflate(R.menu.menu_history, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + int id = item.getItemId(); + + if (id == R.id.action_change_order) { + SharedPreferences prefs = getSharedPreferences(getString(R.string.app_name), MODE_PRIVATE); + descendingOrder = !descendingOrder; + SharedPreferences.Editor editor = prefs.edit(); + editor.putBoolean("order", descendingOrder); + editor.commit(); + updateHistory(); + return true; + } + + return super.onOptionsItemSelected(item); + } + private void updateHistory() { ListView historyList = (ListView) findViewById(R.id.history_list); - List images = Database.getInstance(getApplicationContext()).getHistory(); + List images = Database.getInstance(getApplicationContext()).getHistory(descendingOrder); if(imagesIdx == null) imagesIdx = new ArrayList<>(); imagesIdx.clear(); diff --git a/app/src/main/res/drawable-hdpi/ic_action_sort.png b/app/src/main/res/drawable-hdpi/ic_action_sort.png new file mode 100644 index 0000000..3e2d52a Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_action_sort.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_action_sort.png b/app/src/main/res/drawable-mdpi/ic_action_sort.png new file mode 100644 index 0000000..b628878 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_action_sort.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_action_sort.png b/app/src/main/res/drawable-xhdpi/ic_action_sort.png new file mode 100644 index 0000000..e281d8c Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_action_sort.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_sort.png b/app/src/main/res/drawable-xxhdpi/ic_action_sort.png new file mode 100644 index 0000000..a364d7a Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_action_sort.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_action_sort.png b/app/src/main/res/drawable-xxxhdpi/ic_action_sort.png new file mode 100644 index 0000000..645926b Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_action_sort.png differ diff --git a/app/src/main/res/menu/menu_history.xml b/app/src/main/res/menu/menu_history.xml new file mode 100644 index 0000000..fd7f069 --- /dev/null +++ b/app/src/main/res/menu/menu_history.xml @@ -0,0 +1,9 @@ + + + + diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 3b43129..89092b5 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -40,6 +40,7 @@ Envoi Image Voulez vous retenter l\'envoi des fichiers listés? Voulez vous retenter l\'envoi de ce fichier? + Changer l\'ordre de l\'historique Pas de limitation 24 Heures diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5657343..997aec5 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -40,6 +40,7 @@ Uploading Image Would you retry upload of listed files? Would you retry upload of this file? + Change history order No limitation 24 Hours