mirror of
https://github.com/nextcloud/talk-android
synced 2025-07-14 16:25:05 +01:00
Initial work on refactoring
Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
parent
efbc88045b
commit
6062beb5c2
@ -2,7 +2,9 @@
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/data/data.iml" filepath="$PROJECT_DIR$/data/data.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$/talk-android.iml" filepath="$PROJECT_DIR$/talk-android.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
|
23
data/src/main/res/values/strings.xml
Normal file
23
data/src/main/res/values/strings.xml
Normal file
@ -0,0 +1,23 @@
|
||||
<!--
|
||||
~ 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>
|
37
data/src/test/java/com/nextcloud/data/ExampleUnitTest.kt
Normal file
37
data/src/test/java/com/nextcloud/data/ExampleUnitTest.kt
Normal file
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* 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.data
|
||||
|
||||
import org.junit.Test
|
||||
|
||||
import org.junit.Assert.*
|
||||
|
||||
/**
|
||||
* Example local unit test, which will execute on the development machine (host).
|
||||
*
|
||||
* See [testing documentation](http://d.android.com/tools/testing).
|
||||
*/
|
||||
class ExampleUnitTest {
|
||||
@Test
|
||||
fun addition_isCorrect() {
|
||||
assertEquals(4, 2 + 2)
|
||||
}
|
||||
}
|
1
domain/.gitignore
vendored
Normal file
1
domain/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
/build
|
56
domain/build.gradle
Normal file
56
domain/build.gradle
Normal file
@ -0,0 +1,56 @@
|
||||
/*
|
||||
* 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'
|
||||
}
|
0
domain/consumer-rules.pro
Normal file
0
domain/consumer-rules.pro
Normal file
21
domain/proguard-rules.pro
vendored
Normal file
21
domain/proguard-rules.pro
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
# 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
|
@ -0,0 +1,44 @@
|
||||
/*
|
||||
* 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)
|
||||
}
|
||||
}
|
22
domain/src/main/AndroidManifest.xml
Normal file
22
domain/src/main/AndroidManifest.xml
Normal file
@ -0,0 +1,22 @@
|
||||
<!--
|
||||
~ 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" />
|
23
domain/src/main/res/values/strings.xml
Normal file
23
domain/src/main/res/values/strings.xml
Normal file
@ -0,0 +1,23 @@
|
||||
<!--
|
||||
~ 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>
|
37
domain/src/test/java/com/nextcloud/domain/ExampleUnitTest.kt
Normal file
37
domain/src/test/java/com/nextcloud/domain/ExampleUnitTest.kt
Normal file
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* 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 org.junit.Test
|
||||
|
||||
import org.junit.Assert.*
|
||||
|
||||
/**
|
||||
* Example local unit test, which will execute on the development machine (host).
|
||||
*
|
||||
* See [testing documentation](http://d.android.com/tools/testing).
|
||||
*/
|
||||
class ExampleUnitTest {
|
||||
@Test
|
||||
fun addition_isCorrect() {
|
||||
assertEquals(4, 2 + 2)
|
||||
}
|
||||
}
|
1
presentation/.gitignore
vendored
Normal file
1
presentation/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
/build
|
@ -19,10 +19,10 @@
|
||||
*/
|
||||
|
||||
apply plugin: 'com.android.application'
|
||||
apply plugin: 'kotlin-android'
|
||||
apply plugin: 'findbugs'
|
||||
apply plugin: 'kotlin-kapt'
|
||||
apply plugin: 'kotlin-android'
|
||||
apply plugin: 'kotlin-android-extensions'
|
||||
apply plugin: 'kotlin-kapt'
|
||||
apply plugin: 'realm-android'
|
||||
|
||||
def taskRequest = getGradle().getStartParameter().getTaskRequests().toString()
|
||||
@ -31,13 +31,13 @@ if (taskRequest.contains("Gplay") || taskRequest.contains("findbugs") || taskReq
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdkVersion 28
|
||||
buildToolsVersion '28.0.3'
|
||||
compileSdkVersion 29
|
||||
buildToolsVersion '29.0.2'
|
||||
defaultConfig {
|
||||
applicationId "com.nextcloud.talk2"
|
||||
versionName version
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 28
|
||||
targetSdkVersion 29
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
|
||||
versionCode 119
|
||||
@ -144,8 +144,11 @@ configurations.all {
|
||||
|
||||
dependencies {
|
||||
implementation fileTree(include: ['*'], dir: 'libs')
|
||||
implementation project(':data')
|
||||
implementation project(':domain')
|
||||
|
||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
||||
implementation 'com.google.android.material:material:1.1.0-alpha10'
|
||||
implementation 'com.google.android.material:material:1.1.0-beta01'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta2'
|
||||
implementation 'com.github.vanniktech:Emoji:0.6.0'
|
||||
implementation group: 'androidx.emoji', name: 'emoji-bundled', version: '1.0.0'
|
||||
@ -159,7 +162,6 @@ dependencies {
|
||||
})
|
||||
implementation 'org.conscrypt:conscrypt-android:2.2.1'
|
||||
|
||||
|
||||
implementation 'androidx.lifecycle:lifecycle-extensions:2.1.0'
|
||||
|
||||
implementation 'androidx.biometric:biometric:1.0.0-beta02'
|
||||
@ -170,22 +172,18 @@ dependencies {
|
||||
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
|
||||
implementation "io.reactivex.rxjava2:rxjava:2.2.11"
|
||||
|
||||
implementation 'com.bluelinelabs:conductor:3.0.0-rc1'
|
||||
implementation 'com.bluelinelabs:conductor-support:3.0.0-rc1'
|
||||
implementation 'com.bluelinelabs:conductor-archlifecycle:3.0.0-rc1'
|
||||
implementation 'com.bluelinelabs:conductor-rxlifecycle2:3.0.0-rc1'
|
||||
implementation 'com.bluelinelabs:conductor-autodispose:3.0.0-rc1'
|
||||
implementation 'com.bluelinelabs:conductor:3.0.0-rc2'
|
||||
implementation 'com.bluelinelabs:conductor-support:3.0.0-rc2'
|
||||
implementation 'com.bluelinelabs:conductor-archlifecycle:3.0.0-rc2'
|
||||
implementation 'com.bluelinelabs:conductor-rxlifecycle2:3.0.0-rc2'
|
||||
implementation 'com.bluelinelabs:conductor-autodispose:3.0.0-rc2'
|
||||
|
||||
implementation 'com.squareup.okhttp3:okhttp:3.14.2'
|
||||
implementation 'com.squareup.okhttp3:okhttp-urlconnection:3.14.2'
|
||||
implementation 'com.squareup.okhttp3:logging-interceptor:3.14.2'
|
||||
implementation 'com.squareup.okhttp3:okhttp:4.2.2'
|
||||
implementation 'com.squareup.okhttp3:okhttp-urlconnection:4.2.2'
|
||||
implementation 'com.squareup.okhttp3:logging-interceptor:4.2.2'
|
||||
|
||||
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.squareup.retrofit2:retrofit:2.6.1'
|
||||
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.6.1'
|
||||
implementation 'com.squareup.retrofit2:retrofit:2.6.2'
|
||||
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.6.2'
|
||||
implementation 'com.github.aurae.retrofit2:converter-logansquare:1.4.1'
|
||||
|
||||
implementation 'com.google.dagger:dagger:2.24'
|
||||
@ -199,18 +197,15 @@ dependencies {
|
||||
implementation 'io.requery:requery-android:1.5.1'
|
||||
implementation 'net.zetetic:android-database-sqlcipher:3.5.9'
|
||||
kapt 'io.requery:requery-processor:1.5.1'
|
||||
implementation 'org.parceler:parceler-api:1.1.12'
|
||||
kapt 'org.parceler:parceler:1.1.12'
|
||||
implementation 'net.orange-box.storebox:storebox-lib:1.4.0'
|
||||
compileOnly 'org.projectlombok:lombok:1.18.8'
|
||||
annotationProcessor "org.projectlombok:lombok:1.18.8"
|
||||
compileOnly 'org.projectlombok:lombok:1.18.10'
|
||||
annotationProcessor 'org.projectlombok:lombok:1.18.10'
|
||||
implementation 'com.jakewharton:butterknife:10.2.0'
|
||||
kapt 'com.jakewharton:butterknife-compiler:10.2.0'
|
||||
implementation 'com.github.HITGIF:TextFieldBoxes:1.4.5'
|
||||
implementation 'eu.davidea:flexible-adapter:5.1.0'
|
||||
implementation 'eu.davidea:flexible-adapter-ui:1.0.0'
|
||||
implementation 'org.webrtc:google-webrtc:1.0.23295'
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion}"
|
||||
implementation 'com.yarolegovich:lovely-dialog:1.1.0'
|
||||
implementation 'com.yarolegovich:lovelyinput:1.0.9'
|
||||
implementation 'com.yarolegovich:mp:1.0.9'
|
||||
@ -226,7 +221,6 @@ dependencies {
|
||||
implementation 'com.github.mario.fresco:webpsupport:111'
|
||||
implementation 'com.github.mario.fresco:animated-gif:111'
|
||||
implementation 'com.github.mario.fresco:imagepipeline-okhttp3:111'
|
||||
implementation group: 'joda-time', name: 'joda-time', version: '2.10.3'
|
||||
|
||||
implementation 'com.github.natario1:Autocomplete:v1.1.0'
|
||||
|
||||
@ -244,13 +238,17 @@ dependencies {
|
||||
implementation 'com.afollestad.material-dialogs:bottomsheets:3.1.0'
|
||||
implementation 'com.afollestad.material-dialogs:lifecycle:3.1.0'
|
||||
|
||||
implementation 'org.parceler:parceler-api:1.1.12'
|
||||
kapt 'org.parceler:parceler:1.1.12'
|
||||
|
||||
testImplementation 'junit:junit:4.12'
|
||||
testImplementation 'org.mockito:mockito-core:3.0.0'
|
||||
testImplementation 'org.powermock:powermock-core:2.0.2'
|
||||
testImplementation 'org.powermock:powermock-module-junit4:2.0.2'
|
||||
testImplementation 'org.powermock:powermock-api-mockito2:2.0.2'
|
||||
|
||||
androidTestImplementation ('androidx.test.espresso:espresso-core:3.1.0-alpha4', {
|
||||
|
||||
androidTestImplementation ('androidx.test.espresso:espresso-core:3.3.0-alpha02', {
|
||||
exclude group: 'com.android.support', module: 'support-annotations'
|
||||
})
|
||||
findbugsPlugins 'com.h3xstream.findsecbugs:findsecbugs-plugin:1.9.0'
|
21
presentation/proguard-rules.pro
vendored
Normal file
21
presentation/proguard-rules.pro
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
# 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
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
@ -34,7 +34,7 @@ import com.facebook.drawee.view.SimpleDraweeView;
|
||||
import com.nextcloud.talk.R;
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication;
|
||||
import com.nextcloud.talk.models.database.UserEntity;
|
||||
import com.nextcloud.talk.models.json.participants.Participant;
|
||||
import com.nextcloud.data.models.json.participants.Participant;
|
||||
import com.nextcloud.talk.utils.ApiUtils;
|
||||
import com.nextcloud.talk.utils.DisplayUtils;
|
||||
import eu.davidea.flexibleadapter.FlexibleAdapter;
|
@ -26,7 +26,6 @@ import android.text.format.DateUtils;
|
||||
import android.view.View;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.emoji.widget.EmojiTextView;
|
||||
|
||||
@ -39,7 +38,7 @@ import com.nextcloud.talk.R;
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication;
|
||||
import com.nextcloud.talk.events.MoreMenuClickEvent;
|
||||
import com.nextcloud.talk.models.database.UserEntity;
|
||||
import com.nextcloud.talk.models.json.conversations.Conversation;
|
||||
import com.nextcloud.data.models.json.conversations.Conversation;
|
||||
import com.nextcloud.talk.utils.ApiUtils;
|
||||
import com.nextcloud.talk.utils.DisplayUtils;
|
||||
import eu.davidea.flexibleadapter.FlexibleAdapter;
|
||||
@ -115,7 +114,7 @@ public class CallItem extends AbstractFlexibleItem<CallItem.RoomItemViewHolder>
|
||||
System.currentTimeMillis(), 0, DateUtils.FORMAT_ABBREV_RELATIVE));
|
||||
}
|
||||
|
||||
if (conversation.hasPassword) {
|
||||
if (conversation.getHasPassword()) {
|
||||
holder.passwordProtectedImageView.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
holder.passwordProtectedImageView.setVisibility(View.GONE);
|
@ -34,7 +34,7 @@ import androidx.emoji.widget.EmojiTextView;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import com.amulyakhare.textdrawable.TextDrawable;
|
||||
|
||||
import com.facebook.drawee.backends.pipeline.Fresco;
|
||||
import com.facebook.drawee.interfaces.DraweeController;
|
||||
import com.facebook.drawee.view.SimpleDraweeView;
|
||||
@ -42,7 +42,7 @@ import com.nextcloud.talk.R;
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication;
|
||||
import com.nextcloud.talk.models.database.UserEntity;
|
||||
import com.nextcloud.talk.models.json.chat.ChatMessage;
|
||||
import com.nextcloud.talk.models.json.conversations.Conversation;
|
||||
import com.nextcloud.data.models.json.conversations.Conversation;
|
||||
import com.nextcloud.talk.utils.ApiUtils;
|
||||
import com.nextcloud.talk.utils.DisplayUtils;
|
||||
import eu.davidea.flexibleadapter.FlexibleAdapter;
|
@ -32,8 +32,8 @@ import com.facebook.drawee.view.SimpleDraweeView;
|
||||
import com.nextcloud.talk.R;
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication;
|
||||
import com.nextcloud.talk.models.database.UserEntity;
|
||||
import com.nextcloud.talk.models.json.converters.EnumParticipantTypeConverter;
|
||||
import com.nextcloud.talk.models.json.participants.Participant;
|
||||
import com.nextcloud.data.models.json.converters.EnumParticipantTypeConverter;
|
||||
import com.nextcloud.data.models.json.participants.Participant;
|
||||
import com.nextcloud.talk.utils.ApiUtils;
|
||||
import com.nextcloud.talk.utils.DisplayUtils;
|
||||
|
@ -49,7 +49,6 @@ import com.nextcloud.talk.utils.TextMatchers;
|
||||
import com.nextcloud.talk.utils.database.user.UserUtils;
|
||||
import com.nextcloud.talk.utils.preferences.AppPreferences;
|
||||
import com.stfalcon.chatkit.messages.MessageHolders;
|
||||
import com.vanniktech.emoji.emoji.Emoji;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.util.HashMap;
|
||||
@ -136,7 +135,7 @@ public class MagicIncomingTextMessageViewHolder
|
||||
|
||||
int bubbleResource = R.drawable.shape_incoming_message;
|
||||
|
||||
if (message.isGrouped) {
|
||||
if (message.getIsGrouped()) {
|
||||
bubbleResource = R.drawable.shape_grouped_incoming_message;
|
||||
}
|
||||
|
@ -120,7 +120,7 @@ public class MagicOutcomingTextMessageViewHolder extends MessageHolders.Outcomin
|
||||
}
|
||||
|
||||
Resources resources = NextcloudTalkApplication.Companion.getSharedApplication().getResources();
|
||||
if (message.isGrouped) {
|
||||
if (message.getIsGrouped()) {
|
||||
Drawable bubbleDrawable =
|
||||
DisplayUtils.getMessageSelector(resources.getColor(R.color.bg_message_list_outcoming_bubble),
|
||||
resources.getColor(R.color.transparent),
|
@ -29,7 +29,6 @@ import android.graphics.drawable.LayerDrawable;
|
||||
import android.net.Uri;
|
||||
import android.os.Handler;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.emoji.widget.EmojiTextView;
|
||||
|
||||
@ -81,7 +80,7 @@ public class MagicPreviewMessageViewHolder extends MessageHolders.IncomingImageM
|
||||
public void onBind(ChatMessage message) {
|
||||
super.onBind(message);
|
||||
if (userAvatar != null) {
|
||||
if (message.isGrouped || message.isOneToOneConversation()) {
|
||||
if (message.getIsGrouped() || message.isOneToOneConversation()) {
|
||||
if (message.isOneToOneConversation()) {
|
||||
userAvatar.setVisibility(View.GONE);
|
||||
} else {
|
@ -23,7 +23,6 @@ package com.nextcloud.talk.adapters.messages;
|
||||
import android.view.View;
|
||||
|
||||
import com.nextcloud.talk.models.json.chat.ChatMessage;
|
||||
import com.stfalcon.chatkit.commons.ViewHolder;
|
||||
import com.stfalcon.chatkit.messages.MessageHolders;
|
||||
|
||||
public class MagicUnreadNoticeMessageViewHolder extends MessageHolders.SystemMessageViewHolder<ChatMessage> {
|
@ -21,20 +21,20 @@
|
||||
package com.nextcloud.talk.api;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import com.nextcloud.talk.models.json.capabilities.CapabilitiesOverall;
|
||||
import com.nextcloud.data.models.json.capabilities.CapabilitiesOverall;
|
||||
import com.nextcloud.talk.models.json.chat.ChatOverall;
|
||||
import com.nextcloud.talk.models.json.generic.GenericOverall;
|
||||
import com.nextcloud.talk.models.json.generic.Status;
|
||||
import com.nextcloud.talk.models.json.mention.MentionOverall;
|
||||
import com.nextcloud.talk.models.json.notifications.NotificationOverall;
|
||||
import com.nextcloud.talk.models.json.participants.AddParticipantOverall;
|
||||
import com.nextcloud.talk.models.json.participants.ParticipantsOverall;
|
||||
import com.nextcloud.talk.models.json.push.PushRegistrationOverall;
|
||||
import com.nextcloud.talk.models.json.conversations.RoomOverall;
|
||||
import com.nextcloud.talk.models.json.conversations.RoomsOverall;
|
||||
import com.nextcloud.talk.models.json.signaling.SignalingOverall;
|
||||
import com.nextcloud.talk.models.json.signaling.settings.SignalingSettingsOverall;
|
||||
import com.nextcloud.talk.models.json.userprofile.UserProfileOverall;
|
||||
import com.nextcloud.data.models.json.generic.GenericOverall;
|
||||
import com.nextcloud.data.models.json.generic.Status;
|
||||
import com.nextcloud.data.models.json.mention.MentionOverall;
|
||||
import com.nextcloud.data.models.json.notifications.NotificationOverall;
|
||||
import com.nextcloud.data.models.json.participants.AddParticipantOverall;
|
||||
import com.nextcloud.data.models.json.participants.ParticipantsOverall;
|
||||
import com.nextcloud.data.models.json.push.PushRegistrationOverall;
|
||||
import com.nextcloud.data.models.json.conversations.RoomOverall;
|
||||
import com.nextcloud.data.models.json.conversations.RoomsOverall;
|
||||
import com.nextcloud.data.models.json.signaling.SignalingOverall;
|
||||
import com.nextcloud.data.models.json.signaling.settings.SignalingSettingsOverall;
|
||||
import com.nextcloud.data.models.json.userprofile.UserProfileOverall;
|
||||
import io.reactivex.Observable;
|
||||
import okhttp3.ResponseBody;
|
||||
import retrofit2.Response;
|
@ -25,12 +25,10 @@ import android.text.Editable;
|
||||
import android.text.Spanned;
|
||||
import android.widget.EditText;
|
||||
|
||||
import androidx.emoji.text.EmojiCompat;
|
||||
|
||||
import com.facebook.widget.text.span.BetterImageSpan;
|
||||
import com.nextcloud.talk.R;
|
||||
import com.nextcloud.talk.models.database.UserEntity;
|
||||
import com.nextcloud.talk.models.json.mention.Mention;
|
||||
import com.nextcloud.data.models.json.mention.Mention;
|
||||
import com.nextcloud.talk.utils.DisplayUtils;
|
||||
import com.nextcloud.talk.utils.MagicCharPolicy;
|
||||
import com.nextcloud.talk.utils.text.Spans;
|
@ -92,7 +92,7 @@ public class BrowserController extends BaseController implements ListingInterfac
|
||||
private String roomToken;
|
||||
|
||||
public BrowserController(Bundle args) {
|
||||
super(args);
|
||||
super();
|
||||
setHasOptionsMenu(true);
|
||||
NextcloudTalkApplication.Companion.getSharedApplication().getComponentApplication().inject(this);
|
||||
browserType = Parcels.unwrap(args.getParcelable(BundleKeys.INSTANCE.getKEY_BROWSER_TYPE()));
|
@ -45,9 +45,9 @@ import com.nextcloud.talk.jobs.CapabilitiesWorker;
|
||||
import com.nextcloud.talk.jobs.PushRegistrationWorker;
|
||||
import com.nextcloud.talk.jobs.SignalingSettingsWorker;
|
||||
import com.nextcloud.talk.models.database.UserEntity;
|
||||
import com.nextcloud.talk.models.json.generic.Status;
|
||||
import com.nextcloud.talk.models.json.conversations.RoomsOverall;
|
||||
import com.nextcloud.talk.models.json.userprofile.UserProfileOverall;
|
||||
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.ClosedInterfaceImpl;
|
||||
import com.nextcloud.talk.utils.bundle.BundleKeys;
|
||||
@ -67,8 +67,6 @@ import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.net.CookieManager;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@AutoInjector(NextcloudTalkApplication.class)
|
||||
@ -103,7 +101,7 @@ public class AccountVerificationController extends BaseController {
|
||||
private String originalProtocol;
|
||||
|
||||
public AccountVerificationController(Bundle args) {
|
||||
super(args);
|
||||
super();
|
||||
if (args != null) {
|
||||
baseUrl = args.getString(BundleKeys.INSTANCE.getKEY_BASE_URL());
|
||||
username = args.getString(BundleKeys.INSTANCE.getKEY_USERNAME());
|
@ -56,18 +56,18 @@ import com.nextcloud.talk.api.NcApi;
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication;
|
||||
import com.nextcloud.talk.controllers.base.BaseController;
|
||||
import com.nextcloud.talk.events.*;
|
||||
import com.nextcloud.talk.models.ExternalSignalingServer;
|
||||
import com.nextcloud.data.models.ExternalSignalingServer;
|
||||
import com.nextcloud.talk.models.database.UserEntity;
|
||||
import com.nextcloud.talk.models.json.capabilities.CapabilitiesOverall;
|
||||
import com.nextcloud.talk.models.json.conversations.RoomOverall;
|
||||
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.conversations.Conversation;
|
||||
import com.nextcloud.talk.models.json.conversations.RoomsOverall;
|
||||
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.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.DisplayUtils;
|
||||
import com.nextcloud.talk.utils.NotificationUtils;
|
||||
@ -227,7 +227,7 @@ public class CallController extends BaseController {
|
||||
}
|
||||
|
||||
public CallController(Bundle args) {
|
||||
super(args);
|
||||
super();
|
||||
NextcloudTalkApplication.Companion.getSharedApplication().getComponentApplication().inject(this);
|
||||
|
||||
roomId = args.getString(BundleKeys.INSTANCE.getKEY_ROOM_ID(), "");
|
@ -62,12 +62,12 @@ import com.nextcloud.talk.api.NcApi;
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication;
|
||||
import com.nextcloud.talk.controllers.base.BaseController;
|
||||
import com.nextcloud.talk.events.ConfigurationChangeEvent;
|
||||
import com.nextcloud.talk.models.RingtoneSettings;
|
||||
import com.nextcloud.data.models.RingtoneSettings;
|
||||
import com.nextcloud.talk.models.database.UserEntity;
|
||||
import com.nextcloud.talk.models.json.participants.Participant;
|
||||
import com.nextcloud.talk.models.json.participants.ParticipantsOverall;
|
||||
import com.nextcloud.talk.models.json.conversations.Conversation;
|
||||
import com.nextcloud.talk.models.json.conversations.RoomsOverall;
|
||||
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.DisplayUtils;
|
||||
import com.nextcloud.talk.utils.DoNotDisturbUtils;
|
||||
@ -90,7 +90,6 @@ import org.parceler.Parcels;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@AutoInjector(NextcloudTalkApplication.class)
|
||||
@ -143,7 +142,7 @@ public class CallNotificationController extends BaseController {
|
||||
private Handler handler;
|
||||
|
||||
public CallNotificationController(Bundle args) {
|
||||
super(args);
|
||||
super();
|
||||
NextcloudTalkApplication.Companion.getSharedApplication().getComponentApplication().inject(this);
|
||||
|
||||
this.roomId = args.getString(BundleKeys.INSTANCE.getKEY_ROOM_ID(), "");
|
@ -67,11 +67,11 @@ import com.nextcloud.talk.events.WebSocketCommunicationEvent
|
||||
import com.nextcloud.talk.models.database.UserEntity
|
||||
import com.nextcloud.talk.models.json.chat.ChatMessage
|
||||
import com.nextcloud.talk.models.json.chat.ChatOverall
|
||||
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.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.utils.*
|
||||
import com.nextcloud.talk.utils.bundle.BundleKeys
|
||||
@ -107,7 +107,7 @@ import java.util.concurrent.TimeUnit
|
||||
import javax.inject.Inject
|
||||
|
||||
@AutoInjector(NextcloudTalkApplication::class)
|
||||
class ChatController(args: Bundle) : BaseController(args), MessagesListAdapter
|
||||
class ChatController(args: Bundle) : BaseController(), MessagesListAdapter
|
||||
.OnLoadMoreListener, MessagesListAdapter.Formatter<Date>, MessagesListAdapter
|
||||
.OnMessageLongClickListener<IMessage>, MessageHolders.ContentChecker<IMessage> {
|
||||
|
||||
@ -984,7 +984,7 @@ class ChatController(args: Bundle) : BaseController(args), MessagesListAdapter
|
||||
|
||||
private fun processMessages(response: Response<*>, isFromTheFuture: Boolean, timeout: Int) {
|
||||
val xChatLastGivenHeader: String? = response.headers().get("X-Chat-Last-Given")
|
||||
if (response.headers().size() > 0 && !TextUtils.isEmpty(xChatLastGivenHeader)) {
|
||||
if (response.headers().size > 0 && !TextUtils.isEmpty(xChatLastGivenHeader)) {
|
||||
|
||||
val header = Integer.parseInt(xChatLastGivenHeader!!)
|
||||
if (header > 0) {
|
@ -55,15 +55,15 @@ 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.RetrofitBucket;
|
||||
import com.nextcloud.data.models.RetrofitBucket;
|
||||
import com.nextcloud.talk.models.database.UserEntity;
|
||||
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.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;
|
||||
@ -190,7 +190,7 @@ public class ContactsController extends BaseController implements SearchView.OnQ
|
||||
}
|
||||
|
||||
public ContactsController(Bundle args) {
|
||||
super(args);
|
||||
super();
|
||||
setHasOptionsMenu(true);
|
||||
if (args.containsKey(BundleKeys.INSTANCE.getKEY_NEW_CONVERSATION())) {
|
||||
isNewConversationView = true;
|
@ -59,12 +59,12 @@ import com.nextcloud.talk.events.EventStatus
|
||||
import com.nextcloud.talk.jobs.DeleteConversationWorker
|
||||
import com.nextcloud.talk.jobs.LeaveConversationWorker
|
||||
import com.nextcloud.talk.models.database.UserEntity
|
||||
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.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.DateUtils
|
||||
import com.nextcloud.talk.utils.DisplayUtils
|
||||
@ -89,7 +89,7 @@ import javax.inject.Inject
|
||||
|
||||
|
||||
@AutoInjector(NextcloudTalkApplication::class)
|
||||
class ConversationInfoController(args: Bundle) : BaseController(args), FlexibleAdapter.OnItemClickListener {
|
||||
class ConversationInfoController(args: Bundle) : BaseController(), FlexibleAdapter.OnItemClickListener {
|
||||
|
||||
@BindView(R.id.notification_settings)
|
||||
lateinit var notificationsPreferenceScreen: MaterialPreferenceScreen
|
@ -80,8 +80,8 @@ import com.nextcloud.talk.events.MoreMenuClickEvent;
|
||||
import com.nextcloud.talk.interfaces.ConversationMenuInterface;
|
||||
import com.nextcloud.talk.jobs.DeleteConversationWorker;
|
||||
import com.nextcloud.talk.models.database.UserEntity;
|
||||
import com.nextcloud.talk.models.json.conversations.Conversation;
|
||||
import com.nextcloud.talk.models.json.participants.Participant;
|
||||
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.ConductorRemapping;
|
||||
import com.nextcloud.talk.utils.DisplayUtils;
|
||||
@ -606,8 +606,8 @@ public class ConversationsListController extends BaseController implements Searc
|
||||
bundle.putString(BundleKeys.INSTANCE.getKEY_ROOM_TOKEN(), conversation.getToken());
|
||||
bundle.putString(BundleKeys.INSTANCE.getKEY_ROOM_ID(), conversation.getRoomId());
|
||||
|
||||
if (conversation.hasPassword && (conversation.participantType.equals(Participant.ParticipantType.GUEST) ||
|
||||
conversation.participantType.equals(Participant.ParticipantType.USER_FOLLOWING_LINK))) {
|
||||
if (conversation.getHasPassword() && (conversation.getParticipantType().equals(Participant.ParticipantType.GUEST) ||
|
||||
conversation.getParticipantType().equals(Participant.ParticipantType.USER_FOLLOWING_LINK))) {
|
||||
bundle.putInt(BundleKeys.INSTANCE.getKEY_OPERATION_CODE(), 99);
|
||||
prepareAndShowBottomSheetWithBundle(bundle, false);
|
||||
} else {
|
@ -44,7 +44,7 @@ import com.nextcloud.talk.R;
|
||||
import com.nextcloud.talk.adapters.items.NotificationSoundItem;
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication;
|
||||
import com.nextcloud.talk.controllers.base.BaseController;
|
||||
import com.nextcloud.talk.models.RingtoneSettings;
|
||||
import com.nextcloud.data.models.RingtoneSettings;
|
||||
import com.nextcloud.talk.utils.bundle.BundleKeys;
|
||||
import com.nextcloud.talk.utils.preferences.AppPreferences;
|
||||
import eu.davidea.flexibleadapter.FlexibleAdapter;
|
||||
@ -83,7 +83,7 @@ public class RingtoneSelectionController extends BaseController implements Flexi
|
||||
private Handler cancelMediaPlayerHandler;
|
||||
|
||||
public RingtoneSelectionController(Bundle args) {
|
||||
super(args);
|
||||
super();
|
||||
setHasOptionsMenu(true);
|
||||
this.callNotificationSounds = args.getBoolean(BundleKeys.INSTANCE.getKEY_ARE_CALL_SOUNDS(), false);
|
||||
}
|
@ -38,7 +38,6 @@ import android.view.WindowManager;
|
||||
import android.widget.Checkable;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.emoji.widget.EmojiTextView;
|
||||
import androidx.work.OneTimeWorkRequest;
|
||||
@ -59,7 +58,7 @@ import com.nextcloud.talk.api.NcApi;
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication;
|
||||
import com.nextcloud.talk.controllers.base.BaseController;
|
||||
import com.nextcloud.talk.jobs.AccountRemovalWorker;
|
||||
import com.nextcloud.talk.models.RingtoneSettings;
|
||||
import com.nextcloud.data.models.RingtoneSettings;
|
||||
import com.nextcloud.talk.models.database.UserEntity;
|
||||
import com.nextcloud.talk.utils.*;
|
||||
import com.nextcloud.talk.utils.bundle.BundleKeys;
|
||||
@ -72,10 +71,8 @@ import com.yarolegovich.lovelydialog.LovelySaveStateHandler;
|
||||
import com.yarolegovich.lovelydialog.LovelyStandardDialog;
|
||||
import com.yarolegovich.mp.*;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
import io.reactivex.schedulers.Schedulers;
|
||||
import net.orange_box.storebox.listeners.OnPreferenceValueChangedListener;
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.io.IOException;
|
@ -41,9 +41,9 @@ import com.nextcloud.talk.R;
|
||||
import com.nextcloud.talk.adapters.items.AdvancedUserItem;
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication;
|
||||
import com.nextcloud.talk.controllers.base.BaseController;
|
||||
import com.nextcloud.talk.models.ImportAccount;
|
||||
import com.nextcloud.data.models.ImportAccount;
|
||||
import com.nextcloud.talk.models.database.UserEntity;
|
||||
import com.nextcloud.talk.models.json.participants.Participant;
|
||||
import com.nextcloud.data.models.json.participants.Participant;
|
||||
import com.nextcloud.talk.utils.AccountUtils;
|
||||
import com.nextcloud.talk.utils.bundle.BundleKeys;
|
||||
import com.nextcloud.talk.utils.database.user.UserUtils;
|
||||
@ -137,7 +137,7 @@ public class SwitchAccountController extends BaseController {
|
||||
}
|
||||
|
||||
public SwitchAccountController(Bundle args) {
|
||||
super(args);
|
||||
super();
|
||||
setHasOptionsMenu(true);
|
||||
|
||||
if (args.containsKey(BundleKeys.INSTANCE.getKEY_IS_ACCOUNT_IMPORT())) {
|
@ -48,7 +48,7 @@ import com.nextcloud.talk.application.NextcloudTalkApplication;
|
||||
import com.nextcloud.talk.controllers.base.BaseController;
|
||||
import com.nextcloud.talk.events.CertificateEvent;
|
||||
import com.nextcloud.talk.jobs.PushRegistrationWorker;
|
||||
import com.nextcloud.talk.models.LoginData;
|
||||
import com.nextcloud.data.models.LoginData;
|
||||
import com.nextcloud.talk.models.database.UserEntity;
|
||||
import com.nextcloud.talk.utils.bundle.BundleKeys;
|
||||
import com.nextcloud.talk.utils.database.user.UserUtils;
|
||||
@ -131,10 +131,6 @@ public class WebViewLoginController extends BaseController {
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public WebViewLoginController(Bundle args) {
|
||||
super(args);
|
||||
}
|
||||
|
||||
private String getWebLoginUserAgent() {
|
||||
return Build.MANUFACTURER.substring(0, 1).toUpperCase(Locale.getDefault()) +
|
||||
Build.MANUFACTURER.substring(1).toLowerCase(Locale.getDefault()) + " " + Build.MODEL + " ("
|
@ -59,12 +59,10 @@ public abstract class BaseController extends ButterKnifeController {
|
||||
@Inject
|
||||
Context context;
|
||||
|
||||
protected BaseController() {
|
||||
cleanTempCertPreference();
|
||||
}
|
||||
|
||||
protected BaseController(Bundle args) {
|
||||
super(args);
|
||||
@Override
|
||||
protected void onContextAvailable(Context context) {
|
||||
super.onContextAvailable(context);
|
||||
NextcloudTalkApplication.Companion.getSharedApplication().getComponentApplication().inject(this);
|
||||
cleanTempCertPreference();
|
||||
}
|
||||
|
||||
@ -80,8 +78,6 @@ public abstract class BaseController extends ButterKnifeController {
|
||||
}
|
||||
|
||||
private void cleanTempCertPreference() {
|
||||
NextcloudTalkApplication.Companion.getSharedApplication().getComponentApplication().inject(this);
|
||||
|
||||
List<String> temporaryClassNames = new ArrayList<>();
|
||||
temporaryClassNames.add(ServerSelectionController.class.getName());
|
||||
temporaryClassNames.add(AccountVerificationController.class.getName());
|
@ -49,7 +49,7 @@ import com.nextcloud.talk.events.BottomSheetLockEvent;
|
||||
import com.nextcloud.talk.interfaces.ConversationMenuInterface;
|
||||
import com.nextcloud.talk.jobs.LeaveConversationWorker;
|
||||
import com.nextcloud.talk.models.database.UserEntity;
|
||||
import com.nextcloud.talk.models.json.conversations.Conversation;
|
||||
import com.nextcloud.data.models.json.conversations.Conversation;
|
||||
import com.nextcloud.talk.utils.DisplayUtils;
|
||||
import com.nextcloud.talk.utils.ShareUtils;
|
||||
import com.nextcloud.talk.utils.bundle.BundleKeys;
|
||||
@ -86,7 +86,7 @@ public class CallMenuController extends BaseController implements FlexibleAdapte
|
||||
private ConversationMenuInterface conversationMenuInterface;
|
||||
|
||||
public CallMenuController(Bundle args) {
|
||||
super(args);
|
||||
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()));
|
||||
@ -94,7 +94,7 @@ public class CallMenuController extends BaseController implements FlexibleAdapte
|
||||
}
|
||||
|
||||
public CallMenuController(Bundle args, @Nullable ConversationMenuInterface conversationMenuInterface) {
|
||||
super(args);
|
||||
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()));
|
||||
@ -268,7 +268,7 @@ public class CallMenuController extends BaseController implements FlexibleAdapte
|
||||
} else if (menuType.equals(MenuType.SHARE) && position != 0) {
|
||||
AppItem appItem = (AppItem) adapter.getItem(position);
|
||||
if (appItem != null && getActivity() != null) {
|
||||
if (!conversation.hasPassword) {
|
||||
if (!conversation.getHasPassword()) {
|
||||
shareIntent.putExtra(Intent.EXTRA_TEXT, ShareUtils.getStringForIntent(getActivity(), null,
|
||||
userUtils, conversation));
|
||||
Intent intent = new Intent(shareIntent);
|
@ -41,13 +41,12 @@ import butterknife.BindView;
|
||||
import butterknife.OnClick;
|
||||
import com.bluelinelabs.conductor.RouterTransaction;
|
||||
import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler;
|
||||
import com.google.android.material.textfield.TextInputEditText;
|
||||
import com.google.android.material.textfield.TextInputLayout;
|
||||
import com.nextcloud.talk.R;
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication;
|
||||
import com.nextcloud.talk.controllers.base.BaseController;
|
||||
import com.nextcloud.talk.events.BottomSheetLockEvent;
|
||||
import com.nextcloud.talk.models.json.conversations.Conversation;
|
||||
import com.nextcloud.data.models.json.conversations.Conversation;
|
||||
import com.nextcloud.talk.utils.EmojiTextInputEditText;
|
||||
import com.nextcloud.talk.utils.ShareUtils;
|
||||
import com.nextcloud.talk.utils.bundle.BundleKeys;
|
||||
@ -99,7 +98,7 @@ public class EntryMenuController extends BaseController {
|
||||
private Bundle originalBundle;
|
||||
|
||||
public EntryMenuController(Bundle args) {
|
||||
super(args);
|
||||
super();
|
||||
originalBundle = args;
|
||||
|
||||
this.operationCode = args.getInt(BundleKeys.INSTANCE.getKEY_OPERATION_CODE());
|
@ -48,14 +48,14 @@ import com.nextcloud.talk.api.NcApi;
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication;
|
||||
import com.nextcloud.talk.controllers.base.BaseController;
|
||||
import com.nextcloud.talk.events.BottomSheetLockEvent;
|
||||
import com.nextcloud.talk.models.RetrofitBucket;
|
||||
import com.nextcloud.data.models.RetrofitBucket;
|
||||
import com.nextcloud.talk.models.database.UserEntity;
|
||||
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.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.ConductorRemapping;
|
||||
import com.nextcloud.talk.utils.DisplayUtils;
|
||||
@ -127,7 +127,7 @@ public class OperationsMenuController extends BaseController {
|
||||
private String conversationName;
|
||||
|
||||
public OperationsMenuController(Bundle args) {
|
||||
super(args);
|
||||
super();
|
||||
this.operationCode = args.getInt(BundleKeys.INSTANCE.getKEY_OPERATION_CODE());
|
||||
if (args.containsKey(BundleKeys.INSTANCE.getKEY_ROOM())) {
|
||||
this.conversation = Parcels.unwrap(args.getParcelable(BundleKeys.INSTANCE.getKEY_ROOM()));
|
@ -20,7 +20,7 @@
|
||||
|
||||
package com.nextcloud.talk.events;
|
||||
|
||||
import com.nextcloud.talk.models.json.conversations.Conversation;
|
||||
import com.nextcloud.data.models.json.conversations.Conversation;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
@ -21,7 +21,7 @@
|
||||
package com.nextcloud.talk.events;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import com.nextcloud.talk.models.json.signaling.NCIceCandidate;
|
||||
import com.nextcloud.data.models.json.signaling.NCIceCandidate;
|
||||
import lombok.Data;
|
||||
import org.webrtc.SessionDescription;
|
||||
|
@ -18,23 +18,17 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.nextcloud.talk.models.json.push;
|
||||
package com.nextcloud.talk.features.conversationsList
|
||||
|
||||
import com.bluelinelabs.logansquare.annotation.JsonField;
|
||||
import com.bluelinelabs.logansquare.annotation.JsonObject;
|
||||
import lombok.Data;
|
||||
import org.parceler.Parcel;
|
||||
import com.nextcloud.data.models.json.conversations.Conversation
|
||||
|
||||
@Data
|
||||
@Parcel
|
||||
@JsonObject
|
||||
public class NotificationUser {
|
||||
@JsonField(name = "type")
|
||||
String type;
|
||||
|
||||
@JsonField(name = "id")
|
||||
String id;
|
||||
|
||||
@JsonField(name = "name")
|
||||
String name;
|
||||
class ConversationsListContract {
|
||||
interface View {
|
||||
fun onLoadConversationsSuccess(conversations: List<Conversation>)
|
||||
fun onLoadConversationsFailure(throwable: Throwable)
|
||||
}
|
||||
|
||||
interface Presenter {
|
||||
fun loadConversations()
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user