Merge branch 'master' into feature/pkpass

This commit is contained in:
Sylvia van Os
2020-02-21 15:33:12 +01:00
committed by GitHub
9 changed files with 254 additions and 80 deletions

View File

@@ -71,7 +71,7 @@ public class ImportExportActivityTest
if(isInstalled)
{
registerIntentHandler(Intent.ACTION_PICK);
registerIntentHandler(Intent.ACTION_GET_CONTENT);
}
Activity activity = Robolectric.setupActivity(ImportExportActivity.class);
@@ -102,7 +102,7 @@ public class ImportExportActivityTest
if(isInstalled)
{
registerIntentHandler(Intent.ACTION_GET_CONTENT);
registerIntentHandler(Intent.ACTION_PICK);
}
Activity activity = Robolectric.setupActivity(ImportExportActivity.class);

View File

@@ -1,6 +1,7 @@
package protect.card_locker;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.robolectric.Shadows.shadowOf;
@@ -22,6 +23,7 @@ import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.core.widget.TextViewCompat;
import com.google.zxing.BarcodeFormat;
@@ -728,6 +730,68 @@ public class LoyaltyCardViewActivityTest
assertEquals(true, item.isVisible());
}
@Test
public void checkBarcodeFullscreenWorkflow()
ActivityController activityController = createActivityWithLoyaltyCard(false);
Activity activity = (Activity)activityController.get();
DBHelper db = new DBHelper(activity);
db.insertLoyaltyCard("store", "note", BARCODE_DATA, BARCODE_TYPE, Color.BLACK, Color.WHITE);
activityController.start();
activityController.visible();
activityController.resume();
assertEquals(false, activity.isFinishing());
ImageView barcodeImage = activity.findViewById(R.id.barcode);
View collapsingToolbarLayout = activity.findViewById(R.id.collapsingToolbarLayout);
// Android should not be in fullscreen mode
int uiOptions = activity.getWindow().getDecorView().getSystemUiVisibility();
assertNotEquals(uiOptions | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY, uiOptions);
assertNotEquals(uiOptions | View.SYSTEM_UI_FLAG_FULLSCREEN, uiOptions);
// Elements should be visible
assertEquals(View.VISIBLE, collapsingToolbarLayout.getVisibility());
// Click barcode to toggle fullscreen
barcodeImage.performClick();
// Android should be in fullscreen mode
uiOptions = activity.getWindow().getDecorView().getSystemUiVisibility();
assertEquals(uiOptions | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY, uiOptions);
assertEquals(uiOptions | View.SYSTEM_UI_FLAG_FULLSCREEN, uiOptions);
// Elements should not be visible
assertEquals(View.GONE, collapsingToolbarLayout.getVisibility());
// Clicking barcode again should deactivate fullscreen mode
barcodeImage.performClick();
uiOptions = activity.getWindow().getDecorView().getSystemUiVisibility();
assertNotEquals(uiOptions | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY, uiOptions);
assertNotEquals(uiOptions | View.SYSTEM_UI_FLAG_FULLSCREEN, uiOptions);
assertEquals(View.VISIBLE, collapsingToolbarLayout.getVisibility());
// Another click back to fullscreen
barcodeImage.performClick();
uiOptions = activity.getWindow().getDecorView().getSystemUiVisibility();
assertEquals(uiOptions | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY, uiOptions);
assertEquals(uiOptions | View.SYSTEM_UI_FLAG_FULLSCREEN, uiOptions);
assertEquals(View.GONE, collapsingToolbarLayout.getVisibility());
// In full screen mode, back button should disable fullscreen
activity.onBackPressed();
uiOptions = activity.getWindow().getDecorView().getSystemUiVisibility();
assertNotEquals(uiOptions | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY, uiOptions);
assertNotEquals(uiOptions | View.SYSTEM_UI_FLAG_FULLSCREEN, uiOptions);
assertEquals(View.VISIBLE, collapsingToolbarLayout.getVisibility());
// Pressing back when not in full screen should finish activity
activity.onBackPressed();
assertEquals(true, activity.isFinishing());
}
@Test
public void importCard()
{