diff --git a/app/src/main/java/com/nextcloud/talk/components/filebrowser/controllers/BrowserController.kt b/app/src/main/java/com/nextcloud/talk/components/filebrowser/controllers/BrowserController.kt index 5b8ba1722..a27f7b12d 100644 --- a/app/src/main/java/com/nextcloud/talk/components/filebrowser/controllers/BrowserController.kt +++ b/app/src/main/java/com/nextcloud/talk/components/filebrowser/controllers/BrowserController.kt @@ -41,7 +41,6 @@ import com.nextcloud.talk.controllers.base.BaseController import com.nextcloud.talk.interfaces.SelectionInterface import com.nextcloud.talk.jobs.ShareOperationWorker import com.nextcloud.talk.newarch.local.models.User -import com.nextcloud.talk.newarch.local.models.UserNgEntity import com.nextcloud.talk.utils.bundle.BundleKeys import eu.davidea.fastscroller.FastScroller import eu.davidea.flexibleadapter.FlexibleAdapter diff --git a/app/src/main/java/com/nextcloud/talk/controllers/base/BaseController.kt b/app/src/main/java/com/nextcloud/talk/controllers/base/BaseController.kt index 26f756f1a..de4bd8051 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/base/BaseController.kt +++ b/app/src/main/java/com/nextcloud/talk/controllers/base/BaseController.kt @@ -46,9 +46,11 @@ import com.nextcloud.talk.R import com.nextcloud.talk.activities.MainActivity import com.nextcloud.talk.controllers.base.providers.ActionBarProvider import com.nextcloud.talk.newarch.utils.dp +import com.nextcloud.talk.utils.DisplayUtils import com.nextcloud.talk.utils.preferences.AppPreferences import com.uber.autodispose.lifecycle.LifecycleScopeProvider import kotlinx.android.synthetic.main.activity_main.* +import kotlinx.android.synthetic.main.activity_main.view.* import kotlinx.android.synthetic.main.search_layout.* import kotlinx.android.synthetic.main.search_layout.view.* import org.greenrobot.eventbus.EventBus @@ -190,13 +192,14 @@ abstract class BaseController : ButterKnifeController(), ComponentCallbacks { val layoutParams = it.searchCardView?.layoutParams as AppBarLayout.LayoutParams if (value) { - it.appBar?.setBackgroundResource(R.color.transparent) layoutParams.scrollFlags = AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL or AppBarLayout.LayoutParams.SCROLL_FLAG_SNAP or AppBarLayout.LayoutParams.SCROLL_FLAG_ENTER_ALWAYS } else { - it.appBar?.setBackgroundResource(R.color.colorPrimary) + it.appBar.setStatusBarForegroundColor(resources!!.getColor(R.color.fg_default)) + it.appBar?.toolbar?.setTitleTextColor(resources!!.getColor(R.color.fg_default)) layoutParams.scrollFlags = 0 } - + DisplayUtils.applyColorToStatusBar(activity!!, resources!!.getColor(R.color.bg_default)) + DisplayUtils.applyColorToNavgiationBar(activity!!.window, resources!!.getColor(R.color.bg_default)) it.searchCardView?.layoutParams = layoutParams it.clearButton?.setOnClickListener { activity?.inputEditText?.text = null diff --git a/app/src/main/java/com/nextcloud/talk/newarch/features/account/serverentry/ServerEntryView.kt b/app/src/main/java/com/nextcloud/talk/newarch/features/account/serverentry/ServerEntryView.kt index 0ee7a7360..6f6cd5660 100644 --- a/app/src/main/java/com/nextcloud/talk/newarch/features/account/serverentry/ServerEntryView.kt +++ b/app/src/main/java/com/nextcloud/talk/newarch/features/account/serverentry/ServerEntryView.kt @@ -23,10 +23,7 @@ package com.nextcloud.talk.newarch.features.account.serverentry import android.os.Bundle -import android.view.LayoutInflater -import android.view.MotionEvent -import android.view.View -import android.view.ViewGroup +import android.view.* import androidx.core.view.isVisible import androidx.core.widget.doOnTextChanged import androidx.lifecycle.Observer @@ -37,6 +34,7 @@ import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler import com.nextcloud.talk.R import com.nextcloud.talk.newarch.features.account.loginentry.LoginEntryView import com.nextcloud.talk.newarch.mvvm.BaseView +import com.nextcloud.talk.utils.DisplayUtils import com.nextcloud.talk.utils.bundle.BundleKeys import com.uber.autodispose.lifecycle.LifecycleScopeProvider import kotlinx.android.synthetic.main.server_entry_view.view.* @@ -129,4 +127,11 @@ class ServerEntryView : BaseView() { override fun getAppBarLayoutType(): AppBarLayoutType { return AppBarLayoutType.EMPTY } + + override fun onAttach(view: View) { + super.onAttach(view) + + DisplayUtils.applyColorToStatusBar(activity!!, resources!!.getColor(R.color.colorPrimary)) + DisplayUtils.applyColorToNavgiationBar(activity!!.window, resources!!.getColor(R.color.colorPrimary)) + } } \ No newline at end of file diff --git a/app/src/main/java/com/nextcloud/talk/newarch/features/chat/ChatPresenter.kt b/app/src/main/java/com/nextcloud/talk/newarch/features/chat/ChatPresenter.kt index ae4f90547..33bb2f397 100644 --- a/app/src/main/java/com/nextcloud/talk/newarch/features/chat/ChatPresenter.kt +++ b/app/src/main/java/com/nextcloud/talk/newarch/features/chat/ChatPresenter.kt @@ -120,7 +120,7 @@ open class ChatPresenter(context: Context, private val onElementClickPa .endConfig() .buildRect( ">_", - context.resources.getColor(R.color.black) + context.resources.getColor(R.color.fg_default) ) holder.itemView.authorAvatar.loadAny(drawable, imageLoader.getImageLoader()) } else { diff --git a/app/src/main/java/com/nextcloud/talk/newarch/features/chat/ChatView.kt b/app/src/main/java/com/nextcloud/talk/newarch/features/chat/ChatView.kt index 1c1a16e17..8b3c19c48 100644 --- a/app/src/main/java/com/nextcloud/talk/newarch/features/chat/ChatView.kt +++ b/app/src/main/java/com/nextcloud/talk/newarch/features/chat/ChatView.kt @@ -36,9 +36,11 @@ import android.text.Editable import android.text.InputFilter import android.text.TextUtils import android.text.TextWatcher +import android.util.Log import android.view.* import android.widget.ImageView import android.widget.PopupMenu +import androidx.appcompat.app.AppCompatDelegate import androidx.core.view.isVisible import androidx.lifecycle.observe import androidx.recyclerview.widget.ItemTouchHelper @@ -496,6 +498,14 @@ class ChatView(private val bundle: Bundle) : BaseView(), ImageLoaderInterface { conversationVideoMenuItem?.isVisible = false } else { conversationVoiceCallMenuItem?.isVisible = true + + if (!DisplayUtils.isDarkThemeEnabled(resources!!)) { + conversationVoiceCallMenuItem?.icon = DisplayUtils.getTintedDrawable(resources!!, R.drawable.ic_call_black_24dp, R.color.fg_default) + conversationVideoMenuItem?.icon = DisplayUtils.getTintedDrawable(resources!!, R.drawable.ic_videocam_white_24px, R.color.fg_default) + } else { + conversationVoiceCallMenuItem?.icon = resources!!.getDrawable(R.drawable.ic_call_white_24dp) + } + conversationVideoMenuItem?.isVisible = true } } diff --git a/app/src/main/java/com/nextcloud/talk/utils/DisplayUtils.kt b/app/src/main/java/com/nextcloud/talk/utils/DisplayUtils.kt index a61289f58..5bbd5a1ec 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/DisplayUtils.kt +++ b/app/src/main/java/com/nextcloud/talk/utils/DisplayUtils.kt @@ -21,9 +21,11 @@ package com.nextcloud.talk.utils import android.annotation.SuppressLint +import android.app.Activity import android.content.Context import android.content.Intent import android.content.res.ColorStateList +import android.content.res.Configuration import android.content.res.Resources import android.graphics.Bitmap import android.graphics.Canvas @@ -41,12 +43,15 @@ import android.text.style.StyleSpan import android.util.Log import android.util.TypedValue import android.view.View +import android.view.Window +import android.view.WindowManager import android.widget.EditText import android.widget.TextView import androidx.annotation.ColorInt import androidx.annotation.ColorRes import androidx.annotation.DrawableRes import androidx.annotation.XmlRes +import androidx.appcompat.app.AppCompatDelegate import androidx.appcompat.widget.AppCompatDrawableManager import androidx.core.content.ContextCompat import androidx.core.graphics.drawable.DrawableCompat @@ -376,4 +381,53 @@ object DisplayUtils { ) return drawable } + + fun applyColorToNavgiationBar(window: Window, @ColorInt color: Int) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + var decor = window.decorView + if (AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO) { + var systemUiFlags = View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR; + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + systemUiFlags = View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR or View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR or + WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS + } + decor.systemUiVisibility = systemUiFlags + } else { + decor.systemUiVisibility = 0 + } + window.navigationBarColor = color + } + } + } + + fun applyColorToStatusBar(activity: Activity, @ColorInt color: Int) { + val window = activity.window + if (window != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) + window.statusBarColor = color + } + } + + fun isDarkThemeEnabled(resources: Resources): Boolean { + if (AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO) { + return false + } + + if (AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_YES) { + return true + } + + val currentNightMode = (resources!!.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK) + when (currentNightMode) { + Configuration.UI_MODE_NIGHT_YES -> { + return true + } + Configuration.UI_MODE_NIGHT_NO, + Configuration.UI_MODE_NIGHT_UNDEFINED -> { + } + } + return false + } } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index f6371ec6e..cb4e3fce6 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -31,7 +31,7 @@ android:id="@+id/appBar" android:layout_width="match_parent" android:layout_height="56dp" - android:background="@color/transparent" + android:background="@color/bg_default" android:elevation="0dp" android:clipChildren="true" android:clipToPadding="false" @@ -46,8 +46,6 @@ android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@color/transparent" - android:theme="@style/ThemeOverlay.MaterialComponents.Dark.ActionBar" app:contentInsetStartWithNavigation="0dp" app:layout_scrollFlags="enterAlwaysCollapsed|noScroll" app:popupTheme="@style/appActionBarPopupMenu"> diff --git a/app/src/main/res/layout/call_item.xml b/app/src/main/res/layout/call_item.xml index d8064828c..17f4f8ec7 100644 --- a/app/src/main/res/layout/call_item.xml +++ b/app/src/main/res/layout/call_item.xml @@ -67,6 +67,6 @@ android:layout_marginStart="8dp" android:layout_marginEnd="8dp" android:layout_marginBottom="8dp" - android:textColor="@android:color/white" /> + android:textColor="@color/fg_inverse" /> diff --git a/app/src/main/res/layout/call_states.xml b/app/src/main/res/layout/call_states.xml index 91851db9a..7c039f74e 100644 --- a/app/src/main/res/layout/call_states.xml +++ b/app/src/main/res/layout/call_states.xml @@ -56,6 +56,6 @@ android:gravity="center" android:text="@string/nc_connecting_call" android:textAlignment="center" - android:textColor="@color/white" /> + android:textColor="@color/fg_inverse" /> \ No newline at end of file diff --git a/app/src/main/res/layout/contacts_list_view.xml b/app/src/main/res/layout/contacts_list_view.xml index ad41bf309..ad34a8b88 100644 --- a/app/src/main/res/layout/contacts_list_view.xml +++ b/app/src/main/res/layout/contacts_list_view.xml @@ -3,7 +3,8 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:animateLayoutChanges="true"> + android:animateLayoutChanges="true" + android:background="@color/bg_default"> diff --git a/app/src/main/res/layout/controller_browser.xml b/app/src/main/res/layout/controller_browser.xml index 611c03bca..f131bf039 100644 --- a/app/src/main/res/layout/controller_browser.xml +++ b/app/src/main/res/layout/controller_browser.xml @@ -39,6 +39,8 @@ android:layout_width="match_parent" android:layout_height="64dp" android:background="@color/bg_default" + app:itemTextColor="@color/fg_default" + app:itemIconTint="@color/fg_default" app:menu="@menu/file_browser_path" /> + android:background="@color/bg_default"> + android:animateLayoutChanges="true" + android:background="@color/bg_default"> diff --git a/app/src/main/res/layout/controller_entry_menu.xml b/app/src/main/res/layout/controller_entry_menu.xml index ab2d19b91..09ad76d90 100644 --- a/app/src/main/res/layout/controller_entry_menu.xml +++ b/app/src/main/res/layout/controller_entry_menu.xml @@ -35,7 +35,7 @@ android:layout_marginEnd="8dp" android:layout_marginBottom="12dp" android:alpha="0.7" - android:background="#0000" + android:background="@color/bg_default" android:enabled="false" android:text="@string/nc_proceed" android:textColor="@color/colorPrimary" /> diff --git a/app/src/main/res/layout/controller_locked.xml b/app/src/main/res/layout/controller_locked.xml index 933709361..cdd1c5d17 100644 --- a/app/src/main/res/layout/controller_locked.xml +++ b/app/src/main/res/layout/controller_locked.xml @@ -49,5 +49,5 @@ android:padding="16dp" android:text="@string/nc_locked" android:textAlignment="center" - android:textColor="@color/white" /> + android:textColor="@color/fg_inverse" /> diff --git a/app/src/main/res/layout/controller_operations_menu.xml b/app/src/main/res/layout/controller_operations_menu.xml index f825fdacb..ce17af3ca 100644 --- a/app/src/main/res/layout/controller_operations_menu.xml +++ b/app/src/main/res/layout/controller_operations_menu.xml @@ -21,7 +21,7 @@ + android:background="@color/bg_default"> @@ -84,7 +84,7 @@ android:layout_marginEnd="8dp" android:layout_marginBottom="12dp" android:layout_toStartOf="@id/ok_button" - android:background="#0000" + android:background="@color/bg_inverse" android:text="@string/nc_join_via_web" android:textColor="@color/nc_darkGreen" android:visibility="gone" /> diff --git a/app/src/main/res/layout/conversations_list_view.xml b/app/src/main/res/layout/conversations_list_view.xml index eceb3a332..1ec2303ae 100644 --- a/app/src/main/res/layout/conversations_list_view.xml +++ b/app/src/main/res/layout/conversations_list_view.xml @@ -25,7 +25,8 @@ android:id="@+id/generic_rv_layout" android:layout_width="match_parent" android:layout_height="match_parent" - android:animateLayoutChanges="true"> + android:animateLayoutChanges="true" + android:background="@color/bg_default"> \ No newline at end of file diff --git a/app/src/main/res/layout/new_group_conversation_view.xml b/app/src/main/res/layout/new_group_conversation_view.xml index de21079db..5e27f4df7 100644 --- a/app/src/main/res/layout/new_group_conversation_view.xml +++ b/app/src/main/res/layout/new_group_conversation_view.xml @@ -24,7 +24,8 @@ android:layout_width="match_parent" android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto" - android:animateLayoutChanges="true"> + android:animateLayoutChanges="true" + android:background="@color/bg_default"> + android:hint="@string/nc_call_name" + android:theme="@style/TextInputLayout"> + android:text="@string/nc_allow_guests" /> + android:hint="@string/nc_password_optional" + android:theme="@style/TextInputLayout"> @@ -46,7 +46,7 @@ android:layout_toEndOf="@id/icon_image_view" android:focusable="false" android:focusableInTouchMode="false" - android:textColor="@color/black" + android:textColor="@color/fg_default" android:textSize="16sp" tools:text="Start a new conversation" /> diff --git a/app/src/main/res/layout/rv_item_browser_file.xml b/app/src/main/res/layout/rv_item_browser_file.xml index 562cb7e1b..58f8b0d0d 100644 --- a/app/src/main/res/layout/rv_item_browser_file.xml +++ b/app/src/main/res/layout/rv_item_browser_file.xml @@ -21,8 +21,8 @@ + xmlns:app="http://schemas.android.com/apk/res-auto" + android:layout_margin="@dimen/double_margin_between_elements"> + app:tint="@color/grey_600" /> diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml index 5354eaff5..5b972c1c9 100644 --- a/app/src/main/res/values-night/colors.xml +++ b/app/src/main/res/values-night/colors.xml @@ -30,6 +30,10 @@ #222222 #222222 + @color/grey950 + + #FFFFFF + #222222 #D8D8D8 @@ -41,7 +45,6 @@ #EFEFEF #484848 #003F62 - #222222 #313031 #15FFFFFF diff --git a/app/src/main/res/values-v21/styles.xml b/app/src/main/res/values-v21/styles.xml new file mode 100644 index 000000000..2a92b3540 --- /dev/null +++ b/app/src/main/res/values-v21/styles.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/values-v23/styles.xml b/app/src/main/res/values-v23/styles.xml index ec9870e36..93b7975c7 100644 --- a/app/src/main/res/values-v23/styles.xml +++ b/app/src/main/res/values-v23/styles.xml @@ -1,7 +1,9 @@ + + \ 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 6bf7e0efd..056ed2c8e 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -57,11 +57,12 @@ #61000000 #15000000 - #000000 + #666666 #FFFFFF #FFFFFF @color/white60 + @color/grey950 #0083C9 @color/white #333333 diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 28c8eef8a..1fe73c78a 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -31,6 +31,7 @@ @color/nc_incoming_text_default @style/appActionBarPopupMenu @style/appActionBarPopupMenu + @style/TextInputLayout + +