mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-19 11:39:42 +01:00
style(lint): Migrate to KTX extension function
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
This commit is contained in:
parent
7e804f1738
commit
db944ec1bd
@ -12,7 +12,6 @@ import android.accounts.Account
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Intent
|
||||
import android.content.pm.ActivityInfo
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import android.security.KeyChain
|
||||
import android.text.TextUtils
|
||||
@ -22,22 +21,24 @@ import android.view.View
|
||||
import android.view.inputmethod.EditorInfo
|
||||
import android.widget.TextView
|
||||
import androidx.activity.OnBackPressedCallback
|
||||
import androidx.core.net.toUri
|
||||
import autodagger.AutoInjector
|
||||
import com.nextcloud.talk.R
|
||||
import com.nextcloud.talk.activities.BaseActivity
|
||||
import com.nextcloud.talk.api.NcApi
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication.Companion.sharedApplication
|
||||
import com.nextcloud.talk.databinding.ActivityServerSelectionBinding
|
||||
import com.nextcloud.talk.models.json.capabilities.CapabilitiesOverall
|
||||
import com.nextcloud.talk.models.json.generic.Status
|
||||
import com.nextcloud.talk.users.UserManager
|
||||
import com.nextcloud.talk.utils.AccountUtils
|
||||
import com.nextcloud.talk.utils.ApiUtils
|
||||
import com.nextcloud.talk.utils.CapabilitiesUtil
|
||||
import com.nextcloud.talk.utils.UriUtils
|
||||
import com.nextcloud.talk.utils.bundle.BundleKeys
|
||||
import com.nextcloud.talk.utils.bundle.BundleKeys.ADD_ADDITIONAL_ACCOUNT
|
||||
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_IS_ACCOUNT_IMPORT
|
||||
import com.nextcloud.talk.utils.CapabilitiesUtil
|
||||
import com.nextcloud.talk.utils.singletons.ApplicationWideMessageHolder
|
||||
import io.reactivex.Observer
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
@ -45,7 +46,6 @@ import io.reactivex.disposables.Disposable
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
import java.security.cert.CertificateException
|
||||
import javax.inject.Inject
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication.Companion.sharedApplication
|
||||
|
||||
@AutoInjector(NextcloudTalkApplication::class)
|
||||
class ServerSelectionActivity : BaseActivity() {
|
||||
@ -198,10 +198,7 @@ class ServerSelectionActivity : BaseActivity() {
|
||||
binding.importOrChooseProviderText.setOnClickListener {
|
||||
val browserIntent = Intent(
|
||||
Intent.ACTION_VIEW,
|
||||
Uri.parse(
|
||||
resources!!
|
||||
.getString(R.string.nc_providers_url)
|
||||
)
|
||||
resources!!.getString(R.string.nc_providers_url).toUri()
|
||||
)
|
||||
startActivity(browserIntent)
|
||||
}
|
||||
|
@ -12,8 +12,8 @@ import android.accounts.Account
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Intent
|
||||
import android.content.pm.ActivityInfo
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.os.Bundle
|
||||
import androidx.core.graphics.drawable.toDrawable
|
||||
import androidx.preference.PreferenceManager
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import autodagger.AutoInjector
|
||||
@ -21,6 +21,7 @@ import com.nextcloud.talk.R
|
||||
import com.nextcloud.talk.activities.BaseActivity
|
||||
import com.nextcloud.talk.adapters.items.AdvancedUserItem
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication.Companion.sharedApplication
|
||||
import com.nextcloud.talk.data.user.model.User
|
||||
import com.nextcloud.talk.databinding.ActivitySwitchAccountBinding
|
||||
import com.nextcloud.talk.models.ImportAccount
|
||||
@ -38,7 +39,6 @@ import eu.davidea.flexibleadapter.items.AbstractFlexibleItem
|
||||
import org.osmdroid.config.Configuration
|
||||
import java.net.CookieManager
|
||||
import javax.inject.Inject
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication.Companion.sharedApplication
|
||||
|
||||
/**
|
||||
* Parts related to account import were either copied from or inspired by the great work done by David Luhmer at:
|
||||
@ -108,7 +108,7 @@ class SwitchAccountActivity : BaseActivity() {
|
||||
}
|
||||
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
||||
supportActionBar?.setDisplayShowHomeEnabled(true)
|
||||
supportActionBar?.setIcon(ColorDrawable(resources!!.getColor(R.color.transparent, null)))
|
||||
supportActionBar?.setIcon(resources!!.getColor(R.color.transparent, null).toDrawable())
|
||||
supportActionBar?.title = resources!!.getString(R.string.nc_select_an_account)
|
||||
}
|
||||
|
||||
|
@ -49,6 +49,9 @@ import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.core.graphics.drawable.DrawableCompat
|
||||
import androidx.core.graphics.toColorInt
|
||||
import androidx.core.net.toUri
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import autodagger.AutoInjector
|
||||
import com.bluelinelabs.logansquare.LoganSquare
|
||||
@ -1262,7 +1265,7 @@ class CallActivity : CallBaseActivity() {
|
||||
.subHeadingTvColor(resources.getColor(R.color.bg_default, null))
|
||||
.subHeadingTvSize(SPOTLIGHT_SUBHEADING_SIZE)
|
||||
.subHeadingTvText(resources.getString(R.string.nc_push_to_talk_desc))
|
||||
.maskColor(Color.parseColor("#dc000000"))
|
||||
.maskColor("#dc000000".toColorInt())
|
||||
.target(binding!!.microphoneButton)
|
||||
.lineAnimDuration(FADE_IN_ANIMATION_DURATION)
|
||||
.enableDismissAfterShown(true)
|
||||
@ -2532,7 +2535,7 @@ class CallActivity : CallBaseActivity() {
|
||||
val screenWidthPx = displayMetrics.widthPixels
|
||||
val screenWidthDp = DisplayUtils.convertPixelToDp(screenWidthPx.toFloat(), applicationContext).toInt()
|
||||
var newXafterRotate = 0f
|
||||
val newYafterRotate: Float = if (binding!!.callInfosLinearLayout.visibility == View.VISIBLE) {
|
||||
val newYafterRotate: Float = if (binding!!.callInfosLinearLayout.isVisible) {
|
||||
Y_POS_CALL_INFO
|
||||
} else {
|
||||
Y_POS_NO_CALL_INFO
|
||||
@ -2825,7 +2828,7 @@ class CallActivity : CallBaseActivity() {
|
||||
val ringtoneUri: Uri? = if (isIncomingCallFromNotification) {
|
||||
getCallRingtoneUri(applicationContext, appPreferences)
|
||||
} else {
|
||||
Uri.parse("android.resource://" + applicationContext.packageName + "/raw/tr110_1_kap8_3_freiton1")
|
||||
("android.resource://" + applicationContext.packageName + "/raw/tr110_1_kap8_3_freiton1").toUri()
|
||||
}
|
||||
if (ringtoneUri != null) {
|
||||
mediaPlayer = MediaPlayer()
|
||||
|
@ -8,9 +8,9 @@
|
||||
package com.nextcloud.talk.adapters.items
|
||||
|
||||
import android.accounts.Account
|
||||
import android.net.Uri
|
||||
import android.text.TextUtils
|
||||
import android.view.View
|
||||
import androidx.core.net.toUri
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.nextcloud.talk.R
|
||||
import com.nextcloud.talk.adapters.items.AdvancedUserItem.UserItemViewHolder
|
||||
@ -75,9 +75,9 @@ class AdvancedUserItem(
|
||||
holder.binding.userName.text = model.displayName
|
||||
}
|
||||
if (user != null && !TextUtils.isEmpty(user.baseUrl)) {
|
||||
val host = Uri.parse(user.baseUrl).host
|
||||
val host = user.baseUrl!!.toUri().host
|
||||
if (!TextUtils.isEmpty(host)) {
|
||||
holder.binding.account.text = Uri.parse(user.baseUrl).host
|
||||
holder.binding.account.text = user.baseUrl!!.toUri().host
|
||||
} else {
|
||||
holder.binding.account.text = user.baseUrl
|
||||
}
|
||||
|
@ -10,11 +10,11 @@ package com.nextcloud.talk.adapters.messages
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.util.Log
|
||||
import android.view.View
|
||||
import android.widget.ImageView
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.net.toUri
|
||||
import autodagger.AutoInjector
|
||||
import coil.load
|
||||
import com.nextcloud.android.common.ui.theme.utils.ColorRole
|
||||
@ -100,7 +100,7 @@ class IncomingDeckCardViewHolder(incomingView: View, payload: Any) : MessageHold
|
||||
}
|
||||
|
||||
binding.cardView.setOnClickListener {
|
||||
val browserIntent = Intent(Intent.ACTION_VIEW, Uri.parse(cardLink))
|
||||
val browserIntent = Intent(Intent.ACTION_VIEW, cardLink!!.toUri())
|
||||
browserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
context.startActivity(browserIntent)
|
||||
}
|
||||
|
@ -12,13 +12,13 @@ package com.nextcloud.talk.adapters.messages
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.util.Log
|
||||
import android.util.TypedValue
|
||||
import android.view.MotionEvent
|
||||
import android.view.View
|
||||
import android.webkit.WebView
|
||||
import android.webkit.WebViewClient
|
||||
import androidx.core.net.toUri
|
||||
import autodagger.AutoInjector
|
||||
import coil.load
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
@ -223,7 +223,7 @@ class IncomingLocationMessageViewHolder(incomingView: View, payload: Any) :
|
||||
override fun shouldOverrideUrlLoading(view: WebView?, url: String?): Boolean {
|
||||
return if (url != null && UriUtils.hasHttpProtocolPrefixed(url)
|
||||
) {
|
||||
view?.context?.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(url)))
|
||||
view?.context?.startActivity(Intent(Intent.ACTION_VIEW, url.toUri()))
|
||||
true
|
||||
} else {
|
||||
false
|
||||
@ -259,7 +259,7 @@ class IncomingLocationMessageViewHolder(incomingView: View, payload: Any) :
|
||||
private fun openGeoLink() {
|
||||
if (!locationGeoLink.isNullOrEmpty()) {
|
||||
val geoLinkWithMarker = addMarkerToGeoLink(locationGeoLink!!)
|
||||
val browserIntent = Intent(Intent.ACTION_VIEW, Uri.parse(geoLinkWithMarker))
|
||||
val browserIntent = Intent(Intent.ACTION_VIEW, geoLinkWithMarker.toUri())
|
||||
browserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
context.startActivity(browserIntent)
|
||||
} else {
|
||||
|
@ -8,13 +8,13 @@ package com.nextcloud.talk.adapters.messages
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.util.Log
|
||||
import android.view.View
|
||||
import androidx.core.net.toUri
|
||||
import coil.load
|
||||
import com.nextcloud.talk.api.NcApi
|
||||
import com.nextcloud.talk.databinding.ReferenceInsideMessageBinding
|
||||
import com.nextcloud.talk.chat.data.model.ChatMessage
|
||||
import com.nextcloud.talk.databinding.ReferenceInsideMessageBinding
|
||||
import com.nextcloud.talk.models.json.opengraph.OpenGraphOverall
|
||||
import com.nextcloud.talk.utils.ApiUtils
|
||||
import io.reactivex.Observer
|
||||
@ -82,7 +82,7 @@ class LinkPreview {
|
||||
}
|
||||
|
||||
binding.referenceWrapper.setOnClickListener {
|
||||
val browserIntent = Intent(Intent.ACTION_VIEW, Uri.parse(referenceLink))
|
||||
val browserIntent = Intent(Intent.ACTION_VIEW, referenceLink!!.toUri())
|
||||
browserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
context.startActivity(browserIntent)
|
||||
}
|
||||
|
@ -11,12 +11,12 @@ package com.nextcloud.talk.adapters.messages
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.util.Log
|
||||
import android.view.View
|
||||
import android.widget.ImageView
|
||||
import androidx.appcompat.content.res.AppCompatResources
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.net.toUri
|
||||
import autodagger.AutoInjector
|
||||
import coil.load
|
||||
import com.nextcloud.android.common.ui.theme.utils.ColorRole
|
||||
@ -121,7 +121,7 @@ class OutcomingDeckCardViewHolder(
|
||||
binding.checkMark.contentDescription = readStatusContentDescriptionString
|
||||
|
||||
binding.cardView.setOnClickListener {
|
||||
val browserIntent = Intent(Intent.ACTION_VIEW, Uri.parse(cardLink))
|
||||
val browserIntent = Intent(Intent.ACTION_VIEW, cardLink!!.toUri())
|
||||
browserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
context.startActivity(browserIntent)
|
||||
}
|
||||
|
@ -11,7 +11,6 @@ package com.nextcloud.talk.adapters.messages
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.util.Log
|
||||
import android.util.TypedValue
|
||||
import android.view.MotionEvent
|
||||
@ -19,6 +18,7 @@ import android.view.View
|
||||
import android.webkit.WebView
|
||||
import android.webkit.WebViewClient
|
||||
import androidx.appcompat.content.res.AppCompatResources
|
||||
import androidx.core.net.toUri
|
||||
import autodagger.AutoInjector
|
||||
import coil.load
|
||||
import com.google.android.flexbox.FlexboxLayout
|
||||
@ -160,7 +160,7 @@ class OutcomingLocationMessageViewHolder(incomingView: View) :
|
||||
override fun shouldOverrideUrlLoading(view: WebView?, url: String?): Boolean {
|
||||
return if (url != null && UriUtils.hasHttpProtocolPrefixed(url)
|
||||
) {
|
||||
view?.context?.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(url)))
|
||||
view?.context?.startActivity(Intent(Intent.ACTION_VIEW, url.toUri()))
|
||||
true
|
||||
} else {
|
||||
false
|
||||
@ -259,7 +259,7 @@ class OutcomingLocationMessageViewHolder(incomingView: View) :
|
||||
private fun openGeoLink() {
|
||||
if (!locationGeoLink.isNullOrEmpty()) {
|
||||
val geoLinkWithMarker = addMarkerToGeoLink(locationGeoLink!!)
|
||||
val browserIntent = Intent(Intent.ACTION_VIEW, Uri.parse(geoLinkWithMarker))
|
||||
val browserIntent = Intent(Intent.ACTION_VIEW, geoLinkWithMarker.toUri())
|
||||
browserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
context.startActivity(browserIntent)
|
||||
} else {
|
||||
|
@ -13,7 +13,6 @@ import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.net.Uri
|
||||
import android.os.Handler
|
||||
import android.util.Base64
|
||||
import android.util.Log
|
||||
@ -21,6 +20,7 @@ import android.view.View
|
||||
import android.widget.ImageView
|
||||
import android.widget.ProgressBar
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.net.toUri
|
||||
import androidx.emoji2.widget.EmojiTextView
|
||||
import autodagger.AutoInjector
|
||||
import com.google.android.material.card.MaterialCardView
|
||||
@ -29,12 +29,12 @@ import com.nextcloud.talk.R
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication.Companion.sharedApplication
|
||||
import com.nextcloud.talk.chat.data.model.ChatMessage
|
||||
import com.nextcloud.talk.filebrowser.models.BrowserFile
|
||||
import com.nextcloud.talk.filebrowser.webdav.ReadFilesystemOperation
|
||||
import com.nextcloud.talk.data.user.model.User
|
||||
import com.nextcloud.talk.databinding.ReactionsInsideMessageBinding
|
||||
import com.nextcloud.talk.extensions.loadChangelogBotAvatar
|
||||
import com.nextcloud.talk.extensions.loadFederatedUserAvatar
|
||||
import com.nextcloud.talk.filebrowser.models.BrowserFile
|
||||
import com.nextcloud.talk.filebrowser.webdav.ReadFilesystemOperation
|
||||
import com.nextcloud.talk.ui.theme.ViewThemeUtils
|
||||
import com.nextcloud.talk.users.UserManager
|
||||
import com.nextcloud.talk.utils.DateUtils
|
||||
@ -140,7 +140,7 @@ abstract class PreviewMessageViewHolder(itemView: View?, payload: Any?) :
|
||||
} else {
|
||||
if (message.messageType == ChatMessage.MessageType.SINGLE_LINK_IMAGE_MESSAGE.name) {
|
||||
clickView!!.setOnClickListener {
|
||||
val browserIntent = Intent(Intent.ACTION_VIEW, Uri.parse(message.imageUrl))
|
||||
val browserIntent = Intent(Intent.ACTION_VIEW, message.imageUrl!!.toUri())
|
||||
browserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
context!!.startActivity(browserIntent)
|
||||
}
|
||||
|
@ -9,7 +9,6 @@ package com.nextcloud.talk.adapters.messages
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.text.Spannable
|
||||
import android.text.SpannableString
|
||||
import android.text.TextPaint
|
||||
@ -18,13 +17,14 @@ import android.text.style.ClickableSpan
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.net.toUri
|
||||
import androidx.core.view.ViewCompat
|
||||
import autodagger.AutoInjector
|
||||
import com.nextcloud.talk.R
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication.Companion.sharedApplication
|
||||
import com.nextcloud.talk.databinding.ItemSystemMessageBinding
|
||||
import com.nextcloud.talk.chat.data.model.ChatMessage
|
||||
import com.nextcloud.talk.databinding.ItemSystemMessageBinding
|
||||
import com.nextcloud.talk.utils.DateUtils
|
||||
import com.nextcloud.talk.utils.DisplayUtils
|
||||
import com.nextcloud.talk.utils.database.user.CurrentUserProviderNew
|
||||
@ -96,7 +96,7 @@ class SystemMessageViewHolder(itemView: View) : MessageHolders
|
||||
if (newStartIndex != -1) {
|
||||
val clickableSpan = object : ClickableSpan() {
|
||||
override fun onClick(widget: View) {
|
||||
val browserIntent = Intent(Intent.ACTION_VIEW, Uri.parse(link))
|
||||
val browserIntent = Intent(Intent.ACTION_VIEW, link.toUri())
|
||||
browserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
context?.startActivity(browserIntent)
|
||||
}
|
||||
|
@ -24,8 +24,6 @@ import android.content.Intent
|
||||
import android.content.pm.PackageManager
|
||||
import android.content.res.AssetFileDescriptor
|
||||
import android.database.Cursor
|
||||
import android.graphics.drawable.BitmapDrawable
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
@ -58,6 +56,8 @@ import androidx.core.content.PermissionChecker
|
||||
import androidx.core.content.PermissionChecker.PERMISSION_GRANTED
|
||||
import androidx.core.graphics.ColorUtils
|
||||
import androidx.core.graphics.drawable.toBitmap
|
||||
import androidx.core.graphics.drawable.toDrawable
|
||||
import androidx.core.net.toUri
|
||||
import androidx.core.os.bundleOf
|
||||
import androidx.core.text.bold
|
||||
import androidx.emoji2.text.EmojiCompat
|
||||
@ -1022,24 +1022,20 @@ class ChatActivity :
|
||||
}
|
||||
|
||||
if (uiState.userAbsence.replacementUserDisplayName != null) {
|
||||
var imageUri = Uri.parse(
|
||||
ApiUtils.getUrlForAvatar(
|
||||
var imageUri = ApiUtils.getUrlForAvatar(
|
||||
conversationUser?.baseUrl,
|
||||
uiState.userAbsence
|
||||
.replacementUserId,
|
||||
false
|
||||
)
|
||||
)
|
||||
).toUri()
|
||||
if (DisplayUtils.isDarkModeOn(context)) {
|
||||
imageUri = Uri.parse(
|
||||
ApiUtils.getUrlForAvatarDarkTheme(
|
||||
imageUri = ApiUtils.getUrlForAvatarDarkTheme(
|
||||
conversationUser?.baseUrl,
|
||||
uiState
|
||||
.userAbsence
|
||||
.replacementUserId,
|
||||
false
|
||||
)
|
||||
)
|
||||
).toUri()
|
||||
}
|
||||
binding.outOfOfficeContainer.findViewById<TextView>(R.id.absenceReplacement).text =
|
||||
context.resources.getString(R.string.user_absence_replacement)
|
||||
@ -1168,7 +1164,7 @@ class ChatActivity :
|
||||
}
|
||||
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
||||
supportActionBar?.setDisplayShowHomeEnabled(true)
|
||||
supportActionBar?.setIcon(ColorDrawable(resources!!.getColor(R.color.transparent, null)))
|
||||
supportActionBar?.setIcon(resources!!.getColor(R.color.transparent, null).toDrawable())
|
||||
setActionBarTitle()
|
||||
viewThemeUtils.material.themeToolbar(binding.chatToolbar)
|
||||
}
|
||||
@ -1511,7 +1507,7 @@ class ChatActivity :
|
||||
)
|
||||
viewThemeUtils.talk.themeStatusDrawable(context, status)
|
||||
binding.chatToolbar.findViewById<ImageView>(R.id.chat_toolbar_avatar)
|
||||
.setImageDrawable(BitmapDrawable(resources, bitmap))
|
||||
.setImageDrawable(bitmap.toDrawable(resources))
|
||||
binding.chatToolbar.findViewById<ImageView>(R.id.chat_toolbar_status)
|
||||
.setImageDrawable(status)
|
||||
binding.chatToolbar.findViewById<ImageView>(R.id.chat_toolbar_status).contentDescription =
|
||||
@ -1967,7 +1963,7 @@ class ChatActivity :
|
||||
val filenamesWithLineBreaks = StringBuilder("\n")
|
||||
|
||||
for (file in filesToUpload) {
|
||||
val filename = FileUtils.getFileName(Uri.parse(file), context)
|
||||
val filename = FileUtils.getFileName(file.toUri(), context)
|
||||
filenamesWithLineBreaks.append(filename).append("\n")
|
||||
}
|
||||
|
||||
@ -2043,7 +2039,7 @@ class ChatActivity :
|
||||
val filenamesWithLineBreaks = StringBuilder("\n")
|
||||
|
||||
for (file in filesToUpload) {
|
||||
val filename = FileUtils.getFileName(Uri.parse(file), context)
|
||||
val filename = FileUtils.getFileName(file.toUri(), context)
|
||||
filenamesWithLineBreaks.append(filename).append("\n")
|
||||
}
|
||||
|
||||
|
@ -8,7 +8,6 @@
|
||||
package com.nextcloud.talk.chat
|
||||
|
||||
import android.content.res.Resources
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
@ -40,6 +39,8 @@ import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.appcompat.content.res.AppCompatResources
|
||||
import androidx.appcompat.view.ContextThemeWrapper
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.graphics.drawable.toDrawable
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.core.widget.doAfterTextChanged
|
||||
import androidx.emoji2.widget.EmojiTextView
|
||||
import androidx.fragment.app.Fragment
|
||||
@ -476,7 +477,7 @@ class MessageInputFragment : Fragment() {
|
||||
|
||||
binding.fragmentMessageInputView.messageSendButton.visibility =
|
||||
if (binding.fragmentMessageInputView.inputEditText.text.isEmpty() ||
|
||||
binding.fragmentEditView.editMessageView.visibility == View.VISIBLE
|
||||
binding.fragmentEditView.editMessageView.isVisible
|
||||
) {
|
||||
View.GONE
|
||||
} else {
|
||||
@ -608,7 +609,7 @@ class MessageInputFragment : Fragment() {
|
||||
private fun setupMentionAutocomplete() {
|
||||
val elevation = MENTION_AUTO_COMPLETE_ELEVATION
|
||||
resources.let {
|
||||
val backgroundDrawable = ColorDrawable(it.getColor(R.color.bg_default, null))
|
||||
val backgroundDrawable = it.getColor(R.color.bg_default, null).toDrawable()
|
||||
val presenter = MentionAutocompletePresenter(
|
||||
requireContext(),
|
||||
chatActivity.roomToken,
|
||||
|
@ -13,7 +13,6 @@ package com.nextcloud.talk.conversationinfo
|
||||
import android.annotation.SuppressLint
|
||||
import android.app.Activity
|
||||
import android.content.Intent
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.os.Bundle
|
||||
import android.text.TextUtils
|
||||
import android.util.Log
|
||||
@ -27,6 +26,7 @@ import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.core.content.res.ResourcesCompat
|
||||
import androidx.core.graphics.drawable.toDrawable
|
||||
import androidx.fragment.app.FragmentTransaction
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
@ -321,7 +321,7 @@ class ConversationInfoActivity :
|
||||
}
|
||||
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
||||
supportActionBar?.setDisplayShowHomeEnabled(true)
|
||||
supportActionBar?.setIcon(ColorDrawable(resources!!.getColor(android.R.color.transparent, null)))
|
||||
supportActionBar?.setIcon(resources!!.getColor(android.R.color.transparent, null).toDrawable())
|
||||
supportActionBar?.title = if (hasAvatarSpacing) {
|
||||
" " + resources!!.getString(R.string.nc_conversation_menu_conversation_info)
|
||||
} else {
|
||||
|
@ -8,7 +8,6 @@
|
||||
package com.nextcloud.talk.conversationinfoedit
|
||||
|
||||
import android.app.Activity
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.os.Bundle
|
||||
import android.text.InputFilter
|
||||
import android.text.TextUtils
|
||||
@ -18,6 +17,7 @@ import android.view.MenuItem
|
||||
import android.view.View
|
||||
import androidx.activity.result.ActivityResult
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.core.graphics.drawable.toDrawable
|
||||
import androidx.core.net.toFile
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
@ -252,7 +252,7 @@ class ConversationInfoEditActivity : BaseActivity() {
|
||||
}
|
||||
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
||||
supportActionBar?.setDisplayShowHomeEnabled(true)
|
||||
supportActionBar?.setIcon(ColorDrawable(resources!!.getColor(android.R.color.transparent, null)))
|
||||
supportActionBar?.setIcon(resources!!.getColor(android.R.color.transparent, null).toDrawable())
|
||||
supportActionBar?.title = resources!!.getString(R.string.nc_conversation_menu_conversation_info)
|
||||
|
||||
viewThemeUtils.material.themeToolbar(binding.conversationInfoEditToolbar)
|
||||
@ -319,7 +319,7 @@ class ConversationInfoEditActivity : BaseActivity() {
|
||||
conversation!!.name
|
||||
)
|
||||
) {
|
||||
conversation!!.name?.let { binding.avatarImage.loadUserAvatar(conversationUser, it, true, false) }
|
||||
conversation!!.name.let { binding.avatarImage.loadUserAvatar(conversationUser, it, true, false) }
|
||||
}
|
||||
|
||||
ConversationEnums.ConversationType.ROOM_GROUP_CALL, ConversationEnums.ConversationType.ROOM_PUBLIC_CALL -> {
|
||||
|
@ -19,9 +19,7 @@ import android.content.ActivityNotFoundException
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.pm.PackageManager
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.os.Handler
|
||||
@ -42,6 +40,8 @@ import androidx.annotation.OptIn
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.appcompat.widget.SearchView
|
||||
import androidx.compose.ui.platform.ViewCompositionStrategy
|
||||
import androidx.core.graphics.drawable.toDrawable
|
||||
import androidx.core.net.toUri
|
||||
import androidx.core.view.MenuItemCompat
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.fragment.app.DialogFragment
|
||||
@ -638,7 +638,7 @@ class ConversationsListActivity :
|
||||
}
|
||||
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
||||
supportActionBar?.setDisplayShowHomeEnabled(true)
|
||||
supportActionBar?.setIcon(ColorDrawable(resources!!.getColor(R.color.transparent, null)))
|
||||
supportActionBar?.setIcon(resources!!.getColor(R.color.transparent, null).toDrawable())
|
||||
supportActionBar?.title = resources!!.getString(R.string.nc_app_product_name)
|
||||
viewThemeUtils.material.themeToolbar(binding.conversationListToolbar)
|
||||
}
|
||||
@ -1473,7 +1473,7 @@ class ConversationsListActivity :
|
||||
if (platformPermissionUtil.isFilesPermissionGranted()) {
|
||||
val fileNamesWithLineBreaks = StringBuilder("\n")
|
||||
for (file in filesToShare!!) {
|
||||
val filename = FileUtils.getFileName(Uri.parse(file), context)
|
||||
val filename = FileUtils.getFileName(file.toUri(), context)
|
||||
fileNamesWithLineBreaks.append(filename).append("\n")
|
||||
}
|
||||
val confirmationQuestion: String = if (filesToShare!!.size == 1) {
|
||||
@ -1900,11 +1900,11 @@ class ConversationsListActivity :
|
||||
.setPositiveButton(R.string.nc_dialog_outdated_client_option_update) { _, _ ->
|
||||
try {
|
||||
startActivity(
|
||||
Intent(Intent.ACTION_VIEW, Uri.parse(CLIENT_UPGRADE_MARKET_LINK + packageName))
|
||||
Intent(Intent.ACTION_VIEW, (CLIENT_UPGRADE_MARKET_LINK + packageName).toUri())
|
||||
)
|
||||
} catch (e: ActivityNotFoundException) {
|
||||
startActivity(
|
||||
Intent(Intent.ACTION_VIEW, Uri.parse(CLIENT_UPGRADE_GPLAY_LINK + packageName))
|
||||
Intent(Intent.ACTION_VIEW, (CLIENT_UPGRADE_GPLAY_LINK + packageName).toUri())
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -10,7 +10,6 @@ import android.annotation.SuppressLint
|
||||
import android.content.ClipData
|
||||
import android.content.ClipboardManager
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.os.Build.MANUFACTURER
|
||||
import android.os.Build.MODEL
|
||||
@ -28,6 +27,7 @@ import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.colorResource
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.core.net.toUri
|
||||
import autodagger.AutoInjector
|
||||
import com.nextcloud.talk.BuildConfig
|
||||
import com.nextcloud.talk.R
|
||||
@ -35,8 +35,8 @@ import com.nextcloud.talk.activities.BaseActivity
|
||||
import com.nextcloud.talk.api.NcApi
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication
|
||||
import com.nextcloud.talk.arbitrarystorage.ArbitraryStorageManager
|
||||
import com.nextcloud.talk.components.StandardAppBar
|
||||
import com.nextcloud.talk.components.SetupSystemBars
|
||||
import com.nextcloud.talk.components.StandardAppBar
|
||||
import com.nextcloud.talk.users.UserManager
|
||||
import com.nextcloud.talk.utils.BrandingUtils
|
||||
import com.nextcloud.talk.utils.ClosedInterfaceImpl
|
||||
@ -151,7 +151,7 @@ class DiagnoseActivity : BaseActivity() {
|
||||
val intent = Intent(Intent.ACTION_SENDTO).apply {
|
||||
val appName = context.resources.getString(R.string.nc_app_product_name)
|
||||
|
||||
data = Uri.parse("mailto:")
|
||||
data = "mailto:".toUri()
|
||||
putExtra(Intent.EXTRA_SUBJECT, appName)
|
||||
putExtra(Intent.EXTRA_TEXT, text)
|
||||
}
|
||||
@ -166,7 +166,7 @@ class DiagnoseActivity : BaseActivity() {
|
||||
startActivity(
|
||||
Intent(
|
||||
Intent.ACTION_VIEW,
|
||||
Uri.parse(resources!!.getString(R.string.nc_talk_android_issues_url))
|
||||
resources!!.getString(R.string.nc_talk_android_issues_url).toUri()
|
||||
)
|
||||
)
|
||||
}
|
||||
|
@ -11,18 +11,17 @@
|
||||
package com.nextcloud.talk.extensions
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Bitmap
|
||||
import android.graphics.Canvas
|
||||
import android.graphics.Color
|
||||
import android.graphics.Paint
|
||||
import android.graphics.drawable.BitmapDrawable
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.graphics.drawable.LayerDrawable
|
||||
import android.util.Log
|
||||
import android.widget.ImageView
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.content.res.ResourcesCompat
|
||||
import androidx.core.graphics.createBitmap
|
||||
import androidx.core.graphics.drawable.toDrawable
|
||||
import coil.annotation.ExperimentalCoilApi
|
||||
import coil.imageLoader
|
||||
import coil.load
|
||||
@ -326,7 +325,7 @@ fun ImageView.loadChangelogBotAvatar(): io.reactivex.disposables.Disposable {
|
||||
|
||||
fun ImageView.loadBotsAvatar(): io.reactivex.disposables.Disposable {
|
||||
val layers = arrayOfNulls<Drawable>(2)
|
||||
layers[0] = ColorDrawable(context.getColor(R.color.black))
|
||||
layers[0] = context.getColor(R.color.black).toDrawable()
|
||||
layers[1] = TextDrawable(context, ">")
|
||||
val layerDrawable = LayerDrawable(layers)
|
||||
val data: Any = layerDrawable
|
||||
@ -386,7 +385,7 @@ fun ImageView.loadGuestAvatar(baseUrl: String, name: String, big: Boolean): io.r
|
||||
@Suppress("MagicNumber")
|
||||
private fun createTextDrawable(context: Context, letter: String): Drawable {
|
||||
val size = 100
|
||||
val bitmap = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888)
|
||||
val bitmap = createBitmap(size, size)
|
||||
val canvas = Canvas(bitmap)
|
||||
|
||||
val paint = Paint().apply {
|
||||
@ -406,7 +405,7 @@ private fun createTextDrawable(context: Context, letter: String): Drawable {
|
||||
val yPos = (canvas.height / 2 - (textPaint.descent() + textPaint.ascent()) / 2)
|
||||
canvas.drawText(letter.take(1), xPos, yPos, textPaint)
|
||||
|
||||
return BitmapDrawable(context.resources, bitmap)
|
||||
return bitmap.toDrawable(context.resources)
|
||||
}
|
||||
|
||||
private class DisposableWrapper(private val disposable: coil.request.Disposable) : io.reactivex.disposables
|
||||
|
@ -7,10 +7,10 @@
|
||||
package com.nextcloud.talk.invitation
|
||||
|
||||
import android.content.Intent
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.activity.OnBackPressedCallback
|
||||
import androidx.core.graphics.drawable.toDrawable
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import autodagger.AutoInjector
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
@ -168,7 +168,7 @@ class InvitationsActivity : BaseActivity() {
|
||||
}
|
||||
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
||||
supportActionBar?.setDisplayShowHomeEnabled(true)
|
||||
supportActionBar?.setIcon(ColorDrawable(resources!!.getColor(R.color.transparent, null)))
|
||||
supportActionBar?.setIcon(resources!!.getColor(R.color.transparent, null).toDrawable())
|
||||
viewThemeUtils.material.themeToolbar(binding.invitationsToolbar)
|
||||
}
|
||||
}
|
||||
|
@ -15,7 +15,6 @@ import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.pm.PackageManager
|
||||
import android.graphics.Bitmap
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.os.Handler
|
||||
@ -33,6 +32,7 @@ import androidx.core.app.Person
|
||||
import androidx.core.app.RemoteInput
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.graphics.drawable.toBitmap
|
||||
import androidx.core.net.toUri
|
||||
import androidx.emoji2.text.EmojiCompat
|
||||
import androidx.work.Data
|
||||
import androidx.work.Worker
|
||||
@ -272,7 +272,7 @@ class NotificationWorker(context: Context, workerParams: WorkerParameters) : Wor
|
||||
|
||||
val soundUri = getCallRingtoneUri(applicationContext, appPreferences)
|
||||
val notificationChannelId = NotificationUtils.NotificationChannels.NOTIFICATION_CHANNEL_CALLS_V4.name
|
||||
val uri = Uri.parse(signatureVerification.user!!.baseUrl!!)
|
||||
val uri = signatureVerification.user!!.baseUrl!!.toUri()
|
||||
val baseUrl = uri.host
|
||||
|
||||
val notification =
|
||||
@ -499,7 +499,7 @@ class NotificationWorker(context: Context, workerParams: WorkerParameters) : Wor
|
||||
0
|
||||
}
|
||||
val pendingIntent = PendingIntent.getActivity(context, requestCode, intent, intentFlag)
|
||||
val uri = Uri.parse(signatureVerification.user!!.baseUrl!!)
|
||||
val uri = signatureVerification.user!!.baseUrl!!.toUri()
|
||||
val baseUrl = uri.host
|
||||
|
||||
var contentTitle: CharSequence? = ""
|
||||
|
@ -19,6 +19,7 @@ import android.os.Bundle
|
||||
import android.os.SystemClock
|
||||
import android.util.Log
|
||||
import androidx.core.app.NotificationCompat
|
||||
import androidx.core.net.toUri
|
||||
import androidx.work.Data
|
||||
import androidx.work.ExistingWorkPolicy
|
||||
import androidx.work.OneTimeWorkRequest
|
||||
@ -110,7 +111,7 @@ class UploadAndShareFilesWorker(val context: Context, workerParameters: WorkerPa
|
||||
require(sourceFile.isNotEmpty())
|
||||
checkNotNull(roomToken)
|
||||
|
||||
val sourceFileUri = Uri.parse(sourceFile)
|
||||
val sourceFileUri = sourceFile.toUri()
|
||||
fileName = FileUtils.getFileName(sourceFileUri, context)
|
||||
file = FileUtils.getFileFromUri(context, sourceFileUri)
|
||||
val remotePath = getRemotePath(currentUser)
|
||||
|
@ -9,7 +9,6 @@ package com.nextcloud.talk.location
|
||||
import android.app.SearchManager
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.os.Bundle
|
||||
import android.text.InputType
|
||||
import android.util.Log
|
||||
@ -17,6 +16,7 @@ import android.view.Menu
|
||||
import android.view.MenuItem
|
||||
import android.view.inputmethod.EditorInfo
|
||||
import androidx.appcompat.widget.SearchView
|
||||
import androidx.core.graphics.drawable.toDrawable
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.preference.PreferenceManager
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
@ -132,7 +132,7 @@ class GeocodingActivity :
|
||||
}
|
||||
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
||||
supportActionBar?.setDisplayShowHomeEnabled(true)
|
||||
supportActionBar?.setIcon(ColorDrawable(resources!!.getColor(R.color.transparent, null)))
|
||||
supportActionBar?.setIcon(resources!!.getColor(R.color.transparent, null).toDrawable())
|
||||
supportActionBar?.title = ""
|
||||
viewThemeUtils.material.themeToolbar(binding.geocodingToolbar)
|
||||
}
|
||||
|
@ -13,7 +13,6 @@ import android.app.SearchManager
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.pm.PackageManager
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.location.Location
|
||||
import android.location.LocationListener
|
||||
import android.location.LocationManager
|
||||
@ -28,6 +27,7 @@ import androidx.activity.OnBackPressedCallback
|
||||
import androidx.appcompat.widget.SearchView
|
||||
import androidx.core.content.PermissionChecker
|
||||
import androidx.core.content.res.ResourcesCompat
|
||||
import androidx.core.graphics.drawable.toDrawable
|
||||
import androidx.core.view.MenuItemCompat
|
||||
import androidx.preference.PreferenceManager
|
||||
import autodagger.AutoInjector
|
||||
@ -178,7 +178,7 @@ class LocationPickerActivity :
|
||||
}
|
||||
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
||||
supportActionBar?.setDisplayShowHomeEnabled(true)
|
||||
supportActionBar?.setIcon(ColorDrawable(resources!!.getColor(android.R.color.transparent, null)))
|
||||
supportActionBar?.setIcon(resources!!.getColor(android.R.color.transparent, null).toDrawable())
|
||||
supportActionBar?.title = context.getString(R.string.nc_share_location)
|
||||
viewThemeUtils.material.themeToolbar(binding.locationPickerToolbar)
|
||||
}
|
||||
|
@ -7,9 +7,9 @@
|
||||
package com.nextcloud.talk.openconversations
|
||||
|
||||
import android.content.Intent
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.core.graphics.drawable.toDrawable
|
||||
import androidx.core.widget.doOnTextChanged
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import autodagger.AutoInjector
|
||||
@ -143,7 +143,7 @@ class ListOpenConversationsActivity : BaseActivity() {
|
||||
}
|
||||
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
||||
supportActionBar?.setDisplayShowHomeEnabled(true)
|
||||
supportActionBar?.setIcon(ColorDrawable(resources!!.getColor(R.color.transparent, null)))
|
||||
supportActionBar?.setIcon(resources!!.getColor(R.color.transparent, null).toDrawable())
|
||||
viewThemeUtils.material.themeToolbar(binding.openConversationsToolbar)
|
||||
}
|
||||
}
|
||||
|
@ -11,8 +11,6 @@ package com.nextcloud.talk.profile
|
||||
|
||||
import android.app.Activity
|
||||
import android.content.pm.PackageManager
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import android.text.Editable
|
||||
import android.text.TextUtils
|
||||
@ -27,7 +25,9 @@ import androidx.activity.result.ActivityResult
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.graphics.drawable.toDrawable
|
||||
import androidx.core.net.toFile
|
||||
import androidx.core.net.toUri
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import autodagger.AutoInjector
|
||||
@ -208,7 +208,7 @@ class ProfileActivity : BaseActivity() {
|
||||
}
|
||||
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
||||
supportActionBar?.setDisplayShowHomeEnabled(true)
|
||||
supportActionBar?.setIcon(ColorDrawable(resources!!.getColor(android.R.color.transparent, null)))
|
||||
supportActionBar?.setIcon(resources!!.getColor(android.R.color.transparent, null).toDrawable())
|
||||
supportActionBar?.title = context.getString(R.string.nc_profile_personal_info_title)
|
||||
viewThemeUtils.material.themeToolbar(binding.profileToolbar)
|
||||
}
|
||||
@ -313,7 +313,7 @@ class ProfileActivity : BaseActivity() {
|
||||
|
||||
private fun showUserProfile() {
|
||||
if (currentUser!!.baseUrl != null) {
|
||||
binding.userinfoBaseurl.text = Uri.parse(currentUser!!.baseUrl!!).host
|
||||
binding.userinfoBaseurl.text = currentUser!!.baseUrl!!.toUri().host
|
||||
}
|
||||
DisplayUtils.loadAvatarImage(currentUser, binding.avatarImage, false)
|
||||
if (!TextUtils.isEmpty(userInfo?.displayName)) {
|
||||
|
@ -20,7 +20,6 @@ import android.content.DialogInterface
|
||||
import android.content.Intent
|
||||
import android.content.pm.PackageManager
|
||||
import android.graphics.PorterDuff
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.media.RingtoneManager
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
@ -35,6 +34,8 @@ import android.widget.Toast
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.content.res.ResourcesCompat
|
||||
import androidx.core.graphics.drawable.toDrawable
|
||||
import androidx.core.net.toUri
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.work.OneTimeWorkRequest
|
||||
@ -199,7 +200,7 @@ class SettingsActivity :
|
||||
registerChangeListeners()
|
||||
|
||||
if (currentUser != null) {
|
||||
binding.domainText.text = Uri.parse(currentUser!!.baseUrl).host
|
||||
binding.domainText.text = currentUser!!.baseUrl!!.toUri().host
|
||||
setupServerAgeWarning()
|
||||
if (currentUser!!.displayName != null) {
|
||||
binding.nameText.text = currentUser!!.displayName
|
||||
@ -260,7 +261,7 @@ class SettingsActivity :
|
||||
}
|
||||
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
||||
supportActionBar?.setDisplayShowHomeEnabled(true)
|
||||
supportActionBar?.setIcon(ColorDrawable(resources!!.getColor(android.R.color.transparent, null)))
|
||||
supportActionBar?.setIcon(resources!!.getColor(android.R.color.transparent, null).toDrawable())
|
||||
supportActionBar?.title = context.getString(R.string.nc_settings)
|
||||
viewThemeUtils.material.themeToolbar(binding.settingsToolbar)
|
||||
}
|
||||
@ -441,7 +442,7 @@ class SettingsActivity :
|
||||
startActivity(
|
||||
Intent(
|
||||
Intent.ACTION_VIEW,
|
||||
Uri.parse(resources.getString(R.string.notification_checklist_url))
|
||||
resources.getString(R.string.notification_checklist_url).toUri()
|
||||
)
|
||||
)
|
||||
}
|
||||
@ -449,7 +450,7 @@ class SettingsActivity :
|
||||
startActivity(
|
||||
Intent(
|
||||
Intent.ACTION_VIEW,
|
||||
Uri.parse(resources.getString(R.string.dontkillmyapp_url))
|
||||
resources.getString(R.string.dontkillmyapp_url).toUri()
|
||||
)
|
||||
)
|
||||
}
|
||||
@ -503,7 +504,7 @@ class SettingsActivity :
|
||||
startActivity(
|
||||
Intent(
|
||||
Intent.ACTION_VIEW,
|
||||
Uri.parse(resources!!.getString(R.string.nc_source_code_url))
|
||||
resources!!.getString(R.string.nc_source_code_url).toUri()
|
||||
)
|
||||
)
|
||||
}
|
||||
@ -525,7 +526,7 @@ class SettingsActivity :
|
||||
startActivity(
|
||||
Intent(
|
||||
Intent.ACTION_VIEW,
|
||||
Uri.parse(resources!!.getString(R.string.nc_privacy_url))
|
||||
resources!!.getString(R.string.nc_privacy_url).toUri()
|
||||
)
|
||||
)
|
||||
}
|
||||
@ -540,7 +541,7 @@ class SettingsActivity :
|
||||
startActivity(
|
||||
Intent(
|
||||
Intent.ACTION_VIEW,
|
||||
Uri.parse(resources!!.getString(R.string.nc_gpl3_url))
|
||||
resources!!.getString(R.string.nc_gpl3_url).toUri()
|
||||
)
|
||||
)
|
||||
}
|
||||
|
@ -7,8 +7,8 @@
|
||||
*/
|
||||
package com.nextcloud.talk.shareditems.repositories
|
||||
|
||||
import android.net.Uri
|
||||
import android.util.Log
|
||||
import androidx.core.net.toUri
|
||||
import com.nextcloud.talk.R
|
||||
import com.nextcloud.talk.api.NcApi
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication.Companion.sharedApplication
|
||||
@ -135,7 +135,7 @@ class SharedItemsRepositoryImpl @Inject constructor(private val ncApi: NcApi, pr
|
||||
actorParameters["id"]!!,
|
||||
actorParameters["name"]!!,
|
||||
dateTime,
|
||||
Uri.parse(objectParameters["id"]!!.replace("geo:", "geo:0,0?z=11&q="))
|
||||
objectParameters["id"]!!.replace("geo:", "geo:0,0?z=11&q=").toUri()
|
||||
)
|
||||
}
|
||||
|
||||
@ -146,7 +146,7 @@ class SharedItemsRepositoryImpl @Inject constructor(private val ncApi: NcApi, pr
|
||||
actorParameters["id"]!!,
|
||||
actorParameters["name"]!!,
|
||||
dateTime,
|
||||
Uri.parse(objectParameters["link"]!!)
|
||||
objectParameters["link"]!!.toUri()
|
||||
)
|
||||
}
|
||||
|
||||
@ -168,7 +168,7 @@ class SharedItemsRepositoryImpl @Inject constructor(private val ncApi: NcApi, pr
|
||||
|
||||
return ncApi.getSharedItemsOverview(
|
||||
credentials,
|
||||
ApiUtils.getUrlForChatSharedItemsOverview(1, parameters.baseUrl!!, parameters.roomToken),
|
||||
ApiUtils.getUrlForChatSharedItemsOverview(1, parameters.baseUrl, parameters.roomToken),
|
||||
1
|
||||
).map {
|
||||
val types = mutableSetOf<SharedItemType>()
|
||||
|
@ -11,13 +11,13 @@ import android.app.AlertDialog
|
||||
import android.content.ClipData
|
||||
import android.content.ClipboardManager
|
||||
import android.content.Context
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.os.Bundle
|
||||
import android.text.method.ScrollingMovementMethod
|
||||
import android.util.Log
|
||||
import android.view.View
|
||||
import android.widget.AdapterView
|
||||
import android.widget.ArrayAdapter
|
||||
import androidx.core.graphics.drawable.toDrawable
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import autodagger.AutoInjector
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
@ -130,7 +130,7 @@ class TranslateActivity : BaseActivity() {
|
||||
}
|
||||
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
||||
supportActionBar?.setDisplayShowHomeEnabled(true)
|
||||
supportActionBar?.setIcon(ColorDrawable(resources!!.getColor(R.color.transparent, null)))
|
||||
supportActionBar?.setIcon(resources!!.getColor(R.color.transparent, null).toDrawable())
|
||||
supportActionBar?.title = resources!!.getString(R.string.translation)
|
||||
viewThemeUtils.material.themeToolbar(binding.translationToolbar)
|
||||
}
|
||||
|
@ -14,16 +14,17 @@ import android.graphics.Paint
|
||||
import android.util.AttributeSet
|
||||
import androidx.annotation.ColorInt
|
||||
import androidx.appcompat.widget.AppCompatSeekBar
|
||||
import androidx.core.graphics.toColorInt
|
||||
import com.nextcloud.talk.utils.AudioUtils
|
||||
import kotlin.math.roundToInt
|
||||
|
||||
class WaveformSeekBar : AppCompatSeekBar {
|
||||
|
||||
@ColorInt
|
||||
private var primary: Int = Color.parseColor("#679ff5")
|
||||
private var primary: Int = "#679ff5".toColorInt()
|
||||
|
||||
@ColorInt
|
||||
private var secondary: Int = Color.parseColor("#a6c6f7")
|
||||
private var secondary: Int = "#a6c6f7".toColorInt()
|
||||
private var rawData: FloatArray = floatArrayOf()
|
||||
private var waveData: FloatArray = floatArrayOf()
|
||||
private var savedMeasure: Int = 0
|
||||
|
@ -12,16 +12,17 @@ import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import androidx.core.net.toUri
|
||||
import com.afollestad.materialdialogs.LayoutMode
|
||||
import com.afollestad.materialdialogs.MaterialDialog
|
||||
import com.afollestad.materialdialogs.bottomsheets.BottomSheet
|
||||
import com.nextcloud.talk.R
|
||||
import com.nextcloud.talk.api.NcApi
|
||||
import com.nextcloud.talk.chat.ChatActivity
|
||||
import com.nextcloud.talk.bottomsheet.items.BasicListItemWithImage
|
||||
import com.nextcloud.talk.bottomsheet.items.listItemsWithImage
|
||||
import com.nextcloud.talk.data.user.model.User
|
||||
import com.nextcloud.talk.chat.ChatActivity
|
||||
import com.nextcloud.talk.chat.data.model.ChatMessage
|
||||
import com.nextcloud.talk.data.user.model.User
|
||||
import com.nextcloud.talk.models.json.conversations.RoomOverall
|
||||
import com.nextcloud.talk.models.json.hovercard.HoverCardAction
|
||||
import com.nextcloud.talk.models.json.hovercard.HoverCardOverall
|
||||
@ -161,14 +162,14 @@ class ProfileBottomSheet(val ncApi: NcApi, val userModel: User, val viewThemeUti
|
||||
private fun composeEmail(address: String, context: Context) {
|
||||
val addresses = arrayListOf(address)
|
||||
val intent = Intent(Intent.ACTION_SENDTO).apply {
|
||||
data = Uri.parse("mailto:") // only email apps should handle this
|
||||
data = "mailto:".toUri() // only email apps should handle this
|
||||
putExtra(Intent.EXTRA_EMAIL, addresses)
|
||||
}
|
||||
context.startActivity(intent)
|
||||
}
|
||||
|
||||
private fun openProfile(hyperlink: String, context: Context) {
|
||||
val webpage: Uri = Uri.parse(hyperlink)
|
||||
val webpage: Uri = hyperlink.toUri()
|
||||
val intent = Intent(Intent.ACTION_VIEW, webpage)
|
||||
context.startActivity(intent)
|
||||
}
|
||||
|
@ -10,11 +10,11 @@ package com.nextcloud.talk.ui.dialog
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.app.Dialog
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.core.net.toUri
|
||||
import androidx.fragment.app.DialogFragment
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import autodagger.AutoInjector
|
||||
@ -78,7 +78,7 @@ class ChooseAccountShareToDialogFragment : DialogFragment() {
|
||||
if (user != null) {
|
||||
binding!!.currentAccount.userName.text = user.displayName
|
||||
binding!!.currentAccount.ticker.visibility = View.GONE
|
||||
binding!!.currentAccount.account.text = Uri.parse(user.baseUrl!!).host
|
||||
binding!!.currentAccount.account.text = user.baseUrl!!.toUri().host
|
||||
viewThemeUtils!!.platform.colorImageView(binding!!.currentAccount.accountMenu, ColorRole.PRIMARY)
|
||||
if (user.baseUrl != null &&
|
||||
(user.baseUrl!!.startsWith("http://") || user.baseUrl!!.startsWith("https://"))
|
||||
|
@ -20,7 +20,6 @@ import android.graphics.Canvas
|
||||
import android.graphics.Color
|
||||
import android.graphics.Typeface
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.net.Uri
|
||||
import android.text.Spannable
|
||||
import android.text.SpannableString
|
||||
import android.text.Spanned
|
||||
@ -46,7 +45,9 @@ import androidx.annotation.XmlRes
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.content.res.ResourcesCompat
|
||||
import androidx.core.graphics.ColorUtils
|
||||
import androidx.core.graphics.createBitmap
|
||||
import androidx.core.graphics.drawable.DrawableCompat
|
||||
import androidx.core.net.toUri
|
||||
import androidx.emoji2.text.EmojiCompat
|
||||
import coil.Coil.imageLoader
|
||||
import coil.request.ImageRequest
|
||||
@ -87,12 +88,12 @@ object DisplayUtils {
|
||||
return currentNightMode == Configuration.UI_MODE_NIGHT_YES
|
||||
}
|
||||
|
||||
fun setClickableString(string: String, url: String?, textView: TextView) {
|
||||
fun setClickableString(string: String, url: String, textView: TextView) {
|
||||
val spannableString = SpannableString(string)
|
||||
spannableString.setSpan(
|
||||
object : ClickableSpan() {
|
||||
override fun onClick(widget: View) {
|
||||
val browserIntent = Intent(Intent.ACTION_VIEW, Uri.parse(url))
|
||||
val browserIntent = Intent(Intent.ACTION_VIEW, url.toUri())
|
||||
browserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
sharedApplication!!.applicationContext.startActivity(browserIntent)
|
||||
}
|
||||
@ -111,11 +112,7 @@ object DisplayUtils {
|
||||
}
|
||||
|
||||
fun getBitmap(drawable: Drawable): Bitmap {
|
||||
val bitmap = Bitmap.createBitmap(
|
||||
drawable.intrinsicWidth,
|
||||
drawable.intrinsicHeight,
|
||||
Bitmap.Config.ARGB_8888
|
||||
)
|
||||
val bitmap = createBitmap(drawable.intrinsicWidth, drawable.intrinsicHeight)
|
||||
val canvas = Canvas(bitmap)
|
||||
drawable.setBounds(0, 0, canvas.width, canvas.height)
|
||||
drawable.draw(canvas)
|
||||
|
@ -16,6 +16,7 @@ import android.view.View
|
||||
import android.widget.ImageView
|
||||
import android.widget.ProgressBar
|
||||
import androidx.core.content.FileProvider
|
||||
import androidx.core.net.toUri
|
||||
import androidx.emoji2.widget.EmojiTextView
|
||||
import androidx.work.Data
|
||||
import androidx.work.OneTimeWorkRequest
|
||||
@ -23,13 +24,13 @@ import androidx.work.WorkInfo
|
||||
import androidx.work.WorkManager
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
import com.nextcloud.talk.R
|
||||
import com.nextcloud.talk.adapters.messages.PreviewMessageViewHolder
|
||||
import com.nextcloud.talk.chat.data.model.ChatMessage
|
||||
import com.nextcloud.talk.data.user.model.User
|
||||
import com.nextcloud.talk.fullscreenfile.FullScreenImageActivity
|
||||
import com.nextcloud.talk.fullscreenfile.FullScreenMediaActivity
|
||||
import com.nextcloud.talk.fullscreenfile.FullScreenTextViewerActivity
|
||||
import com.nextcloud.talk.adapters.messages.PreviewMessageViewHolder
|
||||
import com.nextcloud.talk.data.user.model.User
|
||||
import com.nextcloud.talk.jobs.DownloadFileToCacheWorker
|
||||
import com.nextcloud.talk.chat.data.model.ChatMessage
|
||||
import com.nextcloud.talk.utils.AccountUtils.canWeOpenFilesApp
|
||||
import com.nextcloud.talk.utils.Mimetype.AUDIO_MPEG
|
||||
import com.nextcloud.talk.utils.Mimetype.AUDIO_OGG
|
||||
@ -212,7 +213,7 @@ class FileViewerUtils(private val context: Context, private val user: User) {
|
||||
} else {
|
||||
val browserIntent = Intent(
|
||||
Intent.ACTION_VIEW,
|
||||
Uri.parse(link)
|
||||
link.toUri()
|
||||
)
|
||||
browserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
context.startActivity(browserIntent)
|
||||
|
@ -18,6 +18,7 @@ import android.service.notification.StatusBarNotification
|
||||
import android.text.TextUtils
|
||||
import android.util.Log
|
||||
import androidx.core.graphics.drawable.IconCompat
|
||||
import androidx.core.net.toUri
|
||||
import coil.executeBlocking
|
||||
import coil.imageLoader
|
||||
import coil.request.ImageRequest
|
||||
@ -287,14 +288,14 @@ object NotificationUtils {
|
||||
// Ringtone uris are required to register the notification channels -> get uri from preferences.
|
||||
|
||||
return if (TextUtils.isEmpty(ringtonePreferencesString)) {
|
||||
Uri.parse(defaultRingtoneUri)
|
||||
defaultRingtoneUri.toUri()
|
||||
} else {
|
||||
try {
|
||||
val ringtoneSettings =
|
||||
LoganSquare.parse(ringtonePreferencesString, RingtoneSettings::class.java)
|
||||
ringtoneSettings.ringtoneUri
|
||||
} catch (exception: IOException) {
|
||||
Uri.parse(defaultRingtoneUri)
|
||||
defaultRingtoneUri.toUri()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ package com.nextcloud.talk.utils
|
||||
import android.annotation.SuppressLint
|
||||
import android.app.Activity
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import androidx.core.net.toUri
|
||||
import com.nextcloud.talk.R
|
||||
|
||||
object ShareUtils {
|
||||
@ -26,7 +26,7 @@ object ShareUtils {
|
||||
return
|
||||
}
|
||||
|
||||
val uriBuilder = Uri.parse(baseUrl)
|
||||
val uriBuilder = baseUrl.toUri()
|
||||
.buildUpon()
|
||||
|
||||
if (!canGeneratePrettyURL) {
|
||||
|
@ -7,7 +7,7 @@
|
||||
*/
|
||||
package com.nextcloud.talk.utils
|
||||
|
||||
import android.net.Uri
|
||||
import androidx.core.net.toUri
|
||||
|
||||
class UriUtils {
|
||||
companion object {
|
||||
@ -17,7 +17,7 @@ class UriUtils {
|
||||
|
||||
fun extractInstanceInternalFileFileId(url: String): String {
|
||||
// https://cloud.nextcloud.com/apps/files/?dir=/Engineering&fileid=41
|
||||
return Uri.parse(url).getQueryParameter("fileid").toString()
|
||||
return url.toUri().getQueryParameter("fileid").toString()
|
||||
}
|
||||
|
||||
fun isInstanceInternalFileShareUrl(baseUrl: String, url: String): Boolean {
|
||||
@ -35,12 +35,12 @@ class UriUtils {
|
||||
|
||||
fun extractInstanceInternalFileShareFileId(url: String): String {
|
||||
// https://cloud.nextcloud.com/f/41
|
||||
return Uri.parse(url).lastPathSegment ?: ""
|
||||
return url.toUri().lastPathSegment ?: ""
|
||||
}
|
||||
|
||||
fun extractRoomTokenFromTalkUrl(url: String): String {
|
||||
// https://cloud.nextcloud.com/call/123456789
|
||||
return Uri.parse(url).lastPathSegment ?: ""
|
||||
return url.toUri().lastPathSegment ?: ""
|
||||
}
|
||||
|
||||
fun isInstanceInternalFileUrl(baseUrl: String, url: String): Boolean {
|
||||
@ -49,7 +49,7 @@ class UriUtils {
|
||||
url.startsWith("$baseUrl/apps/files/") ||
|
||||
url.startsWith("$baseUrl/index.php/apps/files/")
|
||||
) &&
|
||||
Uri.parse(url).queryParameterNames.contains("fileid") &&
|
||||
url.toUri().queryParameterNames.contains("fileid") &&
|
||||
Regex(""".*fileid=\d*""").matches(url)
|
||||
}
|
||||
|
||||
@ -61,7 +61,7 @@ class UriUtils {
|
||||
|
||||
fun extractInstanceInternalFileFileIdNew(url: String): String {
|
||||
// https://cloud.nextcloud.com/apps/files/files/41?dir=/
|
||||
return Uri.parse(url).lastPathSegment ?: ""
|
||||
return url.toUri().lastPathSegment ?: ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -9,13 +9,13 @@ package com.nextcloud.talk.utils.message
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.graphics.Typeface
|
||||
import android.net.Uri
|
||||
import android.text.SpannableString
|
||||
import android.text.SpannableStringBuilder
|
||||
import android.text.Spanned
|
||||
import android.text.style.StyleSpan
|
||||
import android.util.Log
|
||||
import android.view.View
|
||||
import androidx.core.net.toUri
|
||||
import com.nextcloud.talk.R
|
||||
import com.nextcloud.talk.chat.data.model.ChatMessage
|
||||
import com.nextcloud.talk.ui.theme.ViewThemeUtils
|
||||
@ -139,7 +139,7 @@ class MessageUtils(val context: Context) {
|
||||
|
||||
"file" -> {
|
||||
itemView.setOnClickListener { v ->
|
||||
val browserIntent = Intent(Intent.ACTION_VIEW, Uri.parse(individualHashMap["link"]))
|
||||
val browserIntent = Intent(Intent.ACTION_VIEW, individualHashMap["link"]!!.toUri())
|
||||
context.startActivity(browserIntent)
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user