diff --git a/app/build.gradle b/app/build.gradle index 9d5b2cf7..9fd43c7f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,15 +1,15 @@ plugins { - id "com.diffplug.spotless" version "7.0.3" + id "com.diffplug.spotless" version "7.0.4" } apply plugin: 'com.android.application' android { defaultConfig { applicationId "org.mian.gitnex" - minSdkVersion 23 - targetSdkVersion 35 - versionCode 900 - versionName "9.0.0" + minSdkVersion 26 + targetSdkVersion 36 + versionCode 995 + versionName "10.0.0-dev" multiDexEnabled true testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" compileSdk 35 @@ -67,19 +67,19 @@ dependencies { implementation 'androidx.viewpager2:viewpager2:1.1.0' implementation 'androidx.constraintlayout:constraintlayout:2.2.1' implementation "androidx.legacy:legacy-support-v4:1.0.0" - implementation "androidx.navigation:navigation-fragment:2.9.0" - implementation "androidx.navigation:navigation-ui:2.9.0" + implementation "androidx.navigation:navigation-fragment:2.9.1" + implementation "androidx.navigation:navigation-ui:2.9.1" implementation "androidx.lifecycle:lifecycle-viewmodel:2.9.1" testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.2.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1' - implementation 'com.squareup.okhttp3:okhttp:5.0.0-alpha.14' - implementation 'com.google.code.gson:gson:2.11.0' + implementation 'com.squareup.okhttp3:okhttp:5.0.0-alpha.17' + implementation 'com.google.code.gson:gson:2.13.1' implementation 'com.github.ramseth001:TextDrawable:1.1.3' - implementation 'com.squareup.retrofit2:retrofit:2.11.0' - implementation 'com.squareup.retrofit2:converter-gson:2.11.0' - implementation 'com.squareup.retrofit2:converter-scalars:2.11.0' - implementation 'com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.14' + implementation 'com.squareup.retrofit2:retrofit:3.0.0' + implementation 'com.squareup.retrofit2:converter-gson:3.0.0' + implementation 'com.squareup.retrofit2:converter-scalars:3.0.0' + implementation 'com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.17' implementation 'org.ocpsoft.prettytime:prettytime:5.0.7.Final' implementation "com.github.skydoves:colorpickerview:2.3.0" implementation "io.noties.markwon:core:4.6.2" @@ -100,14 +100,14 @@ dependencies { annotationProcessor 'com.github.bumptech.glide:compiler:4.16.0' implementation "com.caverock:androidsvg-aar:1.4" implementation "pl.droidsonroids.gif:android-gif-drawable:1.2.29" - implementation 'com.google.guava:guava:33.3.1-jre' + implementation 'com.google.guava:guava:33.4.8-jre' //noinspection GradleDependency implementation 'commons-io:commons-io:2.5' - implementation 'org.apache.commons:commons-lang3:3.13.0' + implementation 'org.apache.commons:commons-lang3:3.18.0' implementation "com.github.chrisbanes:PhotoView:2.3.0" - implementation 'ch.acra:acra-mail:5.11.3' - implementation 'ch.acra:acra-limiter:5.11.3' - implementation 'ch.acra:acra-notification:5.11.3' + implementation 'ch.acra:acra-mail:5.12.0' + implementation 'ch.acra:acra-limiter:5.12.0' + implementation 'ch.acra:acra-notification:5.12.0' implementation 'androidx.room:room-runtime:2.7.2' annotationProcessor 'androidx.room:room-compiler:2.7.2' implementation "androidx.work:work-runtime:2.10.2" @@ -116,7 +116,8 @@ dependencies { //noinspection GradleDependency coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:2.1.5" implementation 'androidx.biometric:biometric:1.1.0' - implementation 'com.github.chrisvest:stormpot:2.4.2' + //noinspection GradleDependency + implementation 'com.github.chrisvest:stormpot:3.2' implementation 'androidx.browser:browser:1.8.0' implementation 'com.google.android.flexbox:flexbox:3.0.0' implementation('org.codeberg.gitnex:tea4j-autodeploy:0ad7eaf429') { diff --git a/app/src/main/java/org/mian/gitnex/helpers/Markdown.java b/app/src/main/java/org/mian/gitnex/helpers/Markdown.java index cf690952..c8b50b6d 100644 --- a/app/src/main/java/org/mian/gitnex/helpers/Markdown.java +++ b/app/src/main/java/org/mian/gitnex/helpers/Markdown.java @@ -66,8 +66,6 @@ import org.mian.gitnex.helpers.contexts.IssueContext; import org.mian.gitnex.helpers.contexts.RepositoryContext; import org.mian.gitnex.helpers.markdown.AlertPlugin; import stormpot.Allocator; -import stormpot.BlazePool; -import stormpot.Config; import stormpot.Pool; import stormpot.Poolable; import stormpot.Slot; @@ -75,6 +73,7 @@ import stormpot.Timeout; /** * @author opyale + * @author mmarif */ public class Markdown { @@ -95,44 +94,37 @@ public class Markdown { private static final Pool rvRendererPool; static { - Config config = new Config<>(); + rendererPool = + Pool.from( + new Allocator() { + @Override + public Renderer allocate(Slot slot) { + return new Renderer(slot); + } - config.setBackgroundExpirationEnabled(true); - config.setPreciseLeakDetectionEnabled(true); - config.setSize(MAX_OBJECT_POOL_SIZE); - config.setAllocator( - new Allocator() { + @Override + public void deallocate(Renderer poolable) {} + }) + .setSize(MAX_OBJECT_POOL_SIZE) + .setBackgroundExpirationEnabled(true) + .setPreciseLeakDetectionEnabled(true) + .build(); - @Override - public Renderer allocate(Slot slot) { - return new Renderer(slot); - } + rvRendererPool = + Pool.from( + new Allocator() { + @Override + public RecyclerViewRenderer allocate(Slot slot) { + return new RecyclerViewRenderer(slot); + } - @Override - public void deallocate(Renderer poolable) {} - }); - - rendererPool = new BlazePool<>(config); - - Config configRv = new Config<>(); - - configRv.setBackgroundExpirationEnabled(true); - configRv.setPreciseLeakDetectionEnabled(true); - configRv.setSize(MAX_OBJECT_POOL_SIZE); - configRv.setAllocator( - new Allocator() { - - @Override - public RecyclerViewRenderer allocate(Slot slot) { - - return new RecyclerViewRenderer(slot); - } - - @Override - public void deallocate(RecyclerViewRenderer poolable) {} - }); - - rvRendererPool = new BlazePool<>(configRv); + @Override + public void deallocate(RecyclerViewRenderer poolable) {} + }) + .setSize(MAX_OBJECT_POOL_SIZE) + .setBackgroundExpirationEnabled(true) + .setPreciseLeakDetectionEnabled(true) + .build(); } public static void render(Context context, String markdown, TextView textView) { diff --git a/app/src/main/res/xml/changelog.xml b/app/src/main/res/xml/changelog.xml index 6e92d9cc..890a3e25 100644 --- a/app/src/main/res/xml/changelog.xml +++ b/app/src/main/res/xml/changelog.xml @@ -1,23 +1,9 @@ - - - Redesigned home screen - Markdown alert support - Repository sorting (requires Forgejo 11.x) - Revamped login screen UI - Revamped app settings - - - Improved changelog UI - Added popup on login screen explaining where to get a token - Theme improvements across the app - - - Fixed login screen issue - Fixed French translation on the Appearance screen - Fixed duplicate labels in issue/pr + + + Under development diff --git a/build.gradle b/build.gradle index 9011072e..c09ac89d 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:8.10.1' + classpath 'com.android.tools.build:gradle:8.11.1' } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index c96d1586..495f41ed 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Tue Jul 11 23:34:25 PKT 2023 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists