Skip to content

Commit

Permalink
Merge branch 'hotfix/1.5.5'
Browse files Browse the repository at this point in the history
  • Loading branch information
iSoron committed Jun 19, 2016
2 parents 0077436 + 5831340 commit c2dd26e
Show file tree
Hide file tree
Showing 8 changed files with 426 additions and 77 deletions.
4 changes: 2 additions & 2 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
<manifest
package="org.isoron.uhabits"
xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="20"
android:versionName="1.5.4">
android:versionCode="21"
android:versionName="1.5.5">

<uses-permission android:name="android.permission.VIBRATE"/>

Expand Down
11 changes: 7 additions & 4 deletions app/src/main/java/org/isoron/uhabits/HabitBroadcastReceiver.java
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,8 @@ protected void onPostExecute(Void aVoid)
Intent contentIntent = new Intent(context, MainActivity.class);
contentIntent.setData(data);
PendingIntent contentPendingIntent =
PendingIntent.getActivity(context, 0, contentIntent, 0);
PendingIntent.getActivity(context, 0, contentIntent,
PendingIntent.FLAG_CANCEL_CURRENT);

PendingIntent dismissPendingIntent = buildDismissIntent(context);
PendingIntent checkIntentPending = buildCheckIntent(context, habit, timestamp);
Expand Down Expand Up @@ -222,7 +223,7 @@ public static PendingIntent buildSnoozeIntent(Context context, Habit habit)
Intent snoozeIntent = new Intent(context, HabitBroadcastReceiver.class);
snoozeIntent.setData(data);
snoozeIntent.setAction(ACTION_SNOOZE);
return PendingIntent.getBroadcast(context, 0, snoozeIntent, 0);
return PendingIntent.getBroadcast(context, 0, snoozeIntent, PendingIntent.FLAG_CANCEL_CURRENT);
}

public static PendingIntent buildCheckIntent(Context context, Habit habit, Long timestamp)
Expand All @@ -232,14 +233,16 @@ public static PendingIntent buildCheckIntent(Context context, Habit habit, Long
checkIntent.setData(data);
checkIntent.setAction(ACTION_CHECK);
if(timestamp != null) checkIntent.putExtra("timestamp", timestamp);
return PendingIntent.getBroadcast(context, 0, checkIntent, PendingIntent.FLAG_ONE_SHOT);
return PendingIntent.getBroadcast(context, 0, checkIntent,
PendingIntent.FLAG_CANCEL_CURRENT);
}

public static PendingIntent buildDismissIntent(Context context)
{
Intent deleteIntent = new Intent(context, HabitBroadcastReceiver.class);
deleteIntent.setAction(ACTION_DISMISS);
return PendingIntent.getBroadcast(context, 0, deleteIntent, 0);
return PendingIntent.getBroadcast(context, 0, deleteIntent,
PendingIntent.FLAG_CANCEL_CURRENT);
}

public static PendingIntent buildViewHabitIntent(Context context, Habit habit)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,60 +19,35 @@

package org.isoron.uhabits.fragments;

import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.annotation.Nullable;
import android.app.*;
import android.content.*;
import android.net.*;
import android.os.*;
import android.preference.*;
import android.support.annotation.*;
import android.support.v4.app.Fragment;
import android.support.v7.view.ActionMode;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.HapticFeedbackConstants;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnLongClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.TextView;

import com.mobeta.android.dslv.DragSortController;
import com.mobeta.android.dslv.DragSortListView;
import com.mobeta.android.dslv.DragSortListView.DropListener;

import org.isoron.uhabits.BaseActivity;
import android.view.*;
import android.view.ContextMenu.*;
import android.view.View.*;
import android.widget.*;
import android.widget.AdapterView.*;

import com.mobeta.android.dslv.*;
import com.mobeta.android.dslv.DragSortListView.*;

