blob: bb0573e721d85df849a3fb8f267905c7574f5708 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
package de.danoeh.antennapod.utils;
import android.content.Context;
import java.util.Date;
import de.danoeh.antennapod.R;
/*
* Copyright 2012 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
//http://stackoverflow.com/questions/13018550/time-since-ago-library-for-android-java
public class TimeUtils {
private static final int SECOND_MILLIS = 1000;
private static final int MINUTE_MILLIS = 60 * SECOND_MILLIS;
private static final int HOUR_MILLIS = 60 * MINUTE_MILLIS;
private static final int DAY_MILLIS = 24 * HOUR_MILLIS;
public static String getTimeAgo(long time, Context ctx) {
if (time < 1000000000000L) {
// if timestamp given in seconds, convert to millis
time *= 1000;
}
long now = new Date().getTime();
if (time > now || time <= 0) {
return null;
}
final long diff = now - time;
if (diff < MINUTE_MILLIS) {
return ctx.getString(R.string.time_just_now);
} else if (diff < 2 * MINUTE_MILLIS) {
return ctx.getString(R.string.time_a_min_ago);
} else if (diff < 50 * MINUTE_MILLIS) {
return diff / MINUTE_MILLIS + ctx.getString(R.string.time_min_ago);
} else if (diff < 90 * MINUTE_MILLIS) {
return ctx.getString(R.string.time_an_hour_ago);
} else if (diff < 24 * HOUR_MILLIS) {
return diff / HOUR_MILLIS + ctx.getString(R.string.time_hours_ago);
} else if (diff < 48 * HOUR_MILLIS) {
return ctx.getString(R.string.time_yesterday);
} else {
return diff / DAY_MILLIS + ctx.getString(R.string.time_days_ago);
}
}
}
|