Skip to content

Commit

Permalink
SDK 34 adaptations
Browse files Browse the repository at this point in the history
- build.gradle upgrades
- Code adaptations to remove switch cases to resource IDs
- Fix import of resource IDs from library level resources
- Minimum version requirement set to LOLLIPOP
  • Loading branch information
TranceLove committed Aug 3, 2024
1 parent 978fa99 commit 1fb9b37
Show file tree
Hide file tree
Showing 103 changed files with 825 additions and 841 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/android-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 11
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: 11
java-version: 17
- name: Check formatting using spotless
uses: gradle/actions/setup-gradle@v3
with:
Expand All @@ -31,11 +31,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 11
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: 11
java-version: 17
- name: Build with Gradle
uses: gradle/actions/setup-gradle@v3
with:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/android-debug-artifact-ondemand.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,11 @@ jobs:
token: ${{ secrets.GITHUB_TOKEN }}
repository: ${{fromJson(steps.request.outputs.data).head.repo.full_name}}
ref: ${{fromJson(steps.request.outputs.data).head.ref}}
- name: Set up JDK 11
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: 11
java-version: 17
- name: Build with Gradle
uses: gradle/actions/setup-gradle@v3
with:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/android-debug-artifact-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 11
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: 11
java-version: 17
- name: Build with Gradle
uses: gradle/actions/setup-gradle@v3
with:
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/android-feature.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 11
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: 11
java-version: 17
- name: Check formatting using spotless
uses: gradle/actions/setup-gradle@v3
with:
Expand All @@ -32,11 +32,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 11
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: 11
java-version: 17
- name: Build with Gradle
uses: gradle/actions/setup-gradle@v3
with:
Expand Down
15 changes: 8 additions & 7 deletions .github/workflows/android-main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 11
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: 11
java-version: 17
- name: Check formatting using spotless
uses: gradle/actions/setup-gradle@v3
with:
Expand All @@ -34,11 +34,11 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up JDK 11
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: 11
java-version: 17
- name: Build with Gradle
uses: gradle/actions/setup-gradle@v3
with:
Expand Down Expand Up @@ -67,14 +67,15 @@ jobs:
strategy:
fail-fast: true
matrix:
api-level: [ 16, 19, 28 ]
api-level: [ 21, 28 ]
steps:
- name: checkout
uses: actions/checkout@v4
- name: Java 15
- name: Java 17
uses: actions/setup-java@v4
with:
java-version: 15
distribution: "temurin"
java-version: 17
- name: Gradle cache
uses: gradle/actions/setup-gradle@v3
- name: AVD cache
Expand Down
21 changes: 7 additions & 14 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-parcelize'
apply plugin: 'com.hiya.jacoco-android'
apply plugin: "com.mxalbert.gradle.jacoco-android"
apply plugin: "com.starter.easylauncher"
apply plugin: 'com.google.devtools.ksp'

Expand All @@ -15,7 +15,6 @@ android {
}
}


defaultConfig {
applicationId "com.amaze.filemanager"
minSdkVersion libs.versions.minSdk.get().toInteger()
Expand Down Expand Up @@ -95,12 +94,12 @@ android {
}

compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}

kotlinOptions {
jvmTarget = '11'
jvmTarget = '17'
}

testOptions {
Expand Down Expand Up @@ -262,7 +261,7 @@ dependencies {
}

kotlin {
jvmToolchain(11)
jvmToolchain(17)
}

configurations.configureEach {
Expand Down Expand Up @@ -291,6 +290,8 @@ tasks.register('supportOldLangCodes')
include('strings.xml')
}
supportOldLangCodes.dependsOn copyTask
rootProject.tasks.named('spotlessJava').configure { dependsOn copyTask }
rootProject.tasks.named('spotlessKotlin').configure { dependsOn copyTask }
}

