Skip to content

Commit

Permalink
Fix licensed snackbar not dismissing automatically
Browse files Browse the repository at this point in the history
  • Loading branch information
jahirfiquitiva committed Apr 24, 2020
1 parent 1110cfd commit be2ddb4
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,13 @@ import android.widget.TextView
import androidx.annotation.IdRes
import androidx.annotation.StringRes
import androidx.fragment.app.Fragment
import com.google.android.material.snackbar.BaseTransientBottomBar
import com.google.android.material.snackbar.Snackbar
import dev.jahir.frames.R
import dev.jahir.frames.extensions.context.color
import dev.jahir.frames.extensions.context.resolveColor
import dev.jahir.frames.extensions.context.string
import dev.jahir.frames.ui.activities.base.BaseStoragePermissionRequestActivity

fun View.snackbar(
text: CharSequence,
Expand Down Expand Up @@ -64,12 +66,20 @@ fun Activity.snackbar(
duration: Int = Snackbar.LENGTH_SHORT,
@IdRes anchorViewId: Int = R.id.bottom_navigation,
config: Snackbar.() -> Unit = {}
): Snackbar? = contentView?.snackbar(text, duration, anchorViewId, config)
): Snackbar? {
(this as? BaseStoragePermissionRequestActivity<*>)?.let {
try {
it.currentSnackbar?.dismiss()
} catch (e: Exception) {
}
}
return contentView?.snackbar(text, duration, anchorViewId, config)
}


fun Activity.snackbar(
@StringRes text: Int,
duration: Int = Snackbar.LENGTH_SHORT,
@BaseTransientBottomBar.Duration duration: Int = Snackbar.LENGTH_SHORT,
@IdRes anchorViewId: Int = R.id.bottom_navigation,
config: Snackbar.() -> Unit = {}
): Snackbar? = snackbar(string(text), duration, anchorViewId, config)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ abstract class BaseLicenseCheckerActivity<out P : Preferences> : BaseChangelogDi

override fun setContentView(layoutResID: Int) {
super.setContentView(layoutResID)
postDelayed(50) { startLicenseCheck() }
postDelayed(100) { startLicenseCheck() }
}

override fun onDestroy() {
Expand Down Expand Up @@ -98,7 +98,11 @@ abstract class BaseLicenseCheckerActivity<out P : Preferences> : BaseChangelogDi
licenseCheckDialog?.dismiss()
preferences.functionalDashboard = true
if (!update || force) {
snackbar(string(R.string.license_valid_snack, getAppName()), snackbarAnchorId)
currentSnackbar =
snackbar(
string(R.string.license_valid_snack, getAppName()),
anchorViewId = snackbarAnchorId
)
} else {
showChangelog()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ abstract class BaseWallpaperFetcherActivity<out P : Preferences> :

private fun onDownloadQueued() {
try {
snackbar(R.string.download_starting, anchorViewId = snackbarAnchorId)
currentSnackbar = snackbar(R.string.download_starting, anchorViewId = snackbarAnchorId)
} catch (e: Exception) {
}
cancelWorkManagerTasks()
Expand All @@ -74,31 +74,33 @@ abstract class BaseWallpaperFetcherActivity<out P : Preferences> :
try {
val file = File(path)
val fileUri: Uri? = file.getUri(this) ?: Uri.fromFile(file)
snackbar(R.string.downloaded_previously, Snackbar.LENGTH_LONG, snackbarAnchorId) {
fileUri?.let {
var mimeType = URLConnection.guessContentTypeFromName(file.name).orEmpty()
if (!mimeType.hasContent()) mimeType = "image/*"
setAction(R.string.open) {
try {
startActivity(Intent().apply {
action = Intent.ACTION_VIEW
setDataAndType(fileUri, mimeType)
addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
})
} catch (e: Exception) {
toast(R.string.error)
currentSnackbar =
snackbar(R.string.downloaded_previously, Snackbar.LENGTH_LONG, snackbarAnchorId) {
fileUri?.let {
var mimeType = URLConnection.guessContentTypeFromName(file.name).orEmpty()
if (!mimeType.hasContent()) mimeType = "image/*"
setAction(R.string.open) {
try {
startActivity(Intent().apply {
action = Intent.ACTION_VIEW
setDataAndType(fileUri, mimeType)
addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
})
} catch (e: Exception) {
toast(R.string.error)
}
}
}
}
}
} catch (e: Exception) {
}
cancelWorkManagerTasks()
}

internal fun onDownloadError() {
try {
snackbar(R.string.unexpected_error_occurred, anchorViewId = snackbarAnchorId)
currentSnackbar =
snackbar(R.string.unexpected_error_occurred, anchorViewId = snackbarAnchorId)
} catch (e: Exception) {
}
cancelWorkManagerTasks()
Expand Down

0 comments on commit be2ddb4

Please sign in to comment.