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