MCPcopy Create free account
hub / github.com/M66B/FairEmail / init

Method init

app/src/main/java/eu/faircode/email/WorkerSync.java:72–114  ·  view source on GitHub ↗
(Context context)

Source from the content-addressed store, hash-verified

70 }
71
72 static void init(Context context) {
73 SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
74 String user = prefs.getString("cloud_user", null);
75 String password = prefs.getString("cloud_password", null);
76 boolean enabled = !(TextUtils.isEmpty(BuildConfig.CLOUD_URI) ||
77 TextUtils.isEmpty(user) ||
78 TextUtils.isEmpty(password));
79 Log.i("Cloud worker enabled=" + enabled);
80 try {
81 if (enabled) {
82 Calendar cal = Calendar.getInstance();
83 long now = cal.getTimeInMillis();
84 cal.set(Calendar.MILLISECOND, 0);
85 cal.set(Calendar.SECOND, 0);
86 cal.set(Calendar.MINUTE, 30);
87 cal.set(Calendar.HOUR_OF_DAY, 1);
88 long delay = cal.getTimeInMillis() - now;
89 if (delay < 0)
90 cal.add(Calendar.DATE, 1);
91 delay = cal.getTimeInMillis() - now;
92
93 EntityLog.log(context, EntityLog.Type.Cloud,
94 "Queuing " + getName() + " delay=" + (delay / (60 * 1000L)) + "m");
95 WorkManager.getInstance(context).cancelUniqueWork(getName());
96 PeriodicWorkRequest.Builder builder =
97 new PeriodicWorkRequest.Builder(WorkerSync.class, 1, TimeUnit.DAYS)
98 .setInitialDelay(delay, TimeUnit.MILLISECONDS)
99 .setConstraints(new Constraints.Builder()
100 .setRequiredNetworkType(NetworkType.CONNECTED).build());
101 WorkManager.getInstance(context)
102 .enqueueUniquePeriodicWork(getName(), ExistingPeriodicWorkPolicy.KEEP, builder.build());
103 Log.i("Queued " + getName());
104 } else {
105 EntityLog.log(context, EntityLog.Type.Cloud,
106 "Cancelling " + getName());
107 WorkManager.getInstance(context).cancelUniqueWork(getName());
108 Log.i("Cancelled " + getName());
109 }
110 } catch (Throwable ex) {
111 // https://issuetracker.google.com/issues/138465476
112 Log.w(ex);
113 }
114 }
115
116 private static String getName() {
117 return WorkerSync.class.getSimpleName();

Callers 3

onPostExecuteMethod · 0.95
onExecutedMethod · 0.95
onCreateMethod · 0.95

Calls 10

iMethod · 0.95
logMethod · 0.95
getNameMethod · 0.95
wMethod · 0.95
getStringMethod · 0.45
isEmptyMethod · 0.45
getInstanceMethod · 0.45
setMethod · 0.45
addMethod · 0.45
buildMethod · 0.45

Tested by

no test coverage detected