diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/src/main/java/moe/yuuta/workmode/MainActivity.kt | 31 | ||||
-rw-r--r-- | app/src/main/res/values/strings.xml | 6 |
2 files changed, 22 insertions, 15 deletions
diff --git a/app/src/main/java/moe/yuuta/workmode/MainActivity.kt b/app/src/main/java/moe/yuuta/workmode/MainActivity.kt index ed93f38..544a6fb 100644 --- a/app/src/main/java/moe/yuuta/workmode/MainActivity.kt +++ b/app/src/main/java/moe/yuuta/workmode/MainActivity.kt @@ -1,7 +1,6 @@ package moe.yuuta.workmode -import android.app.Activity -import android.content.ActivityNotFoundException +import android.app.* import android.content.ComponentName import android.content.Context import android.content.Intent @@ -26,7 +25,6 @@ import com.elvishew.xlog.Logger import com.elvishew.xlog.XLog import com.google.android.gms.oss.licenses.OssLicensesMenuActivity import com.google.android.material.floatingactionbutton.FloatingActionButton -import com.google.android.material.snackbar.Snackbar import com.google.android.material.tabs.TabLayout import moe.yuuta.gplicense.LicenseCheckerCallback import moe.yuuta.gplicense.Policy @@ -336,16 +334,23 @@ class MainActivity : AppCompatActivity(), SwitchBar.OnSwitchChangeListener, View } override fun showToast(name: String, url: String) { - Snackbar.make(findViewById(android.R.id.content), - getString(R.string.update_available, - name), - Snackbar.LENGTH_LONG) - .setAction(R.string.view) { - try { - startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(url))) - } catch (ignored: ActivityNotFoundException) {} - } - .show() + logger.d("Update available: $name ($url)") + val manager = getSystemService(NotificationManager::class.java) + manager.createNotificationChannel(NotificationChannel("update", + getString(R.string.notification_channel_update), NotificationManager.IMPORTANCE_HIGH)) + manager.notify(0, Notification.Builder(this, "update") + .setContentTitle(getString(R.string.notification_title_update, name)) + .setContentText(getString(R.string.notification_text_update_summary)) + .setContentIntent(PendingIntent.getActivity(this, 1, + Intent(Intent.ACTION_VIEW, Uri.parse(url)) + .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK), + PendingIntent.FLAG_UPDATE_CURRENT)) + .setAutoCancel(true) + .setSmallIcon(R.drawable.ic_work_24dp) + .setShowWhen(true) + .setStyle(Notification.BigTextStyle() + .bigText(getString(R.string.notification_text_update))) + .build()) } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index dbcec87..82dae90 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -22,8 +22,10 @@ <string name="check_update">Check update</string> <string name="about">About</string> <string name="feedback_subject">Work Mode feedback</string> - <string name="update_available">%1$s is available</string> - <string name="view">View</string> + <string name="notification_channel_update">Updates</string> + <string name="notification_title_update">%1$s is available for download</string> + <string name="notification_text_update_summary">Tap here to update to the latest version</string> + <string name="notification_text_update">Tap here to update to the latest version and get more features</string> <!-- #Anti-Crack --> <string name="sys_id" translatable="false">Y29tLmFuZHJvaWQudmVuZGluZw==</string> |