Convert VersionTracker to Kotlin and add RefreshAttributesJob.

main
Nicholas 2023-03-06 11:34:18 -05:00 zatwierdzone przez Alex Hart
rodzic 81fc99724d
commit 877a62b809
2 zmienionych plików z 48 dodań i 51 usunięć

Wyświetl plik

@ -1,51 +0,0 @@
package org.thoughtcrime.securesms.util;
import android.content.Context;
import android.content.pm.PackageManager;
import androidx.annotation.NonNull;
import org.signal.core.util.logging.Log;
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
import org.thoughtcrime.securesms.jobs.RemoteConfigRefreshJob;
import org.thoughtcrime.securesms.jobs.RetrieveRemoteAnnouncementsJob;
import org.thoughtcrime.securesms.keyvalue.SignalStore;
import java.util.concurrent.TimeUnit;
public class VersionTracker {
private static final String TAG = Log.tag(VersionTracker.class);
public static int getLastSeenVersion(@NonNull Context context) {
return TextSecurePreferences.getLastVersionCode(context);
}
public static void updateLastSeenVersion(@NonNull Context context) {
int currentVersionCode = Util.getCanonicalVersionCode();
int lastVersionCode = TextSecurePreferences.getLastVersionCode(context);
if (currentVersionCode != lastVersionCode) {
Log.i(TAG, "Upgraded from " + lastVersionCode + " to " + currentVersionCode);
SignalStore.misc().clearClientDeprecated();
ApplicationDependencies.getJobManager().add(new RemoteConfigRefreshJob());
RetrieveRemoteAnnouncementsJob.enqueue(true);
LocalMetrics.getInstance().clear();
}
TextSecurePreferences.setLastVersionCode(context, currentVersionCode);
}
public static long getDaysSinceFirstInstalled(Context context) {
try {
long installTimestamp = context.getPackageManager()
.getPackageInfo(context.getPackageName(), 0)
.firstInstallTime;
return TimeUnit.MILLISECONDS.toDays(System.currentTimeMillis() - installTimestamp);
} catch (PackageManager.NameNotFoundException e) {
Log.w(TAG, e);
return 0;
}
}
}

Wyświetl plik

@ -0,0 +1,48 @@
package org.thoughtcrime.securesms.util
import android.content.Context
import android.content.pm.PackageManager
import org.signal.core.util.logging.Log
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.jobs.RefreshAttributesJob
import org.thoughtcrime.securesms.jobs.RemoteConfigRefreshJob
import org.thoughtcrime.securesms.jobs.RetrieveRemoteAnnouncementsJob
import org.thoughtcrime.securesms.keyvalue.SignalStore
import java.time.Duration
object VersionTracker {
private val TAG = Log.tag(VersionTracker::class.java)
@JvmStatic
fun getLastSeenVersion(context: Context): Int {
return TextSecurePreferences.getLastVersionCode(context)
}
@JvmStatic
fun updateLastSeenVersion(context: Context) {
val currentVersionCode = Util.getCanonicalVersionCode()
val lastVersionCode = TextSecurePreferences.getLastVersionCode(context)
if (currentVersionCode != lastVersionCode) {
Log.i(TAG, "Upgraded from $lastVersionCode to $currentVersionCode")
SignalStore.misc().clearClientDeprecated()
val jobChain = listOf(RemoteConfigRefreshJob(), RefreshAttributesJob())
ApplicationDependencies.getJobManager().startChain(jobChain).enqueue()
RetrieveRemoteAnnouncementsJob.enqueue(true)
LocalMetrics.getInstance().clear()
}
TextSecurePreferences.setLastVersionCode(context, currentVersionCode)
}
@JvmStatic
fun getDaysSinceFirstInstalled(context: Context): Long {
return try {
val installTimestamp = context.packageManager.getPackageInfo(context.packageName, 0).firstInstallTime
Duration.ofMillis(System.currentTimeMillis() - installTimestamp).toDays()
} catch (e: PackageManager.NameNotFoundException) {
Log.w(TAG, e)
0
}
}
}