Merge branch 'iSoron:dev' into dev

This commit is contained in:
Jakub Kalinowski
2022-04-20 18:23:26 +00:00
committed by GitHub
6 changed files with 28 additions and 34 deletions

View File

@@ -1,5 +1,5 @@
plugins { plugins {
val kotlinVersion = "1.5.0" val kotlinVersion = "1.6.10"
id("com.android.application") version ("7.0.3") apply (false) id("com.android.application") version ("7.0.3") apply (false)
id("org.jetbrains.kotlin.android") version kotlinVersion apply (false) id("org.jetbrains.kotlin.android") version kotlinVersion apply (false)
id("org.jetbrains.kotlin.kapt") version kotlinVersion apply (false) id("org.jetbrains.kotlin.kapt") version kotlinVersion apply (false)

View File

@@ -18,7 +18,8 @@
*/ */
package org.isoron.uhabits.acceptance.steps package org.isoron.uhabits.acceptance.steps
import android.os.Build.VERSION import android.os.Build
import android.os.Build.VERSION.SDK_INT
import androidx.annotation.StringRes import androidx.annotation.StringRes
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import androidx.test.espresso.Espresso import androidx.test.espresso.Espresso
@@ -133,7 +134,7 @@ object CommonSteps : BaseUserInterfaceTest() {
@Throws(Exception::class) @Throws(Exception::class)
fun verifyOpensWebsite(url: String?) { fun verifyOpensWebsite(url: String?) {
var browserPkg = "org.chromium.webview_shell" var browserPkg = "org.chromium.webview_shell"
if (VERSION.SDK_INT <= 23) { if (SDK_INT <= Build.VERSION_CODES.M) {
browserPkg = "com.android.browser" browserPkg = "com.android.browser"
} }
assertTrue(device.wait(Until.hasObject(By.pkg(browserPkg)), 5000)) assertTrue(device.wait(Until.hasObject(By.pkg(browserPkg)), 5000))

View File

@@ -18,7 +18,7 @@
*/ */
package org.isoron.uhabits.acceptance.steps package org.isoron.uhabits.acceptance.steps
import android.os.Build.VERSION import android.os.Build.VERSION.SDK_INT
import androidx.test.uiautomator.UiScrollable import androidx.test.uiautomator.UiScrollable
import androidx.test.uiautomator.UiSelector import androidx.test.uiautomator.UiSelector
import junit.framework.Assert.assertFalse import junit.framework.Assert.assertFalse
@@ -50,29 +50,21 @@ object WidgetSteps {
private fun openWidgetScreen() { private fun openWidgetScreen() {
val h = BaseUserInterfaceTest.device.displayHeight val h = BaseUserInterfaceTest.device.displayHeight
val w = BaseUserInterfaceTest.device.displayWidth val w = BaseUserInterfaceTest.device.displayWidth
if (VERSION.SDK_INT <= 21) { val listId = "com.android.launcher3:id/widgets_list_view"
BaseUserInterfaceTest.device.pressHome() BaseUserInterfaceTest.device.pressHome()
BaseUserInterfaceTest.device.waitForIdle() BaseUserInterfaceTest.device.waitForIdle()
BaseUserInterfaceTest.device.findObject(UiSelector().description("Apps")).click() BaseUserInterfaceTest.device.drag(w / 2, h / 2, w / 2, h / 2, 8)
BaseUserInterfaceTest.device.findObject(UiSelector().description("Apps")).click() var button = BaseUserInterfaceTest.device.findObject(UiSelector().text("WIDGETS"))
BaseUserInterfaceTest.device.findObject(UiSelector().description("Widgets")).click() if (!button.waitForExists(1000)) {
} else { button = BaseUserInterfaceTest.device.findObject(UiSelector().text("Widgets"))
val listId = "com.android.launcher3:id/widgets_list_view"
BaseUserInterfaceTest.device.pressHome()
BaseUserInterfaceTest.device.waitForIdle()
BaseUserInterfaceTest.device.drag(w / 2, h / 2, w / 2, h / 2, 8)
var button = BaseUserInterfaceTest.device.findObject(UiSelector().text("WIDGETS"))
if (!button.waitForExists(1000)) {
button = BaseUserInterfaceTest.device.findObject(UiSelector().text("Widgets"))
}
button.click()
if (VERSION.SDK_INT >= 28) {
UiScrollable(UiSelector().resourceId(listId))
.scrollForward()
}
UiScrollable(UiSelector().resourceId(listId))
.scrollIntoView(UiSelector().text("Checkmark"))
} }
button.click()
if (SDK_INT >= 28) {
UiScrollable(UiSelector().resourceId(listId))
.scrollForward()
}
UiScrollable(UiSelector().resourceId(listId))
.scrollIntoView(UiSelector().text("Checkmark"))
} }
@Throws(Exception::class) @Throws(Exception::class)

View File

@@ -21,8 +21,8 @@ package org.isoron.uhabits.activities.habits.list.views
import android.content.Context import android.content.Context
import android.graphics.text.LineBreaker.BREAK_STRATEGY_BALANCED import android.graphics.text.LineBreaker.BREAK_STRATEGY_BALANCED
import android.os.Build
import android.os.Build.VERSION.SDK_INT import android.os.Build.VERSION.SDK_INT
import android.os.Build.VERSION_CODES.M
import android.os.Handler import android.os.Handler
import android.os.Looper import android.os.Looper
import android.text.TextUtils import android.text.TextUtils
@@ -153,7 +153,9 @@ class HabitCardView(
maxLines = 2 maxLines = 2
ellipsize = TextUtils.TruncateAt.END ellipsize = TextUtils.TruncateAt.END
layoutParams = LinearLayout.LayoutParams(0, WRAP_CONTENT, 1f) layoutParams = LinearLayout.LayoutParams(0, WRAP_CONTENT, 1f)
if (SDK_INT >= M) breakStrategy = BREAK_STRATEGY_BALANCED if (SDK_INT >= Build.VERSION_CODES.Q) {
breakStrategy = BREAK_STRATEGY_BALANCED
}
} }
checkmarkPanel = checkmarkPanelFactory.create().apply { checkmarkPanel = checkmarkPanelFactory.create().apply {

View File

@@ -23,7 +23,7 @@ import android.content.Intent
import android.content.SharedPreferences import android.content.SharedPreferences
import android.content.SharedPreferences.OnSharedPreferenceChangeListener import android.content.SharedPreferences.OnSharedPreferenceChangeListener
import android.os.Build import android.os.Build
import android.os.Build.VERSION import android.os.Build.VERSION.SDK_INT
import android.os.Bundle import android.os.Bundle
import android.provider.Settings import android.provider.Settings
import android.util.Log import android.util.Log
@@ -90,7 +90,7 @@ class SettingsFragment : PreferenceFragmentCompat(), OnSharedPreferenceChangeLis
showRingtonePicker() showRingtonePicker()
return true return true
} else if (key == "reminderCustomize") { } else if (key == "reminderCustomize") {
if (VERSION.SDK_INT < Build.VERSION_CODES.O) return true if (SDK_INT < Build.VERSION_CODES.O) return true
createAndroidNotificationChannel(context!!) createAndroidNotificationChannel(context!!)
val intent = Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS) val intent = Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS)
intent.putExtra(Settings.EXTRA_APP_PACKAGE, context!!.packageName) intent.putExtra(Settings.EXTRA_APP_PACKAGE, context!!.packageName)
@@ -112,7 +112,7 @@ class SettingsFragment : PreferenceFragmentCompat(), OnSharedPreferenceChangeLis
} }
updateWeekdayPreference() updateWeekdayPreference()
if (VERSION.SDK_INT < Build.VERSION_CODES.O) if (SDK_INT < Build.VERSION_CODES.O)
findPreference("reminderCustomize").isVisible = false findPreference("reminderCustomize").isVisible = false
else { else {
findPreference("reminderSound").isVisible = false findPreference("reminderSound").isVisible = false

View File

@@ -22,14 +22,13 @@ import android.app.Activity
import android.app.KeyguardManager import android.app.KeyguardManager
import android.content.Context import android.content.Context
import android.os.Build import android.os.Build
import android.os.Build.VERSION.SDK_INT
import android.view.WindowManager import android.view.WindowManager
object SystemUtils { object SystemUtils {
val isAndroidOOrLater: Boolean
get() = Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
fun unlockScreen(activity: Activity) { fun unlockScreen(activity: Activity) {
if (isAndroidOOrLater) { if (SDK_INT >= Build.VERSION_CODES.O) {
val km = activity.getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager val km = activity.getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager
km.requestDismissKeyguard(activity, null) km.requestDismissKeyguard(activity, null)
} else { } else {