AuthUtils.java
3.17 KB
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
package com.gimi.common.cinema.utils;
import android.content.Context;
import android.content.SharedPreferences;
/**
* Created by wugian on 2016/12/19
*/
public class AuthUtils {
private static final long DEFAULT_OFFLINE_TIME = 3 * 24 * 60 * 60;//seconds
public static boolean checkOfflineAuthTime(Context context) {
SharedPreferences sharedPreferences = Utils.getSp(context);
String successTime = Utils.getString(sharedPreferences, "agent-info-success", "0");
String distTimeStr = Utils.getString(sharedPreferences, "agent-dist-time", "0");
String addTimeStr = Utils.getString(sharedPreferences, "agent-add-time", "0");
long l = Long.parseLong(successTime);
long distTime = Long.parseLong(distTimeStr);
long addTime = Long.parseLong(addTimeStr);
int offlineAccess = Utils.getInt(sharedPreferences, "offline-access-count", 0);
if (l - distTime > 7 * 24 * 60 * 60) {//超过7天过期
return false;
}
if (l == 0 || distTime == 0 || addTime == 0) {
return true;//初装
}
if (addTime - System.currentTimeMillis() / 1000 > 60 * 60 * 24 * 365 * 30) { //more tha 30 years before add time
if ((l < distTime && l > addTime)) {
return true;
}
}
if (l < distTime && l > addTime) {
return true;
} else {
return false;
}
}
/**
* if un-auth-count > 7000 finish else show promote
*
* @param context
* @return
*/
public static boolean isFinish(Context context) {
SharedPreferences sharedPreferences = Utils.getSp(context);
String successTime = Utils.getString(sharedPreferences, "agent-info-success", "0");
String distTimeStr = Utils.getString(sharedPreferences, "agent-dist-time", "0");
long l = Long.parseLong(successTime);
long distTime = Long.parseLong(distTimeStr);
return l - distTime >= 7 * 24 * 60 * 60;
}
/**
* @param context
* @return
*/
private static void addAuth(Context context) {
SharedPreferences sharedPreferences = Utils.getSp(context);
int auth = Utils.getInt(sharedPreferences, "un-auth-count", 0);
Utils.saveInt(sharedPreferences, "un-auth-count", ++auth);
}
/**
* @param context
* @return
*/
private static void resetAuth(Context context) {
SharedPreferences sharedPreferences = Utils.getSp(context);
Utils.saveInt(sharedPreferences, "un-auth-count", 0);
}
private static void addOfflineAccessCount(Context context) {
SharedPreferences sharedPreferences = Utils.getSp(context);
int auth = Utils.getInt(sharedPreferences, "offline-access-count", 0);
Utils.saveInt(sharedPreferences, "offline-access-count", ++auth);
}
/**
* 处于断网,每访问一次多加一次线下访问,大到一定程度,授权失败
*
* @param context
*/
private static void resetOfflineAccessCount(Context context) {
SharedPreferences sharedPreferences = Utils.getSp(context);
Utils.saveInt(sharedPreferences, "offline-access-count", 0);
}
}