implementation 'androidx.coordinatorlayout:coordinatorlayout:1.2.0'
implementation 'androidx.core:core-ktx:1.10.1'
implementation 'androidx.drawerlayout:drawerlayout:1.2.0'
- implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1'
- implementation 'androidx.preference:preference-ktx:1.2.0'
+ implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2'
+ implementation 'androidx.preference:preference-ktx:1.2.1'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
implementation 'androidx.viewpager:viewpager:1.0.0'
implementation 'androidx.webkit:webkit:1.7.0'
// Include the Kotlin standard library. This should be the same version number listed in project build.gradle.
- implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.8.10'
+ implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.8.22'
// Include the Google material library.
implementation 'com.google.android.material:material:1.9.0'
<ul>
<li>Sistemazione di un crash che avveniva muovendo un segnalibro <a href="https://redmine.stoutner.com/issues/1028">nella cartella principale</a>.</li>
<li>Utilizzo della segreta e non documentata <a href="https://redmine.stoutner.com/issues/1023">funzionalità di visione della sorgente</a> di WebView.</li>
- <li>Fix Domain Settings sometimes being created as <a href="https://redmine.stoutner.com/issues/1032">Enabled instead of System Default</a>.</li>
+ <li>Sistemazione delle impostazioni dei domini che a volte erano salvate come <a href="https://redmine.stoutner.com/issues/1032">Abilitate invece che come Default di Sistema</a>.</li>
<li>Spostamento dello <a href="https://redmine.stoutner.com/issues/1011">User Agent al di sotto del DOM Storage</a> nell'elenco delle impostazioni dei domini.</li>
<li>Creazione di una <a href="https://redmine.stoutner.com/issues/672">speciale finestra di dialogo di cifratura</a> per gli URL di contenuto.</li>
<li>Sistemazione di un crash che avveniva quando Privacy Browser era riavviato mentre era visualizzata
// Close the find on page bar if it is open.
closeFindOnPage(null)
- // Select the same page in the view pager.
- webViewViewPager2.currentItem = tab.position
+ // Update the view pager when it has quiesced. Otherwise, if a page launched by a new intent on restart has not yet been created, the view pager will not be updated to match the tab layout.
+ webViewViewPager2.post {
+ // Select the same page in the view pager.
+ webViewViewPager2.currentItem = tab.position
- // Set the current WebView.
- setCurrentWebView(tab.position)
+ // Set the current WebView.
+ setCurrentWebView(tab.position)
+ }
}
override fun onTabUnselected(tab: TabLayout.Tab) {}
// Calculate the milliseconds since the last restart. This can be replaced by the simpler LocalDateTime once the minimum API >= 26.
val millisecondsSinceLastRestart = Date().time - restartTime.time
- // Only display the SSL certificate dialog if it has been at least 2 seconds since the last restart as deep restarts sometimes end up selecting a tab twice.
- if (millisecondsSinceLastRestart > 2000) {
+ // Only display the SSL certificate dialog if it has been at least 3 seconds since the last restart as deep restarts sometimes end up selecting a tab twice.
+ if (millisecondsSinceLastRestart > 3000) {
// Instantiate the View SSL Certificate dialog.
val viewSslCertificateDialogFragment: DialogFragment = ViewSslCertificateDialog.displayDialog(currentWebView!!.webViewFragmentId, currentWebView!!.getFavoriteIcon())
}
private fun generateFolderId(): Long {
- // Get the current time in epoch format.
+ // Get the current time in epoch format (in milliseconds).
val possibleFolderId = Date().time
// Get a readable database.
dependencies {
classpath 'com.android.tools.build:gradle:8.0.2'
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.10"
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.22"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files