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

Commit abc6625a authored by Simon Wingrove's avatar Simon Wingrove
Browse files

Use trampoline for FaceEnrollIntroductionInternal

This gives activity embedding logic a chance to notice what taskfragment
the elements should be in, and prevents a bug where the topmost activity
can dissapear under the stack.

Test: Manual
Bug: 324018644
Change-Id: Iea8d367247b13ffe66f4558be49e8060fb7db4c5
parent 4e32375f
Loading
Loading
Loading
Loading
+27 −1
Original line number Diff line number Diff line
@@ -16,8 +16,34 @@

package com.android.settings.biometrics.face;

import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME;

import android.content.Intent;
import android.os.Bundle;

import androidx.fragment.app.FragmentActivity;

/**
 * Wrapper of {@link FaceEnrollIntroduction} to use with a pre-defined task affinity.
 *
 * <p>Trampolines over to FaceEnrollIntroduction - doing this as a trampoline rather than having
 * this activity extend FaceEnrollIntroduction works around b/331157120.
 */
public class FaceEnrollIntroductionInternal extends FaceEnrollIntroduction {
public class FaceEnrollIntroductionInternal extends FragmentActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (isFinishing()) {
            return;
        }

        // Copy our intent to grab all extras. Drop flags so we don't start new tasks twice.
        Intent trampoline = new Intent(getIntent());
        trampoline.setFlags(0);

        // Trampoline to the intended activity, and finish
        trampoline.setClassName(SETTINGS_PACKAGE_NAME, FaceEnrollIntroduction.class.getName());
        startActivity(trampoline);
        finish();
    }
}