Compare commits

...

3 Commits

Author SHA1 Message Date
akwizgran
9d96ce6db0 Bump version numbers for 1.2.9 release. 2020-07-04 22:40:58 +01:00
akwizgran
45fb5bb445 Merge branch 'expiry-overflow-bug' into 'master'
Fix overflow in expiry warning code, bypass expiry code in release builds

See merge request briar/briar!1259
2020-07-04 21:38:22 +00:00
akwizgran
0756d92ca1 Fix overflow in expiry warning code, bypass code in release builds. 2020-07-04 22:23:06 +01:00
5 changed files with 15 additions and 17 deletions

View File

@@ -11,8 +11,8 @@ android {
defaultConfig { defaultConfig {
minSdkVersion 16 minSdkVersion 16
targetSdkVersion 28 targetSdkVersion 28
versionCode 10208 versionCode 10209
versionName "1.2.8" versionName "1.2.9"
consumerProguardFiles 'proguard-rules.txt' consumerProguardFiles 'proguard-rules.txt'
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

View File

@@ -22,8 +22,8 @@ android {
defaultConfig { defaultConfig {
minSdkVersion 16 minSdkVersion 16
targetSdkVersion 28 targetSdkVersion 28
versionCode 10208 versionCode 10209
versionName "1.2.8" versionName "1.2.9"
applicationId "org.briarproject.briar.android" applicationId "org.briarproject.briar.android"
buildConfigField "String", "GitHash", buildConfigField "String", "GitHash",
"\"${getStdout(['git', 'rev-parse', '--short=7', 'HEAD'], 'No commit hash')}\"" "\"${getStdout(['git', 'rev-parse', '--short=7', 'HEAD'], 'No commit hash')}\""

View File

@@ -71,6 +71,7 @@ import static org.briarproject.bramble.api.plugin.Plugin.State.ACTIVE;
import static org.briarproject.bramble.api.plugin.Plugin.State.ENABLING; import static org.briarproject.bramble.api.plugin.Plugin.State.ENABLING;
import static org.briarproject.bramble.api.plugin.Plugin.State.STARTING_STOPPING; import static org.briarproject.bramble.api.plugin.Plugin.State.STARTING_STOPPING;
import static org.briarproject.briar.android.BriarService.EXTRA_STARTUP_FAILED; import static org.briarproject.briar.android.BriarService.EXTRA_STARTUP_FAILED;
import static org.briarproject.briar.android.TestingConstants.IS_DEBUG_BUILD;
import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_PASSWORD; import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_PASSWORD;
import static org.briarproject.briar.android.navdrawer.IntentRouter.handleExternalIntent; import static org.briarproject.briar.android.navdrawer.IntentRouter.handleExternalIntent;
import static org.briarproject.briar.android.util.UiUtils.getDaysUntilExpiry; import static org.briarproject.briar.android.util.UiUtils.getDaysUntilExpiry;
@@ -128,8 +129,10 @@ public class NavDrawerActivity extends BriarActivity implements
navDrawerViewModel = provider.get(NavDrawerViewModel.class); navDrawerViewModel = provider.get(NavDrawerViewModel.class);
pluginViewModel = provider.get(PluginViewModel.class); pluginViewModel = provider.get(PluginViewModel.class);
navDrawerViewModel.showExpiryWarning() if (IS_DEBUG_BUILD) {
.observe(this, this::showExpiryWarning); navDrawerViewModel.showExpiryWarning()
.observe(this, this::showExpiryWarning);
}
navDrawerViewModel.shouldAskForDozeWhitelisting().observe(this, ask -> { navDrawerViewModel.shouldAskForDozeWhitelisting().observe(this, ask -> {
if (ask) showDozeDialog(getString(R.string.setup_doze_intro)); if (ask) showDozeDialog(getString(R.string.setup_doze_intro));
}); });
@@ -171,7 +174,7 @@ public class NavDrawerActivity extends BriarActivity implements
public void onStart() { public void onStart() {
super.onStart(); super.onStart();
lockManager.checkIfLockable(); lockManager.checkIfLockable();
navDrawerViewModel.checkExpiryWarning(); if (IS_DEBUG_BUILD) navDrawerViewModel.checkExpiryWarning();
} }
@Override @Override
@@ -350,7 +353,7 @@ public class NavDrawerActivity extends BriarActivity implements
} }
private void showExpiryWarning(boolean show) { private void showExpiryWarning(boolean show) {
int daysUntilExpiry = getDaysUntilExpiry(); long daysUntilExpiry = getDaysUntilExpiry();
if (daysUntilExpiry < 0) { if (daysUntilExpiry < 0) {
signOut(); signOut();
return; return;
@@ -362,7 +365,8 @@ public class NavDrawerActivity extends BriarActivity implements
TextView expiryWarningText = TextView expiryWarningText =
expiryWarning.findViewById(R.id.expiryWarningText); expiryWarning.findViewById(R.id.expiryWarningText);
String text = getResources().getQuantityString( String text = getResources().getQuantityString(
R.plurals.expiry_warning, daysUntilExpiry, daysUntilExpiry); R.plurals.expiry_warning, (int) daysUntilExpiry,
(int) daysUntilExpiry);
expiryWarningText.setText(text); expiryWarningText.setText(text);
// make close button functional // make close button functional
ImageView expiryWarningClose = ImageView expiryWarningClose =

View File

@@ -23,7 +23,6 @@ import static java.util.logging.Level.WARNING;
import static java.util.logging.Logger.getLogger; import static java.util.logging.Logger.getLogger;
import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.bramble.util.LogUtils.logException;
import static org.briarproject.briar.android.TestingConstants.EXPIRY_DATE; import static org.briarproject.briar.android.TestingConstants.EXPIRY_DATE;
import static org.briarproject.briar.android.TestingConstants.IS_DEBUG_BUILD;
import static org.briarproject.briar.android.controller.BriarControllerImpl.DOZE_ASK_AGAIN; import static org.briarproject.briar.android.controller.BriarControllerImpl.DOZE_ASK_AGAIN;
import static org.briarproject.briar.android.settings.SettingsFragment.SETTINGS_NAMESPACE; import static org.briarproject.briar.android.settings.SettingsFragment.SETTINGS_NAMESPACE;
import static org.briarproject.briar.android.util.UiUtils.needsDozeWhitelisting; import static org.briarproject.briar.android.util.UiUtils.needsDozeWhitelisting;
@@ -59,10 +58,6 @@ public class NavDrawerViewModel extends AndroidViewModel {
@UiThread @UiThread
void checkExpiryWarning() { void checkExpiryWarning() {
if (!IS_DEBUG_BUILD) {
showExpiryWarning.setValue(false);
return;
}
dbExecutor.execute(() -> { dbExecutor.execute(() -> {
try { try {
Settings settings = Settings settings =

View File

@@ -159,10 +159,9 @@ public class UiUtils {
return DateUtils.formatDateTime(ctx, time, flags); return DateUtils.formatDateTime(ctx, time, flags);
} }
public static int getDaysUntilExpiry() { public static long getDaysUntilExpiry() {
long now = System.currentTimeMillis(); long now = System.currentTimeMillis();
long daysBeforeExpiry = (EXPIRY_DATE - now) / DAYS.toMillis(1); return (EXPIRY_DATE - now) / DAYS.toMillis(1);
return (int) daysBeforeExpiry;
} }
public static SpannableStringBuilder getTeaser(Context ctx, Spanned text) { public static SpannableStringBuilder getTeaser(Context ctx, Spanned text) {