From 63b19940b52128377e45e16bdd7dc92d10066586 Mon Sep 17 00:00:00 2001 From: tateisu Date: Thu, 16 Feb 2023 15:32:33 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=A2=E3=82=AB=E3=82=A6=E3=83=B3=E3=83=88?= =?UTF-8?q?=E8=A8=AD=E5=AE=9A=E3=81=A7Push=E8=B3=BC=E8=AA=AD=E3=82=92ON/OF?= =?UTF-8?q?F=E3=81=97=E3=81=9F=E3=82=89=E3=81=9D=E3=81=AE=E3=82=BF?= =?UTF-8?q?=E3=82=A4=E3=83=9F=E3=83=B3=E3=82=B0=E3=81=A7=E8=B3=BC=E8=AA=AD?= =?UTF-8?q?=E3=81=AE=E6=9B=B4=E6=96=B0=E3=82=92=E8=A1=8C=E3=81=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../juggler/subwaytooter/ActAccountSetting.kt | 21 ++++++++++++++++--- .../subwaytooter/view/MyDrawerLayout.kt | 13 ++++++++---- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/jp/juggler/subwaytooter/ActAccountSetting.kt b/app/src/main/java/jp/juggler/subwaytooter/ActAccountSetting.kt index 39e6d77a..311206a3 100644 --- a/app/src/main/java/jp/juggler/subwaytooter/ActAccountSetting.kt +++ b/app/src/main/java/jp/juggler/subwaytooter/ActAccountSetting.kt @@ -646,12 +646,27 @@ class ActAccountSetting : AppCompatActivity(), views.cbLocked -> { if (!profileBusy) sendLocked(isChecked) } - views.swNotificationPullEnabled, - views.swNotificationPushEnabled, - -> { + views.swNotificationPullEnabled -> { saveUIToData() showPushSetting() } + + views.swNotificationPushEnabled -> launchAndShowError { + val oldChecked = account.notificationPushEnable + try { + if (oldChecked == isChecked) return@launchAndShowError + account.notificationPushEnable = isChecked + updatePushSubscription(force = true) + saveUIToData() + } catch (ex: Throwable) { + account.notificationPushEnable = oldChecked + buttonView.isChecked = oldChecked + throw ex + } finally { + showPushSetting() + } + } + else -> saveUIToData() } } diff --git a/app/src/main/java/jp/juggler/subwaytooter/view/MyDrawerLayout.kt b/app/src/main/java/jp/juggler/subwaytooter/view/MyDrawerLayout.kt index 67541c3c..c57d8c03 100644 --- a/app/src/main/java/jp/juggler/subwaytooter/view/MyDrawerLayout.kt +++ b/app/src/main/java/jp/juggler/subwaytooter/view/MyDrawerLayout.kt @@ -2,31 +2,36 @@ package jp.juggler.subwaytooter.view import android.content.Context import android.graphics.Rect +import android.os.SystemClock import android.util.AttributeSet import androidx.core.view.ViewCompat import androidx.drawerlayout.widget.DrawerLayout +import jp.juggler.util.log.LogCategory class MyDrawerLayout : DrawerLayout { companion object { - // private val log = LogCategory("MyDrawerLayout") + private val log = LogCategory("MyDrawerLayout") } constructor(context: Context) : - super(context) + super(context) constructor(context: Context, attrs: AttributeSet?) : - super(context, attrs) + super(context, attrs) constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : - super(context, attrs, defStyleAttr) + super(context, attrs, defStyleAttr) private var bottomExclusionWidth: Int = 0 private var bottomExclusionHeight: Int = 0 private val exclusionRects = listOf(Rect(), Rect(), Rect(), Rect()) override fun onLayout(changed: Boolean, l: Int, t: Int, r: Int, b: Int) { + val timeStart = SystemClock.elapsedRealtime() super.onLayout(changed, l, t, r, b) + val timeEnd = SystemClock.elapsedRealtime() + log.i("onLayout ${timeEnd - timeStart}ms changed=$changed") // 画面下部の左右にはボタンがあるので、システムジェスチャーナビゲーションの対象外にする val w = r - l