Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e615b8fc authored by Johannes Gallmann's avatar Johannes Gallmann Committed by Android (Google) Code Review
Browse files

Merge "Add predictive back aconfig flag" into main

parents a919306d af960282
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.settings.development;

import static com.android.window.flags.Flags.predictiveBackSystemAnimations;

import android.content.Context;
import android.provider.Settings;

@@ -55,6 +57,11 @@ public class BackAnimationPreferenceController extends DeveloperOptionsPreferenc
        mFragment = fragment;
    }

    @Override
    public boolean isAvailable() {
        return !predictiveBackSystemAnimations();
    }

    @Override
    public String getPreferenceKey() {
        return BACK_NAVIGATION_ANIMATION_KEY;
+22 −0
Original line number Diff line number Diff line
@@ -29,6 +29,10 @@ import android.net.Uri;
import android.os.Handler;
import android.os.Looper;
import android.os.UserHandle;
import android.platform.test.annotations.RequiresFlagsDisabled;
import android.platform.test.annotations.RequiresFlagsEnabled;
import android.platform.test.flag.junit.CheckFlagsRule;
import android.platform.test.flag.junit.DeviceFlagsValueProvider;
import android.provider.Settings;

import androidx.preference.PreferenceManager;
@@ -37,8 +41,11 @@ import androidx.preference.SwitchPreference;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.platform.app.InstrumentationRegistry;

import com.android.window.flags.Flags;

import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.MockitoAnnotations;
@@ -58,6 +65,9 @@ public class BackAnimationPreferenceControllerTest {
    private BackAnimationPreferenceController mController;
    private Looper mLooper;

    @Rule
    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();

    @Before
    public void setUp() {
        MockitoAnnotations.initMocks(this);
@@ -80,6 +90,18 @@ public class BackAnimationPreferenceControllerTest {
        mController.displayPreference(screen);
    }

    @Test
    @RequiresFlagsEnabled(Flags.FLAG_PREDICTIVE_BACK_SYSTEM_ANIMATIONS)
    public void controllerNotAvailable_whenAconfigFlagEnabled() {
        assertFalse(mController.isAvailable());
    }

    @Test
    @RequiresFlagsDisabled(Flags.FLAG_PREDICTIVE_BACK_SYSTEM_ANIMATIONS)
    public void controllerAvailable_whenAconfigFlagDisabled() {
        assertTrue(mController.isAvailable());
    }

    @Test
    public void onPreferenceChange_switchEnabled_shouldEnableBackAnimations() {
        mController.onPreferenceChange(mPreference, true /* new value */);