kopia lustrzana https://github.com/ryukoposting/Signal-Android
Convert VersionTracker to Kotlin and add RefreshAttributesJob.
rodzic
81fc99724d
commit
877a62b809
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
Ładowanie…
Reference in New Issue