import org.isoron.uhabits.*;
import org.isoron.uhabits.R;
import org.isoron.uhabits.commands.Command;
import org.isoron.uhabits.commands.ToggleRepetitionCommand;
import org.isoron.uhabits.dialogs.EditHabitDialogFragment;
import org.isoron.uhabits.dialogs.FilePickerDialog;
import org.isoron.uhabits.helpers.DatabaseHelper;
import org.isoron.uhabits.helpers.DateHelper;
import org.isoron.uhabits.helpers.HintManager;
import org.isoron.uhabits.helpers.ListHabitsHelper;
import org.isoron.uhabits.helpers.ReminderHelper;
import org.isoron.uhabits.helpers.UIHelper;
import org.isoron.uhabits.helpers.UIHelper.OnSavedListener;
import org.isoron.uhabits.loaders.HabitListLoader;
import org.isoron.uhabits.models.Habit;
import org.isoron.uhabits.tasks.ExportCSVTask;
import org.isoron.uhabits.tasks.ExportDBTask;
import org.isoron.uhabits.tasks.ImportDataTask;

import java.io.File;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import org.isoron.uhabits.commands.*;
import org.isoron.uhabits.dialogs.*;
import org.isoron.uhabits.helpers.*;
import org.isoron.uhabits.helpers.UIHelper.*;
import org.isoron.uhabits.loaders.*;
import org.isoron.uhabits.models.*;
import org.isoron.uhabits.tasks.*;

import java.io.*;
import java.util.*;

public class ListHabitsFragment extends Fragment
implements OnSavedListener, OnItemClickListener, OnLongClickListener, DropListener,
Expand Down Expand Up @@ -148,8 +123,6 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
if(frag != null) frag.setOnSavedListener(this);
}

loader.updateAllHabits(true);

