It compiles again!

Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
Mario Danic 2019-10-09 12:07:01 +02:00
parent 7e46f4d30a
commit b83931c13a
146 changed files with 1418 additions and 2469 deletions

View File

@ -6,6 +6,7 @@
<module fileurl="file://$PROJECT_DIR$/domain/domain.iml" filepath="$PROJECT_DIR$/domain/domain.iml" /> <module fileurl="file://$PROJECT_DIR$/domain/domain.iml" filepath="$PROJECT_DIR$/domain/domain.iml" />
<module fileurl="file://$PROJECT_DIR$/presentation/presentation.iml" filepath="$PROJECT_DIR$/presentation/presentation.iml" /> <module fileurl="file://$PROJECT_DIR$/presentation/presentation.iml" filepath="$PROJECT_DIR$/presentation/presentation.iml" />
<module fileurl="file://$PROJECT_DIR$/talk-android.iml" filepath="$PROJECT_DIR$/talk-android.iml" /> <module fileurl="file://$PROJECT_DIR$/talk-android.iml" filepath="$PROJECT_DIR$/talk-android.iml" />
<module fileurl="file://$PROJECT_DIR$/presentation/talk-android-presentation.iml" filepath="$PROJECT_DIR$/presentation/talk-android-presentation.iml" />
</modules> </modules>
</component> </component>
</project> </project>

View File

@ -1,23 +0,0 @@
<!--
~ Nextcloud Talk application
~
~ @author Mario Danic
~ Copyright (C) 2017-2019 Mario Danic <mario@lovelyhq.com>
~
~ This program is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 3 of the License, or
~ at your option) any later version.
~
~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
-->
<resources>
<string name="app_name">data</string>
</resources>

1
domain/.gitignore vendored
View File

@ -1 +0,0 @@
/build

View File

