From 024e05f5ce203e59d7f613e1a7dd210bfaab389a Mon Sep 17 00:00:00 2001 From: Schoumi Date: Mon, 10 Jul 2017 15:28:27 +0200 Subject: [PATCH] Add Support for user to choose his history order Fixes #15 --- .../main/java/fr/mobdev/goblim/Database.java | 4 +- .../goblim/activity/HistoryActivity.java | 38 +++++++++++++++++- .../main/res/drawable-hdpi/ic_action_sort.png | Bin 0 -> 151 bytes .../main/res/drawable-mdpi/ic_action_sort.png | Bin 0 -> 105 bytes .../res/drawable-xhdpi/ic_action_sort.png | Bin 0 -> 132 bytes .../res/drawable-xxhdpi/ic_action_sort.png | Bin 0 -> 163 bytes .../res/drawable-xxxhdpi/ic_action_sort.png | Bin 0 -> 218 bytes app/src/main/res/menu/menu_history.xml | 9 +++++ app/src/main/res/values-fr/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 10 files changed, 50 insertions(+), 3 deletions(-) create mode 100644 app/src/main/res/drawable-hdpi/ic_action_sort.png create mode 100644 app/src/main/res/drawable-mdpi/ic_action_sort.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_action_sort.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_action_sort.png create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_action_sort.png create mode 100644 app/src/main/res/menu/menu_history.xml 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 0000000000000000000000000000000000000000..3e2d52a32ecc697f5155600ea8a4ad0e26fc29c6 GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k1|%Oc%$NbB;yhg(Ln2z=UUlSZP!M5zxbfV@ zO~FrA)v~V+E@zSdA<+8s!F~P?u1QOlan&?`lb9kH(olQBOU2`~WrKBMde{ZlJ)GQk z7j#%fUnp^3_EaPxJLkn@`JXYD^Cmb>THhC62BUro$PzkWBft~q@aX>Vck`=ou4W+z613#c)I$ztaD0e0s!j- BB6$D+ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..e281d8c3ea9e596ba86a5a67c80edd63c4a66439 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCZ%-G;kc`H+*EVu8DDb#C9=xkN z=N4;@&XFT`4$41hWQk^GNJwX!-Ee)i_=RTP6=^Z|N*}(f+S%~MpTk4%Z@KxMSbNn6 fTfZ zd?_jnWAEfIY2{^T5U9R zr?2EpIQOIP|GX!RGUkC(ih-&i;M~s>riE{tE(>4Rv#`a%_&zBcr1;;->dI@``_205 z*ZO43FJPROzV{oWR02>;{=sARjCf`FdR|tbx*v-7cc0!9HcfKD8HQ9g4P%FyjHh@4 e(jfK$$%bzI%q2PdS!B(bKw_S*elF{r5}E*V_e_ld literal 0 HcmV?d00001 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