@@ -7,6 +7,8 @@ import android.content.Intent
77import android.content.pm.PackageManager
88import android.net.Uri
99import android.os.Build
10+ import android.os.Handler
11+ import android.os.Looper
1012import android.provider.Settings
1113import android.view.View
1214import android.widget.CheckBox
@@ -203,20 +205,25 @@ class RuntimeUtils {
203205 fun showWeblateSnackbar (
204206 context : Context , activity : MainActivity , language : String , languageName : String
205207 ) {
208+ MainActivity .isShowingWeblateSb = true
206209 // if we haven't shown context snackbar for context version yet
207210 val prefs = MainApplication .getSharedPreferences(" mmm" )
208211 if (prefs.getInt(" weblate_snackbar_shown" , 0 ) == BuildConfig .VERSION_CODE ) return
209212 val snackbar: Snackbar = Snackbar .make(
210213 activity.findViewById(R .id.root_container),
211214 activity.getString(R .string.language_not_available, languageName),
212- Snackbar . LENGTH_LONG
215+ 4000
213216 )
214217 snackbar.setAction(R .string.ok) {
215218 val intent = Intent (Intent .ACTION_VIEW )
216219 intent.data = Uri .parse(" https://translate.nift4.org/engage/foxmmm/?language=$language " )
217220 activity.startActivity(intent)
218221 }
219222 snackbar.show()
223+ // after four seconds, set isShowingWeblateSb to false
224+ Handler (Looper .getMainLooper()).postDelayed({
225+ MainActivity .isShowingWeblateSb = false
226+ }, 4000 )
220227 prefs.edit().putInt(" weblate_snackbar_shown" , BuildConfig .VERSION_CODE ).apply ()
221228 }
222229
@@ -230,6 +237,13 @@ class RuntimeUtils {
230237 @SuppressLint(" RestrictedApi" )
231238 fun showUpgradeSnackbar (context : Context , activity : MainActivity ) {
232239 Timber .i(" showUpgradeSnackbar start" )
240+ // if sb is already showing, wait 4 seconds and try again
241+ if (MainActivity .isShowingWeblateSb) {
242+ Handler (Looper .getMainLooper()).postDelayed({
243+ showUpgradeSnackbar(context, activity)
244+ }, 4500 )
245+ return
246+ }
233247 val prefs = MainApplication .getSharedPreferences(" mmm" )
234248 // if last shown < 7 days ago
235249 if (prefs.getLong(" ugsns4" , 0 ) > System .currentTimeMillis() - 604800000 ) return
0 commit comments