Support 'WiFi calling' devices.

// FREEBIE

Fixes #2254
Fixes #2240
Fixes #2160

Closes #2263
This commit is contained in:
Moxie Marlinspike
2014-12-24 12:40:28 -08:00
parent 1443d846c4
commit 6e85677c52
6 changed files with 60 additions and 14 deletions

View File

@@ -0,0 +1,29 @@
package org.thoughtcrime.securesms.jobs.requirements;
import android.content.Context;
import org.whispersystems.jobqueue.dependencies.ContextDependent;
import org.whispersystems.jobqueue.requirements.NetworkRequirement;
import org.whispersystems.jobqueue.requirements.Requirement;
public class NetworkOrServiceRequirement implements Requirement, ContextDependent {
private transient Context context;
public NetworkOrServiceRequirement(Context context) {
this.context = context;
}
@Override
public void setContext(Context context) {
this.context = context;
}
@Override
public boolean isPresent() {
NetworkRequirement networkRequirement = new NetworkRequirement(context);
ServiceRequirement serviceRequirement = new ServiceRequirement(context);
return networkRequirement.isPresent() || serviceRequirement.isPresent();
}
}

View File

@@ -17,15 +17,10 @@ public class ServiceRequirement implements Requirement, ContextDependent {
private static final String TAG = ServiceRequirement.class.getSimpleName();
private final transient ServiceRequirementProvider provider;
private transient Context context;
public ServiceRequirement(Context context) {
this.context = context;
this.provider = (ServiceRequirementProvider)ApplicationContext.getInstance(context)
.getJobManager()
.getRequirementProvider("telephony-service");
}
@Override