mirror of
https://github.com/oxen-io/session-android.git
synced 2024-11-24 10:35:19 +00:00
Quick fix compilation issues
This commit is contained in:
parent
158182baa0
commit
4b1c5dfce2
@ -46,13 +46,13 @@ import org.thoughtcrime.securesms.push.SecurityEventListener;
|
|||||||
import org.thoughtcrime.securesms.push.SignalServiceNetworkAccess;
|
import org.thoughtcrime.securesms.push.SignalServiceNetworkAccess;
|
||||||
import org.thoughtcrime.securesms.service.IncomingMessageObserver;
|
import org.thoughtcrime.securesms.service.IncomingMessageObserver;
|
||||||
import org.thoughtcrime.securesms.service.WebRtcCallService;
|
import org.thoughtcrime.securesms.service.WebRtcCallService;
|
||||||
|
import org.thoughtcrime.securesms.util.RealtimeSleepTimer;
|
||||||
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||||
import org.whispersystems.libsignal.util.guava.Optional;
|
import org.whispersystems.libsignal.util.guava.Optional;
|
||||||
import org.whispersystems.signalservice.api.SignalServiceAccountManager;
|
import org.whispersystems.signalservice.api.SignalServiceAccountManager;
|
||||||
import org.whispersystems.signalservice.api.SignalServiceMessageReceiver;
|
import org.whispersystems.signalservice.api.SignalServiceMessageReceiver;
|
||||||
import org.whispersystems.signalservice.api.SignalServiceMessageSender;
|
import org.whispersystems.signalservice.api.SignalServiceMessageSender;
|
||||||
import org.whispersystems.signalservice.api.util.CredentialsProvider;
|
import org.whispersystems.signalservice.api.util.CredentialsProvider;
|
||||||
import org.whispersystems.signalservice.api.util.RealtimeSleepTimer;
|
|
||||||
import org.whispersystems.signalservice.api.util.SleepTimer;
|
import org.whispersystems.signalservice.api.util.SleepTimer;
|
||||||
import org.whispersystems.signalservice.api.util.UptimeSleepTimer;
|
import org.whispersystems.signalservice.api.util.UptimeSleepTimer;
|
||||||
import org.whispersystems.signalservice.api.websocket.ConnectivityListener;
|
import org.whispersystems.signalservice.api.websocket.ConnectivityListener;
|
||||||
|
@ -85,7 +85,7 @@ public class AttachmentUploadJob extends BaseJob implements InjectableType {
|
|||||||
MediaConstraints mediaConstraints = MediaConstraints.getPushMediaConstraints();
|
MediaConstraints mediaConstraints = MediaConstraints.getPushMediaConstraints();
|
||||||
Attachment scaledAttachment = scaleAndStripExif(database, mediaConstraints, databaseAttachment);
|
Attachment scaledAttachment = scaleAndStripExif(database, mediaConstraints, databaseAttachment);
|
||||||
SignalServiceAttachment localAttachment = getAttachmentFor(scaledAttachment);
|
SignalServiceAttachment localAttachment = getAttachmentFor(scaledAttachment);
|
||||||
SignalServiceAttachmentPointer remoteAttachment = messageSender.uploadAttachment(localAttachment.asStream());
|
SignalServiceAttachmentPointer remoteAttachment = messageSender.uploadAttachment(localAttachment.asStream(), false);
|
||||||
Attachment attachment = PointerAttachment.forPointer(Optional.of(remoteAttachment)).get();
|
Attachment attachment = PointerAttachment.forPointer(Optional.of(remoteAttachment)).get();
|
||||||
|
|
||||||
database.updateAttachmentAfterUpload(databaseAttachment.getAttachmentId(), attachment);
|
database.updateAttachmentAfterUpload(databaseAttachment.getAttachmentId(), attachment);
|
||||||
|
@ -106,7 +106,7 @@ import org.whispersystems.signalservice.api.messages.multidevice.VerifiedMessage
|
|||||||
import org.whispersystems.signalservice.api.messages.shared.SharedContact;
|
import org.whispersystems.signalservice.api.messages.shared.SharedContact;
|
||||||
import org.whispersystems.signalservice.api.push.SignalServiceAddress;
|
import org.whispersystems.signalservice.api.push.SignalServiceAddress;
|
||||||
import org.whispersystems.signalservice.loki.crypto.LokiServiceCipher;
|
import org.whispersystems.signalservice.loki.crypto.LokiServiceCipher;
|
||||||
import org.whispersystems.signalservice.loki.messages.LokiServiceMessage;
|
import org.whispersystems.signalservice.loki.messaging.LokiServiceMessage;
|
||||||
|
|
||||||
import java.security.MessageDigest;
|
import java.security.MessageDigest;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -37,7 +37,7 @@ class AttachmentStreamLocalUriFetcher implements DataFetcher<InputStream> {
|
|||||||
public void loadData(Priority priority, DataCallback<? super InputStream> callback) {
|
public void loadData(Priority priority, DataCallback<? super InputStream> callback) {
|
||||||
try {
|
try {
|
||||||
if (!digest.isPresent()) throw new InvalidMessageException("No attachment digest!");
|
if (!digest.isPresent()) throw new InvalidMessageException("No attachment digest!");
|
||||||
is = AttachmentCipherInputStream.createFor(attachment, plaintextLength, key, digest.get());
|
is = AttachmentCipherInputStream.createForAttachment(attachment, plaintextLength, key, digest.get());
|
||||||
callback.onDataReady(is);
|
callback.onDataReady(is);
|
||||||
} catch (IOException | InvalidMessageException e) {
|
} catch (IOException | InvalidMessageException e) {
|
||||||
callback.onLoadFailed(e);
|
callback.onLoadFailed(e);
|
||||||
|
89
src/org/thoughtcrime/securesms/util/RealtimeSleepTimer.java
Normal file
89
src/org/thoughtcrime/securesms/util/RealtimeSleepTimer.java
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
package org.thoughtcrime.securesms.util;
|
||||||
|
|
||||||
|
import android.app.AlarmManager;
|
||||||
|
import android.app.PendingIntent;
|
||||||
|
import android.content.BroadcastReceiver;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.IntentFilter;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.os.SystemClock;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import org.whispersystems.signalservice.api.util.SleepTimer;
|
||||||
|
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A sleep timer that is based on elapsed realtime, so
|
||||||
|
* that it works properly, even in low-power sleep modes.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class RealtimeSleepTimer implements SleepTimer {
|
||||||
|
private static final String TAG = RealtimeSleepTimer.class.getSimpleName();
|
||||||
|
|
||||||
|
private final AlarmReceiver alarmReceiver;
|
||||||
|
private final Context context;
|
||||||
|
|
||||||
|
public RealtimeSleepTimer(Context context) {
|
||||||
|
this.context = context;
|
||||||
|
alarmReceiver = new RealtimeSleepTimer.AlarmReceiver();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void sleep(long millis) {
|
||||||
|
context.registerReceiver(alarmReceiver,
|
||||||
|
new IntentFilter(AlarmReceiver.WAKE_UP_THREAD_ACTION));
|
||||||
|
|
||||||
|
final long startTime = System.currentTimeMillis();
|
||||||
|
alarmReceiver.setAlarm(millis);
|
||||||
|
|
||||||
|
while (System.currentTimeMillis() - startTime < millis) {
|
||||||
|
try {
|
||||||
|
synchronized (this) {
|
||||||
|
wait(millis - System.currentTimeMillis() + startTime);
|
||||||
|
}
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
Log.w(TAG, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
context.unregisterReceiver(alarmReceiver);
|
||||||
|
}
|
||||||
|
|
||||||
|
private class AlarmReceiver extends BroadcastReceiver {
|
||||||
|
private static final String WAKE_UP_THREAD_ACTION = "org.whispersystems.signalservice.api.util.RealtimeSleepTimer.AlarmReceiver.WAKE_UP_THREAD";
|
||||||
|
|
||||||
|
private void setAlarm(long millis) {
|
||||||
|
final Intent intent = new Intent(WAKE_UP_THREAD_ACTION);
|
||||||
|
final PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
|
||||||
|
final AlarmManager alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
|
||||||
|
|
||||||
|
Log.w(TAG, "Setting alarm to wake up in " + millis + "ms.");
|
||||||
|
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
alarmManager.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP,
|
||||||
|
SystemClock.elapsedRealtime() + millis,
|
||||||
|
pendingIntent);
|
||||||
|
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
||||||
|
alarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP,
|
||||||
|
SystemClock.elapsedRealtime() + millis,
|
||||||
|
pendingIntent);
|
||||||
|
} else {
|
||||||
|
alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP,
|
||||||
|
SystemClock.elapsedRealtime() + millis,
|
||||||
|
pendingIntent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onReceive(Context context, Intent intent) {
|
||||||
|
Log.w(TAG, "Waking up.");
|
||||||
|
|
||||||
|
synchronized (RealtimeSleepTimer.this) {
|
||||||
|
RealtimeSleepTimer.this.notifyAll();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user