diff --git a/app/src/main/java/com/nextcloud/talk/activities/BaseActivity.kt b/app/src/main/java/com/nextcloud/talk/activities/BaseActivity.kt index 006adc33d..f55f66caa 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/BaseActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/activities/BaseActivity.kt @@ -108,7 +108,7 @@ open class BaseActivity : AppCompatActivity() { LovelyStandardDialog(this) .setTopColorRes(R.color.nc_darkRed) .setNegativeButtonColorRes(R.color.nc_darkRed) - .setPositiveButtonColorRes(R.color.colorPrimaryDark) + .setPositiveButtonColorRes(R.color.colorPrimary) .setIcon(R.drawable.ic_security_white_24dp) .setTitle(R.string.nc_certificate_dialog_title) .setMessage(dialogText) diff --git a/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt b/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt index 00a7f618d..75197b985 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt @@ -25,6 +25,7 @@ import android.content.Context import android.content.Intent import android.os.Build import android.os.Bundle +import android.text.TextUtils import android.view.ViewGroup import androidx.annotation.RequiresApi import autodagger.AutoInjector @@ -38,10 +39,7 @@ import com.bluelinelabs.conductor.changehandler.VerticalChangeHandler import com.google.android.material.appbar.MaterialToolbar import com.nextcloud.talk.R import com.nextcloud.talk.application.NextcloudTalkApplication -import com.nextcloud.talk.controllers.CallNotificationController -import com.nextcloud.talk.controllers.ConversationsListController -import com.nextcloud.talk.controllers.LockedController -import com.nextcloud.talk.controllers.ServerSelectionController +import com.nextcloud.talk.controllers.* import com.nextcloud.talk.controllers.base.providers.ActionBarProvider import com.nextcloud.talk.utils.ConductorRemapping import com.nextcloud.talk.utils.SecurityUtils @@ -102,16 +100,29 @@ class MainActivity : BaseActivity(), ActionBarProvider { router!!.setRoot(RouterTransaction.with(ConversationsListController()) .pushChangeHandler(HorizontalChangeHandler()) .popChangeHandler(HorizontalChangeHandler())) + } else { + if (!TextUtils.isEmpty(resources.getString(R.string.weblogin_url))) { + router!!.pushController(RouterTransaction.with( + WebViewLoginController(resources.getString(R.string.weblogin_url), false)) + .pushChangeHandler(HorizontalChangeHandler()) + .popChangeHandler(HorizontalChangeHandler())) + } else { + router!!.setRoot(RouterTransaction.with(ServerSelectionController()) + .pushChangeHandler(HorizontalChangeHandler()) + .popChangeHandler(HorizontalChangeHandler())) + } + } + } else { + if (!TextUtils.isEmpty(resources.getString(R.string.weblogin_url))) { + router!!.pushController(RouterTransaction.with( + WebViewLoginController(resources.getString(R.string.weblogin_url), false)) + .pushChangeHandler(HorizontalChangeHandler()) + .popChangeHandler(HorizontalChangeHandler())) } else { router!!.setRoot(RouterTransaction.with(ServerSelectionController()) .pushChangeHandler(HorizontalChangeHandler()) .popChangeHandler(HorizontalChangeHandler())) } - } else { - router!!.setRoot(RouterTransaction.with(ServerSelectionController()) - .pushChangeHandler(HorizontalChangeHandler()) - .popChangeHandler(HorizontalChangeHandler())) - } } } diff --git a/app/src/main/java/com/nextcloud/talk/adapters/items/UserItem.java b/app/src/main/java/com/nextcloud/talk/adapters/items/UserItem.java index 33fc8fb05..e4de0f499 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/items/UserItem.java +++ b/app/src/main/java/com/nextcloud/talk/adapters/items/UserItem.java @@ -243,7 +243,7 @@ public class UserItem extends AbstractFlexibleItem if (!holder.contactMentionId.getText().equals(userType)) { holder.contactMentionId.setText(userType); - holder.contactMentionId.setTextColor(NextcloudTalkApplication.Companion.getSharedApplication().getResources().getColor(R.color.colorPrimary)); + holder.contactMentionId.setTextColor(NextcloudTalkApplication.Companion.getSharedApplication().getResources().getColor(R.color.textColorMaxContrast)); } } } diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicIncomingTextMessageViewHolder.kt b/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicIncomingTextMessageViewHolder.kt index 72b39267e..11301ffcf 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicIncomingTextMessageViewHolder.kt +++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicIncomingTextMessageViewHolder.kt @@ -247,14 +247,14 @@ class MagicIncomingTextMessageViewHolder(incomingView: View) : MessageHolders ?: context!!.getText(R.string.nc_nick_guest) quotedMessage?.text = parentChatMessage.text - quotedUserName?.setTextColor(context!!.resources.getColor(R.color.colorPrimary)) + quotedUserName?.setTextColor(context!!.resources.getColor(R.color.textColorMaxContrast)) quotedMessageTime?.text = DateFormatter.format(parentChatMessage.createdAt, DateFormatter.Template.TIME) quotedMessageTime?.setTextColor(context!!.resources.getColor(R.color.warm_grey_four)) - quoteColoredView?.setBackgroundResource(R.color.colorPrimary) + quoteColoredView?.setBackgroundResource(R.color.textColorMaxContrast) quotedChatMessageView?.visibility = View.VISIBLE } ?: run { quotedChatMessageView?.visibility = View.GONE } } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicOutcomingTextMessageViewHolder.kt b/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicOutcomingTextMessageViewHolder.kt index 27266ffe3..08f77b2c1 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicOutcomingTextMessageViewHolder.kt +++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicOutcomingTextMessageViewHolder.kt @@ -133,16 +133,16 @@ class MagicOutcomingTextMessageViewHolder(itemView: View) : OutcomingTextMessage val resources = sharedApplication!!.resources if (message.isGrouped) { val bubbleDrawable = getMessageSelector( - resources.getColor(R.color.bg_message_list_outcoming_bubble), + resources.getColor(R.color.colorPrimary), resources.getColor(R.color.transparent), - resources.getColor(R.color.bg_message_list_outcoming_bubble), + resources.getColor(R.color.colorPrimary), R.drawable.shape_grouped_outcoming_message) ViewCompat.setBackground(bubble, bubbleDrawable) } else { val bubbleDrawable = getMessageSelector( - resources.getColor(R.color.bg_message_list_outcoming_bubble), + resources.getColor(R.color.colorPrimary), resources.getColor(R.color.transparent), - resources.getColor(R.color.bg_message_list_outcoming_bubble), + resources.getColor(R.color.colorPrimary), R.drawable.shape_outcoming_message) ViewCompat.setBackground(bubble, bubbleDrawable) } @@ -187,4 +187,4 @@ class MagicOutcomingTextMessageViewHolder(itemView: View) : OutcomingTextMessage ButterKnife.bind(this, itemView) this.realView = itemView } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicSystemMessageViewHolder.java b/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicSystemMessageViewHolder.java index 2e688c841..301a7397d 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicSystemMessageViewHolder.java +++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicSystemMessageViewHolder.java @@ -26,7 +26,7 @@ import android.graphics.drawable.Drawable; import android.text.Spannable; import android.text.SpannableString; import android.view.View; -import androidx.core.view.ViewCompat; + import com.nextcloud.talk.R; import com.nextcloud.talk.application.NextcloudTalkApplication; import com.nextcloud.talk.models.json.chat.ChatMessage; @@ -35,7 +35,10 @@ import com.nextcloud.talk.utils.preferences.AppPreferences; import com.stfalcon.chatkit.messages.MessageHolders; import java.util.Map; + import javax.inject.Inject; + +import androidx.core.view.ViewCompat; import autodagger.AutoInjector; @AutoInjector(NextcloudTalkApplication.class) @@ -63,7 +66,7 @@ public class MagicSystemMessageViewHolder extends MessageHolders.IncomingTextMes pressedColor = normalColor; - mentionColor = resources.getColor(R.color.nc_author_text); + mentionColor = resources.getColor(R.color.textColorMaxContrast); Drawable bubbleDrawable = DisplayUtils.getMessageSelector(normalColor, resources.getColor(R.color.transparent), pressedColor, diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ServerSelectionController.java b/app/src/main/java/com/nextcloud/talk/controllers/ServerSelectionController.java index 1f71e4101..900dc809e 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ServerSelectionController.java +++ b/app/src/main/java/com/nextcloud/talk/controllers/ServerSelectionController.java @@ -35,10 +35,7 @@ import android.view.ViewGroup; import android.view.inputmethod.EditorInfo; import android.widget.ProgressBar; import android.widget.TextView; -import androidx.annotation.NonNull; -import autodagger.AutoInjector; -import butterknife.BindView; -import butterknife.OnClick; + import com.bluelinelabs.conductor.RouterTransaction; import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler; import com.nextcloud.talk.R; @@ -51,15 +48,21 @@ import com.nextcloud.talk.utils.bundle.BundleKeys; import com.nextcloud.talk.utils.database.user.UserUtils; import com.nextcloud.talk.utils.preferences.AppPreferences; import com.nextcloud.talk.utils.singletons.ApplicationWideMessageHolder; + +import java.security.cert.CertificateException; + +import javax.inject.Inject; + +import androidx.annotation.NonNull; +import autodagger.AutoInjector; +import butterknife.BindView; +import butterknife.OnClick; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; import io.reactivex.schedulers.Schedulers; import studio.carbonylgroup.textfieldboxes.ExtendedEditText; import studio.carbonylgroup.textfieldboxes.TextFieldBoxes; -import javax.inject.Inject; -import java.security.cert.CertificateException; - @AutoInjector(NextcloudTalkApplication.class) public class ServerSelectionController extends BaseController { @@ -128,8 +131,13 @@ public class ServerSelectionController extends BaseController { textFieldBoxes.getEndIconImageButton().setVisibility(View.VISIBLE); textFieldBoxes.getEndIconImageButton().setOnClickListener(view1 -> checkServerAndProceed()); - if (TextUtils.isEmpty(getResources().getString(R.string.nc_providers_url)) && (TextUtils.isEmpty(getResources - ().getString(R.string.nc_import_account_type)))) { + if (getResources().getBoolean(R.bool.hide_auth_cert)) { + certTextView.setVisibility(View.GONE); + } + + if (getResources().getBoolean(R.bool.hide_provider) || + TextUtils.isEmpty(getResources().getString(R.string.nc_providers_url)) && + (TextUtils.isEmpty(getResources().getString(R.string.nc_import_account_type)))) { providersTextView.setVisibility(View.INVISIBLE); } else { if ((TextUtils.isEmpty(getResources @@ -178,6 +186,11 @@ public class ServerSelectionController extends BaseController { } serverEntry.requestFocus(); + + if (!TextUtils.isEmpty(getResources().getString(R.string.weblogin_url))) { + serverEntry.setText(getResources().getString(R.string.weblogin_url)); + checkServerAndProceed(); + } serverEntry.addTextChangedListener(new TextWatcher() { @Override diff --git a/app/src/main/java/com/nextcloud/talk/controllers/SettingsController.java b/app/src/main/java/com/nextcloud/talk/controllers/SettingsController.java index ceaf9cb64..fdf801e31 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/SettingsController.java +++ b/app/src/main/java/com/nextcloud/talk/controllers/SettingsController.java @@ -37,15 +37,7 @@ import android.view.ViewGroup; 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; -import androidx.work.WorkManager; -import autodagger.AutoInjector; -import butterknife.BindView; -import butterknife.OnClick; + import com.bluelinelabs.conductor.RouterTransaction; import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler; import com.bluelinelabs.conductor.changehandler.VerticalChangeHandler; @@ -61,7 +53,11 @@ import com.nextcloud.talk.controllers.base.BaseController; import com.nextcloud.talk.jobs.AccountRemovalWorker; import com.nextcloud.talk.models.RingtoneSettings; import com.nextcloud.talk.models.database.UserEntity; -import com.nextcloud.talk.utils.*; +import com.nextcloud.talk.utils.ApiUtils; +import com.nextcloud.talk.utils.DisplayUtils; +import com.nextcloud.talk.utils.DoNotDisturbUtils; +import com.nextcloud.talk.utils.LoggingUtils; +import com.nextcloud.talk.utils.SecurityUtils; import com.nextcloud.talk.utils.bundle.BundleKeys; import com.nextcloud.talk.utils.database.user.UserUtils; import com.nextcloud.talk.utils.preferences.AppPreferences; @@ -69,18 +65,38 @@ import com.nextcloud.talk.utils.preferences.MagicUserInputModule; import com.nextcloud.talk.utils.singletons.ApplicationWideMessageHolder; 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 com.yarolegovich.mp.MaterialChoicePreference; +import com.yarolegovich.mp.MaterialEditTextPreference; +import com.yarolegovich.mp.MaterialPreferenceCategory; +import com.yarolegovich.mp.MaterialPreferenceScreen; +import com.yarolegovich.mp.MaterialStandardPreference; +import com.yarolegovich.mp.MaterialSwitchPreference; + +import net.orange_box.storebox.listeners.OnPreferenceValueChangedListener; -import javax.inject.Inject; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Locale; +import java.util.Objects; + +import javax.inject.Inject; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.view.ViewCompat; +import androidx.emoji.widget.EmojiTextView; +import androidx.work.OneTimeWorkRequest; +import androidx.work.WorkManager; +import autodagger.AutoInjector; +import butterknife.BindView; +import butterknife.OnClick; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.disposables.Disposable; +import io.reactivex.schedulers.Schedulers; @AutoInjector(NextcloudTalkApplication.class) public class SettingsController extends BaseController { @@ -159,6 +175,7 @@ public class SettingsController extends BaseController { private Disposable profileQueryDisposable; private Disposable dbQueryDisposable; + @NonNull @Override protected View inflateView(@NonNull LayoutInflater inflater, @NonNull ViewGroup container) { return inflater.inflate(R.layout.controller_settings, container, false); @@ -264,11 +281,15 @@ public class SettingsController extends BaseController { .popChangeHandler(new HorizontalChangeHandler())); }); - addAccountButton.addPreferenceClickListener(view15 -> { - getRouter().pushController(RouterTransaction.with(new - ServerSelectionController()).pushChangeHandler(new VerticalChangeHandler()) - .popChangeHandler(new VerticalChangeHandler())); - }); + if (getResources().getBoolean(R.bool.multiaccount_support)) { + addAccountButton.addPreferenceClickListener(view15 -> { + getRouter().pushController(RouterTransaction.with(new + ServerSelectionController()).pushChangeHandler(new VerticalChangeHandler()) + .popChangeHandler(new VerticalChangeHandler())); + }); + } else { + addAccountButton.setVisibility(View.GONE); + } switchAccountButton.addPreferenceClickListener(view16 -> { getRouter().pushController(RouterTransaction.with(new diff --git a/app/src/main/res/drawable/accent_circle.xml b/app/src/main/res/drawable/accent_circle.xml index 1a0e70aca..3c6519214 100644 --- a/app/src/main/res/drawable/accent_circle.xml +++ b/app/src/main/res/drawable/accent_circle.xml @@ -22,5 +22,5 @@ + android:color="@color/colorPrimary"/> diff --git a/app/src/main/res/drawable/ic_logo.xml b/app/src/main/res/drawable/ic_logo.xml index 132f6cf05..5a6de8330 100644 --- a/app/src/main/res/drawable/ic_logo.xml +++ b/app/src/main/res/drawable/ic_logo.xml @@ -18,9 +18,9 @@ ~ along with this program. If not, see . --> - + android:width="128dp" xmlns:android="http://schemas.android.com/apk/res/android"> diff --git a/app/src/main/res/layout/controller_chat.xml b/app/src/main/res/layout/controller_chat.xml index 024ed7f13..3e1c2c86a 100644 --- a/app/src/main/res/layout/controller_chat.xml +++ b/app/src/main/res/layout/controller_chat.xml @@ -108,8 +108,8 @@ app:outcomingBubblePaddingLeft="@dimen/message_bubble_corners_padding" app:outcomingBubblePaddingRight="@dimen/message_bubble_corners_padding" app:outcomingBubblePaddingTop="@dimen/message_bubble_corners_padding" - app:outcomingDefaultBubbleColor="@color/bg_message_list_outcoming_bubble" - app:outcomingDefaultBubblePressedColor="@color/bg_message_list_outcoming_bubble" + app:outcomingDefaultBubbleColor="@color/colorPrimary" + app:outcomingDefaultBubblePressedColor="@color/colorPrimary" app:outcomingDefaultBubbleSelectedColor="@color/transparent" app:outcomingImageTimeTextSize="12sp" app:outcomingTextColor="@color/nc_outcoming_text_default" diff --git a/app/src/main/res/layout/controller_conversation_info.xml b/app/src/main/res/layout/controller_conversation_info.xml index eb16e45ea..023ffdaf5 100644 --- a/app/src/main/res/layout/controller_conversation_info.xml +++ b/app/src/main/res/layout/controller_conversation_info.xml @@ -35,7 +35,7 @@ android:layout_marginEnd="@dimen/activity_horizontal_margin" android:layout_marginRight="@dimen/activity_horizontal_margin" android:indeterminate="true" - android:indeterminateTint="@color/colorPrimary" + android:indeterminateTint="@color/textColorMaxContrast" android:indeterminateTintMode="src_in" /> diff --git a/app/src/main/res/layout/controller_server_selection.xml b/app/src/main/res/layout/controller_server_selection.xml index 11b22d549..ec54f736c 100644 --- a/app/src/main/res/layout/controller_server_selection.xml +++ b/app/src/main/res/layout/controller_server_selection.xml @@ -28,11 +28,10 @@ - #9FBDCC - + #ffffff #222222 #222222 #D8D8D8 - #65A7CA - #0083C9 - #6F6F6F @android:color/holo_purple #222222 #484848 - #003F62 + #8c8c8c #313031 #15FFFFFF - \ No newline at end of file + diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index b40654222..cccb6bdeb 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -20,9 +20,8 @@ --> - #0082C9 - #006AA3 - #007CC2 + #043F21 + #ffffff #FFFFFF @@ -30,9 +29,7 @@ #37505D - #37505D - @color/warm_grey_two - @color/warm_grey_four + #000000 #FFFFFF #C98879 @@ -41,12 +38,12 @@ #D32F2F #006400 @color/per70white - #7FC0E3 #E8E8E8 #757575 #D5D5D5 #E9FFFFFF #111111 + #767676 #7Fffffff @@ -59,14 +56,9 @@ #FFFFFF @color/white60 - #0083C9 - @color/white #333333 - #EFEFEF - @color/colorPrimary - #65A7CA #46ffffff diff --git a/app/src/main/res/values/setup.xml b/app/src/main/res/values/setup.xml index 8bb13c6f3..137ae3611 100644 --- a/app/src/main/res/values/setup.xml +++ b/app/src/main/res/values/setup.xml @@ -30,6 +30,12 @@ https://push-notifications.nextcloud.com + + false + false + true + + https://nextcloud.com/privacy/ https://www.gnu.org/licenses/gpl-3.0.en.html diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 5122e4efe..e40d24ebe 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -24,7 +24,7 @@