Implement further features for badges.

* Add Subscriptions API
* Add Accept-Language header to profile requests
* Fix several UI bugs, add error dialogs, etc.
This commit is contained in:
Alex Hart
2021-10-21 16:39:02 -03:00
committed by Greyson Parrelli
parent d88999d6d4
commit c1820459b7
91 changed files with 2765 additions and 696 deletions

View File

@@ -0,0 +1,39 @@
package org.thoughtcrime.securesms.service;
import android.content.Context;
import android.content.Intent;
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
import org.thoughtcrime.securesms.jobs.SubscriptionKeepAliveJob;
import org.thoughtcrime.securesms.keyvalue.SignalStore;
import java.util.concurrent.TimeUnit;
/**
* Manages the scheduling of jobs for keeping a subscription id alive.
*/
public class SubscriberIdKeepAliveListener extends PersistentAlarmManagerListener {
private static final long INTERVAL = TimeUnit.DAYS.toMillis(3);
@Override
protected long getNextScheduledExecutionTime(Context context) {
return SignalStore.donationsValues().getLastKeepAliveLaunchTime() + INTERVAL;
}
@Override
protected long onAlarm(Context context, long scheduledTime) {
if (SignalStore.donationsValues().getSubscriber() != null) {
ApplicationDependencies.getJobManager().add(new SubscriptionKeepAliveJob());
}
long now = System.currentTimeMillis();
SignalStore.donationsValues().setLastKeepAliveLaunchTime(now);
return now + INTERVAL;
}
public static void schedule(Context context) {
new SubscriberIdKeepAliveListener().onReceive(context, new Intent());
}
}