From e39c086297f99902df27aab78d9f3d11f744f177 Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Sat, 21 Apr 2018 01:02:21 +0200 Subject: [PATCH] Implement a solution for system services for older android versions --- .../quasseldroid/ui/chat/messages/MessageListFragment.kt | 3 ++- .../quasseldroid/util/QuasseldroidNotificationManager.kt | 3 +-- .../de/kuschku/quasseldroid/util/helper/ContextHelper.kt | 8 -------- .../quasseldroid/util/ui/LinkLongClickMenuHelper.kt | 4 ++-- 4 files changed, 5 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageListFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageListFragment.kt index 9b609b96e..92168088e 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageListFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageListFragment.kt @@ -5,6 +5,7 @@ import android.arch.paging.LivePagedListBuilder import android.arch.paging.PagedList import android.content.ClipData import android.content.ClipboardManager +import android.content.Context import android.content.Intent import android.os.Bundle import android.support.design.widget.FloatingActionButton @@ -106,7 +107,7 @@ class MessageListFragment : ServiceBoundFragment() { else builder - val clipboard = requireContext().systemService<ClipboardManager>() + val clipboard = requireContext().getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager val clip = ClipData.newPlainText(null, data) clipboard.primaryClip = clip actionMode?.finish() diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/QuasseldroidNotificationManager.kt b/app/src/main/java/de/kuschku/quasseldroid/util/QuasseldroidNotificationManager.kt index 4623c8d3b..a4556b998 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/QuasseldroidNotificationManager.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/QuasseldroidNotificationManager.kt @@ -15,7 +15,6 @@ import de.kuschku.quasseldroid.ui.chat.ChatActivity import de.kuschku.quasseldroid.util.helper.editApply import de.kuschku.quasseldroid.util.helper.getColorCompat import de.kuschku.quasseldroid.util.helper.sharedPreferences -import de.kuschku.quasseldroid.util.helper.systemService class QuasseldroidNotificationManager(private val context: Context) { fun init() { @@ -25,7 +24,7 @@ class QuasseldroidNotificationManager(private val context: Context) { @TargetApi(Build.VERSION_CODES.O) private fun prepareChannels() { - val notificationManager = context.systemService<NotificationManager>() + val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager notificationManager.createNotificationChannels( listOf( NotificationChannel( diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/helper/ContextHelper.kt b/app/src/main/java/de/kuschku/quasseldroid/util/helper/ContextHelper.kt index bcd39daae..0e0942bb7 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/helper/ContextHelper.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/helper/ContextHelper.kt @@ -2,7 +2,6 @@ package de.kuschku.quasseldroid.util.helper import android.content.Context import android.content.SharedPreferences -import android.os.Build import android.preference.PreferenceManager import android.support.annotation.ColorInt import android.support.annotation.ColorRes @@ -10,13 +9,6 @@ import android.support.annotation.DrawableRes import android.support.graphics.drawable.VectorDrawableCompat import android.support.v4.content.ContextCompat -inline fun <reified T> Context.systemService(): T = - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - getSystemService(T::class.java) - } else { - getSystemService(T::class.java.simpleName) as T - } - fun Context.getDrawableCompat(@DrawableRes id: Int) = ContextCompat.getDrawable(this, id) fun Context.getVectorDrawableCompat(@DrawableRes id: Int) = diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/ui/LinkLongClickMenuHelper.kt b/app/src/main/java/de/kuschku/quasseldroid/util/ui/LinkLongClickMenuHelper.kt index 89685a984..ea042b88f 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/ui/LinkLongClickMenuHelper.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/ui/LinkLongClickMenuHelper.kt @@ -2,11 +2,11 @@ package de.kuschku.quasseldroid.util.ui import android.content.ClipData import android.content.ClipboardManager +import android.content.Context import android.content.Intent import android.support.v7.widget.PopupMenu import android.widget.TextView import de.kuschku.quasseldroid.R -import de.kuschku.quasseldroid.util.helper.systemService import me.saket.bettermovementmethod.BetterLinkMovementMethod class LinkLongClickMenuHelper : @@ -23,7 +23,7 @@ class LinkLongClickMenuHelper : menu.setOnMenuItemClickListener { when (it.itemId) { R.id.action_copy -> { - val clipboard = anchor.context.systemService<ClipboardManager>() + val clipboard = anchor.context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager val clip = ClipData.newPlainText(null, url) clipboard.primaryClip = clip menu.dismiss() -- GitLab