Open blonsky95 opened 3 years ago
check lifecycle stuff - every now and then when I reopen the app I get a black Screen and an empty but visible timing info text - DONE - FOUND BUG - so when you close the app while a video is playing it gets stuck
override fun onPause() {
exoPlayer.playWhenReady = false
super.onPause()
}
override fun onDestroy() {
exoPlayer.stop()
exoPlayer.release()
super.onDestroy()
}
new bug - when user taps status bar in landscape or receives notification zoom in the player is reset - investigate if anytihng to do with fullscreen and why not replicable with the example app - FIXED - changed the type of full screen to immersive sticky - what this does is that everytime there is a notification, or the user taps the status bar, the app doesnt even react to it, so there is no view adjustments or stutters, or redraws, and the zoom state as well as the view remains as it was.
the fullScreenActive Boolean has been removed as no longer needed, in this new state the immersive sticky is called onResume, and when the systemUiVisibilityListener catches something (like when open a dialog, which triggers the status bar and/or navigation) - it doesnt have to be applied with user taps because the status bar now hides itself after being touched by user (apparently its the app that gets and leaves the status bar in the layout, with immersive sticky it goes after a couple seconds)
continue testing but seems fine - UPDATE - notifications fuck it up - zoom is gone - https://github.com/natario1/ZoomLayout/issues/191 - FIXED - add the layout flags when setting the ui visibility - check the code or the dev guide
Fixed couple bugs:
1 - exoPlayer variable in MainActivity is now nullable, as the variable was being accessed in onPause and onDestroy when it might not have been initialised - or garbage collected 2 - the start fragment is now clickable & focusable, as user could tap the action bar buttons through when in select video screen.
bug - when in background at some point videos go black and the content doesn't work - at this moment it would be ideal to have the startfragment on instead of black
bug for free version:
If you press start, you get the dialog to confirm use of trial, then you confirm. When you are here, if you go to select a new video, and then without selecting video, press back button it no longers lets you use the timing feature controls.
timing text - if you clear but dont reset, it appears when you reset view or video or something - DONE - inserted isCleared variable + timeController is initialised every time new video imported to account for resetting old data (textview actually has old data in it, but it is not visible)
loading videos that you just recorded without closing app - NOT HAPPENING - KEEP EYE OUT
unknown - timing buttons not working - KEEP EYE OUT
dialog still there if you close app without closing it - or observer is triggering it to appear - it was the already subscribed dialog DONE but the issue is that, atm I use a boolean to tell the billingclient class if the purchase/product query procedure is being done in the background (just a check to see if user is subscribed and if content should be granted) or if user pressed the crown button which prompts a query of SKUS or of purchases made, which isnt a check, and does require a UI update (dialog in this day and age). The PROBLEM is that even though the livedata that triggers the dialog should only be posted if not checking, that line of code is not called and yet when the user (REPLICATE) navigates out of the app through back presses, and then back in, the observer gets triggered, which I dont understand why, no value has been posted, but the variable has been initialised as MutableLiveData(), there might be a chance that because in the last instance of the billing class, this value was not true, (user was querying product/purchase) when the app is not closed completely and is resumed (even though it goes to onCreate), because of the singleton functionality it retrieves the old value and automatically posts it? - hmm but this doesnt happen with the other mutable live data, have a look and see.