Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
Marcel Hibbe 2022-02-17 12:12:48 +01:00
parent 546f3fe1f2
commit e27ede75ff
No known key found for this signature in database
GPG Key ID: C793F8B59F43CE7B
3 changed files with 24 additions and 34 deletions

View File

@ -64,7 +64,6 @@ import com.facebook.imagepipeline.image.CloseableImage;
import com.facebook.imagepipeline.request.ImageRequest; import com.facebook.imagepipeline.request.ImageRequest;
import com.google.android.material.button.MaterialButton; import com.google.android.material.button.MaterialButton;
import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.nextcloud.talk.R; import com.nextcloud.talk.R;
import com.nextcloud.talk.activities.MainActivity; import com.nextcloud.talk.activities.MainActivity;
import com.nextcloud.talk.adapters.items.ConversationItem; import com.nextcloud.talk.adapters.items.ConversationItem;
@ -72,8 +71,6 @@ import com.nextcloud.talk.adapters.items.GenericTextHeaderItem;
import com.nextcloud.talk.api.NcApi; import com.nextcloud.talk.api.NcApi;
import com.nextcloud.talk.application.NextcloudTalkApplication; import com.nextcloud.talk.application.NextcloudTalkApplication;
import com.nextcloud.talk.controllers.base.BaseController; import com.nextcloud.talk.controllers.base.BaseController;
import com.nextcloud.talk.controllers.bottomsheet.ConversationOperationEnum;
import com.nextcloud.talk.controllers.bottomsheet.EntryMenuController;
import com.nextcloud.talk.events.ConversationsListFetchDataEvent; import com.nextcloud.talk.events.ConversationsListFetchDataEvent;
import com.nextcloud.talk.events.EventStatus; import com.nextcloud.talk.events.EventStatus;
import com.nextcloud.talk.interfaces.ConversationMenuInterface; import com.nextcloud.talk.interfaces.ConversationMenuInterface;
@ -84,7 +81,6 @@ import com.nextcloud.talk.jobs.UploadAndShareFilesWorker;
import com.nextcloud.talk.models.database.CapabilitiesUtil; import com.nextcloud.talk.models.database.CapabilitiesUtil;
import com.nextcloud.talk.models.database.UserEntity; import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.talk.models.json.conversations.Conversation; import com.nextcloud.talk.models.json.conversations.Conversation;
import com.nextcloud.talk.models.json.participants.Participant;
import com.nextcloud.talk.ui.dialog.ChooseAccountDialogFragment; import com.nextcloud.talk.ui.dialog.ChooseAccountDialogFragment;
import com.nextcloud.talk.ui.dialog.ConversationsListBottomDialog; import com.nextcloud.talk.ui.dialog.ConversationsListBottomDialog;
import com.nextcloud.talk.utils.ApiUtils; import com.nextcloud.talk.utils.ApiUtils;
@ -191,8 +187,6 @@ public class ConversationsListController extends BaseController implements Searc
private SearchView searchView; private SearchView searchView;
private String searchQuery; private String searchQuery;
private View view;
private String credentials; private String credentials;
private boolean adapterWasNull = true; private boolean adapterWasNull = true;

View File

