1 ? new MergeCursor(cursors.toArray(new Cursor[cursors.size()])) : cursors.get(0);
- setNotifyConverationListListeners(cursor);
- return cursor;
- }
-
public Cursor getDirectShareList() {
SQLiteDatabase db = databaseHelper.getReadableDatabase();
String query = createQuery(MESSAGE_COUNT + " != 0", 0);
diff --git a/src/org/thoughtcrime/securesms/util/SingleLiveEvent.java b/src/org/thoughtcrime/securesms/util/SingleLiveEvent.java
deleted file mode 100644
index 2a58736b0..000000000
--- a/src/org/thoughtcrime/securesms/util/SingleLiveEvent.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright 2017 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.thoughtcrime.securesms.util;
-
-import android.arch.lifecycle.LifecycleOwner;
-import android.arch.lifecycle.MutableLiveData;
-import android.arch.lifecycle.Observer;
-import android.support.annotation.MainThread;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.util.Log;
-
-import java.util.concurrent.atomic.AtomicBoolean;
-
-/**
- * A lifecycle-aware observable that sends only new updates after subscription, used for events like
- * navigation and Snackbar messages.
- *
- * This avoids a common problem with events: on configuration change (like rotation) an update
- * can be emitted if the observer is active. This LiveData only calls the observable if there's an
- * explicit call to setValue() or call().
- *
- * Note that only one observer is going to be notified of changes.
- */
-public class SingleLiveEvent extends MutableLiveData {
-
- private static final String TAG = SingleLiveEvent.class.getSimpleName();
-
- private final AtomicBoolean mPending = new AtomicBoolean(false);
-
- @MainThread
- public void observe(@NonNull LifecycleOwner owner, @NonNull final Observer observer) {
- if (hasActiveObservers()) {
- Log.w(TAG, "Multiple observers registered but only one will be notified of changes.");
- }
-
- // Observe the internal MutableLiveData
- super.observe(owner, t -> {
- if (mPending.compareAndSet(true, false)) {
- observer.onChanged(t);
- }
- });
- }
-
- @MainThread
- public void setValue(@Nullable T t) {
- mPending.set(true);
- super.setValue(t);
- }
-
- /**
- * Used for cases where T is Void, to make calls cleaner.
- */
- @MainThread
- public void call() {
- setValue(null);
- }
-}