project.afterEvaluate {
Expand All @@ -304,14 +305,6 @@ jacoco {
toolVersion = libs.versions.jacoco.get()
}

tasks.withType(JacocoReport).configureEach {
reports {
csv.required.set(false)
html.required.set(true)
xml.required.set(true)
}
}

tasks.withType(Test).configureEach {
jacoco.includeNoLocationClasses = true
jacoco.excludes = ['jdk.internal.*']
Expand Down
7 changes: 7 additions & 0 deletions app/proguard.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,13 @@
-keep class org.bouncycastle.jcajce.spec.* {*;}
-keep class org.bouncycastle.jce.** {*;}

-dontwarn org.bouncycastle.jsse.**
-dontwarn org.bouncycastle.asn1.ASN1ApplicationSpecific
-dontwarn org.bouncycastle.asn1.DERApplicationSpecific
-dontwarn org.conscrypt.**
-dontwarn org.openjsse.**
-dontwarn sun.security.x509.X509Key

-dontwarn javax.naming.**

#From here sshj. We are not using GSSAPI to connect to SSH
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
import java.util.concurrent.CountDownLatch;

import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;

Expand All @@ -36,22 +35,18 @@
import android.content.Intent;
import android.net.Uri;

import androidx.test.core.app.ActivityScenario;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
import androidx.test.filters.Suppress;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.rule.ActivityTestRule;

@SmallTest
@RunWith(AndroidJUnit4.class)
@Suppress
// Have to rewrite to cope with Android 11 storage access model
public class TextEditorActivityEspressoTest {

@Rule
public ActivityTestRule<TextEditorActivity> activityRule =
new ActivityTestRule<>(TextEditorActivity.class, true, false);

private Context context;

private Uri uri;
Expand All @@ -65,22 +60,29 @@ public void setUp() {
}

@Test
public void testOpenFile() throws Exception {
public void testOpenFile() {
Intent intent =
new Intent(context, TextEditorActivity.class)
.setAction(Intent.ACTION_VIEW)
.addCategory(Intent.CATEGORY_DEFAULT)
.setType("text/plain")
.setData(uri);
activityRule.launchActivity(intent);
CountDownLatch waiter = new CountDownLatch(1);
while ("".equals(activityRule.getActivity().mainTextView.getText().toString())) {
waiter.await();
try (ActivityScenario<TextEditorActivity> scenario = ActivityScenario.launch(intent)) {
scenario.onActivity(
activity -> {
CountDownLatch waiter = new CountDownLatch(1);
try {
while ("".equals(activity.mainTextView.getText().toString())) {
waiter.await();
}
} catch (InterruptedException ignored) {
}
waiter.countDown();
assertNotEquals("", activity.mainTextView.getText().toString());
assertNotEquals("foobar", activity.mainTextView.getText().toString());
// Add extra time for you to see the Activity did load, and text is actually there
// Thread.sleep(1000);
});
}
waiter.countDown();
assertNotEquals("", activityRule.getActivity().mainTextView.getText());
assertNotEquals("foobar", activityRule.getActivity().mainTextView.getText());
// Add extra time for you to see the Activity did load, and text is actually there
// Thread.sleep(1000);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,16 @@ import androidx.test.espresso.action.ViewActions
import androidx.test.espresso.matcher.ViewMatchers.withId
import androidx.test.espresso.matcher.ViewMatchers.withText
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.rule.GrantPermissionRule
import com.amaze.filemanager.R
import com.amaze.filemanager.ui.activities.PreferencesActivity
import com.amaze.filemanager.ui.fragments.preferencefragments.BackupPrefsFragment
import com.google.gson.GsonBuilder
import com.google.gson.reflect.TypeToken
import org.junit.Assert
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import java.io.File
Expand All @@ -49,6 +53,12 @@ class BackupPrefsFragmentTest {
var storagePath = "/storage/emulated/0"
var fileName = "amaze_backup.json"

@Rule
@JvmField
val storagePermissionRule: GrantPermissionRule =
GrantPermissionRule
.grant(android.Manifest.permission.WRITE_EXTERNAL_STORAGE)

/** Test exporting */
@Test
fun testExport() {
Expand Down Expand Up @@ -146,7 +156,7 @@ class BackupPrefsFragmentTest {
mapValue = (mapValue as Double).toInt() // since Gson parses Integer as Double
}

Assert.assertEquals(value, mapValue)
assertEquals("Difference found at key $key", value, mapValue)
}
}
}
Expand Down Expand Up @@ -209,7 +219,7 @@ class BackupPrefsFragmentTest {
val preferenceMap: Map<String?, *> = preferences.all

for ((key, value) in preferenceMap) {
Assert.assertTrue(checkPrefEqual(preferences, importMap, key, value))
assertTrue("checkPrefEqual($key) failed", checkPrefEqual(preferences, importMap, key, value))
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -263,20 +263,14 @@ public boolean onCreateOptionsMenu(final Menu menu) {

@Override
public boolean onOptionsItemSelected(final MenuItem item) {
final int id = item.getItemId();
switch (id) {
case android.R.id.home:
goToReturnActivity();
break;
case R.id.menu_item_share_error:
final Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_TEXT, buildMarkdown());
intent.setType("text/plain");
startActivity(Intent.createChooser(intent, getString(R.string.share)));
break;
default:
break;
if (item.getItemId() == android.R.id.home) {
goToReturnActivity();
} else if (item.getItemId() == R.id.menu_item_share_error) {
final Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_TEXT, buildMarkdown());
intent.setType("text/plain");
startActivity(Intent.createChooser(intent, getString(R.string.share)));
}
return false;
}
Expand Down
Loading

0 comments on commit 1fb9b37

Please sign in to comment.