Date time formatting according to localization
This commit is contained in:
@@ -303,7 +303,7 @@ public class MainActivity extends AppCompatActivity
|
||||
|
||||
@Override
|
||||
public void onScheduleFragmentInteraction(Calendar firstVisibleDate, Calendar lastVisibleDay) {
|
||||
setTitle(getResources().getString(R.string.date_scale, Conversion.getModifiedDate(firstVisibleDate.getTimeInMillis()), Conversion.getModifiedDate(lastVisibleDay.getTimeInMillis())));
|
||||
setTitle(getResources().getString(R.string.date_scale, Conversion.getModifiedDate(getApplicationContext(), firstVisibleDate.getTimeInMillis()), Conversion.getModifiedDate(getApplicationContext(), lastVisibleDay.getTimeInMillis())));
|
||||
//setTitle(Conversion.getModifiedDate(firstVisibleDate.getTimeInMillis()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.BaseExpandableListAdapter;
|
||||
import android.widget.TextView;
|
||||
|
||||
import de.sebse.fuplanner.R;
|
||||
import de.sebse.fuplanner.services.KVV.types.Announcement;
|
||||
@@ -82,7 +81,7 @@ public class ModDetailAnnounceAdapter extends BaseExpandableListAdapter {
|
||||
ItemViewHolder itemHolder = new ItemViewHolder(convertView);
|
||||
itemHolder.mTitle.setText(announce.getTitle());
|
||||
itemHolder.mSubLeft.setText(announce.getCreatedBy());
|
||||
itemHolder.mSubRight.setText(Conversion.getModifiedDateTime(announce.getCreatedOn()));
|
||||
itemHolder.mSubRight.setText(Conversion.getModifiedDateTime(parent.getContext(), announce.getCreatedOn()));
|
||||
|
||||
return convertView;
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ import android.view.ViewGroup;
|
||||
import android.widget.BaseExpandableListAdapter;
|
||||
|
||||
import de.sebse.fuplanner.R;
|
||||
import de.sebse.fuplanner.services.KVV.types.Announcement;
|
||||
import de.sebse.fuplanner.services.KVV.types.Assignment;
|
||||
import de.sebse.fuplanner.services.KVV.types.Modules;
|
||||
import de.sebse.fuplanner.tools.Conversion;
|
||||
@@ -93,7 +92,7 @@ public class ModDetailAssignmentAdapter extends BaseExpandableListAdapter {
|
||||
itemHolder.mSubLeft.setText(itemHolder.mView.getResources().getText(R.string.open));
|
||||
else
|
||||
itemHolder.mSubLeft.setText(itemHolder.mView.getResources().getText(R.string.close));
|
||||
itemHolder.mSubRight.setText(Conversion.getModifiedDateTime(assignment.getDueDate()));
|
||||
itemHolder.mSubRight.setText(Conversion.getModifiedDateTime(parent.getContext(), assignment.getDueDate()));
|
||||
|
||||
return convertView;
|
||||
}
|
||||
|
||||
@@ -143,7 +143,7 @@ public class ModDetailOverviewAdapter extends RecyclerView.Adapter<RecyclerView.
|
||||
Announcement announce = mValue.announcements.get(index);
|
||||
i.mTitle.setText(announce.getTitle());
|
||||
i.mSubLeft.setText(announce.getCreatedBy());
|
||||
i.mSubRight.setText(Conversion.getModifiedDateTime(announce.getCreatedOn()));
|
||||
i.mSubRight.setText(Conversion.getModifiedDateTime(i.mView.getContext(), announce.getCreatedOn()));
|
||||
i.mView.setOnClickListener(view -> log.d("Reference to:", SECTION_ANNOUNCEMENT, index));
|
||||
break;
|
||||
case SECTION_ASSIGNMENT:
|
||||
@@ -153,7 +153,7 @@ public class ModDetailOverviewAdapter extends RecyclerView.Adapter<RecyclerView.
|
||||
i.mSubLeft.setText(i.mView.getResources().getText(R.string.open));
|
||||
else
|
||||
i.mSubLeft.setText(i.mView.getResources().getText(R.string.close));
|
||||
i.mSubRight.setText(Conversion.getModifiedDateTime(assignment.getDueDate()));
|
||||
i.mSubRight.setText(Conversion.getModifiedDateTime(i.mView.getContext(), assignment.getDueDate()));
|
||||
i.mView.setOnClickListener(view -> log.d("Reference to:", SECTION_ASSIGNMENT, index));
|
||||
break;
|
||||
case SECTION_EVENTS:
|
||||
@@ -162,13 +162,13 @@ public class ModDetailOverviewAdapter extends RecyclerView.Adapter<RecyclerView.
|
||||
i.mSubLeft.setText(event.getType());
|
||||
String start, end;
|
||||
if (Conversion.dateEquals(event.getStartDate(), System.currentTimeMillis()))
|
||||
start = Conversion.getModifiedTime(event.getStartDate());
|
||||
start = Conversion.getModifiedTime(i.mView.getContext(), event.getStartDate());
|
||||
else
|
||||
start = Conversion.getModifiedDateTime(event.getStartDate());
|
||||
start = Conversion.getModifiedDateTime(i.mView.getContext(), event.getStartDate());
|
||||
if (Conversion.dateEquals(event.getStartDate(), event.getEndDate()))
|
||||
end = Conversion.getModifiedTime(event.getEndDate());
|
||||
end = Conversion.getModifiedTime(i.mView.getContext(), event.getEndDate());
|
||||
else
|
||||
end = Conversion.getModifiedDateTime(event.getEndDate());
|
||||
end = Conversion.getModifiedDateTime(i.mView.getContext(), event.getEndDate());
|
||||
i.mSubRight.setText(i.mView.getResources().getString(R.string.date_scale,
|
||||
start, end
|
||||
));
|
||||
|
||||
@@ -7,8 +7,6 @@ public class AssignmentList extends DateSortedList<Assignment> {
|
||||
|
||||
@Override
|
||||
long getDateByItem(Assignment item) {
|
||||
Logger log = new Logger(this);
|
||||
log.d(item.getTitle(), Conversion.getModifiedDateTime(item.getDueDate()));
|
||||
return item.getDueDate();
|
||||
}
|
||||
|
||||
|
||||
@@ -2,30 +2,54 @@ package de.sebse.fuplanner.tools;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.annotation.TargetApi;
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
import android.text.format.DateFormat;
|
||||
|
||||
import com.google.android.gms.common.logging.Logger;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Locale;
|
||||
|
||||
public class Conversion {
|
||||
private static Logger log = new Logger("Conversion");
|
||||
|
||||
@Deprecated
|
||||
public static String getModifiedDateTime(long modified) {
|
||||
return getModifiedDate(Locale.getDefault(), modified, "MM/dd/yy hh:mm");
|
||||
return getModifiedDateTime(null, modified);
|
||||
}
|
||||
|
||||
public static String getModifiedDateTime(Context context, long modified) {
|
||||
return getModifiedDate(context, Locale.getDefault(), modified, "MM/dd/yy hh:mm");
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public static String getModifiedTime(long modified) {
|
||||
return getModifiedDate(Locale.getDefault(), modified, "hh:mm");
|
||||
return getModifiedTime(null, modified);
|
||||
}
|
||||
|
||||
public static String getModifiedTime(Context context, long modified) {
|
||||
return getModifiedDate(context, Locale.getDefault(), modified, "hh:mm");
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public static String getModifiedDate(long modified) {
|
||||
return getModifiedDate(Locale.getDefault(), modified, "MM/dd/yy");
|
||||
return getModifiedDate(null, modified);
|
||||
}
|
||||
|
||||
public static String getModifiedDate(Context context, long modified) {
|
||||
return getModifiedDate(context, Locale.getDefault(), modified, "dd.MM.yy");
|
||||
}
|
||||
|
||||
@SuppressLint("SimpleDateFormat")
|
||||
public static String getModifiedDate(Locale locale, long modified, String skeleton) {
|
||||
public static String getModifiedDate(Context context, Locale locale, long modified, String skeleton) {
|
||||
SimpleDateFormat dateFormat;
|
||||
|
||||
if (context != null && DateFormat.is24HourFormat(context))
|
||||
skeleton = skeleton.replaceAll("h", "H");
|
||||
else if (context == null)
|
||||
log.w("No context spplied for conversion!");
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
|
||||
dateFormat = new SimpleDateFormat(getDateFormat(locale, skeleton));
|
||||
} else {
|
||||
|
||||
@@ -6,7 +6,10 @@ public class Logger {
|
||||
private final String tag;
|
||||
|
||||
public Logger(Object object) {
|
||||
this.tag = object.getClass().getSimpleName();
|
||||
if (object instanceof String)
|
||||
this.tag = (String) object;
|
||||
else
|
||||
this.tag = object.getClass().getSimpleName();
|
||||
}
|
||||
|
||||
public void d(Object... msg) {
|
||||
|
||||
Reference in New Issue
Block a user