浏览代码

First step to AndroidX migration

Mario Danic 6 年之前
父节点
当前提交
bd2820c90e
共有 90 个文件被更改,包括 560 次插入378 次删除
  1. 16 16
      app/build.gradle
  2. 2 2
      app/src/androidTest/java/com/nextcloud/talk/ExampleInstrumentedTest.java
  3. 1 1
      app/src/main/java/com/nextcloud/talk/activities/MagicCallActivity.java
  4. 5 5
      app/src/main/java/com/nextcloud/talk/activities/MainActivity.java
  5. 1 1
      app/src/main/java/com/nextcloud/talk/adapters/items/AdvancedUserItem.java
  6. 1 1
      app/src/main/java/com/nextcloud/talk/adapters/items/AppItem.java
  7. 1 1
      app/src/main/java/com/nextcloud/talk/adapters/items/ProgressItem.java
  8. 1 2
      app/src/main/java/com/nextcloud/talk/adapters/messages/MagicIncomingTextMessageViewHolder.java
  9. 1 1
      app/src/main/java/com/nextcloud/talk/adapters/messages/MagicOutcomingTextMessageViewHolder.java
  10. 1 1
      app/src/main/java/com/nextcloud/talk/adapters/messages/MagicSystemMessageViewHolder.java
  11. 1 1
      app/src/main/java/com/nextcloud/talk/api/NcApi.java
  12. 6 6
      app/src/main/java/com/nextcloud/talk/application/NextcloudTalkApplication.java
  13. 1 1
      app/src/main/java/com/nextcloud/talk/controllers/AccountVerificationController.java
  14. 3 3
      app/src/main/java/com/nextcloud/talk/controllers/CallController.java
  15. 3 3
      app/src/main/java/com/nextcloud/talk/controllers/CallNotificationController.java
  16. 4 4
      app/src/main/java/com/nextcloud/talk/controllers/ChatController.java
  17. 10 10
      app/src/main/java/com/nextcloud/talk/controllers/ContactsController.java
  18. 9 9
      app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java
  19. 1 1
      app/src/main/java/com/nextcloud/talk/controllers/MagicBottomNavigationController.java
  20. 3 3
      app/src/main/java/com/nextcloud/talk/controllers/RingtoneSelectionController.java
  21. 1 1
      app/src/main/java/com/nextcloud/talk/controllers/ServerSelectionController.java
  22. 2 2
      app/src/main/java/com/nextcloud/talk/controllers/SettingsController.java
  23. 5 5
      app/src/main/java/com/nextcloud/talk/controllers/SwitchAccountController.java
  24. 1 1
      app/src/main/java/com/nextcloud/talk/controllers/WebViewLoginController.java
  25. 2 2
      app/src/main/java/com/nextcloud/talk/controllers/base/BaseController.java
  26. 1 1
      app/src/main/java/com/nextcloud/talk/controllers/base/ButterKnifeController.java
  27. 1 1
      app/src/main/java/com/nextcloud/talk/controllers/base/RefWatchingController.java
  28. 4 4
      app/src/main/java/com/nextcloud/talk/controllers/base/bottomnavigation/BottomNavigationController.java
  29. 1 1
      app/src/main/java/com/nextcloud/talk/controllers/base/bottomnavigation/BottomNavigationMenuItem.java
  30. 1 1
      app/src/main/java/com/nextcloud/talk/controllers/base/providers/ActionBarProvider.java
  31. 3 3
      app/src/main/java/com/nextcloud/talk/controllers/bottomsheet/CallMenuController.java
  32. 1 1
      app/src/main/java/com/nextcloud/talk/controllers/bottomsheet/EntryMenuController.java
  33. 2 2
      app/src/main/java/com/nextcloud/talk/controllers/bottomsheet/OperationsMenuController.java
  34. 1 1
      app/src/main/java/com/nextcloud/talk/dagger/modules/ContextModule.java
  35. 1 1
      app/src/main/java/com/nextcloud/talk/dagger/modules/DatabaseModule.java
  36. 2 2
      app/src/main/java/com/nextcloud/talk/dagger/modules/RestModule.java
  37. 1 1
      app/src/main/java/com/nextcloud/talk/events/CertificateEvent.java
  38. 1 1
      app/src/main/java/com/nextcloud/talk/events/MediaStreamEvent.java
  39. 1 1
      app/src/main/java/com/nextcloud/talk/events/PeerConnectionEvent.java
  40. 1 1
      app/src/main/java/com/nextcloud/talk/events/SessionDescriptionSendEvent.java
  41. 1 1
      app/src/main/java/com/nextcloud/talk/jobs/AccountRemovalWorker.java
  42. 1 1
      app/src/main/java/com/nextcloud/talk/jobs/CapabilitiesWorker.java
  43. 1 1
      app/src/main/java/com/nextcloud/talk/jobs/NotificationWorker.java
  44. 1 1
      app/src/main/java/com/nextcloud/talk/jobs/PushRegistrationWorker.java
  45. 1 1
      app/src/main/java/com/nextcloud/talk/models/ImportAccount.java
  46. 1 1
      app/src/main/java/com/nextcloud/talk/models/RingtoneSettings.java
  47. 2 2
      app/src/main/java/com/nextcloud/talk/presenters/MentionAutocompletePresenter.java
  48. 2 2
      app/src/main/java/com/nextcloud/talk/utils/ApiUtils.java
  49. 6 6
      app/src/main/java/com/nextcloud/talk/utils/DisplayUtils.java
  50. 2 2
      app/src/main/java/com/nextcloud/talk/utils/EmojiDetection.java
  51. 1 1
      app/src/main/java/com/nextcloud/talk/utils/ShareUtils.java
  52. 1 1
      app/src/main/java/com/nextcloud/talk/utils/animations/PulseAnimation.java
  53. 3 3
      app/src/main/java/com/nextcloud/talk/utils/animations/ViewHidingBehaviourAnimation.java
  54. 1 1
      app/src/main/java/com/nextcloud/talk/utils/database/user/UserUtils.java
  55. 1 1
      app/src/main/java/com/nextcloud/talk/utils/preferences/MagicUserInputModule.java
  56. 1 1
      app/src/main/java/com/nextcloud/talk/utils/singletons/ApplicationWideMessageHolder.java
  57. 1 1
      app/src/main/java/com/nextcloud/talk/utils/ssl/MagicKeyManager.java
  58. 5 5
      app/src/main/res/layout/activity_main.xml
  59. 17 17
      app/src/main/res/layout/call_item.xml
  60. 3 3
      app/src/main/res/layout/controller_bottom_navigation.xml
  61. 1 1
      app/src/main/res/layout/controller_call_menu.xml
  62. 2 2
      app/src/main/res/layout/controller_call_notification.xml
  63. 5 5
      app/src/main/res/layout/controller_conversations_rv.xml
  64. 5 5
      app/src/main/res/layout/controller_generic_rv.xml
  65. 2 2
      app/src/main/res/layout/view_message_input.xml
  66. 1 1
      app/src/main/res/menu/menu_conversation_plus_filter.xml
  67. 20 0
      app/src/main/res/values-b+en+001/strings.xml
  68. 20 0
      app/src/main/res/values-cs-rCZ/strings.xml
  69. 20 0
      app/src/main/res/values-es-rCL/strings.xml
  70. 20 0
      app/src/main/res/values-es-rCO/strings.xml
  71. 20 0
      app/src/main/res/values-es-rCR/strings.xml
  72. 20 0
      app/src/main/res/values-es-rDO/strings.xml
  73. 20 0
      app/src/main/res/values-es-rEC/strings.xml
  74. 20 0
      app/src/main/res/values-es-rGT/strings.xml
  75. 20 0
      app/src/main/res/values-es-rMX/strings.xml
  76. 20 0
      app/src/main/res/values-es-rSV/strings.xml
  77. 20 0
      app/src/main/res/values-hu-rHU/strings.xml
  78. 0 199
      app/src/main/res/values-it/strings.xml
  79. 20 0
      app/src/main/res/values-ka-rGE/strings.xml
  80. 20 0
      app/src/main/res/values-nb-rNO/strings.xml
  81. 20 0
      app/src/main/res/values-pt-rBR/strings.xml
  82. 20 0
      app/src/main/res/values-pt-rPT/strings.xml
  83. 20 0
      app/src/main/res/values-sk-rSK/strings.xml
  84. 20 0
      app/src/main/res/values-tr/strings.xml
  85. 20 0
      app/src/main/res/values-vi/strings.xml
  86. 20 0
      app/src/main/res/values-zh-rCN/strings.xml
  87. 0 1
      app/src/main/res/values/styles.xml
  88. 2 2
      build.gradle
  89. 3 0
      gradle.properties
  90. 3 3
      gradle/wrapper/gradle-wrapper.properties

