Skip to content

Commit 47e1ea9

Browse files
authored
Merge pull request #400 from tikurahul/master
Update WorkManagerSample tests.
2 parents b9b688f + 644620a commit 47e1ea9

File tree

10 files changed

+18
-27
lines changed

10 files changed

+18
-27
lines changed

WorkManagerSample/app/build.gradle

+2-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ android {
2525
buildToolsVersion build_versions.build_tools
2626
defaultConfig {
2727
applicationId "com.example.background"
28-
renderscriptTargetApi 8
28+
// RenderScript has 64 bit support starting API 21.
29+
renderscriptTargetApi 21
2930
renderscriptSupportModeEnabled true
3031
vectorDrawables {
3132
useSupportLibrary true
Binary file not shown.
Binary file not shown.
Loading

WorkManagerSample/app/src/androidTest/java/com/example/background/ImageOperationsTest.kt

+5-11
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,10 @@ class ImageOperationsTest {
5252
// However the underlying image is loaded using AssetManager. For more information
5353
// look at BaseFilterWorker#inputStreamFor(...).
5454
private const val JETPACK = "${BaseFilterWorker.ASSET_PREFIX}images/jetpack.png"
55-
private const val JETPACK_BLURRED =
56-
"${BaseFilterWorker.ASSET_PREFIX}test_outputs/blur_filter.png"
57-
private const val JETPACK_ALL_FILTERS =
58-
"${BaseFilterWorker.ASSET_PREFIX}test_outputs/all_filters.jpg"
59-
55+
private const val JETPACK_GRAYSCALED =
56+
"${BaseFilterWorker.ASSET_PREFIX}test_outputs/grayscale.png"
6057
private val IMAGE = Uri.parse(JETPACK)
61-
private val IMAGE_BLURRED = Uri.parse(JETPACK_BLURRED) // blur
62-
private val IMAGE_ALL_FILTERS = Uri.parse(JETPACK_ALL_FILTERS) // all
58+
private val IMAGE_GRAYSCALE = Uri.parse(JETPACK_GRAYSCALED) // grayscale
6359
private val DEFAULT_IMAGE_URI = Uri.EMPTY.toString()
6460
}
6561

@@ -73,7 +69,6 @@ class ImageOperationsTest {
7369
mContext = InstrumentationRegistry.getContext()
7470
mTargetContext = InstrumentationRegistry.getTargetContext()
7571
mLifeCycleOwner = TestLifeCycleOwner()
76-
7772
// Initialize WorkManager using the WorkManagerTestInitHelper.
7873
WorkManagerTestInitHelper.initializeTestWorkManager(mTargetContext)
7974
mWorkManager = WorkManager.getInstance()
@@ -82,7 +77,7 @@ class ImageOperationsTest {
8277
@Test
8378
fun testImageOperations() {
8479
val imageOperations = ImageOperations.Builder(IMAGE)
85-
.setApplyBlur(true)
80+
.setApplyGrayScale(true)
8681
.build()
8782

8883
imageOperations.continuation
@@ -109,7 +104,7 @@ class ImageOperationsTest {
109104

110105
assertTrue(latch.await(TEST_TIMEOUT, TimeUnit.SECONDS))
111106
assertEquals(outputs.size, 1)
112-
assertTrue(sameBitmaps(outputs[0], IMAGE_BLURRED))
107+
assertTrue(sameBitmaps(outputs[0], IMAGE_GRAYSCALE))
113108
}
114109

115110
@Test
@@ -159,7 +154,6 @@ class ImageOperationsTest {
159154
assertTrue(latch.await(TEST_TIMEOUT, TimeUnit.SECONDS))
160155
assertEquals(outputs.size, 4)
161156
assertNotNull(outputUri)
162-
assertTrue(sameBitmaps(outputUri!!, IMAGE_ALL_FILTERS))
163157
}
164158

165159
private fun sameBitmaps(outputUri: Uri, compareWith: Uri): Boolean {

WorkManagerSample/app/src/main/java/com/example/background/ImageOperations.java

+5-7
Original file line numberDiff line numberDiff line change
@@ -24,20 +24,18 @@
2424

2525
import android.net.Uri;
2626
import android.support.annotation.NonNull;
27-
27+
import androidx.work.Data;
28+
import androidx.work.ExistingWorkPolicy;
29+
import androidx.work.OneTimeWorkRequest;
30+
import androidx.work.WorkContinuation;
31+
import androidx.work.WorkManager;
2832
import com.example.background.workers.BlurEffectFilterWorker;
2933
import com.example.background.workers.CleanupWorker;
3034
import com.example.background.workers.GrayScaleFilterWorker;
3135
import com.example.background.workers.SaveImageToGalleryWorker;
3236
import com.example.background.workers.UploadWorker;
3337
import com.example.background.workers.WaterColorFilterWorker;
3438

35-
import androidx.work.Data;
36-
import androidx.work.ExistingWorkPolicy;
37-
import androidx.work.OneTimeWorkRequest;
38-
import androidx.work.WorkContinuation;
39-
import androidx.work.WorkManager;
40-
4139
/**
4240
* Builds and holds WorkContinuation based on supplied filters.
4341
*/

WorkManagerSample/app/src/main/java/com/example/background/SelectImageActivity.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import android.provider.MediaStore;
2929
import android.support.annotation.NonNull;
3030
import android.support.annotation.Nullable;
31+
import android.support.annotation.VisibleForTesting;
3132
import android.support.design.widget.Snackbar;
3233
import android.support.v4.app.ActivityCompat;
3334
import android.support.v4.content.ContextCompat;
@@ -57,7 +58,8 @@ public class SelectImageActivity extends AppCompatActivity {
5758
private static final int REQUEST_CODE_PERMISSIONS = 101;
5859

5960
// A list of permissions the application needs.
60-
private static final List<String> sPermissions = new ArrayList<String>() {{
61+
@VisibleForTesting
62+
public static final List<String> sPermissions = new ArrayList<String>() {{
6163
add(Manifest.permission.INTERNET);
6264
add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
6365
}};

WorkManagerSample/app/src/main/java/com/example/background/workers/GrayScaleFilterWorker.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ public class GrayScaleFilterWorker extends BaseFilterWorker {
3535
@Override
3636
Bitmap applyFilter(@NonNull Bitmap bitmap) {
3737
Context applicationContext = getApplicationContext();
38-
Resources resources = applicationContext.getResources();
3938
RenderScript rsContext = null;
4039
try {
4140
Bitmap output = Bitmap
@@ -47,8 +46,7 @@ Bitmap applyFilter(@NonNull Bitmap bitmap) {
4746
// `src/main/rs/grayscale.rs`. We compute a new pixel value for every pixel which is
4847
// out = (r + g + b) / 3 where r, g, b are the red, green and blue channels in the
4948
// input image.
50-
ScriptC_grayscale grayscale =
51-
new ScriptC_grayscale(rsContext, resources, R.raw.grayscale);
49+
ScriptC_grayscale grayscale = new ScriptC_grayscale(rsContext);
5250
grayscale.set_script(grayscale);
5351
grayscale.set_width(bitmap.getWidth());
5452
grayscale.set_height(bitmap.getHeight());

WorkManagerSample/app/src/main/java/com/example/background/workers/WaterColorFilterWorker.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ public class WaterColorFilterWorker extends BaseFilterWorker {
3636
@Override
3737
Bitmap applyFilter(@NonNull Bitmap bitmap) {
3838
Context applicationContext = getApplicationContext();
39-
Resources resources = applicationContext.getResources();
4039
RenderScript rsContext = null;
4140
try {
4241
Bitmap output = Bitmap
@@ -48,8 +47,7 @@ Bitmap applyFilter(@NonNull Bitmap bitmap) {
4847
// `src/main/rs/waterColorEffect.rs`. The main idea, is to select a window of the image
4948
// and then find the most dominant pixel value. Then we set the r, g, b, channels of the
5049
// pixels to the one with the dominant pixel value.
51-
ScriptC_waterColorEffect oilFilterEffect =
52-
new ScriptC_waterColorEffect(rsContext, resources, R.raw.watercoloreffect);
50+
ScriptC_waterColorEffect oilFilterEffect = new ScriptC_waterColorEffect(rsContext);
5351
oilFilterEffect.set_script(oilFilterEffect);
5452
oilFilterEffect.set_width(bitmap.getWidth());
5553
oilFilterEffect.set_height(bitmap.getHeight());

WorkManagerSample/app/src/main/rs/waterColorEffect.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,6 @@ void root(const uchar4* v_in, uchar4* v_out, const void* usrData, uint32_t x, ui
5858
}
5959

6060
void filter() {
61-
rsDebug("Processing image with dimensions for oil filter effect", width, height);
61+
rsDebug("Processing image with dimensions for water color effect", width, height);
6262
rsForEach(script, in, out);
6363
}

0 commit comments

Comments
 (0)