diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 8c0fb64a..62d4c053 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 902880e7..ac33e994 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Tue Jul 21 13:31:11 GET 2020 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-all.zip diff --git a/gradlew b/gradlew index 91a7e269..fbd7c515 100755 --- a/gradlew +++ b/gradlew @@ -1,4 +1,20 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ############################################################################## ## @@ -6,47 +22,6 @@ ## ############################################################################## -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn ( ) { - echo "$*" -} - -die ( ) { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; -esac - -# For Cygwin, ensure paths are in UNIX format before anything is touched. -if $cygwin ; then - [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` -fi - # Attempt to set APP_HOME # Resolve links: $0 may be a link PRG="$0" @@ -61,12 +36,53 @@ while [ -h "$PRG" ] ; do fi done SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >&- +cd "`dirname \"$PRG\"`/" >/dev/null APP_HOME="`pwd -P`" -cd "$SAVED" >&- +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then @@ -90,7 +106,7 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then MAX_FD_LIMIT=`ulimit -H -n` if [ $? -eq 0 ] ; then if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then @@ -110,10 +126,12 @@ if $darwin; then GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" fi -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` @@ -138,27 +156,30 @@ if $cygwin ; then else eval `echo args$i`="\"$arg\"" fi - i=$((i+1)) + i=`expr $i + 1` done case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; esac fi -# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules -function splitJvmOpts() { - JVM_OPTS=("$@") +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " } -eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS -JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" +APP_ARGS=`save "$@"` -exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 00000000..5093609d --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,104 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/play-services-api/src/main/java/com/google/android/gms/auth/AccountChangeEvent.java b/play-services-api/src/main/java/com/google/android/gms/auth/AccountChangeEvent.java index 0485f3a2..d9a19568 100644 --- a/play-services-api/src/main/java/com/google/android/gms/auth/AccountChangeEvent.java +++ b/play-services-api/src/main/java/com/google/android/gms/auth/AccountChangeEvent.java @@ -19,5 +19,5 @@ package com.google.android.gms.auth; import org.microg.safeparcel.AutoSafeParcelable; public class AccountChangeEvent extends AutoSafeParcelable { - public static Creator CREATOR = new AutoCreator(AccountChangeEvent.class); + public static Creator CREATOR = new AutoCreator<>(AccountChangeEvent.class); } diff --git a/play-services-api/src/main/java/com/google/android/gms/auth/AccountChangeEventsRequest.java b/play-services-api/src/main/java/com/google/android/gms/auth/AccountChangeEventsRequest.java index 0d7f5cd8..78a84c71 100644 --- a/play-services-api/src/main/java/com/google/android/gms/auth/AccountChangeEventsRequest.java +++ b/play-services-api/src/main/java/com/google/android/gms/auth/AccountChangeEventsRequest.java @@ -27,6 +27,6 @@ public class AccountChangeEventsRequest extends AutoSafeParcelable { @SafeParceled(3) private String s; - public static Creator CREATOR = new AutoCreator(AccountChangeEventsRequest.class); + public static Creator CREATOR = new AutoCreator<>(AccountChangeEventsRequest.class); } diff --git a/play-services-api/src/main/java/com/google/android/gms/auth/AccountChangeEventsResponse.java b/play-services-api/src/main/java/com/google/android/gms/auth/AccountChangeEventsResponse.java index 0bff57a8..df9e72e8 100644 --- a/play-services-api/src/main/java/com/google/android/gms/auth/AccountChangeEventsResponse.java +++ b/play-services-api/src/main/java/com/google/android/gms/auth/AccountChangeEventsResponse.java @@ -29,8 +29,8 @@ public class AccountChangeEventsResponse extends AutoSafeParcelable { private List events; public AccountChangeEventsResponse() { - events = new ArrayList(); + events = new ArrayList<>(); } - public static Creator CREATOR = new AutoCreator(AccountChangeEventsResponse.class); + public static Creator CREATOR = new AutoCreator<>(AccountChangeEventsResponse.class); } diff --git a/play-services-api/src/main/java/com/google/android/gms/auth/TokenData.java b/play-services-api/src/main/java/com/google/android/gms/auth/TokenData.java index 3b7d45f5..da762be9 100644 --- a/play-services-api/src/main/java/com/google/android/gms/auth/TokenData.java +++ b/play-services-api/src/main/java/com/google/android/gms/auth/TokenData.java @@ -60,5 +60,5 @@ public class TokenData extends AutoSafeParcelable { this.scopes = null; } - public static final Creator CREATOR = new AutoCreator(TokenData.class); + public static final Creator CREATOR = new AutoCreator<>(TokenData.class); } diff --git a/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/Credential.java b/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/Credential.java index 13ee988e..7f8835cf 100644 --- a/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/Credential.java +++ b/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/Credential.java @@ -26,6 +26,7 @@ import org.microg.safeparcel.SafeParceled; import java.util.Arrays; import java.util.List; import java.util.Locale; +import java.util.Objects; @PublicApi public class Credential extends AutoSafeParcelable { @@ -139,19 +140,19 @@ public class Credential extends AutoSafeParcelable { @Override public boolean equals(Object o) { if (this == o) return true; - if (o == null || !(o instanceof Credential)) return false; + if (!(o instanceof Credential)) return false; Credential that = (Credential) o; - if (id != null ? !id.equals(that.id) : that.id != null) return false; - if (name != null ? !name.equals(that.name) : that.name != null) return false; - if (profilePictureUri != null ? !profilePictureUri.equals(that.profilePictureUri) : that.profilePictureUri != null) + if (!Objects.equals(id, that.id)) return false; + if (!Objects.equals(name, that.name)) return false; + if (!Objects.equals(profilePictureUri, that.profilePictureUri)) return false; - if (password != null ? !password.equals(that.password) : that.password != null) + if (!Objects.equals(password, that.password)) return false; - if (accountType != null ? !accountType.equals(that.accountType) : that.accountType != null) + if (!Objects.equals(accountType, that.accountType)) return false; - return generatedPassword != null ? generatedPassword.equals(that.generatedPassword) : that.generatedPassword == null; + return Objects.equals(generatedPassword, that.generatedPassword); } @@ -245,5 +246,5 @@ public class Credential extends AutoSafeParcelable { } } - public static final Creator CREATOR = new AutoCreator(Credential.class); + public static final Creator CREATOR = new AutoCreator<>(Credential.class); } diff --git a/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/CredentialPickerConfig.java b/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/CredentialPickerConfig.java index 67d66c05..184ad4bc 100644 --- a/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/CredentialPickerConfig.java +++ b/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/CredentialPickerConfig.java @@ -54,7 +54,7 @@ public class CredentialPickerConfig extends AutoSafeParcelable { return showCancelButton; } - public class Builder { + public static class Builder { private boolean showAddAccountButton; private boolean showCancelButton; private boolean forNewAccount; @@ -88,5 +88,5 @@ public class CredentialPickerConfig extends AutoSafeParcelable { } } - public static final Creator CREATOR = new AutoCreator(CredentialPickerConfig.class); + public static final Creator CREATOR = new AutoCreator<>(CredentialPickerConfig.class); } diff --git a/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/CredentialRequest.java b/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/CredentialRequest.java index 80819c71..d8f313bd 100644 --- a/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/CredentialRequest.java +++ b/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/CredentialRequest.java @@ -71,5 +71,5 @@ public class CredentialRequest extends AutoSafeParcelable { return passwordLoginSupported; } - public static final Creator CREATOR = new AutoCreator(CredentialRequest.class); + public static final Creator CREATOR = new AutoCreator<>(CredentialRequest.class); } diff --git a/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/IdToken.java b/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/IdToken.java index 2ef78f95..6e17f550 100644 --- a/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/IdToken.java +++ b/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/IdToken.java @@ -54,5 +54,5 @@ public class IdToken extends AutoSafeParcelable { return id; } - public static final Creator CREATOR = new AutoCreator(IdToken.class); + public static final Creator CREATOR = new AutoCreator<>(IdToken.class); } diff --git a/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/internal/DeleteRequest.java b/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/internal/DeleteRequest.java index bd7ae6f2..e560ddc5 100644 --- a/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/internal/DeleteRequest.java +++ b/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/internal/DeleteRequest.java @@ -19,5 +19,5 @@ package com.google.android.gms.auth.api.credentials.internal; import org.microg.safeparcel.AutoSafeParcelable; public class DeleteRequest extends AutoSafeParcelable { - public static final Creator CREATOR = new AutoCreator(DeleteRequest.class); + public static final Creator CREATOR = new AutoCreator<>(DeleteRequest.class); } diff --git a/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/internal/GeneratePasswordRequest.java b/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/internal/GeneratePasswordRequest.java index 3da7a72a..5fd6fcb7 100644 --- a/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/internal/GeneratePasswordRequest.java +++ b/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/internal/GeneratePasswordRequest.java @@ -19,5 +19,5 @@ package com.google.android.gms.auth.api.credentials.internal; import org.microg.safeparcel.AutoSafeParcelable; public class GeneratePasswordRequest extends AutoSafeParcelable { - public static final Creator CREATOR = new AutoCreator(GeneratePasswordRequest.class); + public static final Creator CREATOR = new AutoCreator<>(GeneratePasswordRequest.class); } diff --git a/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/internal/SaveRequest.java b/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/internal/SaveRequest.java index 5ec25998..24a9d92f 100644 --- a/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/internal/SaveRequest.java +++ b/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/internal/SaveRequest.java @@ -19,5 +19,5 @@ package com.google.android.gms.auth.api.credentials.internal; import org.microg.safeparcel.AutoSafeParcelable; public class SaveRequest extends AutoSafeParcelable { - public static final Creator CREATOR = new AutoCreator(SaveRequest.class); + public static final Creator CREATOR = new AutoCreator<>(SaveRequest.class); } diff --git a/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/dataservice/AccountRecoveryGuidanceRequest.java b/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/dataservice/AccountRecoveryGuidanceRequest.java index 6c73b4bc..037427cb 100644 --- a/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/dataservice/AccountRecoveryGuidanceRequest.java +++ b/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/dataservice/AccountRecoveryGuidanceRequest.java @@ -42,5 +42,5 @@ public class AccountRecoveryGuidanceRequest extends AutoSafeParcelable { this.account = account; } - public static final Creator CREATOR = new AutoCreator(AccountRecoveryGuidanceRequest.class); + public static final Creator CREATOR = new AutoCreator<>(AccountRecoveryGuidanceRequest.class); } diff --git a/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/dataservice/AccountRemovalRequest.java b/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/dataservice/AccountRemovalRequest.java index cd56eb1a..740b36f8 100644 --- a/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/dataservice/AccountRemovalRequest.java +++ b/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/dataservice/AccountRemovalRequest.java @@ -42,5 +42,5 @@ public class AccountRemovalRequest extends AutoSafeParcelable { this.account = account; } - public static final Creator CREATOR = new AutoCreator(AccountRemovalRequest.class); + public static final Creator CREATOR = new AutoCreator<>(AccountRemovalRequest.class); } diff --git a/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/dataservice/ConfirmCredentialsRequest.java b/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/dataservice/ConfirmCredentialsRequest.java index c7db433b..2b55b7cb 100644 --- a/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/dataservice/ConfirmCredentialsRequest.java +++ b/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/dataservice/ConfirmCredentialsRequest.java @@ -30,5 +30,5 @@ public class ConfirmCredentialsRequest extends AutoSafeParcelable { @SafeParceled(3) public CaptchaSolution captchaSolution; - public static final Creator CREATOR = new AutoCreator(ConfirmCredentialsRequest.class); + public static final Creator CREATOR = new AutoCreator<>(ConfirmCredentialsRequest.class); } diff --git a/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/dataservice/TokenRequest.java b/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/dataservice/TokenRequest.java index 4a200050..20efadb4 100644 --- a/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/dataservice/TokenRequest.java +++ b/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/dataservice/TokenRequest.java @@ -40,5 +40,5 @@ public class TokenRequest extends AutoSafeParcelable{ return new Account(accountName, accountType); } - public static final Creator CREATOR = new AutoCreator(TokenRequest.class); + public static final Creator CREATOR = new AutoCreator<>(TokenRequest.class); } diff --git a/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/delegate/ConfirmCredentialsWorkflowRequest.java b/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/delegate/ConfirmCredentialsWorkflowRequest.java index 0091dee5..9e1903dd 100644 --- a/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/delegate/ConfirmCredentialsWorkflowRequest.java +++ b/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/delegate/ConfirmCredentialsWorkflowRequest.java @@ -39,5 +39,5 @@ public class ConfirmCredentialsWorkflowRequest extends AutoSafeParcelable { @SafeParceled(6) public AccountAuthenticatorResponse accountAuthenticatorResponse; - public static final Creator CREATOR = new AutoCreator(ConfirmCredentialsWorkflowRequest.class); + public static final Creator CREATOR = new AutoCreator<>(ConfirmCredentialsWorkflowRequest.class); } diff --git a/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/shared/AccountCredentials.java b/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/shared/AccountCredentials.java index 4b57130d..f8315516 100644 --- a/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/shared/AccountCredentials.java +++ b/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/shared/AccountCredentials.java @@ -34,5 +34,5 @@ public class AccountCredentials extends AutoSafeParcelable { return new Account(accountName, accountType); } - public static final Creator CREATOR = new AutoCreator(AccountCredentials.class); + public static final Creator CREATOR = new AutoCreator<>(AccountCredentials.class); } diff --git a/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/shared/AppDescription.java b/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/shared/AppDescription.java index 9e339e81..8b63ab12 100644 --- a/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/shared/AppDescription.java +++ b/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/shared/AppDescription.java @@ -31,5 +31,5 @@ public class AppDescription extends AutoSafeParcelable { @SafeParceled(5) public String callingPkg; - public static final Creator CREATOR = new AutoCreator(AppDescription.class); + public static final Creator CREATOR = new AutoCreator<>(AppDescription.class); } diff --git a/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/shared/CaptchaSolution.java b/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/shared/CaptchaSolution.java index 9563798e..6fe2b279 100644 --- a/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/shared/CaptchaSolution.java +++ b/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/shared/CaptchaSolution.java @@ -25,5 +25,5 @@ public class CaptchaSolution extends AutoSafeParcelable { @SafeParceled(1) private int versionCode = 1; - public static final Creator CREATOR = new AutoCreator(CaptchaSolution.class); + public static final Creator CREATOR = new AutoCreator<>(CaptchaSolution.class); } diff --git a/play-services-api/src/main/java/com/google/android/gms/clearcut/LogEventParcelable.java b/play-services-api/src/main/java/com/google/android/gms/clearcut/LogEventParcelable.java index 81042a97..19a5017b 100644 --- a/play-services-api/src/main/java/com/google/android/gms/clearcut/LogEventParcelable.java +++ b/play-services-api/src/main/java/com/google/android/gms/clearcut/LogEventParcelable.java @@ -25,8 +25,8 @@ import org.microg.safeparcel.SafeParceled; import java.nio.ByteBuffer; import java.nio.CharBuffer; -import java.nio.charset.Charset; import java.nio.charset.CharsetDecoder; +import java.nio.charset.StandardCharsets; import java.util.Arrays; public class LogEventParcelable extends AutoSafeParcelable { @@ -92,7 +92,7 @@ public class LogEventParcelable extends AutoSafeParcelable { private String getBytesAsString() { if (bytes == null) return "null"; try { - CharsetDecoder d = Charset.forName("US-ASCII").newDecoder(); + CharsetDecoder d = StandardCharsets.US_ASCII.newDecoder(); CharBuffer r = d.decode(ByteBuffer.wrap(bytes)); return r.toString(); } catch (Exception e) { @@ -100,5 +100,5 @@ public class LogEventParcelable extends AutoSafeParcelable { } } - public static final Creator CREATOR = new AutoCreator(LogEventParcelable.class); + public static final Creator CREATOR = new AutoCreator<>(LogEventParcelable.class); } diff --git a/play-services-api/src/main/java/com/google/android/gms/common/internal/GoogleCertificatesQuery.java b/play-services-api/src/main/java/com/google/android/gms/common/internal/GoogleCertificatesQuery.java index c8240279..f47be78c 100644 --- a/play-services-api/src/main/java/com/google/android/gms/common/internal/GoogleCertificatesQuery.java +++ b/play-services-api/src/main/java/com/google/android/gms/common/internal/GoogleCertificatesQuery.java @@ -71,5 +71,5 @@ public class GoogleCertificatesQuery extends AutoSafeParcelable { return certData; } - public static final Creator CREATOR = new AutoCreator(GoogleCertificatesQuery.class); + public static final Creator CREATOR = new AutoCreator<>(GoogleCertificatesQuery.class); } diff --git a/play-services-api/src/main/java/com/google/android/gms/common/server/FavaDiagnosticsEntity.java b/play-services-api/src/main/java/com/google/android/gms/common/server/FavaDiagnosticsEntity.java index 6f10959a..d32e668b 100644 --- a/play-services-api/src/main/java/com/google/android/gms/common/server/FavaDiagnosticsEntity.java +++ b/play-services-api/src/main/java/com/google/android/gms/common/server/FavaDiagnosticsEntity.java @@ -20,5 +20,5 @@ import org.microg.safeparcel.AutoSafeParcelable; public class FavaDiagnosticsEntity extends AutoSafeParcelable { - public static final Creator CREATOR = new AutoCreator(FavaDiagnosticsEntity.class); + public static final Creator CREATOR = new AutoCreator<>(FavaDiagnosticsEntity.class); } diff --git a/play-services-api/src/main/java/com/google/android/gms/people/internal/ParcelableLoadImageOptions.java b/play-services-api/src/main/java/com/google/android/gms/people/internal/ParcelableLoadImageOptions.java index 61180fd4..24b3872d 100644 --- a/play-services-api/src/main/java/com/google/android/gms/people/internal/ParcelableLoadImageOptions.java +++ b/play-services-api/src/main/java/com/google/android/gms/people/internal/ParcelableLoadImageOptions.java @@ -32,5 +32,5 @@ public class ParcelableLoadImageOptions extends AutoSafeParcelable { @SafeParceled(3) public boolean useLargePictureForCp2Images; - public static final Creator CREATOR = new AutoCreator(ParcelableLoadImageOptions.class); + public static final Creator CREATOR = new AutoCreator<>(ParcelableLoadImageOptions.class); } diff --git a/play-services-api/src/main/java/com/google/android/gms/people/model/AccountMetadata.java b/play-services-api/src/main/java/com/google/android/gms/people/model/AccountMetadata.java index 814a6574..103c572c 100644 --- a/play-services-api/src/main/java/com/google/android/gms/people/model/AccountMetadata.java +++ b/play-services-api/src/main/java/com/google/android/gms/people/model/AccountMetadata.java @@ -36,5 +36,5 @@ public class AccountMetadata extends AutoSafeParcelable { @SafeParceled(5) public boolean hasFeature4 = true; - public static Creator CREATOR = new AutoCreator(AccountMetadata.class); + public static Creator CREATOR = new AutoCreator<>(AccountMetadata.class); } diff --git a/play-services-api/src/main/java/com/google/android/gms/people/model/AvatarReference.java b/play-services-api/src/main/java/com/google/android/gms/people/model/AvatarReference.java index b03af386..3dbaba62 100644 --- a/play-services-api/src/main/java/com/google/android/gms/people/model/AvatarReference.java +++ b/play-services-api/src/main/java/com/google/android/gms/people/model/AvatarReference.java @@ -30,5 +30,5 @@ public class AvatarReference extends AutoSafeParcelable { @SafeParceled(2) public String location; - public static final Creator CREATOR = new AutoCreator(AvatarReference.class); + public static final Creator CREATOR = new AutoCreator<>(AvatarReference.class); } diff --git a/play-services-api/src/main/java/com/google/android/gms/playlog/internal/LogEvent.java b/play-services-api/src/main/java/com/google/android/gms/playlog/internal/LogEvent.java index 791c19b8..4fc0e62a 100644 --- a/play-services-api/src/main/java/com/google/android/gms/playlog/internal/LogEvent.java +++ b/play-services-api/src/main/java/com/google/android/gms/playlog/internal/LogEvent.java @@ -50,5 +50,5 @@ public class LogEvent extends AutoSafeParcelable { '}'; } - public static Creator CREATOR = new AutoCreator(LogEvent.class); + public static Creator CREATOR = new AutoCreator<>(LogEvent.class); } diff --git a/play-services-api/src/main/java/com/google/android/gms/playlog/internal/PlayLoggerContext.java b/play-services-api/src/main/java/com/google/android/gms/playlog/internal/PlayLoggerContext.java index ca31fb9b..2c7fa4be 100644 --- a/play-services-api/src/main/java/com/google/android/gms/playlog/internal/PlayLoggerContext.java +++ b/play-services-api/src/main/java/com/google/android/gms/playlog/internal/PlayLoggerContext.java @@ -83,19 +83,18 @@ public class PlayLoggerContext extends AutoSafeParcelable { @Override public String toString() { - final StringBuilder sb = new StringBuilder("PlayLoggerContext[").append(versionCode); - sb.append(", package=").append(packageName); - sb.append(", packageVersionCode=").append(packageVersionCode); - sb.append(", logSource=").append(logSource); - sb.append(", uploadAccount=").append(uploadAccount); - sb.append(", loggingId=").append(loggingId); - sb.append(", logAndroidId=").append(logAndroidId); - sb.append(", logSourceName=").append(logSourceName); - sb.append(", isAnonymous=").append(isAnonymous); - sb.append(", qosTier=").append(qosTier); - sb.append(']'); - return sb.toString(); + return "PlayLoggerContext[" + versionCode + + ", package=" + packageName + + ", packageVersionCode=" + packageVersionCode + + ", logSource=" + logSource + + ", uploadAccount=" + uploadAccount + + ", loggingId=" + loggingId + + ", logAndroidId=" + logAndroidId + + ", logSourceName=" + logSourceName + + ", isAnonymous=" + isAnonymous + + ", qosTier=" + qosTier + + ']'; } - public static Creator CREATOR = new AutoCreator(PlayLoggerContext.class); + public static Creator CREATOR = new AutoCreator<>(PlayLoggerContext.class); } diff --git a/play-services-base-api/src/main/java/com/google/android/gms/auth/api/signin/GoogleSignInAccount.java b/play-services-base-api/src/main/java/com/google/android/gms/auth/api/signin/GoogleSignInAccount.java index 802db9a3..031c5b37 100644 --- a/play-services-base-api/src/main/java/com/google/android/gms/auth/api/signin/GoogleSignInAccount.java +++ b/play-services-base-api/src/main/java/com/google/android/gms/auth/api/signin/GoogleSignInAccount.java @@ -8,5 +8,5 @@ package com.google.android.gms.auth.api.signin; import org.microg.safeparcel.AutoSafeParcelable; public class GoogleSignInAccount extends AutoSafeParcelable { - public static final Creator CREATOR = new AutoCreator(GoogleSignInAccount.class); + public static final Creator CREATOR = new AutoCreator<>(GoogleSignInAccount.class); } diff --git a/play-services-base-api/src/main/java/com/google/android/gms/common/data/DataHolder.java b/play-services-base-api/src/main/java/com/google/android/gms/common/data/DataHolder.java index 2867e413..2d9113d0 100644 --- a/play-services-base-api/src/main/java/com/google/android/gms/common/data/DataHolder.java +++ b/play-services-base-api/src/main/java/com/google/android/gms/common/data/DataHolder.java @@ -211,7 +211,7 @@ public class DataHolder extends AutoSafeParcelable implements Closeable { @SuppressWarnings("deprecation") private static CursorWindow[] createCursorWindows(Builder builder) { if (builder.columns.length == 0) return new CursorWindow[0]; - List windows = new ArrayList(); + List windows = new ArrayList<>(); try { CursorWindow current = null; for (int rowIndex = 0; rowIndex < builder.rows.size(); rowIndex++) { @@ -223,7 +223,7 @@ public class DataHolder extends AutoSafeParcelable implements Closeable { windows.add(current); if (!current.allocRow()) { windows.remove(current); - return windows.toArray(new CursorWindow[windows.size()]); + return windows.toArray(new CursorWindow[0]); } } for (int columnIndex = 0; columnIndex < builder.columns.length; columnIndex++) { @@ -256,12 +256,12 @@ public class DataHolder extends AutoSafeParcelable implements Closeable { } throw e; } - return windows.toArray(new CursorWindow[windows.size()]); + return windows.toArray(new CursorWindow[0]); } private static CursorWindow[] createCursorWindows(Cursor cursor) { if (cursor.getColumnCount() == 0) return new CursorWindow[0]; - List windows = new ArrayList(); + List windows = new ArrayList<>(); CursorWindow current = null; int rowIndex = 0; while (cursor.moveToNext()) { @@ -272,7 +272,7 @@ public class DataHolder extends AutoSafeParcelable implements Closeable { windows.add(current); if (!current.allocRow()) { windows.remove(current); - return windows.toArray(new CursorWindow[windows.size()]); + return windows.toArray(new CursorWindow[0]); } } for (int i = 0; i < cursor.getColumnCount(); i++) { @@ -297,7 +297,7 @@ public class DataHolder extends AutoSafeParcelable implements Closeable { rowIndex++; } cursor.close(); - return windows.toArray(new CursorWindow[windows.size()]); + return windows.toArray(new CursorWindow[0]); } /** @@ -436,7 +436,7 @@ public class DataHolder extends AutoSafeParcelable implements Closeable { } public void validateContents() { - columnIndices = new HashMap(); + columnIndices = new HashMap<>(); for (int i = 0; i < columns.length; i++) { columnIndices.put(columns[i], i); } @@ -455,9 +455,9 @@ public class DataHolder extends AutoSafeParcelable implements Closeable { private Builder(String[] columns, String uniqueColumn) { this.columns = columns; - this.rows = new ArrayList>(); + this.rows = new ArrayList<>(); this.uniqueColumn = uniqueColumn; - this.uniqueIndizes = new HashMap(); + this.uniqueIndizes = new HashMap<>(); } /** @@ -509,7 +509,7 @@ public class DataHolder extends AutoSafeParcelable implements Closeable { * @return {@link DataHolder.Builder} to continue construction. */ public Builder withRow(ContentValues values) { - HashMap row = new HashMap(); + HashMap row = new HashMap<>(); for (Map.Entry entry : values.valueSet()) { row.put(entry.getKey(), entry.getValue()); } diff --git a/play-services-base-api/src/main/java/com/google/android/gms/common/images/WebImage.java b/play-services-base-api/src/main/java/com/google/android/gms/common/images/WebImage.java index c8f8f2a2..1843f847 100644 --- a/play-services-base-api/src/main/java/com/google/android/gms/common/images/WebImage.java +++ b/play-services-base-api/src/main/java/com/google/android/gms/common/images/WebImage.java @@ -24,7 +24,7 @@ import org.microg.safeparcel.AutoSafeParcelable; import org.microg.safeparcel.SafeParceled; public class WebImage extends AutoSafeParcelable { - public static final Creator CREATOR = new AutoCreator(WebImage.class); + public static final Creator CREATOR = new AutoCreator<>(WebImage.class); public WebImage () { this.uri = null; @@ -59,6 +59,6 @@ public class WebImage extends AutoSafeParcelable { } public String toString() { - return String.format(Locale.getDefault(), "Image %dx%d %s", new Object[]{Integer.valueOf(width), Integer.valueOf(height), uri.toString()}); + return String.format(Locale.getDefault(), "Image %dx%d %s", width, height, uri.toString()); } } diff --git a/play-services-base/src/main/java/com/google/android/gms/common/api/AccountInfo.java b/play-services-base/src/main/java/com/google/android/gms/common/api/AccountInfo.java index 30d6a169..fd400c45 100644 --- a/play-services-base/src/main/java/com/google/android/gms/common/api/AccountInfo.java +++ b/play-services-base/src/main/java/com/google/android/gms/common/api/AccountInfo.java @@ -20,5 +20,5 @@ import org.microg.safeparcel.AutoSafeParcelable; @Deprecated public class AccountInfo extends AutoSafeParcelable { - public static final Creator CREATOR = new AutoCreator(AccountInfo.class); + public static final Creator CREATOR = new AutoCreator<>(AccountInfo.class); } diff --git a/play-services-base/src/main/java/com/google/android/gms/common/api/GoogleApiClient.java b/play-services-base/src/main/java/com/google/android/gms/common/api/GoogleApiClient.java index fb7088e6..ec1482bf 100644 --- a/play-services-base/src/main/java/com/google/android/gms/common/api/GoogleApiClient.java +++ b/play-services-base/src/main/java/com/google/android/gms/common/api/GoogleApiClient.java @@ -143,7 +143,7 @@ public interface GoogleApiClient { * @see #registerConnectionFailedListener(OnConnectionFailedListener) * @see #unregisterConnectionFailedListener(OnConnectionFailedListener) */ - public boolean isConnectionFailedListenerRegistered(OnConnectionFailedListener listener); + boolean isConnectionFailedListenerRegistered(OnConnectionFailedListener listener); /** * Closes the current connection to Google Play services and creates a new connection. @@ -198,7 +198,7 @@ public interface GoogleApiClient { * @param listener the listener where the results of the asynchronous {@link #connect()} call * are delivered. */ - public void registerConnectionFailedListener(OnConnectionFailedListener listener); + void registerConnectionFailedListener(OnConnectionFailedListener listener); /** * Disconnects the client and stops automatic lifecycle management. Use this before creating a @@ -241,10 +241,10 @@ public interface GoogleApiClient { @PublicApi class Builder { private final Context context; - private final Map apis = new HashMap(); - private final Set connectionCallbacks = new HashSet(); - private final Set connectionFailedListeners = new HashSet(); - private final Set scopes = new HashSet(); + private final Map apis = new HashMap<>(); + private final Set connectionCallbacks = new HashSet<>(); + private final Set connectionFailedListeners = new HashSet<>(); + private final Set scopes = new HashSet<>(); private String accountName; private int clientId = -1; private FragmentActivity fragmentActivity; diff --git a/play-services-base/src/main/java/com/google/android/gms/common/api/PendingResult.java b/play-services-base/src/main/java/com/google/android/gms/common/api/PendingResult.java index ec162920..e3881366 100644 --- a/play-services-base/src/main/java/com/google/android/gms/common/api/PendingResult.java +++ b/play-services-base/src/main/java/com/google/android/gms/common/api/PendingResult.java @@ -40,20 +40,20 @@ public interface PendingResult { * Blocks until the task is completed. This is not allowed on the UI thread. The returned * result object can have an additional failure mode of INTERRUPTED. */ - public R await(); + R await(); /** * Blocks until the task is completed or has timed out waiting for the result. This is not * allowed on the UI thread. The returned result object can have an additional failure mode * of either INTERRUPTED or TIMEOUT. */ - public R await(long time, TimeUnit unit); + R await(long time, TimeUnit unit); - public void cancel(); + void cancel(); - public boolean isCanceled(); + boolean isCanceled(); - public void setResultCallback(ResultCallback callback, long time, TimeUnit unit); + void setResultCallback(ResultCallback callback, long time, TimeUnit unit); - public void setResultCallback(ResultCallback callback); + void setResultCallback(ResultCallback callback); } diff --git a/play-services-base/src/main/java/org/microg/gms/common/GmsConnector.java b/play-services-base/src/main/java/org/microg/gms/common/GmsConnector.java index 8013d70f..9a56566c 100644 --- a/play-services-base/src/main/java/org/microg/gms/common/GmsConnector.java +++ b/play-services-base/src/main/java/org/microg/gms/common/GmsConnector.java @@ -44,7 +44,7 @@ public class GmsConnector { } public static PendingResult call(GoogleApiClient client, Api api, GmsConnector.Callback callback) { - return new GmsConnector(client, api, callback).connect(); + return new GmsConnector<>(client, api, callback).connect(); } public AbstractPendingResult connect() { @@ -52,7 +52,7 @@ public class GmsConnector { apiClient.incrementUsageCounter(); apiClient.getApiConnection(api); Looper looper = apiClient.getLooper(); - final AbstractPendingResult result = new AbstractPendingResult(looper); + final AbstractPendingResult result = new AbstractPendingResult<>(looper); Message msg = new Message(); msg.obj = result; new Handler(looper).sendMessage(msg); @@ -78,12 +78,9 @@ public class GmsConnector { final AbstractPendingResult result = (AbstractPendingResult) msg.obj; try { C connection = (C) apiClient.getApiConnection(api); - callback.onClientAvailable(connection, new GmsConnector.Callback.ResultProvider() { - @Override - public void onResultAvailable(R realResult) { - result.deliverResult(realResult); - apiClient.decrementUsageCounter(); - } + callback.onClientAvailable(connection, realResult -> { + result.deliverResult(realResult); + apiClient.decrementUsageCounter(); }); } catch (RemoteException ignored) { diff --git a/play-services-base/src/main/java/org/microg/gms/common/MultiConnectionKeeper.java b/play-services-base/src/main/java/org/microg/gms/common/MultiConnectionKeeper.java index ea4cfbe6..d3484f37 100644 --- a/play-services-base/src/main/java/org/microg/gms/common/MultiConnectionKeeper.java +++ b/play-services-base/src/main/java/org/microg/gms/common/MultiConnectionKeeper.java @@ -39,7 +39,7 @@ public class MultiConnectionKeeper { private static MultiConnectionKeeper INSTANCE; private final Context context; - private final Map connections = new HashMap(); + private final Map connections = new HashMap<>(); public MultiConnectionKeeper(Context context) { this.context = context; @@ -83,7 +83,7 @@ public class MultiConnectionKeeper { public class Connection { private final String actionString; - private final Set connectionForwards = new HashSet(); + private final Set connectionForwards = new HashSet<>(); private boolean bound = false; private boolean connected = false; private IBinder binder; diff --git a/play-services-base/src/main/java/org/microg/gms/common/api/AbstractPendingResult.java b/play-services-base/src/main/java/org/microg/gms/common/api/AbstractPendingResult.java index 15aac9e3..560f3681 100644 --- a/play-services-base/src/main/java/org/microg/gms/common/api/AbstractPendingResult.java +++ b/play-services-base/src/main/java/org/microg/gms/common/api/AbstractPendingResult.java @@ -34,7 +34,7 @@ public class AbstractPendingResult implements PendingResult private ResultCallback resultCallback; public AbstractPendingResult(Looper looper) { - handler = new ResultCallbackHandler(looper); + handler = new ResultCallbackHandler<>(looper); } private R getResult() { diff --git a/play-services-base/src/main/java/org/microg/gms/common/api/GoogleApiClientImpl.java b/play-services-base/src/main/java/org/microg/gms/common/api/GoogleApiClientImpl.java index 11233697..e59f68f6 100644 --- a/play-services-base/src/main/java/org/microg/gms/common/api/GoogleApiClientImpl.java +++ b/play-services-base/src/main/java/org/microg/gms/common/api/GoogleApiClientImpl.java @@ -19,12 +19,10 @@ package org.microg.gms.common.api; import android.content.Context; import android.os.Bundle; import android.os.Looper; -import android.os.Message; +import android.util.Log; import androidx.fragment.app.FragmentActivity; -import android.util.Log; - import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.api.Api; import com.google.android.gms.common.api.GoogleApiClient; @@ -43,10 +41,10 @@ public class GoogleApiClientImpl implements GoogleApiClient { private final Context context; private final Looper looper; private final ApiClientSettings clientSettings; - private final Map apis = new HashMap(); - private final Map apiConnections = new HashMap(); - private final Set connectionCallbacks = new HashSet(); - private final Set connectionFailedListeners = new HashSet(); + private final Map apis = new HashMap<>(); + private final Map apiConnections = new HashMap<>(); + private final Set connectionCallbacks = new HashSet<>(); + private final Set connectionFailedListeners = new HashSet<>(); private final int clientId; private final ConnectionCallbacks baseConnectionCallbacks = new ConnectionCallbacks() { @Override @@ -65,16 +63,12 @@ public class GoogleApiClientImpl implements GoogleApiClient { } } }; - private final OnConnectionFailedListener baseConnectionFailedListener = new - OnConnectionFailedListener() { - @Override - public void onConnectionFailed(ConnectionResult result) { - Log.d(TAG, "OnConnectionFailedListener : onConnectionFailed()"); - for (OnConnectionFailedListener listener : connectionFailedListeners) { - listener.onConnectionFailed(result); - } - } - }; + private final OnConnectionFailedListener baseConnectionFailedListener = result -> { + Log.d(TAG, "OnConnectionFailedListener : onConnectionFailed()"); + for (OnConnectionFailedListener listener : connectionFailedListeners) { + listener.onConnectionFailed(result); + } + }; private int usageCounter = 0; private boolean shouldDisconnect = false; diff --git a/play-services-base/src/main/java/org/microg/gms/common/api/GoogleApiManager.java b/play-services-base/src/main/java/org/microg/gms/common/api/GoogleApiManager.java index 1662ca31..addad6a7 100644 --- a/play-services-base/src/main/java/org/microg/gms/common/api/GoogleApiManager.java +++ b/play-services-base/src/main/java/org/microg/gms/common/api/GoogleApiManager.java @@ -17,6 +17,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; public class GoogleApiManager { private static GoogleApiManager instance; @@ -52,7 +53,7 @@ public class GoogleApiManager { if (connected) { apiCall.execute(client, completionSource); } else { - waitingApiCallMap.get(new ApiInstance(api)).add(new WaitingApiCall((PendingGoogleApiCall) apiCall, completionSource)); + waitingApiCallMap.get(new ApiInstance(api)).add(new WaitingApiCall<>((PendingGoogleApiCall) apiCall, completionSource)); if (!connecting) { client.connect(); } @@ -134,8 +135,8 @@ public class GoogleApiManager { WaitingApiCall that = (WaitingApiCall) o; - if (apiCall != null ? !apiCall.equals(that.apiCall) : that.apiCall != null) return false; - return completionSource != null ? completionSource.equals(that.completionSource) : that.completionSource == null; + if (!Objects.equals(apiCall, that.apiCall)) return false; + return Objects.equals(completionSource, that.completionSource); } @Override @@ -166,8 +167,8 @@ public class GoogleApiManager { ApiInstance that = (ApiInstance) o; - if (apiClass != null ? !apiClass.equals(that.apiClass) : that.apiClass != null) return false; - return apiOptions != null ? apiOptions.equals(that.apiOptions) : that.apiOptions == null; + if (!Objects.equals(apiClass, that.apiClass)) return false; + return Objects.equals(apiOptions, that.apiOptions); } @Override diff --git a/play-services-base/src/main/java/org/microg/gms/common/api/ResultCallbackHandler.java b/play-services-base/src/main/java/org/microg/gms/common/api/ResultCallbackHandler.java index c19c849c..1ddb4d47 100644 --- a/play-services-base/src/main/java/org/microg/gms/common/api/ResultCallbackHandler.java +++ b/play-services-base/src/main/java/org/microg/gms/common/api/ResultCallbackHandler.java @@ -50,7 +50,7 @@ class ResultCallbackHandler extends Handler { public void sendResultCallback(ResultCallback callback, R result) { Message message = new Message(); message.what = CALLBACK_ON_COMPLETE; - message.obj = new OnCompleteObject(callback, result); + message.obj = new OnCompleteObject<>(callback, result); sendMessage(message); } diff --git a/play-services-basement/src/main/java/com/google/android/gms/common/api/Result.java b/play-services-basement/src/main/java/com/google/android/gms/common/api/Result.java index 3ed0bd7e..6c4f6921 100644 --- a/play-services-basement/src/main/java/com/google/android/gms/common/api/Result.java +++ b/play-services-basement/src/main/java/com/google/android/gms/common/api/Result.java @@ -23,5 +23,5 @@ import org.microg.gms.common.PublicApi; */ @PublicApi public interface Result { - public Status getStatus(); + Status getStatus(); } diff --git a/play-services-basement/src/main/java/com/google/android/gms/common/api/ResultCallback.java b/play-services-basement/src/main/java/com/google/android/gms/common/api/ResultCallback.java index 1cac879c..f6c46b06 100644 --- a/play-services-basement/src/main/java/com/google/android/gms/common/api/ResultCallback.java +++ b/play-services-basement/src/main/java/com/google/android/gms/common/api/ResultCallback.java @@ -29,5 +29,5 @@ public interface ResultCallback { * * @param result The result from the API call. May not be null. */ - public void onResult(R result); + void onResult(R result); } diff --git a/play-services-basement/src/main/java/com/google/android/gms/common/api/Scope.java b/play-services-basement/src/main/java/com/google/android/gms/common/api/Scope.java index d99932b2..28211ee6 100644 --- a/play-services-basement/src/main/java/com/google/android/gms/common/api/Scope.java +++ b/play-services-basement/src/main/java/com/google/android/gms/common/api/Scope.java @@ -61,5 +61,5 @@ public class Scope extends AutoSafeParcelable { return scopeUri; } - public static final Creator CREATOR = new AutoCreator(Scope.class); + public static final Creator CREATOR = new AutoCreator<>(Scope.class); } diff --git a/play-services-basement/src/main/java/com/google/android/gms/common/api/Status.java b/play-services-basement/src/main/java/com/google/android/gms/common/api/Status.java index 6a80ff39..d7e6f9a5 100644 --- a/play-services-basement/src/main/java/com/google/android/gms/common/api/Status.java +++ b/play-services-basement/src/main/java/com/google/android/gms/common/api/Status.java @@ -176,5 +176,5 @@ public final class Status extends AutoSafeParcelable implements Result { } } - public static final Creator CREATOR = new AutoCreator(Status.class); + public static final Creator CREATOR = new AutoCreator<>(Status.class); } diff --git a/play-services-basement/src/main/java/com/google/android/gms/common/internal/GetServiceRequest.java b/play-services-basement/src/main/java/com/google/android/gms/common/internal/GetServiceRequest.java index 488feba9..cb9dccd0 100644 --- a/play-services-basement/src/main/java/com/google/android/gms/common/internal/GetServiceRequest.java +++ b/play-services-basement/src/main/java/com/google/android/gms/common/internal/GetServiceRequest.java @@ -79,5 +79,5 @@ public class GetServiceRequest extends AutoSafeParcelable { '}'; } - public static Creator CREATOR = new AutoCreator(GetServiceRequest.class); + public static Creator CREATOR = new AutoCreator<>(GetServiceRequest.class); } diff --git a/play-services-basement/src/main/java/com/google/android/gms/common/internal/ValidateAccountRequest.java b/play-services-basement/src/main/java/com/google/android/gms/common/internal/ValidateAccountRequest.java index 71337291..75e59d95 100644 --- a/play-services-basement/src/main/java/com/google/android/gms/common/internal/ValidateAccountRequest.java +++ b/play-services-basement/src/main/java/com/google/android/gms/common/internal/ValidateAccountRequest.java @@ -19,5 +19,5 @@ package com.google.android.gms.common.internal; import org.microg.safeparcel.AutoSafeParcelable; public class ValidateAccountRequest extends AutoSafeParcelable { - public static Creator CREATOR = new AutoCreator(ValidateAccountRequest.class); + public static Creator CREATOR = new AutoCreator<>(ValidateAccountRequest.class); } diff --git a/play-services-basement/src/main/java/com/google/android/gms/dynamic/ObjectWrapper.java b/play-services-basement/src/main/java/com/google/android/gms/dynamic/ObjectWrapper.java index 6f26194b..967d8cc6 100644 --- a/play-services-basement/src/main/java/com/google/android/gms/dynamic/ObjectWrapper.java +++ b/play-services-basement/src/main/java/com/google/android/gms/dynamic/ObjectWrapper.java @@ -72,6 +72,6 @@ public class ObjectWrapper extends IObjectWrapper.Stub { } public static ObjectWrapper wrap(T t) { - return new ObjectWrapper(t); + return new ObjectWrapper<>(t); } } diff --git a/play-services-cast-api/src/main/java/com/google/android/gms/cast/ApplicationMetadata.java b/play-services-cast-api/src/main/java/com/google/android/gms/cast/ApplicationMetadata.java index 71dee27b..f8614ce1 100644 --- a/play-services-cast-api/src/main/java/com/google/android/gms/cast/ApplicationMetadata.java +++ b/play-services-cast-api/src/main/java/com/google/android/gms/cast/ApplicationMetadata.java @@ -81,5 +81,5 @@ public class ApplicationMetadata extends AutoSafeParcelable { return sb.toString(); } - public static final Creator CREATOR = new AutoCreator(ApplicationMetadata.class); + public static final Creator CREATOR = new AutoCreator<>(ApplicationMetadata.class); } diff --git a/play-services-cast-api/src/main/java/com/google/android/gms/cast/ApplicationStatus.java b/play-services-cast-api/src/main/java/com/google/android/gms/cast/ApplicationStatus.java index 96537689..2eafc853 100644 --- a/play-services-cast-api/src/main/java/com/google/android/gms/cast/ApplicationStatus.java +++ b/play-services-cast-api/src/main/java/com/google/android/gms/cast/ApplicationStatus.java @@ -32,5 +32,5 @@ public class ApplicationStatus extends AutoSafeParcelable { @SafeParceled(2) private String applicationStatus; - public static final Creator CREATOR = new AutoCreator(ApplicationStatus.class); + public static final Creator CREATOR = new AutoCreator<>(ApplicationStatus.class); } diff --git a/play-services-cast-api/src/main/java/com/google/android/gms/cast/CastDevice.java b/play-services-cast-api/src/main/java/com/google/android/gms/cast/CastDevice.java index f185c8a5..b340325b 100644 --- a/play-services-cast-api/src/main/java/com/google/android/gms/cast/CastDevice.java +++ b/play-services-cast-api/src/main/java/com/google/android/gms/cast/CastDevice.java @@ -27,7 +27,6 @@ import org.microg.safeparcel.AutoSafeParcelable; import org.microg.safeparcel.SafeParceled; import java.net.InetAddress; -import java.net.Inet4Address; import java.util.ArrayList; import java.util.List; @@ -47,7 +46,7 @@ public class CastDevice extends AutoSafeParcelable { this.servicePort = port; this.deviceVersion = deviceVersion; this.friendlyName = friendlyName; - this.icons = new ArrayList(); + this.icons = new ArrayList<>(); this.icons.add(new WebImage(Uri.parse(String.format("http://%s:8008%s", this.address, iconPath)))); this.modelName = modelName; this.capabilities = capabilities; @@ -190,5 +189,5 @@ public class CastDevice extends AutoSafeParcelable { "}"; } - public static Creator CREATOR = new AutoCreator(CastDevice.class); + public static Creator CREATOR = new AutoCreator<>(CastDevice.class); } diff --git a/play-services-cast-api/src/main/java/com/google/android/gms/cast/CastDeviceStatus.java b/play-services-cast-api/src/main/java/com/google/android/gms/cast/CastDeviceStatus.java index 67dba193..b44251f3 100644 --- a/play-services-cast-api/src/main/java/com/google/android/gms/cast/CastDeviceStatus.java +++ b/play-services-cast-api/src/main/java/com/google/android/gms/cast/CastDeviceStatus.java @@ -45,5 +45,5 @@ public class CastDeviceStatus extends AutoSafeParcelable { @SafeParceled(6) private int standbyState; - public static final Creator CREATOR = new AutoCreator(CastDeviceStatus.class); + public static final Creator CREATOR = new AutoCreator<>(CastDeviceStatus.class); } diff --git a/play-services-cast-api/src/main/java/com/google/android/gms/cast/JoinOptions.java b/play-services-cast-api/src/main/java/com/google/android/gms/cast/JoinOptions.java index 022af3d2..9c938e08 100644 --- a/play-services-cast-api/src/main/java/com/google/android/gms/cast/JoinOptions.java +++ b/play-services-cast-api/src/main/java/com/google/android/gms/cast/JoinOptions.java @@ -25,5 +25,5 @@ public class JoinOptions extends AutoSafeParcelable { @SafeParceled(2) private int connectionType = 0; - public static Creator CREATOR = new AutoCreator(JoinOptions.class); + public static Creator CREATOR = new AutoCreator<>(JoinOptions.class); } diff --git a/play-services-cast-api/src/main/java/com/google/android/gms/cast/LaunchOptions.java b/play-services-cast-api/src/main/java/com/google/android/gms/cast/LaunchOptions.java index 7c30fbe3..5e0f0562 100644 --- a/play-services-cast-api/src/main/java/com/google/android/gms/cast/LaunchOptions.java +++ b/play-services-cast-api/src/main/java/com/google/android/gms/cast/LaunchOptions.java @@ -43,5 +43,5 @@ public class LaunchOptions extends AutoSafeParcelable { this.relaunchIfRunning = relaunchIfRunning; } - public static Creator CREATOR = new AutoCreator(LaunchOptions.class); + public static Creator CREATOR = new AutoCreator<>(LaunchOptions.class); } diff --git a/play-services-cast-framework-api/src/main/java/com/google/android/gms/cast/framework/CastOptions.java b/play-services-cast-framework-api/src/main/java/com/google/android/gms/cast/framework/CastOptions.java index 2592c821..b29d8c0d 100644 --- a/play-services-cast-framework-api/src/main/java/com/google/android/gms/cast/framework/CastOptions.java +++ b/play-services-cast-framework-api/src/main/java/com/google/android/gms/cast/framework/CastOptions.java @@ -23,7 +23,6 @@ import com.google.android.gms.cast.framework.media.CastMediaOptions; import com.google.android.gms.cast.LaunchOptions; import java.util.ArrayList; -import java.util.List; public class CastOptions extends AutoSafeParcelable { @SafeParceled(1) @@ -61,5 +60,5 @@ public class CastOptions extends AutoSafeParcelable { return this.launchOptions; } - public static Creator CREATOR = new AutoCreator(CastOptions.class); + public static Creator CREATOR = new AutoCreator<>(CastOptions.class); } diff --git a/play-services-cast-framework-api/src/main/java/com/google/android/gms/cast/framework/media/CastMediaOptions.java b/play-services-cast-framework-api/src/main/java/com/google/android/gms/cast/framework/media/CastMediaOptions.java index 3db58f3e..e1a8b1c9 100644 --- a/play-services-cast-framework-api/src/main/java/com/google/android/gms/cast/framework/media/CastMediaOptions.java +++ b/play-services-cast-framework-api/src/main/java/com/google/android/gms/cast/framework/media/CastMediaOptions.java @@ -32,5 +32,5 @@ public class CastMediaOptions extends AutoSafeParcelable { @SafeParceled(5) public NotificationOptions notificationOptions; - public static Creator CREATOR = new AutoCreator(CastMediaOptions.class); + public static Creator CREATOR = new AutoCreator<>(CastMediaOptions.class); } diff --git a/play-services-cast-framework-api/src/main/java/com/google/android/gms/cast/framework/media/NotificationOptions.java b/play-services-cast-framework-api/src/main/java/com/google/android/gms/cast/framework/media/NotificationOptions.java index bfed1ad4..fad5e21c 100644 --- a/play-services-cast-framework-api/src/main/java/com/google/android/gms/cast/framework/media/NotificationOptions.java +++ b/play-services-cast-framework-api/src/main/java/com/google/android/gms/cast/framework/media/NotificationOptions.java @@ -92,5 +92,5 @@ public class NotificationOptions extends AutoSafeParcelable { @SafeParceled(33) public INotificationActionsProvider notificationActionsProvider; - public static Creator CREATOR = new AutoCreator(NotificationOptions.class); + public static Creator CREATOR = new AutoCreator<>(NotificationOptions.class); } diff --git a/play-services-cast/src/main/java/com/google/android/gms/cast/Cast.java b/play-services-cast/src/main/java/com/google/android/gms/cast/Cast.java index 33f7be44..aa5e06a5 100755 --- a/play-services-cast/src/main/java/com/google/android/gms/cast/Cast.java +++ b/play-services-cast/src/main/java/com/google/android/gms/cast/Cast.java @@ -89,7 +89,7 @@ public final class Cast { /** * Token to pass to {@link GoogleApiClient.Builder#addApi(Api)} to enable the Cast features. */ - public static final Api API = new Api(new CastApiClientBuilder()); + public static final Api API = new Api<>(new CastApiClientBuilder()); /** * An implementation of the CastApi interface. The interface is used to interact with a cast device. diff --git a/play-services-cast/src/main/java/com/google/android/gms/cast/CastRemoteDisplay.java b/play-services-cast/src/main/java/com/google/android/gms/cast/CastRemoteDisplay.java index 30c20e73..0cd3d5af 100755 --- a/play-services-cast/src/main/java/com/google/android/gms/cast/CastRemoteDisplay.java +++ b/play-services-cast/src/main/java/com/google/android/gms/cast/CastRemoteDisplay.java @@ -32,7 +32,7 @@ public final class CastRemoteDisplay { /** * Token to pass to {@link GoogleApiClient.Builder#addApi(Api)} to enable the CastRemoteDisplay features. */ - public static final Api API = new Api(new CastRemoteDisplayApiClientBuilder()); + public static final Api API = new Api<>(new CastRemoteDisplayApiClientBuilder()); /** * An implementation of the CastRemoteDisplayAPI interface. The interface is used to interact with a cast device. diff --git a/play-services-core/microg-ui-tools/src/main/java/org/microg/tools/ui/AbstractAboutFragment.java b/play-services-core/microg-ui-tools/src/main/java/org/microg/tools/ui/AbstractAboutFragment.java index e0b53f47..bb065aca 100644 --- a/play-services-core/microg-ui-tools/src/main/java/org/microg/tools/ui/AbstractAboutFragment.java +++ b/play-services-core/microg-ui-tools/src/main/java/org/microg/tools/ui/AbstractAboutFragment.java @@ -102,10 +102,10 @@ public abstract class AbstractAboutFragment extends Fragment { aboutRoot.findViewById(android.R.id.summary).setVisibility(View.VISIBLE); } - List libraries = new ArrayList(); + List libraries = new ArrayList<>(); collectLibraries(libraries); Collections.sort(libraries); - ((ListView) aboutRoot.findViewById(android.R.id.list)).setAdapter(new LibraryAdapter(getContext(), libraries.toArray(new Library[libraries.size()]))); + ((ListView) aboutRoot.findViewById(android.R.id.list)).setAdapter(new LibraryAdapter(getContext(), libraries.toArray(new Library[0]))); return aboutRoot; } diff --git a/play-services-core/microg-ui-tools/src/main/java/org/microg/tools/ui/AbstractDashboardActivity.java b/play-services-core/microg-ui-tools/src/main/java/org/microg/tools/ui/AbstractDashboardActivity.java index caac607b..30bf98c8 100644 --- a/play-services-core/microg-ui-tools/src/main/java/org/microg/tools/ui/AbstractDashboardActivity.java +++ b/play-services-core/microg-ui-tools/src/main/java/org/microg/tools/ui/AbstractDashboardActivity.java @@ -12,7 +12,7 @@ import java.util.List; public abstract class AbstractDashboardActivity extends AppCompatActivity { protected int preferencesResource = 0; - private final List conditions = new ArrayList(); + private final List conditions = new ArrayList<>(); private ViewGroup conditionContainer; @Override @@ -47,19 +47,13 @@ public abstract class AbstractDashboardActivity extends AppCompatActivity { private void evaluateConditionAsync(final Condition condition) { if (condition.willBeEvaluating()) { - new Thread(new Runnable() { - @Override - public void run() { - if (condition.isActive(AbstractDashboardActivity.this)) { - runOnUiThread(new Runnable() { - @Override - public void run() { - if (conditions.contains(condition) && condition.isEvaluated()) { - addConditionToView(condition); - } - } - }); - } + new Thread(() -> { + if (condition.isActive(AbstractDashboardActivity.this)) { + runOnUiThread(() -> { + if (conditions.contains(condition) && condition.isEvaluated()) { + addConditionToView(condition); + } + }); } }).start(); } diff --git a/play-services-core/microg-ui-tools/src/main/java/org/microg/tools/ui/Condition.java b/play-services-core/microg-ui-tools/src/main/java/org/microg/tools/ui/Condition.java index 7ea35cd8..5adeeb88 100644 --- a/play-services-core/microg-ui-tools/src/main/java/org/microg/tools/ui/Condition.java +++ b/play-services-core/microg-ui-tools/src/main/java/org/microg/tools/ui/Condition.java @@ -108,16 +108,13 @@ public class Condition { } final View detailGroup = view.findViewById(R.id.detail_group); final ImageView expandIndicator = (ImageView) view.findViewById(R.id.expand_indicator); - View.OnClickListener expandListener = new View.OnClickListener() { - @Override - public void onClick(View v) { - if (detailGroup.getVisibility() == View.VISIBLE) { - expandIndicator.setImageDrawable(ResourcesCompat.getDrawable(context.getResources(), R.drawable.ic_expand_more, context.getTheme())); - detailGroup.setVisibility(View.GONE); - } else { - expandIndicator.setImageDrawable(ResourcesCompat.getDrawable(context.getResources(), R.drawable.ic_expand_less, context.getTheme())); - detailGroup.setVisibility(View.VISIBLE); - } + View.OnClickListener expandListener = v -> { + if (detailGroup.getVisibility() == View.VISIBLE) { + expandIndicator.setImageDrawable(ResourcesCompat.getDrawable(context.getResources(), R.drawable.ic_expand_more, context.getTheme())); + detailGroup.setVisibility(View.GONE); + } else { + expandIndicator.setImageDrawable(ResourcesCompat.getDrawable(context.getResources(), R.drawable.ic_expand_less, context.getTheme())); + detailGroup.setVisibility(View.VISIBLE); } }; view.findViewById(R.id.collapsed_group).setOnClickListener(expandListener); diff --git a/play-services-core/microg-ui-tools/src/main/java/org/microg/tools/ui/SwitchBar.java b/play-services-core/microg-ui-tools/src/main/java/org/microg/tools/ui/SwitchBar.java index ab282dd5..61f28ae5 100644 --- a/play-services-core/microg-ui-tools/src/main/java/org/microg/tools/ui/SwitchBar.java +++ b/play-services-core/microg-ui-tools/src/main/java/org/microg/tools/ui/SwitchBar.java @@ -40,7 +40,7 @@ import static android.os.Build.VERSION.SDK_INT; public class SwitchBar extends LinearLayout implements CompoundButton.OnCheckedChangeListener, View.OnClickListener { - public static interface OnSwitchChangeListener { + public interface OnSwitchChangeListener { /** * Called when the checked state of the Switch has changed. * @@ -58,7 +58,7 @@ public class SwitchBar extends LinearLayout implements CompoundButton.OnCheckedC private String mSummary; private ArrayList mSwitchChangeListeners = - new ArrayList(); + new ArrayList<>(); public SwitchBar(Context context) { this(context, null); @@ -85,12 +85,7 @@ public class SwitchBar extends LinearLayout implements CompoundButton.OnCheckedC mSwitch.setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_NO); } - addOnSwitchChangeListener(new OnSwitchChangeListener() { - @Override - public void onSwitchChanged(SwitchCompat switchView, boolean isChecked) { - setTextViewLabel(isChecked); - } - }); + addOnSwitchChangeListener((switchView, isChecked) -> setTextViewLabel(isChecked)); setOnClickListener(this); diff --git a/play-services-core/src/main/java/com/google/android/gms/cast/framework/internal/CastContextImpl.java b/play-services-core/src/main/java/com/google/android/gms/cast/framework/internal/CastContextImpl.java index be1c5935..96d805e4 100644 --- a/play-services-core/src/main/java/com/google/android/gms/cast/framework/internal/CastContextImpl.java +++ b/play-services-core/src/main/java/com/google/android/gms/cast/framework/internal/CastContextImpl.java @@ -30,7 +30,6 @@ import com.google.android.gms.cast.framework.CastOptions; import com.google.android.gms.cast.framework.IAppVisibilityListener; import com.google.android.gms.cast.framework.ICastContext; import com.google.android.gms.cast.framework.IDiscoveryManager; -import com.google.android.gms.cast.framework.ISessionManager; import com.google.android.gms.cast.framework.ISessionProvider; import com.google.android.gms.dynamic.IObjectWrapper; import com.google.android.gms.dynamic.ObjectWrapper; diff --git a/play-services-core/src/main/java/com/google/android/gms/cast/framework/internal/CastDynamiteModuleImpl.java b/play-services-core/src/main/java/com/google/android/gms/cast/framework/internal/CastDynamiteModuleImpl.java index e7dcf488..03615bbe 100644 --- a/play-services-core/src/main/java/com/google/android/gms/cast/framework/internal/CastDynamiteModuleImpl.java +++ b/play-services-core/src/main/java/com/google/android/gms/cast/framework/internal/CastDynamiteModuleImpl.java @@ -16,7 +16,6 @@ package com.google.android.gms.cast.framework.internal; -import android.content.Context; import android.os.RemoteException; import android.util.Log; @@ -30,7 +29,6 @@ import com.google.android.gms.cast.framework.ISessionProxy; import com.google.android.gms.cast.framework.media.CastMediaOptions; import com.google.android.gms.cast.framework.internal.CastContextImpl; import com.google.android.gms.cast.framework.internal.CastSessionImpl; -import com.google.android.gms.cast.framework.internal.MediaRouterCallbackImpl; import com.google.android.gms.cast.framework.internal.SessionImpl; import com.google.android.gms.cast.framework.media.IMediaNotificationService; import com.google.android.gms.cast.framework.media.internal.IFetchBitmapTask; diff --git a/play-services-core/src/main/java/com/google/android/gms/cast/framework/internal/MediaRouterCallbackImpl.java b/play-services-core/src/main/java/com/google/android/gms/cast/framework/internal/MediaRouterCallbackImpl.java index 9be564a5..9f65d8ba 100644 --- a/play-services-core/src/main/java/com/google/android/gms/cast/framework/internal/MediaRouterCallbackImpl.java +++ b/play-services-core/src/main/java/com/google/android/gms/cast/framework/internal/MediaRouterCallbackImpl.java @@ -16,14 +16,11 @@ package com.google.android.gms.cast.framework.internal; -import android.content.Intent; import android.os.Bundle; import android.os.RemoteException; import android.util.Log; import com.google.android.gms.cast.CastDevice; -import com.google.android.gms.cast.framework.ISession; -import com.google.android.gms.dynamic.IObjectWrapper; import com.google.android.gms.dynamic.ObjectWrapper; public class MediaRouterCallbackImpl extends IMediaRouterCallback.Stub { diff --git a/play-services-core/src/main/java/com/google/android/gms/cast/framework/internal/SessionManagerImpl.java b/play-services-core/src/main/java/com/google/android/gms/cast/framework/internal/SessionManagerImpl.java index d10f8b21..918968fe 100644 --- a/play-services-core/src/main/java/com/google/android/gms/cast/framework/internal/SessionManagerImpl.java +++ b/play-services-core/src/main/java/com/google/android/gms/cast/framework/internal/SessionManagerImpl.java @@ -22,7 +22,6 @@ import android.util.Log; import com.google.android.gms.cast.framework.CastState; import com.google.android.gms.cast.framework.ICastStateListener; -import com.google.android.gms.cast.framework.ISession; import com.google.android.gms.cast.framework.ISessionManager; import com.google.android.gms.cast.framework.ISessionManagerListener; import com.google.android.gms.cast.framework.internal.CastContextImpl; @@ -44,7 +43,7 @@ public class SessionManagerImpl extends ISessionManager.Stub { private Set sessionManagerListeners = new HashSet(); private Set castStateListeners = new HashSet(); - private Map routeSessions = new HashMap(); + private Map routeSessions = new HashMap<>(); private SessionImpl currentSession; diff --git a/play-services-core/src/main/java/com/google/android/gms/cast/media/CastMediaRouteProviderService.java b/play-services-core/src/main/java/com/google/android/gms/cast/media/CastMediaRouteProviderService.java index aa91eff4..e2502eea 100644 --- a/play-services-core/src/main/java/com/google/android/gms/cast/media/CastMediaRouteProviderService.java +++ b/play-services-core/src/main/java/com/google/android/gms/cast/media/CastMediaRouteProviderService.java @@ -18,8 +18,6 @@ package com.google.android.gms.cast.media; import org.microg.gms.cast.CastMediaRouteProvider; -import android.util.Log; - import androidx.mediarouter.media.MediaRouteProvider; import androidx.mediarouter.media.MediaRouteProviderService; diff --git a/play-services-core/src/main/java/org/microg/gms/auth/AskPermissionActivity.java b/play-services-core/src/main/java/org/microg/gms/auth/AskPermissionActivity.java index ebc24dfa..e3317d71 100644 --- a/play-services-core/src/main/java/org/microg/gms/auth/AskPermissionActivity.java +++ b/play-services-core/src/main/java/org/microg/gms/auth/AskPermissionActivity.java @@ -25,7 +25,6 @@ import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.graphics.Bitmap; import android.graphics.drawable.Drawable; -import android.os.Build; import android.os.Bundle; import android.text.Html; import android.util.Log; @@ -39,7 +38,6 @@ import android.widget.ListView; import android.widget.TextView; import com.mgoogle.android.gms.R; -import com.squareup.wire.Wire; import org.microg.gms.common.PackageUtils; import org.microg.gms.people.PeopleManager; @@ -119,18 +117,10 @@ public class AskPermissionActivity extends AccountAuthenticatorActivity { if (profileIcon != null) { ((ImageView) findViewById(R.id.account_photo)).setImageBitmap(profileIcon); } else { - new Thread(new Runnable() { - @Override - public void run() { - final Bitmap profileIcon = PeopleManager.getOwnerAvatarBitmap(AskPermissionActivity.this, account.name, true); - runOnUiThread(new Runnable() { - @Override - public void run() { - ((ImageView) findViewById(R.id.account_photo)).setImageBitmap(profileIcon); - } - }); + new Thread(() -> { + final Bitmap profileIcon1 = PeopleManager.getOwnerAvatarBitmap(AskPermissionActivity.this, account.name, true); + runOnUiThread(() -> ((ImageView) findViewById(R.id.account_photo)).setImageBitmap(profileIcon1)); - } }).start(); } @@ -140,18 +130,8 @@ public class AskPermissionActivity extends AccountAuthenticatorActivity { } else { ((TextView) findViewById(R.id.title)).setText(getString(R.string.ask_service_permission_title, appLabel)); } - findViewById(android.R.id.button1).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - onAllow(); - } - }); - findViewById(android.R.id.button2).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - onDeny(); - } - }); + findViewById(android.R.id.button1).setOnClickListener(v -> onAllow()); + findViewById(android.R.id.button2).setOnClickListener(v -> onDeny()); ((ListView) findViewById(R.id.permissions)).setAdapter(new PermissionAdapter()); } @@ -161,24 +141,21 @@ public class AskPermissionActivity extends AccountAuthenticatorActivity { findViewById(android.R.id.button2).setEnabled(false); findViewById(R.id.progress_bar).setVisibility(VISIBLE); findViewById(R.id.no_progress_bar).setVisibility(GONE); - new Thread(new Runnable() { - @Override - public void run() { - try { - AuthResponse response = authManager.requestAuth(fromAccountManager); - Bundle result = new Bundle(); - result.putString(KEY_AUTHTOKEN, response.auth); - result.putString(KEY_ACCOUNT_NAME, account.name); - result.putString(KEY_ACCOUNT_TYPE, account.type); - result.putString(KEY_ANDROID_PACKAGE_NAME, packageName); - result.putBoolean(AccountManager.KEY_BOOLEAN_RESULT, true); - setAccountAuthenticatorResult(result); - } catch (IOException e) { - Log.w(TAG, e); - } - finish(); - + new Thread(() -> { + try { + AuthResponse response = authManager.requestAuth(fromAccountManager); + Bundle result = new Bundle(); + result.putString(KEY_AUTHTOKEN, response.auth); + result.putString(KEY_ACCOUNT_NAME, account.name); + result.putString(KEY_ACCOUNT_TYPE, account.type); + result.putString(KEY_ANDROID_PACKAGE_NAME, packageName); + result.putBoolean(AccountManager.KEY_BOOLEAN_RESULT, true); + setAccountAuthenticatorResult(result); + } catch (IOException e) { + Log.w(TAG, e); } + finish(); + }).start(); } diff --git a/play-services-core/src/main/java/org/microg/gms/auth/AuthManager.java b/play-services-core/src/main/java/org/microg/gms/auth/AuthManager.java index 19cbb621..bba07496 100644 --- a/play-services-core/src/main/java/org/microg/gms/auth/AuthManager.java +++ b/play-services-core/src/main/java/org/microg/gms/auth/AuthManager.java @@ -21,9 +21,10 @@ import android.accounts.AccountManager; import android.content.Context; import android.content.pm.PackageManager; import android.os.Build; -import android.preference.PreferenceManager; import android.util.Log; +import androidx.preference.PreferenceManager; + import org.microg.gms.common.PackageUtils; import java.io.IOException; @@ -117,10 +118,7 @@ public class AuthManager { } } String perm = getUserData(buildPermKey()); - if (!"1".equals(perm)) { - return false; - } - return true; + return "1".equals(perm); } public void setExpiry(long expiry) { diff --git a/play-services-core/src/main/java/org/microg/gms/auth/AuthManagerServiceImpl.java b/play-services-core/src/main/java/org/microg/gms/auth/AuthManagerServiceImpl.java index 6b779a26..2205eb3f 100644 --- a/play-services-core/src/main/java/org/microg/gms/auth/AuthManagerServiceImpl.java +++ b/play-services-core/src/main/java/org/microg/gms/auth/AuthManagerServiceImpl.java @@ -137,7 +137,7 @@ public class AuthManagerServiceImpl extends IAuthManagerService.Stub { private List getScopes(String scope) { if (!scope.startsWith("oauth2:")) return null; String[] strings = scope.substring(7).split(" "); - List res = new ArrayList(); + List res = new ArrayList<>(); for (String string : strings) { res.add(new Scope(string)); } diff --git a/play-services-core/src/main/java/org/microg/gms/auth/login/AssistantActivity.java b/play-services-core/src/main/java/org/microg/gms/auth/login/AssistantActivity.java index 21164946..a967e501 100644 --- a/play-services-core/src/main/java/org/microg/gms/auth/login/AssistantActivity.java +++ b/play-services-core/src/main/java/org/microg/gms/auth/login/AssistantActivity.java @@ -23,7 +23,6 @@ import android.os.Bundle; import android.util.DisplayMetrics; import android.view.View; import android.widget.Button; -import android.widget.RelativeLayout; import android.widget.TextView; import androidx.annotation.StringRes; @@ -39,18 +38,8 @@ public abstract class AssistantActivity extends Activity { super.onCreate(savedInstanceState); setContentView(R.layout.login_assistant); formatTitle(); - findViewById(R.id.next_button).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - onNextButtonClicked(); - } - }); - findViewById(R.id.back_button).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - onBackButtonClicked(); - } - }); + findViewById(R.id.next_button).setOnClickListener(v -> onNextButtonClicked()); + findViewById(R.id.back_button).setOnClickListener(v -> onBackButtonClicked()); } @SuppressLint("WrongViewCast") diff --git a/play-services-core/src/main/java/org/microg/gms/auth/login/LoginActivity.java b/play-services-core/src/main/java/org/microg/gms/auth/login/LoginActivity.java index ae5e96d5..9b9829a9 100644 --- a/play-services-core/src/main/java/org/microg/gms/auth/login/LoginActivity.java +++ b/play-services-core/src/main/java/org/microg/gms/auth/login/LoginActivity.java @@ -21,7 +21,6 @@ import android.accounts.AccountManager; import android.annotation.SuppressLint; import android.annotation.TargetApi; import android.content.Context; -import android.graphics.Bitmap; import android.graphics.Color; import android.net.ConnectivityManager; import android.net.NetworkInfo; @@ -36,7 +35,6 @@ import android.view.ViewGroup; import android.view.inputmethod.InputMethodManager; import android.webkit.CookieManager; import android.webkit.JavascriptInterface; -import android.webkit.ValueCallback; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; diff --git a/play-services-core/src/main/java/org/microg/gms/auth/loginservice/AccountAuthenticator.java b/play-services-core/src/main/java/org/microg/gms/auth/loginservice/AccountAuthenticator.java index 9d476d2b..069379c8 100644 --- a/play-services-core/src/main/java/org/microg/gms/auth/loginservice/AccountAuthenticator.java +++ b/play-services-core/src/main/java/org/microg/gms/auth/loginservice/AccountAuthenticator.java @@ -27,8 +27,6 @@ import android.os.Bundle; import android.util.Base64; import android.util.Log; -import com.mgoogle.android.gms.R; - import org.microg.gms.auth.AskPermissionActivity; import org.microg.gms.auth.AuthConstants; import org.microg.gms.auth.AuthManager; @@ -147,8 +145,10 @@ class AccountAuthenticator extends AbstractAccountAuthenticator { if (services != null) { List servicesList = Arrays.asList(services.split(",")); for (String feature : features) { - if (feature.startsWith("service_") && !servicesList.contains(feature.substring(8))) + if (feature.startsWith("service_") && !servicesList.contains(feature.substring(8))) { res = false; + break; + } } } else { res = false; diff --git a/play-services-core/src/main/java/org/microg/gms/cast/CastDeviceControllerImpl.java b/play-services-core/src/main/java/org/microg/gms/cast/CastDeviceControllerImpl.java index e93e3c13..8dffb214 100644 --- a/play-services-core/src/main/java/org/microg/gms/cast/CastDeviceControllerImpl.java +++ b/play-services-core/src/main/java/org/microg/gms/cast/CastDeviceControllerImpl.java @@ -18,14 +18,10 @@ package org.microg.gms.cast; import java.io.IOException; import java.util.ArrayList; -import java.util.Collections; import android.content.Context; -import android.net.Uri; import android.os.Bundle; -import android.os.Parcel; import android.os.RemoteException; -import android.util.Base64; import android.util.Log; import com.google.android.gms.cast.ApplicationMetadata; @@ -37,10 +33,7 @@ import com.google.android.gms.cast.LaunchOptions; import com.google.android.gms.cast.internal.ICastDeviceController; import com.google.android.gms.cast.internal.ICastDeviceControllerListener; import com.google.android.gms.common.api.CommonStatusCodes; -import com.google.android.gms.common.api.Status; -import com.google.android.gms.common.images.WebImage; import com.google.android.gms.common.internal.BinderWrapper; -import com.google.android.gms.common.internal.GetServiceRequest; import su.litvak.chromecast.api.v2.Application; import su.litvak.chromecast.api.v2.ChromeCast; @@ -51,7 +44,6 @@ import su.litvak.chromecast.api.v2.ChromeCastRawMessageListener; import su.litvak.chromecast.api.v2.ChromeCastConnectionEvent; import su.litvak.chromecast.api.v2.ChromeCastSpontaneousEvent; import su.litvak.chromecast.api.v2.ChromeCastRawMessage; -import su.litvak.chromecast.api.v2.AppEvent; public class CastDeviceControllerImpl extends ICastDeviceController.Stub implements ChromeCastConnectionEventListener, @@ -107,8 +99,8 @@ public class CastDeviceControllerImpl extends ICastDeviceController.Stub impleme metadata.name = app.name; Log.d(TAG, "unimplemented: ApplicationMetadata.images"); Log.d(TAG, "unimplemented: ApplicationMetadata.senderAppLaunchUri"); - metadata.images = new ArrayList(); - metadata.namespaces = new ArrayList(); + metadata.images = new ArrayList<>(); + metadata.namespaces = new ArrayList<>(); for(Namespace namespace : app.namespaces) { metadata.namespaces.add(namespace.name); } @@ -119,8 +111,6 @@ public class CastDeviceControllerImpl extends ICastDeviceController.Stub impleme @Override public void spontaneousEventReceived(ChromeCastSpontaneousEvent event) { switch (event.getType()) { - case MEDIA_STATUS: - break; case STATUS: su.litvak.chromecast.api.v2.Status status = (su.litvak.chromecast.api.v2.Status)event.getData(); Application app = status.getRunningApp(); @@ -132,11 +122,11 @@ public class CastDeviceControllerImpl extends ICastDeviceController.Stub impleme int standbyState = status.standBy ? 1 : 0; this.onDeviceStatusChanged(new CastDeviceStatus(status.volume.level, status.volume.muted, activeInputState, metadata, standbyState)); break; - case APPEVENT: - break; case CLOSE: this.onApplicationDisconnected(CommonStatusCodes.SUCCESS); break; + case MEDIA_STATUS: + case APPEVENT: default: break; } @@ -147,12 +137,10 @@ public class CastDeviceControllerImpl extends ICastDeviceController.Stub impleme switch (message.getPayloadType()) { case STRING: String response = message.getPayloadUtf8(); - if (requestId == null) { - this.onTextMessageReceived(message.getNamespace(), response); - } else { + if (requestId != null) { this.onSendMessageSuccess(response, requestId); - this.onTextMessageReceived(message.getNamespace(), response); } + this.onTextMessageReceived(message.getNamespace(), response); break; case BINARY: byte[] payload = message.getPayloadBinary(); @@ -167,7 +155,6 @@ public class CastDeviceControllerImpl extends ICastDeviceController.Stub impleme this.chromecast.disconnect(); } catch (IOException e) { Log.e(TAG, "Error disconnecting chromecast: " + e.getMessage()); - return; } } @@ -178,7 +165,6 @@ public class CastDeviceControllerImpl extends ICastDeviceController.Stub impleme } catch (IOException e) { Log.w(TAG, "Error sending cast message: " + e.getMessage()); this.onSendMessageFailure("", requestId, CommonStatusCodes.NETWORK_ERROR); - return; } } diff --git a/play-services-core/src/main/java/org/microg/gms/cast/CastDeviceControllerService.java b/play-services-core/src/main/java/org/microg/gms/cast/CastDeviceControllerService.java index d494a012..68d61775 100644 --- a/play-services-core/src/main/java/org/microg/gms/cast/CastDeviceControllerService.java +++ b/play-services-core/src/main/java/org/microg/gms/cast/CastDeviceControllerService.java @@ -16,26 +16,14 @@ package org.microg.gms.cast; -import android.os.IBinder; import android.os.RemoteException; -import android.os.Parcel; -import android.util.ArrayMap; -import android.util.Log; -import com.google.android.gms.cast.CastDevice; -import com.google.android.gms.cast.internal.ICastDeviceControllerListener; import com.google.android.gms.common.internal.GetServiceRequest; -import com.google.android.gms.common.internal.BinderWrapper; import com.google.android.gms.common.internal.IGmsCallbacks; import org.microg.gms.BaseService; import org.microg.gms.common.GmsService; -import su.litvak.chromecast.api.v2.ChromeCast; -import su.litvak.chromecast.api.v2.ChromeCasts; -import su.litvak.chromecast.api.v2.Status; -import su.litvak.chromecast.api.v2.ChromeCastsListener; - public class CastDeviceControllerService extends BaseService { private static final String TAG = CastDeviceControllerService.class.getSimpleName(); diff --git a/play-services-core/src/main/java/org/microg/gms/cast/CastMediaRouteController.java b/play-services-core/src/main/java/org/microg/gms/cast/CastMediaRouteController.java index f8ca7a1a..6f2bdda6 100644 --- a/play-services-core/src/main/java/org/microg/gms/cast/CastMediaRouteController.java +++ b/play-services-core/src/main/java/org/microg/gms/cast/CastMediaRouteController.java @@ -16,36 +16,13 @@ package org.microg.gms.cast; -import android.content.Context; import android.content.Intent; -import android.content.IntentFilter; -import android.net.Uri; -import android.os.Bundle; -import android.os.AsyncTask; -import android.os.Handler; import android.util.Log; import androidx.mediarouter.media.MediaRouteProvider; import androidx.mediarouter.media.MediaRouter; -import com.google.android.gms.common.images.WebImage; -import com.google.android.gms.cast.CastDevice; - -import java.net.InetAddress; -import java.net.InetSocketAddress; -import java.net.Inet4Address; -import java.net.UnknownHostException; -import java.io.IOException; -import java.lang.Thread; -import java.lang.Runnable; -import java.util.ArrayList; -import java.util.Map; -import java.util.HashMap; - import su.litvak.chromecast.api.v2.ChromeCast; -import su.litvak.chromecast.api.v2.ChromeCasts; -import su.litvak.chromecast.api.v2.Status; -import su.litvak.chromecast.api.v2.ChromeCastsListener; public class CastMediaRouteController extends MediaRouteProvider.RouteController { private static final String TAG = CastMediaRouteController.class.getSimpleName(); diff --git a/play-services-core/src/main/java/org/microg/gms/cast/CastMediaRouteProvider.java b/play-services-core/src/main/java/org/microg/gms/cast/CastMediaRouteProvider.java index 0b1e3a86..09d3b623 100644 --- a/play-services-core/src/main/java/org/microg/gms/cast/CastMediaRouteProvider.java +++ b/play-services-core/src/main/java/org/microg/gms/cast/CastMediaRouteProvider.java @@ -19,12 +19,9 @@ package org.microg.gms.cast; import android.annotation.SuppressLint; import android.content.Context; import android.content.IntentFilter; -import android.net.Uri; import android.net.nsd.NsdManager; import android.net.nsd.NsdServiceInfo; -import android.os.Build; import android.os.Bundle; -import android.os.AsyncTask; import android.os.Handler; import android.util.Log; @@ -35,33 +32,26 @@ import androidx.mediarouter.media.MediaRouteProvider; import androidx.mediarouter.media.MediaRouteProviderDescriptor; import androidx.mediarouter.media.MediaRouter; -import com.google.android.gms.common.images.WebImage; import com.google.android.gms.cast.CastDevice; import com.google.android.gms.cast.CastMediaControlIntent; import java.net.InetAddress; -import java.net.InetSocketAddress; -import java.net.Inet4Address; -import java.net.UnknownHostException; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.lang.Thread; -import java.lang.Runnable; -import java.util.List; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; -import java.util.Map; import java.util.HashMap; +import java.util.List; +import java.util.Map; public class CastMediaRouteProvider extends MediaRouteProvider { private static final String TAG = CastMediaRouteProvider.class.getSimpleName(); - private Map castDevices = new HashMap(); - private Map serviceCastIds = new HashMap(); + private Map castDevices = new HashMap<>(); + private Map serviceCastIds = new HashMap<>(); private NsdManager mNsdManager; private NsdManager.DiscoveryListener mDiscoveryListener; - private List customCategories = new ArrayList(); + private List customCategories = new ArrayList<>(); private enum State { NOT_DISCOVERING, @@ -71,7 +61,7 @@ public class CastMediaRouteProvider extends MediaRouteProvider { } private State state = State.NOT_DISCOVERING; - private static final ArrayList BASE_CONTROL_FILTERS = new ArrayList(); + private static final ArrayList BASE_CONTROL_FILTERS = new ArrayList<>(); static { IntentFilter filter; @@ -215,17 +205,16 @@ public class CastMediaRouteProvider extends MediaRouteProvider { return; } try { - String id = new String(attributes.get("id"), "UTF-8"); - String deviceVersion = new String(attributes.get("ve"), "UTF-8"); - String friendlyName = new String(attributes.get("fn"), "UTF-8"); - String modelName = new String(attributes.get("md"), "UTF-8"); - String iconPath = new String(attributes.get("ic"), "UTF-8"); - int status = Integer.parseInt(new String(attributes.get("st"), "UTF-8")); + String id = new String(attributes.get("id"), StandardCharsets.UTF_8); + String deviceVersion = new String(attributes.get("ve"), StandardCharsets.UTF_8); + String friendlyName = new String(attributes.get("fn"), StandardCharsets.UTF_8); + String modelName = new String(attributes.get("md"), StandardCharsets.UTF_8); + String iconPath = new String(attributes.get("ic"), StandardCharsets.UTF_8); + int status = Integer.parseInt(new String(attributes.get("st"), StandardCharsets.UTF_8)); onChromeCastDiscovered(id, name, host, port, deviceVersion, friendlyName, modelName, iconPath, status); - } catch (UnsupportedEncodingException | NullPointerException ex) { + } catch (NullPointerException ex) { Log.e(TAG, "Error getting cast details from DNS-SD response", ex); - return; } } }); @@ -317,18 +306,13 @@ public class CastMediaRouteProvider extends MediaRouteProvider { private void publishRoutesInMainThread() { Handler mainHandler = new Handler(this.getContext().getMainLooper()); - mainHandler.post(new Runnable() { - @Override - public void run() { - publishRoutes(); - } - }); + mainHandler.post(this::publishRoutes); } private void publishRoutes() { MediaRouteProviderDescriptor.Builder builder = new MediaRouteProviderDescriptor.Builder(); for (CastDevice castDevice : this.castDevices.values()) { - ArrayList controlFilters = new ArrayList(BASE_CONTROL_FILTERS); + ArrayList controlFilters = new ArrayList<>(BASE_CONTROL_FILTERS); // Include any app-specific control filters that have been requested. // TODO: Do we need to check with the device? for (String category : this.customCategories) { diff --git a/play-services-core/src/main/java/org/microg/gms/checkin/CheckinClient.java b/play-services-core/src/main/java/org/microg/gms/checkin/CheckinClient.java index 3ecc0999..aff6da93 100755 --- a/play-services-core/src/main/java/org/microg/gms/checkin/CheckinClient.java +++ b/play-services-core/src/main/java/org/microg/gms/checkin/CheckinClient.java @@ -18,22 +18,18 @@ package org.microg.gms.checkin; import android.util.Log; -import com.squareup.wire.Wire; - import org.microg.gms.common.Build; import org.microg.gms.common.DeviceConfiguration; import org.microg.gms.common.DeviceIdentifier; import org.microg.gms.common.PhoneInfo; import org.microg.gms.common.Utils; -import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.Date; import java.util.List; @@ -46,7 +42,7 @@ import java.util.zip.GZIPOutputStream; public class CheckinClient { private static final String TAG = "GmsCheckinClient"; private static final Object TODO = null; // TODO - private static final List TODO_LIST_STRING = new ArrayList(); // TODO + private static final List TODO_LIST_STRING = new ArrayList<>(); // TODO private static final List TODO_LIST_CHECKIN = new ArrayList(); // TODO private static final String SERVICE_URL = "https://android.clients.google.com/checkin"; @@ -151,8 +147,8 @@ public class CheckinClient { } if (builder.accountCookie.isEmpty()) builder.accountCookie.add(""); if (deviceIdent.wifiMac != null) { - builder.macAddress(Arrays.asList(deviceIdent.wifiMac)) - .macAddressType(Arrays.asList("wifi")); + builder.macAddress(Collections.singletonList(deviceIdent.wifiMac)) + .macAddressType(Collections.singletonList("wifi")); } if (checkinInfo.securityToken != 0) { builder.securityToken(checkinInfo.securityToken) diff --git a/play-services-core/src/main/java/org/microg/gms/checkin/CheckinManager.java b/play-services-core/src/main/java/org/microg/gms/checkin/CheckinManager.java index 631db813..df9bd9d9 100755 --- a/play-services-core/src/main/java/org/microg/gms/checkin/CheckinManager.java +++ b/play-services-core/src/main/java/org/microg/gms/checkin/CheckinManager.java @@ -20,7 +20,6 @@ import android.accounts.Account; import android.accounts.AccountManager; import android.content.ContentResolver; import android.content.Context; -import android.preference.PreferenceManager; import org.microg.gms.auth.AuthConstants; import org.microg.gms.auth.AuthRequest; @@ -43,7 +42,7 @@ public class CheckinManager { return null; if (!CheckinPrefs.get(context).isEnabled()) return null; - List accounts = new ArrayList(); + List accounts = new ArrayList<>(); AccountManager accountManager = AccountManager.get(context); String accountType = AuthConstants.DEFAULT_ACCOUNT_TYPE; for (Account account : accountManager.getAccountsByType(accountType)) { diff --git a/play-services-core/src/main/java/org/microg/gms/checkin/CheckinPrefs.java b/play-services-core/src/main/java/org/microg/gms/checkin/CheckinPrefs.java index c6172bdb..76309ade 100755 --- a/play-services-core/src/main/java/org/microg/gms/checkin/CheckinPrefs.java +++ b/play-services-core/src/main/java/org/microg/gms/checkin/CheckinPrefs.java @@ -8,7 +8,8 @@ package org.microg.gms.checkin; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; -import android.preference.PreferenceManager; + +import androidx.preference.PreferenceManager; public class CheckinPrefs implements SharedPreferences.OnSharedPreferenceChangeListener { public static final String PREF_ENABLE_CHECKIN = "checkin_enable_service"; diff --git a/play-services-core/src/main/java/org/microg/gms/checkin/CheckinService.java b/play-services-core/src/main/java/org/microg/gms/checkin/CheckinService.java index 1f775a93..beb7f56b 100755 --- a/play-services-core/src/main/java/org/microg/gms/checkin/CheckinService.java +++ b/play-services-core/src/main/java/org/microg/gms/checkin/CheckinService.java @@ -22,7 +22,6 @@ import android.app.IntentService; import android.content.Intent; import android.os.IBinder; import android.os.RemoteException; -import android.preference.PreferenceManager; import android.util.Log; import androidx.legacy.content.WakefulBroadcastReceiver; diff --git a/play-services-core/src/main/java/org/microg/gms/checkin/TriggerReceiver.java b/play-services-core/src/main/java/org/microg/gms/checkin/TriggerReceiver.java index 123d76d3..b531928b 100755 --- a/play-services-core/src/main/java/org/microg/gms/checkin/TriggerReceiver.java +++ b/play-services-core/src/main/java/org/microg/gms/checkin/TriggerReceiver.java @@ -20,7 +20,6 @@ import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.NetworkInfo; -import android.preference.PreferenceManager; import android.util.Log; import androidx.legacy.content.WakefulBroadcastReceiver; diff --git a/play-services-core/src/main/java/org/microg/gms/common/Build.java b/play-services-core/src/main/java/org/microg/gms/common/Build.java index 532a6845..423d90d5 100644 --- a/play-services-core/src/main/java/org/microg/gms/common/Build.java +++ b/play-services-core/src/main/java/org/microg/gms/common/Build.java @@ -44,10 +44,12 @@ public class Build { } private String generateSerialNumber() { - String serial = "008741"; + String serial; Random rand = new Random(); + StringBuilder serialBuilder = new StringBuilder("008741"); for (int i = 0; i < 10; i++) - serial += Integer.toString(rand.nextInt(16), 16); + serialBuilder.append(Integer.toString(rand.nextInt(16), 16)); + serial = serialBuilder.toString(); serial = serial.toUpperCase(Locale.US); return serial; } diff --git a/play-services-core/src/main/java/org/microg/gms/common/DeviceConfiguration.java b/play-services-core/src/main/java/org/microg/gms/common/DeviceConfiguration.java index 411de8aa..99fed5ef 100644 --- a/play-services-core/src/main/java/org/microg/gms/common/DeviceConfiguration.java +++ b/play-services-core/src/main/java/org/microg/gms/common/DeviceConfiguration.java @@ -69,7 +69,7 @@ public class DeviceConfiguration { glEsVersion = configurationInfo.reqGlEsVersion; PackageManager packageManager = context.getPackageManager(); String[] systemSharedLibraryNames = packageManager.getSystemSharedLibraryNames(); - sharedLibraries = new ArrayList(); + sharedLibraries = new ArrayList<>(); if (systemSharedLibraryNames != null) sharedLibraries.addAll(Arrays.asList(systemSharedLibraryNames)); for (String s : new String[]{"com.google.android.maps", "com.google.android.media.effects", "com.google.widevine.software.drm"}) { if (!sharedLibraries.contains(s)) { @@ -77,7 +77,7 @@ public class DeviceConfiguration { } } Collections.sort(sharedLibraries); - availableFeatures = new ArrayList(); + availableFeatures = new ArrayList<>(); if (packageManager.getSystemAvailableFeatures() != null) { for (FeatureInfo featureInfo : packageManager.getSystemAvailableFeatures()) { if (featureInfo != null && featureInfo.name != null) availableFeatures.add(featureInfo.name); @@ -87,14 +87,14 @@ public class DeviceConfiguration { this.nativePlatforms = getNativePlatforms(); widthPixels = displayMetrics.widthPixels; heightPixels = displayMetrics.heightPixels; - locales = new ArrayList(Arrays.asList(context.getAssets().getLocales())); + locales = new ArrayList<>(Arrays.asList(context.getAssets().getLocales())); for (int i = 0; i < locales.size(); i++) { locales.set(i, locales.get(i).replace("-", "_")); } Collections.sort(locales); - Set glExtensions = new HashSet(); + Set glExtensions = new HashSet<>(); addEglExtensions(glExtensions); - this.glExtensions = new ArrayList(glExtensions); + this.glExtensions = new ArrayList<>(glExtensions); Collections.sort(this.glExtensions); } @@ -104,7 +104,7 @@ public class DeviceConfiguration { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { return Arrays.asList(Build.SUPPORTED_ABIS); } else { - nativePlatforms = new ArrayList(); + nativePlatforms = new ArrayList<>(); nativePlatforms.add(Build.CPU_ABI); if (Build.CPU_ABI2 != null && !Build.CPU_ABI2.equals("unknown")) nativePlatforms.add(Build.CPU_ABI2); @@ -117,7 +117,7 @@ public class DeviceConfiguration { if (egl10 != null) { EGLDisplay display = egl10.eglGetDisplay(EGL10.EGL_DEFAULT_DISPLAY); egl10.eglInitialize(display, new int[2]); - int cf[] = new int[1]; + int[] cf = new int[1]; if (egl10.eglGetConfigs(display, null, 0, cf)) { EGLConfig[] configs = new EGLConfig[cf[0]]; if (egl10.eglGetConfigs(display, configs, cf[0], cf)) { @@ -147,29 +147,23 @@ public class DeviceConfiguration { } } - private static void addExtensionsForConfig(EGL10 egl10, EGLDisplay egldisplay, EGLConfig eglconfig, int ai[], - int ai1[], Set set) { + private static void addExtensionsForConfig(EGL10 egl10, EGLDisplay egldisplay, EGLConfig eglconfig, int[] ai, + int[] ai1, Set set) { EGLContext eglcontext = egl10.eglCreateContext(egldisplay, eglconfig, EGL10.EGL_NO_CONTEXT, ai1); if (eglcontext != EGL10.EGL_NO_CONTEXT) { javax.microedition.khronos.egl.EGLSurface eglsurface = egl10.eglCreatePbufferSurface(egldisplay, eglconfig, ai); - if (eglsurface == EGL10.EGL_NO_SURFACE) { - egl10.eglDestroyContext(egldisplay, eglcontext); - } else { + if (eglsurface != EGL10.EGL_NO_SURFACE) { egl10.eglMakeCurrent(egldisplay, eglsurface, eglsurface, eglcontext); String s = GLES10.glGetString(7939); if (s != null && !s.isEmpty()) { - String as[] = s.split(" "); - int i = as.length; - for (int j = 0; j < i; j++) { - set.add(as[j]); - } - + String[] as = s.split(" "); + set.addAll(Arrays.asList(as).subList(0, as.length)); } egl10.eglMakeCurrent(egldisplay, EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_CONTEXT); egl10.eglDestroySurface(egldisplay, eglsurface); - egl10.eglDestroyContext(egldisplay, eglcontext); } + egl10.eglDestroyContext(egldisplay, eglcontext); } } } diff --git a/play-services-core/src/main/java/org/microg/gms/common/DeviceIdentifier.java b/play-services-core/src/main/java/org/microg/gms/common/DeviceIdentifier.java index bc718020..ab5d22cb 100644 --- a/play-services-core/src/main/java/org/microg/gms/common/DeviceIdentifier.java +++ b/play-services-core/src/main/java/org/microg/gms/common/DeviceIdentifier.java @@ -25,22 +25,24 @@ public class DeviceIdentifier { private static String randomMacAddress() { - String mac = "b407f9"; + StringBuilder mac = new StringBuilder("b407f9"); Random rand = new Random(); for (int i = 0; i < 6; i++) { - mac += Integer.toString(rand.nextInt(16), 16); + mac.append(Integer.toString(rand.nextInt(16), 16)); } - return mac; + return mac.toString(); } private static String randomMeid() { // http://en.wikipedia.org/wiki/International_Mobile_Equipment_Identity // We start with a known base, and generate random MEID - String meid = "35503104"; + String meid; Random rand = new Random(); + StringBuilder meidBuilder = new StringBuilder("35503104"); for (int i = 0; i < 6; i++) { - meid += Integer.toString(rand.nextInt(10)); + meidBuilder.append(rand.nextInt(10)); } + meid = meidBuilder.toString(); // Luhn algorithm (check digit) int sum = 0; diff --git a/play-services-core/src/main/java/org/microg/gms/common/ForegroundServiceContext.java b/play-services-core/src/main/java/org/microg/gms/common/ForegroundServiceContext.java index bb97cc2e..58655cef 100644 --- a/play-services-core/src/main/java/org/microg/gms/common/ForegroundServiceContext.java +++ b/play-services-core/src/main/java/org/microg/gms/common/ForegroundServiceContext.java @@ -10,7 +10,6 @@ import android.content.ComponentName; import android.content.Context; import android.content.ContextWrapper; import android.content.Intent; -import android.content.res.Resources; import android.os.Build; import android.os.PowerManager; import android.provider.Settings; diff --git a/play-services-core/src/main/java/org/microg/gms/common/HttpFormClient.java b/play-services-core/src/main/java/org/microg/gms/common/HttpFormClient.java index 8aee1df7..2ad23c70 100644 --- a/play-services-core/src/main/java/org/microg/gms/common/HttpFormClient.java +++ b/play-services-core/src/main/java/org/microg/gms/common/HttpFormClient.java @@ -191,14 +191,11 @@ public class HttpFormClient { public static void requestAsync(final String url, final Request request, final Class tClass, final Callback callback) { - new Thread(new Runnable() { - @Override - public void run() { - try { - callback.onResponse(request(url, request, tClass)); - } catch (Exception e) { - callback.onException(e); - } + new Thread(() -> { + try { + callback.onResponse(request(url, request, tClass)); + } catch (Exception e) { + callback.onException(e); } }).start(); } @@ -217,25 +214,25 @@ public class HttpFormClient { @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface RequestHeader { - public String[] value(); + String[] value(); - public boolean truePresent() default true; + boolean truePresent() default true; - public boolean falsePresent() default false; + boolean falsePresent() default false; - public boolean nullPresent() default false; + boolean nullPresent() default false; } @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface RequestContent { - public String[] value(); + String[] value(); - public boolean truePresent() default true; + boolean truePresent() default true; - public boolean falsePresent() default false; + boolean falsePresent() default false; - public boolean nullPresent() default false; + boolean nullPresent() default false; } @Retention(RetentionPolicy.RUNTIME) @@ -246,13 +243,13 @@ public class HttpFormClient { @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface ResponseField { - public String value(); + String value(); } @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface ResponseHeader { - public String value(); + String value(); } @Retention(RetentionPolicy.RUNTIME) diff --git a/play-services-core/src/main/java/org/microg/gms/common/MultiListenerProxy.java b/play-services-core/src/main/java/org/microg/gms/common/MultiListenerProxy.java index b453ee6e..958b9cd5 100644 --- a/play-services-core/src/main/java/org/microg/gms/common/MultiListenerProxy.java +++ b/play-services-core/src/main/java/org/microg/gms/common/MultiListenerProxy.java @@ -22,7 +22,6 @@ import android.util.Log; import androidx.annotation.NonNull; import java.lang.reflect.InvocationHandler; -import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Proxy; import java.util.Collection; @@ -33,11 +32,11 @@ public class MultiListenerProxy implements InvocationHandl private static final String TAG = "GmsMultiListener"; public static T get(Class tClass, final Collection listeners) { - return get(tClass, new CollectionListenerPool(listeners)); + return get(tClass, new CollectionListenerPool<>(listeners)); } public static T get(Class tClass, final ListenerPool listenerPool) { - return (T) Proxy.newProxyInstance(tClass.getClassLoader(), new Class[]{tClass}, new MultiListenerProxy(listenerPool)); + return (T) Proxy.newProxyInstance(tClass.getClassLoader(), new Class[]{tClass}, new MultiListenerProxy<>(listenerPool)); } private final ListenerPool listeners; @@ -48,7 +47,7 @@ public class MultiListenerProxy implements InvocationHandl @Override public Object invoke(Object proxy, Method method, Object[] args) { - for (T listener : new HashSet(listeners)) { + for (T listener : new HashSet<>(listeners)) { try { method.invoke(listener, args); } catch (Exception e) { diff --git a/play-services-core/src/main/java/org/microg/gms/common/RemoteListenerProxy.java b/play-services-core/src/main/java/org/microg/gms/common/RemoteListenerProxy.java index 46ebca3b..e14aea00 100644 --- a/play-services-core/src/main/java/org/microg/gms/common/RemoteListenerProxy.java +++ b/play-services-core/src/main/java/org/microg/gms/common/RemoteListenerProxy.java @@ -38,12 +38,12 @@ public class RemoteListenerProxy implements ServiceConnect private final String bindAction; private IBinder remote; private boolean connecting; - private List waiting = new ArrayList(); + private List waiting = new ArrayList<>(); private Class tClass; public static T get(Context context, Intent intent, Class tClass, String bindAction) { return (T) Proxy.newProxyInstance(tClass.getClassLoader(), new Class[]{tClass}, - new RemoteListenerProxy(context, intent, tClass, bindAction)); + new RemoteListenerProxy<>(context, intent, tClass, bindAction)); } private RemoteListenerProxy(Context context, Intent intent, Class tClass, String bindAction) { @@ -117,15 +117,12 @@ public class RemoteListenerProxy implements ServiceConnect @Override public Object invoke(Object proxy, final Method method, final Object[] args) throws Throwable { if (method.getDeclaringClass().equals(tClass)) { - runOncePossible(new Runnable() { - @Override - public void run() { - try { - Object asInterface = Class.forName(tClass.getName() + "$Stub").getMethod("asInterface", IBinder.class).invoke(null, remote); - method.invoke(asInterface, args); - } catch (Exception e) { - Log.w(TAG, e); - } + runOncePossible(() -> { + try { + Object asInterface = Class.forName(tClass.getName() + "$Stub").getMethod("asInterface", IBinder.class).invoke(null, remote); + method.invoke(asInterface, args); + } catch (Exception e) { + Log.w(TAG, e); } }); connect(); diff --git a/play-services-core/src/main/java/org/microg/gms/common/Utils.java b/play-services-core/src/main/java/org/microg/gms/common/Utils.java index bd6b891c..e13700a5 100644 --- a/play-services-core/src/main/java/org/microg/gms/common/Utils.java +++ b/play-services-core/src/main/java/org/microg/gms/common/Utils.java @@ -18,7 +18,7 @@ package org.microg.gms.common; import android.content.Context; import android.util.Log; -import android.widget.Toast; + import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; diff --git a/play-services-core/src/main/java/org/microg/gms/gcm/GcmPrefs.java b/play-services-core/src/main/java/org/microg/gms/gcm/GcmPrefs.java index b552ff86..a59bc60d 100644 --- a/play-services-core/src/main/java/org/microg/gms/gcm/GcmPrefs.java +++ b/play-services-core/src/main/java/org/microg/gms/gcm/GcmPrefs.java @@ -21,9 +21,10 @@ import android.content.Intent; import android.content.SharedPreferences; import android.net.ConnectivityManager; import android.net.NetworkInfo; -import android.preference.PreferenceManager; import android.util.Log; +import androidx.preference.PreferenceManager; + import java.util.Arrays; import java.util.Collections; import java.util.List; diff --git a/play-services-core/src/main/java/org/microg/gms/gcm/McsInputStream.java b/play-services-core/src/main/java/org/microg/gms/gcm/McsInputStream.java index c1913ba3..75374e50 100644 --- a/play-services-core/src/main/java/org/microg/gms/gcm/McsInputStream.java +++ b/play-services-core/src/main/java/org/microg/gms/gcm/McsInputStream.java @@ -20,7 +20,6 @@ import android.os.Handler; import android.util.Log; import com.squareup.wire.Message; -import com.squareup.wire.Wire; import org.microg.gms.gcm.mcs.Close; import org.microg.gms.gcm.mcs.DataMessageStanza; diff --git a/play-services-core/src/main/java/org/microg/gms/gcm/McsService.java b/play-services-core/src/main/java/org/microg/gms/gcm/McsService.java index c18a3e56..9a459d00 100644 --- a/play-services-core/src/main/java/org/microg/gms/gcm/McsService.java +++ b/play-services-core/src/main/java/org/microg/gms/gcm/McsService.java @@ -72,7 +72,6 @@ import okio.ByteString; import static android.app.AlarmManager.ELAPSED_REALTIME_WAKEUP; import static android.os.Build.VERSION.SDK_INT; -import static org.microg.gms.common.ForegroundServiceContext.EXTRA_FOREGROUND; import static org.microg.gms.gcm.GcmConstants.ACTION_C2DM_RECEIVE; import static org.microg.gms.gcm.GcmConstants.EXTRA_APP; import static org.microg.gms.gcm.GcmConstants.EXTRA_COLLAPSE_KEY; @@ -647,11 +646,8 @@ public class McsService extends Service implements Handler.Callback { } private void handleOutputDone(android.os.Message msg) { - switch (msg.arg1) { - case MCS_HEARTBEAT_PING_TAG: - wakeLock.release(); - break; - default: + if (msg.arg1 == MCS_HEARTBEAT_PING_TAG) { + wakeLock.release(); } } diff --git a/play-services-core/src/main/java/org/microg/gms/gcm/UnregisterReceiver.java b/play-services-core/src/main/java/org/microg/gms/gcm/UnregisterReceiver.java index bba2e414..ebc3cf72 100644 --- a/play-services-core/src/main/java/org/microg/gms/gcm/UnregisterReceiver.java +++ b/play-services-core/src/main/java/org/microg/gms/gcm/UnregisterReceiver.java @@ -28,19 +28,16 @@ public class UnregisterReceiver extends BroadcastReceiver { Log.d(TAG, "Package removed or data cleared: " + packageName); final GcmDatabase.App app = database.getApp(packageName); if (app != null) { - new Thread(new Runnable() { - @Override - public void run() { - List registrations = database.getRegistrationsByApp(packageName); - boolean deletedAll = true; - for (GcmDatabase.Registration registration : registrations) { - deletedAll &= PushRegisterManager.unregister(context, registration.packageName, registration.signature, null, null).deleted != null; - } - if (deletedAll) { - database.removeApp(packageName); - } - database.close(); + new Thread(() -> { + List registrations = database.getRegistrationsByApp(packageName); + boolean deletedAll = true; + for (GcmDatabase.Registration registration : registrations) { + deletedAll &= PushRegisterManager.unregister(context, registration.packageName, registration.signature, null, null).deleted != null; } + if (deletedAll) { + database.removeApp(packageName); + } + database.close(); }).start(); } else { database.close(); diff --git a/play-services-core/src/main/java/org/microg/gms/gservices/DatabaseHelper.java b/play-services-core/src/main/java/org/microg/gms/gservices/DatabaseHelper.java index 9aa1ee4b..74554610 100644 --- a/play-services-core/src/main/java/org/microg/gms/gservices/DatabaseHelper.java +++ b/play-services-core/src/main/java/org/microg/gms/gservices/DatabaseHelper.java @@ -75,7 +75,7 @@ public class DatabaseHelper extends SQLiteOpenHelper { } public Map search(String search) { - Map map = new HashMap(); + Map map = new HashMap<>(); Cursor cursor = getReadableDatabase().query("overrides", new String[]{"name", "value"}, "name LIKE ?", new String[]{search}, null, null, null, null); if (cursor != null) { diff --git a/play-services-core/src/main/java/org/microg/gms/gservices/GServicesProvider.java b/play-services-core/src/main/java/org/microg/gms/gservices/GServicesProvider.java index 698836cb..d1bc56ed 100644 --- a/play-services-core/src/main/java/org/microg/gms/gservices/GServicesProvider.java +++ b/play-services-core/src/main/java/org/microg/gms/gservices/GServicesProvider.java @@ -46,8 +46,8 @@ public class GServicesProvider extends ContentProvider { private static final String TAG = "GmsServicesProvider"; private DatabaseHelper databaseHelper; - private Map cache = new HashMap(); - private Set cachedPrefixes = new HashSet(); + private Map cache = new HashMap<>(); + private Set cachedPrefixes = new HashSet<>(); @Override public boolean onCreate() { diff --git a/play-services-core/src/main/java/org/microg/gms/measurement/MeasurementBrokerService.java b/play-services-core/src/main/java/org/microg/gms/measurement/MeasurementBrokerService.java index 49dcda79..04495420 100644 --- a/play-services-core/src/main/java/org/microg/gms/measurement/MeasurementBrokerService.java +++ b/play-services-core/src/main/java/org/microg/gms/measurement/MeasurementBrokerService.java @@ -16,12 +16,10 @@ package org.microg.gms.measurement; -import android.os.RemoteException; -import android.util.Log; +import android.os.RemoteException; -import com.google.android.gms.common.api.CommonStatusCodes; -import com.google.android.gms.common.api.Status; -import com.google.android.gms.common.internal.GetServiceRequest; +import com.google.android.gms.common.api.CommonStatusCodes; +import com.google.android.gms.common.internal.GetServiceRequest; import com.google.android.gms.common.internal.IGmsCallbacks; import org.microg.gms.BaseService; diff --git a/play-services-core/src/main/java/org/microg/gms/people/DatabaseHelper.java b/play-services-core/src/main/java/org/microg/gms/people/DatabaseHelper.java index 29527e38..a15d4cca 100644 --- a/play-services-core/src/main/java/org/microg/gms/people/DatabaseHelper.java +++ b/play-services-core/src/main/java/org/microg/gms/people/DatabaseHelper.java @@ -22,8 +22,6 @@ import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; -import java.util.Set; - public class DatabaseHelper extends SQLiteOpenHelper { private static final int DB_VERSION = 5; private static final String DB_NAME = "pluscontacts.db"; diff --git a/play-services-core/src/main/java/org/microg/gms/people/PeopleManager.java b/play-services-core/src/main/java/org/microg/gms/people/PeopleManager.java index 1450fba3..c7ed2c0e 100644 --- a/play-services-core/src/main/java/org/microg/gms/people/PeopleManager.java +++ b/play-services-core/src/main/java/org/microg/gms/people/PeopleManager.java @@ -17,7 +17,6 @@ package org.microg.gms.people; import android.accounts.Account; -import android.accounts.AccountManager; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; @@ -25,10 +24,8 @@ import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.util.Log; -import org.json.JSONException; import org.json.JSONObject; import org.microg.gms.auth.AuthManager; -import org.microg.gms.auth.AuthRequest; import org.microg.gms.auth.AuthResponse; import org.microg.gms.common.Constants; import org.microg.gms.common.Utils; diff --git a/play-services-core/src/main/java/org/microg/gms/people/PeopleServiceImpl.java b/play-services-core/src/main/java/org/microg/gms/people/PeopleServiceImpl.java index d68e23d2..dbccb1c8 100644 --- a/play-services-core/src/main/java/org/microg/gms/people/PeopleServiceImpl.java +++ b/play-services-core/src/main/java/org/microg/gms/people/PeopleServiceImpl.java @@ -16,11 +16,9 @@ package org.microg.gms.people; -import android.Manifest; import android.accounts.Account; import android.accounts.AccountManager; import android.content.Context; -import android.content.pm.PackageManager; import android.database.Cursor; import android.os.Bundle; import android.os.Parcel; @@ -118,23 +116,20 @@ public class PeopleServiceImpl extends IPeopleService.Stub { public ICancelToken loadOwnerAvatar(final IPeopleCallbacks callbacks, final String account, String pageId, int size, int flags) { Log.d(TAG, "loadOwnerAvatar: " + account + ", " + pageId + ", " + size + ", " + flags); PackageUtils.assertExtendedAccess(context); - final Thread thread = new Thread(new Runnable() { - @Override - public void run() { - Bundle extras = new Bundle(); - extras.putBoolean("rewindable", false); - extras.putInt("width", 0); - extras.putInt("height", 0); - File avaterFile = PeopleManager.getOwnerAvaterFile(context, account, true); - try { - ParcelFileDescriptor fileDescriptor = null; - if (avaterFile != null) { - fileDescriptor = ParcelFileDescriptor.open(avaterFile, ParcelFileDescriptor.MODE_READ_ONLY); - } - callbacks.onParcelFileDescriptor(0, extras, fileDescriptor, extras); - } catch (Exception e) { - Log.w(TAG, e); + final Thread thread = new Thread(() -> { + Bundle extras = new Bundle(); + extras.putBoolean("rewindable", false); + extras.putInt("width", 0); + extras.putInt("height", 0); + File avaterFile = PeopleManager.getOwnerAvaterFile(context, account, true); + try { + ParcelFileDescriptor fileDescriptor = null; + if (avaterFile != null) { + fileDescriptor = ParcelFileDescriptor.open(avaterFile, ParcelFileDescriptor.MODE_READ_ONLY); } + callbacks.onParcelFileDescriptor(0, extras, fileDescriptor, extras); + } catch (Exception e) { + Log.w(TAG, e); } }); thread.start(); diff --git a/play-services-core/src/main/java/org/microg/gms/ui/AboutFragment.java b/play-services-core/src/main/java/org/microg/gms/ui/AboutFragment.java index 9623e7ac..a4100de7 100755 --- a/play-services-core/src/main/java/org/microg/gms/ui/AboutFragment.java +++ b/play-services-core/src/main/java/org/microg/gms/ui/AboutFragment.java @@ -18,8 +18,6 @@ package org.microg.gms.ui; import androidx.fragment.app.Fragment; -import com.mgoogle.android.gms.BuildConfig; - import org.microg.tools.ui.AbstractAboutFragment; import org.microg.tools.ui.AbstractSettingsActivity; diff --git a/play-services-core/src/main/java/org/microg/gms/ui/AccountSettingsActivity.java b/play-services-core/src/main/java/org/microg/gms/ui/AccountSettingsActivity.java index 6408e6c7..0804d384 100755 --- a/play-services-core/src/main/java/org/microg/gms/ui/AccountSettingsActivity.java +++ b/play-services-core/src/main/java/org/microg/gms/ui/AccountSettingsActivity.java @@ -28,7 +28,6 @@ import androidx.preference.Preference; import com.mgoogle.android.gms.R; import org.microg.gms.auth.AuthConstants; -import org.microg.gms.auth.AuthManager; import org.microg.tools.ui.AbstractSettingsActivity; import org.microg.tools.ui.ResourceSettingsFragment; diff --git a/play-services-core/src/main/java/org/microg/gms/ui/AskPushPermission.java b/play-services-core/src/main/java/org/microg/gms/ui/AskPushPermission.java index 8e5014bc..bd1d4f37 100755 --- a/play-services-core/src/main/java/org/microg/gms/ui/AskPushPermission.java +++ b/play-services-core/src/main/java/org/microg/gms/ui/AskPushPermission.java @@ -5,7 +5,6 @@ import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.os.Bundle; import android.text.Html; -import android.view.View; import android.widget.TextView; import androidx.fragment.app.FragmentActivity; @@ -58,30 +57,19 @@ public class AskPushPermission extends FragmentActivity { CharSequence label = pm.getApplicationLabel(info); ((TextView) findViewById(R.id.permission_message)).setText(Html.fromHtml("Allow " + label + " to register for push notifications?")); - findViewById(R.id.permission_allow_button).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (answered) return; - database.noteAppKnown(packageName, true); - answered = true; - new Thread(new Runnable() { - @Override - public void run() { - PushRegisterService.registerAndReply(AskPushPermission.this, database, intent, packageName, requestId); - } - }).start(); - finish(); - } + findViewById(R.id.permission_allow_button).setOnClickListener(v -> { + if (answered) return; + database.noteAppKnown(packageName, true); + answered = true; + new Thread(() -> PushRegisterService.registerAndReply(AskPushPermission.this, database, intent, packageName, requestId)).start(); + finish(); }); - findViewById(R.id.permission_deny_button).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (answered) return; - database.noteAppKnown(packageName, false); - answered = true; - PushRegisterService.replyNotAvailable(AskPushPermission.this, intent, packageName, requestId); - finish(); - } + findViewById(R.id.permission_deny_button).setOnClickListener(v -> { + if (answered) return; + database.noteAppKnown(packageName, false); + answered = true; + PushRegisterService.replyNotAvailable(AskPushPermission.this, intent, packageName, requestId); + finish(); }); } catch (PackageManager.NameNotFoundException e) { finish(); diff --git a/play-services-core/src/main/java/org/microg/gms/ui/Conditions.java b/play-services-core/src/main/java/org/microg/gms/ui/Conditions.java index a1d54823..fa47e1be 100755 --- a/play-services-core/src/main/java/org/microg/gms/ui/Conditions.java +++ b/play-services-core/src/main/java/org/microg/gms/ui/Conditions.java @@ -16,30 +16,17 @@ package org.microg.gms.ui; -import android.app.Activity; import android.content.Context; import android.content.Intent; import android.net.Uri; -import android.os.Build; import android.os.PowerManager; import android.provider.Settings; -import android.view.View; - -import androidx.core.app.ActivityCompat; -import androidx.core.content.ContextCompat; import com.mgoogle.android.gms.R; import org.microg.gms.gcm.GcmPrefs; import org.microg.tools.ui.Condition; -import static android.Manifest.permission.ACCESS_COARSE_LOCATION; -import static android.Manifest.permission.ACCESS_FINE_LOCATION; -import static android.Manifest.permission.GET_ACCOUNTS; -import static android.Manifest.permission.READ_EXTERNAL_STORAGE; -import static android.Manifest.permission.READ_PHONE_STATE; -import static android.Manifest.permission.WRITE_EXTERNAL_STORAGE; -import static android.content.pm.PackageManager.PERMISSION_GRANTED; import static android.os.Build.VERSION.SDK_INT; public class Conditions { @@ -55,14 +42,11 @@ public class Conditions { return !pm.isIgnoringBatteryOptimizations(context.getPackageName()); } }) - .firstAction(R.string.cond_gcm_bat_action, new View.OnClickListener() { - @Override - public void onClick(View v) { - if (SDK_INT < 23) return; - Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS); - intent.setData(Uri.parse("package:" + v.getContext().getPackageName())); - v.getContext().startActivity(intent); - } + .firstAction(R.string.cond_gcm_bat_action, v -> { + if (SDK_INT < 23) return; + Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS); + intent.setData(Uri.parse("package:" + v.getContext().getPackageName())); + v.getContext().startActivity(intent); }).build(); } diff --git a/play-services-core/src/main/java/org/microg/gms/ui/SettingsFragment.java b/play-services-core/src/main/java/org/microg/gms/ui/SettingsFragment.java index e8bcd0ee..6c9a0a33 100755 --- a/play-services-core/src/main/java/org/microg/gms/ui/SettingsFragment.java +++ b/play-services-core/src/main/java/org/microg/gms/ui/SettingsFragment.java @@ -3,7 +3,6 @@ package org.microg.gms.ui; import android.os.Bundle; import androidx.annotation.Nullable; -import androidx.navigation.NavOptions; import androidx.navigation.fragment.NavHostFragment; import com.mgoogle.android.gms.R; diff --git a/play-services-core/src/main/java/org/microg/tools/AccountPickerActivity.java b/play-services-core/src/main/java/org/microg/tools/AccountPickerActivity.java index 09fa611a..4c596f32 100755 --- a/play-services-core/src/main/java/org/microg/tools/AccountPickerActivity.java +++ b/play-services-core/src/main/java/org/microg/tools/AccountPickerActivity.java @@ -20,7 +20,6 @@ import android.app.Activity; import android.content.ComponentName; import android.content.Intent; import android.os.Bundle; -import android.util.Log; /** * This is just an activity that forwards to the systems native account picker diff --git a/play-services-core/src/main/kotlin/org/microg/gms/provision/ProvisionService.kt b/play-services-core/src/main/kotlin/org/microg/gms/provision/ProvisionService.kt index 4fff1603..e454bde3 100755 --- a/play-services-core/src/main/kotlin/org/microg/gms/provision/ProvisionService.kt +++ b/play-services-core/src/main/kotlin/org/microg/gms/provision/ProvisionService.kt @@ -24,7 +24,7 @@ class ProvisionService : LifecycleService() { super.onStartCommand(intent, flags, startId) lifecycleScope.launchWhenStarted { intent?.extras?.let { - val s = it.keySet().map { key -> "$key = ${it[key]}" }.joinToString(", ") + val s = it.keySet().joinToString(", ") { key -> "$key = ${it[key]}" } Log.d(TAG, "Provisioning: $s") } diff --git a/play-services-core/src/main/kotlin/org/microg/gms/ui/Utils.kt b/play-services-core/src/main/kotlin/org/microg/gms/ui/Utils.kt index 0d3c421b..69d526d7 100644 --- a/play-services-core/src/main/kotlin/org/microg/gms/ui/Utils.kt +++ b/play-services-core/src/main/kotlin/org/microg/gms/ui/Utils.kt @@ -8,7 +8,6 @@ package org.microg.gms.ui import android.content.Context import android.content.pm.ApplicationInfo import android.content.pm.PackageManager -import android.os.Build import android.os.Bundle import android.provider.Settings import android.util.Log diff --git a/play-services-core/src/main/res/drawable-hdpi/ic_generic_man.png b/play-services-core/src/main/res/drawable-hdpi/ic_generic_man.png index b6b3129f..e1e34623 100644 Binary files a/play-services-core/src/main/res/drawable-hdpi/ic_generic_man.png and b/play-services-core/src/main/res/drawable-hdpi/ic_generic_man.png differ diff --git a/play-services-core/src/main/res/drawable-mdpi/ic_generic_man.png b/play-services-core/src/main/res/drawable-mdpi/ic_generic_man.png index f763dd25..63c44cb9 100644 Binary files a/play-services-core/src/main/res/drawable-mdpi/ic_generic_man.png and b/play-services-core/src/main/res/drawable-mdpi/ic_generic_man.png differ diff --git a/play-services-core/src/main/res/drawable-xhdpi/ic_generic_man.png b/play-services-core/src/main/res/drawable-xhdpi/ic_generic_man.png index 212293db..ddff09ee 100644 Binary files a/play-services-core/src/main/res/drawable-xhdpi/ic_generic_man.png and b/play-services-core/src/main/res/drawable-xhdpi/ic_generic_man.png differ diff --git a/play-services-core/src/main/res/drawable-xhdpi/proprietary_auth_ic_scope_icon_default.png b/play-services-core/src/main/res/drawable-xhdpi/proprietary_auth_ic_scope_icon_default.png index 56a1b802..b07b6f21 100644 Binary files a/play-services-core/src/main/res/drawable-xhdpi/proprietary_auth_ic_scope_icon_default.png and b/play-services-core/src/main/res/drawable-xhdpi/proprietary_auth_ic_scope_icon_default.png differ diff --git a/play-services-core/src/main/res/drawable-xxhdpi/ic_generic_man.png b/play-services-core/src/main/res/drawable-xxhdpi/ic_generic_man.png index 130c670c..fa4ffad9 100644 Binary files a/play-services-core/src/main/res/drawable-xxhdpi/ic_generic_man.png and b/play-services-core/src/main/res/drawable-xxhdpi/ic_generic_man.png differ diff --git a/play-services-core/src/main/res/drawable/dots_horizontal.xml b/play-services-core/src/main/res/drawable/dots_horizontal.xml index 4110aed7..be436712 100755 --- a/play-services-core/src/main/res/drawable/dots_horizontal.xml +++ b/play-services-core/src/main/res/drawable/dots_horizontal.xml @@ -1,14 +1,9 @@ - - + android:pathData="M6,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2zM18,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2zM12,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2z" /> diff --git a/play-services-core/src/main/res/drawable/ic_add_account.xml b/play-services-core/src/main/res/drawable/ic_add_account.xml index 1ff91a0e..9d33d75d 100644 --- a/play-services-core/src/main/res/drawable/ic_add_account.xml +++ b/play-services-core/src/main/res/drawable/ic_add_account.xml @@ -1,14 +1,9 @@ - - - + android:fillColor="#000000" + android:pathData="M15,12c2.21,0 4,-1.79 4,-4s-1.79,-4 -4,-4 -4,1.79 -4,4 1.79,4 4,4zM6,10L6,7L4,7v3L1,10v2h3v3h2v-3h3v-2L6,10zM15,14c-2.67,0 -8,1.34 -8,4v2h16v-2c0,-2.66 -5.33,-4 -8,-4z" /> diff --git a/play-services-core/src/main/res/drawable/ic_device_login.xml b/play-services-core/src/main/res/drawable/ic_device_login.xml index c0bce50c..4ca91e6f 100644 --- a/play-services-core/src/main/res/drawable/ic_device_login.xml +++ b/play-services-core/src/main/res/drawable/ic_device_login.xml @@ -1,12 +1,9 @@ - - - + android:pathData="M10,17V14H3V10H10V7L15,12L10,17M10,2H19A2,2 0 0,1 21,4V20A2,2 0 0,1 19,22H10A2,2 0 0,1 8,20V18H10V20H19V4H10V6H8V4A2,2 0 0,1 10,2Z" /> + \ No newline at end of file diff --git a/play-services-core/src/main/res/drawable/ic_expand_apps.xml b/play-services-core/src/main/res/drawable/ic_expand_apps.xml index 20634f05..34d81694 100755 --- a/play-services-core/src/main/res/drawable/ic_expand_apps.xml +++ b/play-services-core/src/main/res/drawable/ic_expand_apps.xml @@ -1,19 +1,10 @@ - - - - + android:viewportWidth="24" + android:viewportHeight="24"> + android:fillColor="#000000" + android:pathData="M10,6L8.59,7.41 13.17,12l-4.58,4.59L10,18l6,-6z" /> diff --git a/play-services-core/src/main/res/drawable/ic_info_outline.xml b/play-services-core/src/main/res/drawable/ic_info_outline.xml index 8e049cce..419edc7a 100755 --- a/play-services-core/src/main/res/drawable/ic_info_outline.xml +++ b/play-services-core/src/main/res/drawable/ic_info_outline.xml @@ -1,17 +1,9 @@ - - - + android:viewportWidth="24" + android:viewportHeight="24"> + android:fillColor="#000000" + android:pathData="M11,7h2v2h-2zM11,11h2v6h-2zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8z" /> diff --git a/play-services-core/src/main/res/mipmap-hdpi/ic_launcher.png b/play-services-core/src/main/res/mipmap-hdpi/ic_launcher.png index 31758af3..077f5708 100644 Binary files a/play-services-core/src/main/res/mipmap-hdpi/ic_launcher.png and b/play-services-core/src/main/res/mipmap-hdpi/ic_launcher.png differ diff --git a/play-services-core/src/main/res/mipmap-xhdpi/ic_launcher.png b/play-services-core/src/main/res/mipmap-xhdpi/ic_launcher.png index 6aec4d5a..477a9803 100644 Binary files a/play-services-core/src/main/res/mipmap-xhdpi/ic_launcher.png and b/play-services-core/src/main/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/play-services-core/src/main/res/mipmap-xxhdpi/ic_launcher.png b/play-services-core/src/main/res/mipmap-xxhdpi/ic_launcher.png index f8dedac2..d58580dd 100644 Binary files a/play-services-core/src/main/res/mipmap-xxhdpi/ic_launcher.png and b/play-services-core/src/main/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/play-services-core/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/play-services-core/src/main/res/mipmap-xxxhdpi/ic_launcher.png index efbb9ac4..a077676a 100644 Binary files a/play-services-core/src/main/res/mipmap-xxxhdpi/ic_launcher.png and b/play-services-core/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/play-services-core/src/main/res/xml/preferences_account.xml b/play-services-core/src/main/res/xml/preferences_account.xml index 32aa3ae9..b3049888 100755 --- a/play-services-core/src/main/res/xml/preferences_account.xml +++ b/play-services-core/src/main/res/xml/preferences_account.xml @@ -18,12 +18,12 @@ - - - - - - -