Remove usages of deprecated Handler constructor.
This commit is contained in:
parent
64312f9c7f
commit
6dd3fdaa55
16 changed files with 42 additions and 20 deletions
|
@ -9,6 +9,7 @@ import android.content.ServiceConnection;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
|
import android.os.Looper;
|
||||||
import android.os.Message;
|
import android.os.Message;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
@ -158,6 +159,11 @@ public class DatabaseMigrationActivity extends PassphraseRequiredActivity {
|
||||||
}
|
}
|
||||||
|
|
||||||
private class ImportStateHandler extends Handler {
|
private class ImportStateHandler extends Handler {
|
||||||
|
|
||||||
|
public ImportStateHandler() {
|
||||||
|
super(Looper.getMainLooper());
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handleMessage(Message message) {
|
public void handleMessage(Message message) {
|
||||||
switch (message.what) {
|
switch (message.what) {
|
||||||
|
|
|
@ -5,6 +5,7 @@ import android.media.AudioManager;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
|
import android.os.Looper;
|
||||||
import android.os.Message;
|
import android.os.Message;
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
import android.support.v4.media.MediaBrowserCompat;
|
import android.support.v4.media.MediaBrowserCompat;
|
||||||
|
@ -208,17 +209,20 @@ public class VoiceNoteMediaController implements DefaultLifecycleObserver {
|
||||||
|
|
||||||
private static class ProgressEventHandler extends Handler {
|
private static class ProgressEventHandler extends Handler {
|
||||||
|
|
||||||
private final MediaControllerCompat mediaController;
|
private final MediaControllerCompat mediaController;
|
||||||
private final MutableLiveData<VoiceNotePlaybackState> voiceNotePlaybackState;
|
private final MutableLiveData<VoiceNotePlaybackState> voiceNotePlaybackState;
|
||||||
|
|
||||||
private ProgressEventHandler(@NonNull MediaControllerCompat mediaController,
|
private ProgressEventHandler(@NonNull MediaControllerCompat mediaController,
|
||||||
@NonNull MutableLiveData<VoiceNotePlaybackState> voiceNotePlaybackState) {
|
@NonNull MutableLiveData<VoiceNotePlaybackState> voiceNotePlaybackState)
|
||||||
|
{
|
||||||
|
super(Looper.getMainLooper());
|
||||||
|
|
||||||
this.mediaController = mediaController;
|
this.mediaController = mediaController;
|
||||||
this.voiceNotePlaybackState = voiceNotePlaybackState;
|
this.voiceNotePlaybackState = voiceNotePlaybackState;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handleMessage(Message msg) {
|
public void handleMessage(@NonNull Message msg) {
|
||||||
MediaMetadataCompat mediaMetadataCompat = mediaController.getMetadata();
|
MediaMetadataCompat mediaMetadataCompat = mediaController.getMetadata();
|
||||||
if (isPlayerActive(mediaController.getPlaybackState()) &&
|
if (isPlayerActive(mediaController.getPlaybackState()) &&
|
||||||
mediaMetadataCompat != null &&
|
mediaMetadataCompat != null &&
|
||||||
|
|
|
@ -3,6 +3,7 @@ package org.thoughtcrime.securesms.conversation;
|
||||||
import android.app.Application;
|
import android.app.Application;
|
||||||
import android.database.ContentObserver;
|
import android.database.ContentObserver;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
|
import android.os.Looper;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
@ -35,7 +36,7 @@ class ConversationStickerViewModel extends ViewModel {
|
||||||
this.stickers = new MutableLiveData<>();
|
this.stickers = new MutableLiveData<>();
|
||||||
this.stickersAvailable = new MutableLiveData<>();
|
this.stickersAvailable = new MutableLiveData<>();
|
||||||
this.availabilityThrottler = new Throttler(500);
|
this.availabilityThrottler = new Throttler(500);
|
||||||
this.packObserver = new ContentObserver(new Handler()) {
|
this.packObserver = new ContentObserver(new Handler(Looper.getMainLooper())) {
|
||||||
@Override
|
@Override
|
||||||
public void onChange(boolean selfChange) {
|
public void onChange(boolean selfChange) {
|
||||||
availabilityThrottler.publish(() -> repository.getStickerFeatureAvailability(stickersAvailable::postValue));
|
availabilityThrottler.publish(() -> repository.getStickerFeatureAvailability(stickersAvailable::postValue));
|
||||||
|
|
|
@ -2,6 +2,7 @@ package org.thoughtcrime.securesms.conversation.ui.mentions;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
|
import android.os.Looper;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
@ -32,7 +33,7 @@ public class MentionsPickerFragment extends LoggingFragment {
|
||||||
private BottomSheetBehavior<View> behavior;
|
private BottomSheetBehavior<View> behavior;
|
||||||
private MentionsPickerViewModel viewModel;
|
private MentionsPickerViewModel viewModel;
|
||||||
private final Runnable lockSheetAfterListUpdate = () -> behavior.setHideable(false);
|
private final Runnable lockSheetAfterListUpdate = () -> behavior.setHideable(false);
|
||||||
private final Handler handler = new Handler();
|
private final Handler handler = new Handler(Looper.getMainLooper());
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
public @Nullable View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||||
|
|
|
@ -4,6 +4,7 @@ import android.app.Application;
|
||||||
import android.database.ContentObserver;
|
import android.database.ContentObserver;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
|
import android.os.Looper;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.lifecycle.LiveData;
|
import androidx.lifecycle.LiveData;
|
||||||
|
@ -30,7 +31,7 @@ class LongMessageViewModel extends ViewModel {
|
||||||
this.messageId = messageId;
|
this.messageId = messageId;
|
||||||
this.isMms = isMms;
|
this.isMms = isMms;
|
||||||
this.message = new MutableLiveData<>();
|
this.message = new MutableLiveData<>();
|
||||||
this.messageObserver = new MessageObserver(new Handler());
|
this.messageObserver = new MessageObserver(new Handler(Looper.getMainLooper()));
|
||||||
|
|
||||||
repository.getMessage(application, messageId, isMms, longMessage -> {
|
repository.getMessage(application, messageId, isMms, longMessage -> {
|
||||||
if (longMessage.isPresent()) {
|
if (longMessage.isPresent()) {
|
||||||
|
|
|
@ -19,6 +19,7 @@ package org.thoughtcrime.securesms.mediaoverview;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
|
import android.os.Looper;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
@ -332,7 +333,7 @@ final class MediaGalleryAllAdapter extends StickyHeaderGridAdapter {
|
||||||
itemView.setOnClickListener(view -> itemClickListener.onMediaClicked(mediaRecord));
|
itemView.setOnClickListener(view -> itemClickListener.onMediaClicked(mediaRecord));
|
||||||
itemView.setOnLongClickListener(view -> onLongClick());
|
itemView.setOnLongClickListener(view -> onLongClick());
|
||||||
selectForMarque = () -> line1.setSelected(true);
|
selectForMarque = () -> line1.setSelected(true);
|
||||||
handler = new Handler();
|
handler = new Handler(Looper.getMainLooper());
|
||||||
handler.postDelayed(selectForMarque, 2500);
|
handler.postDelayed(selectForMarque, 2500);
|
||||||
|
|
||||||
LiveRecipient from = mediaRecord.isOutgoing() ? Recipient.self().live() : Recipient.live(mediaRecord.getRecipientId());
|
LiveRecipient from = mediaRecord.isOutgoing() ? Recipient.self().live() : Recipient.live(mediaRecord.getRecipientId());
|
||||||
|
|
|
@ -4,6 +4,7 @@ import android.net.Uri;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
|
import android.os.Looper;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
@ -34,7 +35,7 @@ public class MediaSendVideoFragment extends Fragment implements VideoEditorHud.E
|
||||||
private static final String KEY_MAX_SEND = "max_send_size";
|
private static final String KEY_MAX_SEND = "max_send_size";
|
||||||
|
|
||||||
private final Throttler videoScanThrottle = new Throttler(150);
|
private final Throttler videoScanThrottle = new Throttler(150);
|
||||||
private final Handler handler = new Handler();
|
private final Handler handler = new Handler(Looper.getMainLooper());
|
||||||
|
|
||||||
private Controller controller;
|
private Controller controller;
|
||||||
private Data data = new Data();
|
private Data data = new Data();
|
||||||
|
|
|
@ -3,7 +3,6 @@ package org.thoughtcrime.securesms.revealable;
|
||||||
import android.app.Application;
|
import android.app.Application;
|
||||||
import android.database.ContentObserver;
|
import android.database.ContentObserver;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Handler;
|
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.lifecycle.LiveData;
|
import androidx.lifecycle.LiveData;
|
||||||
|
@ -33,7 +32,7 @@ class ViewOnceMessageViewModel extends ViewModel {
|
||||||
this.application = application;
|
this.application = application;
|
||||||
this.repository = repository;
|
this.repository = repository;
|
||||||
this.message = new MutableLiveData<>();
|
this.message = new MutableLiveData<>();
|
||||||
this.observer = new ContentObserver(new Handler()) {
|
this.observer = new ContentObserver(null) {
|
||||||
@Override
|
@Override
|
||||||
public void onChange(boolean selfChange) {
|
public void onChange(boolean selfChange) {
|
||||||
repository.getMessage(messageId, optionalMessage -> onMessageRetrieved(optionalMessage));
|
repository.getMessage(messageId, optionalMessage -> onMessageRetrieved(optionalMessage));
|
||||||
|
|
|
@ -3,6 +3,7 @@ package org.thoughtcrime.securesms.stickers;
|
||||||
import android.app.Application;
|
import android.app.Application;
|
||||||
import android.database.ContentObserver;
|
import android.database.ContentObserver;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
|
import android.os.Looper;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.lifecycle.LiveData;
|
import androidx.lifecycle.LiveData;
|
||||||
|
@ -33,7 +34,7 @@ final class StickerKeyboardPageViewModel extends ViewModel {
|
||||||
this.repository = repository;
|
this.repository = repository;
|
||||||
this.stickers = new MutableLiveData<>();
|
this.stickers = new MutableLiveData<>();
|
||||||
this.observerThrottler = new Throttler(500);
|
this.observerThrottler = new Throttler(500);
|
||||||
this.observer = new ContentObserver(new Handler()) {
|
this.observer = new ContentObserver(new Handler(Looper.getMainLooper())) {
|
||||||
@Override
|
@Override
|
||||||
public void onChange(boolean selfChange) {
|
public void onChange(boolean selfChange) {
|
||||||
observerThrottler.publish(() -> getStickers(packId));
|
observerThrottler.publish(() -> getStickers(packId));
|
||||||
|
|
|
@ -3,6 +3,7 @@ package org.thoughtcrime.securesms.stickers;
|
||||||
import android.app.Application;
|
import android.app.Application;
|
||||||
import android.database.ContentObserver;
|
import android.database.ContentObserver;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
|
import android.os.Looper;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.lifecycle.LiveData;
|
import androidx.lifecycle.LiveData;
|
||||||
|
@ -25,7 +26,7 @@ final class StickerKeyboardViewModel extends ViewModel {
|
||||||
this.application = application;
|
this.application = application;
|
||||||
this.packs = new MutableLiveData<>();
|
this.packs = new MutableLiveData<>();
|
||||||
this.observerThrottler = new Throttler(500);
|
this.observerThrottler = new Throttler(500);
|
||||||
this.observer = new ContentObserver(new Handler()) {
|
this.observer = new ContentObserver(new Handler(Looper.getMainLooper())) {
|
||||||
@Override
|
@Override
|
||||||
public void onChange(boolean selfChange) {
|
public void onChange(boolean selfChange) {
|
||||||
observerThrottler.publish(() -> repository.getPackList(packs::postValue));
|
observerThrottler.publish(() -> repository.getPackList(packs::postValue));
|
||||||
|
|
|
@ -2,7 +2,6 @@ package org.thoughtcrime.securesms.stickers;
|
||||||
|
|
||||||
import android.app.Application;
|
import android.app.Application;
|
||||||
import android.database.ContentObserver;
|
import android.database.ContentObserver;
|
||||||
import android.os.Handler;
|
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.lifecycle.LiveData;
|
import androidx.lifecycle.LiveData;
|
||||||
|
@ -27,7 +26,7 @@ final class StickerManagementViewModel extends ViewModel {
|
||||||
this.application = application;
|
this.application = application;
|
||||||
this.repository = repository;
|
this.repository = repository;
|
||||||
this.packs = new MutableLiveData<>();
|
this.packs = new MutableLiveData<>();
|
||||||
this.observer = new ContentObserver(new Handler()) {
|
this.observer = new ContentObserver(null) {
|
||||||
@Override
|
@Override
|
||||||
public void onChange(boolean selfChange) {
|
public void onChange(boolean selfChange) {
|
||||||
repository.deleteOrphanedStickerPacks();
|
repository.deleteOrphanedStickerPacks();
|
||||||
|
|
|
@ -2,7 +2,6 @@ package org.thoughtcrime.securesms.stickers;
|
||||||
|
|
||||||
import android.app.Application;
|
import android.app.Application;
|
||||||
import android.database.ContentObserver;
|
import android.database.ContentObserver;
|
||||||
import android.os.Handler;
|
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
@ -34,7 +33,7 @@ final class StickerPackPreviewViewModel extends ViewModel {
|
||||||
this.previewRepository = previewRepository;
|
this.previewRepository = previewRepository;
|
||||||
this.managementRepository = managementRepository;
|
this.managementRepository = managementRepository;
|
||||||
this.stickerManifest = new MutableLiveData<>();
|
this.stickerManifest = new MutableLiveData<>();
|
||||||
this.packObserver = new ContentObserver(new Handler()) {
|
this.packObserver = new ContentObserver(null) {
|
||||||
@Override
|
@Override
|
||||||
public void onChange(boolean selfChange) {
|
public void onChange(boolean selfChange) {
|
||||||
if (!TextUtils.isEmpty(packId) && !TextUtils.isEmpty(packKey)) {
|
if (!TextUtils.isEmpty(packId) && !TextUtils.isEmpty(packKey)) {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package org.thoughtcrime.securesms.util;
|
package org.thoughtcrime.securesms.util;
|
||||||
|
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
|
import android.os.Looper;
|
||||||
import android.os.Message;
|
import android.os.Message;
|
||||||
|
|
||||||
import androidx.annotation.MainThread;
|
import androidx.annotation.MainThread;
|
||||||
|
@ -52,6 +53,10 @@ public class ThrottledDebouncer {
|
||||||
|
|
||||||
private static class OverflowHandler extends Handler {
|
private static class OverflowHandler extends Handler {
|
||||||
|
|
||||||
|
public OverflowHandler() {
|
||||||
|
super(Looper.getMainLooper());
|
||||||
|
}
|
||||||
|
|
||||||
private Runnable runnable;
|
private Runnable runnable;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package org.thoughtcrime.securesms.util;
|
package org.thoughtcrime.securesms.util;
|
||||||
|
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
|
import android.os.Looper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A class that will throttle the number of runnables executed to be at most once every specified
|
* A class that will throttle the number of runnables executed to be at most once every specified
|
||||||
|
@ -26,7 +27,7 @@ public class Throttler {
|
||||||
* {@code threshold} milliseconds.
|
* {@code threshold} milliseconds.
|
||||||
*/
|
*/
|
||||||
public Throttler(long threshold) {
|
public Throttler(long threshold) {
|
||||||
this.handler = new Handler();
|
this.handler = new Handler(Looper.getMainLooper());
|
||||||
this.threshold = threshold;
|
this.threshold = threshold;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package org.thoughtcrime.securesms.util.livedata;
|
package org.thoughtcrime.securesms.util.livedata;
|
||||||
|
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
|
import android.os.Looper;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.lifecycle.LiveData;
|
import androidx.lifecycle.LiveData;
|
||||||
|
@ -162,7 +163,7 @@ public final class LiveDataUtil {
|
||||||
@Override
|
@Override
|
||||||
protected void onActive() {
|
protected void onActive() {
|
||||||
if (emittedValue) return;
|
if (emittedValue) return;
|
||||||
new Handler().postDelayed(() -> setValue(value), delay);
|
new Handler(Looper.getMainLooper()).postDelayed(() -> setValue(value), delay);
|
||||||
emittedValue = true;
|
emittedValue = true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -22,6 +22,7 @@ import android.hardware.SensorEvent;
|
||||||
import android.hardware.SensorEventListener;
|
import android.hardware.SensorEventListener;
|
||||||
import android.hardware.SensorManager;
|
import android.hardware.SensorManager;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
|
import android.os.Looper;
|
||||||
import android.os.Message;
|
import android.os.Message;
|
||||||
|
|
||||||
import org.signal.core.util.logging.Log;
|
import org.signal.core.util.logging.Log;
|
||||||
|
@ -141,7 +142,7 @@ public final class AccelerometerListener {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
Handler mHandler = new Handler() {
|
Handler mHandler = new Handler(Looper.getMainLooper()) {
|
||||||
public void handleMessage(Message msg) {
|
public void handleMessage(Message msg) {
|
||||||
switch (msg.what) {
|
switch (msg.what) {
|
||||||
case ORIENTATION_CHANGED:
|
case ORIENTATION_CHANGED:
|
||||||
|
|
Loading…
Add table
Reference in a new issue