@ -1,56 +0,0 @@
/*
* Nextcloud Talk application
*
* @author Mario Danic
* Copyright (C) 2017-2019 Mario Danic <mario@lovelyhq.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 29
buildToolsVersion "29.0.2"
defaultConfig {
minSdkVersion 21
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles 'consumer-rules.pro'
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion"
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.core:core-ktx:1.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}

View File

@ -1,21 +0,0 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile

View File

@ -1,44 +0,0 @@
/*
* Nextcloud Talk application
*
* @author Mario Danic
* Copyright (C) 2017-2019 Mario Danic <mario@lovelyhq.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.nextcloud.domain
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.Assert.*
/**
* Instrumented test, which will execute on an Android device.
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
@RunWith(AndroidJUnit4::class)
class ExampleInstrumentedTest {
@Test
fun useAppContext() {
// Context of the app under test.
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
assertEquals("com.nextcloud.domain.test", appContext.packageName)
}
}

View File

@ -1,22 +0,0 @@
<!--
~ Nextcloud Talk application
~
~ @author Mario Danic
~ Copyright (C) 2017-2019 Mario Danic <mario@lovelyhq.com>
~
~ This program is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 3 of the License, or
~ at your option) any later version.
~
~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.nextcloud.domain" />

View File

@ -1,23 +0,0 @@
<!--
~ Nextcloud Talk application
~
~ @author Mario Danic
~ Copyright (C) 2017-2019 Mario Danic <mario@lovelyhq.com>
~
~ This program is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 3 of the License, or
~ at your option) any later version.
~
~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
-->
<resources>
<string name="app_name">domain</string>
</resources>

View File

@ -144,8 +144,6 @@ configurations.all {
dependencies { dependencies {
implementation fileTree(include: ['*'], dir: 'libs') implementation fileTree(include: ['*'], dir: 'libs')
implementation project(':data')
implementation project(':domain')
implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'com.google.android.material:material:1.1.0-beta01' implementation 'com.google.android.material:material:1.1.0-beta01'
@ -185,6 +183,10 @@ dependencies {
implementation 'com.squareup.retrofit2:retrofit:2.6.2' implementation 'com.squareup.retrofit2:retrofit:2.6.2'
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.6.2' implementation 'com.squareup.retrofit2:adapter-rxjava2:2.6.2'
implementation 'com.github.aurae.retrofit2:converter-logansquare:1.4.1' implementation 'com.github.aurae.retrofit2:converter-logansquare:1.4.1'
implementation group: 'joda-time', name: 'joda-time', version: '2.10.3'
implementation 'com.bluelinelabs:logansquare:1.3.7'
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.10.0.pr1'
kapt 'com.bluelinelabs:logansquare-compiler:1.3.7'
implementation 'com.google.dagger:dagger:2.24' implementation 'com.google.dagger:dagger:2.24'
kapt 'com.google.dagger:dagger-compiler:2.24' kapt 'com.google.dagger:dagger-compiler:2.24'

View File

@ -22,10 +22,13 @@ package com.nextcloud.talk.adapters.items;
import android.accounts.Account; import android.accounts.Account;
import android.view.View; import android.view.View;
import android.widget.*; import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.emoji.widget.EmojiTextView; import androidx.emoji.widget.EmojiTextView;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import com.facebook.drawee.backends.pipeline.Fresco; import com.facebook.drawee.backends.pipeline.Fresco;
@ -34,7 +37,7 @@ import com.facebook.drawee.view.SimpleDraweeView;
import com.nextcloud.talk.R; import com.nextcloud.talk.R;
import com.nextcloud.talk.application.NextcloudTalkApplication; import com.nextcloud.talk.application.NextcloudTalkApplication;
import com.nextcloud.talk.models.database.UserEntity; import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.data.models.json.participants.Participant; import com.nextcloud.talk.models.json.participants.Participant;
import com.nextcloud.talk.utils.ApiUtils; import com.nextcloud.talk.utils.ApiUtils;
import com.nextcloud.talk.utils.DisplayUtils; import com.nextcloud.talk.utils.DisplayUtils;
import eu.davidea.flexibleadapter.FlexibleAdapter; import eu.davidea.flexibleadapter.FlexibleAdapter;
@ -42,7 +45,6 @@ import eu.davidea.flexibleadapter.items.AbstractFlexibleItem;
import eu.davidea.flexibleadapter.items.IFilterable; import eu.davidea.flexibleadapter.items.IFilterable;
import eu.davidea.flexibleadapter.utils.FlexibleUtils; import eu.davidea.flexibleadapter.utils.FlexibleUtils;
import eu.davidea.viewholders.FlexibleViewHolder; import eu.davidea.viewholders.FlexibleViewHolder;
import java.util.List; import java.util.List;
import java.util.regex.Pattern; import java.util.regex.Pattern;

View File

@ -36,7 +36,6 @@ import eu.davidea.flexibleadapter.FlexibleAdapter;
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem; import eu.davidea.flexibleadapter.items.AbstractFlexibleItem;
import eu.davidea.flexibleadapter.items.IFlexible; import eu.davidea.flexibleadapter.items.IFlexible;
import eu.davidea.viewholders.FlexibleViewHolder; import eu.davidea.viewholders.FlexibleViewHolder;
import java.util.List; import java.util.List;
public class AppItem extends AbstractFlexibleItem<AppItem.AppItemViewHolder> { public class AppItem extends AbstractFlexibleItem<AppItem.AppItemViewHolder> {

View File

@ -26,9 +26,7 @@ import android.text.format.DateUtils;
import android.view.View; import android.view.View;
import android.widget.ImageButton; import android.widget.ImageButton;
import android.widget.ImageView; import android.widget.ImageView;
import androidx.emoji.widget.EmojiTextView; import androidx.emoji.widget.EmojiTextView;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import com.facebook.drawee.backends.pipeline.Fresco; import com.facebook.drawee.backends.pipeline.Fresco;
@ -38,7 +36,7 @@ import com.nextcloud.talk.R;
import com.nextcloud.talk.application.NextcloudTalkApplication; import com.nextcloud.talk.application.NextcloudTalkApplication;
import com.nextcloud.talk.events.MoreMenuClickEvent; import com.nextcloud.talk.events.MoreMenuClickEvent;
import com.nextcloud.talk.models.database.UserEntity; import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.data.models.json.conversations.Conversation; import com.nextcloud.talk.models.json.conversations.Conversation;
import com.nextcloud.talk.utils.ApiUtils; import com.nextcloud.talk.utils.ApiUtils;
import com.nextcloud.talk.utils.DisplayUtils; import com.nextcloud.talk.utils.DisplayUtils;
import eu.davidea.flexibleadapter.FlexibleAdapter; import eu.davidea.flexibleadapter.FlexibleAdapter;
@ -46,10 +44,9 @@ import eu.davidea.flexibleadapter.items.AbstractFlexibleItem;
import eu.davidea.flexibleadapter.items.IFilterable; import eu.davidea.flexibleadapter.items.IFilterable;
import eu.davidea.flexibleadapter.utils.FlexibleUtils; import eu.davidea.flexibleadapter.utils.FlexibleUtils;
import eu.davidea.viewholders.FlexibleViewHolder; import eu.davidea.viewholders.FlexibleViewHolder;
import org.greenrobot.eventbus.EventBus;
import java.util.List; import java.util.List;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import org.greenrobot.eventbus.EventBus;
public class CallItem extends AbstractFlexibleItem<CallItem.RoomItemViewHolder> implements IFilterable<String> { public class CallItem extends AbstractFlexibleItem<CallItem.RoomItemViewHolder> implements IFilterable<String> {
@ -114,7 +111,7 @@ public class CallItem extends AbstractFlexibleItem<CallItem.RoomItemViewHolder>
System.currentTimeMillis(), 0, DateUtils.FORMAT_ABBREV_RELATIVE)); System.currentTimeMillis(), 0, DateUtils.FORMAT_ABBREV_RELATIVE));
} }
if (conversation.getHasPassword()) { if (conversation.hasPassword) {
holder.passwordProtectedImageView.setVisibility(View.VISIBLE); holder.passwordProtectedImageView.setVisibility(View.VISIBLE);
} else { } else {
holder.passwordProtectedImageView.setVisibility(View.GONE); holder.passwordProtectedImageView.setVisibility(View.GONE);

View File

@ -29,20 +29,17 @@ import android.text.format.DateUtils;
import android.view.View; import android.view.View;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import androidx.emoji.widget.EmojiTextView; import androidx.emoji.widget.EmojiTextView;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import com.facebook.drawee.backends.pipeline.Fresco; import com.facebook.drawee.backends.pipeline.Fresco;
import com.facebook.drawee.interfaces.DraweeController; import com.facebook.drawee.interfaces.DraweeController;
import com.facebook.drawee.view.SimpleDraweeView; import com.facebook.drawee.view.SimpleDraweeView;
import com.nextcloud.talk.models.json.conversations.Conversation;
import com.nextcloud.talk.R; import com.nextcloud.talk.R;
import com.nextcloud.talk.application.NextcloudTalkApplication; import com.nextcloud.talk.application.NextcloudTalkApplication;
import com.nextcloud.talk.models.database.UserEntity; import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.talk.models.json.chat.ChatMessage; import com.nextcloud.talk.models.json.chat.ChatMessage;
import com.nextcloud.data.models.json.conversations.Conversation;
import com.nextcloud.talk.utils.ApiUtils; import com.nextcloud.talk.utils.ApiUtils;
import com.nextcloud.talk.utils.DisplayUtils; import com.nextcloud.talk.utils.DisplayUtils;
import eu.davidea.flexibleadapter.FlexibleAdapter; import eu.davidea.flexibleadapter.FlexibleAdapter;
@ -51,7 +48,6 @@ import eu.davidea.flexibleadapter.items.IFilterable;
import eu.davidea.flexibleadapter.items.IFlexible; import eu.davidea.flexibleadapter.items.IFlexible;
import eu.davidea.flexibleadapter.utils.FlexibleUtils; import eu.davidea.flexibleadapter.utils.FlexibleUtils;
import eu.davidea.viewholders.FlexibleViewHolder; import eu.davidea.viewholders.FlexibleViewHolder;
import java.util.List; import java.util.List;
import java.util.regex.Pattern; import java.util.regex.Pattern;

View File

@ -30,7 +30,6 @@ import eu.davidea.flexibleadapter.FlexibleAdapter;
import eu.davidea.flexibleadapter.items.AbstractHeaderItem; import eu.davidea.flexibleadapter.items.AbstractHeaderItem;
import eu.davidea.flexibleadapter.items.IFlexible; import eu.davidea.flexibleadapter.items.IFlexible;
import eu.davidea.viewholders.FlexibleViewHolder; import eu.davidea.viewholders.FlexibleViewHolder;
import java.util.List; import java.util.List;
public class GenericTextHeaderItem extends AbstractHeaderItem<GenericTextHeaderItem.HeaderViewHolder> { public class GenericTextHeaderItem extends AbstractHeaderItem<GenericTextHeaderItem.HeaderViewHolder> {

View File

@ -22,7 +22,6 @@ package com.nextcloud.talk.adapters.items;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.view.View; import android.view.View;
import com.facebook.drawee.backends.pipeline.Fresco; import com.facebook.drawee.backends.pipeline.Fresco;
import com.facebook.drawee.interfaces.DraweeController; import com.facebook.drawee.interfaces.DraweeController;
import com.nextcloud.talk.R; import com.nextcloud.talk.R;
@ -30,15 +29,13 @@ import com.nextcloud.talk.application.NextcloudTalkApplication;
import com.nextcloud.talk.models.database.UserEntity; import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.talk.utils.ApiUtils; import com.nextcloud.talk.utils.ApiUtils;
import com.nextcloud.talk.utils.DisplayUtils; import com.nextcloud.talk.utils.DisplayUtils;
import java.util.List;
import java.util.regex.Pattern;
import eu.davidea.flexibleadapter.FlexibleAdapter; import eu.davidea.flexibleadapter.FlexibleAdapter;
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem; import eu.davidea.flexibleadapter.items.AbstractFlexibleItem;
import eu.davidea.flexibleadapter.items.IFilterable; import eu.davidea.flexibleadapter.items.IFilterable;
import eu.davidea.flexibleadapter.items.IFlexible; import eu.davidea.flexibleadapter.items.IFlexible;
import eu.davidea.flexibleadapter.utils.FlexibleUtils; import eu.davidea.flexibleadapter.utils.FlexibleUtils;
import java.util.List;
import java.util.regex.Pattern;
public class MentionAutocompleteItem extends AbstractFlexibleItem<UserItem.UserItemViewHolder> public class MentionAutocompleteItem extends AbstractFlexibleItem<UserItem.UserItemViewHolder>
implements IFilterable<String> { implements IFilterable<String> {

View File

@ -22,7 +22,6 @@
package com.nextcloud.talk.adapters.items; package com.nextcloud.talk.adapters.items;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.text.Spannable; import android.text.Spannable;
import android.text.SpannableString; import android.text.SpannableString;
@ -37,7 +36,6 @@ import com.nextcloud.talk.utils.DisplayUtils;
import eu.davidea.flexibleadapter.FlexibleAdapter; import eu.davidea.flexibleadapter.FlexibleAdapter;
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem; import eu.davidea.flexibleadapter.items.AbstractFlexibleItem;
import eu.davidea.viewholders.FlexibleViewHolder; import eu.davidea.viewholders.FlexibleViewHolder;
import java.util.List; import java.util.List;
public class MenuItem extends AbstractFlexibleItem<MenuItem.MenuItemViewHolder> { public class MenuItem extends AbstractFlexibleItem<MenuItem.MenuItemViewHolder> {

View File

@ -34,7 +34,6 @@ import eu.davidea.flexibleadapter.FlexibleAdapter;
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem; import eu.davidea.flexibleadapter.items.AbstractFlexibleItem;
import eu.davidea.flexibleadapter.items.IFlexible; import eu.davidea.flexibleadapter.items.IFlexible;
import eu.davidea.viewholders.FlexibleViewHolder; import eu.davidea.viewholders.FlexibleViewHolder;
import java.util.List; import java.util.List;
public class NotificationSoundItem extends AbstractFlexibleItem<NotificationSoundItem.NotificationSoundItemViewHolder> { public class NotificationSoundItem extends AbstractFlexibleItem<NotificationSoundItem.NotificationSoundItemViewHolder> {

View File

@ -39,7 +39,6 @@ import eu.davidea.flexibleadapter.helpers.AnimatorHelper;
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem; import eu.davidea.flexibleadapter.items.AbstractFlexibleItem;
import eu.davidea.flexibleadapter.items.IFlexible; import eu.davidea.flexibleadapter.items.IFlexible;
import eu.davidea.viewholders.FlexibleViewHolder; import eu.davidea.viewholders.FlexibleViewHolder;
import java.util.List; import java.util.List;
/** /**

View File

@ -25,32 +25,28 @@ import android.graphics.drawable.BitmapDrawable;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.View; import android.view.View;
import android.widget.ImageView; import android.widget.ImageView;
import androidx.emoji.widget.EmojiTextView;
import butterknife.BindView;
import butterknife.ButterKnife;
import com.facebook.drawee.backends.pipeline.Fresco; import com.facebook.drawee.backends.pipeline.Fresco;
import com.facebook.drawee.interfaces.DraweeController; import com.facebook.drawee.interfaces.DraweeController;
import com.facebook.drawee.view.SimpleDraweeView; import com.facebook.drawee.view.SimpleDraweeView;
import com.nextcloud.talk.R; import com.nextcloud.talk.R;
import com.nextcloud.talk.application.NextcloudTalkApplication; import com.nextcloud.talk.application.NextcloudTalkApplication;
import com.nextcloud.talk.models.database.UserEntity; import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.data.models.json.converters.EnumParticipantTypeConverter; import com.nextcloud.talk.models.json.converters.EnumParticipantTypeConverter;
import com.nextcloud.data.models.json.participants.Participant; import com.nextcloud.talk.models.json.participants.Participant;
import com.nextcloud.talk.utils.ApiUtils; import com.nextcloud.talk.utils.ApiUtils;
import com.nextcloud.talk.utils.DisplayUtils; import com.nextcloud.talk.utils.DisplayUtils;
import java.util.List;
import java.util.regex.Pattern;
import javax.annotation.Nullable;
import androidx.emoji.widget.EmojiTextView;
import butterknife.BindView;
import butterknife.ButterKnife;
import eu.davidea.flexibleadapter.FlexibleAdapter; import eu.davidea.flexibleadapter.FlexibleAdapter;
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem; import eu.davidea.flexibleadapter.items.AbstractFlexibleItem;
import eu.davidea.flexibleadapter.items.IFilterable; import eu.davidea.flexibleadapter.items.IFilterable;
import eu.davidea.flexibleadapter.items.ISectionable; import eu.davidea.flexibleadapter.items.ISectionable;
import eu.davidea.flexibleadapter.utils.FlexibleUtils; import eu.davidea.flexibleadapter.utils.FlexibleUtils;
import eu.davidea.viewholders.FlexibleViewHolder; import eu.davidea.viewholders.FlexibleViewHolder;
import java.util.List;
import java.util.regex.Pattern;
import javax.annotation.Nullable;
public class UserItem extends AbstractFlexibleItem<UserItem.UserItemViewHolder> implements public class UserItem extends AbstractFlexibleItem<UserItem.UserItemViewHolder> implements
ISectionable<UserItem.UserItemViewHolder, GenericTextHeaderItem>, IFilterable<String> { ISectionable<UserItem.UserItemViewHolder, GenericTextHeaderItem>, IFilterable<String> {

View File

@ -34,7 +34,6 @@ import android.view.View;
import android.widget.TextView; import android.widget.TextView;
import androidx.core.view.ViewCompat; import androidx.core.view.ViewCompat;
import androidx.emoji.widget.EmojiTextView; import androidx.emoji.widget.EmojiTextView;
import autodagger.AutoInjector; import autodagger.AutoInjector;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
@ -49,10 +48,9 @@ import com.nextcloud.talk.utils.TextMatchers;
import com.nextcloud.talk.utils.database.user.UserUtils; import com.nextcloud.talk.utils.database.user.UserUtils;
import com.nextcloud.talk.utils.preferences.AppPreferences; import com.nextcloud.talk.utils.preferences.AppPreferences;
import com.stfalcon.chatkit.messages.MessageHolders; import com.stfalcon.chatkit.messages.MessageHolders;
import javax.inject.Inject;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import javax.inject.Inject;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class MagicIncomingTextMessageViewHolder public class MagicIncomingTextMessageViewHolder
@ -135,7 +133,7 @@ public class MagicIncomingTextMessageViewHolder
int bubbleResource = R.drawable.shape_incoming_message; int bubbleResource = R.drawable.shape_incoming_message;
if (message.getIsGrouped()) { if (message.isGrouped) {
bubbleResource = R.drawable.shape_grouped_incoming_message; bubbleResource = R.drawable.shape_grouped_incoming_message;
} }

View File

@ -32,7 +32,6 @@ import android.view.View;
import android.widget.TextView; import android.widget.TextView;
import androidx.core.view.ViewCompat; import androidx.core.view.ViewCompat;
import androidx.emoji.widget.EmojiTextView; import androidx.emoji.widget.EmojiTextView;
import autodagger.AutoInjector; import autodagger.AutoInjector;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
@ -44,10 +43,9 @@ import com.nextcloud.talk.utils.DisplayUtils;
import com.nextcloud.talk.utils.TextMatchers; import com.nextcloud.talk.utils.TextMatchers;
import com.nextcloud.talk.utils.database.user.UserUtils; import com.nextcloud.talk.utils.database.user.UserUtils;
import com.stfalcon.chatkit.messages.MessageHolders; import com.stfalcon.chatkit.messages.MessageHolders;
import javax.inject.Inject;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import javax.inject.Inject;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class MagicOutcomingTextMessageViewHolder extends MessageHolders.OutcomingTextMessageViewHolder<ChatMessage> { public class MagicOutcomingTextMessageViewHolder extends MessageHolders.OutcomingTextMessageViewHolder<ChatMessage> {
@ -120,7 +118,7 @@ public class MagicOutcomingTextMessageViewHolder extends MessageHolders.Outcomin
} }
Resources resources = NextcloudTalkApplication.Companion.getSharedApplication().getResources(); Resources resources = NextcloudTalkApplication.Companion.getSharedApplication().getResources();
if (message.getIsGrouped()) { if (message.isGrouped) {
Drawable bubbleDrawable = Drawable bubbleDrawable =
DisplayUtils.getMessageSelector(resources.getColor(R.color.bg_message_list_outcoming_bubble), DisplayUtils.getMessageSelector(resources.getColor(R.color.bg_message_list_outcoming_bubble),
resources.getColor(R.color.transparent), resources.getColor(R.color.transparent),

View File

@ -29,9 +29,7 @@ import android.graphics.drawable.LayerDrawable;
import android.net.Uri; import android.net.Uri;
import android.os.Handler; import android.os.Handler;
import android.view.View; import android.view.View;
import androidx.emoji.widget.EmojiTextView; import androidx.emoji.widget.EmojiTextView;
import autodagger.AutoInjector; import autodagger.AutoInjector;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
@ -51,11 +49,10 @@ import io.reactivex.Single;
import io.reactivex.SingleObserver; import io.reactivex.SingleObserver;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import okhttp3.OkHttpClient;
import javax.inject.Inject;
import java.util.List; import java.util.List;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
import javax.inject.Inject;
import okhttp3.OkHttpClient;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class MagicPreviewMessageViewHolder extends MessageHolders.IncomingImageMessageViewHolder<ChatMessage> { public class MagicPreviewMessageViewHolder extends MessageHolders.IncomingImageMessageViewHolder<ChatMessage> {
@ -80,8 +77,8 @@ public class MagicPreviewMessageViewHolder extends MessageHolders.IncomingImageM
public void onBind(ChatMessage message) { public void onBind(ChatMessage message) {
super.onBind(message); super.onBind(message);
if (userAvatar != null) { if (userAvatar != null) {
if (message.getIsGrouped() || message.isOneToOneConversation()) { if (message.isGrouped || message.isOneToOneConversation) {
if (message.isOneToOneConversation()) { if (message.isOneToOneConversation) {
userAvatar.setVisibility(View.GONE); userAvatar.setVisibility(View.GONE);
} else { } else {
userAvatar.setVisibility(View.INVISIBLE); userAvatar.setVisibility(View.INVISIBLE);

View File

@ -27,16 +27,15 @@ import android.text.Spannable;
import android.text.SpannableString; import android.text.SpannableString;
import android.view.View; import android.view.View;
import androidx.core.view.ViewCompat; import androidx.core.view.ViewCompat;
import autodagger.AutoInjector;
import com.nextcloud.talk.R; import com.nextcloud.talk.R;
import com.nextcloud.talk.application.NextcloudTalkApplication; import com.nextcloud.talk.application.NextcloudTalkApplication;
import com.nextcloud.talk.models.json.chat.ChatMessage; import com.nextcloud.talk.models.json.chat.ChatMessage;
import com.nextcloud.talk.utils.DisplayUtils; import com.nextcloud.talk.utils.DisplayUtils;
import com.nextcloud.talk.utils.preferences.AppPreferences; import com.nextcloud.talk.utils.preferences.AppPreferences;
import com.stfalcon.chatkit.messages.MessageHolders; import com.stfalcon.chatkit.messages.MessageHolders;
import java.util.Map; import java.util.Map;
import javax.inject.Inject; import javax.inject.Inject;
import autodagger.AutoInjector;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class MagicSystemMessageViewHolder extends MessageHolders.IncomingTextMessageViewHolder<ChatMessage> { public class MagicSystemMessageViewHolder extends MessageHolders.IncomingTextMessageViewHolder<ChatMessage> {

View File

@ -21,7 +21,6 @@
package com.nextcloud.talk.adapters.messages; package com.nextcloud.talk.adapters.messages;
import android.view.View; import android.view.View;
import com.nextcloud.talk.models.json.chat.ChatMessage; import com.nextcloud.talk.models.json.chat.ChatMessage;
import com.stfalcon.chatkit.messages.MessageHolders; import com.stfalcon.chatkit.messages.MessageHolders;

View File

@ -21,27 +21,36 @@
package com.nextcloud.talk.api; package com.nextcloud.talk.api;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.nextcloud.data.models.json.capabilities.CapabilitiesOverall; import com.nextcloud.talk.models.json.capabilities.CapabilitiesOverall;
import com.nextcloud.talk.models.json.chat.ChatOverall; import com.nextcloud.talk.models.json.chat.ChatOverall;
import com.nextcloud.data.models.json.generic.GenericOverall; import com.nextcloud.talk.models.json.conversations.RoomOverall;
import com.nextcloud.data.models.json.generic.Status; import com.nextcloud.talk.models.json.conversations.RoomsOverall;
import com.nextcloud.data.models.json.mention.MentionOverall; import com.nextcloud.talk.models.json.generic.GenericOverall;
import com.nextcloud.data.models.json.notifications.NotificationOverall; import com.nextcloud.talk.models.json.generic.Status;
import com.nextcloud.data.models.json.participants.AddParticipantOverall; import com.nextcloud.talk.models.json.mention.MentionOverall;
import com.nextcloud.data.models.json.participants.ParticipantsOverall; import com.nextcloud.talk.models.json.notifications.NotificationOverall;
import com.nextcloud.data.models.json.push.PushRegistrationOverall; import com.nextcloud.talk.models.json.participants.AddParticipantOverall;
import com.nextcloud.data.models.json.conversations.RoomOverall; import com.nextcloud.talk.models.json.participants.ParticipantsOverall;
import com.nextcloud.data.models.json.conversations.RoomsOverall; import com.nextcloud.talk.models.json.push.PushRegistrationOverall;
import com.nextcloud.data.models.json.signaling.SignalingOverall; import com.nextcloud.talk.models.json.signaling.SignalingOverall;
import com.nextcloud.data.models.json.signaling.settings.SignalingSettingsOverall; import com.nextcloud.talk.models.json.signaling.settings.SignalingSettingsOverall;
import com.nextcloud.data.models.json.userprofile.UserProfileOverall; import com.nextcloud.talk.models.json.userprofile.UserProfileOverall;
import io.reactivex.Observable; import io.reactivex.Observable;
import okhttp3.ResponseBody;
import retrofit2.Response;
import retrofit2.http.*;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import okhttp3.ResponseBody;
import retrofit2.Response;
import retrofit2.http.DELETE;
import retrofit2.http.Field;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Header;
import retrofit2.http.POST;
import retrofit2.http.PUT;
import retrofit2.http.Query;
import retrofit2.http.QueryMap;
import retrofit2.http.Url;
public interface NcApi { public interface NcApi {

View File

@ -23,10 +23,9 @@ package com.nextcloud.talk.application
import android.content.Context import android.content.Context
import android.os.Build import android.os.Build
import android.util.Log import android.util.Log
import androidx.appcompat.app.AppCompatDelegate
import androidx.emoji.bundled.BundledEmojiCompatConfig import androidx.emoji.bundled.BundledEmojiCompatConfig
import androidx.emoji.text.EmojiCompat import androidx.emoji.text.EmojiCompat
import androidx.appcompat.app.AppCompatDelegate
import androidx.lifecycle.LifecycleObserver import androidx.lifecycle.LifecycleObserver
import androidx.multidex.MultiDex import androidx.multidex.MultiDex
import androidx.multidex.MultiDexApplication import androidx.multidex.MultiDexApplication
@ -59,7 +58,6 @@ import com.nextcloud.talk.utils.preferences.AppPreferences
import com.nextcloud.talk.webrtc.MagicWebRTCUtils import com.nextcloud.talk.webrtc.MagicWebRTCUtils
import com.vanniktech.emoji.EmojiManager import com.vanniktech.emoji.EmojiManager
import com.vanniktech.emoji.googlecompat.GoogleCompatEmojiProvider import com.vanniktech.emoji.googlecompat.GoogleCompatEmojiProvider
import de.cotech.hw.SecurityKeyManager import de.cotech.hw.SecurityKeyManager
import de.cotech.hw.SecurityKeyManagerConfig import de.cotech.hw.SecurityKeyManagerConfig
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
@ -67,11 +65,10 @@ import org.conscrypt.Conscrypt
import org.webrtc.PeerConnectionFactory import org.webrtc.PeerConnectionFactory
import org.webrtc.voiceengine.WebRtcAudioManager import org.webrtc.voiceengine.WebRtcAudioManager
import org.webrtc.voiceengine.WebRtcAudioUtils import org.webrtc.voiceengine.WebRtcAudioUtils
import javax.inject.Inject
import javax.inject.Singleton
import java.security.Security import java.security.Security
import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit
import javax.inject.Inject
import javax.inject.Singleton
@AutoComponent(modules = [BusModule::class, ContextModule::class, DatabaseModule::class, RestModule::class, UserModule::class, ArbitraryStorageModule::class]) @AutoComponent(modules = [BusModule::class, ContextModule::class, DatabaseModule::class, RestModule::class, UserModule::class, ArbitraryStorageModule::class])
@Singleton @Singleton

View File

@ -24,11 +24,10 @@ import android.content.Context;
import android.text.Editable; import android.text.Editable;
import android.text.Spanned; import android.text.Spanned;
import android.widget.EditText; import android.widget.EditText;
import com.facebook.widget.text.span.BetterImageSpan; import com.facebook.widget.text.span.BetterImageSpan;
import com.nextcloud.talk.models.json.mention.Mention;
import com.nextcloud.talk.R; import com.nextcloud.talk.R;
import com.nextcloud.talk.models.database.UserEntity; import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.data.models.json.mention.Mention;
import com.nextcloud.talk.utils.DisplayUtils; import com.nextcloud.talk.utils.DisplayUtils;
import com.nextcloud.talk.utils.MagicCharPolicy; import com.nextcloud.talk.utils.MagicCharPolicy;
import com.nextcloud.talk.utils.text.Spans; import com.nextcloud.talk.utils.text.Spans;

View File

@ -46,9 +46,8 @@ import eu.davidea.flexibleadapter.items.AbstractFlexibleItem;
import eu.davidea.flexibleadapter.items.IFilterable; import eu.davidea.flexibleadapter.items.IFilterable;
import eu.davidea.flexibleadapter.items.IFlexible; import eu.davidea.flexibleadapter.items.IFlexible;
import eu.davidea.viewholders.FlexibleViewHolder; import eu.davidea.viewholders.FlexibleViewHolder;
import javax.inject.Inject;
import java.util.List; import java.util.List;
import javax.inject.Inject;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class BrowserFileItem extends AbstractFlexibleItem<BrowserFileItem.ViewHolder> implements IFilterable<String> { public class BrowserFileItem extends AbstractFlexibleItem<BrowserFileItem.ViewHolder> implements IFilterable<String> {

View File

@ -23,7 +23,12 @@ package com.nextcloud.talk.components.filebrowser.controllers;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.content.Context; import android.content.Context;
import android.os.Bundle; import android.os.Bundle;
import android.view.*; import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import androidx.work.Data; import androidx.work.Data;
@ -52,14 +57,18 @@ import eu.davidea.flexibleadapter.FlexibleAdapter;
import eu.davidea.flexibleadapter.common.SmoothScrollLinearLayoutManager; import eu.davidea.flexibleadapter.common.SmoothScrollLinearLayoutManager;
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem; import eu.davidea.flexibleadapter.items.AbstractFlexibleItem;
import eu.davidea.flexibleadapter.items.IFlexible; import eu.davidea.flexibleadapter.items.IFlexible;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
import javax.inject.Inject;
import okhttp3.OkHttpClient; import okhttp3.OkHttpClient;
import org.parceler.Parcel; import org.parceler.Parcel;
import org.parceler.Parcels; import org.parceler.Parcels;
import javax.inject.Inject;
import java.io.File;
import java.util.*;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class BrowserController extends BaseController implements ListingInterface, public class BrowserController extends BaseController implements ListingInterface,
FlexibleAdapter.OnItemClickListener, SelectionInterface { FlexibleAdapter.OnItemClickListener, SelectionInterface {

View File

@ -29,12 +29,15 @@ import at.bitfire.dav4android.property.GetContentType;
import at.bitfire.dav4android.property.GetLastModified; import at.bitfire.dav4android.property.GetLastModified;
import at.bitfire.dav4android.property.ResourceType; import at.bitfire.dav4android.property.ResourceType;
import com.bluelinelabs.logansquare.annotation.JsonObject; import com.bluelinelabs.logansquare.annotation.JsonObject;
import com.nextcloud.talk.components.filebrowser.models.properties.*; import com.nextcloud.talk.components.filebrowser.models.properties.NCEncrypted;
import lombok.Data; import com.nextcloud.talk.components.filebrowser.models.properties.NCPreview;
import org.parceler.Parcel; import com.nextcloud.talk.components.filebrowser.models.properties.OCFavorite;
import com.nextcloud.talk.components.filebrowser.models.properties.OCId;
import com.nextcloud.talk.components.filebrowser.models.properties.OCSize;
import java.io.File; import java.io.File;
import java.util.List; import java.util.List;
import lombok.Data;
import org.parceler.Parcel;
@Data @Data
@JsonObject @JsonObject

View File

@ -25,6 +25,7 @@ import at.bitfire.dav4android.Property;
import at.bitfire.dav4android.PropertyFactory; import at.bitfire.dav4android.PropertyFactory;
import at.bitfire.dav4android.XmlUtils; import at.bitfire.dav4android.XmlUtils;
import com.nextcloud.talk.components.filebrowser.webdav.DavUtils; import com.nextcloud.talk.components.filebrowser.webdav.DavUtils;
import java.io.IOException;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -32,8 +33,6 @@ import org.jetbrains.annotations.Nullable;
import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserException;
import java.io.IOException;
public class NCEncrypted implements Property { public class NCEncrypted implements Property {
public static final Name NAME = new Name(DavUtils.NC_NAMESPACE, DavUtils.EXTENDED_PROPERTY_IS_ENCRYPTED); public static final Name NAME = new Name(DavUtils.NC_NAMESPACE, DavUtils.EXTENDED_PROPERTY_IS_ENCRYPTED);

View File

@ -25,6 +25,7 @@ import at.bitfire.dav4android.Property;
import at.bitfire.dav4android.PropertyFactory; import at.bitfire.dav4android.PropertyFactory;
import at.bitfire.dav4android.XmlUtils; import at.bitfire.dav4android.XmlUtils;
import com.nextcloud.talk.components.filebrowser.webdav.DavUtils; import com.nextcloud.talk.components.filebrowser.webdav.DavUtils;
import java.io.IOException;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -32,8 +33,6 @@ import org.jetbrains.annotations.Nullable;
import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserException;
import java.io.IOException;
public class NCPreview implements Property { public class NCPreview implements Property {
public static final Property.Name NAME = new Property.Name(DavUtils.NC_NAMESPACE, DavUtils.EXTENDED_PROPERTY_HAS_PREVIEW); public static final Property.Name NAME = new Property.Name(DavUtils.NC_NAMESPACE, DavUtils.EXTENDED_PROPERTY_HAS_PREVIEW);

View File

@ -25,6 +25,7 @@ import at.bitfire.dav4android.Property;
import at.bitfire.dav4android.PropertyFactory; import at.bitfire.dav4android.PropertyFactory;
import at.bitfire.dav4android.XmlUtils; import at.bitfire.dav4android.XmlUtils;
import com.nextcloud.talk.components.filebrowser.webdav.DavUtils; import com.nextcloud.talk.components.filebrowser.webdav.DavUtils;
import java.io.IOException;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -32,8 +33,6 @@ import org.jetbrains.annotations.Nullable;
import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserException;
import java.io.IOException;
public class OCFavorite implements Property { public class OCFavorite implements Property {
public static final Property.Name NAME = new Property.Name(DavUtils.OC_NAMESPACE, DavUtils.EXTENDED_PROPERTY_FAVORITE); public static final Property.Name NAME = new Property.Name(DavUtils.OC_NAMESPACE, DavUtils.EXTENDED_PROPERTY_FAVORITE);

View File

@ -25,6 +25,7 @@ import at.bitfire.dav4android.Property;
import at.bitfire.dav4android.PropertyFactory; import at.bitfire.dav4android.PropertyFactory;
import at.bitfire.dav4android.XmlUtils; import at.bitfire.dav4android.XmlUtils;
import com.nextcloud.talk.components.filebrowser.webdav.DavUtils; import com.nextcloud.talk.components.filebrowser.webdav.DavUtils;
import java.io.IOException;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -32,8 +33,6 @@ import org.jetbrains.annotations.Nullable;
import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserException;
import java.io.IOException;
public class OCId implements Property { public class OCId implements Property {
public static final Name NAME = new Name(DavUtils.OC_NAMESPACE, DavUtils.EXTENDED_PROPERTY_NAME_REMOTE_ID); public static final Name NAME = new Name(DavUtils.OC_NAMESPACE, DavUtils.EXTENDED_PROPERTY_NAME_REMOTE_ID);

View File

@ -25,6 +25,7 @@ import at.bitfire.dav4android.Property;
import at.bitfire.dav4android.PropertyFactory; import at.bitfire.dav4android.PropertyFactory;
import at.bitfire.dav4android.XmlUtils; import at.bitfire.dav4android.XmlUtils;
import com.nextcloud.talk.components.filebrowser.webdav.DavUtils; import com.nextcloud.talk.components.filebrowser.webdav.DavUtils;
import java.io.IOException;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -32,8 +33,6 @@ import org.jetbrains.annotations.Nullable;
import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserException;
import java.io.IOException;
public class OCSize implements Property { public class OCSize implements Property {
public static final Property.Name NAME = new Property.Name(DavUtils.OC_NAMESPACE, DavUtils.EXTENDED_PROPERTY_NAME_SIZE); public static final Property.Name NAME = new Property.Name(DavUtils.OC_NAMESPACE, DavUtils.EXTENDED_PROPERTY_NAME_SIZE);

View File

@ -29,9 +29,8 @@ import io.reactivex.Single;
import io.reactivex.SingleObserver; import io.reactivex.SingleObserver;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import okhttp3.OkHttpClient;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
import okhttp3.OkHttpClient;
public class DavListing extends ListingAbstractClass { public class DavListing extends ListingAbstractClass {
private DavResponse davResponse = new DavResponse(); private DavResponse davResponse = new DavResponse();

View File

@ -23,9 +23,18 @@ package com.nextcloud.talk.components.filebrowser.webdav;
import at.bitfire.dav4android.Property; import at.bitfire.dav4android.Property;
import at.bitfire.dav4android.PropertyFactory; import at.bitfire.dav4android.PropertyFactory;
import at.bitfire.dav4android.PropertyRegistry; import at.bitfire.dav4android.PropertyRegistry;
import at.bitfire.dav4android.property.*; import at.bitfire.dav4android.property.CreationDate;
import com.nextcloud.talk.components.filebrowser.models.properties.*; import at.bitfire.dav4android.property.DisplayName;
import at.bitfire.dav4android.property.GetContentLength;
import at.bitfire.dav4android.property.GetContentType;
import at.bitfire.dav4android.property.GetETag;
import at.bitfire.dav4android.property.GetLastModified;
import at.bitfire.dav4android.property.ResourceType;
import com.nextcloud.talk.components.filebrowser.models.properties.NCEncrypted;
import com.nextcloud.talk.components.filebrowser.models.properties.NCPreview;
import com.nextcloud.talk.components.filebrowser.models.properties.OCFavorite;
import com.nextcloud.talk.components.filebrowser.models.properties.OCId;
import com.nextcloud.talk.components.filebrowser.models.properties.OCSize;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;

View File

@ -28,15 +28,14 @@ import com.nextcloud.talk.components.filebrowser.models.DavResponse;
import com.nextcloud.talk.dagger.modules.RestModule; import com.nextcloud.talk.dagger.modules.RestModule;
import com.nextcloud.talk.models.database.UserEntity; import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.talk.utils.ApiUtils; import com.nextcloud.talk.utils.ApiUtils;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import kotlin.Unit; import kotlin.Unit;
import kotlin.jvm.functions.Function2; import kotlin.jvm.functions.Function2;
import okhttp3.HttpUrl; import okhttp3.HttpUrl;
import okhttp3.OkHttpClient; import okhttp3.OkHttpClient;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class ReadFilesystemOperation { public class ReadFilesystemOperation {
private final OkHttpClient okHttpClient; private final OkHttpClient okHttpClient;
private final String url; private final String url;

View File

@ -36,6 +36,9 @@ import autodagger.AutoInjector;
import butterknife.BindView; import butterknife.BindView;
import com.bluelinelabs.conductor.RouterTransaction; import com.bluelinelabs.conductor.RouterTransaction;
import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler; import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler;
import com.nextcloud.talk.models.json.conversations.RoomsOverall;
import com.nextcloud.talk.models.json.generic.Status;
import com.nextcloud.talk.models.json.userprofile.UserProfileOverall;
import com.nextcloud.talk.R; import com.nextcloud.talk.R;
import com.nextcloud.talk.api.NcApi; import com.nextcloud.talk.api.NcApi;
import com.nextcloud.talk.application.NextcloudTalkApplication; import com.nextcloud.talk.application.NextcloudTalkApplication;
@ -45,9 +48,6 @@ import com.nextcloud.talk.jobs.CapabilitiesWorker;
import com.nextcloud.talk.jobs.PushRegistrationWorker; import com.nextcloud.talk.jobs.PushRegistrationWorker;
import com.nextcloud.talk.jobs.SignalingSettingsWorker; import com.nextcloud.talk.jobs.SignalingSettingsWorker;
import com.nextcloud.talk.models.database.UserEntity; import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.data.models.json.generic.Status;
import com.nextcloud.data.models.json.conversations.RoomsOverall;
import com.nextcloud.data.models.json.userprofile.UserProfileOverall;
import com.nextcloud.talk.utils.ApiUtils; import com.nextcloud.talk.utils.ApiUtils;
import com.nextcloud.talk.utils.ClosedInterfaceImpl; import com.nextcloud.talk.utils.ClosedInterfaceImpl;
import com.nextcloud.talk.utils.bundle.BundleKeys; import com.nextcloud.talk.utils.bundle.BundleKeys;
@ -55,19 +55,17 @@ import com.nextcloud.talk.utils.database.user.UserUtils;
import com.nextcloud.talk.utils.preferences.AppPreferences; import com.nextcloud.talk.utils.preferences.AppPreferences;
import com.nextcloud.talk.utils.singletons.ApplicationWideMessageHolder; import com.nextcloud.talk.utils.singletons.ApplicationWideMessageHolder;
import com.uber.autodispose.AutoDispose; import com.uber.autodispose.AutoDispose;
import io.reactivex.CompletableObserver; import io.reactivex.CompletableObserver;
import io.reactivex.Observer; import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import java.net.CookieManager;
import javax.inject.Inject;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode; import org.greenrobot.eventbus.ThreadMode;
import javax.inject.Inject;
import java.net.CookieManager;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class AccountVerificationController extends BaseController { public class AccountVerificationController extends BaseController {

View File

@ -39,7 +39,12 @@ import android.view.LayoutInflater;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.*; import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
@ -51,23 +56,28 @@ import com.bluelinelabs.logansquare.LoganSquare;
import com.facebook.drawee.backends.pipeline.Fresco; import com.facebook.drawee.backends.pipeline.Fresco;
import com.facebook.drawee.interfaces.DraweeController; import com.facebook.drawee.interfaces.DraweeController;
import com.facebook.drawee.view.SimpleDraweeView; import com.facebook.drawee.view.SimpleDraweeView;
import com.nextcloud.talk.models.ExternalSignalingServer;
import com.nextcloud.talk.models.json.capabilities.CapabilitiesOverall;
import com.nextcloud.talk.models.json.conversations.Conversation;
import com.nextcloud.talk.models.json.conversations.RoomOverall;
import com.nextcloud.talk.models.json.conversations.RoomsOverall;
import com.nextcloud.talk.models.json.generic.GenericOverall;
import com.nextcloud.talk.models.json.participants.Participant;
import com.nextcloud.talk.models.json.participants.ParticipantsOverall;
import com.nextcloud.talk.models.json.signaling.*;
import com.nextcloud.talk.models.json.signaling.settings.IceServer;
import com.nextcloud.talk.models.json.signaling.settings.SignalingSettingsOverall;
import com.nextcloud.talk.R; import com.nextcloud.talk.R;
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.events.*; import com.nextcloud.talk.events.ConfigurationChangeEvent;
import com.nextcloud.data.models.ExternalSignalingServer; import com.nextcloud.talk.events.MediaStreamEvent;
import com.nextcloud.talk.events.NetworkEvent;
import com.nextcloud.talk.events.PeerConnectionEvent;
import com.nextcloud.talk.events.SessionDescriptionSendEvent;
import com.nextcloud.talk.events.WebSocketCommunicationEvent;
import com.nextcloud.talk.models.database.UserEntity; import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.data.models.json.capabilities.CapabilitiesOverall;
import com.nextcloud.data.models.json.conversations.RoomOverall;
import com.nextcloud.data.models.json.generic.GenericOverall;
import com.nextcloud.data.models.json.participants.Participant;
import com.nextcloud.data.models.json.participants.ParticipantsOverall;
import com.nextcloud.data.models.json.conversations.Conversation;
import com.nextcloud.data.models.json.conversations.RoomsOverall;
import com.nextcloud.data.models.json.signaling.*;
import com.nextcloud.data.models.json.signaling.settings.IceServer;
import com.nextcloud.data.models.json.signaling.settings.SignalingSettingsOverall;
import com.nextcloud.talk.utils.ApiUtils; import com.nextcloud.talk.utils.ApiUtils;
import com.nextcloud.talk.utils.DisplayUtils; import com.nextcloud.talk.utils.DisplayUtils;
import com.nextcloud.talk.utils.NotificationUtils; import com.nextcloud.talk.utils.NotificationUtils;
@ -77,13 +87,27 @@ import com.nextcloud.talk.utils.database.user.UserUtils;
import com.nextcloud.talk.utils.power.PowerManagerUtils; import com.nextcloud.talk.utils.power.PowerManagerUtils;
import com.nextcloud.talk.utils.preferences.AppPreferences; import com.nextcloud.talk.utils.preferences.AppPreferences;
import com.nextcloud.talk.utils.singletons.ApplicationWideCurrentRoomHolder; import com.nextcloud.talk.utils.singletons.ApplicationWideCurrentRoomHolder;
import com.nextcloud.talk.webrtc.*; import com.nextcloud.talk.webrtc.MagicAudioManager;
import com.nextcloud.talk.webrtc.MagicPeerConnectionWrapper;
import com.nextcloud.talk.webrtc.MagicWebRTCUtils;
import com.nextcloud.talk.webrtc.MagicWebSocketInstance;
import com.nextcloud.talk.webrtc.WebSocketConnectionHelper;
import com.wooplr.spotlight.SpotlightView; import com.wooplr.spotlight.SpotlightView;
import io.reactivex.Observable; import io.reactivex.Observable;
import io.reactivex.Observer; import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import javax.inject.Inject;
import me.zhanghai.android.effortlesspermissions.AfterPermissionDenied; import me.zhanghai.android.effortlesspermissions.AfterPermissionDenied;
import me.zhanghai.android.effortlesspermissions.EffortlessPermissions; import me.zhanghai.android.effortlesspermissions.EffortlessPermissions;
import me.zhanghai.android.effortlesspermissions.OpenAppDetailsDialogFragment; import me.zhanghai.android.effortlesspermissions.OpenAppDetailsDialogFragment;
@ -93,14 +117,27 @@ import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode; import org.greenrobot.eventbus.ThreadMode;
import org.parceler.Parcel; import org.parceler.Parcel;
import org.webrtc.*; import org.webrtc.AudioSource;
import org.webrtc.AudioTrack;
import org.webrtc.Camera1Enumerator;
import org.webrtc.Camera2Enumerator;
import org.webrtc.CameraEnumerator;
import org.webrtc.CameraVideoCapturer;
import org.webrtc.EglBase;
import org.webrtc.IceCandidate;
import org.webrtc.Logging;
import org.webrtc.MediaConstraints;
import org.webrtc.MediaStream;
import org.webrtc.PeerConnection;
import org.webrtc.PeerConnectionFactory;
import org.webrtc.RendererCommon;
import org.webrtc.SessionDescription;
import org.webrtc.SurfaceViewRenderer;
import org.webrtc.VideoCapturer;
import org.webrtc.VideoSource;
import org.webrtc.VideoTrack;
import pub.devrel.easypermissions.AfterPermissionGranted; import pub.devrel.easypermissions.AfterPermissionGranted;
import javax.inject.Inject;
import java.io.IOException;
import java.util.*;
import java.util.concurrent.TimeUnit;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class CallController extends BaseController { public class CallController extends BaseController {

View File

@ -29,7 +29,11 @@ import android.graphics.drawable.ColorDrawable;
import android.media.AudioAttributes; import android.media.AudioAttributes;
import android.media.MediaPlayer; import android.media.MediaPlayer;
import android.net.Uri; import android.net.Uri;
import android.os.*; import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.VibrationEffect;
import android.os.Vibrator;
import android.renderscript.RenderScript; import android.renderscript.RenderScript;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
@ -57,17 +61,17 @@ import com.facebook.imagepipeline.datasource.BaseBitmapDataSubscriber;
import com.facebook.imagepipeline.image.CloseableImage; import com.facebook.imagepipeline.image.CloseableImage;
import com.facebook.imagepipeline.postprocessors.BlurPostProcessor; import com.facebook.imagepipeline.postprocessors.BlurPostProcessor;
import com.facebook.imagepipeline.request.ImageRequest; import com.facebook.imagepipeline.request.ImageRequest;
import com.nextcloud.talk.models.RingtoneSettings;
import com.nextcloud.talk.models.json.conversations.Conversation;
import com.nextcloud.talk.models.json.conversations.RoomsOverall;
import com.nextcloud.talk.models.json.participants.Participant;
import com.nextcloud.talk.models.json.participants.ParticipantsOverall;
import com.nextcloud.talk.R; import com.nextcloud.talk.R;
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.events.ConfigurationChangeEvent; import com.nextcloud.talk.events.ConfigurationChangeEvent;
import com.nextcloud.data.models.RingtoneSettings;
import com.nextcloud.talk.models.database.UserEntity; import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.data.models.json.participants.Participant;
import com.nextcloud.data.models.json.participants.ParticipantsOverall;
import com.nextcloud.data.models.json.conversations.Conversation;
import com.nextcloud.data.models.json.conversations.RoomsOverall;
import com.nextcloud.talk.utils.ApiUtils; import com.nextcloud.talk.utils.ApiUtils;
import com.nextcloud.talk.utils.DisplayUtils; import com.nextcloud.talk.utils.DisplayUtils;
import com.nextcloud.talk.utils.DoNotDisturbUtils; import com.nextcloud.talk.utils.DoNotDisturbUtils;
@ -75,11 +79,14 @@ import com.nextcloud.talk.utils.bundle.BundleKeys;
import com.nextcloud.talk.utils.preferences.AppPreferences; import com.nextcloud.talk.utils.preferences.AppPreferences;
import com.nextcloud.talk.utils.singletons.AvatarStatusCodeHolder; import com.nextcloud.talk.utils.singletons.AvatarStatusCodeHolder;
import com.uber.autodispose.AutoDispose; import com.uber.autodispose.AutoDispose;
import io.reactivex.Observer; import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import java.io.IOException;
import java.util.List;
import javax.annotation.Nullable;
import javax.inject.Inject;
import okhttp3.Cache; import okhttp3.Cache;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.Subscribe;
@ -87,11 +94,6 @@ import org.greenrobot.eventbus.ThreadMode;
import org.michaelevans.colorart.library.ColorArt; import org.michaelevans.colorart.library.ColorArt;
import org.parceler.Parcels; import org.parceler.Parcels;
import javax.annotation.Nullable;
import javax.inject.Inject;
import java.io.IOException;
import java.util.List;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class CallNotificationController extends BaseController { public class CallNotificationController extends BaseController {

View File

@ -35,8 +35,17 @@ import android.text.InputFilter
import android.text.TextUtils import android.text.TextUtils
import android.text.TextWatcher import android.text.TextWatcher
import android.util.Log import android.util.Log
import android.view.* import android.view.LayoutInflater
import android.widget.* import android.view.Menu
import android.view.MenuInflater
import android.view.MenuItem
import android.view.View
import android.view.ViewGroup
import android.widget.AbsListView
import android.widget.ImageButton
import android.widget.ProgressBar
import android.widget.RelativeLayout
import android.widget.TextView
import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory
import androidx.emoji.text.EmojiCompat import androidx.emoji.text.EmojiCompat
import androidx.emoji.widget.EmojiEditText import androidx.emoji.widget.EmojiEditText
@ -54,9 +63,18 @@ import com.facebook.datasource.DataSource
import com.facebook.drawee.backends.pipeline.Fresco import com.facebook.drawee.backends.pipeline.Fresco
import com.facebook.imagepipeline.datasource.BaseBitmapDataSubscriber import com.facebook.imagepipeline.datasource.BaseBitmapDataSubscriber
import com.facebook.imagepipeline.image.CloseableImage import com.facebook.imagepipeline.image.CloseableImage
import com.nextcloud.talk.models.json.conversations.Conversation
import com.nextcloud.talk.models.json.conversations.RoomOverall
import com.nextcloud.talk.models.json.conversations.RoomsOverall
import com.nextcloud.talk.models.json.generic.GenericOverall
import com.nextcloud.talk.models.json.mention.Mention
import com.nextcloud.talk.R import com.nextcloud.talk.R
import com.nextcloud.talk.activities.MagicCallActivity import com.nextcloud.talk.activities.MagicCallActivity
import com.nextcloud.talk.adapters.messages.* import com.nextcloud.talk.adapters.messages.MagicIncomingTextMessageViewHolder
import com.nextcloud.talk.adapters.messages.MagicOutcomingTextMessageViewHolder
import com.nextcloud.talk.adapters.messages.MagicPreviewMessageViewHolder
import com.nextcloud.talk.adapters.messages.MagicSystemMessageViewHolder
import com.nextcloud.talk.adapters.messages.MagicUnreadNoticeMessageViewHolder
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.callbacks.MentionAutocompleteCallback import com.nextcloud.talk.callbacks.MentionAutocompleteCallback
@ -67,13 +85,14 @@ import com.nextcloud.talk.events.WebSocketCommunicationEvent
import com.nextcloud.talk.models.database.UserEntity import com.nextcloud.talk.models.database.UserEntity
import com.nextcloud.talk.models.json.chat.ChatMessage import com.nextcloud.talk.models.json.chat.ChatMessage
import com.nextcloud.talk.models.json.chat.ChatOverall import com.nextcloud.talk.models.json.chat.ChatOverall
import com.nextcloud.data.models.json.conversations.Conversation
import com.nextcloud.data.models.json.conversations.RoomOverall
import com.nextcloud.data.models.json.conversations.RoomsOverall
import com.nextcloud.data.models.json.generic.GenericOverall
import com.nextcloud.data.models.json.mention.Mention
import com.nextcloud.talk.presenters.MentionAutocompletePresenter import com.nextcloud.talk.presenters.MentionAutocompletePresenter
import com.nextcloud.talk.utils.* import com.nextcloud.talk.utils.ApiUtils
import com.nextcloud.talk.utils.ConductorRemapping
import com.nextcloud.talk.utils.DateUtils
import com.nextcloud.talk.utils.DisplayUtils
import com.nextcloud.talk.utils.KeyboardUtils
import com.nextcloud.talk.utils.MagicCharPolicy
import com.nextcloud.talk.utils.NotificationUtils
import com.nextcloud.talk.utils.bundle.BundleKeys import com.nextcloud.talk.utils.bundle.BundleKeys
import com.nextcloud.talk.utils.database.user.UserUtils import com.nextcloud.talk.utils.database.user.UserUtils
import com.nextcloud.talk.utils.preferences.AppPreferences import com.nextcloud.talk.utils.preferences.AppPreferences
@ -102,7 +121,9 @@ import org.greenrobot.eventbus.ThreadMode
import org.parceler.Parcels import org.parceler.Parcels
import retrofit2.HttpException import retrofit2.HttpException
import retrofit2.Response import retrofit2.Response
import java.util.* import java.util.Date
import java.util.HashMap
import java.util.Objects
import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit
import javax.inject.Inject import javax.inject.Inject
@ -202,7 +223,7 @@ class ChatController(args: Bundle) : BaseController(), MessagesListAdapter
if (conversationUser?.userId == "?") { if (conversationUser?.userId == "?") {
credentials = null credentials = null
} else { } else {
credentials = ApiUtils.getCredentials(conversationUser.username, conversationUser.token) credentials = ApiUtils.getCredentials(conversationUser?.username, conversationUser?.token)
} }
if (args.containsKey(BundleKeys.KEY_FROM_NOTIFICATION_START_CALL)) { if (args.containsKey(BundleKeys.KEY_FROM_NOTIFICATION_START_CALL)) {
@ -765,7 +786,6 @@ class ChatController(args: Bundle) : BaseController(), MessagesListAdapter
roomToken)) roomToken))
?.subscribeOn(Schedulers.io()) ?.subscribeOn(Schedulers.io())
?.observeOn(AndroidSchedulers.mainThread()) ?.observeOn(AndroidSchedulers.mainThread())
?.`as`(AutoDispose.autoDisposable(scopeProvider))
?.subscribe(object : Observer<GenericOverall> { ?.subscribe(object : Observer<GenericOverall> {
override fun onSubscribe(d: Disposable) { override fun onSubscribe(d: Disposable) {
} }
@ -1238,7 +1258,7 @@ class ChatController(args: Bundle) : BaseController(), MessagesListAdapter
val clipboardManager = activity?.getSystemService(Context.CLIPBOARD_SERVICE) as android.content.ClipboardManager val clipboardManager = activity?.getSystemService(Context.CLIPBOARD_SERVICE) as android.content.ClipboardManager
val clipData = android.content.ClipData.newPlainText( val clipData = android.content.ClipData.newPlainText(
resources?.getString(R.string.nc_app_name), message.text) resources?.getString(R.string.nc_app_name), message.text)
clipboardManager.primaryClip = clipData clipboardManager.setPrimaryClip(clipData)
} }
} }

View File

@ -38,55 +38,6 @@ import android.view.ViewGroup;
import android.view.inputmethod.EditorInfo; import android.view.inputmethod.EditorInfo;
import android.widget.ProgressBar; import android.widget.ProgressBar;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import com.bluelinelabs.conductor.RouterTransaction;
import com.bluelinelabs.conductor.changehandler.VerticalChangeHandler;
import com.bluelinelabs.logansquare.LoganSquare;
import com.kennyc.bottomsheet.BottomSheet;
import com.nextcloud.talk.R;
import com.nextcloud.talk.activities.MagicCallActivity;
import com.nextcloud.talk.adapters.items.GenericTextHeaderItem;
import com.nextcloud.talk.adapters.items.ProgressItem;
import com.nextcloud.talk.adapters.items.UserItem;
import com.nextcloud.talk.api.NcApi;
import com.nextcloud.talk.application.NextcloudTalkApplication;
import com.nextcloud.talk.controllers.base.BaseController;
import com.nextcloud.talk.controllers.bottomsheet.EntryMenuController;
import com.nextcloud.talk.controllers.bottomsheet.OperationsMenuController;
import com.nextcloud.talk.events.BottomSheetLockEvent;
import com.nextcloud.talk.jobs.AddParticipantsToConversation;
import com.nextcloud.data.models.RetrofitBucket;
import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.data.models.json.autocomplete.AutocompleteOverall;
import com.nextcloud.data.models.json.autocomplete.AutocompleteUser;
import com.nextcloud.data.models.json.conversations.Conversation;
import com.nextcloud.data.models.json.conversations.RoomOverall;
import com.nextcloud.data.models.json.participants.Participant;
import com.nextcloud.data.models.json.sharees.Sharee;
import com.nextcloud.data.models.json.sharees.ShareesOverall;
import com.nextcloud.talk.utils.ApiUtils;
import com.nextcloud.talk.utils.ConductorRemapping;
import com.nextcloud.talk.utils.KeyboardUtils;
import com.nextcloud.talk.utils.bundle.BundleKeys;
import com.nextcloud.talk.utils.database.user.UserUtils;
import com.nextcloud.talk.utils.preferences.AppPreferences;
import com.uber.autodispose.AutoDispose;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import org.parceler.Parcels;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.inject.Inject;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.appcompat.widget.SearchView; import androidx.appcompat.widget.SearchView;
@ -101,6 +52,38 @@ import autodagger.AutoInjector;
import butterknife.BindView; import butterknife.BindView;
import butterknife.OnClick; import butterknife.OnClick;
import butterknife.Optional; import butterknife.Optional;
import com.bluelinelabs.conductor.RouterTransaction;
import com.bluelinelabs.conductor.changehandler.VerticalChangeHandler;
import com.bluelinelabs.logansquare.LoganSquare;
import com.kennyc.bottomsheet.BottomSheet;
import com.nextcloud.talk.models.RetrofitBucket;
import com.nextcloud.talk.models.json.autocomplete.AutocompleteOverall;
import com.nextcloud.talk.models.json.autocomplete.AutocompleteUser;
import com.nextcloud.talk.models.json.conversations.Conversation;
import com.nextcloud.talk.models.json.conversations.RoomOverall;
import com.nextcloud.talk.models.json.participants.Participant;
import com.nextcloud.talk.models.json.sharees.Sharee;
import com.nextcloud.talk.models.json.sharees.ShareesOverall;
import com.nextcloud.talk.R;
import com.nextcloud.talk.activities.MagicCallActivity;
import com.nextcloud.talk.adapters.items.GenericTextHeaderItem;
import com.nextcloud.talk.adapters.items.ProgressItem;
import com.nextcloud.talk.adapters.items.UserItem;
import com.nextcloud.talk.api.NcApi;
import com.nextcloud.talk.application.NextcloudTalkApplication;
import com.nextcloud.talk.controllers.base.BaseController;
import com.nextcloud.talk.controllers.bottomsheet.EntryMenuController;
import com.nextcloud.talk.controllers.bottomsheet.OperationsMenuController;
import com.nextcloud.talk.events.BottomSheetLockEvent;
import com.nextcloud.talk.jobs.AddParticipantsToConversation;
import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.talk.utils.ApiUtils;
import com.nextcloud.talk.utils.ConductorRemapping;
import com.nextcloud.talk.utils.KeyboardUtils;
import com.nextcloud.talk.utils.bundle.BundleKeys;
import com.nextcloud.talk.utils.database.user.UserUtils;
import com.nextcloud.talk.utils.preferences.AppPreferences;
import com.uber.autodispose.AutoDispose;
import eu.davidea.fastscroller.FastScroller; import eu.davidea.fastscroller.FastScroller;
import eu.davidea.flexibleadapter.FlexibleAdapter; import eu.davidea.flexibleadapter.FlexibleAdapter;
import eu.davidea.flexibleadapter.SelectableAdapter; import eu.davidea.flexibleadapter.SelectableAdapter;
@ -111,7 +94,19 @@ import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.inject.Inject;
import okhttp3.ResponseBody; import okhttp3.ResponseBody;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import org.parceler.Parcels;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class ContactsController extends BaseController implements SearchView.OnQueryTextListener, public class ContactsController extends BaseController implements SearchView.OnQueryTextListener,

View File

@ -48,6 +48,12 @@ import com.bluelinelabs.conductor.RouterTransaction
import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler
import com.facebook.drawee.backends.pipeline.Fresco import com.facebook.drawee.backends.pipeline.Fresco
import com.facebook.drawee.view.SimpleDraweeView import com.facebook.drawee.view.SimpleDraweeView
import com.nextcloud.talk.models.json.conversations.Conversation
import com.nextcloud.talk.models.json.conversations.RoomOverall
import com.nextcloud.talk.models.json.converters.EnumNotificationLevelConverter
import com.nextcloud.talk.models.json.generic.GenericOverall
import com.nextcloud.talk.models.json.participants.Participant
import com.nextcloud.talk.models.json.participants.ParticipantsOverall
import com.nextcloud.talk.R import com.nextcloud.talk.R
import com.nextcloud.talk.adapters.items.UserItem import com.nextcloud.talk.adapters.items.UserItem
import com.nextcloud.talk.api.NcApi import com.nextcloud.talk.api.NcApi
@ -59,12 +65,6 @@ import com.nextcloud.talk.events.EventStatus
import com.nextcloud.talk.jobs.DeleteConversationWorker import com.nextcloud.talk.jobs.DeleteConversationWorker
import com.nextcloud.talk.jobs.LeaveConversationWorker import com.nextcloud.talk.jobs.LeaveConversationWorker
import com.nextcloud.talk.models.database.UserEntity import com.nextcloud.talk.models.database.UserEntity
import com.nextcloud.data.models.json.conversations.Conversation
import com.nextcloud.data.models.json.conversations.RoomOverall
import com.nextcloud.data.models.json.converters.EnumNotificationLevelConverter
import com.nextcloud.data.models.json.generic.GenericOverall
import com.nextcloud.data.models.json.participants.Participant
import com.nextcloud.data.models.json.participants.ParticipantsOverall
import com.nextcloud.talk.utils.ApiUtils import com.nextcloud.talk.utils.ApiUtils
import com.nextcloud.talk.utils.DateUtils import com.nextcloud.talk.utils.DateUtils
import com.nextcloud.talk.utils.DisplayUtils import com.nextcloud.talk.utils.DisplayUtils
@ -73,7 +73,11 @@ import com.nextcloud.talk.utils.preferences.preferencestorage.DatabaseStorageMod
import com.nextcloud.talk.utils.ui.MaterialPreferenceCategoryWithRightLink import com.nextcloud.talk.utils.ui.MaterialPreferenceCategoryWithRightLink
import com.yarolegovich.lovelydialog.LovelySaveStateHandler import com.yarolegovich.lovelydialog.LovelySaveStateHandler
import com.yarolegovich.lovelydialog.LovelyStandardDialog import com.yarolegovich.lovelydialog.LovelyStandardDialog
import com.yarolegovich.mp.* import com.yarolegovich.mp.MaterialChoicePreference
import com.yarolegovich.mp.MaterialPreferenceCategory
import com.yarolegovich.mp.MaterialPreferenceScreen
import com.yarolegovich.mp.MaterialStandardPreference
import com.yarolegovich.mp.MaterialSwitchPreference
import eu.davidea.flexibleadapter.FlexibleAdapter import eu.davidea.flexibleadapter.FlexibleAdapter
import eu.davidea.flexibleadapter.common.SmoothScrollLinearLayoutManager import eu.davidea.flexibleadapter.common.SmoothScrollLinearLayoutManager
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem import eu.davidea.flexibleadapter.items.AbstractFlexibleItem
@ -84,10 +88,10 @@ import io.reactivex.schedulers.Schedulers
import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode import org.greenrobot.eventbus.ThreadMode
import java.util.* import java.util.ArrayList
import java.util.Calendar
import javax.inject.Inject import javax.inject.Inject
@AutoInjector(NextcloudTalkApplication::class) @AutoInjector(NextcloudTalkApplication::class)
class ConversationInfoController(args: Bundle) : BaseController(), FlexibleAdapter.OnItemClickListener { class ConversationInfoController(args: Bundle) : BaseController(), FlexibleAdapter.OnItemClickListener {

View File

@ -38,7 +38,6 @@ import android.view.ViewGroup;
import android.view.inputmethod.EditorInfo; import android.view.inputmethod.EditorInfo;
import android.widget.ProgressBar; import android.widget.ProgressBar;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.appcompat.widget.SearchView; import androidx.appcompat.widget.SearchView;
import androidx.core.graphics.drawable.RoundedBitmapDrawable; import androidx.core.graphics.drawable.RoundedBitmapDrawable;
@ -49,7 +48,8 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import androidx.work.Data; import androidx.work.Data;
import androidx.work.OneTimeWorkRequest; import androidx.work.OneTimeWorkRequest;
import androidx.work.WorkManager; import androidx.work.WorkManager;
import autodagger.AutoInjector;
import butterknife.BindView;
import com.bluelinelabs.conductor.RouterTransaction; import com.bluelinelabs.conductor.RouterTransaction;
import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler; import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler;
import com.bluelinelabs.conductor.changehandler.TransitionChangeHandlerCompat; import com.bluelinelabs.conductor.changehandler.TransitionChangeHandlerCompat;
@ -65,6 +65,8 @@ import com.facebook.imagepipeline.image.CloseableImage;
import com.facebook.imagepipeline.request.ImageRequest; import com.facebook.imagepipeline.request.ImageRequest;
import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.kennyc.bottomsheet.BottomSheet; import com.kennyc.bottomsheet.BottomSheet;
import com.nextcloud.talk.models.json.conversations.Conversation;
import com.nextcloud.talk.models.json.participants.Participant;
import com.nextcloud.talk.R; import com.nextcloud.talk.R;
import com.nextcloud.talk.activities.MagicCallActivity; import com.nextcloud.talk.activities.MagicCallActivity;
import com.nextcloud.talk.adapters.items.CallItem; import com.nextcloud.talk.adapters.items.CallItem;
@ -80,8 +82,6 @@ import com.nextcloud.talk.events.MoreMenuClickEvent;
import com.nextcloud.talk.interfaces.ConversationMenuInterface; import com.nextcloud.talk.interfaces.ConversationMenuInterface;
import com.nextcloud.talk.jobs.DeleteConversationWorker; import com.nextcloud.talk.jobs.DeleteConversationWorker;
import com.nextcloud.talk.models.database.UserEntity; import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.data.models.json.conversations.Conversation;
import com.nextcloud.data.models.json.participants.Participant;
import com.nextcloud.talk.utils.ApiUtils; import com.nextcloud.talk.utils.ApiUtils;
import com.nextcloud.talk.utils.ConductorRemapping; import com.nextcloud.talk.utils.ConductorRemapping;
import com.nextcloud.talk.utils.DisplayUtils; import com.nextcloud.talk.utils.DisplayUtils;
@ -93,27 +93,21 @@ import com.nextcloud.talk.utils.preferences.AppPreferences;
import com.uber.autodispose.AutoDispose; import com.uber.autodispose.AutoDispose;
import com.yarolegovich.lovelydialog.LovelySaveStateHandler; import com.yarolegovich.lovelydialog.LovelySaveStateHandler;
import com.yarolegovich.lovelydialog.LovelyStandardDialog; import com.yarolegovich.lovelydialog.LovelyStandardDialog;
import org.apache.commons.lang3.builder.CompareToBuilder;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import org.parceler.Parcels;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import javax.inject.Inject;
import autodagger.AutoInjector;
import butterknife.BindView;
import eu.davidea.fastscroller.FastScroller; import eu.davidea.fastscroller.FastScroller;
import eu.davidea.flexibleadapter.FlexibleAdapter; import eu.davidea.flexibleadapter.FlexibleAdapter;
import eu.davidea.flexibleadapter.common.SmoothScrollLinearLayoutManager; import eu.davidea.flexibleadapter.common.SmoothScrollLinearLayoutManager;
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem; import eu.davidea.flexibleadapter.items.AbstractFlexibleItem;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import javax.inject.Inject;
import org.apache.commons.lang3.builder.CompareToBuilder;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import org.parceler.Parcels;
import retrofit2.HttpException; import retrofit2.HttpException;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
@ -600,13 +594,12 @@ public class ConversationsListController extends BaseController implements Searc
conversation = ((CallItem) clickedItem).getModel(); conversation = ((CallItem) clickedItem).getModel();
} }
Bundle bundle = new Bundle(); Bundle bundle = new Bundle();
bundle.putParcelable(BundleKeys.INSTANCE.getKEY_USER_ENTITY(), currentUser); bundle.putParcelable(BundleKeys.INSTANCE.getKEY_USER_ENTITY(), currentUser);
bundle.putString(BundleKeys.INSTANCE.getKEY_ROOM_TOKEN(), conversation.getToken()); bundle.putString(BundleKeys.INSTANCE.getKEY_ROOM_TOKEN(), conversation.getToken());
bundle.putString(BundleKeys.INSTANCE.getKEY_ROOM_ID(), conversation.getRoomId()); bundle.putString(BundleKeys.INSTANCE.getKEY_ROOM_ID(), conversation.getRoomId());
if (conversation.getHasPassword() && (conversation.getParticipantType().equals(Participant.ParticipantType.GUEST) || if (conversation.hasPassword && (conversation.getParticipantType().equals(Participant.ParticipantType.GUEST) ||
conversation.getParticipantType().equals(Participant.ParticipantType.USER_FOLLOWING_LINK))) { conversation.getParticipantType().equals(Participant.ParticipantType.USER_FOLLOWING_LINK))) {
bundle.putInt(BundleKeys.INSTANCE.getKEY_OPERATION_CODE(), 99); bundle.putInt(BundleKeys.INSTANCE.getKEY_OPERATION_CODE(), 99);
prepareAndShowBottomSheetWithBundle(bundle, false); prepareAndShowBottomSheetWithBundle(bundle, false);

View File

@ -42,10 +42,9 @@ import com.nextcloud.talk.application.NextcloudTalkApplication;
import com.nextcloud.talk.controllers.base.BaseController; import com.nextcloud.talk.controllers.base.BaseController;
import com.nextcloud.talk.utils.SecurityUtils; import com.nextcloud.talk.utils.SecurityUtils;
import com.nextcloud.talk.utils.preferences.AppPreferences; import com.nextcloud.talk.utils.preferences.AppPreferences;
import javax.inject.Inject;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import javax.inject.Inject;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class LockedController extends BaseController { public class LockedController extends BaseController {

View File

@ -40,22 +40,21 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import autodagger.AutoInjector; import autodagger.AutoInjector;
import butterknife.BindView; import butterknife.BindView;
import com.bluelinelabs.logansquare.LoganSquare; import com.bluelinelabs.logansquare.LoganSquare;
import com.nextcloud.talk.models.RingtoneSettings;
import com.nextcloud.talk.R; import com.nextcloud.talk.R;
import com.nextcloud.talk.adapters.items.NotificationSoundItem; import com.nextcloud.talk.adapters.items.NotificationSoundItem;
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.data.models.RingtoneSettings;
import com.nextcloud.talk.utils.bundle.BundleKeys; import com.nextcloud.talk.utils.bundle.BundleKeys;
import com.nextcloud.talk.utils.preferences.AppPreferences; import com.nextcloud.talk.utils.preferences.AppPreferences;
import eu.davidea.flexibleadapter.FlexibleAdapter; import eu.davidea.flexibleadapter.FlexibleAdapter;
import eu.davidea.flexibleadapter.SelectableAdapter; import eu.davidea.flexibleadapter.SelectableAdapter;
import eu.davidea.flexibleadapter.common.SmoothScrollLinearLayoutManager; import eu.davidea.flexibleadapter.common.SmoothScrollLinearLayoutManager;
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem; import eu.davidea.flexibleadapter.items.AbstractFlexibleItem;
import javax.inject.Inject;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.inject.Inject;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class RingtoneSelectionController extends BaseController implements FlexibleAdapter.OnItemClickListener { public class RingtoneSelectionController extends BaseController implements FlexibleAdapter.OnItemClickListener {

View File

@ -35,9 +35,10 @@ import android.view.ViewGroup;
import android.view.inputmethod.EditorInfo; import android.view.inputmethod.EditorInfo;
import android.widget.ProgressBar; import android.widget.ProgressBar;
import android.widget.TextView; import android.widget.TextView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import autodagger.AutoInjector;
import butterknife.BindView;
import butterknife.OnClick;
import com.bluelinelabs.conductor.RouterTransaction; import com.bluelinelabs.conductor.RouterTransaction;
import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler; import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler;
import com.nextcloud.talk.R; import com.nextcloud.talk.R;
@ -51,16 +52,10 @@ import com.nextcloud.talk.utils.database.user.UserUtils;
import com.nextcloud.talk.utils.preferences.AppPreferences; import com.nextcloud.talk.utils.preferences.AppPreferences;
import com.nextcloud.talk.utils.singletons.ApplicationWideMessageHolder; import com.nextcloud.talk.utils.singletons.ApplicationWideMessageHolder;
import com.uber.autodispose.AutoDispose; import com.uber.autodispose.AutoDispose;
import java.security.cert.CertificateException;
import javax.inject.Inject;
import autodagger.AutoInjector;
import butterknife.BindView;
import butterknife.OnClick;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import java.security.cert.CertificateException;
import javax.inject.Inject;
import studio.carbonylgroup.textfieldboxes.ExtendedEditText; import studio.carbonylgroup.textfieldboxes.ExtendedEditText;
import studio.carbonylgroup.textfieldboxes.TextFieldBoxes; import studio.carbonylgroup.textfieldboxes.TextFieldBoxes;

View File

@ -52,15 +52,19 @@ import com.bluelinelabs.logansquare.LoganSquare;
import com.facebook.drawee.backends.pipeline.Fresco; import com.facebook.drawee.backends.pipeline.Fresco;
import com.facebook.drawee.interfaces.DraweeController; import com.facebook.drawee.interfaces.DraweeController;
import com.facebook.drawee.view.SimpleDraweeView; import com.facebook.drawee.view.SimpleDraweeView;
import com.nextcloud.talk.models.RingtoneSettings;
import com.nextcloud.talk.BuildConfig; import com.nextcloud.talk.BuildConfig;
import com.nextcloud.talk.R; import com.nextcloud.talk.R;
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.jobs.AccountRemovalWorker; import com.nextcloud.talk.jobs.AccountRemovalWorker;
import com.nextcloud.data.models.RingtoneSettings;
import com.nextcloud.talk.models.database.UserEntity; import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.talk.utils.*; import com.nextcloud.talk.utils.ApiUtils;
import com.nextcloud.talk.utils.DisplayUtils;
import com.nextcloud.talk.utils.DoNotDisturbUtils;
import com.nextcloud.talk.utils.LoggingUtils;
import com.nextcloud.talk.utils.SecurityUtils;
import com.nextcloud.talk.utils.bundle.BundleKeys; import com.nextcloud.talk.utils.bundle.BundleKeys;
import com.nextcloud.talk.utils.database.user.UserUtils; import com.nextcloud.talk.utils.database.user.UserUtils;
import com.nextcloud.talk.utils.preferences.AppPreferences; import com.nextcloud.talk.utils.preferences.AppPreferences;
@ -69,16 +73,24 @@ import com.nextcloud.talk.utils.singletons.ApplicationWideMessageHolder;
import com.uber.autodispose.AutoDispose; import com.uber.autodispose.AutoDispose;
import com.yarolegovich.lovelydialog.LovelySaveStateHandler; import com.yarolegovich.lovelydialog.LovelySaveStateHandler;
import com.yarolegovich.lovelydialog.LovelyStandardDialog; import com.yarolegovich.lovelydialog.LovelyStandardDialog;
import com.yarolegovich.mp.*; import com.yarolegovich.mp.MaterialChoicePreference;
import com.yarolegovich.mp.MaterialEditTextPreference;
import com.yarolegovich.mp.MaterialPreferenceCategory;
import com.yarolegovich.mp.MaterialPreferenceScreen;
import com.yarolegovich.mp.MaterialStandardPreference;
import com.yarolegovich.mp.MaterialSwitchPreference;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import net.orange_box.storebox.listeners.OnPreferenceValueChangedListener;
import javax.inject.Inject;
import java.io.IOException; import java.io.IOException;
import java.net.URI; import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import java.util.*; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
import java.util.Objects;
import javax.inject.Inject;
import net.orange_box.storebox.listeners.OnPreferenceValueChangedListener;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class SettingsController extends BaseController { public class SettingsController extends BaseController {

View File

@ -37,28 +37,26 @@ import autodagger.AutoInjector;
import butterknife.BindView; import butterknife.BindView;
import com.bluelinelabs.conductor.RouterTransaction; import com.bluelinelabs.conductor.RouterTransaction;
import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler; import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler;
import com.nextcloud.talk.models.ImportAccount;
import com.nextcloud.talk.models.json.participants.Participant;
import com.nextcloud.talk.R; import com.nextcloud.talk.R;
import com.nextcloud.talk.adapters.items.AdvancedUserItem; import com.nextcloud.talk.adapters.items.AdvancedUserItem;
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.data.models.ImportAccount;
import com.nextcloud.talk.models.database.UserEntity; import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.data.models.json.participants.Participant;
import com.nextcloud.talk.utils.AccountUtils; import com.nextcloud.talk.utils.AccountUtils;
import com.nextcloud.talk.utils.bundle.BundleKeys; import com.nextcloud.talk.utils.bundle.BundleKeys;
import com.nextcloud.talk.utils.database.user.UserUtils; import com.nextcloud.talk.utils.database.user.UserUtils;
import com.uber.autodispose.AutoDispose; import com.uber.autodispose.AutoDispose;
import eu.davidea.flexibleadapter.FlexibleAdapter; import eu.davidea.flexibleadapter.FlexibleAdapter;
import eu.davidea.flexibleadapter.common.SmoothScrollLinearLayoutManager; import eu.davidea.flexibleadapter.common.SmoothScrollLinearLayoutManager;
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem; import eu.davidea.flexibleadapter.items.AbstractFlexibleItem;
import io.reactivex.Observer; import io.reactivex.Observer;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
import javax.inject.Inject;
import java.net.CookieManager; import java.net.CookieManager;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.inject.Inject;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class SwitchAccountController extends BaseController { public class SwitchAccountController extends BaseController {

View File

@ -33,7 +33,14 @@ import android.text.TextUtils;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.webkit.*; import android.webkit.ClientCertRequest;
import android.webkit.CookieSyncManager;
import android.webkit.SslErrorHandler;
import android.webkit.WebResourceRequest;
import android.webkit.WebResourceResponse;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar; import android.widget.ProgressBar;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
@ -43,12 +50,12 @@ import autodagger.AutoInjector;
import butterknife.BindView; import butterknife.BindView;
import com.bluelinelabs.conductor.RouterTransaction; import com.bluelinelabs.conductor.RouterTransaction;
import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler; import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler;
import com.nextcloud.talk.models.LoginData;
import com.nextcloud.talk.R; import com.nextcloud.talk.R;
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.events.CertificateEvent; import com.nextcloud.talk.events.CertificateEvent;
import com.nextcloud.talk.jobs.PushRegistrationWorker; import com.nextcloud.talk.jobs.PushRegistrationWorker;
import com.nextcloud.data.models.LoginData;
import com.nextcloud.talk.models.database.UserEntity; import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.talk.utils.bundle.BundleKeys; import com.nextcloud.talk.utils.bundle.BundleKeys;
import com.nextcloud.talk.utils.database.user.UserUtils; import com.nextcloud.talk.utils.database.user.UserUtils;
@ -56,16 +63,12 @@ import com.nextcloud.talk.utils.preferences.AppPreferences;
import com.nextcloud.talk.utils.singletons.ApplicationWideMessageHolder; import com.nextcloud.talk.utils.singletons.ApplicationWideMessageHolder;
import com.nextcloud.talk.utils.ssl.MagicTrustManager; import com.nextcloud.talk.utils.ssl.MagicTrustManager;
import com.uber.autodispose.AutoDispose; import com.uber.autodispose.AutoDispose;
import de.cotech.hw.fido.WebViewFidoBridge; import de.cotech.hw.fido.WebViewFidoBridge;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import io.requery.Persistable; import io.requery.Persistable;
import io.requery.reactivex.ReactiveEntityStore; import io.requery.reactivex.ReactiveEntityStore;
import org.greenrobot.eventbus.EventBus;
import javax.inject.Inject;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.net.CookieManager; import java.net.CookieManager;
import java.net.URLDecoder; import java.net.URLDecoder;
@ -75,6 +78,8 @@ import java.security.cert.X509Certificate;
import java.util.HashMap; import java.util.HashMap;
import java.util.Locale; import java.util.Locale;
import java.util.Map; import java.util.Map;
import javax.inject.Inject;
import org.greenrobot.eventbus.EventBus;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class WebViewLoginController extends BaseController { public class WebViewLoginController extends BaseController {

View File

@ -20,7 +20,6 @@ package com.nextcloud.talk.controllers.base;
import android.content.Context; import android.content.Context;
import android.os.Build; import android.os.Build;
import android.os.Bundle;
import android.util.Log; import android.util.Log;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.View; import android.view.View;
@ -42,10 +41,9 @@ import com.nextcloud.talk.controllers.WebViewLoginController;
import com.nextcloud.talk.controllers.base.providers.ActionBarProvider; import com.nextcloud.talk.controllers.base.providers.ActionBarProvider;
import com.nextcloud.talk.utils.preferences.AppPreferences; import com.nextcloud.talk.utils.preferences.AppPreferences;
import com.uber.autodispose.lifecycle.LifecycleScopeProvider; import com.uber.autodispose.lifecycle.LifecycleScopeProvider;
import javax.inject.Inject;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.inject.Inject;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public abstract class BaseController extends ButterKnifeController { public abstract class BaseController extends ButterKnifeController {

View File

@ -49,7 +49,7 @@ import com.nextcloud.talk.events.BottomSheetLockEvent;
import com.nextcloud.talk.interfaces.ConversationMenuInterface; import com.nextcloud.talk.interfaces.ConversationMenuInterface;
import com.nextcloud.talk.jobs.LeaveConversationWorker; import com.nextcloud.talk.jobs.LeaveConversationWorker;
import com.nextcloud.talk.models.database.UserEntity; import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.data.models.json.conversations.Conversation; import com.nextcloud.talk.models.json.conversations.Conversation;
import com.nextcloud.talk.utils.DisplayUtils; import com.nextcloud.talk.utils.DisplayUtils;
import com.nextcloud.talk.utils.ShareUtils; import com.nextcloud.talk.utils.ShareUtils;
import com.nextcloud.talk.utils.bundle.BundleKeys; import com.nextcloud.talk.utils.bundle.BundleKeys;
@ -57,265 +57,291 @@ import com.nextcloud.talk.utils.database.user.UserUtils;
import eu.davidea.flexibleadapter.FlexibleAdapter; import eu.davidea.flexibleadapter.FlexibleAdapter;
import eu.davidea.flexibleadapter.common.SmoothScrollLinearLayoutManager; import eu.davidea.flexibleadapter.common.SmoothScrollLinearLayoutManager;
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem; import eu.davidea.flexibleadapter.items.AbstractFlexibleItem;
import java.util.ArrayList;
import java.util.List;
import javax.inject.Inject;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import org.parceler.Parcel; import org.parceler.Parcel;
import org.parceler.Parcels; import org.parceler.Parcels;
import javax.inject.Inject;
import java.util.ArrayList;
import java.util.List;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class CallMenuController extends BaseController implements FlexibleAdapter.OnItemClickListener { public class CallMenuController extends BaseController
@BindView(R.id.recycler_view) implements FlexibleAdapter.OnItemClickListener {
RecyclerView recyclerView; @BindView(R.id.recycler_view)
RecyclerView recyclerView;
@Inject @Inject
EventBus eventBus; EventBus eventBus;
@Inject @Inject
UserUtils userUtils; UserUtils userUtils;
private Conversation conversation; private Conversation conversation;
private List<AbstractFlexibleItem> menuItems; private List<AbstractFlexibleItem> menuItems;
private FlexibleAdapter<AbstractFlexibleItem> adapter; private FlexibleAdapter<AbstractFlexibleItem> adapter;
private MenuType menuType; private MenuType menuType;
private Intent shareIntent; private Intent shareIntent;
private UserEntity currentUser; private UserEntity currentUser;
private ConversationMenuInterface conversationMenuInterface; private ConversationMenuInterface conversationMenuInterface;
public CallMenuController(Bundle args) { public CallMenuController(Bundle args) {
super(); super();
this.conversation = Parcels.unwrap(args.getParcelable(BundleKeys.INSTANCE.getKEY_ROOM())); this.conversation = Parcels.unwrap(args.getParcelable(BundleKeys.INSTANCE.getKEY_ROOM()));
if (args.containsKey(BundleKeys.INSTANCE.getKEY_MENU_TYPE())) { if (args.containsKey(BundleKeys.INSTANCE.getKEY_MENU_TYPE())) {
this.menuType = Parcels.unwrap(args.getParcelable(BundleKeys.INSTANCE.getKEY_MENU_TYPE())); this.menuType = Parcels.unwrap(args.getParcelable(BundleKeys.INSTANCE.getKEY_MENU_TYPE()));
} }
}
public CallMenuController(Bundle args,
@Nullable ConversationMenuInterface conversationMenuInterface) {
super();
this.conversation = Parcels.unwrap(args.getParcelable(BundleKeys.INSTANCE.getKEY_ROOM()));
if (args.containsKey(BundleKeys.INSTANCE.getKEY_MENU_TYPE())) {
this.menuType = Parcels.unwrap(args.getParcelable(BundleKeys.INSTANCE.getKEY_MENU_TYPE()));
}
this.conversationMenuInterface = conversationMenuInterface;
}
@Override
protected View inflateView(@NonNull LayoutInflater inflater, @NonNull ViewGroup container) {
return inflater.inflate(R.layout.controller_call_menu, container, false);
}
@Override
protected void onViewBound(@NonNull View view) {
super.onViewBound(view);
NextcloudTalkApplication.Companion.getSharedApplication()
.getComponentApplication()
.inject(this);
prepareViews();
}
private void prepareViews() {
LinearLayoutManager layoutManager = new SmoothScrollLinearLayoutManager(getActivity());
recyclerView.setLayoutManager(layoutManager);
recyclerView.setHasFixedSize(true);
prepareMenu();
if (adapter == null) {
adapter = new FlexibleAdapter<>(menuItems, getActivity(), false);
} }
public CallMenuController(Bundle args, @Nullable ConversationMenuInterface conversationMenuInterface) { adapter.addListener(this);
super(); recyclerView.setAdapter(adapter);
this.conversation = Parcels.unwrap(args.getParcelable(BundleKeys.INSTANCE.getKEY_ROOM())); }
if (args.containsKey(BundleKeys.INSTANCE.getKEY_MENU_TYPE())) {
this.menuType = Parcels.unwrap(args.getParcelable(BundleKeys.INSTANCE.getKEY_MENU_TYPE()));
}
this.conversationMenuInterface = conversationMenuInterface;
}
@Override private void prepareIntent() {
protected View inflateView(@NonNull LayoutInflater inflater, @NonNull ViewGroup container) { shareIntent = new Intent(Intent.ACTION_SEND);
return inflater.inflate(R.layout.controller_call_menu, container, false); shareIntent.setType("text/plain");
} shareIntent.putExtra(Intent.EXTRA_SUBJECT,
String.format(getResources().getString(R.string.nc_share_subject),
getResources().getString(R.string.nc_app_name)));
}
@Override private void prepareMenu() {
protected void onViewBound(@NonNull View view) { menuItems = new ArrayList<>();
super.onViewBound(view);
NextcloudTalkApplication.Companion.getSharedApplication().getComponentApplication().inject(this);
prepareViews();
}
private void prepareViews() { if (menuType.equals(MenuType.REGULAR)) {
LinearLayoutManager layoutManager = new SmoothScrollLinearLayoutManager(getActivity()); if (!TextUtils.isEmpty(conversation.getDisplayName())) {
recyclerView.setLayoutManager(layoutManager); menuItems.add(new MenuItem(conversation.getDisplayName(), 0, null));
recyclerView.setHasFixedSize(true); } else if (!TextUtils.isEmpty(conversation.getName())) {
menuItems.add(new MenuItem(conversation.getName(), 0, null));
} else {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_configure_room), 0, null));
}
prepareMenu(); currentUser = userUtils.getCurrentUser();
if (adapter == null) {
adapter = new FlexibleAdapter<>(menuItems, getActivity(), false);
}
adapter.addListener(this); if (conversation.isFavorite()) {
recyclerView.setAdapter(adapter); menuItems.add(new MenuItem(getResources().getString(R.string.nc_remove_from_favorites), 97,
} DisplayUtils.getTintedDrawable(getResources(), R.drawable.ic_star_border_black_24dp,
R.color.grey_600)));
} else if (currentUser.hasSpreedFeatureCapability("favorites")) {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_add_to_favorites)
, 98, DisplayUtils.getTintedDrawable(getResources(), R.drawable.ic_star_black_24dp,
R.color.grey_600)));
}
private void prepareIntent() { if (conversation.isNameEditable(currentUser)) {
shareIntent = new Intent(Intent.ACTION_SEND); menuItems.add(new MenuItem(getResources().getString(R.string.nc_rename), 2,
shareIntent.setType("text/plain"); getResources().getDrawable(R.drawable
shareIntent.putExtra(Intent.EXTRA_SUBJECT, String.format(getResources().getString(R.string.nc_share_subject), .ic_pencil_grey600_24dp)));
getResources().getString(R.string.nc_app_name))); }
}
private void prepareMenu() { if (conversation.canModerate(currentUser)) {
menuItems = new ArrayList<>(); if (!conversation.isPublic()) {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_make_call_public), 3,
if (menuType.equals(MenuType.REGULAR)) { getResources().getDrawable(R.drawable
if (!TextUtils.isEmpty(conversation.getDisplayName())) { .ic_link_grey600_24px)));
menuItems.add(new MenuItem(conversation.getDisplayName(), 0, null));
} else if (!TextUtils.isEmpty(conversation.getName())) {
menuItems.add(new MenuItem(conversation.getName(), 0, null));
} else {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_configure_room), 0, null));
}
currentUser = userUtils.getCurrentUser();
if (conversation.isFavorite()) {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_remove_from_favorites), 97, DisplayUtils.getTintedDrawable(getResources(), R.drawable.ic_star_border_black_24dp, R.color.grey_600)));
} else if (currentUser.hasSpreedFeatureCapability("favorites")) {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_add_to_favorites)
, 98, DisplayUtils.getTintedDrawable(getResources(), R.drawable.ic_star_black_24dp, R.color.grey_600)));
}
if (conversation.isNameEditable(currentUser)) {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_rename), 2, getResources().getDrawable(R.drawable
.ic_pencil_grey600_24dp)));
}
if (conversation.canModerate(currentUser)) {
if (!conversation.isPublic()) {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_make_call_public), 3, getResources().getDrawable(R.drawable
.ic_link_grey600_24px)));
} else {
if (conversation.isHasPassword()) {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_change_password), 4, getResources().getDrawable(R.drawable
.ic_lock_grey600_24px)));
menuItems.add(new MenuItem(getResources().getString(R.string.nc_clear_password), 5, getResources().getDrawable(R.drawable
.ic_lock_open_grey600_24dp)));
} else {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_set_password), 6, getResources().getDrawable(R.drawable
.ic_lock_plus_grey600_24dp)));
}
}
menuItems.add(new MenuItem(getResources().getString(R.string.nc_delete_call), 9, getResources().getDrawable(R.drawable
.ic_delete_grey600_24dp)));
}
if (conversation.isPublic()) {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_share_link), 7, getResources().getDrawable(R.drawable
.ic_link_grey600_24px)));
if (conversation.canModerate(currentUser)) {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_make_call_private), 8, getResources().getDrawable(R.drawable
.ic_group_grey600_24px)));
}
}
if (conversation.canLeave(currentUser)) {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_leave), 1,
DisplayUtils.getTintedDrawable(getResources(),
R.drawable.ic_exit_to_app_black_24dp, R.color.grey_600)
));
}
} else if (menuType.equals(MenuType.SHARE)) {
prepareIntent();
List<AppAdapter.AppInfo> appInfoList = ShareUtils.getShareApps(getActivity(), shareIntent, null,
null);
menuItems.add(new AppItem(getResources().getString(R.string.nc_share_link_via), "", "",
getResources().getDrawable(R.drawable.ic_link_grey600_24px)));
if (appInfoList != null) {
for (AppAdapter.AppInfo appInfo : appInfoList) {
menuItems.add(new AppItem(appInfo.title, appInfo.packageName, appInfo.name, appInfo.drawable));
}
}
} else { } else {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_start_conversation), 0, null)); if (conversation.isHasPassword()) {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_new_conversation), 1, getResources().getDrawable(R.drawable.ic_add_grey600_24px))); menuItems.add(new MenuItem(getResources().getString(R.string.nc_change_password), 4,
menuItems.add(new MenuItem(getResources().getString(R.string.nc_join_via_link), 2, getResources().getDrawable(R.drawable.ic_link_grey600_24px))); getResources().getDrawable(R.drawable
.ic_lock_grey600_24px)));
menuItems.add(new MenuItem(getResources().getString(R.string.nc_clear_password), 5,
getResources().getDrawable(R.drawable
.ic_lock_open_grey600_24dp)));
} else {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_set_password), 6,
getResources().getDrawable(R.drawable
.ic_lock_plus_grey600_24dp)));
}
} }
menuItems.add(new MenuItem(getResources().getString(R.string.nc_delete_call), 9,
getResources().getDrawable(R.drawable
.ic_delete_grey600_24dp)));
}
if (conversation.isPublic()) {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_share_link), 7,
getResources().getDrawable(R.drawable
.ic_link_grey600_24px)));
if (conversation.canModerate(currentUser)) {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_make_call_private), 8,
getResources().getDrawable(R.drawable
.ic_group_grey600_24px)));
}
}
if (conversation.canLeave(currentUser)) {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_leave), 1,
DisplayUtils.getTintedDrawable(getResources(),
R.drawable.ic_exit_to_app_black_24dp, R.color.grey_600)
));
}
} else if (menuType.equals(MenuType.SHARE)) {
prepareIntent();
List<AppAdapter.AppInfo> appInfoList =
ShareUtils.getShareApps(getActivity(), shareIntent, null,
null);
menuItems.add(new AppItem(getResources().getString(R.string.nc_share_link_via), "", "",
getResources().getDrawable(R.drawable.ic_link_grey600_24px)));
if (appInfoList != null) {
for (AppAdapter.AppInfo appInfo : appInfoList) {
menuItems.add(
new AppItem(appInfo.title, appInfo.packageName, appInfo.name, appInfo.drawable));
}
}
} else {
menuItems.add(
new MenuItem(getResources().getString(R.string.nc_start_conversation), 0, null));
menuItems.add(new MenuItem(getResources().getString(R.string.nc_new_conversation), 1,
getResources().getDrawable(R.drawable.ic_add_grey600_24px)));
menuItems.add(new MenuItem(getResources().getString(R.string.nc_join_via_link), 2,
getResources().getDrawable(R.drawable.ic_link_grey600_24px)));
} }
}
@Override @Override
public boolean onItemClick(View view, int position) { public boolean onItemClick(View view, int position) {
Bundle bundle = new Bundle(); Bundle bundle = new Bundle();
bundle.putParcelable(BundleKeys.INSTANCE.getKEY_ROOM(), Parcels.wrap(conversation)); bundle.putParcelable(BundleKeys.INSTANCE.getKEY_ROOM(), Parcels.wrap(conversation));
if (menuType.equals(MenuType.REGULAR)) { if (menuType.equals(MenuType.REGULAR)) {
MenuItem menuItem = (MenuItem) adapter.getItem(position); MenuItem menuItem = (MenuItem) adapter.getItem(position);
if (menuItem != null) { if (menuItem != null) {
int tag = menuItem.getTag(); int tag = menuItem.getTag();
if (tag == 5) { if (tag == 5) {
conversation.setPassword(""); conversation.setPassword("");
} }
if (tag > 0) { if (tag > 0) {
if (tag == 1 || tag == 9) { if (tag == 1 || tag == 9) {
if (tag == 1) { if (tag == 1) {
Data data; Data data;
if ((data = getWorkerData()) != null) { if ((data = getWorkerData()) != null) {
OneTimeWorkRequest leaveConversationWorker = OneTimeWorkRequest leaveConversationWorker =
new OneTimeWorkRequest.Builder(LeaveConversationWorker.class).setInputData(data).build(); new OneTimeWorkRequest.Builder(LeaveConversationWorker.class).setInputData(data)
WorkManager.getInstance().enqueue(leaveConversationWorker); .build();
} WorkManager.getInstance().enqueue(leaveConversationWorker);
} else { }
Bundle deleteConversationBundle; } else {
if ((deleteConversationBundle = getDeleteConversationBundle()) != null) { Bundle deleteConversationBundle;
conversationMenuInterface.openLovelyDialogWithIdAndBundle(ConversationsListController.ID_DELETE_CONVERSATION_DIALOG, deleteConversationBundle); if ((deleteConversationBundle = getDeleteConversationBundle()) != null) {
} conversationMenuInterface.openLovelyDialogWithIdAndBundle(
} ConversationsListController.ID_DELETE_CONVERSATION_DIALOG,
eventBus.post(new BottomSheetLockEvent(true, 0, false, true)); deleteConversationBundle);
} else { }
bundle.putInt(BundleKeys.INSTANCE.getKEY_OPERATION_CODE(), tag);
if (tag != 2 && tag != 4 && tag != 6 && tag != 7) {
eventBus.post(new BottomSheetLockEvent(false, 0, false, false));
getRouter().pushController(RouterTransaction.with(new OperationsMenuController(bundle))
.pushChangeHandler(new HorizontalChangeHandler())
.popChangeHandler(new HorizontalChangeHandler()));
} else if (tag != 7) {
getRouter().pushController(RouterTransaction.with(new EntryMenuController(bundle))
.pushChangeHandler(new HorizontalChangeHandler())
.popChangeHandler(new HorizontalChangeHandler()));
} else {
bundle.putParcelable(BundleKeys.INSTANCE.getKEY_MENU_TYPE(), Parcels.wrap(MenuType.SHARE));
getRouter().pushController(RouterTransaction.with(new CallMenuController(bundle, null))
.pushChangeHandler(new HorizontalChangeHandler())
.popChangeHandler(new HorizontalChangeHandler()));
}
}
}
} }
} else if (menuType.equals(MenuType.SHARE) && position != 0) { eventBus.post(new BottomSheetLockEvent(true, 0, false, true));
AppItem appItem = (AppItem) adapter.getItem(position); } else {
if (appItem != null && getActivity() != null) { bundle.putInt(BundleKeys.INSTANCE.getKEY_OPERATION_CODE(), tag);
if (!conversation.getHasPassword()) { if (tag != 2 && tag != 4 && tag != 6 && tag != 7) {
shareIntent.putExtra(Intent.EXTRA_TEXT, ShareUtils.getStringForIntent(getActivity(), null, eventBus.post(new BottomSheetLockEvent(false, 0, false, false));
userUtils, conversation)); getRouter().pushController(
Intent intent = new Intent(shareIntent); RouterTransaction.with(new OperationsMenuController(bundle))
intent.setComponent(new ComponentName(appItem.getPackageName(), appItem.getName())); .pushChangeHandler(new HorizontalChangeHandler())
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); .popChangeHandler(new HorizontalChangeHandler()));
eventBus.post(new BottomSheetLockEvent(true, 0, false, true)); } else if (tag != 7) {
getActivity().startActivity(intent); getRouter().pushController(RouterTransaction.with(new EntryMenuController(bundle))
} else { .pushChangeHandler(new HorizontalChangeHandler())
bundle.putInt(BundleKeys.INSTANCE.getKEY_OPERATION_CODE(), 7); .popChangeHandler(new HorizontalChangeHandler()));
bundle.putParcelable(BundleKeys.INSTANCE.getKEY_SHARE_INTENT(), Parcels.wrap(shareIntent)); } else {
bundle.putString(BundleKeys.INSTANCE.getKEY_APP_ITEM_PACKAGE_NAME(), appItem.getPackageName()); bundle.putParcelable(BundleKeys.INSTANCE.getKEY_MENU_TYPE(),
bundle.putString(BundleKeys.INSTANCE.getKEY_APP_ITEM_NAME(), appItem.getName()); Parcels.wrap(MenuType.SHARE));
getRouter().pushController(RouterTransaction.with(new EntryMenuController(bundle)) getRouter().pushController(
.pushChangeHandler(new HorizontalChangeHandler()) RouterTransaction.with(new CallMenuController(bundle, null))
.popChangeHandler(new HorizontalChangeHandler())); .pushChangeHandler(new HorizontalChangeHandler())
} .popChangeHandler(new HorizontalChangeHandler()));
} }
}
} }
}
return true; } else if (menuType.equals(MenuType.SHARE) && position != 0) {
} AppItem appItem = (AppItem) adapter.getItem(position);
if (appItem != null && getActivity() != null) {
private Data getWorkerData() { if (!conversation.hasPassword) {
if (!TextUtils.isEmpty(conversation.getToken())) { shareIntent.putExtra(Intent.EXTRA_TEXT, ShareUtils.getStringForIntent(getActivity(), null,
Data.Builder data = new Data.Builder(); userUtils, conversation));
data.putString(BundleKeys.INSTANCE.getKEY_ROOM_TOKEN(), conversation.getToken()); Intent intent = new Intent(shareIntent);
data.putLong(BundleKeys.INSTANCE.getKEY_INTERNAL_USER_ID(), currentUser.getId()); intent.setComponent(new ComponentName(appItem.getPackageName(), appItem.getName()));
return data.build(); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
eventBus.post(new BottomSheetLockEvent(true, 0, false, true));
getActivity().startActivity(intent);
} else {
bundle.putInt(BundleKeys.INSTANCE.getKEY_OPERATION_CODE(), 7);
bundle.putParcelable(BundleKeys.INSTANCE.getKEY_SHARE_INTENT(),
Parcels.wrap(shareIntent));
bundle.putString(BundleKeys.INSTANCE.getKEY_APP_ITEM_PACKAGE_NAME(),
appItem.getPackageName());
bundle.putString(BundleKeys.INSTANCE.getKEY_APP_ITEM_NAME(), appItem.getName());
getRouter().pushController(RouterTransaction.with(new EntryMenuController(bundle))
.pushChangeHandler(new HorizontalChangeHandler())
.popChangeHandler(new HorizontalChangeHandler()));
} }
}
return null;
} }
private Bundle getDeleteConversationBundle() { return true;
if (!TextUtils.isEmpty(conversation.getToken())) { }
Bundle bundle = new Bundle();
bundle.putLong(BundleKeys.INSTANCE.getKEY_INTERNAL_USER_ID(), currentUser.getId());
bundle.putParcelable(BundleKeys.INSTANCE.getKEY_ROOM(), Parcels.wrap(conversation));
return bundle;
}
return null;
private Data getWorkerData() {
if (!TextUtils.isEmpty(conversation.getToken())) {
Data.Builder data = new Data.Builder();
data.putString(BundleKeys.INSTANCE.getKEY_ROOM_TOKEN(), conversation.getToken());
data.putLong(BundleKeys.INSTANCE.getKEY_INTERNAL_USER_ID(), currentUser.getId());
return data.build();
} }
@Parcel return null;
public enum MenuType { }
REGULAR, SHARE
private Bundle getDeleteConversationBundle() {
if (!TextUtils.isEmpty(conversation.getToken())) {
Bundle bundle = new Bundle();
bundle.putLong(BundleKeys.INSTANCE.getKEY_INTERNAL_USER_ID(), currentUser.getId());
bundle.putParcelable(BundleKeys.INSTANCE.getKEY_ROOM(), Parcels.wrap(conversation));
return bundle;
} }
return null;
}
@Parcel
public enum MenuType {
REGULAR, SHARE
}
} }

View File

@ -34,7 +34,6 @@ import android.view.ViewGroup;
import android.view.inputmethod.EditorInfo; import android.view.inputmethod.EditorInfo;
import android.widget.Button; import android.widget.Button;
import android.widget.ImageView; import android.widget.ImageView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import autodagger.AutoInjector; import autodagger.AutoInjector;
import butterknife.BindView; import butterknife.BindView;
@ -46,7 +45,7 @@ import com.nextcloud.talk.R;
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.events.BottomSheetLockEvent; import com.nextcloud.talk.events.BottomSheetLockEvent;
import com.nextcloud.data.models.json.conversations.Conversation; import com.nextcloud.talk.models.json.conversations.Conversation;
import com.nextcloud.talk.utils.EmojiTextInputEditText; import com.nextcloud.talk.utils.EmojiTextInputEditText;
import com.nextcloud.talk.utils.ShareUtils; import com.nextcloud.talk.utils.ShareUtils;
import com.nextcloud.talk.utils.bundle.BundleKeys; import com.nextcloud.talk.utils.bundle.BundleKeys;
@ -58,12 +57,10 @@ import com.vanniktech.emoji.emoji.Emoji;
import com.vanniktech.emoji.listeners.OnEmojiClickListener; import com.vanniktech.emoji.listeners.OnEmojiClickListener;
import com.vanniktech.emoji.listeners.OnEmojiPopupDismissListener; import com.vanniktech.emoji.listeners.OnEmojiPopupDismissListener;
import com.vanniktech.emoji.listeners.OnEmojiPopupShownListener; import com.vanniktech.emoji.listeners.OnEmojiPopupShownListener;
import javax.inject.Inject;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import org.parceler.Parcels; import org.parceler.Parcels;
import javax.inject.Inject;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class EntryMenuController extends BaseController { public class EntryMenuController extends BaseController {

View File

@ -35,48 +35,42 @@ import android.widget.Button;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.ProgressBar; import android.widget.ProgressBar;
import android.widget.TextView; import android.widget.TextView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import autodagger.AutoInjector;
import butterknife.BindView;
import com.bluelinelabs.conductor.RouterTransaction; import com.bluelinelabs.conductor.RouterTransaction;
import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler; import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler;
import com.bluelinelabs.logansquare.LoganSquare; import com.bluelinelabs.logansquare.LoganSquare;
import com.nextcloud.talk.models.RetrofitBucket;
import com.nextcloud.talk.models.json.capabilities.Capabilities;
import com.nextcloud.talk.models.json.capabilities.CapabilitiesOverall;
import com.nextcloud.talk.models.json.conversations.Conversation;
import com.nextcloud.talk.models.json.conversations.RoomOverall;
import com.nextcloud.talk.models.json.generic.GenericOverall;
import com.nextcloud.talk.models.json.participants.AddParticipantOverall;
import com.nextcloud.talk.R; import com.nextcloud.talk.R;
import com.nextcloud.talk.activities.MagicCallActivity; import com.nextcloud.talk.activities.MagicCallActivity;
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.events.BottomSheetLockEvent; import com.nextcloud.talk.events.BottomSheetLockEvent;
import com.nextcloud.data.models.RetrofitBucket;
import com.nextcloud.talk.models.database.UserEntity; import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.data.models.json.capabilities.Capabilities;
import com.nextcloud.data.models.json.capabilities.CapabilitiesOverall;
import com.nextcloud.data.models.json.conversations.Conversation;
import com.nextcloud.data.models.json.conversations.RoomOverall;
import com.nextcloud.data.models.json.generic.GenericOverall;
import com.nextcloud.data.models.json.participants.AddParticipantOverall;
import com.nextcloud.talk.utils.ApiUtils; import com.nextcloud.talk.utils.ApiUtils;
import com.nextcloud.talk.utils.ConductorRemapping; import com.nextcloud.talk.utils.ConductorRemapping;
import com.nextcloud.talk.utils.DisplayUtils; import com.nextcloud.talk.utils.DisplayUtils;
import com.nextcloud.talk.utils.bundle.BundleKeys; import com.nextcloud.talk.utils.bundle.BundleKeys;
import com.nextcloud.talk.utils.database.user.UserUtils; import com.nextcloud.talk.utils.database.user.UserUtils;
import com.nextcloud.talk.utils.singletons.ApplicationWideMessageHolder; import com.nextcloud.talk.utils.singletons.ApplicationWideMessageHolder;
import org.greenrobot.eventbus.EventBus;
import org.parceler.Parcels;
import java.io.IOException;
import java.util.ArrayList;
import javax.inject.Inject;
import autodagger.AutoInjector;
import butterknife.BindView;
import io.reactivex.Observer; import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import java.io.IOException;
import java.util.ArrayList;
import javax.inject.Inject;
import org.greenrobot.eventbus.EventBus;
import org.parceler.Parcels;
import retrofit2.HttpException; import retrofit2.HttpException;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)

View File

@ -23,7 +23,6 @@ package com.nextcloud.talk.controllers.bottomsheet.items
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.ImageView import android.widget.ImageView
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.afollestad.materialdialogs.MaterialDialog import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.WhichButton import com.afollestad.materialdialogs.WhichButton
@ -34,7 +33,6 @@ import com.afollestad.materialdialogs.internal.rtl.RtlTextView
import com.afollestad.materialdialogs.list.getItemSelector import com.afollestad.materialdialogs.list.getItemSelector
import com.afollestad.materialdialogs.utils.MDUtil.inflate import com.afollestad.materialdialogs.utils.MDUtil.inflate
import com.afollestad.materialdialogs.utils.MDUtil.maybeSetTextColor import com.afollestad.materialdialogs.utils.MDUtil.maybeSetTextColor
import com.google.android.material.textview.MaterialTextView
import com.nextcloud.talk.R import com.nextcloud.talk.R
private const val KEY_ACTIVATED_INDEX = "activated_index" private const val KEY_ACTIVATED_INDEX = "activated_index"

View File

@ -22,9 +22,8 @@ package com.nextcloud.talk.dagger.modules;
import dagger.Module; import dagger.Module;
import dagger.Provides; import dagger.Provides;
import org.greenrobot.eventbus.EventBus;
import javax.inject.Singleton; import javax.inject.Singleton;
import org.greenrobot.eventbus.EventBus;
@Module @Module
public class BusModule { public class BusModule {

View File

@ -33,9 +33,8 @@ import io.requery.reactivex.ReactiveEntityStore;
import io.requery.reactivex.ReactiveSupport; import io.requery.reactivex.ReactiveSupport;
import io.requery.sql.Configuration; import io.requery.sql.Configuration;
import io.requery.sql.EntityDataStore; import io.requery.sql.EntityDataStore;
import net.orange_box.storebox.StoreBox;
import javax.inject.Singleton; import javax.inject.Singleton;
import net.orange_box.storebox.StoreBox;
@Module @Module
public class DatabaseModule { public class DatabaseModule {

View File

@ -41,15 +41,6 @@ import com.nextcloud.talk.utils.ssl.SSLSocketFactoryCompat;
import dagger.Module; import dagger.Module;
import dagger.Provides; import dagger.Provides;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import okhttp3.*;
import okhttp3.internal.tls.OkHostnameVerifier;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
import javax.inject.Singleton;
import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.X509KeyManager;
import java.io.IOException; import java.io.IOException;
import java.net.CookieManager; import java.net.CookieManager;
import java.net.InetSocketAddress; import java.net.InetSocketAddress;
@ -60,6 +51,23 @@ import java.security.NoSuchAlgorithmException;
import java.security.UnrecoverableKeyException; import java.security.UnrecoverableKeyException;
import java.security.cert.CertificateException; import java.security.cert.CertificateException;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import javax.inject.Singleton;
import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.X509KeyManager;
import okhttp3.Authenticator;
import okhttp3.Cache;
import okhttp3.Credentials;
import okhttp3.Dispatcher;
import okhttp3.Interceptor;
import okhttp3.JavaNetCookieJar;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.Route;
import okhttp3.internal.tls.OkHostnameVerifier;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
@Module(includes = DatabaseModule.class) @Module(includes = DatabaseModule.class)
public class RestModule { public class RestModule {

View File

@ -23,7 +23,6 @@ package com.nextcloud.talk.events;
import android.webkit.SslErrorHandler; import android.webkit.SslErrorHandler;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.nextcloud.talk.utils.ssl.MagicTrustManager; import com.nextcloud.talk.utils.ssl.MagicTrustManager;
import java.security.cert.X509Certificate; import java.security.cert.X509Certificate;
public class CertificateEvent { public class CertificateEvent {

View File

@ -20,7 +20,7 @@
package com.nextcloud.talk.events; package com.nextcloud.talk.events;
import com.nextcloud.data.models.json.conversations.Conversation; import com.nextcloud.talk.models.json.conversations.Conversation;
import lombok.Data; import lombok.Data;
@Data @Data

View File

@ -21,7 +21,7 @@
package com.nextcloud.talk.events; package com.nextcloud.talk.events;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.nextcloud.data.models.json.signaling.NCIceCandidate; import com.nextcloud.talk.models.json.signaling.NCIceCandidate;
import lombok.Data; import lombok.Data;
import org.webrtc.SessionDescription; import org.webrtc.SessionDescription;

View File

@ -21,9 +21,8 @@
package com.nextcloud.talk.events; package com.nextcloud.talk.events;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import lombok.Data;
import java.util.HashMap; import java.util.HashMap;
import lombok.Data;
@Data @Data
public class WebSocketCommunicationEvent { public class WebSocketCommunicationEvent {

View File

@ -20,7 +20,6 @@
package com.nextcloud.talk.jobs; package com.nextcloud.talk.jobs;
import android.app.NotificationManager; import android.app.NotificationManager;
import android.content.Context; import android.content.Context;
import android.os.Build; import android.os.Build;
@ -31,12 +30,12 @@ import androidx.work.Worker;
import androidx.work.WorkerParameters; import androidx.work.WorkerParameters;
import autodagger.AutoInjector; import autodagger.AutoInjector;
import com.bluelinelabs.logansquare.LoganSquare; import com.bluelinelabs.logansquare.LoganSquare;
import com.nextcloud.talk.models.json.generic.GenericOverall;
import com.nextcloud.talk.models.json.push.PushConfigurationState;
import com.nextcloud.talk.R; import com.nextcloud.talk.R;
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.models.database.UserEntity; import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.data.models.json.generic.GenericOverall;
import com.nextcloud.data.models.json.push.PushConfigurationState;
import com.nextcloud.talk.utils.ApiUtils; import com.nextcloud.talk.utils.ApiUtils;
import com.nextcloud.talk.utils.database.arbitrarystorage.ArbitraryStorageUtils; import com.nextcloud.talk.utils.database.arbitrarystorage.ArbitraryStorageUtils;
import com.nextcloud.talk.utils.database.user.UserUtils; import com.nextcloud.talk.utils.database.user.UserUtils;
@ -44,15 +43,14 @@ import com.nextcloud.talk.webrtc.WebSocketConnectionHelper;
import io.reactivex.CompletableObserver; import io.reactivex.CompletableObserver;
import io.reactivex.Observer; import io.reactivex.Observer;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
import okhttp3.JavaNetCookieJar;
import okhttp3.OkHttpClient;
import retrofit2.Retrofit;
import javax.inject.Inject;
import java.io.IOException; import java.io.IOException;
import java.net.CookieManager; import java.net.CookieManager;
import java.util.HashMap; import java.util.HashMap;
import java.util.zip.CRC32; import java.util.zip.CRC32;
import javax.inject.Inject;
import okhttp3.JavaNetCookieJar;
import okhttp3.OkHttpClient;
import retrofit2.Retrofit;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class AccountRemovalWorker extends Worker { public class AccountRemovalWorker extends Worker {

View File

@ -21,26 +21,22 @@
package com.nextcloud.talk.jobs; package com.nextcloud.talk.jobs;
import android.content.Context; import android.content.Context;
import com.nextcloud.talk.api.NcApi;
import com.nextcloud.talk.application.NextcloudTalkApplication;
import com.nextcloud.talk.events.EventStatus;
import com.nextcloud.data.models.RetrofitBucket;
import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.talk.utils.ApiUtils;
import com.nextcloud.talk.utils.bundle.BundleKeys;
import com.nextcloud.talk.utils.database.user.UserUtils;
import org.greenrobot.eventbus.EventBus;
import javax.inject.Inject;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.work.Data; import androidx.work.Data;
import androidx.work.Worker; import androidx.work.Worker;
import androidx.work.WorkerParameters; import androidx.work.WorkerParameters;
import autodagger.AutoInjector; import autodagger.AutoInjector;
import com.nextcloud.talk.models.RetrofitBucket;
import com.nextcloud.talk.api.NcApi;
import com.nextcloud.talk.application.NextcloudTalkApplication;
import com.nextcloud.talk.events.EventStatus;
import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.talk.utils.ApiUtils;
import com.nextcloud.talk.utils.bundle.BundleKeys;
import com.nextcloud.talk.utils.database.user.UserUtils;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import javax.inject.Inject;
import org.greenrobot.eventbus.EventBus;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class AddParticipantsToConversation extends Worker { public class AddParticipantsToConversation extends Worker {

View File

@ -28,26 +28,25 @@ import androidx.work.Worker;
import androidx.work.WorkerParameters; import androidx.work.WorkerParameters;
import autodagger.AutoInjector; import autodagger.AutoInjector;
import com.bluelinelabs.logansquare.LoganSquare; import com.bluelinelabs.logansquare.LoganSquare;
import com.nextcloud.talk.models.json.capabilities.CapabilitiesOverall;
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.events.EventStatus; import com.nextcloud.talk.events.EventStatus;
import com.nextcloud.talk.models.database.UserEntity; import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.data.models.json.capabilities.CapabilitiesOverall;
import com.nextcloud.talk.utils.ApiUtils; import com.nextcloud.talk.utils.ApiUtils;
import com.nextcloud.talk.utils.bundle.BundleKeys; import com.nextcloud.talk.utils.bundle.BundleKeys;
import com.nextcloud.talk.utils.database.user.UserUtils; import com.nextcloud.talk.utils.database.user.UserUtils;
import io.reactivex.Observer; import io.reactivex.Observer;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
import okhttp3.JavaNetCookieJar;
import okhttp3.OkHttpClient;
import org.greenrobot.eventbus.EventBus;
import retrofit2.Retrofit;
import javax.inject.Inject;
import java.io.IOException; import java.io.IOException;
import java.net.CookieManager; import java.net.CookieManager;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.inject.Inject;
import okhttp3.JavaNetCookieJar;
import okhttp3.OkHttpClient;
import org.greenrobot.eventbus.EventBus;
import retrofit2.Retrofit;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class CapabilitiesWorker extends Worker { public class CapabilitiesWorker extends Worker {

View File

@ -26,25 +26,24 @@ import androidx.work.Data;
import androidx.work.Worker; import androidx.work.Worker;
import androidx.work.WorkerParameters; import androidx.work.WorkerParameters;
import autodagger.AutoInjector; import autodagger.AutoInjector;
import com.nextcloud.talk.models.json.generic.GenericOverall;
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.events.EventStatus; import com.nextcloud.talk.events.EventStatus;
import com.nextcloud.talk.models.database.UserEntity; import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.data.models.json.generic.GenericOverall;
import com.nextcloud.talk.utils.ApiUtils; import com.nextcloud.talk.utils.ApiUtils;
import com.nextcloud.talk.utils.bundle.BundleKeys; import com.nextcloud.talk.utils.bundle.BundleKeys;
import com.nextcloud.talk.utils.database.user.UserUtils; import com.nextcloud.talk.utils.database.user.UserUtils;
import io.reactivex.Observer; import io.reactivex.Observer;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import java.net.CookieManager;
import javax.inject.Inject;
import okhttp3.JavaNetCookieJar; import okhttp3.JavaNetCookieJar;
import okhttp3.OkHttpClient; import okhttp3.OkHttpClient;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import retrofit2.Retrofit; import retrofit2.Retrofit;
import javax.inject.Inject;
import java.net.CookieManager;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class DeleteConversationWorker extends Worker { public class DeleteConversationWorker extends Worker {
@Inject @Inject

View File

@ -26,25 +26,24 @@ import androidx.work.Data;
import androidx.work.Worker; import androidx.work.Worker;
import androidx.work.WorkerParameters; import androidx.work.WorkerParameters;
import autodagger.AutoInjector; import autodagger.AutoInjector;
import com.nextcloud.talk.models.json.generic.GenericOverall;
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.events.EventStatus; import com.nextcloud.talk.events.EventStatus;
import com.nextcloud.talk.models.database.UserEntity; import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.data.models.json.generic.GenericOverall;
import com.nextcloud.talk.utils.ApiUtils; import com.nextcloud.talk.utils.ApiUtils;
import com.nextcloud.talk.utils.bundle.BundleKeys; import com.nextcloud.talk.utils.bundle.BundleKeys;
import com.nextcloud.talk.utils.database.user.UserUtils; import com.nextcloud.talk.utils.database.user.UserUtils;
import io.reactivex.Observer; import io.reactivex.Observer;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import java.net.CookieManager;
import javax.inject.Inject;
import okhttp3.JavaNetCookieJar; import okhttp3.JavaNetCookieJar;
import okhttp3.OkHttpClient; import okhttp3.OkHttpClient;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import retrofit2.Retrofit; import retrofit2.Retrofit;
import javax.inject.Inject;
import java.net.CookieManager;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class LeaveConversationWorker extends Worker { public class LeaveConversationWorker extends Worker {
@Inject @Inject

View File

@ -35,11 +35,10 @@ import com.nextcloud.talk.utils.database.user.UserUtils;
import io.reactivex.Observer; import io.reactivex.Observer;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import javax.inject.Inject;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import javax.inject.Inject;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class ShareOperationWorker extends Worker { public class ShareOperationWorker extends Worker {

View File

@ -23,26 +23,29 @@ package com.nextcloud.talk.jobs;
import android.content.Context; import android.content.Context;
import android.util.Log; import android.util.Log;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.work.*; import androidx.work.Data;
import androidx.work.OneTimeWorkRequest;
import androidx.work.WorkManager;
import androidx.work.Worker;
import androidx.work.WorkerParameters;
import autodagger.AutoInjector; import autodagger.AutoInjector;
import com.bluelinelabs.logansquare.LoganSquare; import com.bluelinelabs.logansquare.LoganSquare;
import com.nextcloud.talk.models.ExternalSignalingServer;
import com.nextcloud.talk.models.json.signaling.settings.SignalingSettingsOverall;
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.events.EventStatus; import com.nextcloud.talk.events.EventStatus;
import com.nextcloud.data.models.ExternalSignalingServer;
import com.nextcloud.talk.models.database.UserEntity; import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.data.models.json.signaling.settings.SignalingSettingsOverall;
import com.nextcloud.talk.utils.ApiUtils; import com.nextcloud.talk.utils.ApiUtils;
import com.nextcloud.talk.utils.bundle.BundleKeys; import com.nextcloud.talk.utils.bundle.BundleKeys;
import com.nextcloud.talk.utils.database.user.UserUtils; import com.nextcloud.talk.utils.database.user.UserUtils;
import io.reactivex.Observer; import io.reactivex.Observer;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
import org.greenrobot.eventbus.EventBus;
import javax.inject.Inject;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.inject.Inject;
import org.greenrobot.eventbus.EventBus;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class SignalingSettingsWorker extends Worker { public class SignalingSettingsWorker extends Worker {

View File

@ -29,15 +29,14 @@ import androidx.work.Worker;
import androidx.work.WorkerParameters; import androidx.work.WorkerParameters;
import autodagger.AutoInjector; import autodagger.AutoInjector;
import com.bluelinelabs.logansquare.LoganSquare; import com.bluelinelabs.logansquare.LoganSquare;
import com.nextcloud.talk.models.ExternalSignalingServer;
import com.nextcloud.talk.application.NextcloudTalkApplication; import com.nextcloud.talk.application.NextcloudTalkApplication;
import com.nextcloud.data.models.ExternalSignalingServer;
import com.nextcloud.talk.models.database.UserEntity; import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.talk.utils.database.user.UserUtils; import com.nextcloud.talk.utils.database.user.UserUtils;
import com.nextcloud.talk.webrtc.WebSocketConnectionHelper; import com.nextcloud.talk.webrtc.WebSocketConnectionHelper;
import javax.inject.Inject;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.List;
import javax.inject.Inject;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class WebsocketConnectionsWorker extends Worker { public class WebsocketConnectionsWorker extends Worker {

View File

@ -19,11 +19,10 @@
*/ */
package com.nextcloud.talk.models; package com.nextcloud.talk.models;
import java.util.Map;
import lombok.Data; import lombok.Data;
import org.parceler.Parcel; import org.parceler.Parcel;
import java.util.Map;
@Parcel @Parcel
@Data @Data
public class RetrofitBucket { public class RetrofitBucket {

View File

@ -24,7 +24,6 @@ import android.os.Parcelable;
import io.requery.Entity; import io.requery.Entity;
import io.requery.Key; import io.requery.Key;
import io.requery.Persistable; import io.requery.Persistable;
import java.io.Serializable; import java.io.Serializable;
@Entity @Entity

View File

@ -1,287 +0,0 @@
// Generated file do not edit, generated by io.requery.processor.EntityProcessor
package com.nextcloud.talk.models.database;
import android.os.Parcel;
import android.os.Parcelable;
import io.requery.Persistable;
import io.requery.android.EntityParceler;
import io.requery.meta.AttributeBuilder;
import io.requery.meta.NumericAttribute;
import io.requery.meta.StringAttribute;
import io.requery.meta.Type;
import io.requery.meta.TypeBuilder;
import io.requery.proxy.EntityProxy;
import io.requery.proxy.LongProperty;
import io.requery.proxy.Property;
import io.requery.proxy.PropertyState;
import io.requery.util.function.Function;
import io.requery.util.function.Supplier;
import java.lang.Long;
import java.lang.Object;
import java.lang.Override;
import java.lang.String;
import javax.annotation.Generated;
@Generated("io.requery.processor.EntityProcessor")
public class ArbitraryStorageEntity implements ArbitraryStorage, Persistable, Parcelable {
public static final NumericAttribute<ArbitraryStorageEntity, Long> ACCOUNT_IDENTIFIER =
new AttributeBuilder<ArbitraryStorageEntity, Long>("accountIdentifier", long.class)
.setProperty(new LongProperty<ArbitraryStorageEntity>() {
@Override
public Long get(ArbitraryStorageEntity entity) {
return entity.accountIdentifier;
}
@Override
public void set(ArbitraryStorageEntity entity, Long value) {
entity.accountIdentifier = value;
}
@Override
public long getLong(ArbitraryStorageEntity entity) {
return entity.accountIdentifier;
}
@Override
public void setLong(ArbitraryStorageEntity entity, long value) {
entity.accountIdentifier = value;
}
})
.setPropertyName("getAccountIdentifier")
.setPropertyState(new Property<ArbitraryStorageEntity, PropertyState>() {
@Override
public PropertyState get(ArbitraryStorageEntity entity) {
return entity.$accountIdentifier_state;
}
@Override
public void set(ArbitraryStorageEntity entity, PropertyState value) {
entity.$accountIdentifier_state = value;
}
})
.setKey(true)
.setGenerated(false)
.setReadOnly(false)
.setLazy(false)
.setNullable(false)
.setUnique(false)
.buildNumeric();
public static final StringAttribute<ArbitraryStorageEntity, String> KEY =
new AttributeBuilder<ArbitraryStorageEntity, String>("key", String.class)
.setProperty(new Property<ArbitraryStorageEntity, String>() {
@Override
public String get(ArbitraryStorageEntity entity) {
return entity.key;
}
@Override
public void set(ArbitraryStorageEntity entity, String value) {
entity.key = value;
}
})
.setPropertyName("getKey")
.setPropertyState(new Property<ArbitraryStorageEntity, PropertyState>() {
@Override
public PropertyState get(ArbitraryStorageEntity entity) {
return entity.$key_state;
}
@Override
public void set(ArbitraryStorageEntity entity, PropertyState value) {
entity.$key_state = value;
}
})
.setGenerated(false)
.setReadOnly(false)
.setLazy(false)
.setNullable(true)
.setUnique(false)
.buildString();
public static final StringAttribute<ArbitraryStorageEntity, String> OBJECT =
new AttributeBuilder<ArbitraryStorageEntity, String>("object", String.class)
.setProperty(new Property<ArbitraryStorageEntity, String>() {
@Override
public String get(ArbitraryStorageEntity entity) {
return entity.object;
}
@Override
public void set(ArbitraryStorageEntity entity, String value) {
entity.object = value;
}
})
.setPropertyName("getObject")
.setPropertyState(new Property<ArbitraryStorageEntity, PropertyState>() {
@Override
public PropertyState get(ArbitraryStorageEntity entity) {
return entity.$object_state;
}
@Override
public void set(ArbitraryStorageEntity entity, PropertyState value) {
entity.$object_state = value;
}
})
.setGenerated(false)
.setReadOnly(false)
.setLazy(false)
.setNullable(true)
.setUnique(false)
.buildString();
public static final StringAttribute<ArbitraryStorageEntity, String> VALUE =
new AttributeBuilder<ArbitraryStorageEntity, String>("value", String.class)
.setProperty(new Property<ArbitraryStorageEntity, String>() {
@Override
public String get(ArbitraryStorageEntity entity) {
return entity.value;
}
@Override
public void set(ArbitraryStorageEntity entity, String value) {
entity.value = value;
}
})
.setPropertyName("getValue")
.setPropertyState(new Property<ArbitraryStorageEntity, PropertyState>() {
@Override
public PropertyState get(ArbitraryStorageEntity entity) {
return entity.$value_state;
}
@Override
public void set(ArbitraryStorageEntity entity, PropertyState value) {
entity.$value_state = value;
}
})
.setGenerated(false)
.setReadOnly(false)
.setLazy(false)
.setNullable(true)
.setUnique(false)
.buildString();
public static final Type<ArbitraryStorageEntity> $TYPE = new TypeBuilder<ArbitraryStorageEntity>(ArbitraryStorageEntity.class, "ArbitraryStorage")
.setBaseType(ArbitraryStorage.class)
.setCacheable(true)
.setImmutable(false)
.setReadOnly(false)
.setStateless(false)
.setView(false)
.setFactory(new Supplier<ArbitraryStorageEntity>() {
@Override
public ArbitraryStorageEntity get() {
return new ArbitraryStorageEntity();
}
})
.setProxyProvider(new Function<ArbitraryStorageEntity, EntityProxy<ArbitraryStorageEntity>>() {
@Override
public EntityProxy<ArbitraryStorageEntity> apply(ArbitraryStorageEntity entity) {
return entity.$proxy;
}
})
.addAttribute(ACCOUNT_IDENTIFIER)
.addAttribute(VALUE)
.addAttribute(OBJECT)
.addAttribute(KEY)
.build();
public static final Parcelable.Creator<ArbitraryStorageEntity> CREATOR = new Parcelable.Creator<ArbitraryStorageEntity>() {
@Override
public ArbitraryStorageEntity createFromParcel(Parcel source) {
return PARCELER.readFromParcel(source);
}
@Override
public ArbitraryStorageEntity[] newArray(int size) {
return new ArbitraryStorageEntity[size];
}
};
static final EntityParceler<ArbitraryStorageEntity> PARCELER = new EntityParceler<ArbitraryStorageEntity>($TYPE);
private PropertyState $accountIdentifier_state;
private PropertyState $key_state;
private PropertyState $object_state;
private PropertyState $value_state;
private long accountIdentifier;
private String key;
private String object;
private String value;
private final transient EntityProxy<ArbitraryStorageEntity> $proxy = new EntityProxy<ArbitraryStorageEntity>(this, $TYPE);
public ArbitraryStorageEntity() {
}
@Override
public long getAccountIdentifier() {
return $proxy.get(ACCOUNT_IDENTIFIER);
}
public void setAccountIdentifier(long accountIdentifier) {
$proxy.set(ACCOUNT_IDENTIFIER, accountIdentifier);
}
@Override
public String getKey() {
return $proxy.get(KEY);
}
public void setKey(String key) {
$proxy.set(KEY, key);
}
@Override
public String getObject() {
return $proxy.get(OBJECT);
}
public void setObject(String object) {
$proxy.set(OBJECT, object);
}
@Override
public String getValue() {
return $proxy.get(VALUE);
}
public void setValue(String value) {
$proxy.set(VALUE, value);
}
@Override
public boolean equals(Object obj) {
return obj instanceof ArbitraryStorageEntity && ((ArbitraryStorageEntity)obj).$proxy.equals(this.$proxy);
}
@Override
public int hashCode() {
return $proxy.hashCode();
}
@Override
public String toString() {
return $proxy.toString();
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
PARCELER.writeToParcel(this, dest);
}
}

View File

@ -1,17 +0,0 @@
// Generated file do not edit, generated by io.requery.processor.EntityProcessor
package com.nextcloud.talk.models.database;
import io.requery.meta.EntityModel;
import io.requery.meta.EntityModelBuilder;
import javax.annotation.Generated;
@Generated("io.requery.processor.EntityProcessor")
public class Models {
public static final EntityModel DEFAULT = new EntityModelBuilder("default")
.addType(UserEntity.$TYPE)
.addType(ArbitraryStorageEntity.$TYPE)
.build();
private Models() {
}
}

View File

@ -22,12 +22,11 @@ package com.nextcloud.talk.models.database;
import android.os.Parcelable; import android.os.Parcelable;
import android.util.Log; import android.util.Log;
import com.bluelinelabs.logansquare.LoganSquare; import com.bluelinelabs.logansquare.LoganSquare;
import com.nextcloud.data.models.json.capabilities.Capabilities; import com.nextcloud.talk.models.json.capabilities.Capabilities;
import io.requery.Entity; import io.requery.Entity;
import io.requery.Generated; import io.requery.Generated;
import io.requery.Key; import io.requery.Key;
import io.requery.Persistable; import io.requery.Persistable;
import java.io.IOException; import java.io.IOException;
import java.io.Serializable; import java.io.Serializable;
import java.util.HashMap; import java.util.HashMap;

View File

@ -1,674 +0,0 @@
// Generated file do not edit, generated by io.requery.processor.EntityProcessor
package com.nextcloud.talk.models.database;
import android.os.Parcel;
import android.os.Parcelable;
import io.requery.Persistable;
import io.requery.android.EntityParceler;
import io.requery.meta.AttributeBuilder;
import io.requery.meta.NumericAttribute;
import io.requery.meta.QueryAttribute;
import io.requery.meta.StringAttribute;
import io.requery.meta.Type;
import io.requery.meta.TypeBuilder;
import io.requery.proxy.BooleanProperty;
import io.requery.proxy.EntityProxy;
import io.requery.proxy.LongProperty;
import io.requery.proxy.Property;
import io.requery.proxy.PropertyState;
import io.requery.util.function.Function;
import io.requery.util.function.Supplier;
import java.lang.Boolean;
import java.lang.Long;
import java.lang.Object;
import java.lang.Override;
import java.lang.String;
import javax.annotation.Generated;
@Generated("io.requery.processor.EntityProcessor")
public class UserEntity implements User, Persistable, Parcelable {
public static final NumericAttribute<UserEntity, Long> ID =
new AttributeBuilder<UserEntity, Long>("id", long.class)
.setProperty(new LongProperty<UserEntity>() {
@Override
public Long get(UserEntity entity) {
return entity.id;
}
@Override
public void set(UserEntity entity, Long value) {
entity.id = value;
}
@Override
public long getLong(UserEntity entity) {
return entity.id;
}
@Override
public void setLong(UserEntity entity, long value) {
entity.id = value;
}
})
.setPropertyName("getId")
.setPropertyState(new Property<UserEntity, PropertyState>() {
@Override
public PropertyState get(UserEntity entity) {
return entity.$id_state;
}
@Override
public void set(UserEntity entity, PropertyState value) {
entity.$id_state = value;
}
})
.setKey(true)
.setGenerated(true)
.setReadOnly(true)
.setLazy(false)
.setNullable(false)
.setUnique(false)
.buildNumeric();
public static final StringAttribute<UserEntity, String> USER_ID =
new AttributeBuilder<UserEntity, String>("userId", String.class)
.setProperty(new Property<UserEntity, String>() {
@Override
public String get(UserEntity entity) {
return entity.userId;
}
@Override
public void set(UserEntity entity, String value) {
entity.userId = value;
}
})
.setPropertyName("getUserId")
.setPropertyState(new Property<UserEntity, PropertyState>() {
@Override
public PropertyState get(UserEntity entity) {
return entity.$userId_state;
}
@Override
public void set(UserEntity entity, PropertyState value) {
entity.$userId_state = value;
}
})
.setGenerated(false)
.setReadOnly(false)
.setLazy(false)
.setNullable(true)
.setUnique(false)
.buildString();
public static final StringAttribute<UserEntity, String> USERNAME =
new AttributeBuilder<UserEntity, String>("username", String.class)
.setProperty(new Property<UserEntity, String>() {
@Override
public String get(UserEntity entity) {
return entity.username;
}
@Override
public void set(UserEntity entity, String value) {
entity.username = value;
}
})
.setPropertyName("getUsername")
.setPropertyState(new Property<UserEntity, PropertyState>() {
@Override
public PropertyState get(UserEntity entity) {
return entity.$username_state;
}
@Override
public void set(UserEntity entity, PropertyState value) {
entity.$username_state = value;
}
})
.setGenerated(false)
.setReadOnly(false)
.setLazy(false)
.setNullable(true)
.setUnique(false)
.buildString();
public static final StringAttribute<UserEntity, String> BASE_URL =
new AttributeBuilder<UserEntity, String>("baseUrl", String.class)
.setProperty(new Property<UserEntity, String>() {
@Override
public String get(UserEntity entity) {
return entity.baseUrl;
}
@Override
public void set(UserEntity entity, String value) {
entity.baseUrl = value;
}
})
.setPropertyName("getBaseUrl")
.setPropertyState(new Property<UserEntity, PropertyState>() {
@Override
public PropertyState get(UserEntity entity) {
return entity.$baseUrl_state;
}
@Override
public void set(UserEntity entity, PropertyState value) {
entity.$baseUrl_state = value;
}
})
.setGenerated(false)
.setReadOnly(false)
.setLazy(false)
.setNullable(true)
.setUnique(false)
.buildString();
public static final StringAttribute<UserEntity, String> TOKEN =
new AttributeBuilder<UserEntity, String>("token", String.class)
.setProperty(new Property<UserEntity, String>() {
@Override
public String get(UserEntity entity) {
return entity.token;
}
@Override
public void set(UserEntity entity, String value) {
entity.token = value;
}
})
.setPropertyName("getToken")
.setPropertyState(new Property<UserEntity, PropertyState>() {
@Override
public PropertyState get(UserEntity entity) {
return entity.$token_state;
}
@Override
public void set(UserEntity entity, PropertyState value) {
entity.$token_state = value;
}
})
.setGenerated(false)
.setReadOnly(false)
.setLazy(false)
.setNullable(true)
.setUnique(false)
.buildString();
public static final StringAttribute<UserEntity, String> DISPLAY_NAME =
new AttributeBuilder<UserEntity, String>("displayName", String.class)
.setProperty(new Property<UserEntity, String>() {
@Override
public String get(UserEntity entity) {
return entity.displayName;
}
@Override
public void set(UserEntity entity, String value) {
entity.displayName = value;
}
})
.setPropertyName("getDisplayName")
.setPropertyState(new Property<UserEntity, PropertyState>() {
@Override
public PropertyState get(UserEntity entity) {
return entity.$displayName_state;
}
@Override
public void set(UserEntity entity, PropertyState value) {
entity.$displayName_state = value;
}
})
.setGenerated(false)
.setReadOnly(false)
.setLazy(false)
.setNullable(true)
.setUnique(false)
.buildString();
public static final StringAttribute<UserEntity, String> PUSH_CONFIGURATION_STATE =
new AttributeBuilder<UserEntity, String>("pushConfigurationState", String.class)
.setProperty(new Property<UserEntity, String>() {
@Override
public String get(UserEntity entity) {
return entity.pushConfigurationState;
}
@Override
public void set(UserEntity entity, String value) {
entity.pushConfigurationState = value;
}
})
.setPropertyName("getPushConfigurationState")
.setPropertyState(new Property<UserEntity, PropertyState>() {
@Override
public PropertyState get(UserEntity entity) {
return entity.$pushConfigurationState_state;
}
@Override
public void set(UserEntity entity, PropertyState value) {
entity.$pushConfigurationState_state = value;
}
})
.setGenerated(false)
.setReadOnly(false)
.setLazy(false)
.setNullable(true)
.setUnique(false)
.buildString();
public static final StringAttribute<UserEntity, String> CAPABILITIES =
new AttributeBuilder<UserEntity, String>("capabilities", String.class)
.setProperty(new Property<UserEntity, String>() {
@Override
public String get(UserEntity entity) {
return entity.capabilities;
}
@Override
public void set(UserEntity entity, String value) {
entity.capabilities = value;
}
})
.setPropertyName("getCapabilities")
.setPropertyState(new Property<UserEntity, PropertyState>() {
@Override
public PropertyState get(UserEntity entity) {
return entity.$capabilities_state;
}
@Override
public void set(UserEntity entity, PropertyState value) {
entity.$capabilities_state = value;
}
})
.setGenerated(false)
.setReadOnly(false)
.setLazy(false)
.setNullable(true)
.setUnique(false)
.buildString();
public static final StringAttribute<UserEntity, String> CLIENT_CERTIFICATE =
new AttributeBuilder<UserEntity, String>("clientCertificate", String.class)
.setProperty(new Property<UserEntity, String>() {
@Override
public String get(UserEntity entity) {
return entity.clientCertificate;
}
@Override
public void set(UserEntity entity, String value) {
entity.clientCertificate = value;
}
})
.setPropertyName("getClientCertificate")
.setPropertyState(new Property<UserEntity, PropertyState>() {
@Override
public PropertyState get(UserEntity entity) {
return entity.$clientCertificate_state;
}
@Override
public void set(UserEntity entity, PropertyState value) {
entity.$clientCertificate_state = value;
}
})
.setGenerated(false)
.setReadOnly(false)
.setLazy(false)
.setNullable(true)
.setUnique(false)
.buildString();
public static final StringAttribute<UserEntity, String> EXTERNAL_SIGNALING_SERVER =
new AttributeBuilder<UserEntity, String>("externalSignalingServer", String.class)
.setProperty(new Property<UserEntity, String>() {
@Override
public String get(UserEntity entity) {
return entity.externalSignalingServer;
}
@Override
public void set(UserEntity entity, String value) {
entity.externalSignalingServer = value;
}
})
.setPropertyName("getExternalSignalingServer")
.setPropertyState(new Property<UserEntity, PropertyState>() {
@Override
public PropertyState get(UserEntity entity) {
return entity.$externalSignalingServer_state;
}
@Override
public void set(UserEntity entity, PropertyState value) {
entity.$externalSignalingServer_state = value;
}
})
.setGenerated(false)
.setReadOnly(false)
.setLazy(false)
.setNullable(true)
.setUnique(false)
.buildString();
public static final QueryAttribute<UserEntity, Boolean> CURRENT =
new AttributeBuilder<UserEntity, Boolean>("current", boolean.class)
.setProperty(new BooleanProperty<UserEntity>() {
@Override
public Boolean get(UserEntity entity) {
return entity.current;
}
@Override
public void set(UserEntity entity, Boolean value) {
entity.current = value;
}
@Override
public boolean getBoolean(UserEntity entity) {
return entity.current;
}
@Override
public void setBoolean(UserEntity entity, boolean value) {
entity.current = value;
}
})
.setPropertyName("getCurrent")
.setPropertyState(new Property<UserEntity, PropertyState>() {
@Override
public PropertyState get(UserEntity entity) {
return entity.$current_state;
}
@Override
public void set(UserEntity entity, PropertyState value) {
entity.$current_state = value;
}
})
.setGenerated(false)
.setReadOnly(false)
.setLazy(false)
.setNullable(false)
.setUnique(false)
.build();
public static final QueryAttribute<UserEntity, Boolean> SCHEDULED_FOR_DELETION =
new AttributeBuilder<UserEntity, Boolean>("scheduledForDeletion", boolean.class)
.setProperty(new BooleanProperty<UserEntity>() {
@Override
public Boolean get(UserEntity entity) {
return entity.scheduledForDeletion;
}
@Override
public void set(UserEntity entity, Boolean value) {
entity.scheduledForDeletion = value;
}
@Override
public boolean getBoolean(UserEntity entity) {
return entity.scheduledForDeletion;
}
@Override
public void setBoolean(UserEntity entity, boolean value) {
entity.scheduledForDeletion = value;
}
})
.setPropertyName("getScheduledForDeletion")
.setPropertyState(new Property<UserEntity, PropertyState>() {
@Override
public PropertyState get(UserEntity entity) {
return entity.$scheduledForDeletion_state;
}
@Override
public void set(UserEntity entity, PropertyState value) {
entity.$scheduledForDeletion_state = value;
}
})
.setGenerated(false)
.setReadOnly(false)
.setLazy(false)
.setNullable(false)
.setUnique(false)
.build();
public static final Type<UserEntity> $TYPE = new TypeBuilder<UserEntity>(UserEntity.class, "User")
.setBaseType(User.class)
.setCacheable(true)
.setImmutable(false)
.setReadOnly(false)
.setStateless(false)
.setView(false)
.setFactory(new Supplier<UserEntity>() {
@Override
public UserEntity get() {
return new UserEntity();
}
})
.setProxyProvider(new Function<UserEntity, EntityProxy<UserEntity>>() {
@Override
public EntityProxy<UserEntity> apply(UserEntity entity) {
return entity.$proxy;
}
})
.addAttribute(PUSH_CONFIGURATION_STATE)
.addAttribute(CAPABILITIES)
.addAttribute(USER_ID)
.addAttribute(USERNAME)
.addAttribute(ID)
.addAttribute(CLIENT_CERTIFICATE)
.addAttribute(EXTERNAL_SIGNALING_SERVER)
.addAttribute(BASE_URL)
.addAttribute(TOKEN)
.addAttribute(DISPLAY_NAME)
.addAttribute(CURRENT)
.addAttribute(SCHEDULED_FOR_DELETION)
.build();
public static final Parcelable.Creator<UserEntity> CREATOR = new Parcelable.Creator<UserEntity>() {
@Override
public UserEntity createFromParcel(Parcel source) {
return PARCELER.readFromParcel(source);
}
@Override
public UserEntity[] newArray(int size) {
return new UserEntity[size];
}
};
static final EntityParceler<UserEntity> PARCELER = new EntityParceler<UserEntity>($TYPE);
private PropertyState $id_state;
private PropertyState $userId_state;
private PropertyState $username_state;
private PropertyState $baseUrl_state;
private PropertyState $token_state;
private PropertyState $displayName_state;
private PropertyState $pushConfigurationState_state;
private PropertyState $capabilities_state;
private PropertyState $clientCertificate_state;
private PropertyState $externalSignalingServer_state;
private PropertyState $current_state;
private PropertyState $scheduledForDeletion_state;
private long id;
private String userId;
private String username;
private String baseUrl;
private String token;
private String displayName;
private String pushConfigurationState;
private String capabilities;
private String clientCertificate;
private String externalSignalingServer;
private boolean current;
private boolean scheduledForDeletion;
private final transient EntityProxy<UserEntity> $proxy = new EntityProxy<UserEntity>(this, $TYPE);
public UserEntity() {
}
@Override
public long getId() {
return $proxy.get(ID);
}
@Override
public String getUserId() {
return $proxy.get(USER_ID);
}
public void setUserId(String userId) {
$proxy.set(USER_ID, userId);
}
@Override
public String getUsername() {
return $proxy.get(USERNAME);
}
public void setUsername(String username) {
$proxy.set(USERNAME, username);
}
@Override
public String getBaseUrl() {
return $proxy.get(BASE_URL);
}
public void setBaseUrl(String baseUrl) {
$proxy.set(BASE_URL, baseUrl);
}
@Override
public String getToken() {
return $proxy.get(TOKEN);
}
public void setToken(String token) {
$proxy.set(TOKEN, token);
}
@Override
public String getDisplayName() {
return $proxy.get(DISPLAY_NAME);
}
public void setDisplayName(String displayName) {
$proxy.set(DISPLAY_NAME, displayName);
}
@Override
public String getPushConfigurationState() {
return $proxy.get(PUSH_CONFIGURATION_STATE);
}
public void setPushConfigurationState(String pushConfigurationState) {
$proxy.set(PUSH_CONFIGURATION_STATE, pushConfigurationState);
}
@Override
public String getCapabilities() {
return $proxy.get(CAPABILITIES);
}
public void setCapabilities(String capabilities) {
$proxy.set(CAPABILITIES, capabilities);
}
@Override
public String getClientCertificate() {
return $proxy.get(CLIENT_CERTIFICATE);
}
public void setClientCertificate(String clientCertificate) {
$proxy.set(CLIENT_CERTIFICATE, clientCertificate);
}
@Override
public String getExternalSignalingServer() {
return $proxy.get(EXTERNAL_SIGNALING_SERVER);
}
public void setExternalSignalingServer(String externalSignalingServer) {
$proxy.set(EXTERNAL_SIGNALING_SERVER, externalSignalingServer);
}
@Override
public boolean getCurrent() {
return $proxy.get(CURRENT);
}
public void setCurrent(boolean current) {
$proxy.set(CURRENT, current);
}
@Override
public boolean getScheduledForDeletion() {
return $proxy.get(SCHEDULED_FOR_DELETION);
}
public void setScheduledForDeletion(boolean scheduledForDeletion) {
$proxy.set(SCHEDULED_FOR_DELETION, scheduledForDeletion);
}
@Override
public boolean equals(Object obj) {
return obj instanceof UserEntity && ((UserEntity)obj).$proxy.equals(this.$proxy);
}
@Override
public int hashCode() {
return $proxy.hashCode();
}
@Override
public String toString() {
return $proxy.toString();
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
PARCELER.writeToParcel(this, dest);
}
}

View File

@ -23,11 +23,10 @@ package com.nextcloud.talk.models.json.autocomplete;
import com.bluelinelabs.logansquare.annotation.JsonField; import com.bluelinelabs.logansquare.annotation.JsonField;
import com.bluelinelabs.logansquare.annotation.JsonObject; import com.bluelinelabs.logansquare.annotation.JsonObject;
import com.nextcloud.talk.models.json.generic.GenericOCS; import com.nextcloud.talk.models.json.generic.GenericOCS;
import java.util.List;
import lombok.Data; import lombok.Data;
import org.parceler.Parcel; import org.parceler.Parcel;
import java.util.List;
@Parcel @Parcel
@Data @Data
@JsonObject @JsonObject

View File

@ -22,11 +22,10 @@ package com.nextcloud.talk.models.json.capabilities;
import com.bluelinelabs.logansquare.annotation.JsonField; import com.bluelinelabs.logansquare.annotation.JsonField;
import com.bluelinelabs.logansquare.annotation.JsonObject; import com.bluelinelabs.logansquare.annotation.JsonObject;
import lombok.Data;
import org.parceler.Parcel;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import lombok.Data;
import org.parceler.Parcel;
@Parcel @Parcel
@Data @Data

View File

@ -22,11 +22,10 @@ package com.nextcloud.talk.models.json.capabilities;
import com.bluelinelabs.logansquare.annotation.JsonField; import com.bluelinelabs.logansquare.annotation.JsonField;
import com.bluelinelabs.logansquare.annotation.JsonObject; import com.bluelinelabs.logansquare.annotation.JsonObject;
import java.util.List;
import lombok.Data; import lombok.Data;
import org.parceler.Parcel; import org.parceler.Parcel;
import java.util.List;
@Parcel @Parcel
@Data @Data
@JsonObject @JsonObject

View File

@ -22,11 +22,10 @@ package com.nextcloud.talk.models.json.capabilities;
import com.bluelinelabs.logansquare.annotation.JsonField; import com.bluelinelabs.logansquare.annotation.JsonField;
import com.bluelinelabs.logansquare.annotation.JsonObject; import com.bluelinelabs.logansquare.annotation.JsonObject;
import lombok.Data;
import org.parceler.Parcel;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import lombok.Data;
import org.parceler.Parcel;
@Parcel @Parcel
@Data @Data

View File

@ -33,11 +33,14 @@ import com.nextcloud.talk.utils.TextMatchers;
import com.stfalcon.chatkit.commons.models.IMessage; import com.stfalcon.chatkit.commons.models.IMessage;
import com.stfalcon.chatkit.commons.models.IUser; import com.stfalcon.chatkit.commons.models.IUser;
import com.stfalcon.chatkit.commons.models.MessageContentType; import com.stfalcon.chatkit.commons.models.MessageContentType;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import lombok.Data; import lombok.Data;
import org.parceler.Parcel; import org.parceler.Parcel;
import java.util.*;
@Parcel @Parcel
@Data @Data
@JsonObject @JsonObject

View File

@ -22,11 +22,10 @@ package com.nextcloud.talk.models.json.chat;
import com.bluelinelabs.logansquare.annotation.JsonField; import com.bluelinelabs.logansquare.annotation.JsonField;
import com.bluelinelabs.logansquare.annotation.JsonObject; import com.bluelinelabs.logansquare.annotation.JsonObject;
import com.nextcloud.talk.models.json.generic.GenericOCS; import com.nextcloud.talk.models.json.generic.GenericOCS;
import java.util.List;
import lombok.Data; import lombok.Data;
import org.parceler.Parcel; import org.parceler.Parcel;
import java.util.List;
@Data @Data
@Parcel @Parcel
@JsonObject @JsonObject

View File

@ -21,7 +21,6 @@
package com.nextcloud.talk.models.json.conversations; package com.nextcloud.talk.models.json.conversations;
import android.content.res.Resources; import android.content.res.Resources;
import com.bluelinelabs.logansquare.annotation.JsonField; import com.bluelinelabs.logansquare.annotation.JsonField;
import com.bluelinelabs.logansquare.annotation.JsonObject; import com.bluelinelabs.logansquare.annotation.JsonObject;
import com.nextcloud.talk.R; import com.nextcloud.talk.R;
@ -34,12 +33,9 @@ import com.nextcloud.talk.models.json.converters.EnumParticipantTypeConverter;
import com.nextcloud.talk.models.json.converters.EnumReadOnlyConversationConverter; import com.nextcloud.talk.models.json.converters.EnumReadOnlyConversationConverter;
import com.nextcloud.talk.models.json.converters.EnumRoomTypeConverter; import com.nextcloud.talk.models.json.converters.EnumRoomTypeConverter;
import com.nextcloud.talk.models.json.participants.Participant; import com.nextcloud.talk.models.json.participants.Participant;
import org.parceler.Parcel;
import java.util.HashMap; import java.util.HashMap;
import lombok.Data; import lombok.Data;
import org.parceler.Parcel;
@Parcel @Parcel
@Data @Data

View File

@ -23,11 +23,10 @@ package com.nextcloud.talk.models.json.conversations;
import com.bluelinelabs.logansquare.annotation.JsonField; import com.bluelinelabs.logansquare.annotation.JsonField;
import com.bluelinelabs.logansquare.annotation.JsonObject; import com.bluelinelabs.logansquare.annotation.JsonObject;
import com.nextcloud.talk.models.json.generic.GenericOCS; import com.nextcloud.talk.models.json.generic.GenericOCS;
import java.util.List;
import lombok.Data; import lombok.Data;
import org.parceler.Parcel; import org.parceler.Parcel;
import java.util.List;
@Data @Data
@Parcel @Parcel
@JsonObject @JsonObject

View File

@ -22,8 +22,25 @@ package com.nextcloud.talk.models.json.converters
import com.bluelinelabs.logansquare.typeconverters.StringBasedTypeConverter import com.bluelinelabs.logansquare.typeconverters.StringBasedTypeConverter
import com.nextcloud.talk.models.json.chat.ChatMessage import com.nextcloud.talk.models.json.chat.ChatMessage
import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.CALL_ENDED
import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.* import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.CALL_JOINED
import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.CALL_LEFT
import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.CALL_STARTED
import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.CONVERSATION_CREATED
import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.CONVERSATION_RENAMED
import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.DUMMY
import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.FILE_SHARED
import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.GUESTS_ALLOWED
import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.GUESTS_DISALLOWED
import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.LOBBY_NONE
import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.LOBBY_NON_MODERATORS
import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.LOBBY_OPEN_TO_EVERYONE
import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.MODERATOR_DEMOTED
import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.MODERATOR_PROMOTED
import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.PASSWORD_REMOVED
import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.PASSWORD_SET
import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.USER_ADDED
import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.USER_REMOVED
/* /*

View File

@ -19,16 +19,12 @@
package com.nextcloud.talk.models.json.converters; package com.nextcloud.talk.models.json.converters;
import android.util.Log; import android.util.Log;
import com.bluelinelabs.logansquare.typeconverters.TypeConverter; import com.bluelinelabs.logansquare.typeconverters.TypeConverter;
import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonParser;
import org.joda.time.DateTime;
import java.io.IOException; import java.io.IOException;
import org.joda.time.DateTime;
public class LoganSquareJodaTimeConverter implements TypeConverter<DateTime> { public class LoganSquareJodaTimeConverter implements TypeConverter<DateTime> {

View File

@ -22,11 +22,10 @@ package com.nextcloud.talk.models.json.mention;
import com.bluelinelabs.logansquare.annotation.JsonField; import com.bluelinelabs.logansquare.annotation.JsonField;
import com.bluelinelabs.logansquare.annotation.JsonObject; import com.bluelinelabs.logansquare.annotation.JsonObject;
import com.nextcloud.talk.models.json.generic.GenericOCS; import com.nextcloud.talk.models.json.generic.GenericOCS;
import java.util.List;
import lombok.Data; import lombok.Data;
import org.parceler.Parcel; import org.parceler.Parcel;
import java.util.List;
@Data @Data
@Parcel @Parcel
@JsonObject @JsonObject

View File

@ -23,15 +23,11 @@ package com.nextcloud.talk.models.json.notifications;
import com.bluelinelabs.logansquare.annotation.JsonField; import com.bluelinelabs.logansquare.annotation.JsonField;
import com.bluelinelabs.logansquare.annotation.JsonObject; import com.bluelinelabs.logansquare.annotation.JsonObject;
import com.nextcloud.talk.models.json.converters.LoganSquareJodaTimeConverter; import com.nextcloud.talk.models.json.converters.LoganSquareJodaTimeConverter;
import org.joda.time.DateTime;
import org.parceler.Parcel;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import lombok.Data; import lombok.Data;
import org.joda.time.DateTime;
import org.parceler.Parcel;
@Data @Data
@Parcel @Parcel

View File

@ -18,20 +18,15 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package com.nextcloud.domain package com.nextcloud.talk.models.json.notifications;
import org.junit.Test import com.bluelinelabs.logansquare.annotation.JsonField;
import com.bluelinelabs.logansquare.annotation.JsonObject;
import lombok.Data;
import org.junit.Assert.* @Data
@JsonObject
/** public class NotificationOverall {
* Example local unit test, which will execute on the development machine (host). @JsonField(name = "ocs")
* NotificationOCS ocs;
* See [testing documentation](http://d.android.com/tools/testing).
*/
class ExampleUnitTest {
@Test
fun addition_isCorrect() {
assertEquals(4, 2 + 2)
}
} }

View File

@ -23,11 +23,10 @@ package com.nextcloud.talk.models.json.notifications;
import com.bluelinelabs.logansquare.annotation.JsonField; import com.bluelinelabs.logansquare.annotation.JsonField;
import com.bluelinelabs.logansquare.annotation.JsonObject; import com.bluelinelabs.logansquare.annotation.JsonObject;
import com.nextcloud.talk.models.json.generic.GenericOCS; import com.nextcloud.talk.models.json.generic.GenericOCS;
import java.util.List;
import lombok.Data; import lombok.Data;
import org.parceler.Parcel; import org.parceler.Parcel;
import java.util.List;
@Data @Data
@Parcel @Parcel
@JsonObject @JsonObject

View File

@ -22,8 +22,8 @@ package com.nextcloud.talk.models.json.participants;
import com.bluelinelabs.logansquare.annotation.JsonField; import com.bluelinelabs.logansquare.annotation.JsonField;
import com.bluelinelabs.logansquare.annotation.JsonObject; import com.bluelinelabs.logansquare.annotation.JsonObject;
import com.nextcloud.talk.models.json.generic.GenericOCS;
import com.nextcloud.talk.models.json.conversations.Conversation; import com.nextcloud.talk.models.json.conversations.Conversation;
import com.nextcloud.talk.models.json.generic.GenericOCS;
@JsonObject @JsonObject
public class AddParticipantOCS extends GenericOCS { public class AddParticipantOCS extends GenericOCS {

View File

@ -23,11 +23,10 @@ package com.nextcloud.talk.models.json.participants;
import com.bluelinelabs.logansquare.annotation.JsonField; import com.bluelinelabs.logansquare.annotation.JsonField;
import com.bluelinelabs.logansquare.annotation.JsonObject; import com.bluelinelabs.logansquare.annotation.JsonObject;
import com.nextcloud.talk.models.json.generic.GenericOCS; import com.nextcloud.talk.models.json.generic.GenericOCS;
import java.util.List;
import lombok.Data; import lombok.Data;
import org.parceler.Parcel; import org.parceler.Parcel;
import java.util.List;
@Parcel @Parcel
@Data @Data
@JsonObject @JsonObject

View File

@ -1,37 +1,40 @@
/* /*
* Nextcloud Talk application * Nextcloud Talk application
* *
* @author Mario Danic * @author Mario Danic
* Copyright (C) 2017-2019 Mario Danic <mario@lovelyhq.com> * Copyright (C) 2017-2019 Mario Danic <mario@lovelyhq.com>
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or * the Free Software Foundation, either version 3 of the License, or
* at your option) any later version. * at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package com.nextcloud.data package com.nextcloud.talk.models.json.push;
import org.junit.Test import com.bluelinelabs.logansquare.annotation.JsonField;
import com.bluelinelabs.logansquare.annotation.JsonObject;
import lombok.Data;
import org.parceler.Parcel;
import org.junit.Assert.* @Data
@Parcel
@JsonObject
public class NotificationUser {
@JsonField(name = "type")
String type;
/** @JsonField(name = "id")
* Example local unit test, which will execute on the development machine (host). String id;
*
* See [testing documentation](http://d.android.com/tools/testing). @JsonField(name = "name")
*/ String name;
class ExampleUnitTest {
@Test
fun addition_isCorrect() {
assertEquals(4, 2 + 2)
}
} }

View File

@ -22,11 +22,10 @@ package com.nextcloud.talk.models.json.sharees;
import com.bluelinelabs.logansquare.annotation.JsonField; import com.bluelinelabs.logansquare.annotation.JsonField;
import com.bluelinelabs.logansquare.annotation.JsonObject; import com.bluelinelabs.logansquare.annotation.JsonObject;
import java.util.List;
import lombok.Data; import lombok.Data;
import org.parceler.Parcel; import org.parceler.Parcel;
import java.util.List;
@Parcel @Parcel
@Data @Data
@JsonObject @JsonObject

View File

@ -22,11 +22,10 @@ package com.nextcloud.talk.models.json.sharees;
import com.bluelinelabs.logansquare.annotation.JsonField; import com.bluelinelabs.logansquare.annotation.JsonField;
import com.bluelinelabs.logansquare.annotation.JsonObject; import com.bluelinelabs.logansquare.annotation.JsonObject;
import java.util.List;
import lombok.Data; import lombok.Data;
import org.parceler.Parcel; import org.parceler.Parcel;
import java.util.List;
@Parcel @Parcel
@Data @Data
@JsonObject @JsonObject

View File

@ -23,11 +23,10 @@ package com.nextcloud.talk.models.json.signaling;
import com.bluelinelabs.logansquare.annotation.JsonField; import com.bluelinelabs.logansquare.annotation.JsonField;
import com.bluelinelabs.logansquare.annotation.JsonObject; import com.bluelinelabs.logansquare.annotation.JsonObject;
import com.nextcloud.talk.models.json.converters.ObjectParcelConverter; import com.nextcloud.talk.models.json.converters.ObjectParcelConverter;
import java.util.HashMap;
import lombok.Data; import lombok.Data;
import org.parceler.ParcelPropertyConverter; import org.parceler.ParcelPropertyConverter;
import java.util.HashMap;
@Data @Data
@JsonObject @JsonObject
public class DataChannelMessageNick { public class DataChannelMessageNick {

View File

@ -23,9 +23,8 @@ package com.nextcloud.talk.models.json.signaling;
import com.bluelinelabs.logansquare.annotation.JsonField; import com.bluelinelabs.logansquare.annotation.JsonField;
import com.bluelinelabs.logansquare.annotation.JsonObject; import com.bluelinelabs.logansquare.annotation.JsonObject;
import com.nextcloud.talk.models.json.generic.GenericOCS; import com.nextcloud.talk.models.json.generic.GenericOCS;
import lombok.Data;
import java.util.List; import java.util.List;
import lombok.Data;
@Data @Data
@JsonObject @JsonObject

Some files were not shown because too many files have changed in this diff Show More