setHasOptionsMenu(true);
return view;
}
Expand All @@ -169,11 +142,8 @@ public void onAttach(Activity activity)
public void onResume()
{
super.onResume();
Long timestamp = loader.getLastLoadTimestamp();

if (timestamp != null && timestamp != DateHelper.getStartOfToday())
loader.updateAllHabits(true);

loader.updateAllHabits(true);
helper.updateEmptyMessage(llEmpty);
helper.updateHeader(llButtonsHeader);
hintManager.showHintIfAppropriate();
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/java/org/isoron/uhabits/helpers/UIHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ public static boolean isLocaleFullyTranslated()
{
// TODO: Move this to another place, or detect automatically
String fullyTranslatedLanguages[] = { "ca", "zh", "en", "de", "in", "it", "ko", "pl", "pt",
"es", "tk", "uk", "ja"};
"es", "tk", "uk", "ja", "fr", "hr", "sl"};

final String currentLanguage = Locale.getDefault().getLanguage();

Expand Down
12 changes: 12 additions & 0 deletions app/src/main/res/layout/about.xml
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,14 @@
style="@style/About.Item"
android:text="Mathis Chenuet (Français)"/>

<TextView
style="@style/About.Item"
android:text="Michael Faille (Français)"/>

<TextView
style="@style/About.Item"
android:text="Ivan Krušlin (Hrvatski)"/>

<TextView
style="@style/About.Item"
android:text="Marco Cavazza (Italiano)"/>
Expand All @@ -172,6 +180,10 @@
style="@style/About.Item"
android:text="Dmitriy Bogdanov (Русский)"/>

<TextView
style="@style/About.Item"
android:text="Dušan Strgar (Slovenščina)"/>

<TextView
style="@style/About.Item"
android:text="Dalecarlian (Svenska)"/>
Expand Down
31 changes: 18 additions & 13 deletions app/src/main/res/values-fr/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
<string name="intro_title_1">"Bienvenue"</string>
<string name="intro_description_1">"Loop - Suivi d'habitudes vous aide à créer et maintenir de bonnes habitudes."</string>
<string name="intro_title_2">"Créez de nouvelles habitudes"</string>
<string name="intro_description_2">"Chaque jour, après avoir réalisé votre habitude, cochez la sur l'application."</string>
<string name="intro_description_2">"Chaque jour, après avoir réalisé votre habitude, cochez-la sur l'application."</string>
<string name="intro_title_3">"Continuez à le faire"</string>
<string name="intro_description_3">"Les habitudes régulières pendant une période de temps étendue gagneront une étoile complète."</string>
<string name="intro_title_4">"Suivez votre progrès"</string>
Expand Down Expand Up @@ -82,7 +82,7 @@
<string name="hint_landscape">"Vous pouvez voir plus de jours en mettant votre téléphone en mode paysage."</string>
<string name="delete_habits">"Supprimer des habitudes"</string>
<string name="delete_habits_message">"Les habitudes seront supprimées définitivement. Cette action ne peut être annulée."</string>
<string name="weekends">"Weekends"</string>
<string name="weekends">"Fin de semaine"</string>

<!-- Fuzzy -->
<string name="any_weekday">"Jours de la semaine"</string>
Expand All @@ -92,27 +92,27 @@
<string name="select_weekdays">"Sélectionner des jours"</string>

<!-- Fuzzy -->
<string name="export_to_csv">"Exporter les données (CSV)"</string>
<string name="export_to_csv">"Exporter les données dans un fichier CSV"</string>
<string name="done_label">"Fait"</string>
<string name="clear_label">"Supprimer"</string>
<string name="select_hours">"Sélectionner les heures"</string>
<string name="select_minutes">"Sélectionner les minutes"</string>

<!-- Short description used on the Google Play store. There is an 80-character limit. -->
<string name="store_short_description">"Créez de bonnes habitudes et suivez leur progrès au fil du temps (sans pub)"</string>
<string name="store_description_1">"Loop vous aide à créer et maintenir de bonnes habitudes, permettant de réussir vos objectifs à long terme. Des graphiques détaillés et des statistiques vous montrent comment vos habitudes s’améliorent au fil du temps. C'est totalement sans pub et open source."</string>
<string name="store_description_1">"Loop vous aide à créer et maintenir de bonnes habitudes, permettant de réussir vos objectifs à long terme. Des graphiques détaillés et des statistiques vous montrent comment vos habitudes s’améliorent au fil du temps. C'est totalement sans pub et c'est un logiciel libre."</string>
<string name="store_feature_interface">"&lt;b&gt;Simple, beau avec une interface moderne&lt;/b&gt;
Loop a une interface minimaliste, facile à utiliser et qui suit les règles de material design."</string>
<string name="store_feature_score">"&lt;b&gt;Score d'habitude&lt;/b&gt;
En plus de montrer votre série en cours, Loop a un algorithme avancé pour calculer la force de vos habitudes. Chaque jour réussi augmente la force de l'habitude chaque jour raté la rend plus faible. Cependant, quelques jours ratés après une longue série ne détruiront pas entièrement votre progrès."</string>
En plus de montrer votre série en cours, Loop a un algorithme avancé pour calculer la force de vos habitudes. Chacune des répétitions réussi augmente la force de l'habitude et chacune des répétitions ratés la diminue. Cependant, quelques jours ratés après une longue série ne détruiront pas entièrement votre progrès."</string>
<string name="store_feature_statistics">"&lt;b&gt;Graphiques détaillés et statistiques&lt;/b&gt;
Observez clairement comment vos habitudes s’améliorent au fil du temps avec de beaux graphiques détaillés. Défilez vers les jours passés pour voir l'historique complet de vos habitudes."</string>
<string name="store_feature_schedules">"&lt;b&gt;Calendrier flexible&lt;/b&gt;
Supporte les habitudes quotidiennes et celles avec un calendrier plus complexes, comme 3 fois par semaine, une fois toutes les deux semaines ou un jour sur deux."</string>
Supporte les habitudes quotidiennes et mensuelle avec des horaires multiples et complexes, comme 3 fois par semaine, une fois toutes les deux semaines ou un jour sur deux."</string>
<string name="store_feature_reminders">"&lt;b&gt;Rappels&lt;/b&gt;
Créez un rappel propre pour chaque habitude, à une heure choisie de la journée. Cochez, supprimez ou reportez facilement votre habitude directement à partir de la notification, sans ouvrir l'application."</string>
<string name="store_feature_opensource">"&lt;b&gt;Entièrement sans pub et open-source&lt;/b&gt;
Il n'y a absolument aucune publicité ni notification embêtante ou permissions intrusives avec cette application, et il n'y en aura jamais. L'ensemble du code source est disponible sous GPLv3."</string>
<string name="store_feature_opensource">"&lt;b&gt;Entièrement sans pub et sous licence libre&lt;/b&gt;
Il n'y a absolument aucune publicité ni notification embêtante ni permission intrusive avec cette application, et il n'y en aura jamais. L'ensemble du code source est disponible sous GPLv3."</string>
<string name="store_feature_wear">"&lt;b&gt;Optimisée pour les montres android&lt;/b&gt;
Les rappels peuvent être cochés, reportés ou supprimés directement à partir de votre montre Android"</string>
<string name="about">"À propos"</string>
Expand Down Expand Up @@ -158,20 +158,25 @@ Les rappels peuvent être cochés, reportés ou supprimés directement à partir
<string name="full_backup_success">"Sauvegarde complète exportée avec succès"</string>
<string name="import_data">"Importer des données"</string>
<string name="export_full_backup">"Exporter une sauvegarde complète"</string>
<string name="import_data_summary">"Supporte les sauvegardes complètes générées par cette app, ainsi que les fichiers Tickmate, HabitBull et Rewire. Voir la FAQ pour plus d'informations."</string>
<string name="export_as_csv_summary">"Génère des fichiers pouvant être ouverts par des tableurs comme Microsoft Excel ou OpenOffice Calc. Ces fichiers ne peuvent être réimportés."</string>
<string name="import_data_summary">"Supporte les sauvegardes complètes générées par cette application, ainsi que les fichiers Tickmate, HabitBull et Rewire. Voir la FAQ pour plus d'informations."</string>
<string name="export_as_csv_summary">"Génère des fichiers pouvant être ouverts par des tableurs comme Microsoft Excel ou LibreOffice Calc. Ces fichiers ne peuvent être réimportés."</string>
<string name="export_full_backup_summary">"Génère un fichier contenant toutes vos données. Ce fichier peut être réimporté."</string>
<string name="bug_report_failed">"La génération du rapport de bug a échouée."</string>
<string name="generate_bug_report">"Générer un rapport de bug."</string>
<string name="troubleshooting">"Résolution de problèmes"</string>
<string name="help_translate">"Aider à traduire cette application"</string>
<string name="night_mode">"Mode Nuit"</string>
<string name="use_pure_black">"Utiliser un noir pure dans le mode nuit."</string>
<string name="pure_black_description">"Remplacer le fond gris par un noir pure dans le mode nuit; ça réduit l’usage de la batterie d'un appareil ayant un écran AMOLED."</string>
<string name="interface_preferences">"Interface"</string>
<string name="reverse_days">"Inverser l'ordre des jours"</string>
<string name="reverse_days_description">"Montrer les jours dans l'ordre inversé sur l'écran principal"</string>
<string name="day">"Jour"</string>
<string name="week">"Semaine"</string>
<string name="month">"Mois"</string>

<!-- Three-month period -->
<string name="quarter">"Quarter"</string>
<string name="quarter">"Trimestre"</string>
<string name="year">"Année"</string>

<!-- Middle part of the sentence '1 time in xx days' -->
Expand All @@ -182,8 +187,8 @@ Les rappels peuvent être cochés, reportés ou supprimés directement à partir
<string name="every_x_months">"Tous les %d mois"</string>

<!-- The old "habit strength" has been replaced by "score". Feel free to translate "score" as "strength" or "stability" if it sounds more natural in your language. -->
<string name="score">"Score"</string>
<string name="reminder_sound">"Son du rappel"</string>
<string name="score">"Pointage"</string>
<string name="reminder_sound">"Son de rappel"</string>

<!-- Appears when the user disables the reminder sound. Could also be "no sound", "mute" or "silent". -->
<string name="none">"Aucun"</string>
Expand Down
Loading

0 comments on commit c2dd26e

Please sign in to comment.