use Locale from DynamicLanguage for displaying dates

1) fixed DateUtils to use SimpleDateFormat for everything because it respects Locale
2) added getCurrentLocale() method to DynamicLanguage
3) allow PassphraseRequiredActionBarActivity.initFragment() to accept a Locale
4) updated classes that depend on DateUtils to pass down Locale from DynamicLanguage

Fixes #2684
Closes #2725
// FREEBIE
This commit is contained in:
Rhodey Orbits
2015-03-19 13:08:48 -07:00
committed by Jake McGinty
parent 424a463b21
commit d8521637bb
12 changed files with 75 additions and 33 deletions

View File

@@ -58,6 +58,7 @@ import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.util.DateUtils;
import org.thoughtcrime.securesms.util.Emoji;
import java.util.Locale;
import java.util.Set;
/**
@@ -73,6 +74,7 @@ public class ConversationItem extends LinearLayout {
private MessageRecord messageRecord;
private MasterSecret masterSecret;
private Locale locale;
private boolean groupThread;
private boolean pushDestination;
@@ -138,12 +140,14 @@ public class ConversationItem extends LinearLayout {
public void set(@NonNull MasterSecret masterSecret,
@NonNull MessageRecord messageRecord,
@NonNull Locale locale,
@NonNull Set<MessageRecord> batchSelected,
@NonNull SelectionClickListener selectionClickListener,
boolean groupThread, boolean pushDestination)
{
this.masterSecret = masterSecret;
this.messageRecord = messageRecord;
this.locale = locale;
this.batchSelected = batchSelected;
this.selectionClickListener = selectionClickListener;
this.groupThread = groupThread;
@@ -287,7 +291,7 @@ public class ConversationItem extends LinearLayout {
if (messageRecord.isPush()) timestamp = messageRecord.getDateSent();
else timestamp = messageRecord.getDateReceived();
dateText.setText(DateUtils.getExtendedRelativeTimeSpanString(getContext(), timestamp));
dateText.setText(DateUtils.getExtendedRelativeTimeSpanString(getContext(), locale, timestamp));
}
private void setFailedStatusIcons() {