From 735506455fad591c34fa866bd7fb0139dadf52a4 Mon Sep 17 00:00:00 2001 From: Chiba Tairi Date: Sun, 24 Mar 2019 17:42:10 +0900 Subject: [PATCH 1/2] Change .gigignore --- .gitignore | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index c6cbe56..5f94008 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,7 @@ *.iml .gradle /local.properties -/.idea/workspace.xml -/.idea/libraries +/.idea .DS_Store /build /captures From b40999131c7b9d321f5b5af62040a0398f120cb8 Mon Sep 17 00:00:00 2001 From: Chiba Tairi Date: Sun, 24 Mar 2019 17:45:43 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=E9=80=9A=E7=9F=A5=E3=81=AE=E6=96=87?= =?UTF-8?q?=E9=9D=A2=E3=81=8A=E3=82=88=E3=81=B3=E3=82=A2=E3=82=A4=E3=82=B3?= =?UTF-8?q?=E3=83=B3=E3=82=92=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/FetchRemainsService.kt | 4 +- .../service/SwitchCouponService.kt | 39 ++++++++++++++----- app/src/main/res/drawable/ic_notification.xml | 4 ++ app/src/main/res/values/strings.xml | 6 ++- 4 files changed, 42 insertions(+), 11 deletions(-) create mode 100644 app/src/main/res/drawable/ic_notification.xml diff --git a/app/src/main/java/pakutoma/iijmiocouponwidget/service/FetchRemainsService.kt b/app/src/main/java/pakutoma/iijmiocouponwidget/service/FetchRemainsService.kt index d54f79c..0eeeee0 100644 --- a/app/src/main/java/pakutoma/iijmiocouponwidget/service/FetchRemainsService.kt +++ b/app/src/main/java/pakutoma/iijmiocouponwidget/service/FetchRemainsService.kt @@ -27,7 +27,9 @@ class FetchRemainsService : Service() { if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { val notification = Notification .Builder(applicationContext, "switch_service") - .setContentTitle(applicationContext.getString(R.string.switch_notification)) + .setSmallIcon(R.drawable.ic_notification) + .setContentTitle(applicationContext.getString(R.string.notification_title)) + .setContentText(applicationContext.getString(R.string.fetch_remains_notification_text)) .build() startForeground(FETCH_REMAINS_NOTIFICATION_ID, notification) } diff --git a/app/src/main/java/pakutoma/iijmiocouponwidget/service/SwitchCouponService.kt b/app/src/main/java/pakutoma/iijmiocouponwidget/service/SwitchCouponService.kt index 57db994..03f468e 100644 --- a/app/src/main/java/pakutoma/iijmiocouponwidget/service/SwitchCouponService.kt +++ b/app/src/main/java/pakutoma/iijmiocouponwidget/service/SwitchCouponService.kt @@ -2,6 +2,7 @@ package pakutoma.iijmiocouponwidget.service import android.annotation.TargetApi import android.app.Notification +import android.app.NotificationManager import android.app.Service import android.content.Context import android.content.Intent @@ -29,22 +30,15 @@ class SwitchCouponService : Service() { companion object { private const val SWITCH_COUPON_NOTIFICATION_ID = 1 + private var builder: Notification.Builder? = null } override fun onCreate() { super.onCreate() - @TargetApi(Build.VERSION_CODES.O) - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - val notification = Notification - .Builder(applicationContext, "switch_service") - .setContentTitle(applicationContext.getString(R.string.switch_notification)) - .build() - startForeground(SWITCH_COUPON_NOTIFICATION_ID, notification) - } + builder = notifyInitialNotification() } override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { - val preferences = getSharedPreferences("iijmio_token", Context.MODE_PRIVATE); if (preferences == null) { stopSelf() @@ -78,6 +72,7 @@ class SwitchCouponService : Service() { } changeToWaitMode(applicationContext, preferences.getBoolean("is_coupon_enabled", false)) + updateNotification(builder, applicationContext.getString(R.string.switch_coupon_notification_text)) val cm = applicationContext.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager val networkRequest = NetworkRequest.Builder().build() @@ -87,6 +82,7 @@ class SwitchCouponService : Service() { withContext(Dispatchers.Main) { Toast.makeText(applicationContext, "API limit: " + java.lang.Long.toString(remainingTime / 1000) + "秒後に切替を行います", Toast.LENGTH_SHORT).show() } + updateNotification(builder, applicationContext.getString(R.string.switch_coupon_notification_wait_text)) delay(1000 * 60 - timeFromFinish) } val network = withTimeoutOrNull(1000 * 60) { @@ -123,4 +119,29 @@ class SwitchCouponService : Service() { cm.registerNetworkCallback(networkRequest, callback) } + private fun notifyInitialNotification(): Notification.Builder? { + @TargetApi(Build.VERSION_CODES.O) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + val builder = Notification.Builder(applicationContext, "switch_service") + builder.setSmallIcon(R.drawable.ic_notification) + .setContentTitle(applicationContext.getString(R.string.notification_title)) + .setContentText(applicationContext.getString(R.string.notification_text)) + startForeground(SwitchCouponService.SWITCH_COUPON_NOTIFICATION_ID, builder.build()) + return builder + } else { + return null + } + } + + private fun updateNotification(builder: Notification.Builder?, text: String) { + @TargetApi(Build.VERSION_CODES.O) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && builder != null) { + val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager + builder.setContentText(text) + notificationManager.notify(SWITCH_COUPON_NOTIFICATION_ID, builder.build()) + } + } + } + + diff --git a/app/src/main/res/drawable/ic_notification.xml b/app/src/main/res/drawable/ic_notification.xml new file mode 100644 index 0000000..ea54187 --- /dev/null +++ b/app/src/main/res/drawable/ic_notification.xml @@ -0,0 +1,4 @@ + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1943c32..0071229 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -4,7 +4,11 @@ IilCI1xrAgqKrXV9Zt4 クーポン切り替え・通信量取得 - 通信中 + mioWidget + 通信しています + クーポン残量を取得しています + クーポンを切り替えています + クーポン切り替えを待機しています 切替回線・表示プランの設定 詳細設定 残量を表示するプラン