diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e9f618773..f4cf5716e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -17,7 +17,7 @@ test: script: - ./gradlew --no-daemon -Djava.security.egd=file:/dev/urandom animalSnifferMain animalSnifferTest - - ./gradlew --no-daemon -Djava.security.egd=file:/dev/urandom test + - ./gradlew --no-daemon -Djava.security.egd=file:/dev/urandom check compileOfficialDebugAndroidTestSources compileScreenshotDebugAndroidTestSources after_script: # these file change every time but should not be cached diff --git a/bramble-android/build.gradle b/bramble-android/build.gradle index 9a5846d30..04338e101 100644 --- a/bramble-android/build.gradle +++ b/bramble-android/build.gradle @@ -22,6 +22,14 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } + + lintOptions { + // FIXME + warning "LintError" + warning "InvalidPackage" + warning "MissingPermission" + warning "InlinedApi", "ObsoleteSdkInt", "Override", "NewApi", "UnusedAttribute" + } } configurations { diff --git a/briar-android/build.gradle b/briar-android/build.gradle index 82839bf55..59922dd05 100644 --- a/briar-android/build.gradle +++ b/briar-android/build.gradle @@ -82,6 +82,8 @@ android { warning 'MissingTranslation' warning 'ImpliedQuantity' warning 'ExtraTranslation' + // FIXME + warning 'InvalidPackage' } } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/KeyAgreementActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/KeyAgreementActivity.java index 0b51309ee..5184300ba 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/KeyAgreementActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/KeyAgreementActivity.java @@ -213,7 +213,7 @@ public abstract class KeyAgreementActivity extends BriarActivity implements if (bt.getScanMode() == SCAN_MODE_CONNECTABLE_DISCOVERABLE) setBluetoothState(BluetoothState.DISCOVERABLE); } - } + } else super.onActivityResult(request, result, data); } private void showQrCodeFragment() { diff --git a/briar-android/src/main/java/org/briarproject/briar/android/util/UiUtils.java b/briar-android/src/main/java/org/briarproject/briar/android/util/UiUtils.java index 69238438b..b3b8e71f3 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/util/UiUtils.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/util/UiUtils.java @@ -3,25 +3,11 @@ package org.briarproject.briar.android.util; import android.annotation.SuppressLint; import android.annotation.TargetApi; import android.app.KeyguardManager; -import androidx.lifecycle.LifecycleOwner; -import androidx.lifecycle.LiveData; -import androidx.lifecycle.Observer; import android.content.Context; import android.content.DialogInterface.OnClickListener; import android.content.Intent; import android.net.Uri; import android.os.PowerManager; -import androidx.annotation.AttrRes; -import androidx.annotation.ColorInt; -import androidx.annotation.ColorRes; -import androidx.annotation.Nullable; -import androidx.annotation.RequiresApi; -import androidx.annotation.UiThread; -import com.google.android.material.textfield.TextInputLayout; -import androidx.fragment.app.FragmentManager; -import androidx.core.content.ContextCompat; -import androidx.core.hardware.fingerprint.FingerprintManagerCompat; -import androidx.appcompat.app.AlertDialog; import android.text.Html; import android.text.Spannable; import android.text.SpannableString; @@ -39,6 +25,8 @@ import android.view.View; import android.view.inputmethod.InputMethodManager; import android.widget.TextView; +import com.google.android.material.textfield.TextInputLayout; + import org.acra.ACRA; import org.briarproject.bramble.api.contact.Contact; import org.briarproject.bramble.api.contact.ContactId; @@ -50,6 +38,20 @@ import org.briarproject.briar.R; import org.briarproject.briar.android.view.ArticleMovementMethod; import org.briarproject.briar.android.widget.LinkDialogFragment; +import androidx.annotation.AttrRes; +import androidx.annotation.ColorInt; +import androidx.annotation.ColorRes; +import androidx.annotation.Nullable; +import androidx.annotation.RequiresApi; +import androidx.annotation.UiThread; +import androidx.appcompat.app.AlertDialog; +import androidx.core.content.ContextCompat; +import androidx.core.hardware.fingerprint.FingerprintManagerCompat; +import androidx.fragment.app.FragmentManager; +import androidx.lifecycle.LifecycleOwner; +import androidx.lifecycle.LiveData; +import androidx.lifecycle.Observer; + import static android.content.Context.KEYGUARD_SERVICE; import static android.content.Context.POWER_SERVICE; import static android.content.Intent.CATEGORY_DEFAULT; @@ -57,13 +59,6 @@ import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK; import static android.os.Build.MANUFACTURER; import static android.os.Build.VERSION.SDK_INT; import static android.provider.Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS; -import static androidx.core.content.ContextCompat.getSystemService; -import static androidx.core.view.ViewCompat.LAYOUT_DIRECTION_RTL; -import static androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_AUTO; -import static androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM; -import static androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_NO; -import static androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_YES; -import static androidx.appcompat.app.AppCompatDelegate.setDefaultNightMode; import static android.text.format.DateUtils.DAY_IN_MILLIS; import static android.text.format.DateUtils.FORMAT_ABBREV_ALL; import static android.text.format.DateUtils.FORMAT_ABBREV_MONTH; @@ -79,6 +74,13 @@ import static android.view.KeyEvent.ACTION_DOWN; import static android.view.KeyEvent.KEYCODE_ENTER; import static android.view.inputmethod.EditorInfo.IME_NULL; import static android.view.inputmethod.InputMethodManager.SHOW_IMPLICIT; +import static androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_AUTO_TIME; +import static androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM; +import static androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_NO; +import static androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_YES; +import static androidx.appcompat.app.AppCompatDelegate.setDefaultNightMode; +import static androidx.core.content.ContextCompat.getSystemService; +import static androidx.core.view.ViewCompat.LAYOUT_DIRECTION_RTL; import static java.util.Objects.requireNonNull; import static org.briarproject.briar.BuildConfig.APPLICATION_ID; import static org.briarproject.briar.android.TestingConstants.EXPIRY_DATE; @@ -296,7 +298,8 @@ public class UiUtils { setDefaultNightMode(MODE_NIGHT_YES); } else if (theme .equals(ctx.getString(R.string.pref_theme_auto_value))) { - setDefaultNightMode(MODE_NIGHT_AUTO); + // TODO remove AUTO-setting as it is deprecated + setDefaultNightMode(MODE_NIGHT_AUTO_TIME); } else if (theme .equals(ctx.getString(R.string.pref_theme_system_value))) { setDefaultNightMode(MODE_NIGHT_FOLLOW_SYSTEM); diff --git a/briar-android/src/main/res/values-ko/strings.xml b/briar-android/src/main/res/values-ko/strings.xml index 4e2e77073..47d92fb71 100644 --- a/briar-android/src/main/res/values-ko/strings.xml +++ b/briar-android/src/main/res/values-ko/strings.xml @@ -280,7 +280,7 @@ %s이(가) 포럼 초대장을 거절했습니다. 공유 상태 포럼의 어느 구성원이든 연락처와 공유할 수 있습니다. 다음 연락처와 포럼을 공유하고 있습니다. 볼 수 없는 구성원이 더 있을 수 있습니다. - 와(과) 공유하고 있습니다.(%1$d명 온라인) + 와(과) 공유하고 있습니다.(%1$d %2$d명 온라인) 연락처와 공유한 %d개의 포럼 diff --git a/briar-android/src/screenshotDebug/AndroidManifest.xml b/briar-android/src/screenshotDebug/AndroidManifest.xml index a35a0a5e5..d3e565327 100644 --- a/briar-android/src/screenshotDebug/AndroidManifest.xml +++ b/briar-android/src/screenshotDebug/AndroidManifest.xml @@ -1,17 +1,19 @@ - + - - + + - +