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

Commit 92195471 authored by Alexander Milantev's avatar Alexander Milantev
Browse files

Avoid activity embedding if the activity is already embedded

Test: manual + robotests com.android.settings.search and com.android.settings.SettingsActivityTest
Bug: 271260497

Change-Id: Ia21ca7a75cacee64d1942e2fe1b439ac4a3cb134
parent dc875cb6
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.util.FeatureFlagUtils;
import android.util.Log;
import android.util.TypedValue;

import androidx.window.embedding.ActivityEmbeddingController;
import androidx.window.embedding.SplitController;

import com.android.settings.R;
@@ -81,4 +82,13 @@ public class ActivityEmbeddingUtils {
        return dm.widthPixels >= (int) TypedValue.applyDimension(
                TypedValue.COMPLEX_UNIT_DIP, MIN_REGULAR_HOMEPAGE_LAYOUT_WIDTH_DP, dm);
    }

    /**
     * Check if activity is already embedded
     */
    public static boolean isAlreadyEmbedded(Activity activity) {
        return ActivityEmbeddingController
                .getInstance(activity)
                .isActivityEmbedded(activity);
    }
}
+2 −1
Original line number Diff line number Diff line
@@ -102,7 +102,8 @@ public class SearchResultTrampoline extends Activity {

        intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);

        if (!ActivityEmbeddingUtils.isEmbeddingActivityEnabled(this)) {
        if (!ActivityEmbeddingUtils.isEmbeddingActivityEnabled(this)
                || ActivityEmbeddingUtils.isAlreadyEmbedded(this)) {
            startActivity(intent);
        } else if (isSettingsIntelligence(callingActivity)) {
            if (FeatureFlagUtils.isEnabled(this, FeatureFlags.SETTINGS_SEARCH_ALWAYS_EXPAND)) {