@ -210,7 +210,8 @@ public class ChooseAccountDialogFragment extends DialogFragment {
subscribe(new Observer<StatusOverall>() { subscribe(new Observer<StatusOverall>() {
@Override @Override
public void onSubscribe(@NonNull Disposable d) {} public void onSubscribe(@NonNull Disposable d) {
}
@Override @Override
public void onNext(@NonNull StatusOverall statusOverall) { public void onNext(@NonNull StatusOverall statusOverall) {

View File

@ -86,7 +86,6 @@ class SetStatusDialogFragment :
private val logTag = ChooseAccountDialogFragment::class.java.simpleName private val logTag = ChooseAccountDialogFragment::class.java.simpleName
private lateinit var binding: DialogSetStatusBinding private lateinit var binding: DialogSetStatusBinding
private var currentUser: User? = null private var currentUser: User? = null
@ -95,7 +94,6 @@ class SetStatusDialogFragment :
val predefinedStatusesList = ArrayList<PredefinedStatus>() val predefinedStatusesList = ArrayList<PredefinedStatus>()
private lateinit var adapter: PredefinedStatusListAdapter private lateinit var adapter: PredefinedStatusListAdapter
private var selectedPredefinedMessageId: String? = null
private var clearAt: Long? = null private var clearAt: Long? = null
private lateinit var popup: EmojiPopup private lateinit var popup: EmojiPopup
@ -123,9 +121,11 @@ class SetStatusDialogFragment :
} }
override fun onNext(responseBody: ResponseBody) { override fun onNext(responseBody: ResponseBody) {
val predefinedStatusOverall : PredefinedStatusOverall = LoganSquare.parse(responseBody val predefinedStatusOverall: PredefinedStatusOverall = LoganSquare.parse(
responseBody
.string(), .string(),
PredefinedStatusOverall::class.java) PredefinedStatusOverall::class.java
)
predefinedStatusesList.addAll(predefinedStatusOverall.getOcs().data) predefinedStatusesList.addAll(predefinedStatusOverall.getOcs().data)
adapter.notifyDataSetChanged() adapter.notifyDataSetChanged()
@ -135,11 +135,8 @@ class SetStatusDialogFragment :
} }
override fun onComplete() {} override fun onComplete() {}
}) })
} }
// EmojiManager.install(GoogleEmojiProvider())
} }
@SuppressLint("InflateParams") @SuppressLint("InflateParams")
@ -179,10 +176,8 @@ class SetStatusDialogFragment :
} }
adapter = PredefinedStatusListAdapter(this, requireContext()) adapter = PredefinedStatusListAdapter(this, requireContext())
adapter.list = predefinedStatusesList adapter.list = predefinedStatusesList
binding.predefinedStatusList.adapter = adapter binding.predefinedStatusList.adapter = adapter
binding.predefinedStatusList.layoutManager = LinearLayoutManager(context) binding.predefinedStatusList.layoutManager = LinearLayoutManager(context)
@ -313,16 +308,17 @@ class SetStatusDialogFragment :
popup.show() popup.show()
} }
private fun clearStatus() { private fun clearStatus() {
val credentials = ApiUtils.getCredentials(currentUser?.username, currentUser?.token) val credentials = ApiUtils.getCredentials(currentUser?.username, currentUser?.token)
ncApi.statusDeleteMessage(credentials, ApiUtils.getUrlForStatusMessage(currentUser?.baseUrl)).subscribeOn(Schedulers.io()) ncApi.statusDeleteMessage(credentials, ApiUtils.getUrlForStatusMessage(currentUser?.baseUrl))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()).subscribe(object : Observer<GenericOverall> { .observeOn(AndroidSchedulers.mainThread()).subscribe(object : Observer<GenericOverall> {
override fun onSubscribe(d: Disposable) {} override fun onSubscribe(d: Disposable) {}
override fun onNext(statusOverall: GenericOverall) {} override fun onNext(statusOverall: GenericOverall) {}
override fun onError(e: Throwable) { override fun onError(e: Throwable) {
Log.e(logTag, "Failed to clear status", e) Log.e(logTag, "Failed to clear status", e)
} }
override fun onComplete() { override fun onComplete() {
dismiss() dismiss()
} }
@ -333,17 +329,21 @@ class SetStatusDialogFragment :
visualizeStatus(statusType) visualizeStatus(statusType)
ncApi.setStatusType(credentials, ApiUtils.getUrlForSetStatusType(currentUser?.baseUrl), statusType.string) ncApi.setStatusType(credentials, ApiUtils.getUrlForSetStatusType(currentUser?.baseUrl), statusType.string)
.subscribeOn(Schedulers .subscribeOn(
.io()) Schedulers
.io()
)
.observeOn(AndroidSchedulers.mainThread()).subscribe(object : Observer<GenericOverall> { .observeOn(AndroidSchedulers.mainThread()).subscribe(object : Observer<GenericOverall> {
override fun onSubscribe(d: Disposable) {} override fun onSubscribe(d: Disposable) {}
override fun onNext(statusOverall: GenericOverall) { override fun onNext(statusOverall: GenericOverall) {
Log.d(TAG, "statusType successfully set") Log.d(logTag, "statusType successfully set")
} }
override fun onError(e: Throwable) { override fun onError(e: Throwable) {
Log.e(logTag, "Failed to set statusType", e) Log.e(logTag, "Failed to set statusType", e)
clearTopStatus() clearTopStatus()
} }
override fun onComplete() {} override fun onComplete() {}
}) })
} }
@ -395,7 +395,8 @@ class SetStatusDialogFragment :
ApiUtils.getUrlForSetCustomStatus(currentUser?.baseUrl), ApiUtils.getUrlForSetCustomStatus(currentUser?.baseUrl),
binding.emoji.text.toString(), binding.emoji.text.toString(),
inputText, inputText,
clearAt) clearAt
)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
?.subscribe(object : Observer<GenericOverall> { ?.subscribe(object : Observer<GenericOverall> {
@ -404,16 +405,15 @@ class SetStatusDialogFragment :
} }
override fun onNext(t: GenericOverall) { override fun onNext(t: GenericOverall) {
Log.d(TAG, "CustomStatusMessage successfully set") Log.d(logTag, "CustomStatusMessage successfully set")
dismiss() dismiss()
} }
override fun onError(e: Throwable) { override fun onError(e: Throwable) {
Log.d(TAG, "failed to set CustomStatusMessage", e) Log.e(logTag, "failed to set CustomStatusMessage", e)
} }
override fun onComplete() {} override fun onComplete() {}
}) })
} }
@ -457,20 +457,15 @@ class SetStatusDialogFragment :
* Fragment creator * Fragment creator
*/ */
companion object { companion object {
private const val TAG = "SetStatusDialogFragment"
@JvmStatic @JvmStatic
fun newInstance(user: User, status: Status): SetStatusDialogFragment { fun newInstance(user: User, status: Status): SetStatusDialogFragment {
val args = Bundle() val args = Bundle()
args.putParcelable(ARG_CURRENT_USER_PARAM, user) args.putParcelable(ARG_CURRENT_USER_PARAM, user)
args.putParcelable(ARG_CURRENT_STATUS_PARAM, status) args.putParcelable(ARG_CURRENT_STATUS_PARAM, status)
val dialogFragment = SetStatusDialogFragment() val dialogFragment = SetStatusDialogFragment()
dialogFragment.arguments = args dialogFragment.arguments = args
// dialogFragment.setStyle(STYLE_NORMAL, R.style.Theme_ownCloud_Dialog)
return dialogFragment return dialogFragment
} }
} }
} }