Loading services/core/java/com/android/server/wm/LetterboxConfiguration.java +9 −10 Original line number Diff line number Diff line Loading @@ -294,8 +294,7 @@ final class LetterboxConfiguration { @NonNull private final SynchedDeviceConfig mDeviceConfig; LetterboxConfiguration(@NonNull final Context systemUiContext) { this(systemUiContext, new LetterboxConfigurationPersister(systemUiContext, this(systemUiContext, new LetterboxConfigurationPersister( () -> readLetterboxHorizontalReachabilityPositionFromConfig( systemUiContext, /* forBookMode */ false), () -> readLetterboxVerticalReachabilityPositionFromConfig( Loading services/core/java/com/android/server/wm/LetterboxConfigurationPersister.java +20 −27 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; import android.annotation.NonNull; import android.annotation.Nullable; import android.content.Context; import android.os.Environment; import android.os.StrictMode; import android.os.StrictMode.ThreadPolicy; Loading Loading @@ -53,10 +52,8 @@ class LetterboxConfigurationPersister { private static final String TAG = TAG_WITH_CLASS_NAME ? "LetterboxConfigurationPersister" : TAG_WM; @VisibleForTesting static final String LETTERBOX_CONFIGURATION_FILENAME = "letterbox_config"; private static final String LETTERBOX_CONFIGURATION_FILENAME = "letterbox_config"; private final Context mContext; private final Supplier<Integer> mDefaultHorizontalReachabilitySupplier; private final Supplier<Integer> mDefaultVerticalReachabilitySupplier; private final Supplier<Integer> mDefaultBookModeReachabilitySupplier; Loading Loading @@ -97,36 +94,32 @@ class LetterboxConfigurationPersister { @NonNull private final PersisterQueue mPersisterQueue; LetterboxConfigurationPersister(Context systemUiContext, Supplier<Integer> defaultHorizontalReachabilitySupplier, Supplier<Integer> defaultVerticalReachabilitySupplier, Supplier<Integer> defaultBookModeReachabilitySupplier, Supplier<Integer> defaultTabletopModeReachabilitySupplier) { this(systemUiContext, defaultHorizontalReachabilitySupplier, defaultVerticalReachabilitySupplier, defaultBookModeReachabilitySupplier, defaultTabletopModeReachabilitySupplier, LetterboxConfigurationPersister( @NonNull Supplier<Integer> defaultHorizontalReachabilitySupplier, @NonNull Supplier<Integer> defaultVerticalReachabilitySupplier, @NonNull Supplier<Integer> defaultBookModeReachabilitySupplier, @NonNull Supplier<Integer> defaultTabletopModeReachabilitySupplier) { this(defaultHorizontalReachabilitySupplier, defaultVerticalReachabilitySupplier, defaultBookModeReachabilitySupplier, defaultTabletopModeReachabilitySupplier, Environment.getDataSystemDirectory(), new PersisterQueue(), /* completionCallback */ null); /* completionCallback */ null, LETTERBOX_CONFIGURATION_FILENAME); } @VisibleForTesting LetterboxConfigurationPersister(Context systemUiContext, Supplier<Integer> defaultHorizontalReachabilitySupplier, Supplier<Integer> defaultVerticalReachabilitySupplier, Supplier<Integer> defaultBookModeReachabilitySupplier, Supplier<Integer> defaultTabletopModeReachabilitySupplier, File configFolder, PersisterQueue persisterQueue, @Nullable Consumer<String> completionCallback) { mContext = systemUiContext.createDeviceProtectedStorageContext(); LetterboxConfigurationPersister( @NonNull Supplier<Integer> defaultHorizontalReachabilitySupplier, @NonNull Supplier<Integer> defaultVerticalReachabilitySupplier, @NonNull Supplier<Integer> defaultBookModeReachabilitySupplier, @NonNull Supplier<Integer> defaultTabletopModeReachabilitySupplier, @NonNull File configFolder, @NonNull PersisterQueue persisterQueue, @Nullable Consumer<String> completionCallback, @NonNull String letterboxConfigurationFileName) { mDefaultHorizontalReachabilitySupplier = defaultHorizontalReachabilitySupplier; mDefaultVerticalReachabilitySupplier = defaultVerticalReachabilitySupplier; mDefaultBookModeReachabilitySupplier = defaultBookModeReachabilitySupplier; mDefaultTabletopModeReachabilitySupplier = defaultTabletopModeReachabilitySupplier; mDefaultBookModeReachabilitySupplier = defaultBookModeReachabilitySupplier; mDefaultTabletopModeReachabilitySupplier = defaultTabletopModeReachabilitySupplier; mCompletionCallback = completionCallback; final File prefFiles = new File(configFolder, LETTERBOX_CONFIGURATION_FILENAME); final File prefFiles = new File(configFolder, letterboxConfigurationFileName); mConfigurationFile = new AtomicFile(prefFiles); mPersisterQueue = persisterQueue; runWithDiskReadsThreadPolicy(this::readCurrentConfiguration); Loading services/tests/wmtests/src/com/android/server/wm/LetterboxConfigurationPersisterTest.java +54 −28 Original line number Diff line number Diff line Loading @@ -20,7 +20,6 @@ import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentat import static com.android.server.wm.LetterboxConfiguration.LETTERBOX_HORIZONTAL_REACHABILITY_POSITION_LEFT; import static com.android.server.wm.LetterboxConfiguration.LETTERBOX_VERTICAL_REACHABILITY_POSITION_TOP; import static com.android.server.wm.LetterboxConfigurationPersister.LETTERBOX_CONFIGURATION_FILENAME; import android.annotation.NonNull; import android.annotation.Nullable; Loading @@ -42,13 +41,26 @@ import org.junit.Test; import java.io.File; import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Consumer; import java.util.function.Supplier; /** * Tests for the {@link LetterboxConfigurationPersister} class. * * Build/Install/Run: * atest WmTests:LetterboxConfigurationPersisterTest */ @SmallTest @Presubmit public class LetterboxConfigurationPersisterTest { private static final long TIMEOUT = 2000L; // 2 secs private static final int DEFAULT_REACHABILITY_TEST = -1; private static final Supplier<Integer> DEFAULT_REACHABILITY_SUPPLIER_TEST = () -> DEFAULT_REACHABILITY_TEST; private static final String LETTERBOX_CONFIGURATION_TEST_FILENAME = "letterbox_config_test"; private LetterboxConfigurationPersister mLetterboxConfigurationPersister; private Context mContext; private PersisterQueue mPersisterQueue; Loading @@ -62,7 +74,7 @@ public class LetterboxConfigurationPersisterTest { mConfigFolder = mContext.getFilesDir(); mPersisterQueue = new PersisterQueue(); mQueueState = new QueueState(); mLetterboxConfigurationPersister = new LetterboxConfigurationPersister(mContext, mLetterboxConfigurationPersister = new LetterboxConfigurationPersister( () -> mContext.getResources().getInteger( R.integer.config_letterboxDefaultPositionForHorizontalReachability), () -> mContext.getResources().getInteger( Loading @@ -72,7 +84,8 @@ public class LetterboxConfigurationPersisterTest { () -> mContext.getResources().getInteger( R.integer.config_letterboxDefaultPositionForTabletopModeReachability ), mConfigFolder, mPersisterQueue, mQueueState); mConfigFolder, mPersisterQueue, mQueueState, LETTERBOX_CONFIGURATION_TEST_FILENAME); mQueueListener = queueEmpty -> mQueueState.onItemAdded(); mPersisterQueue.addListener(mQueueListener); mLetterboxConfigurationPersister.start(); Loading Loading @@ -127,8 +140,10 @@ public class LetterboxConfigurationPersisterTest { public void test_whenUpdatedWithNewValues_valuesAreReadAfterRestart() { final PersisterQueue firstPersisterQueue = new PersisterQueue(); final LetterboxConfigurationPersister firstPersister = new LetterboxConfigurationPersister( mContext, () -> -1, () -> -1, () -> -1, () -> -1, mContext.getFilesDir(), firstPersisterQueue, mQueueState); DEFAULT_REACHABILITY_SUPPLIER_TEST, DEFAULT_REACHABILITY_SUPPLIER_TEST, DEFAULT_REACHABILITY_SUPPLIER_TEST, DEFAULT_REACHABILITY_SUPPLIER_TEST, mContext.getFilesDir(), firstPersisterQueue, mQueueState, LETTERBOX_CONFIGURATION_TEST_FILENAME); firstPersister.start(); firstPersister.setLetterboxPositionForHorizontalReachability(false, LETTERBOX_HORIZONTAL_REACHABILITY_POSITION_LEFT); Loading @@ -138,8 +153,10 @@ public class LetterboxConfigurationPersisterTest { stopPersisterSafe(firstPersisterQueue); final PersisterQueue secondPersisterQueue = new PersisterQueue(); final LetterboxConfigurationPersister secondPersister = new LetterboxConfigurationPersister( mContext, () -> -1, () -> -1, () -> -1, () -> -1, mContext.getFilesDir(), secondPersisterQueue, mQueueState); DEFAULT_REACHABILITY_SUPPLIER_TEST, DEFAULT_REACHABILITY_SUPPLIER_TEST, DEFAULT_REACHABILITY_SUPPLIER_TEST, DEFAULT_REACHABILITY_SUPPLIER_TEST, mContext.getFilesDir(), secondPersisterQueue, mQueueState, LETTERBOX_CONFIGURATION_TEST_FILENAME); secondPersister.start(); final int newPositionForHorizontalReachability = secondPersister.getLetterboxPositionForHorizontalReachability(false); Loading @@ -156,37 +173,46 @@ public class LetterboxConfigurationPersisterTest { @Test public void test_whenUpdatedWithNewValuesAndDeleted_valuesAreDefaults() { mLetterboxConfigurationPersister.setLetterboxPositionForHorizontalReachability(false, final PersisterQueue firstPersisterQueue = new PersisterQueue(); final LetterboxConfigurationPersister firstPersister = new LetterboxConfigurationPersister( DEFAULT_REACHABILITY_SUPPLIER_TEST, DEFAULT_REACHABILITY_SUPPLIER_TEST, DEFAULT_REACHABILITY_SUPPLIER_TEST, DEFAULT_REACHABILITY_SUPPLIER_TEST, mContext.getFilesDir(), firstPersisterQueue, mQueueState, LETTERBOX_CONFIGURATION_TEST_FILENAME); firstPersister.start(); firstPersister.setLetterboxPositionForHorizontalReachability(false, LETTERBOX_HORIZONTAL_REACHABILITY_POSITION_LEFT); mLetterboxConfigurationPersister.setLetterboxPositionForVerticalReachability(false, firstPersister.setLetterboxPositionForVerticalReachability(false, LETTERBOX_VERTICAL_REACHABILITY_POSITION_TOP); waitForCompletion(mPersisterQueue); final int newPositionForHorizontalReachability = mLetterboxConfigurationPersister.getLetterboxPositionForHorizontalReachability( false); firstPersister.getLetterboxPositionForHorizontalReachability(false); final int newPositionForVerticalReachability = mLetterboxConfigurationPersister.getLetterboxPositionForVerticalReachability(false); firstPersister.getLetterboxPositionForVerticalReachability(false); Assert.assertEquals(LETTERBOX_HORIZONTAL_REACHABILITY_POSITION_LEFT, newPositionForHorizontalReachability); Assert.assertEquals(LETTERBOX_VERTICAL_REACHABILITY_POSITION_TOP, newPositionForVerticalReachability); deleteConfiguration(mLetterboxConfigurationPersister, mPersisterQueue); waitForCompletion(mPersisterQueue); deleteConfiguration(firstPersister, firstPersisterQueue); waitForCompletion(firstPersisterQueue); stopPersisterSafe(firstPersisterQueue); final PersisterQueue secondPersisterQueue = new PersisterQueue(); final LetterboxConfigurationPersister secondPersister = new LetterboxConfigurationPersister( DEFAULT_REACHABILITY_SUPPLIER_TEST, DEFAULT_REACHABILITY_SUPPLIER_TEST, DEFAULT_REACHABILITY_SUPPLIER_TEST, DEFAULT_REACHABILITY_SUPPLIER_TEST, mContext.getFilesDir(), secondPersisterQueue, mQueueState, LETTERBOX_CONFIGURATION_TEST_FILENAME); secondPersister.start(); final int positionForHorizontalReachability = mLetterboxConfigurationPersister.getLetterboxPositionForHorizontalReachability( false); final int defaultPositionForHorizontalReachability = mContext.getResources().getInteger( R.integer.config_letterboxDefaultPositionForHorizontalReachability); Assert.assertEquals(defaultPositionForHorizontalReachability, positionForHorizontalReachability); secondPersister.getLetterboxPositionForHorizontalReachability(false); final int positionForVerticalReachability = mLetterboxConfigurationPersister.getLetterboxPositionForVerticalReachability(false); final int defaultPositionForVerticalReachability = mContext.getResources().getInteger( R.integer.config_letterboxDefaultPositionForVerticalReachability); Assert.assertEquals(defaultPositionForVerticalReachability, positionForVerticalReachability); secondPersister.getLetterboxPositionForVerticalReachability(false); Assert.assertEquals(DEFAULT_REACHABILITY_TEST, positionForHorizontalReachability); Assert.assertEquals(DEFAULT_REACHABILITY_TEST, positionForVerticalReachability); deleteConfiguration(secondPersister, secondPersisterQueue); waitForCompletion(secondPersisterQueue); stopPersisterSafe(secondPersisterQueue); } private void stopPersisterSafe(PersisterQueue persisterQueue) { Loading Loading @@ -222,7 +248,7 @@ public class LetterboxConfigurationPersisterTest { private void deleteConfiguration(LetterboxConfigurationPersister persister, PersisterQueue persisterQueue) { final AtomicFile fileToDelete = new AtomicFile( new File(mConfigFolder, LETTERBOX_CONFIGURATION_FILENAME)); new File(mConfigFolder, LETTERBOX_CONFIGURATION_TEST_FILENAME)); persisterQueue.addItem( new DeleteFileCommand(fileToDelete, mQueueState.andThen( s -> persister.useDefaultValue())), true); Loading Loading
services/core/java/com/android/server/wm/LetterboxConfiguration.java +9 −10 Original line number Diff line number Diff line Loading @@ -294,8 +294,7 @@ final class LetterboxConfiguration { @NonNull private final SynchedDeviceConfig mDeviceConfig; LetterboxConfiguration(@NonNull final Context systemUiContext) { this(systemUiContext, new LetterboxConfigurationPersister(systemUiContext, this(systemUiContext, new LetterboxConfigurationPersister( () -> readLetterboxHorizontalReachabilityPositionFromConfig( systemUiContext, /* forBookMode */ false), () -> readLetterboxVerticalReachabilityPositionFromConfig( Loading
services/core/java/com/android/server/wm/LetterboxConfigurationPersister.java +20 −27 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; import android.annotation.NonNull; import android.annotation.Nullable; import android.content.Context; import android.os.Environment; import android.os.StrictMode; import android.os.StrictMode.ThreadPolicy; Loading Loading @@ -53,10 +52,8 @@ class LetterboxConfigurationPersister { private static final String TAG = TAG_WITH_CLASS_NAME ? "LetterboxConfigurationPersister" : TAG_WM; @VisibleForTesting static final String LETTERBOX_CONFIGURATION_FILENAME = "letterbox_config"; private static final String LETTERBOX_CONFIGURATION_FILENAME = "letterbox_config"; private final Context mContext; private final Supplier<Integer> mDefaultHorizontalReachabilitySupplier; private final Supplier<Integer> mDefaultVerticalReachabilitySupplier; private final Supplier<Integer> mDefaultBookModeReachabilitySupplier; Loading Loading @@ -97,36 +94,32 @@ class LetterboxConfigurationPersister { @NonNull private final PersisterQueue mPersisterQueue; LetterboxConfigurationPersister(Context systemUiContext, Supplier<Integer> defaultHorizontalReachabilitySupplier, Supplier<Integer> defaultVerticalReachabilitySupplier, Supplier<Integer> defaultBookModeReachabilitySupplier, Supplier<Integer> defaultTabletopModeReachabilitySupplier) { this(systemUiContext, defaultHorizontalReachabilitySupplier, defaultVerticalReachabilitySupplier, defaultBookModeReachabilitySupplier, defaultTabletopModeReachabilitySupplier, LetterboxConfigurationPersister( @NonNull Supplier<Integer> defaultHorizontalReachabilitySupplier, @NonNull Supplier<Integer> defaultVerticalReachabilitySupplier, @NonNull Supplier<Integer> defaultBookModeReachabilitySupplier, @NonNull Supplier<Integer> defaultTabletopModeReachabilitySupplier) { this(defaultHorizontalReachabilitySupplier, defaultVerticalReachabilitySupplier, defaultBookModeReachabilitySupplier, defaultTabletopModeReachabilitySupplier, Environment.getDataSystemDirectory(), new PersisterQueue(), /* completionCallback */ null); /* completionCallback */ null, LETTERBOX_CONFIGURATION_FILENAME); } @VisibleForTesting LetterboxConfigurationPersister(Context systemUiContext, Supplier<Integer> defaultHorizontalReachabilitySupplier, Supplier<Integer> defaultVerticalReachabilitySupplier, Supplier<Integer> defaultBookModeReachabilitySupplier, Supplier<Integer> defaultTabletopModeReachabilitySupplier, File configFolder, PersisterQueue persisterQueue, @Nullable Consumer<String> completionCallback) { mContext = systemUiContext.createDeviceProtectedStorageContext(); LetterboxConfigurationPersister( @NonNull Supplier<Integer> defaultHorizontalReachabilitySupplier, @NonNull Supplier<Integer> defaultVerticalReachabilitySupplier, @NonNull Supplier<Integer> defaultBookModeReachabilitySupplier, @NonNull Supplier<Integer> defaultTabletopModeReachabilitySupplier, @NonNull File configFolder, @NonNull PersisterQueue persisterQueue, @Nullable Consumer<String> completionCallback, @NonNull String letterboxConfigurationFileName) { mDefaultHorizontalReachabilitySupplier = defaultHorizontalReachabilitySupplier; mDefaultVerticalReachabilitySupplier = defaultVerticalReachabilitySupplier; mDefaultBookModeReachabilitySupplier = defaultBookModeReachabilitySupplier; mDefaultTabletopModeReachabilitySupplier = defaultTabletopModeReachabilitySupplier; mDefaultBookModeReachabilitySupplier = defaultBookModeReachabilitySupplier; mDefaultTabletopModeReachabilitySupplier = defaultTabletopModeReachabilitySupplier; mCompletionCallback = completionCallback; final File prefFiles = new File(configFolder, LETTERBOX_CONFIGURATION_FILENAME); final File prefFiles = new File(configFolder, letterboxConfigurationFileName); mConfigurationFile = new AtomicFile(prefFiles); mPersisterQueue = persisterQueue; runWithDiskReadsThreadPolicy(this::readCurrentConfiguration); Loading
services/tests/wmtests/src/com/android/server/wm/LetterboxConfigurationPersisterTest.java +54 −28 Original line number Diff line number Diff line Loading @@ -20,7 +20,6 @@ import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentat import static com.android.server.wm.LetterboxConfiguration.LETTERBOX_HORIZONTAL_REACHABILITY_POSITION_LEFT; import static com.android.server.wm.LetterboxConfiguration.LETTERBOX_VERTICAL_REACHABILITY_POSITION_TOP; import static com.android.server.wm.LetterboxConfigurationPersister.LETTERBOX_CONFIGURATION_FILENAME; import android.annotation.NonNull; import android.annotation.Nullable; Loading @@ -42,13 +41,26 @@ import org.junit.Test; import java.io.File; import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Consumer; import java.util.function.Supplier; /** * Tests for the {@link LetterboxConfigurationPersister} class. * * Build/Install/Run: * atest WmTests:LetterboxConfigurationPersisterTest */ @SmallTest @Presubmit public class LetterboxConfigurationPersisterTest { private static final long TIMEOUT = 2000L; // 2 secs private static final int DEFAULT_REACHABILITY_TEST = -1; private static final Supplier<Integer> DEFAULT_REACHABILITY_SUPPLIER_TEST = () -> DEFAULT_REACHABILITY_TEST; private static final String LETTERBOX_CONFIGURATION_TEST_FILENAME = "letterbox_config_test"; private LetterboxConfigurationPersister mLetterboxConfigurationPersister; private Context mContext; private PersisterQueue mPersisterQueue; Loading @@ -62,7 +74,7 @@ public class LetterboxConfigurationPersisterTest { mConfigFolder = mContext.getFilesDir(); mPersisterQueue = new PersisterQueue(); mQueueState = new QueueState(); mLetterboxConfigurationPersister = new LetterboxConfigurationPersister(mContext, mLetterboxConfigurationPersister = new LetterboxConfigurationPersister( () -> mContext.getResources().getInteger( R.integer.config_letterboxDefaultPositionForHorizontalReachability), () -> mContext.getResources().getInteger( Loading @@ -72,7 +84,8 @@ public class LetterboxConfigurationPersisterTest { () -> mContext.getResources().getInteger( R.integer.config_letterboxDefaultPositionForTabletopModeReachability ), mConfigFolder, mPersisterQueue, mQueueState); mConfigFolder, mPersisterQueue, mQueueState, LETTERBOX_CONFIGURATION_TEST_FILENAME); mQueueListener = queueEmpty -> mQueueState.onItemAdded(); mPersisterQueue.addListener(mQueueListener); mLetterboxConfigurationPersister.start(); Loading Loading @@ -127,8 +140,10 @@ public class LetterboxConfigurationPersisterTest { public void test_whenUpdatedWithNewValues_valuesAreReadAfterRestart() { final PersisterQueue firstPersisterQueue = new PersisterQueue(); final LetterboxConfigurationPersister firstPersister = new LetterboxConfigurationPersister( mContext, () -> -1, () -> -1, () -> -1, () -> -1, mContext.getFilesDir(), firstPersisterQueue, mQueueState); DEFAULT_REACHABILITY_SUPPLIER_TEST, DEFAULT_REACHABILITY_SUPPLIER_TEST, DEFAULT_REACHABILITY_SUPPLIER_TEST, DEFAULT_REACHABILITY_SUPPLIER_TEST, mContext.getFilesDir(), firstPersisterQueue, mQueueState, LETTERBOX_CONFIGURATION_TEST_FILENAME); firstPersister.start(); firstPersister.setLetterboxPositionForHorizontalReachability(false, LETTERBOX_HORIZONTAL_REACHABILITY_POSITION_LEFT); Loading @@ -138,8 +153,10 @@ public class LetterboxConfigurationPersisterTest { stopPersisterSafe(firstPersisterQueue); final PersisterQueue secondPersisterQueue = new PersisterQueue(); final LetterboxConfigurationPersister secondPersister = new LetterboxConfigurationPersister( mContext, () -> -1, () -> -1, () -> -1, () -> -1, mContext.getFilesDir(), secondPersisterQueue, mQueueState); DEFAULT_REACHABILITY_SUPPLIER_TEST, DEFAULT_REACHABILITY_SUPPLIER_TEST, DEFAULT_REACHABILITY_SUPPLIER_TEST, DEFAULT_REACHABILITY_SUPPLIER_TEST, mContext.getFilesDir(), secondPersisterQueue, mQueueState, LETTERBOX_CONFIGURATION_TEST_FILENAME); secondPersister.start(); final int newPositionForHorizontalReachability = secondPersister.getLetterboxPositionForHorizontalReachability(false); Loading @@ -156,37 +173,46 @@ public class LetterboxConfigurationPersisterTest { @Test public void test_whenUpdatedWithNewValuesAndDeleted_valuesAreDefaults() { mLetterboxConfigurationPersister.setLetterboxPositionForHorizontalReachability(false, final PersisterQueue firstPersisterQueue = new PersisterQueue(); final LetterboxConfigurationPersister firstPersister = new LetterboxConfigurationPersister( DEFAULT_REACHABILITY_SUPPLIER_TEST, DEFAULT_REACHABILITY_SUPPLIER_TEST, DEFAULT_REACHABILITY_SUPPLIER_TEST, DEFAULT_REACHABILITY_SUPPLIER_TEST, mContext.getFilesDir(), firstPersisterQueue, mQueueState, LETTERBOX_CONFIGURATION_TEST_FILENAME); firstPersister.start(); firstPersister.setLetterboxPositionForHorizontalReachability(false, LETTERBOX_HORIZONTAL_REACHABILITY_POSITION_LEFT); mLetterboxConfigurationPersister.setLetterboxPositionForVerticalReachability(false, firstPersister.setLetterboxPositionForVerticalReachability(false, LETTERBOX_VERTICAL_REACHABILITY_POSITION_TOP); waitForCompletion(mPersisterQueue); final int newPositionForHorizontalReachability = mLetterboxConfigurationPersister.getLetterboxPositionForHorizontalReachability( false); firstPersister.getLetterboxPositionForHorizontalReachability(false); final int newPositionForVerticalReachability = mLetterboxConfigurationPersister.getLetterboxPositionForVerticalReachability(false); firstPersister.getLetterboxPositionForVerticalReachability(false); Assert.assertEquals(LETTERBOX_HORIZONTAL_REACHABILITY_POSITION_LEFT, newPositionForHorizontalReachability); Assert.assertEquals(LETTERBOX_VERTICAL_REACHABILITY_POSITION_TOP, newPositionForVerticalReachability); deleteConfiguration(mLetterboxConfigurationPersister, mPersisterQueue); waitForCompletion(mPersisterQueue); deleteConfiguration(firstPersister, firstPersisterQueue); waitForCompletion(firstPersisterQueue); stopPersisterSafe(firstPersisterQueue); final PersisterQueue secondPersisterQueue = new PersisterQueue(); final LetterboxConfigurationPersister secondPersister = new LetterboxConfigurationPersister( DEFAULT_REACHABILITY_SUPPLIER_TEST, DEFAULT_REACHABILITY_SUPPLIER_TEST, DEFAULT_REACHABILITY_SUPPLIER_TEST, DEFAULT_REACHABILITY_SUPPLIER_TEST, mContext.getFilesDir(), secondPersisterQueue, mQueueState, LETTERBOX_CONFIGURATION_TEST_FILENAME); secondPersister.start(); final int positionForHorizontalReachability = mLetterboxConfigurationPersister.getLetterboxPositionForHorizontalReachability( false); final int defaultPositionForHorizontalReachability = mContext.getResources().getInteger( R.integer.config_letterboxDefaultPositionForHorizontalReachability); Assert.assertEquals(defaultPositionForHorizontalReachability, positionForHorizontalReachability); secondPersister.getLetterboxPositionForHorizontalReachability(false); final int positionForVerticalReachability = mLetterboxConfigurationPersister.getLetterboxPositionForVerticalReachability(false); final int defaultPositionForVerticalReachability = mContext.getResources().getInteger( R.integer.config_letterboxDefaultPositionForVerticalReachability); Assert.assertEquals(defaultPositionForVerticalReachability, positionForVerticalReachability); secondPersister.getLetterboxPositionForVerticalReachability(false); Assert.assertEquals(DEFAULT_REACHABILITY_TEST, positionForHorizontalReachability); Assert.assertEquals(DEFAULT_REACHABILITY_TEST, positionForVerticalReachability); deleteConfiguration(secondPersister, secondPersisterQueue); waitForCompletion(secondPersisterQueue); stopPersisterSafe(secondPersisterQueue); } private void stopPersisterSafe(PersisterQueue persisterQueue) { Loading Loading @@ -222,7 +248,7 @@ public class LetterboxConfigurationPersisterTest { private void deleteConfiguration(LetterboxConfigurationPersister persister, PersisterQueue persisterQueue) { final AtomicFile fileToDelete = new AtomicFile( new File(mConfigFolder, LETTERBOX_CONFIGURATION_FILENAME)); new File(mConfigFolder, LETTERBOX_CONFIGURATION_TEST_FILENAME)); persisterQueue.addItem( new DeleteFileCommand(fileToDelete, mQueueState.andThen( s -> persister.useDefaultValue())), true); Loading