diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..797a0703d --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,12 @@ +version: 2 +updates: + - package-ecosystem: github-actions + directory: "/" + schedule: + interval: daily + target-branch: main + - package-ecosystem: gradle + directory: "/" + schedule: + interval: daily + target-branch: main diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..3f24558bb --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,21 @@ +name: Build application + +on: + pull_request: + push: + branches: [main] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up JDK 17 + uses: actions/setup-java@v2.4.0 + with: + distribution: 'temurin' + java-version: 17 + cache: gradle + - name: Build with Gradle + run: ./gradlew build --no-daemon diff --git a/.github/workflows/validate-gradle-wrapper.yml b/.github/workflows/validate-gradle-wrapper.yml new file mode 100644 index 000000000..405a2b306 --- /dev/null +++ b/.github/workflows/validate-gradle-wrapper.yml @@ -0,0 +1,10 @@ +name: "Validate Gradle Wrapper" +on: [push, pull_request] + +jobs: + validation: + name: "Validation" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: gradle/wrapper-validation-action@v1 diff --git a/brailleime/src/main/AndroidManifest.xml b/brailleime/src/main/AndroidManifest.xml index bb84c9646..2bbc6a9cc 100644 --- a/brailleime/src/main/AndroidManifest.xml +++ b/brailleime/src/main/AndroidManifest.xml @@ -4,8 +4,8 @@ package="com.google.android.accessibility.brailleime"> + android:minSdkVersion="26" + android:targetSdkVersion="31" /> @@ -16,7 +16,8 @@ android:label="@string/braille_ime_service_name" android:enabled="false" android:directBootAware="true" - android:permission="android.permission.BIND_INPUT_METHOD"> + android:permission="android.permission.BIND_INPUT_METHOD" + android:exported="true"> diff --git a/build.gradle b/build.gradle index 119760597..2fdb63c34 100644 --- a/build.gradle +++ b/build.gradle @@ -12,30 +12,30 @@ dependencies { buildscript { repositories { - jcenter() + mavenCentral() google() } dependencies { - classpath 'org.aspectj:aspectjtools:1.8.1' - classpath 'com.android.tools.build:gradle:3.5.4' + classpath 'org.aspectj:aspectjtools:1.9.7' + classpath 'com.android.tools.build:gradle:7.0.3' } } allprojects { repositories { - jcenter() + mavenCentral() google() } } android { - buildToolsVersion '29.0.0' + buildToolsVersion '31.0.0' defaultConfig { applicationId talkbackApplicationId versionName talkbackVersionName manifestPlaceholders = [talkbackMainPermission:talkbackMainPermission] minSdkVersion 26 - targetSdkVersion 30 + targetSdkVersion 31 versionCode 370044210 versionName "2021-04-23" testInstrumentationRunner 'android.test.InstrumentationTestRunner' diff --git a/gradle.properties b/gradle.properties index a89bc4e9c..f55b0eda9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ -android.useAndroidX = true -android.enableJetifier = true -org.gradle.jvmargs=-Xms512M -Xmx8G +android.useAndroidX=true +android.enableJetifier=true +org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index f4d7b2bf6..e64c4192a 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-bin.zip +distributionSha256Sum=de8f52ad49bdc759164f72439a3bf56ddb1589c4cde802d3cec7d6ad0e0ee410 +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/proguard/build.gradle b/proguard/build.gradle index 9900fd60d..d16048b27 100644 --- a/proguard/build.gradle +++ b/proguard/build.gradle @@ -1 +1,4 @@ apply plugin: 'java-library' + +sourceCompatibility = 11 +targetCompatibility = 11 diff --git a/shared.gradle b/shared.gradle index a56cf9515..4749693cc 100644 --- a/shared.gradle +++ b/shared.gradle @@ -6,40 +6,43 @@ ext { } android { - compileSdkVersion 'android-30' + compileSdkVersion 'android-31' compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_11 + targetCompatibility JavaVersion.VERSION_11 } defaultConfig { vectorDrawables.useSupportLibrary = true multiDexEnabled true - minSdkVersion 23 + minSdkVersion 26 + } + lintOptions { + abortOnError false } } dependencies { // Google common - implementation 'com.google.guava:guava:22.0' - implementation 'com.google.android.material:material:1.1.0' + implementation 'com.google.guava:guava:31.0.1-jre' + implementation 'com.google.android.material:material:1.4.0' // Support library - implementation 'androidx.annotation:annotation:1.1.0' - implementation 'androidx.appcompat:appcompat:1.1.0' + implementation 'androidx.annotation:annotation:1.3.0' + implementation 'androidx.appcompat:appcompat:1.4.0' implementation 'androidx.collection:collection:1.1.0' - implementation 'androidx.core:core:1.5.0-alpha01' - implementation 'androidx.fragment:fragment:1.2.0-rc03' + implementation 'androidx.core:core:1.7.0' + implementation 'androidx.fragment:fragment:1.4.0' implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0' - implementation 'androidx.preference:preference:1.1.0' - implementation 'androidx.recyclerview:recyclerview:1.1.0' + implementation 'androidx.preference:preference:1.1.1' + implementation 'androidx.recyclerview:recyclerview:1.2.0' implementation 'androidx.viewpager2:viewpager2:1.0.0' // Nullable - implementation 'org.checkerframework:checker-qual:2.5.8' + implementation 'org.checkerframework:checker-qual:3.19.0' // Auto-value - api 'com.google.auto.value:auto-value-annotations:1.7' - annotationProcessor 'com.google.auto.value:auto-value:1.7' + api 'com.google.auto.value:auto-value-annotations:1.8.2' + annotationProcessor 'com.google.auto.value:auto-value:1.8.2' implementation 'javax.annotation:javax.annotation-api:1.3.2' } diff --git a/talkback/src/main/AndroidManifest.xml b/talkback/src/main/AndroidManifest.xml index e60201a7c..bd48f767a 100644 --- a/talkback/src/main/AndroidManifest.xml +++ b/talkback/src/main/AndroidManifest.xml @@ -76,6 +76,7 @@ android:required="false" /> gestureInfos) { diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/labeling/CustomLabelManager.java b/talkback/src/main/java/com/google/android/accessibility/talkback/labeling/CustomLabelManager.java index 691b6bd31..e10d3ddc7 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/labeling/CustomLabelManager.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/labeling/CustomLabelManager.java @@ -76,7 +76,7 @@ public class CustomLabelManager implements LabelManager, AccessibilityEventListe public static final String EXTRA_STRING_ARRAY_PACKAGES = "EXTRA_STRING_ARRAY_PACKAGES"; @VisibleForTesting - static final String AUTHORITY = BuildConfig.APPLICATION_ID + ".providers.LabelProvider"; + static final String AUTHORITY = BuildConfig.LIBRARY_PACKAGE_NAME + ".providers.LabelProvider"; /** * The substring separating a label's package and view ID name in a fully-qualified resource diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/labeling/LabelManagerSummaryActivity.java b/talkback/src/main/java/com/google/android/accessibility/talkback/labeling/LabelManagerSummaryActivity.java index f8d2d0b9e..8f789a288 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/labeling/LabelManagerSummaryActivity.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/labeling/LabelManagerSummaryActivity.java @@ -59,7 +59,7 @@ public class LabelManagerSummaryActivity extends AppCompatActivity implements On /** File provider for custom label share intent. */ private static final String FILE_AUTHORITY = - BuildConfig.APPLICATION_ID + ".providers.FileProvider"; + BuildConfig.LIBRARY_PACKAGE_NAME + ".providers.FileProvider"; private LabelProviderClient labelProviderClient; private ListView packageList; diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/labeling/LabelProvider.java b/talkback/src/main/java/com/google/android/accessibility/talkback/labeling/LabelProvider.java index bf4662ed5..98856a436 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/labeling/LabelProvider.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/labeling/LabelProvider.java @@ -47,7 +47,7 @@ public class LabelProvider extends ContentProvider { private static final String TAG = "LabelProvider"; - public static final String AUTHORITY = BuildConfig.APPLICATION_ID + ".providers.LabelProvider"; + public static final String AUTHORITY = BuildConfig.LIBRARY_PACKAGE_NAME + ".providers.LabelProvider"; static final String LABELS_PATH = "labels"; static final Uri LABELS_CONTENT_URI = new Uri.Builder().scheme("content").authority(AUTHORITY).path(LABELS_PATH).build(); diff --git a/talkback/src/main/res/values/strings.xml b/talkback/src/main/res/values/strings.xml index 08366bba7..0f9ab4c71 100644 --- a/talkback/src/main/res/values/strings.xml +++ b/talkback/src/main/res/values/strings.xml @@ -1,9 +1,10 @@ + TalkBack - TalkBack_TfP + TalkBack