+ 16 - 16
app/build.gradle

@@ -8,17 +8,17 @@ if (taskRequest.contains("Gplay") || taskRequest.contains("findbugs") || taskReq
 }
 
 android {
-    compileSdkVersion 27
-    buildToolsVersion '27.0.3'
+    compileSdkVersion 28
+    buildToolsVersion '28.0.3'
     defaultConfig {
         applicationId "com.nextcloud.talk2"
         versionName version
         minSdkVersion 21
-        targetSdkVersion 27
-        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+        targetSdkVersion 28
+        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
 
-        versionCode 62
-        versionName "3.0.0"
+        versionCode 63
+        versionName "3.0.1"
 
         flavorDimensions "default"
         renderscriptTargetApi 19
@@ -103,18 +103,18 @@ configurations.all {
 
 dependencies {
     implementation fileTree(dir: 'libs', include: ['*.jar'])
-    implementation "com.android.support:appcompat-v7:${supportLibraryVersion}"
-    implementation "com.android.support:design:${supportLibraryVersion}"
-    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
-    implementation "com.android.support:support-emoji-bundled:${supportLibraryVersion}"
-    implementation "com.android.support:palette-v7:${supportLibraryVersion}"
+    implementation 'androidx.appcompat:appcompat:1.0.0'
+    implementation 'com.google.android.material:material:1.0.0'
+    implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha2'
+    implementation 'androidx.emoji:emoji-bundled:1.0.0'
+    implementation 'androidx.palette:palette:1.0.0'
     implementation "android.arch.work:work-runtime:${workVersion}"
     implementation "android.arch.work:work-firebase:${workVersion}"
     androidTestImplementation "android.arch.work:work-testing:${workVersion}"
 
-    implementation "android.arch.lifecycle:extensions:1.1.1"
+    implementation "androidx.lifecycle:lifecycle-extensions:2.0.0"
 
-    implementation 'com.android.support:multidex:1.0.3'
+    implementation 'androidx.multidex:multidex:2.0.0'
 
     implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
     implementation "io.reactivex.rxjava2:rxjava:2.2.2"
@@ -155,8 +155,8 @@ dependencies {
     compileOnly "org.projectlombok:lombok:1.18.2"
     annotationProcessor "org.projectlombok:lombok:1.18.2"
 
-    implementation 'com.jakewharton:butterknife:8.8.1'
-    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
+    implementation 'com.jakewharton:butterknife:9.0.0-SNAPSHOT'
+    annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-SNAPSHOT'
 
     debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.5.4'
     releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4'
@@ -194,7 +194,7 @@ dependencies {
     implementation 'com.kevalpatel2106:emoticongifkeyboard:1.1'
 
     testImplementation 'junit:junit:4.12'
-    androidTestImplementation ('com.android.support.test.espresso:espresso-core:3.0.1', {
+    androidTestImplementation ('androidx.test.espresso:espresso-core:3.1.0-alpha4', {
         exclude group: 'com.android.support', module: 'support-annotations'
     })
 

+ 2 - 2
app/src/androidTest/java/com/nextcloud/talk/ExampleInstrumentedTest.java

@@ -1,8 +1,8 @@
 package com.nextcloud.talk;
 
 import android.content.Context;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.InstrumentationRegistry;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;

+ 1 - 1
app/src/main/java/com/nextcloud/talk/activities/MagicCallActivity.java

@@ -22,7 +22,7 @@ package com.nextcloud.talk.activities;
 
 import android.content.res.Configuration;
 import android.os.Bundle;
-import android.support.v7.app.AppCompatActivity;
+import androidx.appcompat.app.AppCompatActivity;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.Window;

+ 5 - 5
app/src/main/java/com/nextcloud/talk/activities/MainActivity.java

@@ -23,11 +23,11 @@ package com.nextcloud.talk.activities;
 import android.annotation.SuppressLint;
 import android.content.Intent;
 import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.text.emoji.EmojiCompat;
-import android.support.text.emoji.bundled.BundledEmojiCompatConfig;
-import android.support.v7.app.AppCompatActivity;
-import android.support.v7.widget.Toolbar;
+import androidx.annotation.Nullable;
+import androidx.emoji.text.EmojiCompat;
+import androidx.emoji.bundled.BundledEmojiCompatConfig;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.widget.Toolbar;
 import android.util.Log;
 import android.view.ViewGroup;
 import android.webkit.SslErrorHandler;

+ 1 - 1
app/src/main/java/com/nextcloud/talk/adapters/items/AdvancedUserItem.java

@@ -21,7 +21,7 @@
 package com.nextcloud.talk.adapters.items;
 
 import android.accounts.Account;
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
 import android.view.View;
 import android.widget.ImageButton;
 import android.widget.ImageView;

+ 1 - 1
app/src/main/java/com/nextcloud/talk/adapters/items/AppItem.java

@@ -21,7 +21,7 @@
 package com.nextcloud.talk.adapters.items;
 
 import android.graphics.drawable.Drawable;
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
 import android.text.Spannable;
 import android.text.SpannableString;
 import android.text.style.ForegroundColorSpan;

+ 1 - 1
app/src/main/java/com/nextcloud/talk/adapters/items/ProgressItem.java

@@ -26,7 +26,7 @@ package com.nextcloud.talk.adapters.items;
 
 import android.animation.Animator;
 import android.content.Context;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
 import android.view.View;
 import android.widget.ProgressBar;
 import android.widget.TextView;

+ 1 - 2
app/src/main/java/com/nextcloud/talk/adapters/messages/MagicIncomingTextMessageViewHolder.java

@@ -23,10 +23,9 @@ package com.nextcloud.talk.adapters.messages;
 import android.content.Context;
 import android.content.Intent;
 import android.content.res.Resources;
-import android.graphics.Color;
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
-import android.support.v4.view.ViewCompat;
+import androidx.core.view.ViewCompat;
 import android.text.Spannable;
 import android.text.SpannableString;
 import android.text.TextUtils;

+ 1 - 1
app/src/main/java/com/nextcloud/talk/adapters/messages/MagicOutcomingTextMessageViewHolder.java

@@ -25,7 +25,7 @@ import android.content.Intent;
 import android.content.res.Resources;
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
-import android.support.v4.view.ViewCompat;
+import androidx.core.view.ViewCompat;
 import android.text.Spannable;
 import android.text.SpannableString;
 import android.text.style.RelativeSizeSpan;

+ 1 - 1
app/src/main/java/com/nextcloud/talk/adapters/messages/MagicSystemMessageViewHolder.java

@@ -25,7 +25,7 @@ import android.content.Intent;
 import android.content.res.Resources;
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
-import android.support.v4.view.ViewCompat;
+import androidx.core.view.ViewCompat;
 import android.text.Spannable;
 import android.text.SpannableString;
 import android.view.View;

+ 1 - 1
app/src/main/java/com/nextcloud/talk/api/NcApi.java

@@ -20,7 +20,7 @@
  */
 package com.nextcloud.talk.api;
 
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
 
 import com.nextcloud.talk.models.json.call.CallOverall;
 import com.nextcloud.talk.models.json.capabilities.CapabilitiesOverall;

+ 6 - 6
app/src/main/java/com/nextcloud/talk/application/NextcloudTalkApplication.java

@@ -20,14 +20,14 @@
  */
 package com.nextcloud.talk.application;
 
-import android.arch.lifecycle.Lifecycle;
-import android.arch.lifecycle.LifecycleObserver;
-import android.arch.lifecycle.OnLifecycleEvent;
-import android.arch.lifecycle.ProcessLifecycleOwner;
+import androidx.lifecycle.Lifecycle;
+import androidx.lifecycle.LifecycleObserver;
+import androidx.lifecycle.OnLifecycleEvent;
+import androidx.lifecycle.ProcessLifecycleOwner;
 import android.content.Context;
 import android.os.Build;
-import android.support.multidex.MultiDex;
-import android.support.multidex.MultiDexApplication;
+import androidx.multidex.MultiDex;
+import androidx.multidex.MultiDexApplication;
 import android.util.Log;
 
 import com.nextcloud.talk.dagger.modules.BusModule;

+ 1 - 1
app/src/main/java/com/nextcloud/talk/controllers/AccountVerificationController.java

@@ -23,7 +23,7 @@ package com.nextcloud.talk.controllers;
 import android.content.pm.ActivityInfo;
 import android.os.Bundle;
 import android.os.Handler;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
 import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.View;

+ 3 - 3
app/src/main/java/com/nextcloud/talk/controllers/CallController.java

@@ -29,9 +29,9 @@ import android.graphics.Color;
 import android.os.Build;
 import android.os.Bundle;
 import android.os.Handler;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v7.app.AppCompatActivity;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AppCompatActivity;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.LayoutInflater;

+ 3 - 3
app/src/main/java/com/nextcloud/talk/controllers/CallNotificationController.java

@@ -37,9 +37,9 @@ import android.renderscript.Allocation;
 import android.renderscript.Element;
 import android.renderscript.RenderScript;
 import android.renderscript.ScriptIntrinsicBlur;
-import android.support.annotation.NonNull;
-import android.support.constraint.ConstraintLayout;
-import android.support.v7.graphics.Palette;
+import androidx.annotation.NonNull;
+import androidx.constraintlayout.widget.ConstraintLayout;
+import androidx.palette.graphics.Palette;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.LayoutInflater;

+ 4 - 4
app/src/main/java/com/nextcloud/talk/controllers/ChatController.java

@@ -31,10 +31,10 @@ import android.graphics.drawable.ColorDrawable;
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.os.Handler;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.LayoutInflater;

+ 10 - 10
app/src/main/java/com/nextcloud/talk/controllers/ContactsController.java

@@ -25,13 +25,13 @@ import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
 import android.os.Handler;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.design.widget.BottomNavigationView;
-import android.support.v4.view.MenuItemCompat;
-import android.support.v4.widget.SwipeRefreshLayout;
-import android.support.v7.widget.RecyclerView;
-import android.support.v7.widget.SearchView;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import com.google.android.material.bottomnavigation.BottomNavigationView;
+import androidx.core.view.MenuItemCompat;
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.appcompat.widget.SearchView;
 import android.text.InputType;
 import android.text.TextUtils;
 import android.view.LayoutInflater;
@@ -229,7 +229,7 @@ public class ContactsController extends BaseController implements SearchView.OnQ
 
         adapter.setEndlessScrollListener(this, new ProgressItem());
 
-        adapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
+        adapter.registerAdapterDataObserver(new androidx.recyclerview.widget.RecyclerView.AdapterDataObserver() {
             @Override
             public void onChanged() {
                 super.onChanged();
@@ -332,7 +332,7 @@ public class ContactsController extends BaseController implements SearchView.OnQ
         }
 
         final View mSearchEditFrame = searchView
-                .findViewById(android.support.v7.appcompat.R.id.search_edit_frame);
+                .findViewById(androidx.appcompat.R.id.search_edit_frame);
 
         BottomNavigationView bottomNavigationView = null;
         if (getParentController() != null && getParentController().getView() != null) {
@@ -601,7 +601,7 @@ public class ContactsController extends BaseController implements SearchView.OnQ
 
     private void prepareViews() {
         layoutManager = new SmoothScrollLinearLayoutManager(getActivity());
-        recyclerView.setLayoutManager(layoutManager);
+        recyclerView.setLayoutManager(new SmoothScrollLinearLayoutManager(getActivity()));
         recyclerView.setHasFixedSize(true);
         recyclerView.setAdapter(adapter);
 

+ 9 - 9
app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java

@@ -25,14 +25,14 @@ import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
 import android.os.Handler;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.design.widget.BottomNavigationView;
-import android.support.v4.view.MenuItemCompat;
-import android.support.v4.widget.SwipeRefreshLayout;
-import android.support.v7.widget.DividerItemDecoration;
-import android.support.v7.widget.RecyclerView;
-import android.support.v7.widget.SearchView;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import com.google.android.material.bottomnavigation.BottomNavigationView;
+import androidx.core.view.MenuItemCompat;
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
+import androidx.recyclerview.widget.DividerItemDecoration;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.appcompat.widget.SearchView;
 import android.text.InputType;
 import android.text.TextUtils;
 import android.view.LayoutInflater;
@@ -216,7 +216,7 @@ public class ConversationsListController extends BaseController implements Searc
         }
 
         final View mSearchEditFrame = searchView
-                .findViewById(android.support.v7.appcompat.R.id.search_edit_frame);
+                .findViewById(androidx.appcompat.R.id.search_edit_frame);
 
         BottomNavigationView bottomNavigationView = getParentController().getView().findViewById(R.id.navigation);
 

+ 1 - 1
app/src/main/java/com/nextcloud/talk/controllers/MagicBottomNavigationController.java

@@ -24,7 +24,7 @@
 
 package com.nextcloud.talk.controllers;
 
-import android.support.annotation.IdRes;
+import androidx.annotation.IdRes;
 
 import com.bluelinelabs.conductor.Controller;
 import com.nextcloud.talk.R;

+ 3 - 3
app/src/main/java/com/nextcloud/talk/controllers/RingtoneSelectionController.java

@@ -27,9 +27,9 @@ import android.media.RingtoneManager;
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.Handler;
-import android.support.annotation.NonNull;
-import android.support.v4.widget.SwipeRefreshLayout;
-import android.support.v7.widget.RecyclerView;
+import androidx.annotation.NonNull;
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
+import androidx.recyclerview.widget.RecyclerView;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.LayoutInflater;

+ 1 - 1
app/src/main/java/com/nextcloud/talk/controllers/ServerSelectionController.java

@@ -26,7 +26,7 @@ import android.content.pm.ActivityInfo;
 import android.net.Uri;
 import android.os.Bundle;
 import android.security.KeyChain;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
 import android.text.Editable;
 import android.text.TextUtils;
 import android.text.TextWatcher;

+ 2 - 2
app/src/main/java/com/nextcloud/talk/controllers/SettingsController.java

@@ -26,8 +26,8 @@ import android.content.Intent;
 import android.net.Uri;
 import android.os.Bundle;
 import android.security.KeyChain;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.LayoutInflater;

+ 5 - 5
app/src/main/java/com/nextcloud/talk/controllers/SwitchAccountController.java

@@ -25,11 +25,11 @@ package com.nextcloud.talk.controllers;
 
 import android.accounts.Account;
 import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.v4.widget.SwipeRefreshLayout;
-import android.support.v7.widget.DividerItemDecoration;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
+import androidx.annotation.NonNull;
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
+import androidx.recyclerview.widget.DividerItemDecoration;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
 import android.view.LayoutInflater;
 import android.view.MenuItem;
 import android.view.View;

+ 1 - 1
app/src/main/java/com/nextcloud/talk/controllers/WebViewLoginController.java

@@ -28,7 +28,7 @@ import android.os.Build;
 import android.os.Bundle;
 import android.security.KeyChain;
 import android.security.KeyChainException;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
 import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.View;

+ 2 - 2
app/src/main/java/com/nextcloud/talk/controllers/base/BaseController.java

@@ -19,8 +19,8 @@
 package com.nextcloud.talk.controllers.base;
 
 import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.v7.app.ActionBar;
+import androidx.annotation.NonNull;
+import androidx.appcompat.app.ActionBar;
 import android.util.Log;
 import android.view.View;
 

+ 1 - 1
app/src/main/java/com/nextcloud/talk/controllers/base/ButterKnifeController.java

@@ -19,7 +19,7 @@
 package com.nextcloud.talk.controllers.base;
 
 import android.os.Bundle;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;

+ 1 - 1
app/src/main/java/com/nextcloud/talk/controllers/base/RefWatchingController.java

@@ -19,7 +19,7 @@
 package com.nextcloud.talk.controllers.base;
 
 import android.os.Bundle;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
 
 import com.bluelinelabs.conductor.ControllerChangeHandler;
 import com.bluelinelabs.conductor.ControllerChangeType;

+ 4 - 4
app/src/main/java/com/nextcloud/talk/controllers/base/bottomnavigation/BottomNavigationController.java

@@ -25,10 +25,10 @@
 package com.nextcloud.talk.controllers.base.bottomnavigation;
 
 import android.os.Bundle;
-import android.support.annotation.MenuRes;
-import android.support.annotation.NonNull;
-import android.support.design.widget.BottomNavigationView;
-import android.support.design.widget.CoordinatorLayout;
+import androidx.annotation.MenuRes;
+import androidx.annotation.NonNull;
+import com.google.android.material.bottomnavigation.BottomNavigationView;
+import androidx.coordinatorlayout.widget.CoordinatorLayout;
 import android.util.Log;
 import android.util.SparseArray;
 import android.view.LayoutInflater;

+ 1 - 1
app/src/main/java/com/nextcloud/talk/controllers/base/bottomnavigation/BottomNavigationMenuItem.java

@@ -24,7 +24,7 @@
 
 package com.nextcloud.talk.controllers.base.bottomnavigation;
 
-import android.support.annotation.IdRes;
+import androidx.annotation.IdRes;
 
 import com.bluelinelabs.conductor.Controller;
 import com.nextcloud.talk.R;

+ 1 - 1
app/src/main/java/com/nextcloud/talk/controllers/base/providers/ActionBarProvider.java

@@ -18,7 +18,7 @@
  */
 package com.nextcloud.talk.controllers.base.providers;
 
-import android.support.v7.app.ActionBar;
+import androidx.appcompat.app.ActionBar;
 
 public interface ActionBarProvider {
     ActionBar getSupportActionBar();

+ 3 - 3
app/src/main/java/com/nextcloud/talk/controllers/bottomsheet/CallMenuController.java

@@ -23,9 +23,9 @@ package com.nextcloud.talk.controllers.bottomsheet;
 import android.content.ComponentName;
 import android.content.Intent;
 import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
 import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.View;

+ 1 - 1
app/src/main/java/com/nextcloud/talk/controllers/bottomsheet/EntryMenuController.java

@@ -23,7 +23,7 @@ package com.nextcloud.talk.controllers.bottomsheet;
 import android.content.ComponentName;
 import android.content.Intent;
 import android.os.Bundle;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
 import android.text.Editable;
 import android.text.InputType;
 import android.text.TextUtils;

+ 2 - 2
app/src/main/java/com/nextcloud/talk/controllers/bottomsheet/OperationsMenuController.java

@@ -25,8 +25,8 @@ import android.content.Intent;
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.Handler;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.View;

+ 1 - 1
app/src/main/java/com/nextcloud/talk/dagger/modules/ContextModule.java

@@ -21,7 +21,7 @@
 package com.nextcloud.talk.dagger.modules;
 
 import android.content.Context;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
 
 import dagger.Module;
 import dagger.Provides;

+ 1 - 1
app/src/main/java/com/nextcloud/talk/dagger/modules/DatabaseModule.java

@@ -21,7 +21,7 @@
 package com.nextcloud.talk.dagger.modules;
 
 import android.content.Context;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
 
 import com.nextcloud.talk.R;
 import com.nextcloud.talk.models.database.Models;

+ 2 - 2
app/src/main/java/com/nextcloud/talk/dagger/modules/RestModule.java

@@ -20,8 +20,8 @@
  */
 package com.nextcloud.talk.dagger.modules;
 
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import android.text.TextUtils;
 import android.util.Log;
 

+ 1 - 1
app/src/main/java/com/nextcloud/talk/events/CertificateEvent.java

@@ -20,7 +20,7 @@
 
 package com.nextcloud.talk.events;
 
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
 import android.webkit.SslErrorHandler;
 
 import com.nextcloud.talk.utils.ssl.MagicTrustManager;

+ 1 - 1
app/src/main/java/com/nextcloud/talk/events/MediaStreamEvent.java

@@ -20,7 +20,7 @@
 
 package com.nextcloud.talk.events;
 
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
 
 import org.webrtc.MediaStream;
 

+ 1 - 1
app/src/main/java/com/nextcloud/talk/events/PeerConnectionEvent.java

@@ -20,7 +20,7 @@
 
 package com.nextcloud.talk.events;
 
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
 
 import lombok.Data;
 

+ 1 - 1
app/src/main/java/com/nextcloud/talk/events/SessionDescriptionSendEvent.java

@@ -20,7 +20,7 @@
 
 package com.nextcloud.talk.events;
 
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
 
 import com.nextcloud.talk.models.json.signaling.NCIceCandidate;
 

+ 1 - 1
app/src/main/java/com/nextcloud/talk/jobs/AccountRemovalWorker.java

@@ -24,7 +24,7 @@ package com.nextcloud.talk.jobs;
 import android.app.NotificationManager;
 import android.content.Context;
 import android.os.Build;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
 import android.text.TextUtils;
 import android.util.Log;
 

+ 1 - 1
app/src/main/java/com/nextcloud/talk/jobs/CapabilitiesWorker.java

@@ -20,7 +20,7 @@
 
 package com.nextcloud.talk.jobs;
 
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
 import android.util.Log;
 
 import com.bluelinelabs.logansquare.LoganSquare;

+ 1 - 1
app/src/main/java/com/nextcloud/talk/jobs/NotificationWorker.java

@@ -34,7 +34,7 @@ import android.os.Build;
 import android.os.Bundle;
 import android.os.VibrationEffect;
 import android.os.Vibrator;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
 import android.text.TextUtils;
 import android.util.Base64;
 import android.util.Log;

+ 1 - 1
app/src/main/java/com/nextcloud/talk/jobs/PushRegistrationWorker.java

@@ -20,7 +20,7 @@
 
 package com.nextcloud.talk.jobs;
 
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
 
 import com.nextcloud.talk.utils.PushUtils;
 

+ 1 - 1
app/src/main/java/com/nextcloud/talk/models/ImportAccount.java

@@ -20,7 +20,7 @@
 
 package com.nextcloud.talk.models;
 
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
 
 import lombok.Data;
 

+ 1 - 1
app/src/main/java/com/nextcloud/talk/models/RingtoneSettings.java

@@ -21,7 +21,7 @@
 package com.nextcloud.talk.models;
 
 import android.net.Uri;
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;

+ 2 - 2
app/src/main/java/com/nextcloud/talk/presenters/MentionAutocompletePresenter.java

@@ -21,8 +21,8 @@
 package com.nextcloud.talk.presenters;
 
 import android.content.Context;
-import android.support.annotation.Nullable;
-import android.support.v7.widget.RecyclerView;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
 import android.text.TextUtils;
 import android.view.View;
 

+ 2 - 2
app/src/main/java/com/nextcloud/talk/utils/ApiUtils.java

@@ -20,8 +20,8 @@
 package com.nextcloud.talk.utils;
 
 import android.net.Uri;
-import android.support.annotation.DimenRes;
-import android.support.annotation.Nullable;
+import androidx.annotation.DimenRes;
+import androidx.annotation.Nullable;
 
 import com.nextcloud.talk.BuildConfig;
 import com.nextcloud.talk.R;

+ 6 - 6
app/src/main/java/com/nextcloud/talk/utils/DisplayUtils.java

@@ -27,12 +27,12 @@ import android.content.res.Resources;
 import android.graphics.Typeface;
 import android.graphics.drawable.Drawable;
 import android.os.Build;
-import android.support.annotation.ColorInt;
-import android.support.annotation.ColorRes;
-import android.support.annotation.DrawableRes;
-import android.support.v4.content.ContextCompat;
-import android.support.v4.graphics.drawable.DrawableCompat;
-import android.support.v7.widget.AppCompatDrawableManager;
+import androidx.annotation.ColorInt;
+import androidx.annotation.ColorRes;
+import androidx.annotation.DrawableRes;
+import androidx.core.content.ContextCompat;
+import androidx.core.graphics.drawable.DrawableCompat;
+import androidx.appcompat.widget.AppCompatDrawableManager;
 import android.text.Spannable;
 import android.text.TextUtils;
 import android.text.style.AbsoluteSizeSpan;

+ 2 - 2
app/src/main/java/com/nextcloud/talk/utils/EmojiDetection.java

@@ -23,8 +23,8 @@
 package com.nextcloud.talk.utils;
 
 import android.content.Context;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import android.text.TextUtils;
 import android.util.Log;
 

+ 1 - 1
app/src/main/java/com/nextcloud/talk/utils/ShareUtils.java

@@ -28,7 +28,7 @@ import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.graphics.drawable.Drawable;
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
 import android.text.TextUtils;
 
 import com.kennyc.bottomsheet.adapters.AppAdapter;

+ 1 - 1
app/src/main/java/com/nextcloud/talk/utils/animations/PulseAnimation.java

@@ -26,7 +26,7 @@ package com.nextcloud.talk.utils.animations;
 import android.animation.ObjectAnimator;
 import android.animation.PropertyValuesHolder;
 import android.animation.ValueAnimator;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
 import android.view.View;
 
 public class PulseAnimation {

+ 3 - 3
app/src/main/java/com/nextcloud/talk/utils/animations/ViewHidingBehaviourAnimation.java

@@ -24,9 +24,9 @@
 
 package com.nextcloud.talk.utils.animations;
 
-import android.support.annotation.NonNull;
-import android.support.design.widget.CoordinatorLayout;
-import android.support.v4.view.ViewCompat;
+import androidx.annotation.NonNull;
+import androidx.coordinatorlayout.widget.CoordinatorLayout;
+import androidx.core.view.ViewCompat;
 import android.view.View;
 
 public class ViewHidingBehaviourAnimation extends CoordinatorLayout.Behavior<View> {

+ 1 - 1
app/src/main/java/com/nextcloud/talk/utils/database/user/UserUtils.java

@@ -20,7 +20,7 @@
  */
 package com.nextcloud.talk.utils.database.user;
 
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
 import android.text.TextUtils;
 
 import com.nextcloud.talk.models.database.User;

+ 1 - 1
app/src/main/java/com/nextcloud/talk/utils/preferences/MagicUserInputModule.java

@@ -22,7 +22,7 @@ package com.nextcloud.talk.utils.preferences;
 
 import android.app.Dialog;
 import android.content.Context;
-import android.support.v7.app.AlertDialog;
+import androidx.appcompat.app.AlertDialog;
 import android.text.InputType;
 import android.view.LayoutInflater;
 import android.view.View;

+ 1 - 1
app/src/main/java/com/nextcloud/talk/utils/singletons/ApplicationWideMessageHolder.java

@@ -20,7 +20,7 @@
 
 package com.nextcloud.talk.utils.singletons;
 
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
 
 public class ApplicationWideMessageHolder {
     private static final ApplicationWideMessageHolder holder = new ApplicationWideMessageHolder();

+ 1 - 1
app/src/main/java/com/nextcloud/talk/utils/ssl/MagicKeyManager.java

@@ -23,7 +23,7 @@ package com.nextcloud.talk.utils.ssl;
 import android.content.Context;
 import android.security.KeyChain;
 import android.security.KeyChainException;
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
 import android.text.TextUtils;
 import android.util.Log;
 

+ 5 - 5
app/src/main/res/layout/activity_main.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<android.support.design.widget.CoordinatorLayout
+<androidx.coordinatorlayout.widget.CoordinatorLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
@@ -7,19 +7,19 @@
     android:layout_height="match_parent"
     tools:context=".activities.MainActivity">
 
-    <android.support.design.widget.AppBarLayout
+    <com.google.android.material.appbar.AppBarLayout
         android:id="@+id/appBarLayout"
         android:layout_width="match_parent"
         android:layout_height="wrap_content">
 
-        <android.support.v7.widget.Toolbar
+        <androidx.appcompat.widget.Toolbar
             android:id="@+id/toolbar"
             android:layout_width="match_parent"
             android:layout_height="?android:attr/actionBarSize"
             android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
             />
 
-    </android.support.design.widget.AppBarLayout>
+    </com.google.android.material.appbar.AppBarLayout>
 
     <com.bluelinelabs.conductor.ChangeHandlerFrameLayout
         android:id="@+id/controller_container"
@@ -28,4 +28,4 @@
         app:layout_behavior="@string/appbar_scrolling_view_behavior"
         />
 
-</android.support.design.widget.CoordinatorLayout>
+</androidx.coordinatorlayout.widget.CoordinatorLayout>

+ 17 - 17
app/src/main/res/layout/call_item.xml

@@ -38,15 +38,16 @@
         android:layout_height="80dp"
         android:layout_centerInParent="true"/>
 
-    <ImageView
-        android:id="@+id/remote_video_off"
-        android:layout_width="16dp"
-        android:layout_height="16dp"
-        android:layout_below="@id/peer_nick_text_view"
+    <TextView
+        android:id="@+id/peer_nick_text_view"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignParentStart="true"
+        android:layout_alignParentTop="true"
+        android:layout_marginBottom="8dp"
+        android:layout_marginEnd="8dp"
         android:layout_marginStart="8dp"
-        android:layout_toEndOf="@id/remote_audio_off"
-        android:src="@drawable/ic_videocam_off_white_24px"
-        android:visibility="invisible"/>
+        android:textColor="@android:color/white"/>
 
     <ImageView
         android:id="@+id/remote_audio_off"
@@ -59,15 +60,14 @@
         android:src="@drawable/ic_mic_off_white_24px"
         android:visibility="invisible"/>
 
-    <TextView
-        android:id="@+id/peer_nick_text_view"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_alignParentStart="true"
-        android:layout_alignParentTop="true"
-        android:layout_marginBottom="8dp"
-        android:layout_marginEnd="8dp"
+    <ImageView
+        android:id="@+id/remote_video_off"
+        android:layout_width="16dp"
+        android:layout_height="16dp"
+        android:layout_below="@id/peer_nick_text_view"
         android:layout_marginStart="8dp"
-        android:textColor="@android:color/white"/>
+        android:layout_toEndOf="@id/remote_audio_off"
+        android:src="@drawable/ic_videocam_off_white_24px"
+        android:visibility="invisible"/>
 
 </RelativeLayout>

+ 3 - 3
app/src/main/res/layout/controller_bottom_navigation.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<android.support.design.widget.CoordinatorLayout
+<androidx.coordinatorlayout.widget.CoordinatorLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:id="@+id/bottom_navigation_root"
@@ -14,11 +14,11 @@
         android:layout_gravity="top"
         app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
 
-    <android.support.design.widget.BottomNavigationView
+    <com.google.android.material.bottomnavigation.BottomNavigationView
         android:id="@+id/navigation"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_gravity="bottom"
         android:animateLayoutChanges="true"
         android:background="@color/white"/>
-</android.support.design.widget.CoordinatorLayout>
+</androidx.coordinatorlayout.widget.CoordinatorLayout>

+ 1 - 1
app/src/main/res/layout/controller_call_menu.xml

@@ -25,7 +25,7 @@
                 android:layout_height="wrap_content"
                 android:background="@color/nc_white_color">
 
-    <android.support.v7.widget.RecyclerView
+    <androidx.recyclerview.widget.RecyclerView
         android:id="@+id/recycler_view"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"

+ 2 - 2
app/src/main/res/layout/controller_call_notification.xml

@@ -18,7 +18,7 @@
   ~ You should have received a copy of the GNU General Public License
   ~ along with this program.  If not, see <http://www.gnu.org/licenses/>.
   -->
-<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
                                              xmlns:app="http://schemas.android.com/apk/res-auto"
                                              xmlns:tools="http://schemas.android.com/tools"
                                              android:id="@+id/constraintLayout"
@@ -110,4 +110,4 @@
             app:frontImage="@drawable/ic_videocam_white_24px"/>
     </LinearLayout>
 
-</android.support.constraint.ConstraintLayout>
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 5 - 5
app/src/main/res/layout/controller_conversations_rv.xml

@@ -19,7 +19,7 @@
   ~ along with this program.  If not, see <http://www.gnu.org/licenses/>.
   -->
 
-<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
                                                  xmlns:tools="http://schemas.android.com/tools"
                                                  android:id="@+id/generic_rv_layout"
                                                  android:layout_width="match_parent"
@@ -63,7 +63,7 @@
             android:textSize="20sp"/>
     </RelativeLayout>
 
-    <android.support.v4.widget.SwipeRefreshLayout
+    <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
         android:id="@+id/swipeRefreshLayoutView"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
@@ -73,7 +73,7 @@
             android:layout_width="match_parent"
             android:layout_height="match_parent">
 
-            <android.support.v7.widget.RecyclerView
+            <androidx.recyclerview.widget.RecyclerView
                 android:id="@+id/recycler_view"
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
@@ -81,7 +81,7 @@
 
         </FrameLayout>
 
-    </android.support.v4.widget.SwipeRefreshLayout>
+    </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
 
     <include layout="@layout/fast_scroller"/>
-</android.support.design.widget.CoordinatorLayout>
+</androidx.coordinatorlayout.widget.CoordinatorLayout>

+ 5 - 5
app/src/main/res/layout/controller_generic_rv.xml

@@ -19,14 +19,14 @@
   ~ along with this program.  If not, see <http://www.gnu.org/licenses/>.
   -->
 
-<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
                                                  xmlns:tools="http://schemas.android.com/tools"
                                                  android:id="@+id/generic_rv_layout"
                                                  android:layout_width="match_parent"
                                                  android:layout_height="match_parent"
                                                  android:background="@color/nc_white_color">
 
-    <android.support.v4.widget.SwipeRefreshLayout
+    <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
         android:id="@+id/swipe_refresh_layout"
         android:layout_width="match_parent"
         android:layout_height="match_parent">
@@ -35,7 +35,7 @@
             android:layout_width="match_parent"
             android:layout_height="match_parent">
 
-            <android.support.v7.widget.RecyclerView
+            <androidx.recyclerview.widget.RecyclerView
                 android:id="@+id/recycler_view"
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
@@ -43,7 +43,7 @@
 
         </FrameLayout>
 
-    </android.support.v4.widget.SwipeRefreshLayout>
+    </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
 
     <include layout="@layout/fast_scroller"/>
-</android.support.design.widget.CoordinatorLayout>
+</androidx.coordinatorlayout.widget.CoordinatorLayout>

+ 2 - 2
app/src/main/res/layout/view_message_input.xml

@@ -31,7 +31,7 @@
         android:layout_height="wrap_content"
         android:layout_centerVertical="true"/>
 
-    <android.support.v4.widget.Space
+    <androidx.legacy.widget.Space
         android:id="@id/attachmentButtonSpace"
         android:layout_width="0dp"
         android:layout_height="0dp"
@@ -49,7 +49,7 @@
         android:layout_toStartOf="@id/sendButtonSpace"
         android:inputType="textAutoCorrect|textAutoComplete|textMultiLine|textCapSentences"/>
 
-    <android.support.v4.widget.Space
+    <androidx.legacy.widget.Space
         android:id="@id/sendButtonSpace"
         android:layout_width="0dp"
         android:layout_height="0dp"

+ 1 - 1
app/src/main/res/menu/menu_conversation_plus_filter.xml

@@ -28,7 +28,7 @@
 	      android:icon="@drawable/ic_search_white_24dp"
 	      app:showAsAction="collapseActionView|always"
 	      android:animateLayoutChanges="true"
-	      app:actionViewClass="android.support.v7.widget.SearchView"
+	      app:actionViewClass="androidx.appcompat.widget.SearchView"
         />
 
     <item android:id="@+id/action_new_conversation"

+ 20 - 0
app/src/main/res/values-b+en+001/strings.xml

@@ -1,3 +1,23 @@
+<!--
+  ~ Nextcloud Talk application
+  ~
+  ~ @author Mario Danic
+  ~ Copyright (C) 2017-2018 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>
     <!-- Bottom Navigation -->
     <string name="nc_bottom_navigation_title_conversations">Conversations</string>

+ 20 - 0
app/src/main/res/values-cs-rCZ/strings.xml

@@ -1,3 +1,23 @@
+<!--
+  ~ Nextcloud Talk application
+  ~
+  ~ @author Mario Danic
+  ~ Copyright (C) 2017-2018 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>
     <!-- Bottom Navigation -->
     <string name="nc_bottom_navigation_title_conversations">Konverzace</string>

+ 20 - 0
app/src/main/res/values-es-rCL/strings.xml

@@ -1,3 +1,23 @@
+<!--
+  ~ Nextcloud Talk application
+  ~
+  ~ @author Mario Danic
+  ~ Copyright (C) 2017-2018 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>
     <!-- Bottom Navigation -->
     <string name="nc_bottom_navigation_title_conversations">Conversaciones</string>

+ 20 - 0
app/src/main/res/values-es-rCO/strings.xml

@@ -1,3 +1,23 @@
+<!--
+  ~ Nextcloud Talk application
+  ~
+  ~ @author Mario Danic
+  ~ Copyright (C) 2017-2018 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>
     <!-- Bottom Navigation -->
     <string name="nc_bottom_navigation_title_conversations">Conversaciones</string>

+ 20 - 0
app/src/main/res/values-es-rCR/strings.xml

@@ -1,3 +1,23 @@
+<!--
+  ~ Nextcloud Talk application
+  ~
+  ~ @author Mario Danic
+  ~ Copyright (C) 2017-2018 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>
     <!-- Bottom Navigation -->
     <string name="nc_bottom_navigation_title_conversations">Conversaciones</string>

+ 20 - 0
app/src/main/res/values-es-rDO/strings.xml

@@ -1,3 +1,23 @@
+<!--
+  ~ Nextcloud Talk application
+  ~
+  ~ @author Mario Danic
+  ~ Copyright (C) 2017-2018 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>
     <!-- Bottom Navigation -->
     <string name="nc_bottom_navigation_title_conversations">Conversaciones</string>

+ 20 - 0
app/src/main/res/values-es-rEC/strings.xml

@@ -1,3 +1,23 @@
+<!--
+  ~ Nextcloud Talk application
+  ~
+  ~ @author Mario Danic
+  ~ Copyright (C) 2017-2018 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>
     <!-- Bottom Navigation -->
     <string name="nc_bottom_navigation_title_conversations">Conversaciones</string>

+ 20 - 0
app/src/main/res/values-es-rGT/strings.xml

@@ -1,3 +1,23 @@
+<!--
+  ~ Nextcloud Talk application
+  ~
+  ~ @author Mario Danic
+  ~ Copyright (C) 2017-2018 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>
     <!-- Bottom Navigation -->
     <string name="nc_bottom_navigation_title_conversations">Conversaciones</string>

+ 20 - 0
app/src/main/res/values-es-rMX/strings.xml

@@ -1,3 +1,23 @@
+<!--
+  ~ Nextcloud Talk application
+  ~
+  ~ @author Mario Danic
+  ~ Copyright (C) 2017-2018 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>
     <!-- Bottom Navigation -->
     <string name="nc_bottom_navigation_title_conversations">Conversaciones</string>

+ 20 - 0
app/src/main/res/values-es-rSV/strings.xml

@@ -1,3 +1,23 @@
+<!--
+  ~ Nextcloud Talk application
+  ~
+  ~ @author Mario Danic
+  ~ Copyright (C) 2017-2018 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>
     <!-- Bottom Navigation -->
     <string name="nc_bottom_navigation_title_conversations">Conversaciones</string>

+ 20 - 0
app/src/main/res/values-hu-rHU/strings.xml

@@ -1,3 +1,23 @@
+<!--
+  ~ Nextcloud Talk application
+  ~
+  ~ @author Mario Danic
+  ~ Copyright (C) 2017-2018 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>
     <!-- Bottom Navigation -->
     <string name="nc_bottom_navigation_title_conversations">Beszélgetések</string>

+ 0 - 199
app/src/main/res/values-it/strings.xml

@@ -1,199 +0,0 @@
-<resources>
-    <!-- Bottom Navigation -->
-    <string name="nc_bottom_navigation_title_conversations">Conversazioni</string>
-    <string name="nc_bottom_navigation_title_contacts">Contatti</string>
-    <string name="nc_bottom_navigation_title_settings">Impostazioni</string>
-
-    <!-- Server selection -->
-    <string name="nc_server_url">Indirizzo del server</string>
-    <string name="nc_server_not_installed">Termina l\'installazione di %1$s</string>
-    <string name="nc_server_db_upgrade_needed">Aggiorna il tuo database %1$s</string>
-    <string name="nc_server_maintenance">Esci dalla manutenzione di %1$s</string>
-    <string name="nc_server_version">%1$s funziona solo con %2$s 13 e successivi</string>
-    <string name="nc_server_import_account_plain">Importa account</string>
-    <string name="nc_server_import_accounts_plain">Importa account</string>
-    <string name="nc_server_import_account">Importa account dall\'applicazione %1$s</string>
-    <string name="nc_server_import_accounts">Importa account dall\'applicazione %1$s</string>
-    <string name="nc_server_failed_to_import_account">Importazione dell\'account selezionato non riuscita</string>
-    <string name="nc_Server_account_imported">L\'account selezionato è ora importato e disponibile</string>
-    <string name="nc_get_from_provider">Non hai ancora un server?\nFai clic qui per ottenerne uno da un fornitore</string>
-
-    <!-- Account verification -->
-    <string name="nc_display_name_fetched">Nome visualizzato recuperato</string>
-    <string name="nc_push_disabled">Notifiche push disabilitate</string>
-    <string name="nc_capabilities_failed">Recupero delle capacità non riuscito, interruzione in corso</string>
-    <string name="nc_display_name_not_fetched">Il nome visualizzato non può essere recuperato, interruzione in corso</string>
-    <string name="nc_nextcloud_talk_app_installed"> Applicazione %1$s trovate</string>
-    <string name="nc_nextcloud_talk_app_not_installed">Applicazione %1$s non installata, interruzione in corso</string>
-    <string name="nc_display_name_stored">Nome visualizzato memorizzato</string>
-    <string name="nc_display_name_not_stored">Nome visualizzato non memorizzato, interruzione in corso</string>
-
-    <string name="nc_never">Mai partecipato</string>
-    <string name="nc_search">Cerca</string>
-
-    <string name="nc_certificate_dialog_title">Controlla il certificato</string>
-    <string name="nc_certificate_dialog_text">Ti fidi del certificato SSL fino ad ora sconosciuto, rilasciato da %1$s per %2$s, valido da %3$s a %4$s?</string>
-    <string name="nc_yes">Sì</string>
-    <string name="nc_no">No</string>
-    <string name="nc_details">Dettagli</string>
-    <string name="nc_certificate_error">La tua configurazione SSL ha impedito la connessione</string>
-
-    <!-- Settings -->
-    <string name="nc_settings_proxy_title">Proxy</string>
-    <string name="nc_settings_proxy_type_title">Tipo proxy</string>
-    <string name="nc_settings_proxy_host_title">Host proxy</string>
-    <string name="nc_settings_proxy_port_title">Porta proxy</string>
-    <string name="nc_settings_use_credentials_title">Usa credenziali</string>
-    <string name="nc_settings_switch_account">Cambia account</string>
-    <string name="nc_settings_reauthorize">Autorizza nuovamente</string>
-    <string name="nc_client_cert_setup">Configura certificato client</string>
-    <string name="nc_client_cert_change">Cambia certificato client</string>
-    <string name="nc_settings_remove_account">Rimuovi account</string>
-    <string name="nc_settings_add_account">Aggiungi un nuovo account</string>
-    <string name="nc_settings_wrong_account">Può essere autorizzato nuovamente solo l\'account attuale</string>
-    <string name="nc_settings_no_talk_installed">L\'applicazione Talk non è installata sul server sul quale hai provato l\'autorizzazione</string>
-    <string name="nc_settings_account_updated">Il tuo account preesistente è stato aggiornato, invece di aggiungerne un nuovo</string>
-    <string name="nc_account_scheduled_for_deletion">L\'eliminazione dell\'account è stata pianificata, e non può essere modificata</string>
-    <string name="nc_settings_notification_sounds">Suoni delle notifiche</string>
-    <string name="nc_settings_call_ringtone">Chiamate uno a uno</string>
-    <string name="nc_settings_other_notifications_ringtone">Altro</string>
-    <string name="nc_settings_no_ringtone">Nessun suono</string>
-    <string name="nc_settings_vibrate">Vibrazione</string>
-    <string name="nc_settings_vibrate_desc">Se abilitata, il telefono vibrerà a meno che sia silenziato</string>
-    <string name="nc_no_proxy">Nessun proxy</string>
-    <string name="nc_username">Nome utente</string>
-    <string name="nc_password">Password</string>
-    <string name="nc_conversation_link">Collegamento della conversazione</string>
-    <string name="nc_new_password">Nuova password</string>
-    <string name="nc_wrong_password">Password errata</string>
-    <string name="nc_about">Informazioni</string>
-    <string name="nc_privacy">Riservatezza</string>
-    <string name="nc_get_source_code">Ottieni codice sorgente</string>
-    <string name="nc_license_title">Licenza</string>
-    <string name="nc_license_summary">GNU General Public License, versione 3</string>
-
-    <string name="nc_select_an_account">Seleziona account</string>
-
-    <!-- Conversation menu -->
-    <string name="nc_start_conversation">Inizia una conversazione</string>
-    <string name="nc_configure_room">Configura conversazione</string>
-    <string name="nc_leave">Lascia la conversazione</string>
-    <string name="nc_rename">Rinomina conversazione</string>
-    <string name="nc_set_password">Imposta una password</string>
-    <string name="nc_change_password">Modifica password</string>
-    <string name="nc_clear_password">Cancella la password</string>
-    <string name="nc_share_link">Condividi collegamento</string>
-    <string name="nc_share_link_via">Condividi collegamento tramite</string>
-    <string name="nc_make_call_public">Rendi pubblica la conversazione</string>
-    <string name="nc_make_call_private">Rendi privata la conversazione</string>
-    <string name="nc_delete_call">Elimina conversazione</string>
-    <string name="nc_new_conversation">Nuova conversazione</string>
-    <string name="nc_join_via_link">Unisciti tramite collegamento</string>
-    <string name="nc_join_via_web">Unisciti tramite web</string>
-    <string name="nc_add_to_favorites">Aggiungi ai preferiti</string>
-    <string name="nc_remove_from_favorites">Rimuovi dai preferiti</string>
-
-    <!-- Contacts -->
-    <string name="nc_select_contacts">Seleziona contatti</string>
-    <string name="nc_one_contact_selected">contatto selezionato</string>
-    <string name="nc_more_contacts_selected">contatti selezionati</string>
-    <string name="nc_contacts_clear">Cancella</string>
-    <string name="nc_contacts_done">Fine</string>
-
-    <!-- Permissions -->
-    <string name="nc_permissions">È necessario accordare permessi per stabilire una chiamata audio/video. Fai clic su \"CONSENTI\" nella finestra di sistema che apparirà.</string>
-    <string name="nc_permissions_audio">Il permesso per il microfono deve essere accordato per abilitare le chiamate audio. Fai clic su \"CONSENTI\" nella finestra di sistema che apparirà.</string>
-    <string name="nc_permissions_video">Il permesso per la fotocamera deve essere accordato per abilitare le chiamate video. Fai clic su \\"CONSENTI\\" nella finestra di sistema che apparirà.</string>
-    <string name="nc_camera_permission_permanently_denied">Per abilitare la comunicazione video devi accordare il permesso per la \"Fotocamera\" nelle impostazioni di sistema.</string>
-    <string name="nc_microphone_permission_permanently_denied">Per abilitare la comunicazione vocale devi accordare il permesso per  \"Microfono\" nelle impostazioni di sistema.</string>
-    <string name="nc_permissions_settings">Apri impostazioni</string>
-
-    <!-- Call -->
-    <string name="nc_connecting_call">Connessione in corso…</string>
-    <string name="nc_incoming_call">Chiamata in ingresso da</string>
-    <string name="nc_nick_guest">Ospite</string>
-    <string name="nc_public_call">Nuova conversazione pubblica</string>
-    <string name="nc_public_call_explanation">Le conversazioni pubbliche ti consentono di invitare persone esterne tramite un
-       collegamento appositamente generato.</string>
-
-    <!-- Notification channels -->
-    <string name="nc_notification_channel">%1$s sul canale di notifica %2$s</string>
-    <string name="nc_notification_channel_calls">Canale di notifica delle chiamate</string>
-    <string name="nc_notification_channel_messages">Canale di notifica dei messaggi</string>
-    <string name="nc_notification_channel_calls_description">Mostra le chiamate in ingresso</string>
-    <string name="nc_notification_channel_messages_description">Mostra i messaggi in ingresso</string>
-
-    <!-- Bottom sheet menu -->
-    <string name="nc_failed_to_perform_operation">Spiacenti, qualcosa non ha funzionato!</string>
-    <string name="nc_failed_signaling_settings">Il server di destinazione non supporta la partecipazione a stanze pubbliche tramite cellulare
-        Puoi provare a unirti alla conversazioni tramite un browser web.</string>
-    <string name="nc_all_ok_operation">OK, tutto fatto!</string>
-    <string name="nc_ok">OK</string>
-    <string name="nc_call_name">Nome della conversazione</string>
-    <string name="nc_proceed">Procedi</string>
-    <string name="nc_call_name_is_same">Il nome che hai digitato è uguale a quello esistente</string>
-    <string name="nc_wrong_link">Il collegamento della conversazione non è valido</string>
-    <string name="nc_share_text">Partecipa alla conversazione su %1$s/index.php/call/%2$s</string>
-    <string name="nc_share_subject">%1$s invito</string>
-    <string name="nc_share_text_pass">\nPassword: %1$s</string>
-
-    <!-- Magical stuff -->
-    <string name="nc_push_to_talk">Premi per parlare</string>
-    <string name="nc_push_to_talk_desc">Con il microfono disabilitato, fai clic e mantieni per utillizzare Premi per parlare</string>
-    <string name="nc_store_short_desc">Videochiamate e chat utilizzando il tuo server.</string>
-    <string name="nc_configure_cert_auth">Seleziona certificato di autenticazione</string>
-    <string name="nc_change_cert_auth">Cambia certificato di autenticazione</string>
-    <string name="nc_store_full_desc">Usa Nextcloud Talk per effettuare chiamate audio o video uno a uno o di gruppo, creare o partecipare a conferenze web e inviare messaggi di chat. Tutte le comunicazioni sono completamente cifrate e mediate dal tuo server, fornendo il più alto grado di riservatezza possibile.
-
-Nextcloud Talk è semplice da utilizzare e sarà sempre completamente gratuito e libero!
-
-Nextcloud Talk supporta:
-* Chiamate audio/video HD (H.265)
-* Chiamate di gruppo e uno a uno
-* Webinar e incontri pubblici sul web
-* Chat individuali e di gruppo
-* Facile condivisione dello schermo
-* Applicazione mobile per Android e iOS
-* Chiamate da mobile e notifiche push delle chat
-* Integrazione in Nextcloud File e Nextcloud Groupware
-* Completamente on-premise, completamente open source
-* Chiamate cifrate end-to-end
-* Capacità di scalare fino a milioni di utenti
-* Gateway SIP: chiamate tramite telefono
-
-L\'applicazione Nextcloud Talk richiede un server Nextcloud Talk per funzionare. Nextcloud è una piattaforma privata e gestita in autonomia di sincronizzazione file e comunicazione, progettata per restituirti il controllo dei tuoi dati. Può essere eseguito su un server di tua scelta, sia esso a casa, presso un fornitore di servizi o nella tua azienda, che ti fornisce l\'accesso ai tuoi documenti, calendari, contatti, messaggi di posta e altri dati. Puoi condividere con altri anche attraverso server Nextcloud differenti e lavorare insieme sui documenti. Nextcloud è completamente open source, offrendoti la possibilità di estenderlo per il tuo utilizzo, partecipare allo sviluppo o semplicemente verificare che faccia quanto previsto.
-
-Milioni di utenti utilizzano quotidianamente Nextcloud a lavoro o a casa in tutto il mondo. Gli utenti aziendali fanno affidamento sul supporto professionale di Nextcloud GmbH, assicurandosi di avere una piattaforma completamente supportata e pronta per l\\'ambito aziendale per la produttività e la collaborazione, completamente sotto il controllo del reparto IT.
-
-Scopri altro su https://nextcloud.com/talk
-
-Trovi Nextcloud su https://nextcloud.com</string>
-
-    <!-- Chat -->
-    <string name="nc_hint_enter_a_message">Digita un messaggio</string>
-    <string name="nc_date_header_yesterday">Ieri</string>
-    <string name="nc_date_header_today">Oggi</string>
-    <string name="nc_conversation_menu_voice_call">Chiamata vocale</string>
-    <string name="nc_conversation_menu_video_call">Chiamata video</string>
-    <string name="nc_new_messages">Nuovi messaggi</string>
-    <string name="nc_no_messages_yet">Ancora nessun messaggio</string>
-    <string name="nc_chat_you">Tu</string>
-
-    <!-- Contacts endless loading -->
-    <string name="nc_no_more_load_retry">Non ci sono altri elementi da caricare. Aggiorna per riprovare.</string>
-    <string name="nc_endless_disabled">Non ci sono altri elementi da caricare (massimo raggiunto).</string>
-    <string name="nc_endless_cancel">Annullato dall\'utente.</string>
-    <string name="nc_endless_error">Si è verificato un errore durante il caricamento di altri elementi.</string>
-
-    <!-- Content descriptions -->
-    <string name="nc_description_more_menu_one_to_one">Menu per conversazione con %1$s</string>
-    <string name="nc_description_more_menu_public">Menu per conversazione di gruppo %1$s</string>
-    <string name="nc_description_more_menu_group">Menu per conversazione pubblica %1$s</string>
-    <string name="nc_description_send_message_button">Invia messaggio</string>
-
-    <!-- Empty states -->
-    <string name="nc_chat_empty">Tocca per essere il primo a dire %1$s!</string>
-    <string name="nc_conversations_empty">Non hai ancora parlato con nessuno!\n Tocca per iniziare una conversazione.</string>
-    <string name="nc_hello">Ciao</string>
-
-</resources>

+ 20 - 0
app/src/main/res/values-ka-rGE/strings.xml

@@ -1,3 +1,23 @@
+<!--
+  ~ Nextcloud Talk application
+  ~
+  ~ @author Mario Danic
+  ~ Copyright (C) 2017-2018 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="nc_bottom_navigation_title_contacts">კონტაქტები</string>
     <string name="nc_bottom_navigation_title_settings">პარამეტრები</string>

+ 20 - 0
app/src/main/res/values-nb-rNO/strings.xml

@@ -1,3 +1,23 @@
+<!--
+  ~ Nextcloud Talk application
+  ~
+  ~ @author Mario Danic
+  ~ Copyright (C) 2017-2018 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>
     <!-- Bottom Navigation -->
     <string name="nc_bottom_navigation_title_conversations">Samtaler</string>

+ 20 - 0
app/src/main/res/values-pt-rBR/strings.xml

@@ -1,3 +1,23 @@
+<!--
+  ~ Nextcloud Talk application
+  ~
+  ~ @author Mario Danic
+  ~ Copyright (C) 2017-2018 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>
     <!-- Bottom Navigation -->
     <string name="nc_bottom_navigation_title_conversations">Conversas</string>

+ 20 - 0
app/src/main/res/values-pt-rPT/strings.xml

@@ -1,3 +1,23 @@
+<!--
+  ~ Nextcloud Talk application
+  ~
+  ~ @author Mario Danic
+  ~ Copyright (C) 2017-2018 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>
     <!-- Bottom Navigation -->
     <string name="nc_bottom_navigation_title_conversations">Conversações</string>

+ 20 - 0
app/src/main/res/values-sk-rSK/strings.xml

@@ -1,3 +1,23 @@
+<!--
+  ~ Nextcloud Talk application
+  ~
+  ~ @author Mario Danic
+  ~ Copyright (C) 2017-2018 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>
     <!-- Bottom Navigation -->
     <string name="nc_bottom_navigation_title_conversations">Rozhovory</string>

+ 20 - 0
app/src/main/res/values-tr/strings.xml

@@ -1,3 +1,23 @@
+<!--
+  ~ Nextcloud Talk application
+  ~
+  ~ @author Mario Danic
+  ~ Copyright (C) 2017-2018 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>
     <!-- Bottom Navigation -->
     <string name="nc_bottom_navigation_title_conversations">Görüşmeler</string>

+ 20 - 0
app/src/main/res/values-vi/strings.xml

@@ -1,3 +1,23 @@
+<!--
+  ~ Nextcloud Talk application
+  ~
+  ~ @author Mario Danic
+  ~ Copyright (C) 2017-2018 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>
     <!-- Bottom Navigation -->
     <string name="nc_bottom_navigation_title_conversations">Đàm thoại</string>

+ 20 - 0
app/src/main/res/values-zh-rCN/strings.xml

@@ -1,3 +1,23 @@
+<!--
+  ~ Nextcloud Talk application
+  ~
+  ~ @author Mario Danic
+  ~ Copyright (C) 2017-2018 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>
     <!-- Bottom Navigation -->
     <string name="nc_bottom_navigation_title_conversations">对话</string>

+ 0 - 1
app/src/main/res/values/styles.xml

@@ -6,7 +6,6 @@
         <item name="colorPrimary">@color/colorPrimary</item>
         <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
         <item name="colorAccent">@color/colorPrimary</item>
-        <item name="coordinatorLayoutStyle">@style/Widget.Design.CoordinatorLayout</item>
     </style>
 
 </resources>

+ 2 - 2
build.gradle

@@ -2,7 +2,7 @@
 buildscript {
 
     ext {
-        kotlinVersion = '1.2.50'
+        kotlinVersion = '1.2.61'
     }
 
     repositories {
@@ -13,7 +13,7 @@ buildscript {
         }
     }
     dependencies {
-        classpath 'com.android.tools.build:gradle:3.1.4'
+        classpath 'com.android.tools.build:gradle:3.2.0'
         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlinVersion}"
 
         // NOTE: Do not place your application dependencies here; they belong

+ 3 - 0
gradle.properties

@@ -15,3 +15,6 @@ org.gradle.jvmargs=-Xmx1536m
 # This option should only be used with decoupled projects. More details, visit
 # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
 # org.gradle.parallel=true
+android.enableAapt2=false
+android.useAndroidX=true
+android.enableJetifier=true

+ 3 - 3
gradle/wrapper/gradle-wrapper.properties

@@ -1,7 +1,7 @@
-#Thu Apr 26 16:49:12 CEST 2018
+#Mon Oct 01 13:14:24 CEST 2018
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
-distributionSha256Sum=7a2c66d1a78f811d5f37d14630ad21cec5e77a2a4dc61e787e2257a6341016ce
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip
+distributionSha256Sum=b7aedd369a26b177147bcb715f8b1fc4fe32b0a6ade0d7fd8ee5ed0c6f731f2c