From 8bb1d444c6a9ee0c22acbbff059688f3a87ef52c Mon Sep 17 00:00:00 2001 From: Ernir Erlingsson <ernir@ymirmobile.com> Date: Fri, 29 Apr 2016 11:47:50 +0200 Subject: [PATCH] interlude --- briar-android/proguard-rules.txt | 18 ++++++-- .../briarproject/android/ActivityModule.java | 8 ++-- .../briarproject/android/SetupActivity.java | 4 +- .../android/util/StrengthMeter.java | 14 ++++--- .../activity/SetupActivityTest.java | 42 +++++++++++++++++-- .../activity/TestActivityModule.java | 19 --------- .../controller/SetupControllerTest.java | 2 + 7 files changed, 72 insertions(+), 35 deletions(-) delete mode 100644 briar-android/test/java/briarproject/activity/TestActivityModule.java diff --git a/briar-android/proguard-rules.txt b/briar-android/proguard-rules.txt index df28bc5075..8ff4600e0c 100644 --- a/briar-android/proguard-rules.txt +++ b/briar-android/proguard-rules.txt @@ -3,6 +3,7 @@ -dontpreverify -dontobfuscate -verbose +-useuniqueclassmembernames -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* # For comfortability in case we do obfuscate # -renamesourcefileattribute SourceFile @@ -48,9 +49,20 @@ -keep class roboguice.** { *; } -keep class dagger.** { *; } -keep class com.google.** { *; } --keep class javax.** { *; } --keep class org.eclipse.** { *; } --keep class com.squareup.** { *; } + +-dontwarn org.hamcrest.** +-dontwarn com.squareup.** +-dontwarn com.google.android.** + +-keep class com.google.android.** { + *; +} +-keep class com.google.common.** { + *; +} +-keep class org.hamcrest.** { + *; +} -dontwarn org.h2.** -dontnote org.h2.** diff --git a/briar-android/src/org/briarproject/android/ActivityModule.java b/briar-android/src/org/briarproject/android/ActivityModule.java index 70d3b00ab5..36c31ef981 100644 --- a/briar-android/src/org/briarproject/android/ActivityModule.java +++ b/briar-android/src/org/briarproject/android/ActivityModule.java @@ -54,8 +54,9 @@ public class ActivityModule { @ActivityScope @Provides - protected SetupController provideSetupController() { - return new SetupControllerImp(); + protected SetupController provideSetupController( + SetupControllerImp setupControllerImp) { + return setupControllerImp; } @ActivityScope @@ -147,7 +148,8 @@ public class ActivityModule { @Provides @Named("IntroductionMessageFragment") IntroductionMessageFragment provideIntroductionMessageFragment() { - IntroductionMessageFragment fragment = new IntroductionMessageFragment(); + IntroductionMessageFragment fragment = + new IntroductionMessageFragment(); fragment.setArguments(new Bundle()); return fragment; } diff --git a/briar-android/src/org/briarproject/android/SetupActivity.java b/briar-android/src/org/briarproject/android/SetupActivity.java index c3cb01cb31..a08d23be14 100644 --- a/briar-android/src/org/briarproject/android/SetupActivity.java +++ b/briar-android/src/org/briarproject/android/SetupActivity.java @@ -27,6 +27,8 @@ import javax.inject.Inject; import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK; import static android.view.View.INVISIBLE; import static android.view.View.VISIBLE; +import static org.briarproject.android.TestingConstants.PREVENT_SCREENSHOTS; +import static android.view.WindowManager.LayoutParams.FLAG_SECURE; import static org.briarproject.api.crypto.PasswordStrengthEstimator.WEAK; import static org.briarproject.api.identity.AuthorConstants.MAX_AUTHOR_NAME_LENGTH; @@ -64,7 +66,7 @@ public class SetupActivity extends BaseActivity implements OnClickListener, createAccountButton = (Button) findViewById(R.id.create_account); progress = (ProgressBar) findViewById(R.id.progress_wheel); -// if (PREVENT_SCREENSHOTS) getWindow().addFlags(FLAG_SECURE); + if (PREVENT_SCREENSHOTS) getWindow().addFlags(FLAG_SECURE); TextWatcher tw = new TextWatcher() { @Override diff --git a/briar-android/src/org/briarproject/android/util/StrengthMeter.java b/briar-android/src/org/briarproject/android/util/StrengthMeter.java index eee1e54739..83fb20b8f1 100644 --- a/briar-android/src/org/briarproject/android/util/StrengthMeter.java +++ b/briar-android/src/org/briarproject/android/util/StrengthMeter.java @@ -23,11 +23,11 @@ import static org.briarproject.api.crypto.PasswordStrengthEstimator.WEAK; public class StrengthMeter extends ProgressBar { private static final int MAX = 100; - private static final int RED = Color.rgb(255, 0, 0); - private static final int ORANGE = Color.rgb(255, 160, 0); - private static final int YELLOW = Color.rgb(255, 255, 0); - private static final int LIME = Color.rgb(180, 255, 0); - private static final int GREEN = Color.rgb(0, 255, 0); + public static final int RED = Color.rgb(255, 0, 0); + public static final int ORANGE = Color.rgb(255, 160, 0); + public static final int YELLOW = Color.rgb(255, 255, 0); + public static final int LIME = Color.rgb(180, 255, 0); + public static final int GREEN = Color.rgb(0, 255, 0); private final ShapeDrawable bar; @@ -57,6 +57,10 @@ public class StrengthMeter extends ProgressBar { return MAX; } + public int getColor() { + return bar.getPaint().getColor(); + } + public void setStrength(float strength) { if (strength < 0 || strength > 1) throw new IllegalArgumentException(); int colour; diff --git a/briar-android/test/java/briarproject/activity/SetupActivityTest.java b/briar-android/test/java/briarproject/activity/SetupActivityTest.java index a730cf91f8..86a640d27d 100644 --- a/briar-android/test/java/briarproject/activity/SetupActivityTest.java +++ b/briar-android/test/java/briarproject/activity/SetupActivityTest.java @@ -4,20 +4,29 @@ import android.support.design.widget.TextInputLayout; import android.widget.Button; import android.widget.EditText; +import com.google.common.base.Strings; + import org.briarproject.BuildConfig; import org.briarproject.R; import org.briarproject.android.ActivityModule; import org.briarproject.android.SetupActivity; +import org.briarproject.android.controller.SetupController; +import org.briarproject.android.controller.SetupControllerImp; import org.briarproject.android.util.StrengthMeter; +import org.briarproject.api.crypto.PasswordStrengthEstimator; +import org.briarproject.api.identity.AuthorConstants; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.Mockito; import org.robolectric.Robolectric; import org.robolectric.RobolectricGradleTestRunner; import org.robolectric.annotation.Config; +import static junit.framework.Assert.assertEquals; + @RunWith(RobolectricGradleTestRunner.class) -@Config(constants = BuildConfig.class, sdk = 22) +@Config(constants = BuildConfig.class, sdk = 21) public class SetupActivityTest { private SetupActivity setupActivity; @@ -34,7 +43,22 @@ public class SetupActivityTest { @Override protected ActivityModule getActivityModule() { - return super.getActivityModule(); + return new ActivityModule(this) { + + @Override + protected SetupController provideSetupController( + SetupControllerImp setupControllerImp) { + SetupController setupController = + Mockito.mock(SetupControllerImp.class); + Mockito.when( + setupController.estimatePasswordStrength("strong")) + .thenReturn(PasswordStrengthEstimator.STRONG); +// Mockito.when( +// setupController.estimatePasswordStrength("qstrong")) +// .thenReturn(PasswordStrengthEstimator.QUITE_STRONG); + return setupController; + } + }; } } @@ -57,13 +81,23 @@ public class SetupActivityTest { (StrengthMeter) setupActivity.findViewById(R.id.strength_meter); createAccountButton = (Button) setupActivity.findViewById(R.id.create_account); - } @Test public void test() { + String longNick = + Strings.padEnd("*", AuthorConstants.MAX_AUTHOR_NAME_LENGTH + 1, + '*'); + nicknameEntry.setText(longNick); + assertEquals(nicknameEntryWrapper.getError(), + setupActivity.getString(R.string.name_too_long)); + passwordEntry.setText("strong"); + assertEquals(strengthMeter.getProgress(), + strengthMeter.getMax() * PasswordStrengthEstimator.STRONG); - +// passwordEntry.setText("strong"); +// assertEquals(StrengthMeter.GREEN, strengthMeter.getColor()); +// setupActivity. } } diff --git a/briar-android/test/java/briarproject/activity/TestActivityModule.java b/briar-android/test/java/briarproject/activity/TestActivityModule.java deleted file mode 100644 index e5eba02f29..0000000000 --- a/briar-android/test/java/briarproject/activity/TestActivityModule.java +++ /dev/null @@ -1,19 +0,0 @@ -package briarproject.activity; - -import org.briarproject.android.ActivityModule; -import org.briarproject.android.BaseActivity; - -public class TestActivityModule extends ActivityModule { - - public TestActivityModule(BaseActivity activity) { - super(activity); - } - - - /* - @Override - protected SetupController provideSetupController( - SetupControllerImp setupControllerImp) { - } - */ -} diff --git a/briar-android/test/java/briarproject/controller/SetupControllerTest.java b/briar-android/test/java/briarproject/controller/SetupControllerTest.java index 8564a73939..85bcfe8095 100644 --- a/briar-android/test/java/briarproject/controller/SetupControllerTest.java +++ b/briar-android/test/java/briarproject/controller/SetupControllerTest.java @@ -8,6 +8,8 @@ import javax.inject.Inject; public class SetupControllerTest extends BriarTestCase { + + @Inject SetupController setupController; -- GitLab